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

[Discuss] Move to different localization system? #1763

Open
Wuzzy2 opened this issue Oct 26, 2019 · 19 comments
Open

[Discuss] Move to different localization system? #1763

Wuzzy2 opened this issue Oct 26, 2019 · 19 comments

Comments

@Wuzzy2
Copy link
Contributor

Wuzzy2 commented Oct 26, 2019

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.

@Gymnasiast
Copy link
Member

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.

@Broxzier
Copy link
Member

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.

@IntelOrca
Copy link
Contributor

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.

@OmarAglan
Copy link
Contributor

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

@Wuzzy2
Copy link
Contributor Author

Wuzzy2 commented Nov 11, 2019

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

@OmarAglan
Copy link
Contributor

@Wuzzy2 Its just a suggestion!

@Gymnasiast
Copy link
Member

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.

@Wuzzy2
Copy link
Contributor Author

Wuzzy2 commented Nov 15, 2019

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

@Gymnasiast
Copy link
Member

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.

@Wuzzy2
Copy link
Contributor Author

Wuzzy2 commented Nov 15, 2019

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).

@OmarAglan
Copy link
Contributor

What About Weblate?

@Wuzzy2
Copy link
Contributor Author

Wuzzy2 commented Nov 17, 2019

Weblate would be great. The question is: How?

@OmarAglan
Copy link
Contributor

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

@Gymnasiast
Copy link
Member

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

@frenchiveruti
Copy link
Contributor

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
Copy link
Contributor

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 :)

@marcinkunert
Copy link
Contributor

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

@frenchiveruti
Copy link
Contributor

frenchiveruti commented Oct 15, 2020

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

@Gymnasiast
Copy link
Member

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

I hope the new system would also be able to address OpenRCT2/OpenRCT2#11292 (comment) . However, most systems will be a big improvement over our current system anyway.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants