Найти оригинальную строку (базу) для перевода в файл .strings? - PullRequest
0 голосов
/ 03 февраля 2020

Я хотел бы извлечь исходную строку для данного перевода в файле .strings из .nib в базовой локализации.

В принципе, я бы хотел как-то пересобрать "Original Phrase" = "Translated Phrase" пары для всех переводов, представленных в .strings файлах.

Для скомпилированных приложений Xcode создает скомпилированные .nib файлы и .strings файлы из исходных ресурсов .xib; к сожалению, даже комментарии / подсказки для переводчиков в исходных .strings файлах заархивированы ...

Я пробовал разные способы извлечения исходной строки из скомпилированного .nib - но то, что, похоже, сработало в прошлом больше не работает с современными (по крайней мере 10,13) файлами, по крайней мере для файлов, которые я тестировал:

NSKeyedUnarchiver не удалось разархивировать данные с любым из объектов уровня root которые, по-видимому, работали в прошлом (в соответствии с такими проектами, как GnuStep, Cocoatron, Cappuccino ..) - всегда возвращает nil.

Чтение .nib в виде необработанного правильного списка через NSDictionary верный выход что-то ... хотя без реинжиниринга внутренней работы формата архиватора с ключами я не могу понять смысл данных.

В 'nib-dump' (через * 1028) *) Я вижу, что в .nib хранятся NSTitle объекты, которые очень похожи на то, что мне нужно, однако до сих пор мне не повезло, что они были получены программно.

Так что любые подсказки по как для достижения этой цели высоко ценятся!

...