我已经使用地理编码器通过该位置获取地址。但是,城市名称是英文的,我想用阿拉伯语显示它。
下面是获取地址的代码:
public String getAddress(double LATITUDE, double LONGITUDE) {
String city = "";
try {
Geocoder geocoder = new Geocoder(this, Locale.getDefault());
List<Address> addresses = geocoder.getFromLocation(LATITUDE, LONGITUDE, 1);
if (addresses != null && addresses.size() > 0) {
String address = addresses.get(0).getAddressLine(0);
city = addresses.get(0).getLocality();
String state = addresses.get(0).getAdminArea();
String country = addresses.get(0).getCountryName();
String postalCode = addresses.get(0).getPostalCode();
String knownName = addresses.get(0).getFeatureName();
}
} catch (IOException e) {
e.printStackTrace();
}
return city;
}然后这是我在TextView中显示城市名称的地方:
String country_and_city = getAddress(latitude, longitude);
TextView city_name = findViewById(R.id.city);
city_name.setText(country_and_city);在这里,城市名称将以英文显示,我如何翻译它或使用其他方法来显示它的阿拉伯语?例如,可能使用google-translate api或其他可能的东西
发布于 2021-06-02 15:58:12
为了使用Google Cloud Translation API,您需要有一个启用了此API的项目,以便您可以进行经过身份验证的调用。您可以将其设置为here。
谷歌提供了很多示例代码,here,你可以使用它们。下面的代码用于将字符串西班牙语(Es)转换为德语(De),
Translation translation =
translate.translate(
"Hola Mundo!",
Translate.TranslateOption.sourceLanguage("es"),
Translate.TranslateOption.targetLanguage("de"),
// Use "base" for standard edition, "nmt" for the premium model.
Translate.TranslateOption.model("nmt"));
System.out.printf("TranslatedText:\nText: %s\n", translation.getTranslatedText());This article详细解释了如何将API集成到Android Studio项目中,它可以让您更好地了解整个过程。
最后我要指出的是,根据< according > documentation ,
价格按比例(比例和增量)。按实际提供给云翻译的字符数计费。例如,如果您在一个月内发送575,000个字符进行处理,则需要支付1.50美元。前500,000个字符是免费的,然后您需要为额外的75,000个字符付费,以便进行检测和/或翻译。
作为另一种选择,您也可以查看googletrans库,根据文档:
Googletrans是一个免费的、无限的python库,它实现了谷歌翻译API。它使用Google Translate Ajax API来调用诸如检测和翻译之类的方法。
https://stackoverflow.com/questions/67771517
复制相似问题