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

Localized Versions #41

Open
1 of 4 tasks
raisedadead opened this issue Jan 3, 2022 · 8 comments · Fixed by #48
Open
1 of 4 tasks

Localized Versions #41

raisedadead opened this issue Jan 3, 2022 · 8 comments · Fixed by #48
Assignees

Comments

@raisedadead
Copy link
Member

raisedadead commented Jan 3, 2022

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;

  • Understand how strings are stored in the context of this project and implement the localization, for ex: we use react-i18n-next on the main learning platform.
  • Create and set up a Crowdin Project with the required configurations.
  • Create and set up the GitHub actions workflows to upload and download translations.
  • ...
@RuolinZheng08
Copy link
Contributor

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

  • Maybe we can keep only game/tl on the branch that Crowdin is pushing and pulling from so that the original scripts that end in .rpy (ex. https://github.com/freeCodeCamp/LearnToCodeRPG/blob/localization/game/gui.rpy) don't get ported into Crowdin
  • After we've written the Crowdin script, we can inject some pseudolocalization and I can download and verify the game on my local
  • Spike on possible text tags that need to be left alone and update this comment

Ex.1

"[player_name]? What a coincidence! Our VIP team member {a=[vip_profile_url]}[player_name]{/a} will be honored to hear that."

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

new "{icon=icon-fast-forward} Skip"

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

# 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
Copy link
Member Author

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

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

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

  • The strings that should be translated but aren't marked as so are narrations that don't have a speaker prefix
  • The strings that aren't translatable but are marked as translatable are the # TODO comments at the beginning of each file

See script.rpy on Crowdin

Screen Shot 2022-01-14 at 16 01 06

@naomi-lgbt
Copy link
Member

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

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 `"`
我最好做笔记,这样我可以学习更多东西。"

@raisedadead raisedadead removed their assignment Mar 22, 2022
@Yelinz
Copy link

Yelinz commented Jan 29, 2024

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

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

Successfully merging a pull request may close this issue.

4 participants