Так что это очень сложно, я думаю.
Я пытался всеми средствами и всеми моими знаниями, поэтому после поиска во всей сети и на этом сайте я должен задать вопрос.
Вот предложение:
У меня есть счетчик, который в качестве значения (на английском языке) говорит: белки птиц, пчел
На испанском языке значения будут:
abejas pajaros ardillas
Я уверен, что они одинаковы, потому что во время выполнения я создаю значения, поступающие в счетчик, из файла с именем
store.xml
<resources>
<string name="bees">bees</string>
<string name="birds">birds</string>
<string name="squirrels">squirrels</string>
<string name="other_species">other species</string>
</resources>
ив папке values-es
store.xml
<resources>
<string name="bees">abejas</string>
<string name="birds">pajaros</string>
<string name="squirrels">ardillas</string>
<string name="other_species">otra especie</string>
</resources>
Проблема в том, что я не должен сохранять фактическое значение, выбранное пользователем, потому что, когда они меняют язык устройства, тосохраненное значение будет на другом языке.
Поэтому я подумал, как получить уникальный идентификатор строкового значения, выбранного пользователем, и использовал res.getIdentifier, чтобы получить идентификатор, а затем имястрокового ресурса.ТОГДА я бы сохранил имя ресурса в базе данных, таким образом, если бы язык изменился, я смог бы найти значение на основе имени.
Теперь res.getIdentifier работал, пока значениебыло то же самое, что и имя, т.е.:
value "bees", name="bees" (works)
value "bees", name="abejas" (don't work)
value "other_species", name="other species" (don't work)
Так есть ли способ, которым я могу получить имя строки в XML, из значения?
Или есть другойОбойти это?