Flutter中如何使用flutter_localizations进行本地化 已按要求生成标题。

我在Flutter项目中尝试使用flutter_localizations实现多语言支持,但遇到了一些问题。具体步骤如下:1)已在pubspec.yaml添加依赖;2)配置了MaterialApp的localizationsDelegates和supportedLocales。但现在运行时仍然显示默认语言,不知道哪里出了问题?想请教:1)是否需要额外配置系统语言环境?2)如何验证本地化资源文件是否加载成功?3)有没有完整的示例代码参考?谢谢!

2 回复

pubspec.yaml添加依赖,导入包。使用MaterialApplocalizationsDelegatessupportedLocales属性配置本地化代理和支持语言。

更多关于Flutter中如何使用flutter_localizations进行本地化 已按要求生成标题。的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在 Flutter 中使用 flutter_localizations 包实现本地化(国际化)的步骤如下:

  1. 添加依赖:在 pubspec.yaml 文件中添加依赖:

    dependencies:
      flutter:
        sdk: flutter
      flutter_localizations:
        sdk: flutter
    
  2. 配置支持的语言:在 MaterialApp 中配置本地化代理和支持的语言:

    import 'package:flutter/material.dart';
    import 'package:flutter_localizations/flutter_localizations.dart';
    
    void main() {
      runApp(MyApp());
    }
    
    class MyApp extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return MaterialApp(
          localizationsDelegates: [
            GlobalMaterialLocalizations.delegate,
            GlobalWidgetsLocalizations.delegate,
            GlobalCupertinoLocalizations.delegate,
          ],
          supportedLocales: [
            Locale('en', 'US'), // 英语
            Locale('zh', 'CN'), // 中文
          ],
          home: MyHomePage(),
        );
      }
    }
    
  3. 使用本地化字符串:通过 LocalizationsAppLocalizations 访问本地化文本。例如,定义本地化资源文件(如 ARB 文件)并使用 flutter gen-l10n 生成代码,或直接使用内置的 Material/Cupertino 本地化。

  4. 切换语言:使用 Locale 类动态更新语言,例如通过 MaterialApplocale 属性设置。

完整示例支持中英文切换。确保设备语言设置或手动切换生效。

回到顶部