Я использую google-play-service-lib
. Как изменить язык карты Google, т.е. Показать местоположения на корейском языке или на языке хинди.
Как изменить язык Google Map V2 android
Ответ 1
Вы можете изменить местоположение для Карт Google, которые используют Google Map API V2, используя Locale Объект. Язык должен поддерживаться на используемом устройстве.
Вот полный список поддерживаемых языков.
С помощью этого кода ниже я смог изменить язык на карте на китайский:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String languageToLoad = "zh_CN";
Locale locale = new Locale(languageToLoad);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
setContentView(R.layout.activity_maps);
setUpMapIfNeeded();
}
Результат, язык, установленный на китайском языке в коде (без ручных изменений) на телефоне в США:
Мне также удалось показать его корейским, используйте этот код Locale:
String languageToLoad = "ko_KR";
Результат:
Примечание
Похоже, что поддерживаемые языки для Карт Google перечислены здесь: https://developers.google.com/maps/faq#languagesupport
Ответ 2
Нам нужно изменить местоположение в приложении, чтобы получить описания Map на другом языке. Мы должны добавить проверки, чтобы избежать использования устаревших методов:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
String language= "hi"; //Hindi language!.
Locale locale = new Locale(language);
Locale.setDefault(locale);
Configuration config = new Configuration();
if(Build.VERSION.SDK_INT>Build.VERSION_CODES.JELLY_BEAN){
config.setLocale(locale);
getContext().createConfigurationContext(config);
}else { //deprecated
config.locale = locale;
getResources().updateConfiguration(config, getResources().getDisplayMetrics());
}
...
...
...
Очень важно сказать, что все языки не поддерживаются, это пример на русском языке:
Мы можем получить языки кода из:
Ответ 3
Просто измените локаль на устройстве. Если переводы доступны, они будут показаны автоматически.
Снимок экрана моего американского телефона с языковой версией, переведенной на корейский язык: