0

次のコードを使用してロケールを変更しようとしています:

private void changeLocal(Locale locale){
    Locale.setDefault(locale);
    Configuration config = new Configuration();
    config.locale = locale;
    getBaseContext().getResources().updateConfiguration(config,
          getBaseContext().getResources().getDisplayMetrics());
    refresh();
}

private void refresh() {
    finish();
    Intent myIntent = new Intent(this, getClass());
    startActivity(myIntent);
}

フランス語では機能しますが、ヘブライ語では機能しません。そこで、デバイスがサポートされているロケールを電話で調べたLocale.getAvailableLocales()ところ、フランス語はあるがヘブライ語がないことがわかりました。

ハードコーディングされたヘブライ語のテキストを配置すると、それが表示されるのでインストールされますが、デバイスに強制的に使用させる方法がわかりません。

ヘブライ語を使用してデバイスを強制するのを手伝ってください。

PS をrefresh追加しても、この作業を行うことができませんでした

android:configChanges="locale|layoutDirection"

私のマニフェストにはonConfigurationChanged、私のアクティビティの

4

1 に答える 1