コンテンツにスキップ

コンテンツの翻訳

翻訳を始める

BeeWareの翻訳活動に貢献したい場合は、Weblateのアカウントが必要です。まだお持ちでない場合は新規アカウントを作成し、翻訳のお手伝いに関心があることをお知らせください。

翻訳のお手伝いを希望される場合は、以下の2つの方法でお知らせください:

  • Discordをご利用の方は、BeeWareサーバーに参加し、#translationsチャンネルへお進みください。
  • Discordを利用していない場合は、BeeWareリポジトリで新しいイシューを作成できます。

いずれの場合も、以下の情報を含むメッセージを残してください:

  • あなたのWeblateユーザー名
  • 翻訳対象の言語

この情報を入手次第、チームに追加いたします。

新しい翻訳を追加する

お手伝い予定の言語がまだ存在しない場合、開始前に以下の追加手順が必要です:

  • /docs/mkdocs.language-code.yml ファイルを作成し、言語固有の内容を記述してください。
  • tox.iniを更新して、新しい言語ビルドコマンドを含めるようにしてください。
  • /docs/config.yml を更新して、extra: alternate: 内の言語を含めるようにしてください。

以下の例は、ドイツ語を例として必要な変更点を示しています。ドイツ語訳は既に存在します。対象言語に合わせて、ドイツ語への参照、de、その他の内容を置き換えてください。

新しいMkDocs設定ファイル

まず、mkdocs.de.yml ディレクトリ内に docs という名前の新しいファイルを作成し、以下の内容を入力します:

INHERIT: config.yml
site_name: BeeWare Dokumentation
site_url: https://beeware.org/de
docs_dir: de

theme:
  language: de

extra:
  translation_type: machine

