2009-09-20 16 views
5

Ist es aus Ihrer Erfahrung besser, für jede Sprache in einem PHP-Projekt mit der Gettext-Erweiterung eine Sprachdatei oder mehrere kleinere Sprachdateien zu verwenden? Ich bin nicht einmal sicher, ob es möglich ist, mehrere Dateien zu verwenden, es ist schwierig für mich zu testen, da der Server die Sprachdateien zwischenspeichert.Besser, mehrere Sprachdateien oder 1 zu verwenden?

Ich mache mehrere Sprachen auf einem sozialen Netzwerk Website, bisher nur die Anmeldeseite, die etwa 1 von 200 Seiten zu gehen ist und es hat 35 Textzeichenfolgen zu übersetzen, in diesem Tempo die Sprachdatei für jede Sprache wold wirklich groß sein, also dachte ich, es wäre vielleicht besser, verschiedene Sprachdateien für verschiedene Seiten oder Abschnitte wie Foren und Blogs zu erstellen, aber wenn es keinen Unterschied macht, würde ich nicht meine Zeit damit verschwenden, mehrere kleinere Dateien für jeden zu erstellen Sprache.

Mir ist klar, jede Situation ist anders und die einzige wirkliche Antwort ist, es zu testen, aber ich hoffe, dass diese Zeit zu vermeiden und bekommen nur ein paar oppinions von Menschen erfahreneren, dies ist mein erstes Mal gettext mit dank

Antwort

4

Ich hätte die Sprachdateien Modul basiert. Mit gettext müssen Sie das Gebietsschema für jede Sprache angeben. Es würde am besten passen, separate .po/.mo-Dateien für jedes Modul oder große Teile Ihrer Site zu haben.

Das ist meiner Meinung nach. :-)

2

Normalerweise automatisiere ich den Prozess und habe mehrere Sprachen in mehreren Dateien, indem ich eine Datenbank verwende, um die Site zu bearbeiten (mit einem einfachen db-Lookup). Dadurch kann ich Übersetzer einstellen, um die aktuelle Übersetzung einfach zu überprüfen. Die Bereitstellung in der Produktion verwandelt die Datenbank einfach in eine Gruppe von Sprachdateien.

0

Aus Erfahrung würde ich die Sprachen auf einer Pro-Datei-Basis brechen, da der Verwaltungsaufwand schwer wird und es gibt großen Spielraum für Doppelarbeit und Fehler.

Der andere Vorteil ist, dass durch die Verwendung einer Verzeichnisstruktur und Namenskonventionen die richtige Sprache programmatischer als die große Datei einfacher ausgewählt werden kann und es einfacher ist, Verwaltungswerkzeuge zu einem späteren Zeitpunkt im Projekt zu schreiben.

Es lohnt sich auch, einige der Formate zu sehen, die andere Leute benutzen. Viele der Frameworks verwenden diese Art von Struktur, Dashcode, Symfony, Zend usw. Und es gibt ein XML-Format xliff, das für die Übersetzung entwickelt wurde und in viele der Tools integriert ist, die Übersetzer verwenden.

0

Mehrere Dateien sind der beste Weg, aber die Dinge können unorganisiert werden.

Wir haben gerade einen kostenlosen neuen Dienst namens String gestartet, der die meisten Probleme bei der Verwaltung von mehreren Sprachdateien löst - wie ein Basislager für die Lokalisierung. Sie können entweder vorhandene Dateien importieren oder mit Schlüsseln und Zeichenfolgen im System neu beginnen. Wenn Sie fertig sind, können Sie die Dateien erneut exportieren, um Ihre App auszuführen. Es funktioniert mit den Formaten PHP (Array), PHP (definieren), po, yaml, ini und .strings.

Mit String können Sie problemlos mit Übersetzern zusammenarbeiten - Sie können sie einfach zu einem Projekt einladen und ihre Sprachberechtigungen festlegen. Übersetzer können Kommentare und Fragen zu jedem String hinterlassen, wenn sie mehr Informationen benötigen - und Sie können Strings mit der History-Funktion zurücksetzen, wenn die Dinge nicht ganz stimmen.

Jedenfalls genug Verkaufsgespräch! Schau es dir unter http://mygengo.com/string an - wir würden uns über dein Feedback freuen.

Verwandte Themen