Ich habe kürzlich eine internationalisierte und textlastige Struts 1.1-Webanwendung geerbt. Viele der JSP-Dateien sehen aus wie:
<p>
<bean:message key="alert" />
</p>
und die Eigenschaftsdateien sehen wie folgt aus:
messages.properties
alert=Please update your <a href="stackoverflow.com/address.do">address</a> and <a href="stackoverflow.com/contact.do">contact information</a>.
mit den entsprechenden Übersetzungen in N anderen Sprachen (messages_fr.properties, etc.).
Probleme:
- DRY-Verstoß - Ich habe N Verweise auf meine Struts-Aktions-URLs anstelle von 1, die Refactoring Aktion URLs fehleranfällig macht.
- Gemischte Bedenken - Das Markup meiner Anwendung befindet sich jetzt in mehr als nur meinen JSP-Dateien, was es für einen Webspezialisten schwierig macht, das Markup zu optimieren (mit CSS usw.).
- Markup nach der Übersetzung - Jedes Mal, wenn ich einen neu übersetzten Text erhalte, muss ich entscheiden, was ich mit dem Text umgeben soll.
<a>...</a>
Aufschlag. Einfach für Englisch, aber weniger einfach für unbekannte Sprachen.
Ich habe überlegt, Platzhalter in die Nachrichtendatei einzufügen, z. B:
alert=Please update your {0} and {1}.
aber dann müssten die Wörter "Adresse" und "Kontaktinformationen" irgendwie lokalisiert, mit Markup umschlossen und an mein Nachrichtentag übergeben werden - und ich sehe keine einfache Möglichkeit, dies zu tun.
Was kann ich tun, um dies zu verbessern?