如何处理消息包中变量的存在(本地化)
这是我第一次开发一个需要本地化为20多种语言的应用程序。问题是有很多消息包含一个变量。它不能被硬编码,因为如果它改变了,管理员将不得不在20个以上的属性文件中进行修改。如何处理消息包中变量的存在(本地化)
有没有已知的可能性如何处理它?我目前正在使用spring框架。
回答:
一种方法可能是用标记替换变量并使用String.Format方法(http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html#format(java.lang.String,%20java.lang.Object ...))或其他类型的Formatter进行相应替换。
虽然我自己刚刚进入Spring并怀疑它可以提供更优雅的解决方案,但目前我会使用字符串格式化程序在运行时用变量值替换占位符。
回答:
看看org.springframework.context.MessageSource
。有各种各样的getMessage()方法,使用{0}
,{1}
语法,可以使用Object []可用于变量替换。
有关更多信息,请参阅Spring手册的Section 3.13.1。
以上是 如何处理消息包中变量的存在(本地化) 的全部内容, 来源链接: utcz.com/qa/259354.html