私は使っている google-play-service-lib
。グーグルマップの言語を変更するにはどうすればよいですか?つまり、コーリアン言語またはヒンディー語で場所を表示します。
Locale Objectを使用して、Google Map APIV2を使用するGoogleMapsの場所を変更できます。ただし、使用しているデバイスで言語がサポートされている必要があります。
これが サポートされている言語の完全なリスト です。
以下のこのコードで、地図上の言語を中国語に変更することができました。
@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();
}
結果、米国ベースの電話のコードで言語が中国語に設定されている(手動で変更しない):
また、韓国語を表示するように取得することもできました。次のロケールコードを使用してください。
String languageToLoad = "ko_KR";
結果:
[〜#〜]注[〜#〜]
Googleマップでサポートされている言語は次のように表示されます: https://developers.google.com/maps/faq#languagesupport
異なる言語で地図の説明を取得するには、アプリケーション内の場所を変更するだけで済みます。非推奨のメソッドの使用を回避するために、検証を追加する必要があります。
@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());
}
...
...
.。
すべての言語がサポートされているわけではないと言うことは非常に重要です。これはロシア語の例です。
コード言語は次の場所から取得できます。
デバイスのロケールを変更するだけです。翻訳が利用可能な場合、それらは自動的に表示されます。
ロケールが韓国語に切り替えられた米国の電話のスクリーンショット: