在 Xcode 中,如果在Project → Info → Localizations 中删除本地化语言,重新打开 Xcode 项目时,会自动恢复。
Xcode 的 “Localizations” 列表并不是一个单纯的 UI 配置项,它由两部分共同决定:
1、项目名.xcodeproj → project.pbxproj 里的 knownRegions。
knownRegions = (
en,
Base,
ar,
...
)
2、实际存在的 .lproj 目录。
Xcode 在下一次索引或构建时,会自动把这些语言重新加回 Localizations。
移除本地化
如果要删除某种语言的本地化,需要删除对应的 .lproj 目录。
在 Xcode 项目中,找到 InfoPlist.strings 文件,在右侧找到“Localization”,取消对应语言的本地化,系统会删除 .lproj 目录中的 InfoPlist.strings 文件。

注意:必须勾选“Delete localized resource files from disk”。
再到Project → Info → Localizations 中删除本地化语言,这样就可以移除本地化。

最后,清理构建缓存。
rm -rf ~/Library/Developer/Xcode/DerivedData/*
如果不清理构建缓存,Xcode 项目中不会显示移除的本地化语言,但是安装 App 到模拟器后,在模拟器 → 设置 → App → 首选语言中,仍然会看到移除的本地化语言。
