0

アプリに第二言語 (フランス語) を導入しています。私は、strings.xml リソース ファイルを翻訳して、values-fr などという名前の新しいフォルダーを作成しました。フランス語の文字列は、アプリの一部を除いて、UI で問題なく表示されます。現在SQLite dbに保存されているヘルプセクションがあり、DatabaseHelperコードは文字列リソースを参照してStrings.xmlから読み取ります。

context.getString(R.string.tip1title);

私が検討しているオプションの 1 つは、データベースに「LANGUAGE」列を追加してから、デバイスのロケールに基づいてヘルプ テキストを引き出すクエリを変更することです。そのため、フランス語の strings.xml ファイルを読み取ろうとしています。インストール/更新中のデータベース。プロセス中にロケールを変更せずに、デフォルトの「values/strings.xml」ではなく「values-fr/strings.xml」でコードを指す方法はありますか? 私の制御外の何かが発生し、ユーザーのデバイス言語がフランス語に設定された場合に備えて、ロケールを台無しにしたくありません...

そうでない場合、私が検討している別のオプションは、文字列をDBに保存せず、代わりに各言語の生ファイルを作成し、デバイスのロケールを使用して別のリソースから読み取ることです。

4

1 に答える 1