Vous pouvez:
Dump un nouveau Localizable.strings dans un répertoire temporaire avec
genstrings -o temporary.directory *.m
Puis déposez le côté droit du signe égal du fichier Localizable.strings pour faire la comparaison plus facile:
cat temporary.directory/Localizable.strings | awk -F"\=" '{print $1}' > Localizable_new.strings
Faites la même chose pour le « vieux "Localizable.strings (en supposant que vous avez une version anglaise):
cat en.lproj/Localizable.strings | awk -F"\=" '{print $1}' > Localizable_old.strings
Utilisez ensuite /Developer/Applications/Utilities/FileMerge
pour comparer Localizable_old.strings avec Localizable_new.strings.
En fonction de la quantité de 20%, vous risquez de supprimer "rapidement" les lignes obsolètes. Je reconnais que cette procédure peut être fastidieuse et a beaucoup de place pour l'amélioration et, par exemple, elle ne peut pas traiter correctement les signes égaux dans les commentaires, mais peut-être que cela aide.
EDIT:
Je n'ai jamais été vraiment satisfait ci-dessus. À la recherche d'une solution plus facile à maintenir J'ai finalement arrêté d'utiliser NSLocalizedString et réfracté le code à utiliser NSLocalizedStringWithDefaultValue(<#key#>, <#tbl#>, <#bundle#>, <#val#>, <#comment#>)
Maintenant, je fais toutes les modifications à la localisation dans le code source, puis exécutez les chaînes. Genstrings écrasera les Localizable.strings, mais le champ '< # val #>' contiendra la chaîne que je veux dans Localizable.strings. Je n'ai pas besoin d'éditer Localizable.strings pour la langue d'origine. Plus de détails sont dans my Blog
Merci. Je pense que cela aidera beaucoup !!!! – SpaceDog