获取阿拉伯语的用户当前位置名称?



我需要用阿拉伯语获取位置名称,如果GPS启用英语,我正在使用以下代码。

Geocoder geocoder = new Geocoder(getApplicationContext(), Locale.getDefault());
// LogCat: Display language = English
Log.i("Display language = ", "" + mLocale.getDisplayLanguage());
Log.i("geocoder geocoder = ", "" + geocoder.toString());
// Geocoder geocoder = new Geocoder(getApplicationContext(), Locale.getDefault());
try {
List<Address> listAddresses = geocoder.getFromLocation(latitude, longitude, 1);
if (null != listAddresses && listAddresses.size() > 0) {
String _Location = listAddresses.get(0).getAddressLine(0);
// Log.i("_Location = ", "" + _Location);
Address address = listAddresses.get(0);
Log.i("address = ", "" + address);
result = address.getLocality();
Log.i("result = ", "" + result);
// Toast.makeText(getApplicationContext(), "Your Location  NAME is -" + result , Toast.LENGTH_LONG).show();
}
} catch (IOException e) {
e.printStackTrace();
}
地址[

地址行=[ 阿布扎比 - 阿拉伯联合酋长国"],功能=3rd 街道,管理员=阿布扎比,子管理员=空,地区=阿布 阿布扎比,大道=第三 街道,邮政编码=空,国家代码=AE,国家名称=阿拉伯联合 Emirates,hasLatitude=true,latitude=,hasLongitude=true,longitude=,phone=null,url=null,extras=null]

我需要基于用户在应用程序中选择的语言的阿拉伯语位置值。

我给了Locale mLocale = new Locale("ar","AE");但它给出了阿拉伯语的国家名称,我需要阿拉伯语的地方价值。

在Galaxy S7中,数据基于阿拉伯语选择正确提供阿拉伯语数据

S6 不来,它只在我也通过区域阿拉伯语时才提供英语数据。

在最近的参考中,区域设置具有适用于ISO 639-1/ISO 3166-1的语言/国家代码信息。

ISO 639-1 是两个字母的小写语言代码。阿拉伯语以这种格式定义。

您可以像这样设置阿拉伯语的区域设置:

Locale loc = new Locale("ar");

注意:

安卓区域设置参考:https://developer.android.com/reference/java/util/Locale.html

ISO 639-1 代码参考:https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes

希望它对你有用。

最新更新