消息检查
为了确保消息的质量和完整性,你可以使用 @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。