我现在在 Play Store 上有一个问答游戏,里面有 300 个问题。我的 java 代码中的每个问题对象如下所示:
exodus.add(new Question("Aaron", "Abraham", "Jacob", "Joseph", 0, "What was the name of Moses' brother?", -1, "Exodus 7:1-2"));
我将在下一个版本中实现西班牙语支持。为此,经过研究,我发现最好的办法是取出 300 个对象中的每个字符串(就像我在上面发布的对象中一样)并将其放入res/values/strings.xml
文件夹中。然后,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。