我正在用Java编写应用程序。该应用程序可以使用ResourceBundle
进行国际化。我想允许用户选择他想要的应用程序语言。还有一个问题:如何列出该计划的可用语言?我不想使用Locale.getAvailableLocales()
,因为我不知道应用程序是否有所选语言的.properties文件。还有第二个问题:我可以添加在.jar文件之外添加其他语言文件的功能吗?最后一个问题:有没有更好的国际化解决方案?
此致
答案 0 :(得分:2)
您可以在应用程序的某个常量中存储受支持的语言环境的固定列表。如果你需要使这个动态,我看到两个解决方案:
Class.getResourceAsStream()
),并考虑如果获得InputStream则支持语言环境,如果获得null则不支持除了jar之外,您可以通过在类路径中放置一些目录来让用户添加一个包。删除此目录中的属性文件(尊重包层次结构),etvoilà。