Как дать строку для перевода?
Я использую перевод "ключ - значение" -S.of(context).translation_key
- но мне нужно что-то вроде
"Translation string".translate()
или же
translate("Translation string")
Как я могу это сделать?
Я использую плагин localizely. Версия Flutter самая последняя.
Внимание: я не прошу
translate("key")
я спрашиваю
translate("Translate String")
Я хочу указать значение и получить текущую стоимость перевода.
1 ответ
Я бы посоветовал вам поступить иначе:
String _localeCode = 'en';
Ваш метод:
String translate(String key) {
if (_localeCode == 'en') {
if (key == 'key1') return 'English translation for key1';
else if (key == 'key2') return 'English translation for key2';
} else if (_localeCode == 'es') {
if (key == 'key1') return 'Spanish translation for key1';
else if (key == 'key2') return 'Spanish translation for key2';
}
}
И вы бы использовали это:
void main() {
var translatedString = translate('key1');
}
Для простоты я жестко запрограммировал вещи, но лучшее решение - загрузить ключи через файл json, вот лучший подход