命令行界面与代码扫描:自动查找所有未翻译的字符串
别再费力地在源文件中查找硬编码字符串了。Better i18n 的命令行工具采用基于 AST 的解析技术,能够扫描您的整个代码库,检测 JSX 组件和属性中未翻译的文本,报告缺失和未使用的键,并能无缝集成到您的持续集成管道中。
AST 驱动的代码扫描
与基于正则表达式、产生大量误报的扫描器不同,Better i18n 将代码解析为抽象语法树(AST),实现精准的上下文感知字符串检测。
硬编码字符串检测
自动查找所有未被翻译函数包裹的面向用户的字符串,包括 JSX 子元素和组件属性中的字符串。
基于AST的语法分析
将您的源代码解析为抽象语法树,从而实现精确且具有上下文意识的检测,彻底消除基于正则表达式的扫描器产生的误报。
JSX 文本节点扫描
检测 JSX 元素内的未翻译文本内容,包括在组件中直接渲染的表达式和模板字面量。
JSX 属性扫描
查找 JSX 属性(如 placeholder、aria-label 和 title)中硬编码的字符串,这些内容在手动国际化审核过程中往往会被遗漏。
智能筛选
忽略不可翻译的值(如 CSS 类名、导入路径和数字字面量),因此您只会看到可操作的结果。
翻译审计的 CLI 命令
check 命令提供交互式、开发者友好的审计体验。它将源代码中使用的翻译键与 Better i18n 远程存储的键进行比对,显示需要翻译的缺失键以及可清理的未使用键。
模板字面量等动态键模式会被自动检测。当代码中使用 t(`key.${variable}`) 时,CLI 会识别动态片段并将其纳入模式匹配报告,确保不遗漏任何内容。
- 只需一条检查命令即可执行完整的翻译审核
- 显示代码中存在但远程存储中缺失的翻译键
- 识别远程存储中代码已不再引用的未使用键
- 检测模板字面量等动态键模式,并标记以供审查
- 生成本地代码使用情况与远程翻译状态的对比报告
灵活的输出格式
扫描结果支持多种格式,以适应您的工作流程。ESLint 风格的输出提供易于阅读的报告,其中包含文件、行和列的引用信息。JSON 输出则提供机器可读的数据,适用于 CI/CD 自动化和自定义工具。
详细模式提供深度透明度,包含详细审计日志、范围摘要和计时信息。扫描统计显示文件数量、发现指标和性能数据,让您随时了解翻译覆盖情况。
ESLint 风格的输出
包含文件路径、行号和列号的人眼可读报告,便于在任何编辑器中快速定位。
JSON 输出
机器可读的结构化数据,非常适合用于持续集成/持续交付(CI/CD)自动化、自定义仪表盘以及与其他工具的集成。
详细模式
详细审计日志,包含范围摘要、计时信息及命名空间解析跟踪,便于调试。
扫描统计
记录文件数量、关键发现指标和性能数据,让您随时掌握翻译覆盖范围的运行状况。
DevOps 与 CI/CD 集成
将翻译检查功能集成到现有的开发流程中,以便在字符串进入生产环境之前及时发现缺失的情况。
CI 流水线集成
在 CI 工作流中添加扫描步骤,当检测到未翻译字符串或缺失键时使构建失败。
预提交钩子
在每次提交之前对暂存文件进行扫描,以便在开发过程中尽早发现未翻译的字符串。
目录范围扫描
指定特定目录或文件模式,仅扫描代码库中包含用户可见内容的部分。
作用域感知分析
通过词法作用域追踪自动解析翻译命名空间,确保每次对 t() 的调用都能映射到正确的键集。
更强大的 i18n 命令行工具:专为本地化设计的代码扫描工具
Better i18n 的命令行工具将基于 AST 的代码扫描与远程键管理整合于一体。您无需离开终端,即可扫描代码库中的硬编码字符串,将本地用法与远程翻译存储库进行比对,检测导致包体积膨胀的未使用键,并为持续集成管道生成报告。
作用域感知扫描
Tracks 通过词法作用域处理 useTranslations 和 getTranslations 调用,并自动将每个 t() 调用绑定到其对应的命名空间。
服务器组件支持
全面支持 Next.js App Router 的异步服务器组件,因此服务器端代码中的 getTranslations 调用将与客户端使用情况一同被检测和审核。
提交前钩子
使用 --staged 标志仅对暂存文件进行扫描,可在未提交前捕获未翻译的字符串,同时不会拖慢您的工作流程。