Заставить genstrings создавать файл Localizable.strings в порядке появления, а не в алфавитном порядке.

Я новичок в интернационализации и локализации для iOS. Я запускаю genstrings: find . -name \*.m | xargs genstrings -o en.lproj для создания файлов Localizable.strings. Он строит файл в алфавитном порядке (по ключу).

Для простоты перевода я бы предпочел, чтобы ключи и значения были упорядочены в порядке их появления в файлах .m. Возможно ли это с генстрингами? Я не смог найти соответствующую информацию на его man странице.


person MattyG    schedule 17.07.2012    source источник


Ответы (2)


Невозможно изменить поведение генстрингов, кроме того, что разрешено в рамках параметров, указанных в руководстве:

https://developer.apple.com/library/mac/#documentation/Darwin/Reference/Manpages/man1/genstrings.1.html

но если вы хотите облегчить перевод, вы можете использовать Linguan

http://www.cocoanetics.com/apps/linguan/

Если вы хотите придерживаться genstrings и у вас возникли проблемы с этим, вы можете попробовать эту страницу, она предлагает хорошее объяснение:

http://spritebandits.wordpress.com/2012/01/25/ios-iphone-app-localization-genstrings-tips/

Но да, возвращаясь к основному вопросу, насколько мне известно, это невозможно.

person Pochi    schedule 23.07.2012
comment
Отлично, спасибо, что подтвердили это и предоставили полезную информацию. - person MattyG; 29.07.2012
comment
Скачал Linguan, и мне кажется, что это очень мощное приложение. Спасибо за информацию! - person axello; 17.10.2013

Вы можете сделать что-то вроде:

find . -name '*.m' -print | xargs -n1 genstrings -a

Я уверен, что есть более элегантные способы. Возможно, просто используйте ls *.m вместо find. Строки хранятся вместе по файлам с переключателем -a, но они по-прежнему сортируются в каждом файле.

person Mel Pullen    schedule 23.07.2012
comment
Спасибо, ваше использование -n1 в сочетании с -a, по крайней мере, помогло мне на полпути, отсортировав каждый файл .m отдельно. - person MattyG; 29.07.2012