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

Translation support #10475

Open
13 of 16 tasks
pchote opened this issue Jan 10, 2016 · 24 comments
Open
13 of 16 tasks

Translation support #10475

pchote opened this issue Jan 10, 2016 · 24 comments

Comments

@pchote
Copy link
Member

pchote commented Jan 10, 2016

Prerequisites for initial translations:

Later improvements:

@pchote
Copy link
Member Author

pchote commented Jun 26, 2016

#11375 and followups check off support for detecting/downloading/installing foreign content bundles.

@Mailaender
Copy link
Member

Mailaender commented Sep 4, 2016

I believe the whole approach taken may be a dead end. Instead of building our own incompatible translation system we should try to hook up something standardized like https://github.com/neris/NGettext where tooling already exists.

@Mailaender
Copy link
Member

Mailaender commented Sep 25, 2016

I played a bit with https://crowdin.com/project/openra and yml is supported although we don't adhere to the Ruby translation system. We will need tooling that converts our @PLACEHOLDERS@ to English, generate English to Language files for the web interface and converter Language to @PLACEHOLDERS@ back.

@abcdefg30
Copy link
Member

Is adding translation support to the auto generated documentation also considered as part of this ticket?

@pchote
Copy link
Member Author

pchote commented Sep 29, 2016

It is not, and I would argue against adding that (but not in this ticket).

@forcecore
Copy link
Contributor

There's font problem too, the default fonts don't support CJK characters. There should be some way of providing additional fonts for the translations.

@Sav87
Copy link

Sav87 commented May 4, 2018

Why not do a translation like this: there is a file "ra|chrome/ingame-player.yaml" and need a translation for "XXX".
So try to load it from ".\mods\ra\languages\XXX\chrome\ingame-player.yaml", if there is no file try to load ".\mods\ra\chrome\ingame-player.yaml" then the load error is mod.

another option:
try load "mods\ra\languages\XXX\mod.yaml" instead of "mods\ra\mod.yaml". And in it to register instead of "ra|chrome/ingame-player.yaml" already "ra|languages/XXX/chrome/ingame-player.yaml".
Also, in the file "mod.yaml" mark the files for translation with a comment.

@pchote
Copy link
Member Author

pchote commented May 4, 2018

Translation for the yaml files has been solved for a long time. The issue is with all of the strings hardcoded in the game code. That has also been solved in principle, we just don't have anybody willing to do the work.

@reaperrr
Copy link
Contributor

reaperrr commented May 4, 2018

In principle I'd be willing to, but I'll need some help getting my head around the "how to".
That's something for "later this year" at best, though.

@reaperrr reaperrr added this to the Future milestone May 4, 2018
@forcecore
Copy link
Contributor

True, I took a look in the past but I have no idea how.

@Sav87
Copy link

Sav87 commented May 10, 2018

I'm trying to translate the code-defined strings. Translated by LogoStripeLoadScreen.cs, IngameMenuLogic.cs, SettingsLogic.cs and ChromeLayout. Sav87@8792fef
Continue the translation?

@pchote
Copy link
Member Author

pchote commented May 10, 2018

That is pretty much the right idea, but there is an important point that you will need to consider and change. When you have a line like line.GetText = () => FieldLoader.Translate("STRING-ID") this is actually a function that is called every time the game renders. You really don't want to be retranslating these strings 60 times per second!

Instead use a pattern like this:

var translatedStringID = FieldLoader.Translate("STRING-ID");
line.GetText = () => translatedStringID;

We will also need to support for map-defined translations, so your changes to LoadTranslations will need to be reworked.

@Sav87
Copy link

Sav87 commented May 10, 2018

I understand the translation of MissionBriefing? and where should it be recorded? if the file 'languages/*.yaml' then this should not be a problem. If in these files there is a necessary line that without a difference for what it to use: a maps, code, chromeLayout...

@AngryUbuntuNerd
Copy link

any progress on this, or guidance / ideas how we can help?

@BackMountainDevil
Copy link

https://github.com/cookgreen/Yuris-Revenge has a Chinese translation.

Another translation about RA2 mod. Download page. Hope it can be set in games in the future

@Blueberryy
Copy link

How's translation system going? I want to help with Russian if it works :p

@penev92
Copy link
Member

penev92 commented Aug 21, 2023

Hi! We are still not ready, but hopefully we could be in in time for next release.

@Blueberryy
Copy link

Hi! We are still not ready, but hopefully we could be in in time for next release.

Oh this is nice to read. And this all really took 8 years to implement? woah

@PunkPun
Copy link
Member

PunkPun commented Aug 21, 2023

it only properly started about 2 years ago

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

No branches or pull requests