Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Put translation strings in multiple files #23434

Open
Wuzzy2 opened this issue Apr 9, 2018 · 11 comments
Open

Put translation strings in multiple files #23434

Wuzzy2 opened this issue Apr 9, 2018 · 11 comments
Labels
stale Closed for lack of activity, but still valid. <Suggestion / Discussion> Talk it out before implementing Translation I18n

Comments

@Wuzzy2
Copy link
Contributor

Wuzzy2 commented Apr 9, 2018

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:

  • Core non-content: All the core strings of the game which is not part of the game content. This includes the main menu and pretty much all of the GUI, but not stuff like item names. Maybe it makes sense to break this category down in sub-categories:
    • Factions
    • Artifacts
    • Main menu
    • Item menu
  • Core content: Core content such as everything from the Dark Days Ahead content pack might be further broken down into components:
    • Items
    • Bionics
    • Monsters
    • Messages
  • Mods: The other strings from mods which are not core content should be split by mods. One mod = one resource

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.

@Leland Leland added <Suggestion / Discussion> Talk it out before implementing Translation I18n labels Apr 9, 2018
@BrettDong
Copy link
Member

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.

@Wuzzy2
Copy link
Contributor Author

Wuzzy2 commented Apr 20, 2018

Yes, I was exactly thinking of something along the lines of 0. A.D.

@nexusmrsep
Copy link
Contributor

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.

@Wuzzy2
Copy link
Contributor Author

Wuzzy2 commented Jul 2, 2018

Obviously this must be done in a non-destructive manner, otherwise we lose months of work.
Duh!

@Faalagorn
Copy link
Contributor

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.

@Wuzzy2
Copy link
Contributor Author

Wuzzy2 commented Apr 2, 2020

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.

@ChristopherBittner
Copy link

ChristopherBittner commented Apr 2, 2020

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.

@CountAlex
Copy link
Contributor

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.

@comradekingu
Copy link

I think moving to Weblate and then tagging up the strings with different labels would help, short of dividing up files.

Anything you do on Transifex removes translator credits, which makes that mess of a platform even harder to handle.

Translated a 16k line document by hand once, 24k is just on another planet. ;)

@Faalagorn
Copy link
Contributor

It would, as suggested, also help to split mods at least. These would easy up translating the base game content as a priority for new languages, or the mods in some order.

@github-actions
Copy link
Contributor

github-actions bot commented Dec 5, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Please do not bump or comment on this issue unless you are actively working on it. Stale issues, and stale issues that are closed are still considered.

@github-actions github-actions bot added the stale Closed for lack of activity, but still valid. label Dec 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
stale Closed for lack of activity, but still valid. <Suggestion / Discussion> Talk it out before implementing Translation I18n
Projects
None yet
Development

No branches or pull requests

8 participants