Frage

Ich weiß nichts über die Internationalisierung.

ich ein Projekt mit mehreren Paketen haben. Ich verwende Eclipse integrierten „Externalize Strings“ Assistent String-Konstanten in meinen Klassen auf eine Properties-Datei zu extrahieren und diese Strings mit Aufrufen einer statischen Accessor zu ersetzen. So anstelle von

System.out.println("Hello, world!");

ich am Ende mit

System.out.println(Messages.getString("MyKey"));

und eine Messages Utility-Klasse in jedem Paket (die für das Erhalten des gewünschten String aus einem Resource [in diesem Fall eine getString Datei] eine statische .properties Methode zur Verfügung stellt). Ist es am besten in jedem Paket eine Messages Klasse zu haben, oder hat eine einzige Messages Klasse für das gesamte Projekt?

War es hilfreich?

Lösung

Ich bin für eine globale Lokalisierungsdatei. Sie werden doppelte Schlüssel haben ( „OK“, „Abbrechen“), die Vervielfältigung oder Verschachtelung erfordern würde, und mit außerhalb Lokalisierung Menschen Schnittstelle ist einfacher, wenn die Ressourcen konsolidiert werden.

Andere Tipps

Ich würde ein-per-Paket halten. Auf diese Weise Wartung / Refactoring / Unit-Testing ist viel einfacher.

Auch gibt es keine globalen Abhängigkeiten von einer einzigen Datei.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top