私は最近、国際化されたテキストを多用するStruts1.1Webアプリケーションを継承しました。JSPファイルの多くは次のようになります。
<p>
<bean:message key="alert" />
</p>
プロパティファイルは次のようになります。
messages.properties
alert=Please update your <a href="/address.do">address</a> and <a href="/contact.do">contact information</a>.
他のN言語(messages_fr.propertiesなど)で適切に翻訳されています。
問題:
- DRY違反-1つではなくN個のStrutsアクションURLへの参照があるため、リファクタリングアクションURLでエラーが発生しやすくなります。
- さまざまな懸念事項-私のアプリケーションのマークアップは現在、JSPファイルだけではなく、Webスペシャリストがマークアップを微調整することを困難にしています(CSSなどを使用)。
- 翻訳後マークアップ-新しく翻訳されたテキストを受け取ったときはいつでも、マークアップで囲むものを決定する必要があります
<a>...</a>
。英語では簡単ですが、なじみのない言語ではそれほど簡単ではありません。
メッセージファイルに次のようなプレースホルダーを追加することを検討しました。
alert=Please update your {0} and {1}.
しかし、「住所」と「連絡先情報」という単語は、どういうわけかローカライズし、マークアップでラップして、メッセージタグに渡す必要があります。これを行う簡単な方法がわかりません。
これを改善するために何ができますか?