翻译 iOS .strings 文件
一个 .strings 文件是 "key" = "value"; 行的列表,其中 value 包含像 %@ 这样的格式说明符。KAERIS 会翻译这些值并检查每个说明符是否仍然存在。
KAERIS 翻译了此页面,并通过回译检查了每一行。尚未经过母语人士审阅。 英文原文
.strings 文件是如何构建的
每行一个 "key" = "value";,注释在 /* … */ 中。值使用反斜杠转义引号和换行符。复数不在此处:Xcode 使用 .stringsdict 或 String Catalog 来处理它们,而 KAERIS 读取 .strings 和 .xcstrings。
/* Greeting on the home screen */ "welcome" = "Welcome back, %@!"; "items_count" = "%1$d of %2$d items synced"; "quote" = "Press \"Done\" to continue.";
.strings 翻译中需要注意的事项
%@ 和位置说明符
%@、%d和%1$d是占位符。在单词顺序会变化的语言中,位置形式可以保持参数正确;更改或丢失的说明符会被标记。转义符
值内的
\"和\n会被正确读取和写回,因此翻译中的引号不会结束字符串。注释保留在源文件中
/* … */注释不会被带入翻译后的文件,后者只有一个单行语言注释。将上下文保留在源文件中以供翻译者参考。长度
德语和芬兰语通常比英语长。当翻译比源文本长很多时,检查会发出警告,这对于按钮很重要。
实际运行:翻译为德语并进行检查
实际运行,2026 年 10 月 27 日,未手动编辑任何内容:kaeris translate Localizable.strings --langs de 使用 kaeris 0.2.35,4 秒,模型 openai/gpt-4.1-mini(服务的回退模型处理了此任务)。下方是它写入的德语文件以及 kaeris check 的报告。
/* de */ "welcome" = "Willkommen zurück, %@!"; "items_count" = "%1$d von %2$d Elementen synchronisiert"; "quote" = "Drücken Sie \"Fertig\", um fortzufahren.";
$ kaeris check --source Localizable.strings --langs de ✓ de: complete & placeholder-safe ✓ all locales complete & placeholder-safe
KAERIS 的处理方式
键和顺序保留
每个键都会与其翻译后的值一起写回。
说明符计数
丢失或更改的
%@或%1$d会在没有模型的情况下被发现。此格式免费检查
在 /check 上的免费检查可以读取此格式,无需密钥或账户即可运行。终端命令
kaeris check也可以读取它:自 kaeris 0.2.35 起,它支持所有 13 种格式,规则相同,且不会将任何内容发送到任何地方。
分三步运行
安装 CLI
运行
pip install kaeris。翻译文件
运行
kaeris translate en.lproj/Localizable.strings --langs de,ja。检查结果
在免费检查页面上上传源文件和翻译。
pip install kaeris kaeris translate en.lproj/Localizable.strings --langs de,ja --verify
问题
它会保留 %@ 和 %1$d 吗?
是的。翻译后会与源文本比较说明符,丢失或更改的说明符会被标记出来。在上面的实际运行中,%@、%1$d 和 %2$d 都被正确返回。
复数呢?
.strings 没有复数语法。Xcode 在 .stringsdict 或 String Catalog 中处理复数;KAERIS 会读取目录并为每种语言展开复数,请参阅 .xcstrings 页面。
免费吗?
是的,无需账户:每个文件 10,000 个字符,每次运行最多 8 种语言。免费的 API 密钥可将文件限制提高到 50,000 个字符。一次性付费 79 美元,使用您自己的 OpenRouter 密钥;月度套餐起价为 19 美元。价格
我可以在终端或 CI 中运行它吗?
是的。pip install kaeris,然后运行 kaeris translate en.lproj/Localizable.strings --langs de,ja。另请参阅 iOS。GitHub Action 在拉取请求中运行相同的翻译。 CLI 文档 · GitHub Action
继续
CLI 参考 · 检查参考 · 在浏览器中翻译 · 免费检查 · 格式转换 · 伪本地化
其他格式:JSON · YAML · .po · ARB · XLIFF · .xcstrings · .properties · .resx · CSV · Markdown · Fluent · Android XML