(08-10-2014, 05:23 AM)CrystalH Wrote: Also resolution. Why is it translated at all ? You don't eg. have 1024 x 600 or other weird ones. http://en.wikipedia.org/wiki/Display_resolution
It's pointless to add all of them to translations. IMO just in code, read the height and width numbers and format to strings, that's all.
We could use boost::format with numbered placeholders in case some RTL languages need to reverse the order: %1$d x %2$d
(08-10-2014, 05:23 AM)CrystalH Wrote: And same goes for 'Options / Controls / Button / Edit' like strings, I'm ok for translating Options, Controls etc. But not for translating every combination of them too. So IMO, just replace all single strings with translations in code and combine with /.
If I e.g. wanted to change 'Controls' translation I now have to update it in 12 strings.
Given all that, I think about 80 or more translations would be not needed.
We could do something like %1$s / %2$s / %3$s so people can reverse it and also shorten it if they run out of screen space. Translations of 1-word strings can easily be 3x as long as the original string, so for the deeper menus, some languages might run into space problems.
(08-10-2014, 05:23 AM)CrystalH Wrote: Lastly, I'm not familiar with it but why is the .mo file needed. Isn't .po sufficient ? I know it's bigger but seems like an unnecessary step to always convert it.
.mo is more efficient like .po, so the program will run faster. .mo files only contain the strings that have actually been translatd, and it's a binary format that enables gettext to load the file a lot faster.
(08-10-2014, 07:27 AM)CrystalH Wrote: Btw. I'm just curious (also for SR tranlsations). What's needed when the original english string has a spelling error or otherwise needs to be updated. If it was already translated, does it invalidate them (i.e. after change of original string, all languages have to be translated again) ?
Sort of. Any change in the source string will mean that it's a new string. If the change is small, gettext will mark the strings as "fuzzy", so translators can go in and check and do small changes themselves if needed. However, Transifex doesn't handle fuzzy strings.
I recommend that you use an offline-tool like Virtaal or Poedit in addition to Transifex - these have translaion memories to go with them and will give you suggestions. So, if they have remembered your old translation, You can load the new file and just click on your previous translation to reinstate it.
I usually use a mix of translation in Transifex' web interface and downloading the file, translating in an offline tool and uploading the file again. If you pick "Download for translation", Transifex will lock the file, so nobody else will work on it. When you upload your changes, the lock is removed. If you pick "Download for use", no lock is set.