我最近繼承了一個國際化和文本沉重的Struts 1.1 Web應用程序。許多JSP文件的樣子:我如何重構我的屬性文件中的HTML標記?
<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違反 - 我有我的Struts動作的網址,而不是1,這使得重構操作URL出錯ñ引用。
- 混合關注 - 我的應用程序的標記現在不僅僅是我的JSP文件,使Web專家很難調整標記(使用CSS等)。
- 翻譯後標記 - 每當我收到新翻譯後的文本,我必須決定如何處理
<a>...</a>
標記包圍。易於使用英語,但對於不熟悉的語言則不那麼容易。
我已經考慮將佔位符中的郵件文件,如:
alert=Please update your {0} and {1}.
但隨後的話「地址」和「聯繫人信息」會以某種方式需要進行本地化,包裹着標記,傳遞給我的消息標記 - 我看不到一個簡單的方法來做到這一點。
我該怎麼做才能改善這一點?