这是我的第一个问题 :)
我正在开发一个将动物物种存储在数据库中的应用程序。该应用程序必须支持多语言,因此我想利用使用strings.xml资源文件的优势。
我的想法是在数据库中存储物种的英文名称,例如“cat”,“dog”等,然后根据类似以下xml(用于意大利语)的实际翻译向用户显示:
<string name="dog">Cane</string>
<string name="cat">Gatto</string>
问题在于R.string包含名称为dog和cat的内容,但它们实际上是int类型的,所以我正在寻找一种使用字符串“dog”来比较R.string.dog翻译值的方法。
我几乎确定我的设计非常错误,但不知道正确的做法,因为应用程序目前处于开发的早期阶段。
谢谢。
编辑示例:
这个例子说明了问题:
数据库数据:
行1: id="1",value="dog"
行2: id="2",value="cat"
字符串文件strings.xml:
<string name="dog">Dog</string>
<string name="cat">Cat</string>
文件字符串 strings-it.xml:
<string name="dog">Cane</string>
<string name="cat">Gatto</string>
我的问题是:用户想要用他们的母语插入一种物种(例如,“Cane”),我希望在插入之前在数据库中搜索它是否已经存在。
我应该循环遍历数据库中的每一行(其中值以英文存储),获取每一行的翻译(例如:我找到了“cat”,然后将其翻译为“Gatto”),并与用户输入进行比较。
这样做是可行的吗?
getIdentifier
在其他领域也很有用。至少对我来说是这样,所以记住它也不是坏事。 - Geobits