【问题标题】:java application to have translation files like android hasjava应用程序有像android这样的翻译文件
【发布时间】:2014-01-17 16:16:56
【问题描述】:

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

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

【问题讨论】:

  • 你试过谷歌吗?第一个热门是关于这个主题的 oracle 教程。
  • @Larva - 不,谷歌已经招待我太久了,不能被视为这样。谷歌不是金发姑娘,但它不是伏地魔吗?我猜介于两者之间?某处

标签: java internationalization translation


【解决方案1】:

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

对于我的项目应该足够了。

【讨论】:

    【解决方案2】:

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

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

    当然,如果你想通过 JComboBox 来切换它,你可能会做的有点不同。我会做什么,我实际上会创建模型(Swing 促进 MVC 设计模式),它将保存数据(不同的语言环境),并且我会在正确的 ActionListener 中设置默认语言环境。不过这并不容易。

    当然,我宁愿使用本地名称作为语言环境。如果您构建了它们,您可以通过简单地调用 getDisplayName() 将自身作为参数传递来轻松获取本地名称区域设置名称:

    String brazilianNativeName = brazilian.getDisplayName(brazilian);
    

    对于某些语言环境,结果可能不令人满意(不幸的是,我相信巴西葡萄牙语就是其中之一),但您无能为力(除非您使用自己的字符串)。

    说实话,对于两种语言,我可能会改用一些链接。您可以使用简单的 JLabels 来做到这一点,只需设置正确的字体属性和颜色并分配通用 ActionListener。然后,您可以查询实际单击了哪一个,并适当地创建和设置区域设置。对于应该足够的家庭作业。

    【讨论】:

    • 那么当人们更改语言环境时,我应该把翻译后的字符串放在哪里?
    猜你喜欢
    • 1970-01-01
    • 2016-02-05
    • 2011-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多