在我的应用程序中,我使用 java 资源包来翻译它的标签。我目前有两个文件:
- resources.properties 带有英文标签(默认语言)
- resources_fr.properties 带有法语标签
然后,我使用以下命令加载包属性:
ResourceBundle.getBundle(RESOURCE_BUNDLE_NAME, locale);
...locale
用户的语言环境在哪里。
当我使用法语网络浏览器时,没关系,我收到的所有消息都是法语,因为我的语言环境正确设置为 fr。但是当我将浏览器切换到美国英语时,它们仍然是法语!
该locale
变量已使用 en_US 语言环境正确设置,但该getBundle
方法返回一个带有 fr 语言环境的包,而不是只返回默认包...
这是正常行为吗?我很惊讶,因为我期望在resources.properties
语言环境没有附加特定资源包(如法语)时使用英语值...