Currently, almost all strings of the game are stored in one giant PO. It has over 24,000 strings. This is a big problem as it is not always easy to figure out the context, and the string list in general is pretty chaotic and impossible to navigate. Scrolling over a list of 24,000 strings is not fun, especially not in Transifex.
It would make life a lot easier for translators if the massive amount of strings is at least moved into different PO files. The idea is that breaking down the list of strings in smaller, context-based lists makes it more managable.
I propose the strings be moved in categories like this:
This would also make it possible to priotirize resources on Transifex. The core mods and the core GUI are obviously top priority while other non-core mods should get a lower priority. The benefit of this is that translators can more quickly come to an useful result.
More ideas welcome! :-)
If someone is willing to do this, please do so in a non-destructive way. No existing translation must get broken because of this. The transition must be done smoothly. If you can't do this, don't do it at all. Maybe even temporarily lock down Transifex during the transition to make sure no translator work is destroyed.
The open source game _0.A.D_ is a good example of doing this. Their developers split strings into different categories and put them in separate PO files, such as 'In-Game UI', 'Tutorials', 'Buildings', 'Maps', 'Units'. Someone who is willing to do this could have a look at how they do it technically.
Yes, I was exactly thinking of something along the lines of 0. A.D.
Would it cause the need to translate everything again in Transifex? Even using its own repository of already translated strings it would be no joke to re-link over 24.000 of them, and could revert all teams translation effort to tile one.
Obviously this must be done in a non-destructive manner, otherwise we lose months of work.
Duh!
You can search Transifex for occurrence in each json file. I think it applies to C++ files as well.
For example, to search all strings from construction.json you can search for occurrence:lang/json/construction_from_json.py in Transifex. Compared to actual game files, you just have to replace data with lang add _from_json.py instead of .json for it.
Is there any progress on this issue?
The translation resource just continue to grow and grow and grow. It's barely managable anymore.
What's my biggest problem right now that strings from all mods and the base game are combined into a giant master file.
I think splitting off the file on a per-mod basis would be a huge improvement already. I suspect the base game will still be huge but at least you can focus on it now.
It would help translators to priotize their time. It's not good that after you managed to reach 90%, you might still have lots of missing strings in the base game because everything is mixed together …
It is strategically much smarter to first focus on the base game only. I don't know how many strings the mod contribute to the grand total, but I think it's a lot. And since C:DDA has a huge amount of strings, it makes a lot of sense to think about time management.
I second what Wuzzy2 wrote. 0.E went as a huge hit on us, especially when we have a small group of translators.
Having priorities would help with this heavily.
I add my voice to this concern. Transifex is painful to use most of the time, and I've spent more time trying to update translation with file upload than I was actually translating.
Separating into categories would at least help to solve this partially and raise quality thanks to better context.
Would like also to mention #39164 - although for me it's about generally unpesponsive and clunky online UI.
And yeah, after a lot of attempts to figure out I still don't know who oversees translation to RU language I work on. Would be nice to have my rights elevated to make reviews on translated entries at least.
Most helpful comment
The open source game _0.A.D_ is a good example of doing this. Their developers split strings into different categories and put them in separate PO files, such as 'In-Game UI', 'Tutorials', 'Buildings', 'Maps', 'Units'. Someone who is willing to do this could have a look at how they do it technically.