Hallo,

Am 05.07.2007 um 00:18 schrieb Daniel Weinand:

Hallo,
wer hat Erfahrung mit der Internationalisierung von Rails Anwendungen. Ich möchte eine neue Anwendung von Anfang an darauf auslegen. In [1] wird Ri18n vorgeschlagen. Allerdings scheint das Ri18n Projekt schon relativ lange nicht mehr gepflegt zu werden.

[ACHTUNG: Für alle, die meinen Vortrag auf der Railskonferenz gesehen haben, wirds jetzt langweilig]

Mit Internationalisierung ist es so ein bisschen wie mit Caching, auch hier greifen die two rules of optimization:

1. Don't do it
2. Don't do it NOW.

Warum? Je nach verwendeter I18n-Lösung steht einem der Kram bei der Entwicklung mehr oder weniger doll im Weg, d.h. Turnaround-Zeiten verlängern sich, Workflows werden komplizierter, etc. Ich würde mir daher wirklich gut überlegen, ob eine I19g wirklich notwenidig ist, oder ob das eher so ein "könnte ja eventuelll vielleicht unter Umständen mal sinnvoll sein"-Ding ist. Sollte das zutreffen, mach die Internationalisierung dann, wenn Du sie brauchst. Das ist u.U. ein bisschen schmerzhaft, weil es viel Aufwand auf einmal ist (je nach lösung mehr oder weniger), aber sicher weniger problematisch als die ganze Zeit den Overhead mit sich rumzuschleppen.

(Es gibt Leute, die sind da grundsätzlich anderer Meinung, die auch schon andere Erfahrungen gemacht haben. Das ist also nicht absolut zu sehen, sondern nur meine Erfahrung.)

That beeing said kann ich Martin nur beipflichten, was die Schlussfolgerungen angeht. Zu Thomas' und Ralfs Ehrenrettung sei gesagt, dass die beiden in der neuen Auflage des Buches auch eher ruby/gettext als Lösungsansatz verfolgen, ebenso wie Ramon und ich in unserem Buch übrigens :)

Will sagen: ruby/gettext (eventuell mit dem Plugin gettext_localize) scheint auch mir die 1. Ausgereifteste Lösung zu sein (gnu gettext wird seit x Jahren erfolgreich für die lokalisierung von sehr sehr sehr vielen aus dem Unix-Bereich stammenden Programmen eingesetzt) und 2. Workflows am besten zu unterstützen (ich sag mal PoEdit) und nicht zuletzt 3. für Entwickler sehr viel transparenter als andere Lösungen zu sein.

Globalize hat seine Schwächen, insbesondere finde ich den Ansatz, UI- Texte mit Modellübersetzungen und überhaupt dem Rest des Contents in der selben Datenbank zu speichern nicht so prickelnd, da für mich die UI-Texte ganz klar Teil der Applikation sind und daher auch ablagetechnisch (Stichwort Versionskontrolle) zur Applikation gehören. Die Stärken liegen, wie Martin schon erwähnt hat, ganz klar in den zusätzlichen Features (wobei die Model-Translation auch noch nicht wirklich ausgereift ist) und für Anwendungsfälle wie BookMooch oder ähnlichem, wo man die Übersetzung den Benutzern überlassen will (dann macht es Sinn, die Sachen in der DB abzulegen, nech)

Alle anderen Lösungen (localization, gloc, globalite, gibberish) erschienen mir nach meiner Recherche für den Konferenz-Vortrag eher "egal" zu sein. Sie wollen alle bestimmte Dinge neu machen, verraffen (meiner Meinung nach) alle das bei Gettext nahezu perfekt gelöste Workflow-Thema und sind alle irgendwie unfertig. Man kann sicher alle Lösungen einsetzen, ich sehe allerdings keinen Vorteil darin, NICHT gettext einzusetzen :)

In entwas ausführlicher könnt Ihr Euch das demnächst dann auch noch im Video von der Konferenz ansehen, das dauert allerdings leider noch ein paar Tage.

Gruß,

Jan_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug

Antwort per Email an