hallo,
Am Montag, 7. Januar 2008 16:11:27 schrieb Stefan F.:
wir haben jetzt lustig über den Code verstreut alle möglichen Arten
von Labels, Fehlermeldungen, flash[:notice] usw. - es gibt jetzt
nicht unmittelbar die Anforderung, die ganze Seite zu
internationalisieren, aber ich würde solche Meldungen gerne irgendwo
zentral verwalten […]
Ich hatte mal gettext (Peak Obsession
105) angeschaut, fand das aber recht kompliziert: […]
Ich habe hier eine Anwendung, in der ich gettext für alle Strings einsetze.
Das funktioniert recht problemlos und die Anleitungen die man im
Internet
findet sind auch recht einfach zu befolgen. Auch der Einrichtungsaufwand
hält
sich in Grenzen.
Meine Strings sehen alle so aus:
flash[:notice] = _(“Dieser Text kann dann bequem übersetzt werden und falls
es keine Übersetzung gibt, wird dieser hier angezeigt.”)
Wobei die automatisch generierten Textdateien zum übersetzen im
gettext-üblichen Format vorliegen und somit mit diversen Gettext-Tools leicht
bearbeitet werden können. Aber auch ein manuelles bearbeiten mit dem
Lieblings-Texteditor (vim) ist möglich.
Hier mal ein Ausschnitt aus solch einer Text-Datei:
#: app/models/contactgroup.rb:-
msgid “Contactgroup|Alias”
msgstr “”
#: app/models/contactgroup.rb:-
msgid “Contactgroup|Created at”
msgstr “”
Ich für meinen Teil werde das jetzt in allen Projekten benutzen, die
theoretisch mal übersetzt werden könnten. Wenn man das von vorne herein
benutzt ist das quasi gar kein Mehraufwand und die Übersetzung kann später
auch von Nicht-Rails-Programmierern durchgeführt werden. Auf jeden Fall muss
keine Überstung gemacht werden, wenn man nicht unbedingt möchte. Es stehen
einem also alle Wege offen…
Hier mal eine weitere Anleitung die Dir helfen sollte:
http://www.yotabanana.com/hiki/ruby-gettext-howto-rails.html
Timo
–
Dipl.-Inform. Timo S.
Geschäftsführung
LINET Services GbR | Gotenweg 15 | 38106 Braunschweig
Tel. 0531-180508-0 | Fax 0531-180508-29
Vertretungsberechtigte Gesellschafter:
Moritz Bunkus, Philip Reetz und Timo S.
USt-IdNr. DE 206946144