freeCodeCamp / LearnToCodeRPG

A visual novel video game where you learn to code and get a dev job 🎯
https://www.freecodecamp.org/news/learn-to-code-rpg-1-5-update/
BSD 3-Clause "New" or "Revised" License
1.05k stars 109 forks source link

Localized Versions #41

Open raisedadead opened 2 years ago

raisedadead commented 2 years ago

What feature would you like to suggest?

We would want to deploy localized versions of the app in major world languages. Similar to the setup we have for our core learning platform.

Additional Information

We can track the needs & user stories here in this thread;

RuolinZheng08 commented 2 years ago

Git branch to spike on: https://github.com/freeCodeCamp/LearnToCodeRPG/tree/localization tl folder: https://github.com/freeCodeCamp/LearnToCodeRPG/tree/localization/game/tl

Ex.1

https://github.com/freeCodeCamp/LearnToCodeRPG/blob/351f26074b441d056ab9d6e1381e8be1e9ede8b1/game/tl/traditional_chinese/script.rpy#L61

Before translation

# game/script.rpy:92  <-- lock this line, it's a Python comment
translate traditional_chinese start_after_interview_941d689f: <-- lock this line

    # "[player_name]? What a coincidence! Our VIP team member {a=[vip_profile_url]}[player_name]{/a} will be honored to hear that."  <-- lock this line, it's a Python comment
    "[player_name]? What a coincidence! Our VIP team member {a=[vip_profile_url]}[player_name]{/a} will be honored to hear that."  <--- this is the line that needs to be translated. see translation below

After translation

# game/script.rpy:92
translate traditional_chinese start_after_interview_941d689f:

    # "[player_name]? What a coincidence! Our VIP team member {a=[vip_profile_url]}[player_name]{/a} will be honored to hear that."
    "[player_name]?好巧,我们的VIP队友{a=[vip_profile_url]}[player_name]{/a}会很高兴的。"

The [] and {} tags should be left intact.

Ex.2

https://github.com/freeCodeCamp/LearnToCodeRPG/blob/351f26074b441d056ab9d6e1381e8be1e9ede8b1/game/tl/traditional_chinese/screens.rpy#L15

Before translation

    # game/screens.rpy:261 <-- lock this line, it's a Python comment
    old "{icon=icon-fast-forward} Skip" <-- lock this line, it's the original text
    new "{icon=icon-fast-forward} Skip" <-- translate this line, see below

After translation

    # game/screens.rpy:261
    old "{icon=icon-fast-forward} Skip"
    new "{icon=icon-fast-forward} 跳过"

Again, the [] and {} tags should be left intact.

naomi-lgbt commented 2 years ago
# game/script.rpy:14
translate simplified_chinese start_1b5d8b8d:

    # "Hi there. Thanks for applying to our software engineering role!"
    ""

So looking at the localisation branch, the files are pre-populated with empty strings. Can they be prepopulated with the English text instead? Otherwise this creates issues with Crowdin's translation memory.

raisedadead commented 2 years ago

So looking at the localisation branch, the files are pre-populated with empty strings. Can they be prepopulated with the English text instead?

Yes - we would need that done ahead of time before we push files to Crowdin.

RuolinZheng08 commented 2 years ago

So looking at the localisation branch, the files are pre-populated with empty strings. Can they be prepopulated with the English text instead?

Yes - we would need that done ahead of time before we push files to Crowdin.

@nhcarrigan @raisedadead Hi Nick and Mrugesh, Here's the pre-populated source folder: https://github.com/freeCodeCamp/LearnToCodeRPG/tree/localization/game/tl/english

Let me know if you'd like me to add anything else. Thanks!

RuolinZheng08 commented 2 years ago

@nhcarrigan Hi Nick. Thanks for the hard work and sorry for the repeated ping 😅

I saw some issues with the Crowdin translation: Some strings that should be translated aren't marked as so (important), and some strings that aren't translatable are marked as translatable (not too important).

See script.rpy on Crowdin

Screen Shot 2022-01-14 at 16 01 06
naomi-lgbt commented 2 years ago

Hey @RuolinZheng08,

I'll take a look at this over the weekend and see if I can get the issue resolved. For now, to maintain our goal of translating this before the Chinese new year, I'm thinking we should go ahead and make the crowdin project public to allow people to start translating the other files. What do you think?

RuolinZheng08 commented 2 years ago

Just dropping screenshots of Crowdin so I can refer to those in other PRs

Line to be translated:

player @ surprised "{b}Full-stack{/b}... What is that? I better take notes so I can learn more about it."

Crowdin chopped it into three parts:

Screen Shot 2022-01-23 at 10 36 43
# original
player @ surprised "{b}Full-stack{/b}
# translated, keeping the opening quotes `"`
player @ surprised "{b}全栈{/b}
Screen Shot 2022-01-23 at 10 36 49
# original
What is that?
# translated, no quotes on either side
这是什么?
Screen Shot 2022-01-23 at 10 36 54
# original
I better take notes so I can learn more about it."
# translated, keeping the closing quotes `"`
我最好做笔记,这样我可以学习更多东西。"
Yelinz commented 7 months ago

Hey its been a while since the last activity and was wondering if the translation effort was abandoned?