Как переключить язык по коду во flutter-web

У меня проблемы с переключением языка во флаттер-веб-приложении. Я добавил необходимые зависимости вpackage.yml.

dependencies:
  flutter:
    sdk: flutter
  intl: ^0.16.1

  flutter_localizations:
      sdk: flutter

dev_dependencies:
  flutter_test:
    sdk: flutter
  intl_translation: ^0.17.9

Затем я инициализировал intl материал в приложении MaterialApp.

 [...]
 child: MaterialApp(
        localizationsDelegates: [
          GlobalMaterialLocalizations.delegate,
          GlobalWidgetsLocalizations.delegate,
          S.delegate,
        ],
        supportedLocales: S.delegate.supportedLocales,
        [...]

Вот код, который я ожидаю изменить локаль.

                Text(S.of(context).language),
                RaisedButton(
                  child: Text("deutsch"),
                  onPressed: () {
                    S.load(Locale('de'));
                  },
                ),
                RaisedButton(
                  child: Text("englisch"),
                  onPressed: () {
                    S.load(Locale('en'));
                  },

Вот два arb файлы, содержащие перевод.

{
    "language": "Deutsch"
}
{
    "language": "English"
}

Все компилируется, и я могу получить доступ к S.of(context)классы. Я уверен, что что-то упустил. Поскольку переключение языка также не работает, если я запускаю эмулятор Android.

При переключении языкового стандарта системы в эмуляторе изменяется язык.

Буду признателен за любую помощь или подсказки.

0 ответов

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