java应用程序有像android这样的翻译文件

时间:2014-01-17 16:16:56

标签: java internationalization translation

我需要JAVA应用程序才能拥有像android这样的翻译文件。 一些简单的框架来维护不同的语言,并且能够轻松交换。

ed:它是桌面应用程序......

2 个答案:

答案 0 :(得分:1)

http://docs.oracle.com/javase/tutorial/i18n/

应该足够我的项目。

答案 1 :(得分:0)

显然,您不必调用任何构造函数来在运行时切换语言。在Java桌面应用程序中,它非常简单:

Locale brazilian = new Locale("pt", "BR");
Locale.setDefault(brazilian);

当然,如果你想通过JComboBox进行切换,你可能会做的有点不同。我会做什么,我实际上会创建Model(Swing提升MVC设计模式)来保存数据(不同的Locales),我会在正确的ActionListener中设置默认的Locale。但这并不容易。

当然我宁愿使用Locales的原生名称。如果你构造了它们,只需调用getDisplayName()将自身作为参数传递,就可以轻松获得本机名称Locale名称:

String brazilianNativeName = brazilian.getDisplayName(brazilian);

某些Locales的结果可能不令人满意(我相信巴西葡萄牙语不幸的是其中之一),但是你可以做的很多(除非你使用自己的字符串)。

老实说,对于两种语言,我可能会使用一些链接。您可以使用简单的JLabel来做到这一点,只需设置正确的字体属性和颜色,并指定常用的ActionListener。然后,您可以查询实际单击了哪一个,并相应地创建和设置Locale。对于应该足够的家庭作业。