Ste*_*one 3 php java translation icu
我有一个移动应用程序(iOS 和 Android),我需要用用户的语言翻译城市名称。我可以在移动设备或我的服务器(运行 php)上进行翻译。
截至目前,我设法翻译了国家/地区名称,这里是翻译所有可能语言的所有可能国家/地区的 java 代码:
import java.util.Locale;
public class ListCountry {
public static void main(String[] args) {
ListCountry obj = new ListCountry();
obj.getListOfCountries();
}
public void getListOfCountries() {
String[] locales = Locale.getISOCountries();
for (String countryCode : locales) {
Locale obj = new Locale("", countryCode);
String[] lingue = Locale.getISOLanguages();
for (String languageCode : lingue) {
System.out.println("Country Code = " + obj.getCountry()
+ ", Country Name = " + obj.getDisplayCountry(new Locale(languageCode)) + ", language = " + (new Locale(languageCode)).getDisplayLanguage());
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我怎么能做类似的事情,但城市名称?我知道CLDR和ICU,但我真的不知道该怎么做(或者甚至可能)。如果有一个不错的面向对象库,它会比解析 CLDR XML 或其他源更好。
我更喜欢在本地(在我的服务器甚至移动应用程序上)而不是调用 Google API,例如:
http://maps.googleapis.com/maps/api/geocode/json?address=turin&language=ES
http://maps.googleapis.com/maps/api/geocode/json?address=turin&language=IT
http://maps.googleapis.com/maps/api/geocode/json?address=turin&language=EN
Run Code Online (Sandbox Code Playgroud)
(问题是:我猜城市名称的谷歌数据库是公开的,它在哪里?它是否很好地包装在一些用户友好的跨平台库中?)
谢谢你的帮助
我猜您正在寻找一个包含所有城市及其翻译的文件,而不是每个城市获取一次?
如果是这样,www.geonames.org 有多种语言的不同类型(国家、行政区、城市)的地理数据。在他们的 API 调用旁边,您还可以直接下载他们的文件并自行解析:
在以下 URL 中,您将找到 3 个以“alternativeNames”为前缀的 Zip 文件 http://download.geonames.org/export/dump/
它们包含 - 希望是 - 必要的数据。
| 归档时间: |
|
| 查看次数: |
7118 次 |
| 最近记录: |