У меня есть несколько строк, которые мне нужно перевести и отобразить. Эти строки находятся в переменных. У меня есть перевод в файле strings.xml.
Я хочу отобразить «переведенную версию» строки. Например, внутри действия:
String name = "Water";
TextView nameDisplay = new TextView(this).
nameDisplay.setText(name);
В файле строк у меня есть определение
<string name="Water">French word for Water</string>
Если бы я использовал что-то вроде этого:
nameDisplay.setText(R.string.KnownName);
это будет работать. Но в моем случае имя хранится в переменной, поэтому я не знаю, что делать, чтобы метод setText работал правильно.
Мой текущий обходной путь -
String translation = ""
if(name == "Water") {
translation = getString(R.string.Water);
}
else {
...
}
nameDisplay.setText(translation);
... но это не очень хорошо масштабируется.
Есть предложения?
Должен ли я хранить переведенную версию в переменной?