私は現在、Play ストアで 300 の質問があるトリビア ゲームを持っています。私の Java コードの各質問オブジェクトは次のようになります。
exodus.add(new Question("Aaron", "Abraham", "Jacob", "Joseph", 0, "What was the name of Moses' brother?", -1, "Exodus 7:1-2"));
次のリリースでスペイン語のサポートを実装しています。res/values/strings.xml
これを行うには、調査の結果、300 個のオブジェクト (上に投稿したオブジェクトのように) のすべての文字列を取得してフォルダーに入れるのが最善の方法であることがわかりました。次に、res/values-es/strings.xml
スペイン語サポート用のフォルダーを作成します。これが完了すると、300 個の質問オブジェクトのそれぞれが Java コードで次のようになります。
exodus.add(new Question("" + R.string.exodusa1, "" + R.string.exodusb1, "" + R.string.exodusc1, "" + R.string.exodusd1, 0, "" + R.string.exodusq1, -1, "" + R.string.exodusv1));
XML の各文字列は次のようになります。
<string name="exodusq1">This would be the text for question 1.</string>
<string name="exodusa1">Etc etc...</string>
etc etc...
このようにして、私は英語とスペイン語をサポートすることができます. strings.xml
私の質問/問題は、英語とスペイン語のファイルでコードが非常に長いように感じることです。以下は、これらのファイルの長さを示す計算です。
- 言語ごとに 300 個のオブジェクト (英語とスペイン語)
- 各オブジェクトには 6 つの文字列があります
- つまり
res/values/strings.xml
、1800<string>
秒になります - つまり
res/values-es/strings.xml
、1800<string>
秒になります - つまり、2 つの
strings.xml
ファイル間には 3600 以上<string>
の sがあります。
私はこれについて間違っていますか?それとも、何百もの質問が複数の言語をサポートするトリビア ゲームを作成しようとしているので、これはあるべき姿ですか? それは<string>
sがたくさんあるからです。