I'm new to internationalization and localization for iOS. I'm running genstrings:
find . -name \*.m | xargs genstrings -o en.lproj
to generate my Localizable.strings files. It builds the file in alphabetical order (by key).
For ease of translation I'd prefer that the keys and values be ordered by their order of appearance in the .m files. Is this possible with genstrings? I couldn't find the relevant info on its man
page.
Let us move on to create a string file called 'Localizable' that will hold the text we want to localize. Choose File → New → File …, select Strings File under Resources, and click Next. Name it Localizable, then click on Create.
Localizable. strings stores application strings as key-value pairs for each language. Let's create this file for the base language first. Select File → New → File… or just tap Ctrl+N or Cmd+N .
You could do something like:
find . -name '*.m' -print | xargs -n1 genstrings -a
I'm sure there are more elegant ways. Perhaps just use ls *.m
instead of the find. The strings are kept together by file with -a
switch but they are still sorted within each file.
It is not possible to change the behavior of genstrings other than what it is allowed within the parameters specified in the manual:
https://developer.apple.com/library/mac/#documentation/Darwin/Reference/Manpages/man1/genstrings.1.html
but if you want to ease the translation you can use Linguan
http://www.cocoanetics.com/apps/linguan/
If you want to stick to genstrings and are having some trouble with it you can try this page, it offers a good explanation:
http://spritebandits.wordpress.com/2012/01/25/ios-iphone-app-localization-genstrings-tips/
But yeah returning to the main question, it is not possible in my knowledge.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With