Flutter如何使用intl_utils插件

在Flutter项目中安装intl_utils插件后,如何正确配置并生成arb文件?我已经按照文档添加了依赖,但在运行flutter pub run intl_utils:generate命令时报错,提示找不到相关文件。请问具体的配置步骤是什么?需要修改哪些配置文件?如何指定生成的l10n目录路径?

2 回复

在Flutter项目中使用intl_utils插件,步骤如下:

  1. pubspec.yaml中添加依赖:

    dev_dependencies:
      intl_utils: ^2.8.0
    
  2. 运行flutter pub get安装插件。

  3. 在项目根目录创建l10n.yaml配置文件,指定翻译文件路径。

  4. 创建.arb翻译文件,例如app_en.arbapp_zh.arb

  5. 运行flutter pub run intl_utils:generate生成本地化代码。

  6. 在MaterialApp中配置localizationsDelegatessupportedLocales

完成以上步骤后即可使用生成的本地化字符串。

更多关于Flutter如何使用intl_utils插件的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在Flutter中使用intl_utils插件可以方便地管理多语言本地化。以下是基本步骤和示例代码:

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

    dependencies:
      flutter_localizations:
        sdk: flutter
      intl: ^0.18.1
    
    dev_dependencies:
      intl_utils: ^2.8.0
    
  2. 创建ARB文件:在项目根目录下创建l10n文件夹,并添加语言资源文件,例如:

    • app_en.arb(英语):
      {
        "helloWorld": "Hello World!",
        "@helloWorld": {
          "description": "简单的欢迎消息"
        }
      }
      
    • app_zh.arb(中文):
      {
        "helloWorld": "你好世界!"
      }
      
  3. 生成本地化代码:运行以下命令生成Dart本地化类:

    flutter pub run intl_utils:generate
    

    这会在lib/generated目录下生成l10n.dart等文件。

  4. 配置MaterialApp:在main.dart中设置本地化委托:

    import 'generated/l10n.dart';
    
    class MyApp extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return MaterialApp(
          localizationsDelegates: S.localizationsDelegates,
          supportedLocales: S.supportedLocales,
          home: MyHomePage(),
        );
      }
    }
    
  5. 使用本地化字符串:在Widget中通过S.of(context)调用:

    Text(S.of(context).helloWorld)
    

注意事项

  • 每次修改ARB文件后需重新运行生成命令。
  • 确保ARB文件格式正确,键名保持一致。
  • 可通过intl_utils配置输出路径和文件名(在pubspec.yaml中设置)。

这样即可实现多语言支持的快速集成和更新。

回到顶部