Skip to content
This repository was archived by the owner on Feb 12, 2025. It is now read-only.
This repository was archived by the owner on Feb 12, 2025. It is now read-only.

Localized Versions #41

Open
Open

Description

@raisedadead

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

Activity

  1. RuolinZheng08 commented on Jan 7, 2022

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

  2. naomi-lgbt commented on Jan 7, 2022

    @naomi-lgbt
    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.

  3. raisedadead commented on Jan 8, 2022

    @raisedadead
    MemberAuthor

    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.

  4. RuolinZheng08 commented on Jan 9, 2022

    @RuolinZheng08
    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!

  5. RuolinZheng08 commented on Jan 15, 2022

    @RuolinZheng08
    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

  6. naomi-lgbt commented on Jan 15, 2022

    @naomi-lgbt
    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?

  7. RuolinZheng08 commented on Jan 23, 2022

    @RuolinZheng08
    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 `"`
    我最好做笔记,这样我可以学习更多东西。"
  8. removed their assignment
    on Mar 22, 2022
  9. Yelinz commented on Jan 29, 2024

    @Yelinz

    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

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions