如何把 iPhone 应用本地化成日文
把 iPhone 应用本地化成日文,要把所有用户看得到的文字放进 Xcode 的 String Catalog,添加日文这个语言,逐条翻译并审校,然后在 App Store Connect 里单独本地化 App Store 页面:名称和副标题(各 30 个字符)、关键词、描述、推广文本和截图。提交之前,把应用语言设成日文测试一遍构建,因为在英文里看起来已经完成的布局,换成日文会变。
我自己的 iPhone 应用都以英文、西班牙文和日文发布。能找出问题的总是日文。日本也是一个用户很快就能看出翻译是事后补上的市场,所以值得一次做好。
从 String Catalog 开始
在当前版本的 Xcode 里,应用文字的默认存放位置是 String Catalog,一个带可视化编辑器的 Localizable.xcstrings 文件。Apple 的用 String Catalog 本地化文本指南描述了流程:添加目录,构建应用,Xcode 会找出可本地化的字符串并替你加进去。之后每次构建,都会把你改过的字符串同步到目录里。
SwiftUI 视图里的文字大多默认可本地化。在普通 Swift 代码里拼出来的字符串,需要用 String(localized:) 这样的本地化 API,否则永远进不了目录。找到它们的快办法是把应用切换成一个测试语言,看看还有什么停留在英文。
用目录编辑器里的加号按钮,或者在项目 Info 标签的 Localizations 下添加日文。每条新字符串都会显示为 New 状态,语言旁边的百分比告诉你进度。
先翻译,再请母语者审校
Apple 的指南现在把生成翻译和注释列为 Xcode 可以替你完成的任务,语言模型也能在几秒内把大多数界面文字译成流畅的日文。我只把它当作初稿。
日文界面文案有一些选择,自动翻译往往前后不一。整个应用用礼貌的です・ます体,还是用简体?保存按钮写“保存”还是“保存する”?用片假名外来语还是日文词?一次定下来,把这些选择写进目录的注释栏,再请母语者在实际界面里而不是在表格里逐屏阅读。单独看没错的一句话,放在周围的界面旁边可能就不对了。
复数比你想的简单。根据 Unicode CLDR 复数规则,日文只有一种形式,所以给字符串设置 Vary by Plural 后,日文那一栏只需要一个译文,而英文需要两个。
不是文字的细节
日期、数字和金额要交给系统的格式化工具,绝不要用字符串拼接。日本的日期顺序是年、月、日,日元没有小数。如果你在代码里按“月/日”拼日期,任何翻译都救不回来。
名字是另一个坑。“名”在“姓”上面的注册表单,在先写姓的日本看起来是反的,很多日本表单还会要求填写名字的假名读音。如果你的应用要保存名字,先把这件事定下来,再去翻译标签。
别忘了不在视图里写的文字:Info.plist 里的权限提示、服务器发出的通知、API 的错误信息,还有邮件。在用户眼里,这些都是应用的一部分。
本地化 App Store 页面
App Store 页面是在 App Store Connect 里的另一项工作,对很多人来说,这是他们看到的你的第一段日文。Apple 的参考文档列出了限制:名称和副标题各最多 30 个字符;在版本信息里,描述最多 4,000 个字符,推广文本最多 170 个字符。
关键词是个例外。Apple 给这一栏的上限是 100 个字节,而不是字符,并要求每个关键词长于两个字符。日文关键词直接在 App Store Connect 里填写并看着它的计数器,不要在按字符计数的地方起草。
推广文本不用提交新版本就能修改,所以是测试日文措辞最方便的地方。对大多数访客来说,截图比描述更重要,所以要让应用真正以日文运行后重新截图。日文标题下面放英文截图,等于告诉别人里面是什么样子。
审核之前用日文测试
在 Xcode 里编辑 scheme,把 App Language 设为日文,或者在模拟器里用日文参数启动应用。命令行的做法我写在我如何让 Claude Code 在模拟器里测试我的 iPhone 应用里。还要在最大字号下检查每个界面,因为日文标签换行的方式不同,也会比你预想的更早被截断。
看三样东西:残留的英文、被省略号截断的文字、变成两行的按钮。然后把构建装到真机上,用日文用一整天。我要修的东西大多在那一天出现。
如果你一个人开发,这是 AI 帮助真正改变成本结构的地方之一。几年前,做日文版意味着一笔翻译预算。现在贵的是审校和测试,这是更值得花钱的地方。其余流程见一个人借助 AI 发布 iOS 应用;至于为什么在日本靠英文兜底走不远,可以看关于日本英语分数的文章。