Flutter本地化资源校验插件check_arb的使用

Flutter本地化资源校验插件check_arb的使用

check_arb 是一个用于多语言检查的工具库,可以对比各语言配置文件与目标语言文件之间的差异,并输出结果,帮助开发者维护多语言文件的一致性。

使用步骤

1. 添加依赖

通过以下命令全局安装 check_arb

flutter pub global activate check_arb

2. 确保文件夹结构

进入包含多语言文件的项目文件夹,check_arb 会默认扫描 l10n 文件夹。请确保 l10n 文件夹中存在 intl_*.arb 文件,其中 * 表示语言标识(如 zh, en 等)。工具会以 mainLocale 指定的语言文件为目标文件,输出与其差异。

默认情况下,mainLocalezh,您也可以通过指令自行设置目标语言。

3. 运行指令

使用默认目标语言(zh

运行以下命令:

flutter pub global run check_arb
指定目标语言

如果需要以其他语言文件作为目标文件(例如 en),可以运行:

flutter pub global run check_arb en

4. 查看输出结果

工具会对比目标语言文件与其他语言文件,并打印差异信息,例如缺失的键或多余的键。

示例输出

假设目标文件是 intl_zh.arb,其他语言文件是 intl_en.arbintl_es.arb,以下是可能的输出格式:

以intl_zh.arb 为基准, 开始检查...

文件: intl_en.arb
- 缺少键值对: 
  - "app_title"
  - "welcome_message"
- 多出键值对:
  - "unused_key"

文件: intl_de.arb
- 缺少键值对: 
  - "test"

注意事项

  • 请确保 intl_*.arb 文件的格式合法,且 l10n 文件夹中没有其他与多语言无关的文件。
  • 若目标文件未指定,默认选择 intl_zh.arb 作为基准文件。

通过 check_arb,您可以轻松维护多语言文件的一致性,有效提升多语言开发的效率!

完整示例Demo

为了更好地理解如何使用 check_arb 插件,我们来创建一个简单的示例项目。

1. 创建项目

首先,创建一个新的 Flutter 项目:

flutter create arb_example
cd arb_example

2. 添加多语言文件

在项目根目录下创建一个 l10n 文件夹,并在该文件夹中添加三个 ARB 文件:intl_zh.arbintl_en.arbintl_es.arb

intl_zh.arb 文件内容:

{
    "@@locale": "zh",
    "app_title": "我的应用",
    "welcome_message": "欢迎来到我的应用!",
    "settings": "设置"
}

intl_en.arb 文件内容:

{
    "@@locale": "en",
    "app_title": "My App",
    "welcome_message": "Welcome to My App!",
    "settings": "Settings",
    "unused_key": "Unused Key"
}

intl_es.arb 文件内容:

{
    "@@locale": "es",
    "app_title": "Mi Aplicación",
    "settings": "Configuraciones"
}

3. 运行插件

确保你已经全局安装了 check_arb,然后运行以下命令来检查多语言文件的差异:

flutter pub global run check_arb

4. 查看输出结果

你应该会看到类似以下的输出:

以intl_zh.arb 为基准, 开始检查...

文件: intl_en.arb
- 缺少键值对: 
  - "app_title"
  - "welcome_message"
- 多出键值对:
  - "unused_key"

文件: intl_es.arb
- 缺少键值对: 
  - "welcome_message"

更多关于Flutter本地化资源校验插件check_arb的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter本地化资源校验插件check_arb的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


check_arb 是一个用于 Flutter 项目的插件,用于校验本地化资源文件(通常是 .arb 文件)的完整性和一致性。它可以帮助开发者在开发过程中发现和修复本地化资源文件中的问题,确保所有语言的文件都包含相同的键值对,并且格式正确。

安装 check_arb 插件

首先,你需要在 pubspec.yaml 文件中添加 check_arb 插件作为开发依赖项:

dev_dependencies:
  check_arb: ^1.0.0

然后运行 flutter pub get 来安装插件。

使用 check_arb 插件

check_arb 插件提供了一个命令行工具,你可以通过 flutter pub run check_arb 来运行它。

基本用法

假设你的本地化资源文件位于 lib/l10n 目录下,你可以通过以下命令来校验这些文件:

flutter pub run check_arb --dir=lib/l10n

参数说明

  • --dir:指定包含 .arb 文件的目录。默认情况下,它会查找当前目录下的 lib/l10n 目录。
  • --base-locale:指定基准语言文件。默认情况下,它使用 intl_en.arb 作为基准文件。
  • --verbose:启用详细输出,显示更多的调试信息。

示例

假设你的项目中有以下 .arb 文件:

lib/l10n/intl_en.arb
lib/l10n/intl_es.arb
lib/l10n/intl_fr.arb

你可以运行以下命令来校验这些文件:

flutter pub run check_arb --dir=lib/l10n --base-locale=intl_en.arb

check_arb 将会检查 intl_es.arbintl_fr.arb 是否包含与 intl_en.arb 相同的键,并且格式是否正确。

输出示例

如果所有文件都一致,你会看到类似以下的输出:

All ARB files are consistent.

如果发现问题,check_arb 会输出错误信息,指出哪个文件缺少了哪些键,或者哪些键的格式不正确。

集成到 CI/CD 流程

你可以将 check_arb 集成到你的 CI/CD 流程中,确保每次提交代码时都会自动校验本地化资源文件的完整性。例如,在 GitHub Actions 中添加一个步骤来运行 check_arb

jobs:
  check_localization:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Set up Flutter
        uses: subosito/flutter-action@v1
        with:
          channel: 'stable'
      - name: Install dependencies
        run: flutter pub get
      - name: Check ARB files
        run: flutter pub run check_arb --dir=lib/l10n
回到顶部