Как найти нетранслированные строки. NSLocalizedString()

Я использую NSLocalizedString() для всех материалов локализации. Проект очень большой. Мы поддерживаем многие языки. Есть ли способ, который я могу легко извлечь строки, которые не находятся в Localizable.strings, но были обернуты NSLocalizedString.

Пример. Скажем, у меня есть где-то в моем коде:

NSString *message = NSLocalizedString(@"Sample message");

Но разработчик забыл поместить эту строку в файлы Localizable.strings, поэтому она не будет переведена. Есть ли способ извлечь нетранслированные строки из исходного кода?

Кроме того, я не хочу использовать инструмент genstrings. У меня уже есть очень большие файлы NSLocalizable.strings. Инструмент genstrings генерирует новый со всеми строками, завернутыми в NSLocalizedString, удаляя все прежние переводы, чего я не хочу. Я просто хочу извлечь нетранслированные строки и НЕ ВСЕ строки, помеченные NSLocalizedString().

Спасибо, Рафал

Ответы

Ответ 1

Посмотрите genstrings инструмент, который делает именно это.

EDIT: Попробуйте слить файл генерации Generatet string с вашим существующим с помощью инструмента FileMerge в XCode (XCode > Open Developer Tool).