如何获取可用语言(不是全部语言,仅限于我的应用程序中可用的语言)

5

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

我正在寻找一种方法仅返回我所翻译的语言(例如:如果我有3个文件夹values-en、values-es、values-pt;我希望得到响应:[en,es,pt]或[英语,西班牙语,葡萄牙语])


嗨,我正在寻找这种实现方式。有没有办法获得[en、es、pt]的响应? - Karthick
1个回答

0

Locale.getAvailableLocales() 会返回系统中可用 Locales 列表。这些 Locale 可以用于格式化日期、时间、数字等数据,但与应用程序本地化文件无关。

我猜测您想在运行时切换语言,因此需要枚举语言列表。那么,您可能需要创建特定的配置文件,并在运行时读取该文件。添加 L10n 文件需要另一步操作——在配置文件中注册。
或者,您可以枚举资源目录(values-<Locale-ID>),并从它们的名称中抓取支持的 Locale,但我认为这不是最优雅的解决方案。但是,这种方法可以在不进行任何注册的情况下使用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接