我知道已经存在一个Locale.getAvailableLocales()函数和其他一些类似的函数会返回所有可用的语言(无论它们是否可用于您的手机或没有)
我正在寻找一种方法只返回我翻译的语言(即:如果我有3个文件夹的值 - en,values-es,values-pt;我希望得到答案:[en,es ,pt]或[英语,西班牙语,葡萄牙语]
答案 0 :(得分:0)
Locale.getAvailableLocales()
将为您提供系统范围内可用语言环境的列表。这些用于格式化日期,时间,数字等。它与您的应用程序本地化文件无关。
我猜你想在运行时切换语言,这就是你想要枚举语言列表的原因。好吧,您可能需要使用该列表创建特定的配置文件,并在运行时读取该文件。添加L10n文件需要另外一步 - 在配置文件中注册它 或者,您可能想要枚举资源目录(values-< Locale-ID>)并从其名称中获取受支持的Locales,但我认为这不是最优雅的解决方案。但是,它没有任何注册工作......