的例子。Description =本地化的一个简单示例
必威国际有限公司詹金斯使用定位器库和Maven插件实现国际化。
它的目的是生成对应于Java组的类. properties
在构建过程中使本地化文本在代码中可用的文件。
在Je必威国际有限公司nkins中,Localizer被配置为操作名为Messages.properties
(和Messages_XX.properties
对于本地化的变体)。在Jenkins核心和插件的构建过程中,生成必威国际有限公司消息
每组的班级Messages.properties
文件。
例如,考虑以下资源文件:
src / main /资源/ org/example/package/Messages.properties
:
的例子。Description =本地化的一个简单示例
src / main /资源/ org/example/package/Messages_de.properties
:
的例子。描述= einfaches Beispiel f\u00fcr Lokalisierung
第一个文件是默认的本地化关键描述
(除非有更具体的本地化可用),而第二个文件提供德语本地化。
本地化器将从这些资源文件中生成一个类似如下的类:
包org.example.package;公共类消息{私人最后静态ResourceBundleHolder holder = ResourceBundleHolder.get(Messages.class);(1)公共静态字符串Example_Description () {(2)返回holder.format ("的例子。描述");}公共静态可以定位的_Example_Description () {(3)返回新可以定位的(持有人,"的例子。描述");}}
1 | ResourceBundleHolder 内部实用程序类是否包装对本地化的访问. properties 文件 |
2 | 的方法返回本地化的字符串的例子。描述 属性文件条目 |
3. | 生成的方法返回可以定位的 实例的例子。描述 属性文件条目 |
生成的方法名对应于属性文件中的键(但由于Java标识符的限制,不完全匹配)。资源文件中的每个键将导致生成一对方法:一个返回字符串
,另一个回来了可以定位的
.可以定位的
是Localizer库提供的一种类型,它允许将消息本地化到特定的区域设置。然而,这很少是需要的,作为一个调用Messages.Example_Description ()
将返回当前区域设置的本地化消息。
如果Messages.properties
引用占位符,则静态方法将带有参数生成。参见下面的示例Messages.properties
摘录,并从中生成一个静态方法。
Messages.properties
内容:
ItemGroupMixIn.may_not_copy_as_it_contains_secrets_and_=May not copy {0} as it contains secrets and {1} has {2}/{3} but not /{4}
生成的源代码:
公共静态字符串ItemGroupMixIn_may_not_copy_as_it_contains_secrets_and_ (对象arg0,对象__arg1、对象最长,对象长度,对象arg4) {返回holder.format ("ItemGroupMixIn.may_not_copy_as_it_contains_secrets_and_"arg0, arg1, arg2, arg3, arg4);}
有关参数在本地化消息中的更高级用法,请参见先进的定位.