翻訳への貢献

Playgroundのドキュメントを任意の言語に翻訳する手助けができます。このページでは、Playgroundのドキュメントの翻訳に貢献する方法についての包括的なガイドを提供します。

翻訳にどのように貢献できますか?

他のドキュメントページに貢献するのと同じワークフローを使用します。WordPress/wordpress-playgroundをフォークして、変更を含むPRを作成するか、GitHub UIを使用してページを直接編集できます。

SVG Imageinfo

どのように貢献できますか?を確認して、Playground Docsへの貢献方法について詳しく学んでください。

翻訳の実装詳細

SVG Imageinfo

Docusaurus Docsの国際化セクションを確認して、Docusaurusウェブサイト(Playground Docsの背後にあるエンジン)における翻訳管理について学んでください。

Docsサイトで利用可能な言語はdocusaurus.config.jsで定義されています。例えば:

  1. i18n: {
  2. defaultLocale: 'en',
  3. path: 'i18n',
  4. locales: ['en', 'fr'],
  5. localeConfigs: {
  6. en: {
  7. label: 'English',
  8. path: 'en',
  9. },
  10. fr: {
  11. label: 'French',
  12. path: 'fr',
  13. },
  14. },
  15. }

翻訳されたドキュメントページは、WordPress/wordpress-playgroundリポジトリにあります。

  1. 各言語フォルダーの下には`````docusaurus-plugin-content-docs/current`````フォルダーがあるべきです。例えば、`````es`````(スペイン語)の場合、`````packages/docs/site/i18n/es/docusaurus-plugin-content-docs/current`````フォルダーがあります。
  2. `````docusaurus-plugin-content-docs/current`````の下には、元のドキュメントのファイルの同じ構造(`````packages/docs/site/docs`````の下のファイルと同じ構造)が再現されるべきです。
  3. 例えば、`````es`````(スペイン語)の場合、次の翻訳されたファイルが存在します:`````packages/docs/site/i18n/es/docusaurus-plugin-content-docs/current/main/intro.md

言語のフォルダーにファイルがない場合、デフォルト言語の元のファイルが読み込まれます。

新しい言語が追加されると(PR #1807を参照)、npm run write-translations -- --locale <%LANGUAGE%>packages/docs/siteから実行して、特定の言語に翻訳できるメッセージを含むJSONファイルを生成できます。

適切なi18n docusaurus.config.js構成とi18nの下のファイルがあれば、プロジェクトのルートからnpm run build:docsを実行すると、各言語のdistの下に特定のフォルダーが作成されます。

言語をローカルでテストする方法

既存の言語をローカルでテストするには、次のようにします:

  • 利用可能な言語のいずれかの下のファイルを修正(翻訳)します:packages/docs/site/i18n/{%LANGUAGE%}/docusaurus-plugin-content-docs/current
  • /packages/docs/siteから、テストしたい言語のバージョンを実行します。例えば、esをテストするには:
  1. npm run dev -- --locale es

言語スイッチャー - 言語を変更するためのUI要素

「言語スイッチャー」は、docusuarus(Playground Docsの背後にあるドキュメントエンジン)によって提供されるUI要素で、ユーザーが特定のページの言語を変更できるようにします。

翻訳されたバージョンにより多くの可視性を与えるために、言語スイッチャーはdocusaurus.config.jsに次の行を追加することで表示できます。

  1. {
  2. type: 'localeDropdown',
  3. position: 'right',
  4. },

これにより、各ファイルの言語バージョンに直接アクセスするためのドロップダウンがヘッダーに生成されます。

特定の言語は、翻訳されたページが十分にある場合にのみ、このドロップダウンで有効にすることを強く推奨します。翻訳されたページが少ない状態で有効にすると、ユーザーが言語を変更しても、その言語に翻訳されたページがないという体験を得ることになります。

言語スイッチャーで言語を公開可能にする

言語のi18n設定が完了し、i18nの下に正しいファイル構造がある場合、すべての言語が利用可能です。

これらのドキュメントの言語バージョンは、その言語の翻訳されたページが十分にあるまで、言語スイッチャーで非表示にするべきです。より正確には、特定の言語のドキュメントセクションが完全に翻訳されている場合にのみ、言語スイッチャーでその言語を公開可能にすることを推奨します。以下のセクションを含みます:

言語スイッチャーが特定の言語を表示していなくても、翻訳されたページの追加作業は進行できます。翻訳されたページは、翻訳ファイルを含むPRがマージされると公開可能になります。

fr言語が、ドキュメントハブページ(クイックスタートガイド、Playgroundウェブインスタンス、Playgroundについて、ガイドなど)が完全にフランス語に翻訳された最初の言語であると仮定すると、docusaurus.config.jsはそのブランチで次のように見えるべきです。そうすれば、npm run build:docsfrサブサイトを正しく生成し、localeDropdown言語スイッチャーにフランス語のみを表示します。

  1. {
  2. "i18n": {
  3. "defaultLocale": "en",
  4. "path": "i18n",
  5. "locales": [
  6. "en",
  7. "fr"
  8. ],
  9. "localeConfigs": {
  10. "en": {
  11. "label": "English",
  12. "path": "en"
  13. },
  14. "fr": {
  15. "label": "French",
  16. "path": "fr"
  17. }
  18. }
  19. }
  20. },
  21. {
  22. "type": "localeDropdown",
  23. "position": "right"
  24. }

言語スイッチャーをローカルでテストする

  1. 任意のフォークから`````localeDropdown`````をテストし、プロジェクトのルートから次のように実行できます:
  2. ``````bash
  3. npm run build:docs
  4. npm run deploy:docs
  5. `

これにより、私のフォークしたリポジトリのGitHub Pagesに3つのバージョンのドキュメントが生成されます:

  1. https://<%GH-USER-WITH-FORK%>.github.io/wordpress-playground/
  2. https://<%GH-USER-WITH-FORK%>.github.io/wordpress-playground/es/
  3. https://<%GH-USER-WITH-FORK%>.github.io/wordpress-playground/fr/

したがって、localeDropdown機能をテストするための可能なアプローチは、フォークしたリポジトリのGitHub Pagesにデプロイすることです。

言語で1ページを翻訳するプロセス

推奨されるプロセスは、元のパス(packages/docs/site/docs)から.mdファイルをコピーして、希望する言語パス(packages/docs/site/i18n/{%LANGUAGE%}/docusaurus-plugin-content-docs/current)に貼り付けることです。packages/docs/site/docsでファイルの構造を再現することが重要です。

packages/docs/site/i18n/{%LANGUAGE%}/docusaurus-plugin-content-docs/currentの下のファイルは翻訳され、変更を含むPRが作成されるべきです。

PRがマージされると、そのページの翻訳版はhttps://wordpress.github.io/wordpress-playground/{%LANGUAGE%}の下に表示されるはずです。