Frage

Wir sind Verortung des User-Interface-Textes für eine Web-Anwendung, die auf Java läuft 5, und haben ein Dilemma, wie wir Ausgabenachricht, die in Eigenschaftsdateien definiert werden - die Art, die von java.util.Properties .

Einige Nachrichten einen Platzhalter enthalten, die

War es hilfreich?

Lösung

Schreiben Sie einfach Ihre eigene Implementierung von Message ohne diese lästige Funktion. Sie können von dem Code anschauen SLF4J Logger .

Sie haben ihre eigene Version von Nachrichtenformatierer, die verwendet werden können, wie folgt:

logger.debug("Temperature set to {}. Old temperature was {}.", t, oldT);

Leere Platzhalter mit Standardreihenfolge verwendet werden könnten, und für einige Lokalisierungs Fälle gezählt, wo verschiedene Sprachen Permutationen von Wörtern oder Satzteilen zu tun.

Andere Tipps

Am Ende haben wir beschlossen, durch das Apostroph Problem Seite-Schritt immer mit ‚lockig‘ zitiert:

warning.item = This item\u2019s {0} is not valid.

Mit den `Zeichen anstelle von 'für zitieren. Wir verwenden es die ganze Zeit ohne Probleme.

Mit Message nur, wenn Sie es brauchen, sonst aufblasen sie nur den Code und haben keinen zusätzlichen Wert.

Meiner Meinung nach, ist die Konsistenz für diese Art der Sache wichtig. Eigenschaften von Dateien und Message bereits viele Einschränkungen. Wenn Sie diese beunruhigend finden könnten Sie „kompilieren“ Ihre Eigenschaften Dateien zu erzeugen, richtig geformt diejenigen. Aber ich würde sagen, gehen mit Message überall verwenden. Auf diese Weise, wie Sie den Code pflegen Sie müssen sich keine Sorgen über die Saiten formatiert und welche nicht. Es wird einfacher zu behandeln, da Sie die Nachrichtenverarbeitung in einer Bibliothek die Hand von kann und nicht über die Details auf hohem Niveau sorgen.

Eine andere Alternative ... Beim Laden der Eigenschaftendatei, wickeln Sie einfach den Eingabestrom in einem FilterInpuStream, dass jedes einzelnes Zitat verdoppelt.

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