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

[Feature Request]: Add internationalization architecture #29

Open
1 of 2 tasks
Cubik65536 opened this issue Sep 4, 2023 · 8 comments
Open
1 of 2 tasks

[Feature Request]: Add internationalization architecture #29

Cubik65536 opened this issue Sep 4, 2023 · 8 comments
Assignees
Labels
enhancement New feature or request low-priority

Comments

@Cubik65536
Copy link
Collaborator

Please choose if applies:

  • I'm currently working on adding this feature.

Describe the solution you'd like

Based on the current situation on our users, I think it's important for us to get started on preparing the internationalization works. So when the feature set comes stable, we can get into the work right away.

This works consists:

  1. Create an English(US) internationalization
  2. Change all strings that have to be internationalized according to the i18n standard and add their en_US text in the English(US) internationalization file
  3. Any feature added later follows the i18n standard if it needs to show texts on GUI
  4. Once all the basic features are there (and the list of internationalized strings wouldn't change too much), we start to official translation works.

Describe alternatives you've considered

No response

Anything else?

I suggest to use Crowdin, free plans should work for us, I need your opinion on that though @zly2006 (and also in this plan in general).

I can take this task and organize it if you want and approved the plan.

Please accept these terms

@Cubik65536 Cubik65536 added the enhancement New feature or request label Sep 4, 2023
@Cubik65536 Cubik65536 mentioned this issue Sep 4, 2023
3 tasks
@Cubik65536
Copy link
Collaborator Author

BTW, this is the plan under the situation that I'm not fully aware of what 38db24b got as the progress. We might rearrange the plan according to it.

@wafarm you are the one who did it, can you check that, according to my understanding, the steps 1 and 2 described above are pretty much done?

@wafarm
Copy link
Contributor

wafarm commented Sep 5, 2023

  1. This has been done. See en_us.yml.
    • Carpet settings done
    • Malilib settings almost done (all done after feat: better runCommand #28 merged)
    • Everything else (user feedback message, GitHub login screen, etc) isn't using i18n

@zly2006
Copy link
Owner

zly2006 commented Sep 5, 2023

    • ...
    • Everything else (user feedback message, GitHub login screen, etc) isn't using i18n

Yes, it would be great if we support i18n in messages, and I suppose that is what this issue should focus on.

@Cubik65536
Copy link
Collaborator Author

  1. This has been done. See en_us.yml.
    • Carpet settings done
    • Malilib settings almost done (all done after feat: better runCommand #28 merged)
    • Everything else (user feedback message, GitHub login screen, etc) isn't using i18n

PR #28 is now merged, idk if you want to contribute to complete the step 2?

@wafarm
Copy link
Contributor

wafarm commented Sep 5, 2023

Will work on this. Some questions:

  • Should debugging features, debugTagBlockPos for example, have i18n support?
  • How to deal with message prefix, like [Reden/Undo]?

And a list of files need i18n:

  • Rollback.kt
  • GithubAuthScreen.kt
  • Also adding missing keys for malilib settings

Is there anything missing?

@zly2006
Copy link
Owner

zly2006 commented Sep 5, 2023

debug options is not required to i18n i think, also, many features is still in development, maybe we should not provide i18n for unstable features. currently, undo and redo is basically stable but i am going to add a undo history feature and that is unstable.

@Cubik65536
Copy link
Collaborator Author

Will work on this. Some questions:

  • Should debugging features, debugTagBlockPos for example, have i18n support?
  • How to deal with message prefix, like [Reden/Undo]?

And a list of files need i18n:

  • Rollback.kt
  • GithubAuthScreen.kt
  • Also adding missing keys for malilib settings

Is there anything missing?

debug don’t really need i18n, perhaps translate part of the message prefix @wafarm

@Cubik65536
Copy link
Collaborator Author

debug options is not required to i18n i think, also, many features is still in development, maybe we should not provide i18n for unstable features. currently, undo and redo is basically stable but i am going to add a undo history feature and that is unstable.

The plan is to add every existing feature into i18n file and when adding a new feature, add directly a i18n text, it can be not translated when it’s not stable, but the text should be there in i18n files. Otherwise it will be a pain in the a** migrating every time a new feature is completed, trust me, I’ve done it before. @zly2006

@zly2006 zly2006 mentioned this issue Mar 16, 2024
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request low-priority
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

3 participants