Mehrsprachigkeit_Anleitung

Guite edited this page Nov 15, 2014 · 1 revision

Anleitung für Übersetzer

Dieses Dokument ist nur für diejenigen, die Übersetzungen für den Core, Module oder Themes anfertigen wollen. Bitte vor dem Fortfahren unbedingt die Anleitung über die Struktur des /locale-Verzeichnisses durchlesen.

Neue 'Core'- Übersetzungen

Die zentrale 'Core'-Übersetzung besteht aus allen Bestandteilen einer Standard Zikula-Installation. Aus Gründen der Benutzerfreundlichkeit wurden hier Übersetzungen für die mitgelieferten Themes und dem Core in einer Sprachdomäne zusammengefasst.

So sind folgende Themes bereits in der Core-Übersetzung enthalten

  • /themes/andreas08
  • /themes/voodoodolly
  • /themes/rss
  • /themes/Atom
  • /themes/Printer
  • /themes/SeaBreeze

Um eine neue Übersetzung für den Core zu erzeugen, sollte vorweg die Verzeichnisstruktur anhand der Definitionen unterhalb von /locale eingerichtet werden.

Zunächst folgende Ordnerstruktur erstellen (hier am Beispiel "DE")

  • /locale/de
  • /locale/de/LC_MESSAGES

Danach erstellen wir eine Datei namens /locale/de/locale.ini, um dem System etwas über die verwendete Sprache mitzuteilen. Derzeit sind die einzigen Werte:

  • ltr (für "left to right" - links nach rechts)
  • rtl (für "right to left" - rechts nach links)

Praxisbeispiel:

[language]
language_code = ltr

Nun wird das Programm PoEdit gestartet. Wähle dort Datei -> Neuer Katalog aus POT-Datei. Wechsel zur Datei /lokale/zikula.pot - dort sind die generellen, nicht übersetzten Zeichenketten zu finden. Dort wird Dir ein Dialog begegnen, in dem einige Fragen zu beantworten sind. Ergänze das Formular wie folgt:

Bestätige mit OK, benenne die zu erstellende Datei zikula.po und stellen den Speicherpfad auf /locale/de/LC_MESSAGES ein. Nun bist Du soweit, PO-Edit zu benutzen. Ergänze Deine Übersetzungen und speichere sie. Es wird automatisch eine Datei zikula.mo erzeugt. Notwendigerweise müssen beide Dateien, zikula.po und zikula.mo in der Übersetzung vorhanden sind.

Siehe auch:

Übersetzungen von neuen Modulen oder Themes

Dieser Abschnitt bezieht sich ausschließlich auf Module oder Themes außerhalb des Cores (3rd party).

Wir wissen von locale structure , dass Übersetzungsdateien für module und themes in Kleinbuchstaben benannt sind: module_$modulaname, z.B.: module_foo, bzw. theme_$themename, z.B.: theme_foo

Die Art, wie eine neue Übersetzung erzeugt wird, ist fast identisch. Für jedes Modul oder Thema muss eine .pot Datei im jeweils eigenenlocale Verzeichnis existieren. In unserem Beispiel die Datei locale/module_foo.pot

In diesem Beispiel werden wir mit der deutschen Übersetzung des moduls 'Foo' weitermachen. Wir beschreiten den gleichen Weg, wie bei der Übersetzung für den Core, bis auf die Datei locale.ini, die nicht benötigt wird. Wiederum erzeugen wir folgende Verzeichnisse im module- bzw. themes-Verzeichnis:

  • locale/de
  • locale/de/LC_MESSAGES

Nun öffnen wir, wie bereits oben beschrieben, PO-Edit und gehen den gleichen Weg über Datei -> Neuer Katalog aus POT-Datei. Die Datei wird hierbei im jeweiligen Ordner des Modules unter locale/de(LC_MESSAGES als module_foo.po gespeichert. Nimm die Übersetzungen vor und speichere ab. Dies wird wieder automatisch die Datei module_foo.mo erzeugen. Auch hier ist es nötig, dass beide Dateien - module_foo.po und module_foo.mo existieren.

Tipps zur Vorgehensweise

Nun kann der Übersetzer mit seinem Lieblingstool an die Übersetzung gesehen und die Strings nacheinander übersetzen. Mit einigen Programmen kann man sehen, in welchem Zusammenhang eine Ausgabe auftritt und gegebenenfalls sogar die Originalausgabe ändern. Das ist dann zum Beispiel hilfreich, wenn eine Ausgabe nur einmal benutzt wird und einer anderen sehr ähnlich oder gleich ist.

Da Du in Deine Übersetzung auch vorhandene Übersetzungen aus anderen Modulen oder dem Core in die Arbeit einbeziehen kannst, baust Du Dir so einfach einen Speicher auf, mit der Du Dir keine Arbeit mehr doppelt machen musst:

Sobald Du die anderen Übersetzungen eingebunden hast, stellt Dir Dein Editor eine erste, automatische Übersetzung Deines neuen Moduls - diese Vorschläge sind manchmal recht passend und manchmal komplett daneben. Wenn Du zum Beispiel schon eine Übersetzung für "File cannot be opened" hast und in dem neuen Modul kommt "File cannot be closed" vor, wird der Vorschlag nur noch wenig nachgearbeitet werden müssen.

Übersetzungen aktualisieren

Was geschieht, wenn z.B. eine neue Version von Zikula oder eines Moduls veröffentlicht wird? In diesem Fall wird die Verwendung der .pot und .po Dateien deutlich. Wenn eine neue Version veröffentlicht wird, werden die .pot Dateien aktualisiert. Hier kann Po-Edit genutzt werden, um die Unterschiede zu den bereits fertiggestellten Übersetzungen herauszuarbeiten. Es gibt hier drei Möglichkeiten:

  • neue, noch nicht übersetzte Zeichenketten werden erscheinen und eine Übersetzung benötigen,
  • gelöschte Übersetzungen werden entfernt und
  • bestehende Zeichenketten, die geändert wurden, benötigen eine Überarbeitung (sog. "unklare" Übersetzung)

Dies geschieht dadurch, dass mittels PO-Edit die .po Datei geöffnet wird und Katalog -> Aus Pot-Datei aktualisieren ausgewählt wird. Verzweige dann zur .pot Datei und die Änderungen werden angezeigt. Aktualisierte Übersetzungen werden als "unklar" angezeigt, was bedeutet, dass hier Deine Übersetzerarbeit gefragt ist. Auch hier wird nach dem Speichern die nötige .mo Datei automatisch erzeugt.

Nun ist es hoffentlich klarer geworden, warum .pot, .po und .mo Dateien mit jeder neuen Veröffentlichung ausgeliefert werden.

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.