このファイルでは以下の処理が行われています:

  • このファイルはconfig.ymlから設定内容を継承します。
  • site_name の値は変換されます。
  • site_urlの値はプロジェクトサイトのURLであり、その後に言語コードが続きます。
  • docs_dirは言語コードであるべきです。
  • theme: language: の値は言語コードである必要があります(MkDocs Material テーマで指定されているとおり)。ほとんどの言語では、これは (https://squidfunk.github.io/mkdocs-material/setup/changing-the-language/) の言語コードと同じですが、一部(特に docs_dir のようなロケールバリエーションを持つ言語)では差異があります。
  • extra: translation_type: は、翻訳率が初めて 100% に達するまでは machine のままであるべきであり、その時点で human となるべきである。翻訳率が 90% 未満に後退した場合、machine から human に戻す。

更新 tox.ini

tox.iniファイルにいくつかの変更を加える必要があります。

以下の内容を追加します:

  • 新しい言語コード環境フラグは、[testenv:docsで始まるヘッダー行に追加され、言語コードの前に-が置かれ、スペースを含まない。例:-de
  • 最初のコマンドに対する新しい言語コード除外は、!lintで始まり、その前に-!が置かれ、スペースを含まない形式です。例:-!de
  • 新しい言語コードを、translate : build_po_translationsで始まる行の末尾に追加してください。
  • translate : update_machine_translationsで始まる行の末尾に追加する新しい言語コード
  • 既存の言語固有コマンドの後に、例えばドイツ語の場合はde : build_md_translationsで始まる新しいコマンドを追加し、それらのコマンドの内容を新しい言語コードと一致させる。
  • 新しい言語コードを、all,serve :で始まる行の末尾に追加してください。

更新 config.yml

言語をconfig.ymlに追加すると、ヘッダーの言語セレクターに表示されます。extra:で始まるセクションを見つけ、次にalternate:で始まるサブセクションを探します。ドイツ語の場合は、以下を追加します:

    - name: Deutsch
      link: /de/
      lang: de

言語名は対象言語に翻訳する必要があります。リンクには/を含める必要があります。

新しい言語の翻訳を開始する準備が整いました。

翻訳ガイドライン

チームに追加されたら、Weblate にログインし、文字列の翻訳作業を開始してください。

ニュアンス重視の翻訳と逐語訳

英語原文のトーンを維持することが、逐語訳を目指すことよりも重要です。当コンテンツでは親しみやすくやや口語的な表現を心がけています。翻訳においてもその精神を保つよう努めてください。

英語の原文に強い英語の慣用句が含まれている場合、自国語で同等の効果を持つ類似表現があれば、その慣用句を無理に維持する必要はありません。英語の原文にある用語やフレーズが特に慣用的な表現やスラングである場合、変更を検討すべきだと遠慮なく伝えてください。英語話者にとっても、慣用句やスラングは理解が難しい場合があります。 翻訳者と読者双方にとって理解しやすくするため、英語原文を変更する必要が生じる場合もあります。

翻訳すべきでしょうか?

以下の項目は翻訳または更新しないでください:

  • コマンド。例えば、「You should run `briefcase create`。」では、「You should run」のみを翻訳してください。
  • 名前空間(クラス名、メソッド名、属性名など)。
  • Link URLs. Standard Markdown links should appear in Weblate as [Link text]{1}, where 1 is the position of the link in the string with reference to other possible links. If the full URL is included in the string, as [Link text](https://example.com), the URL should be skipped for translation.
  • クラス名、メソッド名、属性名を含む参照リンク。これらはバッククォートを含め、そのまま残す必要があります。ここに示された例リンクのどの部分も翻訳されません。

    [`Class.attribute`][Class.attribute]
    
  • 参照リンクのリンク内容。例えば、以下ではlink-contentがスキップされます:

    [Link text][link-content]
    
  • Jinjaディレクティブ。これは、2組の対応する中括弧で囲まれた内容、または両端にパーセント記号が付いた対応する単一の中括弧で囲まれた内容です。注:ここに構文の例を含めると、Macrosプラグインがそれをレンダリングしようとします。例についてはMacrosドキュメントを参照してください。

  • カスタムアンカー。ヘッダーの後ろや一部のコンテンツの上部に配置され、{ #anchor }でフォーマットされます。
  • 警告の構文。以下の例において、「警告」という単語は翻訳しないでください。これは注記や警告など、あらゆる形式の警告に適用されます。その他のコンテンツの翻訳方法については、次のセクションを参照してください。

    /// admonition | Page Title
    
    Content.
    
    ///
    
  • バッククォート。これらはバッククォートとして残す必要があります。インラインコードとコードブロックの両方の書式設定に使用されます。

  • 外部コンテンツを含める構文。これは、-8<-と同じ行にあるもの、または別々の行にある2つの-8<-の間の行にあるもののいずれかです。

以下の項目は翻訳されるべきです:

  • リンクテキスト。リンク構文では、テキストはURLの前に配置され、[Link text](URL)で囲まれます。標準的なMarkdownリンクはWeblate上で[Link text]{1}として表示されるべきであり、1は文字列内のリンクの位置(他のリンクとの相対位置)を示します。
  • 参照リンクテキスト。例えば、Link text は以下のように翻訳されます:

    [Link text][link-content]
    
  • 警告のタイトルと内容。前の警告の例では、「ページタイトル」と「内容」を翻訳する必要があります。

Weblate

コンテンツ翻訳にはWeblateを利用しています。新規翻訳を追加する際は、機械翻訳ツールDeepLを用いて一次翻訳を生成します。つまり、通常翻訳対象となるコンテンツは既に機械翻訳済みです。翻訳者である皆様には、既存の機械翻訳をレビュー・編集・改善していただくことが求められます。

Weblateは文字列単位で処理を行います。変更をバッチ処理し、数時間ごとにその間隔で変更された全文字列をまとめてコミットします。そのため、変更がウェブサイトに反映されるまで数時間かかる場合がありますが、更新は4時間以内に表示される見込みです。

その後も変更が反映されない場合、原因はマークアップエラーである可能性が高く、その言語のドキュメントビルドが失敗しています。どの文字列のマークアップ問題でも、翻訳全体が公開されるのを妨げます。該当言語のビルドページを監視し、ビルドが正常に完了したかどうかを確認できます。 該当リンクは以下のような形式です:https://app.readthedocs.org/projects/beewareorg/;このリンクを、ご自身の言語コードに置き換えてください。これにより該当言語のビルドページが表示され、サイトの最新ビルド状態を確認できます。ビルドが失敗した場合は、ビルドログを確認し問題の原因を特定してください。 言語コードを自分の言語に置き換えると、該当するビルドページが表示されます。ここにはサイトの最新ビルド状況が示されます。ビルドが失敗した場合は、ビルドログを確認し、問題の原因を特定できるか検討してください。