翻译 Localizable.strings,然后检查每一行
iOS 应用通过 NSLocalizedString 或 String(localized:) 从 Localizable.strings 或 String Catalog 读取其文本。丢失 %@ 或 %d 会导致格式调用崩溃。KAERIS 会翻译这两种文件,并将每个说明符保留在代码期望的位置。
KAERIS 翻译了此页面,并通过回译检查了每一行。尚未经过母语人士审阅。 英文原文
%@ 和 %d 在每种语言中都保持不变
每个区域设置一个文件,准备好放入 de.lproj。
"welcome" = "Welcome back, %@!"; "items_left" = "%d items left in stock"; "save" = "Save changes";
"welcome" = "Willkommen zurück, %@!"; "items_left" = "Noch %d Artikel auf Lager"; "save" = "Änderungen speichern";
KAERIS 的处理方式
包含复数的 String Catalogs
上传
Localizable.xcstrings并获得一个合并的目录,其中包含每种语言的字符串,并为每种语言构建复数变体。变量在无 AI 的情况下进行检查
翻译后,简单的计数检查会将每个变量和标记与原始内容进行比较。丢失了任何变量的行将被标记并显示在顶部。
每一行都翻译回来
另一个模型 GPT-4o mini 会将每一行翻译回您的语言,然后 DeepSeek V3.2 在美国主机(DeepInfra、DigitalOcean、Google)上判断含义是否发生变化。您可以阅读每一行现在的含义。
问题
.stringsdict 文件呢?
暂不支持。请单独翻译这些变体,或将它们移入 String Catalog,后者支持复数。
文件放在哪里?
每个 .strings 下载文件都以其语言命名:将其放入 <lang>.lproj。String Catalog 会作为单个文件返回。
免费吗?
是的,无需账户:每个文件 10,000 个字符,每次运行最多 8 种语言。免费的 API 密钥可将文件限制提高到 50,000 个字符。一次性付费 79 美元,使用您自己的 OpenRouter 密钥;月度套餐起价为 19 美元。价格
我可以脚本化吗?
kaeris translate en.lproj/Localizable.strings --langs de,ja,ar 可在 Fastlane 任务或 CI 中运行。文档