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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Internationalization and localization #13

Closed
2 of 5 tasks
Ubugeeei opened this issue Nov 19, 2023 · 24 comments
Closed
2 of 5 tasks

Internationalization and localization #13

Ubugeeei opened this issue Nov 19, 2023 · 24 comments
Assignees
Labels
documentation Improvements or additions to documentation

Comments

@Ubugeeei
Copy link
Collaborator

Ubugeeei commented Nov 19, 2023

Roadmap

@NozomuIkuta
Copy link
Collaborator

NozomuIkuta commented Nov 19, 2023

@Ubugeeei

Thank you for creating this issue.

Introducing i18n into the current site is not so difficult.
Actually, VitePress default theme supports it natively, and I could set it up within 30 minutes.

All we have to do is to define docs/<locale> directory (e.g. docs/ja) and put same files as ones at root directory (e.g. docs/index.md corresponds to docs/ja/index.md).

The biggest issue of supporting i18n is how we manage translation, which is likely to be behind the original version.
As far as I know, Vue Router's practice is one of successful cases.

Without operation policy, supporting multi language will lead to management difficulty and user confusion.

If we could manage translated-versions in other repositories (although we need another domain for that), vuejs-translations/ryu-cho would help us to track differences between translated version and the original one.

If we can come up with a systematic way of tracking changes on the original version in one repository, we can immediately start i18n support, or we could consider the details later and just complete #4.

Do you have any thoughts?

@Ubugeeei
Copy link
Collaborator Author

Hmm, this is a difficult issue.
I don't have any ideas at the moment, but for now,
let's look for and refer to some projects that are being operated within the same domain (the same repository) 馃槙

@Ubugeeei
Copy link
Collaborator Author

@Ubugeeei
Copy link
Collaborator Author

@NozomuIkuta

I personally have a preference for operating within the same repository.
Similar to how vue router created the docs-sync-zh, I think creating branches for each locale in the same repository could be a good idea.
I'll leave the naming of the branches up to you. 馃槈

@Ubugeeei
Copy link
Collaborator Author

@NozomuIkuta
I have documented the roadmap.
There are challenges regarding operations, but let's tackle them gradually.

@Ubugeeei Ubugeeei added the documentation Improvements or additions to documentation label Nov 26, 2023
@Boshen
Copy link
Member

Boshen commented Nov 27, 2023

Decide on the handling of the javascript-parser-in-rust repository in consultation with @Boshen .

Shall we copy all content into the "learn" section once i18n support is landed?

@NozomuIkuta
Copy link
Collaborator

Decide on the handling of the javascript-parser-in-rust repository in consultation with @Boshen .

Shall we copy all content into the "learn" section once i18n support is landed?

I wonder where to insert the contents in "Learn" section 馃
Current sidebar is like below:

  • Architecture
    • Introduction
    • Parser
    • Linter
    • Resolver
    • Transformer
    • Formatter
    • Minifier
  • ECMAScript
    • Spec
    • Grammer
  • Performance
  • Ecosystem
  • References

Shall we add top-level category like "JavaScript Parser in Rust" or add contents to ECMAScript category?

@NozomuIkuta NozomuIkuta mentioned this issue Nov 28, 2023
2 tasks
@NozomuIkuta
Copy link
Collaborator

VitePress author (thank you @brc-dd) shares it with me Crowdin as an option for translation management.

You can try it out in use case of pnpm.

They support free plan for OSS projects (link), so if the service matches our needs, @Boshen can apply for it.

@Boshen
Copy link
Member

Boshen commented Dec 1, 2023

VitePress author (thank you @brc-dd) shares it with me Crowdin as an option for translation management.

You can try it out in use case of pnpm.

They support free plan for OSS projects (link), so if the service matches our needs, @Boshen can apply for it.

I've applied it with the following message

oxc (The JavaScript Oxdiation Compiler) is a collection of JavaScript tools written in Rust.
Oxc is building a parser, linter, formatter, transpiler, minifier, resolver ... all written in Rust.
The website will eventually contain information around how to use, contribute and learn everything around the oxc project.
The website is currently using Vitepress and we are exploring translation management tracked at #13

Let's hope they accept the application 馃

@Boshen
Copy link
Member

Boshen commented Dec 1, 2023

https://crowdin.com/project/oxc is now up, please let me know if you can't join the project.

The next thing is to set it up like pnpm ... maybe I'll let you guys to play around with it?

@Ubugeeei
Copy link
Collaborator Author

Ubugeeei commented Dec 1, 2023

!?

@Boshen
Copy link
Member

Boshen commented Dec 1, 2023

Oh I see a github integration, hold on let me give it a try.

@Boshen
Copy link
Member

Boshen commented Dec 1, 2023

Everything seems to be ready, there is now a github branch https://github.com/oxc-project/oxc-project.github.io/commits/l10n_main 馃 and a auto crated PR #44

The translations are mapped to https://github.com/oxc-project/oxc-project.github.io/tree/l10n_main/translations

We also need to fix the file mapping

image

@Boshen
Copy link
Member

Boshen commented Dec 3, 2023

It seems like Crowndin is working now, let's play around with it by moving contents of javascript-parser-in-rust repository over.

@NozomuIkuta
Copy link
Collaborator

@Boshen

I'm translating Japanese document and want to test Crowdin config like path matching.
Would you give me and @Ubugeeei a role with which we can synchronize Japanese contents (I gues Manager role?)?
This is also about testing fix for #50 (comment) 馃檹

@Boshen
Copy link
Member

Boshen commented Dec 4, 2023

@Boshen

I'm translating Japanese document and want to test Crowdin config like path matching. Would you give me and @Ubugeeei a role with which we can synchronize Japanese contents (I gues Manager role?)? This is also about testing fix for #50 (comment) 馃檹

image

This is unfortunate. What's required in order to make things work? I'll configure it.

@Boshen
Copy link
Member

Boshen commented Dec 4, 2023

@NozomuIkuta @Ubugeeei I also received this email:

As a result of a recent source files update, you鈥檝e exceeded the hosted words limit for your Crowdin account (username: Boshen). Please upgrade your plan to keep making more 褋ontent multilingual. Otherwise, your account will be suspended within 10 days.

On the account it says:

You have 0 private projects with a total of 60,898 hosted words.

馃槄 What's hosted words lol, can we mitigate this?

@brc-dd
Copy link

brc-dd commented Dec 4, 2023

Shouldn't the limit for open-source projects be more? 60K words is for free accounts. You can probably ask their support. Or are you logging in from some different email? 馃憖

@Boshen
Copy link
Member

Boshen commented Dec 4, 2023

Shouldn't the limit for open-source projects be more? 60K words is for free accounts. You can probably ask their support. Or are you logging in from some different email? 馃憖

Thank you for the pointers, I emailed them and they approved for the open-source plan.

@NozomuIkuta
Copy link
Collaborator

@Boshen

I'm glad to hear that they approved your request 馃憤

By the way, now is it possible to manage roles in the project, or do we have to upgrade plan?

@Boshen
Copy link
Member

Boshen commented Dec 4, 2023

@Boshen

I'm glad to hear that they approved your request 馃憤

By the way, now is it possible to manage roles in the project, or do we have to upgrade plan?

It still shows the same error message. Just let me know if there are things need to be configured.

@NozomuIkuta
Copy link
Collaborator

Hmm, it says that "Crowdin is completely free of charge for open-source projects". 馃

You might want to contact them again for support.

@Boshen
Copy link
Member

Boshen commented Dec 5, 2023

Hmm, it says that "Crowdin is completely free of charge for open-source projects". 馃

You might want to contact them again for support.

I guess it's free but the open source tier only allows for 1 manager. We can have as many translators as we want though.

@Boshen
Copy link
Member

Boshen commented May 22, 2024

Thank you all for the effort for setting this up. I'm going to close as not planned for now due to maintenance burden, and avoiding burn out.

@Boshen Boshen closed this as completed May 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

4 participants