У меня есть несколько строк, которые мне нужно перевести и отобразить. Эти строки находятся в переменных. У меня есть перевод в файле 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);
... но это не очень хорошо масштабируется.
Любые предложения?
Должен ли я хранить переведенную версию в переменной?