From eb77948ca2220506f856ae56acc57e09abc0319b Mon Sep 17 00:00:00 2001 From: Rotem Tamir Date: Thu, 25 Mar 2021 14:01:27 +0200 Subject: [PATCH] enable crowdin translation --- .github/workflows/cd.yml | 3 +++ doc/website/crowdin.yaml | 34 ++++++++++++++++++++++++++++++++ doc/website/docusaurus.config.js | 4 ++++ doc/website/package.json | 7 +++++-- doc/website/src/pages/index.js | 8 +++++--- 5 files changed, 51 insertions(+), 5 deletions(-) create mode 100644 doc/website/crowdin.yaml diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 79b490dc4..d227d41ce 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -18,6 +18,9 @@ jobs: - name: Install Dependencies working-directory: doc/website run: yarn + - name: Sync Translation + working-directory: doc/website + run: yarn crowdin:sync - name: Build Docs working-directory: doc/website run: yarn build diff --git a/doc/website/crowdin.yaml b/doc/website/crowdin.yaml new file mode 100644 index 000000000..3c270176b --- /dev/null +++ b/doc/website/crowdin.yaml @@ -0,0 +1,34 @@ +# +# Your Crowdin credentials +# +"project_id" : "446988" +"api_token_env" : "CROWDIN_TOKEN" +"base_path" : ".." +"base_url" : "https://api.crowdin.com" + +# +# Choose file structure in Crowdin +# e.g. true or false +# +"preserve_hierarchy": true + +# +# Files configuration +# +files: [ + # JSON translation files + { + source: '/website/i18n/en/**/*', + translation: '/website/i18n/%two_letters_code%/**/%original_file_name%', + }, + # Docs Markdown files + { + source: '/md/**/*', + translation: '/website/i18n/%two_letters_code%/docusaurus-plugin-content-docs/current/**/%original_file_name%', + }, + # Blog Markdown files + { + source: '/website/blog/**/*', + translation: '/website/i18n/%two_letters_code%/docusaurus-plugin-content-blog/**/%original_file_name%', + }, +] diff --git a/doc/website/docusaurus.config.js b/doc/website/docusaurus.config.js index 725b280ea..76302f6f9 100644 --- a/doc/website/docusaurus.config.js +++ b/doc/website/docusaurus.config.js @@ -1,5 +1,9 @@ module.exports={ "title": "ent", + "i18n": { + "defaultLocale": 'en', + "locales": ['en', 'zh', 'ja', 'he'], + }, "tagline": "An entity framework for Go", "url": "https://entgo.io", "baseUrl": "/", diff --git a/doc/website/package.json b/doc/website/package.json index 867e3a5d6..2642d6e57 100644 --- a/doc/website/package.json +++ b/doc/website/package.json @@ -4,14 +4,17 @@ "start": "docusaurus start", "build": "docusaurus build", "publish-gh-pages": "docusaurus-publish", - "write-translations": "docusaurus-write-translations", + "write-translations": "docusaurus write-translations", "version": "docusaurus-version", "rename-version": "docusaurus-rename-version", "swizzle": "docusaurus swizzle", "deploy": "docusaurus deploy", - "docusaurus": "docusaurus" + "docusaurus": "docusaurus", + "crowdin": "crowdin", + "crowdin:sync": "docusaurus write-translations && crowdin upload && crowdin download" }, "dependencies": { + "@crowdin/cli": "3", "@docusaurus/core": "2.0.0-alpha.72", "@docusaurus/preset-classic": "2.0.0-alpha.72", "clsx": "^1.1.1", diff --git a/doc/website/src/pages/index.js b/doc/website/src/pages/index.js index 7a20c8d1e..52a820238 100755 --- a/doc/website/src/pages/index.js +++ b/doc/website/src/pages/index.js @@ -12,6 +12,8 @@ const React = require('react'); import LayoutProviders from '@theme/LayoutProviders'; import Footer from '@theme/Footer'; import Navbar from '@theme/Navbar'; +import Link from '@docusaurus/Link'; + const CompLibrary = { Container: props =>
, @@ -137,11 +139,11 @@ class HomeSplash extends React.Component { class HomeNav extends React.Component { render() { return } }