web-dev-qa-db-ja.com

言語を変更する方法GoogleMap V2 android

私は使っている google-play-service-lib。グーグルマップの言語を変更するにはどうすればよいですか?つまり、コーリアン言語またはヒンディー語で場所を表示します。

13
Vibhor Bhardwaj

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();

}

結果、米国ベースの電話のコードで言語が中国語に設定されている(手動で変更しない):

Chinese Map

また、韓国語を表示するように取得することもできました。次のロケールコードを使用してください。

 String languageToLoad = "ko_KR";

結果:

Korean Map

[〜#〜]注[〜#〜]

Googleマップでサポートされている言語は次のように表示されます: https://developers.google.com/maps/faq#languagesupport

12
Daniel Nugent

異なる言語で地図の説明を取得するには、アプリケーション内の場所を変更するだけで済みます。非推奨のメソッドの使用を回避するために、検証を追加する必要があります。

 @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());
        }

...
...

.。

すべての言語がサポートされているわけではないと言うことは非常に重要です。これはロシア語の例です。

introducir la descripción de la imagen aquí

コード言語は次の場所から取得できます。

https://www.transifex.com/explore/languages/

3
Jorgesys

デバイスのロケールを変更するだけです。翻訳が利用可能な場合、それらは自動的に表示されます。

ロケールが韓国語に切り替えられた米国の電話のスクリーンショット:

1
Kevin Krumwiede