-
Notifications
You must be signed in to change notification settings - Fork 141
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
Internationalization #64
Comments
The locale `i18n/en-US` is used by `electron/i18n` as the source to translate content into other locales and avoid having to manually create the different JSON files or keep them in sync. Once those files are translated, they will be downloaded and put in the right place for each locale. This will happen in an upcoming PR. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Rel: #64
There are some files in electronjs.org-new that are not part of the markdown that need to be translated as well. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Rel: electron/website#64
The locale `i18n/en-US` is used by `electron/i18n` as the source to translate content into other locales and avoid having to manually create the different JSON files or keep them in sync. Once those files are translated, they will be downloaded and put in the right place for each locale. This will happen in an upcoming PR. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Close #67 Rel: #64
There are some files in electronjs.org-new that are not part of the markdown that need to be translated as well. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Rel: electron/website#64
The locale `i18n/en-US` is used by `electron/i18n` as the source to translate content into other locales and avoid having to manually create the different JSON files or keep them in sync. Once those files are translated, they will be downloaded and put in the right place for each locale. This will happen in an upcoming PR. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Close #67 Rel: #64
Integrate with Crowdin to download the latest translations and generate the site for the supported locales. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Fix #64
Integrate with Crowdin to download the latest translations and generate the site for the supported locales. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Fix #64
Integrate with Crowdin to download the latest translations and generate the site for the supported locales. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Fix #64
Integrate with Crowdin to download the latest translations and generate the site for the supported locales. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Fix #64
I've been looking into fixing the build crashes in #78 and haven't been super successful 😞 I found this issue where using esbuild speeds the build process. I'm trying it locally and seems to speed it up, but I still can't build with all the languages in this PR and it takes forever (15 minutes until I get a JavaScript heap out of memory with 5/8 languages built). My current plan to get this through the finish line is:
|
Integrate with Crowdin to download the latest translations and generate the site for the supported locales. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Fix #64
Integrates with Crowdin to enable i18n of the site. This PR changes the source of truth for Crowdin and moves it to this repository instead of relying on `electron/i18n`. Additionally it uses Crowdin's CLI to do the upload/download of assets making it more reliable. The website is built on locale at a time via `yarn i18n:build`. Otherwise the process crashed with an out of memory error. The regular `yarn build` command still compiles the `en` locale. Because we cannot get notifications when there are new translations avaiable, there is a GitHub workflow (`update-i18n-deploy.yml`) that downloads the content every few minutes, builds, and deploy. To speed up this process, the previous generated assets are download. In local tests this reduces the build times from 250s to 40s so the whole process should take about 5 minutes. The previous generated content is stored in Azure Storage. Because this is a static website it makes more sense than having a dyno and will make it easier to: - deploy multiple locales at the same time if we still need to speed up the process - have versioned docs because we just need to "take a snapshot" and publish to a different folder The current live site is still not using this storage but will soon-ish. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Fix #64
Integrates with Crowdin to enable i18n of the site. This PR changes the source of truth for Crowdin and moves it to this repository instead of relying on `electron/i18n`. Additionally it uses Crowdin's CLI to do the upload/download of assets making it more reliable. The website is built on locale at a time via `yarn i18n:build`. Otherwise the process crashed with an out of memory error. The regular `yarn build` command still compiles the `en` locale. Because we cannot get notifications when there are new translations avaiable, there is a GitHub workflow (`update-i18n-deploy.yml`) that downloads the content every few minutes, builds, and deploy. To speed up this process, the previous generated assets are download. In local tests this reduces the build times from 250s to 40s so the whole process should take about 5 minutes. The previous generated content is stored in Azure Storage. Because this is a static website it makes more sense than having a dyno and will make it easier to: - deploy multiple locales at the same time if we still need to speed up the process - have versioned docs because we just need to "take a snapshot" and publish to a different folder The current live site is still not using this storage but will soon-ish. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Fix #64
Integrates with Crowdin to enable i18n of the site. This PR changes the source of truth for Crowdin and moves it to this repository instead of relying on `electron/i18n`. Additionally it uses Crowdin's CLI to do the upload/download of assets making it more reliable. The website is built on locale at a time via `yarn i18n:build`. Otherwise the process crashed with an out of memory error. The regular `yarn build` command still compiles the `en` locale. Because we cannot get notifications when there are new translations avaiable, there is a GitHub workflow (`update-i18n-deploy.yml`) that downloads the content every few minutes, builds, and deploy. To speed up this process, the previous generated assets are download. In local tests this reduces the build times from 250s to 40s so the whole process should take about 5 minutes. The previous generated content is stored in Azure Storage. Because this is a static website it makes more sense than having a dyno and will make it easier to: - deploy multiple locales at the same time if we still need to speed up the process - have versioned docs because we just need to "take a snapshot" and publish to a different folder The current live site is still not using this storage but will soon-ish. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Fix #64
Integrates with Crowdin to enable i18n of the site. This PR changes the source of truth for Crowdin and moves it to this repository instead of relying on `electron/i18n`. Additionally it uses Crowdin's CLI to do the upload/download of assets making it more reliable. The website is built on locale at a time via `yarn i18n:build`. Otherwise the process crashed with an out of memory error. The regular `yarn build` command still compiles the `en` locale. Because we cannot get notifications when there are new translations avaiable, there is a GitHub workflow (`update-i18n-deploy.yml`) that downloads the content every few minutes, builds, and deploy. To speed up this process, the previous generated assets are download. In local tests this reduces the build times from 250s to 40s so the whole process should take about 5 minutes. The previous generated content is stored in Azure Storage. Because this is a static website it makes more sense than having a dyno and will make it easier to: - deploy multiple locales at the same time if we still need to speed up the process - have versioned docs because we just need to "take a snapshot" and publish to a different folder The current live site is still not using this storage but will soon-ish. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Fix #64
Integrates with Crowdin to enable i18n of the site. This PR changes the source of truth for Crowdin and moves it to this repository instead of relying on `electron/i18n`. Additionally it uses Crowdin's CLI to do the upload/download of assets making it more reliable. The website is built on locale at a time via `yarn i18n:build`. Otherwise the process crashed with an out of memory error. The regular `yarn build` command still compiles the `en` locale. Because we cannot get notifications when there are new translations avaiable, there is a GitHub workflow (`update-i18n-deploy.yml`) that downloads the content every few minutes, builds, and deploy. To speed up this process, the previous generated assets are download. In local tests this reduces the build times from 250s to 40s so the whole process should take about 5 minutes. The previous generated content is stored in Azure Storage. Because this is a static website it makes more sense than having a dyno and will make it easier to: - deploy multiple locales at the same time if we still need to speed up the process - have versioned docs because we just need to "take a snapshot" and publish to a different folder The current live site is still not using this storage but will soon-ish. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Fix #64
Integrates with Crowdin to enable i18n of the site. This PR changes the source of truth for Crowdin and moves it to this repository instead of relying on `electron/i18n`. Additionally it uses Crowdin's CLI to do the upload/download of assets making it more reliable. The website is built on locale at a time via `yarn i18n:build`. Otherwise the process crashed with an out of memory error. The regular `yarn build` command still compiles the `en` locale. Because we cannot get notifications when there are new translations avaiable, there is a GitHub workflow (`update-i18n-deploy.yml`) that downloads the content every few minutes, builds, and deploy. To speed up this process, the previous generated assets are download. In local tests this reduces the build times from 250s to 40s so the whole process should take about 5 minutes. The previous generated content is stored in Azure Storage. Because this is a static website it makes more sense than having a dyno and will make it easier to: - deploy multiple locales at the same time if we still need to speed up the process - have versioned docs because we just need to "take a snapshot" and publish to a different folder The current live site is still not using this storage but will soon-ish. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Fix #64
Integrates with Crowdin to enable i18n of the site. This PR changes the source of truth for Crowdin and moves it to this repository instead of relying on `electron/i18n`. Additionally it uses Crowdin's CLI to do the upload/download of assets making it more reliable. The website is built on locale at a time via `yarn i18n:build`. Otherwise the process crashed with an out of memory error. The regular `yarn build` command still compiles the `en` locale. Because we cannot get notifications when there are new translations avaiable, there is a GitHub workflow (`update-i18n-deploy.yml`) that downloads the content every few minutes, builds, and deploy. To speed up this process, the previous generated assets are download. In local tests this reduces the build times from 250s to 40s so the whole process should take about 5 minutes. The previous generated content is stored in Azure Storage. Because this is a static website it makes more sense than having a dyno and will make it easier to: - deploy multiple locales at the same time if we still need to speed up the process - have versioned docs because we just need to "take a snapshot" and publish to a different folder The current live site is still not using this storage but will soon-ish. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Fix #64
This is an outline of how we could handle the internationalization if the website based on our current experience in the main site and Docusaurus documentation.
Some considerations
i18n/
. In our case it will be 7 languages (Chinese Simplified, French, German, Japanese, Portuguese, Russian, and Spanish)code.json
andnavbar.json
to each locale for translation so the navigation and other strings are translated.localeDropdown
How to?
I think the less disruptive way would be to:
i18n
pull the required files for translations (e.g.:navbar.json
) build: add files from electronjs.org-new i18n#1982/scripts/tasks/how-to-examples.md
upstream. It will get translated but will not show up in the old docs so we should be OK.The reason to use the Crowdin CLI instead of the i18n package is that this package is a massive JSON blob and only contains the HTML. We want the files and in the future we would like to stop maintaining it.
The text was updated successfully, but these errors were encountered: