跳转至主要内容
命令行界面与代码扫描

命令行界面与代码扫描:自动查找所有未翻译的字符串

别再费力地在源文件中查找硬编码字符串了。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 集成

将翻译检查功能集成到现有的开发流程中,以便在字符串进入生产环境之前及时发现缺失的情况。

1

CI 流水线集成

在 CI 工作流中添加扫描步骤,当检测到未翻译字符串或缺失键时使构建失败。

2

预提交钩子

在每次提交之前对暂存文件进行扫描,以便在开发过程中尽早发现未翻译的字符串。

3

目录范围扫描

指定特定目录或文件模式,仅扫描代码库中包含用户可见内容的部分。

4

作用域感知分析

通过词法作用域追踪自动解析翻译命名空间,确保每次对 t() 的调用都能映射到正确的键集。

更强大的 i18n 命令行工具:专为本地化设计的代码扫描工具

Better i18n 的命令行工具将基于 AST 的代码扫描与远程键管理整合于一体。您无需离开终端,即可扫描代码库中的硬编码字符串,将本地用法与远程翻译存储库进行比对,检测导致包体积膨胀的未使用键,并为持续集成管道生成报告。

作用域感知扫描

Tracks 通过词法作用域处理 useTranslations 和 getTranslations 调用,并自动将每个 t() 调用绑定到其对应的命名空间。

服务器组件支持

全面支持 Next.js App Router 的异步服务器组件,因此服务器端代码中的 getTranslations 调用将与客户端使用情况一同被检测和审核。

提交前钩子

使用 --staged 标志仅对暂存文件进行扫描,可在未提交前捕获未翻译的字符串,同时不会拖慢您的工作流程。

确保翻译内容完整无遗

Better i18n 的命令行工具会扫描您的代码,检测所有未翻译的字符串,并能无缝集成到您的持续集成管道中,确保所有内容在未翻译的情况下绝不会进入生产环境。