Skip to content
文档工作流与集成Linting messages

消息检查

为了确保消息的质量和完整性,你可以使用 @eloqnt/cli 对其进行检查。

此工具专为 next-intl 打造,使用 AST 级别的分析来发现缺少翻译、ICU 参数不一致等常见问题。

开始使用

安装 @eloqnt/cli

npm install @eloqnt/cli --save-dev

添加 .eloqnt/config.ts

.eloqnt/config.ts
import {defineConfig} from '@eloqnt/cli';
 
export default defineConfig({
  srcPath: './src',
  messages: {
    path: './messages',
    locales: 'infer',
    sourceLocale: 'en',
    format: 'json'
  }
});

请参阅 @eloqnt/cli 文档中的配置

运行 lint 命令:

npx eloqnt lint

输出示例:

messages/de.json

│  "XOBPYD": "1.000 Teams sind bereits live"
│            ─┬─────────────────────────────
│             ╰─ Missing ICU argument: {count} (inconsistent-args)

│  "mCBO12": "Sign up today"
│            ─┬─────────────
│             ╰─ Missing translation in de.json (missing-translation)

格式

开箱即用地支持 .json.po catalog,因此该工具既适用于 useTranslations,也适用于 useExtracted

如果你将自定义格式useExtracted 一起使用,也可以为 @eloqnt/cli 进行如下配置:

.eloqnt/config.ts
import {defineConfig} from '@eloqnt/cli';
 
export default defineConfig({
  messages: {
    format: {
      codec: './StructuredJSONCodec.ts',
      extension: '.json'
    }
    // ...
  }
});

请参阅 @eloqnt/cli 文档中的自定义格式

GitHub Actions

eloqnt lint 可以集成到 GitHub Actions 等持续集成系统中,同时还可以选择性地补全缺失的翻译。

请参阅 @eloqnt/cli 文档中的 GitHub Actions