如何从Xcode的Localizable.xcstrings目录中移除过期字符串?
移除Xcode中Localizable.xcstrings的过期本地化条目
当你从代码中移除本地化字符串后,Localizable.xcstrings里的过期条目不会自动消失,右键仅能看到「标记为无需翻译」选项,以下是几种可行的清理方法:
方法一:手动编辑源码文件
直接编辑xcstrings的源码删除过期条目:
- 右键项目中的
Localizable.xcstrings文件,选择「Open As」→「Source Code」 - 在源码里找到所有包含
"state" : "obsolete"的条目,删除对应的整个字典块(注意保持JSON格式正确,不要破坏语法结构) - 保存文件后重新打开Xcode,过期条目即会消失
方法二:重新生成本地化文件
通过删除再添加目标语言的方式,让Xcode重新生成干净的本地化文件(操作前请备份现有翻译内容):
- 在Project导航栏选中项目根文件,切换到「Info」标签页
- 找到「Localizations」区域,选中需要清理的语言,点击下方的「-」删除该语言
- 点击「+」重新添加该语言,Xcode会重新扫描项目代码,生成不包含过期条目的Localizable.xcstrings
- 将之前备份的翻译内容重新导入到新生成的文件中
方法三:使用命令行导出清理
通过xcodebuild命令导出无过期条目的本地化文件:
- 打开终端,进入项目根目录
- 执行以下命令(替换
YourProjectName.xcodeproj为你的项目文件名,zh-Hans为目标语言):xcodebuild -exportLocalizations -localizationPath ./clean_localizations -project YourProjectName.xcodeproj -exportLanguage zh-Hans - 导出完成后,在
clean_localizations目录下找到对应语言的Localizable.xcstrings,替换项目中原有的文件即可
内容的提问来源于stack exchange,提问作者Nerdy Bunz
相关产品推荐
相关产品推荐

