Как дать строку для перевода?

Я использую перевод "ключ - значение" -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, вот лучший подход

Другие вопросы по тегам