iphone-清理Localizable.strings
我有一个应用程序经历了一次大手术,很多东西都被修改了 此应用程序已本地化为多种语言 我确信localizable.strings文件中的某些字符串不再被使用。至少有20%。有没有办法检查应用程序仍在使用哪些字符串,这样我就可以从所有语言文件中去掉不必要的字符串 谢谢。您可以: 将新的localizable.strings转储到具有iphone-清理Localizable.strings,iphone,xcode,Iphone,Xcode,我有一个应用程序经历了一次大手术,很多东西都被修改了 此应用程序已本地化为多种语言 我确信localizable.strings文件中的某些字符串不再被使用。至少有20%。有没有办法检查应用程序仍在使用哪些字符串,这样我就可以从所有语言文件中去掉不必要的字符串 谢谢。您可以: 将新的localizable.strings转储到具有 genstrings-o temporary.directory*.m 然后从localizable.strings文件中删除等号的右侧,以便于比较: cat tem
genstrings-o temporary.directory*.m
然后从localizable.strings文件中删除等号的右侧,以便于比较:
cat temporary.directory/Localizable.strings | awk-F“\=”{print$1}>Localizable\u new.strings
对“old”Localizable.strings执行相同的操作(假设您有英文版本):
cat en.lproj/Localizable.strings | awk-F“\=”{print$1}>Localizable\u old.strings
然后使用/Developer/Applications/Utilities/FileMerge
比较可本地化的旧.strings和可本地化的新.strings
根据20%的数量,您可以“快速”删除过时的行
我承认这个过程可能很乏味,有很大的改进空间,例如,它不能正确处理评论中的等号,但可能会有所帮助
编辑:
我从来没有真正快乐过。为了寻找更易于维护的解决方案,我最终停止使用NSLocalizedString,并将代码折射为使用NSLocalizedStringWithDefaultValue(,)
现在,我在源代码中对本地化进行了所有更改,然后运行genstring。genstrings将覆盖Localizable.strings,但“”字段将包含我希望在Localizable.strings中包含的字符串。我不需要为原始语言编辑Localizable.strings。更多细节见附件