Android 从区域设置代码获取国家/地区和语言
我有一个android方法,可以输出设备中可用的所有语音识别语言代码。问题是它返回的代码像“en-US”、“es-es”、“es-MX”。。。我想知道是否有办法将这些代码转换为该语言的显示名称(英语(美国)、西班牙语(西班牙)。谢谢你的帮助Android 从区域设置代码获取国家/地区和语言,android,locale,speech-recognition,Android,Locale,Speech Recognition,我有一个android方法,可以输出设备中可用的所有语音识别语言代码。问题是它返回的代码像“en-US”、“es-es”、“es-MX”。。。我想知道是否有办法将这些代码转换为该语言的显示名称(英语(美国)、西班牙语(西班牙)。谢谢你的帮助 @Override public void onReceive(Context context, Intent intent) { Bundle results = getResultExtras(true); if (results.con
@Override
public void onReceive(Context context, Intent intent)
{
Bundle results = getResultExtras(true);
if (results.containsKey(RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE))
{
languagePreference =
results.getString(RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE);
}
if (results.containsKey(RecognizerIntent.EXTRA_SUPPORTED_LANGUAGES))
{
supportedLanguages =
results.getStringArrayList(
RecognizerIntent.EXTRA_SUPPORTED_LANGUAGES);
}
for(int i=0;i<supportedLanguages.size();i++){
System.out.println("The language supported is: "+supportedLanguages.get(i));
}
}
@覆盖
公共void onReceive(上下文、意图)
{
Bundle results=getResultTextras(true);
if(results.containsKey(RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE))
{
语言偏好=
results.getString(RecognizerIntent.EXTRA_LANGUAGE_首选项);
}
if(results.containsKey(RecognizerIntent.EXTRA_支持的语言))
{
支持的语言=
results.getStringArrayList(
RecognizerIntent.EXTRA_支持的_语言);
}
对于(int i=0;i从ISO语言代码的数据源构建字典:
从ISO语言代码的数据源构建词典:
是的,您可以使用:
是的,您可以使用:
有一个名为locale.getDisplayName()的方法,它自己创建输出(英语(美国)),而不使用最后一段代码。非常感谢您,您在一分钟内解决了我试图解决几个小时的问题。有一个名为locale.getDisplayName()的方法创建输出(英语(美国))不用最后一段代码,你自己解决了一个我花了几个小时试图在一分钟内解决的问题。
Locale locale = Locale.forLanguageTag("en-US");
System.out.println(locale.getDisplayName());
// "English (United States)"