我最近继承了一个国际化和文本密集的Struts 1.1 Web应用程序.许多JSP文件看起来像:
和属性文件看起来像:
messages.properties alert=Please update your address and contact information.
使用其他N种语言(messages_fr.properties等)进行适当的翻译.
问题:
DRY违规 - 我有N个引用我的Struts操作URL而不是1,这使得重构操作URL容易出错.
混合问题 - 我的应用程序的标记现在不仅仅是我的JSP文件,这使得Web专家很难调整标记(使用CSS等).
翻译后标记 - 每当我收到新翻译的文本时,我必须决定用...
标记包围什么.容易学习英语,但对于不熟悉的语言则不那么容易.
我考虑在消息文件中添加占位符,例如:
alert=Please update your {0} and {1}.
但随后单词"地址"和"联系信息"将以某种方式需要进行本地化,包含标记,并传递给我的消息标记 - 我看不到一个简单的方法来做到这一点.
我该怎么做才能改善这一点?