gpt4 book ai didi

java - 如何访问已安装语言的列表

转载 作者:行者123 更新时间:2023-12-02 11:48:32 26 4
gpt4 key购买 nike

我正在开发一个应用程序,该应用程序应该使用 TTS 来阅读不同语言的文本。我不希望向用户提供所有可用语言的列表(我个人认为处理起来非常麻烦),而是希望他只看到手机上当前安装的语言。换句话说,我的应用程序不应该安装新语言,它应该只访问手机上已安装的语言并在它们之间切换。

这是我的系统/设置/语言&输入/语言首选项的示例:phone language preferences

使用 Locale.getDefault() 我只能获得默认语言(在我的例子中:en_US),使用 getLocales 我可以获得所有类型的语言环境,那么如何获得 3 种已安装语言的列表:en_US、de_DE、es_ES ,最好是 Locale 类型的数组。

我感觉被困在这里,所以非常感谢任何帮助:-)。

最佳答案

使用 API 级别 24,可以实现以下解决方案:

LocaleList.getDefault() :提供当前安装的区域设置的列表。

        String strLocales = "";
LocaleList myLocales = LocaleList.getDefault();
for (int i = 0; i<myLocales.size(); i++) {
strLocales = stringLocales + "\n" + myLocales.get(i).getDisplayLanguage();
strLocales = stringLocales + " / " + myLocales.get(i).getDisplayCountry();
}

结果(strLocales)是:

  • 英语/美国
  • 西类牙语/西类牙
  • 德语/德国

这正是我一直在寻找的东西。很遗憾;我仍然不知道如何解决 24 之前版本的问题,希望得到任何帮助。

关于java - 如何访问已安装语言的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48041758/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com