首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iphone -清理Localizable.strings

iphone -清理Localizable.strings
EN

Stack Overflow用户
提问于 2010-12-15 01:28:18
回答 1查看 2.7K关注 0票数 3

我有一个应用程序,经历了一次大手术,很多东西都被修改了。

此应用程序过去和现在都已本地化为多种语言。

我确信localizable.strings文件中的一些字符串不再被使用。他们中至少有20%。有没有办法检查哪些字符串仍在被应用程序使用,这样我就可以从所有语言文件中去掉不必要的字符串?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-16 00:35:22

您可以:

使用以下命令将新localizable.strings转储到临时目录

genstrings -o temporary.directory *.m

然后从localizable.strings文件中删除等号的右侧,以使比较更容易:

cat temporary.directory/Localizable.strings | awk -F"\=" '{print $1}' > Localizable_new.strings

对“旧的”Localizable.strings执行相同的操作(假设您有一个英文版本):

cat en.lproj/Localizable.strings | awk -F"\=" '{print $1}' > Localizable_old.strings

然后使用/Developer/Applications/Utilities/FileMergeLocalizable_old.stringsLocalizable_new.strings.进行比较

根据20%的比例,你可能会“快速”删除过时的行。

我承认这个过程可能很繁琐,有很多改进的空间,例如它不能正确处理评论中的等号,但它可能会有所帮助。

编辑:

我从来没有真正对上面的内容感到满意。为了寻找更容易维护的解决方案,我最终停止使用NSLocalizedString,并重新编写代码以使用NSLocalizedStringWithDefaultValue(<#key#>, <#tbl#>, <#bundle#>, <#val#>, <#comment#>)

现在,我对源代码中的本地化进行了所有更改,然后运行genstring。genstrings将覆盖Localizable.strings,但是'<#val#>‘字段将包含我想要在Localizable.strings中使用的字符串。我不需要为原始语言编辑Localizable.strings。有关更多细节,请访问my Blog

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4442142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档