如何获得可用的语言(不是全部,只是我的应用程序上可用的语言)

时间:2011-04-18 17:47:32

标签: android localization

我知道已经存在一个Locale.getAvailableLocales()函数和其他一些类似的函数会返回所有可用的语言(无论它们是否可用于您的手机或没有)

我正在寻找一种方法只返回我翻译的语言(即:如果我有3个文件夹的值 - en,values-es,values-pt;我希望得到答案:[en,es ,pt]或[英语,西班牙语,葡萄牙语]

1 个答案:

答案 0 :(得分:0)

Locale.getAvailableLocales()将为您提供系统范围内可用语言环境的列表。这些用于格式化日期,时间,数字等。它与您的应用程序本地化文件无关。

我猜你想在运行时切换语言,这就是你想要枚举语言列表的原因。好吧,您可能需要使用该列表创建特定的配置文件,并在运行时读取该文件。添加L10n文件需要另外一步 - 在配置文件中注册它 或者,您可能想要枚举资源目录(values-< Locale-ID>)并从其名称中获取受支持的Locales,但我认为这不是最优雅的解决方案。但是,它没有任何注册工作......