Localisation icon indicating copy to clipboard operation
Localisation copied to clipboard

[Discuss] Move to different localization system?

Open Wuzzy2 opened this issue 5 years ago • 19 comments

Localizing OpenRCT2 is hard to me.

So apparently I have to look at every open issue to see which strings still need updating in my language. I find this very time-consuming.

Then, the only way to contribute updates is via PRs.

The file format of the *.txt format is quite unwieldy. I have to compare everything by hand. There's apparently no easy-to-use translation tool at all. Only text editors.

Is there really no easier/faster way to translate?

For example, is there a script to see missing translations? I haven't found one.

Many things would greatly improve if OpenRCT2 would move to Gettext. Gettext as a complete and mature toolchain for managing translation which helps both maintainers and translating. It also makes handling outdated translations easy as 1-2-3 instead of the insane “read every open GitHub issue to see what change” method that OpenRCT2 currently uses.

I previously submitted a PR, but I'm not sure if I will do this again. The current workflow is just too painful.

I'm sorry if this was brought up before, but I wasn't able to find an issue for this.

Wuzzy2 avatar Oct 26 '19 12:10 Wuzzy2

It was brought up before, but it isn't really a problem to bring it up again.

Yes, we'd like to improve the translation workflow, but we're thinking more along the lines of creating a web translator. The reason Gettext isn't a good fit is because it's only really suitable for doing the interface translations - it won't work for our objects, which are entirely self-contained in one .json file.

Gymnasiast avatar Oct 26 '19 15:10 Gymnasiast

So apparently I have to look at every open issue to see which strings still need updating in my language. I find this very time-consuming.

One idea that comes to mind is having labels for this, along with the checkboxes. Perhaps there is a way to automate this.

Broxzier avatar Oct 28 '19 10:10 Broxzier

Maybe we can use GitHub actions which we have for this organisation. Actions has full API and hooking for PRs and issues so there might be something we use from that.

IntelOrca avatar Oct 28 '19 14:10 IntelOrca

I can suggest that we use something like weblate, or transfix. its online editor works on any file format I guess.

OmarAglan avatar Nov 11 '19 15:11 OmarAglan

Please do not use Transifex. Transifex is proprietary software (via JavaScript).

Wuzzy2 avatar Nov 11 '19 17:11 Wuzzy2

@Wuzzy2 Its just a suggestion!

OmarAglan avatar Nov 14 '19 13:11 OmarAglan

Any third-party translation service would need to be able to handle both our interface translation and our objects (which are all in separate JSON files). If we can't find any suitable one, then we'd have to make one ourselves.

I don't think it's necessarily a problem if the translation service is proprietary. For me, the most important thing is that it works and that it's free for at least our project. Being open-source is a nice bonus.

Gymnasiast avatar Nov 14 '19 21:11 Gymnasiast

OK, but you won't get any updates from me on Transifex or other proprietary service.

Wuzzy2 avatar Nov 15 '19 00:11 Wuzzy2

So be it. I will pick the best service, open-source or not.

Also, Github is also a proprietary service, yet you seem to have no problem using that.

Gymnasiast avatar Nov 15 '19 10:11 Gymnasiast

Off-topic: Only the JavaScript code of GitHub is a problem (as it's executable code that would run on my machine, and I don't trust it). I can still use GitHub with JS disabled (mostly …), then it behaves just like a normal website. Transifex, on the other hand, is completely broken without JS. That's the reason why I can tolerate GitHub, but not Transifex (I still would like it more if FOSS in general would be more independent, but that's a different story).

Wuzzy2 avatar Nov 15 '19 14:11 Wuzzy2

What About Weblate?

OmarAglan avatar Nov 17 '19 18:11 OmarAglan

Weblate would be great. The question is: How?

Wuzzy2 avatar Nov 17 '19 18:11 Wuzzy2

@Gymnasiast @Wuzzy2 Put An Request Here: https://hosted.weblate.org/hosting/ they will review it and add the project

OmarAglan avatar Nov 27 '19 21:11 OmarAglan

@Omaranwa Our code is not yet ready for a web translator.

Gymnasiast avatar Nov 27 '19 21:11 Gymnasiast

I'd like something easier for translating too, and I don't really care which service you use for it.
One thing I have issues with it's handling git correctly, for me it's complicated because I don't have the knowledge for your workflow.
In any case, I'd like to have an easier tool for translating.
Thanks

frenchiveruti avatar Mar 27 '20 15:03 frenchiveruti

I've seen that cosmoteer had this: https://www.oneskyapp.com/how-it-works/translation-management-platform/
http://translate.cosmoteer.net/collaboration/ They give a free quote and maybe you can ask nicely for a free service as your objective is a free open source project.
Asking is free :)

frenchiveruti avatar Mar 27 '20 15:03 frenchiveruti

It think it could be possible to use Weblate. The process would be like this:

  1. Migrate the current translation files to a format Weblate can work with
  2. Setup and use Weblate as an interface for managing translations
  3. Setup a GitHub Action triggered once a day or so to download changes from Weblate and convert them back to OpenRCT2 format

marcinkunert avatar Oct 15 '20 10:10 marcinkunert

If that comes to be a thing I would be able to help again maintaining the es-ES lang, I can't handle git.

frenchiveruti avatar Oct 15 '20 13:10 frenchiveruti

@marcinkunert Would you be able to help us with point 1?

I hope the new system would also be able to address https://github.com/OpenRCT2/OpenRCT2/issues/11292#issue-599661354 . However, most systems will be a big improvement over our current system anyway.

Gymnasiast avatar Oct 15 '20 21:10 Gymnasiast