5

我在 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 模拟器中启动,语言的切换也不起作用。

在模拟器中切换系统区域设置会更改语言。

我将不胜感激任何帮助或提示。

4

0 回答 0