【问题标题】:How do I merge multiple resource bundles?如何合并多个资源包?
【发布时间】:2011-09-18 00:40:58
【问题描述】:
我有一个包含几个文件的资源包,比如说:
address_en_us.properties
address_nl_nl.properties
address_fr_ca.properties
如何获取并合并两个属性文件,en_us 是“默认”属性文件?
一些背景:
当我使用本地化属性之一时,例如 fr_ca,对于未在 fr_ca 中本地化的每个键,我想使用 en_us 中指定的默认值
【问题讨论】:
标签:
java
properties
merge
resourcebundle
【解决方案1】:
我见过的一种工作方式是在代码中设置默认值,在 java 类中硬编码。这样,任何未在属性文件中设置但在代码中使用的属性将始终获得默认值。
从架构的角度来看,这也是一个非常好的主意,在代码中使用默认属性值交付产品,并被属性文件中的值覆盖。如果您让产品(在我看来是 Android 应用程序)在启动时调用服务器以检查和覆盖属性文件的值,那么您可以为产品增加很多灵活性。
【解决方案2】:
只需将您的“address_en_us.properties”重命名为“address.properties”,此文件将始终用作“默认”属性文件。