私のAndroidアプリケーションでは、関数を実装したいと考えています.システム言語で翻訳を変更できる文字列と、システム言語で翻訳を変更してはならず、代わりにユーザーが望むように変更する必要がある文字列があります。
例:
can you say "中文", please try to say "你好"
上記の文では、引用符の外側の文字列はシステム言語に合わせて変更する必要がありますが、引用符の内側の文字列はユーザーの希望または選択に応じて変更する必要があります。
Androidでこの機能を実装するにはどうすればよいですか?
しかし、アプリケーションに DB を追加したくありません。配列でこれを達成するにはどうすればよいですか?翻訳文字列を配列に保存し、文字列を取得してマージするにはどうすればよいですか?
システム言語が英語の場合、保存された配列から中国語の文字列を取得するにはどうすればよいですか?
そして、この目標を達成する別の方法も見つけました。これは、以下のコードのようなものです。
Resources res = getResources();
Configuration config = res.getConfiguration();
DisplayMetrics dm = res.getDisplayMetrics();
/**
*update the desired locale, if I want to get chinese string,
*change configuration to Chinese locale.
**/
res.getConfiguration().locale = Locale.getDefault();
res.updateCXonfiguration(config, dm);
String text = res.getString(R.string.merges_tring)
//when I get the string I want,
//then restore the configraion locale to previous/current locale.
...code...
//below code, to merge the get string
...code...
このようにどう思いますか?システム言語に欠陥はありませんか?