CLI 会将内容从一个源 locale翻译到一个或多个目标 locale,两者都在 .lingo/config.json 中设置:
{
"sourceLocale": "en",
"targetLocales": ["de", "fr", "es", "ja"]
}源文件只读,不会被写回。每个目标 locale 都会生成各自的输出,并将 locale 代码替换到文件模式中(content/en/app.json → content/de/app.json)。详见 配置。
Locale 代码#
请使用标准的 BCP 47 标签。无论是单独的语言代码(de),还是语言-地区标签(de-CH),CLI 都支持。CLI 不维护固定列表——targetLocales 可以接受任意标签,并将其原样传递给你的 engine。哪些 locale 实际可译、翻译效果如何,取决于引擎模型的支持范围,而不是 CLI 的限制。
常见示例:
| 语言 | 代码 |
|---|---|
| 英语 | en(或 en-US、en-GB) |
| 西班牙语 | es(或 es-ES、es-419、es-MX) |
| 法语 | fr(或 fr-FR、fr-CA) |
| 德语 | de(或 de-CH、de-AT) |
| 葡萄牙语 | pt-BR、pt-PT |
| 中文 | zh-Hans、zh-Hant |
| 日语 | ja |
| 韩语 | ko |
地区变体#
如果方言差异很重要,就请指定地区——引擎会输出符合对应 locale 的拼写和用词:
{
"sourceLocale": "en-US",
"targetLocales": ["en-GB", "es-ES", "es-419", "pt-BR", "pt-PT", "fr-CA"]
}en-US → en-GB 会把 “color” 变成 “colour”;es-ES → es-419 则会把 “ordenador” 换成 “computadora”。这些差异能否体现到位,取决于 engine 的品牌语气和指令,而不是 CLI。
从右到左的语言#
RTL locale(阿拉伯语 ar、希伯来语 he、波斯语 fa、乌尔都语 ur)与其他语言一样可正常翻译。应用中的文本方向由你的渲染器负责;CLI 只负责产出翻译后的字符串。
添加或移除 locale#
你只需要编辑 targetLocales。要补齐新添加的 locale,请运行 lingo push --backfill-missing——详见 添加 locale。要移除某个 locale,把它从配置中删掉,再用 lingo purge --locale 删除对应文件即可。
