如何在Xcode中关闭iOS App特定本地化语言且保留翻译文件?
临时关闭指定本地化语言的两种方法
不需要删除项目里的本地化文件,也不会丢失已有翻译内容,以下两种方案可以满足你的需求:
方法一:全局禁用目标语言(推荐)
通过修改Info.plist限制App对外暴露的支持语言,让系统在目标语言环境下自动 fallback 到英文:
- 右键点击项目中的
Info.plist,选择「Open As -> Source Code」 - 找到
CFBundleLocalizations数组节点,把要禁用的语言代码(比如德语的de)从数组中移除<key>CFBundleLocalizations</key> <array> <string>en</string> <string>zh-Hans</string> <!-- 移除<string>de</string> --> ...其他语言 </array> - 保存文件后,德语环境下启动App就会默认显示英文。后续要恢复德语支持,只需把
de重新添加回这个数组即可。
方法二:仅禁用特定文件的目标语言本地化
如果只是部分文件的德语翻译有问题,不想全局禁用德语,可以单独对这些文件操作:
- 选中需要临时禁用德语本地化的文件(比如某个xib或.strings文件)
- 在右侧的「File Inspector」面板中,找到「Localizations」区域,取消勾选德语的复选框(注意不要点击「Remove」按钮)
- 这样该文件的德语本地化内容会被排除在编译包外,App在德语环境下会使用该文件的Base本地化(英文)内容。后续恢复时重新勾选德语即可。
注意事项
- 确保项目的「Base Localization」设置为英文,这样系统 fallback 时才会优先加载英文内容
- 修改后记得在德语环境的设备/模拟器上重启App测试效果
- 绝对不要从「Project > Localizations」列表中删除语言,这会直接删除对应本地化文件的内容,无法恢复
内容的提问来源于stack exchange,提问作者Ethan Allen
相关产品推荐
相关产品推荐

