2009-02-23 3 views
9

Hat jemand hatte keine Erfahrungen entwickeln große Java-Anwendungen mit GNU gettext für die Internationalisierung? Ich finde es sehr gut, dass ich den englischen Text in meinem Quellcode habe, aber ich möchte sicherstellen, dass das, was ich mache, für das relativ große Softwareprojekt, zu dem ich gehört, praktisch ist.Java und GNU gettext für die Internationalisierung

Wenn Sie Erfahrung damit haben, was verwenden Sie, um die Ressourcen in Java nachzuschlagen? Ich probiere gerade Gettext Commons (http://code.google.com/p/gettext-commons/) aus, was bisher gut funktioniert.

Alle Alternativen zu gettext, dass der ursprüngliche Text in Ihrem Quellcode halten? Ein ähnliches Tool, das unter Windows unterstützt wird, wäre großartig.

Antwort

6

Das Open Source OpenStreetMap Java Editor-Projekt verwendet die Gettext-Bibliothek, um alle seine Übersetzungen zu verarbeiten, und es funktioniert sehr gut, da die Leute eine Vielzahl von Übersetzungstools verwenden können (wie KBabel, poedit, launchpad ...)) mit den po-Dateien zu arbeiten, so dass es dort keine Plattformbeschränkung gibt. Auch kann ich nicht ganz verstehen, warum man die erwähnte Einrichtung denken kann nicht auf jeder Plattform verwendet werden - Sie sicherlich in Windows nachschauen gettext können: here oder here

Bedenkt man, wie beliebt gettext ist ich es auf jeden Fall empfehlen würde.

+0

Danke für die Antwort. Ich hatte Probleme, die Windows-Version von gettext richtig funktionieren zu lassen, aber diese Probleme hätten wahrscheinlich mit etwas mehr Aufwand ausgearbeitet werden können. Ich habe Cygwin benutzt, um die GNU-Version auf meinem Windows-Desktop auszuführen, und das hat gut funktioniert. – dcstraw

3

Sie könnten nur plain old Java message resource bundles stattdessen verwenden.

bearbeiten: Nun, was wir verwenden in unserem Entwicklungsteam ist wirklich der Standard TMX format, die Sie Lokalisierungsstrings in XML-Dateien angeben können. Es ist ein Format, das häufig von Übersetzungstools verwendet wird. Here is a free one, mit dem Sie diese Dateien einfacher bearbeiten können.

Trotzdem habe ich es vorher nicht erwähnt, weil es keinen wirklichen Vorteil oder Funktionalität über Nachricht Ressourcenbündel bietet, außer für eine bessere Codierung dank XML-Verarbeitung Tools Handhabung (Codierung eine echte Nervensäge sein kann, wenn internationalisierte Handhabung Literale in anderen Sprachen als Englisch).

Darüber hinaus verwenden wir unsere Software ist unser eigenes Framework, das dieses XML-Format analysiert und uns zwischen Sprachen wechseln lässt (in HTML-Seiten oder Swing-Frames), ohne unsere Anwendungen neu zu starten. Es ist nicht schwer, eine einfache Bibliothek zu entwickeln, die wörtliche Übersetzungen auf diese Weise behandelt, aber der Nachteil ist, dass Sie sie implementieren müssen.

+2

Ich evaluiere die Java-integrierte I18N-Funktionalität als eine Option, aber ich wollte wissen, ob Gettext eine praktische Alternative ist, da es einige Vorteile (ex. Handhabung von Plural, Codelesbarkeit) über Ressourcenbündel hat. – dcstraw