gpt4 book ai didi

java - Locale.getLanguage() 等于 String

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

我正在尝试制作一个具有多种语言的 Android 应用程序。我有一个字符串数组。我想做的是为多种语言制作这个数组。例如;我有一个英文数组,例如“水星,金星,地球,火星”。我还有一个土耳其语数组,例如“Merkür、Venüs、Dünya、Mars”。我正在使用“Locale”属性学习设备的主要语言,并且我可以显示该语言。但我想做的是显示语言数组取决于设备的主要语言。

正如我所说,我有两个数组。我尝试学习设备的语言并均衡字符串数组。但由于 .equals 参数,我无法均衡它们。它不起作用。

String[] TurkishPlanetNames ={"Merkür", "Venüs", "Dünya", "Mars", "Jüpiter", "Satürn", "Uranüs", "Neptün"};

String[] PlanetNames ={"Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"};
<小时/>
Locale locale = ConfigurationCompat.getLocales(Resources.getSystem().getConfiguration()).get(0);

if (locale.getLanguage().equals("en-US")){

Toast.makeText(getApplicationContext(), "It worked!", Toast.LENGTH_LONG).show();

} else {
Toast.makeText(getApplicationContext(), "It didn't work!", Toast.LENGTH_LONG).show();
}

那么,我怎样才能平衡设备的语言和像“en-US”这样的字符串。 .equals - .compareTo - .contentEquals - .matches 不起作用。

最佳答案

locale.getLanguage(); 无论您的设备使用什么版本的英语(英式/美式),都只会返回“en”。

以下调用将以您尝试在 .equals(); 中使用的格式返回字符串

Locale.getDefault().toString(); //e.g. returns "en_US"

但请确保使用下划线而不是连字符。

或者,使用您当前使用的方法,如下所示:

if (locale.getLanguage().equals(new Locale("en").getLanguage())) {
//...
}

( source )

关于java - Locale.getLanguage() 等于 String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55534086/

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