Erstellen von QuelldateienAnbei ist eine Beschreibung der unterschiedlichen Quellformate, welche mit Zend_Translate verwendet werden können.
Erstellung von Array-QuelldateienArray-Quelldateien sind reine Arrays. Sie müssen aber manuell definiert werden, da es hierfür keine Tools gibt, die helfen könnten. Weil sie so einfach zu handhaben sind, ist ihre Verwendung auch der schnellste Weg um zu testen, ob Nachrichten innerhalb des Codes wie erwartet arbeiten. Er ist generell der beste Adapter, um mit Mehrsprachigkeit zu beginnen, wenn man keine diesbezüglichen Kenntnisse hat.
Seit Release 1.5 wird auch das Einbinden von externen Dateien unterstützt, welche Arrays beinhalten. Es ist der Dateiname anzugeben und Zend_Translate wird diesen automatisch inkludieren und den Array suchen. Siehe das folgende Beispiel für Details:
Erstellung von Gettext QuellenGettext-Quellen werden von der GNU Gettext-Bibliothek erstellt. Es gibt einige kostenlose Tools, welche den Code parsen können und hierbei die gewünschten Gettext Quellen erstellen. Diese haben die Endung *.mo und sind binäre Dateien. Ein Open Source Tool für die Erstellung der Quellen ist » poEdit. Dieses Tool unterstützt auch beim Übersetzungsprozess selbst.
Offensichtlich wird dieser Adapter bis auf einen kleinen Unterschied auf exakt die gleiche Art und Weise verwendet: array wird geändert zu gettext. Alle anderen Punkte werden in jedem anderen Adapter auf exakt die gleiche Weise verwendet. Mit diesem Gettext-Adapter muss nicht mehr auf die Standardverzeichnisstruktur von Gettext oder die Verwendung von bindtextdomain und textdomain geachtet werden. Nur der Pfad und der Dateiname muss dem Adapter übergeben werden.
Viele Gettext-Editoren fügen Informationen über den Adapter als Übersetzung eines leeren Strings hinzu. Das ist der Grund, warum leere Strings nicht übersetzt werden, wenn der Gettext-Adapter verwendet wird. Stattdessen wird er von der Übersetzungstabelle gelöscht und von der getAdapterInfo() Methode angeboten. Sie gibt die Adapterinformationen für alle hinzugefügten Gettextdateien als Array zurück, wobei der Dateiname als Schlüssel verwendet wird.
Erstellung von TMX QuellenTMX-Quellen sind der neue Industriestandard. Sie haben den Vorteil, dass sie XML Dateien sind und deswegen mit jedem Texteditor lesbar und natürlich auch von Menschen. Man kann TMX-Dateien entweder per Hand erstellen oder man verwendet spezielle Tools dafür. Allerdings sind die meisten Tools für die Erstellung von TMX Quellen nicht frei erhältlich. Example #1 Beispiel einer TMX Datei
TMX-Dateien können mehrere Sprachen in derselben Datei enthalten. Alle anderen in der Quelle enthaltenen Sprachen werden automatisch hinzugefügt und müssen nicht durch einen extra Aufruf von addLanguage() ergänzt werden. Wenn man nur spezielle Sprachen aus der Quelle übersetzen will, kann die Option defined_language auf TRUE gesetzt werden. Mit dieser Option können gewünschte Sprachen explizit mit addLanguage() hinzugefügt werden. Der Standardwert für diese Option fügt alle Sprachen hinzu.
Erstellung von CSV-QuellenCSV-Quellen sind sehr klein und von Menschen lesbar. Wenn ein Kunde selbst übersetzen will, ist die Verwendung des CSV-Adapters wahrscheinlich die beste Wahl. Example #2 Beispiel CSV Datei
Es gibt drei verschiedene Optionen für den CSV-Adapter. Es können delimiter, limit und enclosure gesetzt werden. Das Standardtrennzeichen für CSV-Strings ist ';', aber es muss nicht dieses Zeichen sein. Mit der Option delimiter kann ein anderes verwendet werden. Das Standardlimit für eine Zeile in einer CSV-Datei ist '0'. Das bedeutet, dass das Ende der CSV-Zeile automatisch gesucht wird. Wenn limit auf irgendeinen Wert gesetzt wird, dann wird die CSV-Datei schneller gelesen, aber jede Zeile, die dieses Limit überschreitet, wird abgeschnitten. Das standardmäßige Anführungszeichen für die Verwendung mit CSV-Dateien ist '"'. Man kann ein anderes setzen, indem die Option enclosure verwendet wird. Example #3 Zweites Beispiel für CSV-Dateien
Erstellung von INI-QuelldateienINI-Quelldateien sind menschenlesbar, aber normalerweise nicht sehr klein, da sie neben der Übersetzung auch andere Daten enthalten. Wenn Sie Daten haben, die von Ihrem Kunden zu bearbeitet sind, verwenden Sie den INI-Adapter. Example #4 Beispiel einer INI-Datei
INI-Dateien haben verschiedene Einschränkungen. Wenn ein Wert in einer INI-Datei irgendein nicht alphanumerisches Zeichen enthält, muss er in doppelte Anführungszeichen (") eingeschlossen werden. Es gibt auch reservierte Wörter, welche nicht als Schlüssel für INI-Dateien verwendet werden dürfen. Diese enthalten: NULL, yes, no, TRUE und FALSE. Die Werte NULL, no und FALSE führen zu "", yes und TRUE resultieren in '1'. Die Zeichen {}|&~![()" dürfen nirgendwo im Schlüssel verwendet werden und haben im Wert eine spezielle Bedeutung. Diese sollten nicht verwendet werden, da sie zu unerwartetem Verhalten führen.
|