Как поддерживать строки раскадровки в актуальном состоянии?

У меня есть раскадровка, базовый язык и переведено все приложение на другой язык, пока все работает нормально.

Я хотел бы знать, когда я добавляю новые элементы в раскадровку, которые необходимо локализовать, как вы поддерживаете файл строк в актуальном состоянии.

Я попробовал предложение, которое состоит в том, чтобы переключить это: Stringsна раскадровку Cocoa Interface Builder, а затем обратно на Localizable Strings, однако результаты не очень хорошие, большая часть перевода теряется и переключается обратно на базовый язык.

Есть ли удобный инструмент для регенерации и объединения строк в раскадровке? Я пробовал несколько сценариев, но они всегда заканчивались тем, что все стирали.


person John Smith    schedule 11.09.2013    source источник


Ответы (1)


Я изменил скрипт, который нашел здесь в stackoverflow, чтобы он также мог обрабатывать локализованные строки в раскадровках.

Скрипт только добавляет новые пары ключ-значение в файл .strings, но сохраняет те, которые вы уже перевели.

Вы можете получить его на моем github, подробнее о моем рабочем процессе локализации читайте моя запись в блоге

person MeXx    schedule 11.09.2013
comment
Спасибо, но я предполагаю, что моя структура папок немного отличается. Я использую рабочую область, затем в папке MyApp у меня есть папки Base.lproj, de.lproj и так далее, каждая из которых содержит Main_iPhone.strings и Localizable.strings. Когда я запускаю скрипт (--interface), он создает два строковых файла в корневой папке. - person John Smith; 12.09.2013
comment
Вы можете указать выходной путь с опцией -o, я запускаю update_localization.py один раз для каждой локализации tools/update_localization.py -i Zurvive/ -o Zurvive/en.lproj/ --ignore 3rdParty --interface< /i> tools/update_localization.py -i Zurvive/ -o Zurvive/de.lproj/ --ignore 3rdParty --interface - person MeXx; 13.09.2013