| 概要 | Discourse インターフェース内で完了した翻訳を簡単に共有することで、テーマおよびテーマコンポーネントの翻訳を支援します | |
| プレビュー | 現在、テーマクリエーターでのテーマ共有は不可能です | |
| リポジトリ | GitHub - moin-Jana/share-theme-translations | |
| インストールガイド | テーマまたはテーマコンポーネントのインストール方法 | |
| Discourse テーマは初めてですか? | Discourse テーマの利用に関する初心者向けガイド |
このテーマコンポーネントをインストール
Discourse では、テーマやテーマコンポーネントの翻訳が簡単に行えます。しかし、これらの翻訳は往々にしてローカルサイト内に留まってしまいます。
このコンポーネントを使用すると、翻訳をコミュニティや作者と共有し、リポジトリへのプルリクエストとして提出したり、Meta のトピックに投稿したりすることができます。
仕組み
このコンポーネントは、リモートテーマまたはコンポーネントに翻訳可能なテキストが含まれている場合、翻訳インターフェースの下部にセクションを追加します。そこから、翻訳をさまざまな方法で共有できるモーダルを開くことができます。
デフォルトブランチに関する注意
このコンポーネントは、リポジトリのデフォルトブランチ名がmainであると仮定しています。リポジトリが異なる名前(例:master)を使用している場合、一部のリンクが正しく機能せず、手動での調整が必要になる可能性があります。
GitHub で新しい翻訳ファイルを作成する
テーマが GitHub にホストされており、その言語用の翻訳ファイルが存在しない場合、ボタンは以下の処理を行います:
- 正しいパス(例:
locales/de.yml)で GitHub エディターを開く - 翻訳を正しくフォーマットしてエディターに事前に記入する
- テーマの説明や設定を含める(オプション)
説明は Discourse UI では翻訳できませんが、保存する前に GitHub エディターで直接編集できます。翻訳したくない場合は、チェックボックスをオフにして除外することもできます。
詳細手順
- 翻訳後、ボタンをクリックしてモーダルを開きます
- “Create pull request” をクリックします
- リポジトリをフォークします
- エディターが翻訳を事前に記入した状態で開きます。必要であれば、ファイル内で直接説明を翻訳することもできます。
説明を除外するためにチェックボックスを無効にした場合、それらは含まれず、エディター内のテキストが簡略化されます。
- 準備ができたら “Commit changes…” をクリックし、次に “Propose changes”、最後に “Create pull request” を 2 回クリックします。
完了です!翻訳を共有しました!
GitHub で翻訳を改善・追加する
すでに翻訳が存在する場合でも、それを改善したり、不足している翻訳を追加したりできます。このプロセスは少しスムーズではありません。ボタンは以下の処理を行います:
- 正しいパス(例:
locales/en_GB.yml)で GitHub エディターを開く - GitHub エディターに事前に記入する代わりに、翻訳をクリップボードにコピーするため、簡単に貼り付けることができます。
- インターフェースの言語が編集している翻訳の言語と同じ場合、テーマの説明や設定などの追加情報を含めることが可能です。そうでない場合、コンポーネントは正しい言語での説明を取得できないため、これらは除外され、翻訳されたテキストのみをコピーすることになります。その場合は、貼り付け時に説明を上書きしないように注意してください。コンポーネントは事前に警告するため、インターフェースの言語を切り替えて説明を含めることができます。
詳細手順
- インターフェースの言語が翻訳言語と一致しない場合(この例ではインターフェースは英語(米国)で、英語(英国)に翻訳しています)、2 つの選択肢があります:
A. モーダルを開く前にインターフェースの言語を変更する
B. 言語を切り替えずにモーダルを開く - 編集を強調表示するモーダルが表示されます
A. インターフェースの言語が翻訳先の言語と同じ場合、チェックボックスを使用して説明を除外できます
B. それ以外の場合、チェックボックスは無効になります。
- “Copy & open GitHub” をクリックしてリポジトリをフォークします
- GitHub に現在保存されている翻訳を含むエディターが表示されます。
A. 説明が含まれていた場合は、ファイル全体の内容を単純に置き換えることができます。
B. ロケールを切り替えなかった場合、またはチェックボックスをオフにした場合は、テーマの翻訳のみがコピーされます。そのため、翻訳された部分のみを置き換えてください。すべてのインデントが正しく設定されているか注意してください。
- 説明を編集することもできます。準備ができたら “Commit changes…” をクリックし、次に “Propose changes”、最後に “Create pull request” を 2 回クリックします。
完了です!翻訳を共有しました!
一部のテーマコンポーネントは、翻訳プラットフォームを使用して翻訳されています。例えば、多くの official コンポーネントは Crowdin で翻訳されています。これらのファイルには上部に警告があり、翻訳を寄与できる場所が示されています。
Meta で翻訳を共有する
GitHub アカウントをお持ちでない場合、かつ Meta トピックへのリンクが利用可能な場合は、翻訳をそこに投稿して、作者に次のアップデートに含めるよう依頼することもできます。“Copy & open Meta” をクリックすると、翻訳がフォーマットされ、クリップボードにコピーされ、新しいタブで Meta トピックが開きます。その後、Reply をクリックして、コピーされたフォーマットされた翻訳を貼り付けるだけです。
詳細手順
- 翻訳後、ボタンをクリックしてモーダルを開きます。
- “Copy & open Meta” をクリックします。
- “Reply” をクリックしてコンポーザーを開き、翻訳を貼り付けます。
- 説明を除外しなかった場合は、投稿する前に直接編集できます。
翻訳を共有しました
Meta トピックへのリンクが提供されていない場合は、翻訳をコピーし、関連するトピックを手動で検索してください。その場合、投稿のフォーマットに注意してください。
その他のプラットフォームで翻訳を共有する
テーマが GitLab やその他のプラットフォームにホストされている場合、翻訳はクリップボードにコピーされ、リポジトリが新しいタブで開きます。GitHub と異なり、GitLab はファイルエディターの URL に対して事前に入力されたコンテンツをサポートしていません。そのため、新しいファイルであっても、翻訳を手動で貼り付ける必要があります。
他のプラットフォームでのファイル編集リンクの構築方法については調査していません。そのため、その場合はリポジトリ内のファイルまたはディレクトリに移動し、自分でファイルの作成または編集方法を調べる必要があります。
設定
このコンポーネントには 1 つの設定があります:hide_texts
これは、導入説明を非表示にし、インターフェースの言語が翻訳先の言語と一致しない場合に表示される短いメッセージを表示します。
今後の展望
現在、このコンポーネントは、テーマが外部(例:Crowdin)で翻訳されているかどうかを検出できません。これは技術的に可能であり、about.json ファイルにライセンスやメタトピックリンクと同様に、オプションの translation_url フィールドを含めることで実現できます。例えば:
"translation_url": "https://discourse.crowdin.com/discotoc"
これが実装されれば、コンポーネントは以下が可能になります:
- 翻訳が他の場所で管理されている場合、共有ボタンを非表示にする
- 代わりにどこに寄与できるかを説明するメッセージを表示する
- 不要なプルリクエストや混乱を避ける
これはこのコンポーネントだけでなく、管理者が翻訳を寄与できる場所を見つけるためにも一般的に役立ちます。















