我正在使用JSP编写一个网站.我希望网站有多种语言版本,所以我HashMap为我计划支持的每种语言创建了一个,并且通过map.get("identifier")其他一些代码来查找文本.
我遇到的问题是我之前通过使用format函数解决的问题(类似于printf许多语言),但这是另一种语言.
具体问题是,文本User performed action可能会出现Action was performed by user另一种语言(即术语可能会出现故障).
在过去,我做过类似的事情#translate("Welcome to the site, %s!", {"Username"}),然后使用语言的format功能替换%s用户名.我可以简单地使用String#replace但是我不能做#translate("Welcome to the site, %s! You last visited on %s!", {"username", "last visit"})像我想做的事情.
对不起,如果这是一个不好的解释 - 只需查看printfPHP之类的东西.
在Java中复制这样的东西的最佳方法是什么?谢谢您的帮助.
不要重新发明.使用JSTL fmttaglib.它也支持参数化消息.
<fmt:message key="identifier">
<fmt:param value="${username}" />
</fmt:message>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1036 次 |
| 最近记录: |