gpt4 book ai didi

android - 如何在 Android 上列出/选择已安装的语言?

转载 作者:太空狗 更新时间:2023-10-29 12:40:09 30 4
gpt4 key购买 nike

我想制作一个小应用程序,只需单击一两次,即可在两种、三种或更多首选语言之间切换系统语言,这些语言是预先从“官方”语言列表中选择的,即出现在快速设置 > 设置 > 语言和输入法 > 语言。

如何以编程方式获取此列表?这是可从 Locale.getAvailableLocales() 获得的语言环境列表吗?我应该从语言环境获取语言吗?谢谢!

enter image description here

编辑 - 这是我到目前为止所做的:

  private List<Model> getModel() {
Locale[] locales = Locale.getAvailableLocales();
List<Model> list = new ArrayList<Model>();
for (int i=0; i<locales.length; i++) {
list.add(get(locales[i].getDisplayLanguage()));
}
return list;
}

private Model get(String s) {
return new Model(s);
}

我现在正在寻找这些选项:

Locale.getDefault().getLanguage()        ---> en     
Locale.getDefault().getISO3Language() ---> eng
Locale.getDefault().getCountry() ---> US
Locale.getDefault().getISO3Country() ---> USA
Locale.getDefault().toString() ---> en_US
Locale.getDefault().getDisplayLanguage() ---> English
Locale.getDefault().getDisplayCountry() ---> United States
Locale.getDefault().getDisplayName() ---> English (United States)

来自 here .

编辑 2 - 另外 2 张图像,显示语言列表的末尾,其中包含中文选项。

enter image description here

这是来自系统的列表。

enter image description here

这个列表是用下面的代码完成的:

Locale[] locales = Locale.getAvailableLocales();
List<Model> list = new ArrayList<Model>();
for (int i=0; i<locales.length; i++) {
list.add(get(locales[i].getDisplayLanguage()+"|"+
locales[i].toString()+"|"+
locales[i].getDisplayName()
));
}
return list;

现在必须有一种方法可以从第二个列表到达第一个列表,也许可以访问一些系统隐藏文件?

编辑 3 - 我添加了以下代码,它毫无问题地显示了中文、葡萄牙语和西类牙语特殊字符 (UTF-8):

list.add(get("Português (Brasil)"));
list.add(get("English (US)"));
list.add(get("中国(简体)"));
list.add(get("Español (Venezuela)"));

现在我如何从这里真正更改系统语言(不打开如下所示的 Intent/Activity ?

Intent intent = new Intent(Settings.ACTION_LOCALE_SETTINGS);
startActivity(intent);

最佳答案

这是获取设备所有可用语言环境的 API。

public static Locale[] getAvailableLocales ()

有关更多信息,请查看此公共(public)链接:http://developer.android.com/reference/java/util/Locale.html#getAvailableLocales()

关于android - 如何在 Android 上列出/选择已安装的语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27630817/

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