Skip to main content

伪翻译工具

发布前测试 i18n UI。无需等待真实译文,即可生成用于布局、编码和双向渲染压力测试的伪译文。

问题

您的 UI 在英语下看起来完美无缺。德语加入后,字符串长 40%,所有按钮都被撑破,表格请求头也被截断。阿拉伯语会翻转整个布局,让图标指向错误方向。日语需要不同的行高,精心安排间距的卡片随之崩塌。而您在付费翻译后才发现这一切。

翻译后再修复 i18n 布局缺陷,平均成本是在开发期间发现问题的 5-10 倍。伪翻译可以免费发现这些问题,赶在您为真实译文投入一分钱之前。

解决方案

i18n-pseudo 无需等待真实译员,即可生成用于 UI 压力测试的伪译文。它在保留 ICU 占位符、复数语法和插值变量的同时,应用重音、中日韩字符、文本扩展、RTL 标记等 7 种转换策略。

安装

i18n-pseudo 可作为 npm 包或 Homebrew formula 获取,也可通过 Cargo 从源代码构建。

Terminal
npm install -g @i18n-agent/i18n-pseudo
npm 包包含全局 CLI 二进制文件,无需运行时依赖。

7 种转换策略

每种策略都针对一类特定的 i18n 缺陷。可使用标志单独应用,也可通过预设组合。

StrategyFlagInputOutput
Accents--accentsHelloĤéľľó
CJK--cjkHello你好世界你好
Special Chars--specialHelloHel­lo
Expansion--expansion NSaveSave~~~~
Brackets--bracketsHello[Hello]
RTL--rtlHello‮Hello‬
Unicode Stress--unicode-stressHelloH́ȩl̈l̀õ
重音是检测硬编码字符串最常用的策略。如果 UI 中某字符串没有重音符号,就说明它从未经过翻译函数。

预设

预设会为常见测试场景组合多种策略。使用 --preset 一次应用一组策略。

PresetStrategiesUse Case
defaultaccents + bracketsQuick visual check that all strings are externalized
layoutexpansion (1.4x) + bracketsCatch truncation and overflow before real translations
charsetCJK + special + bracketsTest font rendering and character encoding
rtlRTL markers + bracketsVerify bidirectional layout without switching locale
fullAll strategies combinedMaximum stress test — everything at once

用法示例

对源语言文件运行 i18n-pseudo。它会读取 JSON、YAML、PO 等 i18n 格式,应用所选策略并写入转换后的输出。

Terminal
# Default (accents + brackets)
i18n-pseudo en.json -o output/

# Layout testing (text expansion + brackets)
i18n-pseudo en.json --preset layout -o output/

# Specific strategies
i18n-pseudo en.json --accents --expansion 1.5 -o output/

# Kitchen sink
i18n-pseudo en.json --preset full -o output/

转换前后

以下展示默认预设(重音加方括号)对普通翻译文件的效果。可以看到,ICU 复数语法和插值占位符均得到精确保留。

Before & After
// Input (en.json):
{
  "greeting": "Hello, {name}!",
  "save": "Save",
  "items": "{count, plural, one {# item} other {# items}}"
}

// Output (default preset — accents + brackets):
{
  "greeting": "[Ĥéľľó, {name}!]",
  "save": "[Šáṽé]",
  "items": "[{count, plural, one {# íťéɱ} other {# íťéɱš}}]"
}
{name}、{count} 等占位符和 ICU 复数表达式绝不会被修改。只转换可翻译文本区段,因此应用可使用伪翻译文件正确渲染。

CI 集成

将伪翻译添加到 CI 管线,自动发现 i18n 回归。生成伪翻译文件,再对它们运行视觉回归测试。

CI Pipeline
# Generate pseudo-translations and run visual regression
i18n-pseudo locales/en.json --preset layout -o locales/pseudo/
NEXT_PUBLIC_LOCALE=pseudo npx playwright test --project=visual
将布局预设与 Playwright 或 Chromatic 视觉回归测试结合使用。文本扩展到 1.4 倍时,任何溢出或截断的组件都会导致视觉差异测试失败。

立即试用 i18n Agent

将翻译文件拖放到此处

JSON, YAML, PO, XML, CSV, Markdown, Properties

或点击选择文件

目标语言

无需注册即时估价

常见问题