语言环境顺序

时间:2018-10-10 11:39:34

标签: java localization internationalization locale resourcebundle

使用语言环境的确切顺序是什么? 我有3个属性文件:

Dolphins.properties

name=The Dolphin
age=0

Dolphins_zh.properties

name=Dolly
age=4

Dolphins_fr.properties

name=Dolly

我的代码是:

5: Locale fr = new Locale("fr");

6: Locale.setDefault(new Locale("en", "US"));

7: Resource Bundle b = ResourceBundle.getBundle("Dolphins", fr);

8: b.getString("name");

9: b.getString("age");

代码将默认语言环境设置为Dolphins_en,那么为什么要使用Dolphins.properties?我想念或误解了什么?

谢谢。

1 个答案:

答案 0 :(得分:3)

选择包链时使用默认语言环境。这意味着,当您不指定它时将使用它:function openPopUp1() { document.getElementById("Dry2Dry").style.height = "85%"; document.getElementById("Dry2Dry").style.width = "40%"; if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) && (window.innerWidth < window.innerHeight) ){ document.getElementById("Dry2Dry").style.width = "100%"; } document.getElementById('blackout').style.opacity = '0.1'; document.getElementById('blackout').style.overflow = 'hidden'; $('body').addClass('stop-scrolling') } 或当您指定不存在该包的语言环境时:ResourceBundle.getBundle("Dolphins")

但是当选择包时,将不再使用默认语言环境进行值选择。这意味着当 Dolphins_fr.properties 中不存在键ResourceBundle.getBundle("Dolphins", new Locale("cs"))时,它将使用默认捆绑包 Dolphins.properties 中的值。

注意:并且,如果密钥甚至不在 Dolphins.properties 中,它将抛出age

更新:我觉得我以前看过相同的代码,终于得到了它。您可以在 Jeanne Boyarsky-OCP学习指南中查看,也可以在这里https://coderanch.com/t/685833/certification/OCP-Chapter-Jeanne-Boyarsky中找到,其中的代码完全相同,并且用更好的英语解释了原因。