メタ:国際化ガイドライン
メタウィキは多言語対応のウィキを目標としており、ほとんどのページが翻訳対象であり、翻訳されていることが望ましいです。翻訳拡張機能で翻訳対象に指定するには、対象のページを<translate>...</translate>でタグ付け(国際化)して、翻訳管理者が翻訳対象に指定します。このページではメタウィキにおけるページの国際化に関するガイドラインを提供します。
段階的な翻訳対象指定についてのガイドはチュートリアルを参照してください。
注意:すでに翻訳が行われている場合、タグ付けがこれらのガイドラインに沿わない場合でも、翻訳を無効にするような編集は行わないでください。 すでに重要な翻訳をしているボランティアの翻訳者に余計な負担をかけてしまいます。 |
一般的なガイドライン
基本的には翻訳拡張機能の翻訳対象ページのマークアップについてのガイドラインに従ってください。可能な限り、</translate>を使って手動で翻訳単位を分割することは避け、改行を用いて分割してください。
翻訳されたコンテンツはビジュアルエディターで編集することができますが、翻訳マークアップの追加や変更はソースエディターでしか行えません。翻訳マークアップを簡単に追加するには編集画面下のボックス内のボタンを使用します。
翻訳されたページを編集するときは節の編集ではなく、オプションのページ全体の編集を使用してください。節の編集を行うと、ページに余計な改行が挿入されてしまいます。[1]
セグメンテーションの例
| 良い構文 | 不適切な構文 |
|---|---|
見出しや段落の改行の周りに<translate>タグを追加します。
<translate>
== 節の見出し ==
これは段落です。
これは別の段落です。
</translate>
{{テンプレート}}
<translate>
== 別の見出し ==
</translate>
|
翻訳単位には必ず見出しのマークアップ(==など)を含めてください。
== <translate>節の見出し</translate> ==
<translate>これは段落です。</translate>
<translate>これは別の段落です。</translate>
{{テンプレート}}
== <translate>別の見出し<translate> ==
|
リストの各項目を改行なしでそれぞれ別の翻訳単位に分割します。また、リストのマークアップ(*)を翻訳単位から除外します。
* <translate>これは長いリスト:</translate> ** <translate>このリストには 160 以上の単語があるか、</translate> ** <translate>8個以上の項目があります。</translate> * <translate>ですので、いくつかの小さな集団に分割することをお勧めします。</translate> * <translate>ただし、リストにアクセスしやすくするために、翻訳タグから箇条書きを除外する必要があります。</translate> |
リストのマークアップ(*や#)は必ず翻訳単位に含めないでください。
<translate> * これは長いリスト: ** このリストには160以上の単語があるか、 ** 8個以上の項目があります。 </translate> <translate> * ですので、いくつかの小さな集団に分割することをお勧めします。 * ただし、リストにアクセスしやすくするために、翻訳タグから箇条書きを除外する必要があります。 </translate> |
特殊な要素
リンク
リンクを対象ページの正しい言語バージョンにリンクするためには特別なマークアップが必要です。翻訳対象としてマークされていない場合でも、翻訳可能なページには地域化されたリンク構文を使用します。トークページやテキストコンテンツのないテンプレートでは地域化されたリンク構文は必要ありません。
多言語Wikiへのページリンクを貼る時はリンク先の前にSpecial:MyLanguage/をつけてください。翻訳を簡単にするため、翻訳単位にはリンクテキストのみを含め、リンク先ページやURLなどは含めないでください。リンクが大きな段落の翻訳単位の一部に含まれている場合は、翻訳の変数(<tvar name=1> … </tvar>)にリンク先を入れることで翻訳単位から除外できます。
For a standalone link to a page on the same wiki, such as in a list or a table, you can use the localized link template to simplify the syntax. This works on Meta-Wiki, mediawiki.org, Outreach Wiki, and other wikis where this template is available.
For links to Wikipedia article, you should use {{lwp}} template for the target and wrap it inside a tvar. E.g. [[{{lwp|Rosa Parks}}</tvar>]] produces en:Rosa Parks in English pages and fr:Rosa Parks in French pages.
For other cross-wiki and external links, if a translation exists, you should not put the link target inside tvar. Of course, if the target website has a language detection system (like MediaWiki's Special:MyLanguage/), you may use this system and put the full link inside tvar.
| 良い構文 | 不適切な構文 |
|---|---|
多言語wikiのページリンクを使う際はリンク先の前にSpecial:MyLanguage/をつけます。翻訳の変数を使用することでリンクテキストのみを翻訳単位に含めることができます。
<translate> [[<tvar name=1>Special:MyLanguage/Wikimedia projects</tvar>|Wikimediaのプロジェクト]]と[[<tvar name=2>Special:MyLanguage/New project process</tvar>|新しいプロジェクト]]のリクエスト方法について学びます。 </translate> |
翻訳の変数にはリンク先のみを含め、リンクテキストは含めないでください。
<translate> [[<tvar name=1>Special:MyLanguage/Wikimedia projects</tvar>|Wikimediaのプロジェクト]]と[[<tvar name=2>Special:MyLanguage/New project process|新しいプロジェクト</tvar>]]のリクエスト方法について学びます。 </translate> |
リストや表の中などにある同じページへのリンクはTemplate:llを使用し、リンクテキストのみを翻訳します。|nsp=0を使用すると名前空間は省略できます。
<translate>
参照:
</translate>
* {{ll|Help:Contents|2=<translate>Help pages</translate>}}
* {{ll|Meta:Discussion pages|nsp=0}}
|
テンプレートの構文内に<translate>を含める場合、パラメーター名(2=)は必ず必要です。
<translate>
参照:
</translate>
* {{ll|Help:Contents|<translate>Help pages</translate>}}
* {{ll|Meta:Discussion pages|nsp=0}}
|
外部リンクの場合、翻訳変数を使用してリンク先を翻訳単位から除外します。
<translate> これは[<tvar name=url>https://openstreetmap.org</tvar> 外部リンク]のテキストです。 </translate> |
外部リンクのリンク先を翻訳単位から除外するには翻訳変数は必須です。
<translate> これは [https://openstreetmap.org 外部リンク]のテキストです。 </translate> |
カテゴリ
You should exclude category declarations from <translate> tags. Instead, add {{#translation:}} after the category name: [[Category:Target category{{#translation:}}]]. This way, only the main English page is categorized into the target categories, translation pages are categorized in per-language categories.
| 良い構文 | 不適切な構文 |
|---|---|
[[Category:Wikipedia{{#translation:}}]]
|
<translate>[[Category:Wikipedia]]</translate> |
画像
サムネイルと大きめの画像
If the image can be localized (e.g. it contains some text and a translated version exists), it should be fully included in <translate> tags.
Else, you should only wrap alt= value in <translate nowrap> tags and caption in <translate> tags.
If left or right is used as image parameter: remove it if it is useless (thumbnails default to right in English), or replace it respectively with {{dirstart}} or {{dirend}}.
| 良い構文 | 不適切な構文 |
|---|---|
[[File:landscape.jpg |thumb |{{dirstart}} |alt=<translate nowrap>山に沈む夕日</translate> |<translate>美しい景色の写真</translate>]]
|
<translate> [[File:landscape.jpg |thumb |left |alt=山に沈む夕日 |美しい景色の写真]] </translate> |
<translate> [[File:英語版ウィキペディアのスクリーンショット.png|thumb|alt=Homepage of English Wikipedia with featured article and news topics|ウィキペディアのホームページ]] </translate> |
[[File:英語版ウィキペディアのスクリーンショット.png|thumb|right|alt=<translate nowrap>Homepage of English Wikipedia with featured article and news topics</translate>|<translate>ウィキペディアのホームページ</translate>]] |
アイコン
行内にアイコンを置くには、前後を<tvar name="icon">で挟めば大丈夫です。
| 良い構文 | 不適切な構文 |
|---|---|
<translate> [[File:素敵なあいさつ.png|alt=みなさんこんにちは!]], <tvar name="icon">[[File:笑顔で.png|alt=🙂]] お元気ですか。 </translate> |
<translate> [[File:素敵なあいさつ.png|alt=みなさんこんにちは!]], [[File:笑顔で.png|alt=🙂]] お元気ですか。 </translate> |
翻訳の変数
翻訳者からテキストを翻訳できないようにするには、翻訳変数 (<tvar name="name"></tvar> 構文) を使用します。
以下の例はtvar(変数)を使うことが推奨されます。
- 自動的に地域化される、もしくは地域化されないリンク先
- 利用者名
- 変更されるであろう数値(
{{formatnum:}}で囲んでから、tvarで囲みます。) - 属性タグ(例:
<span class="css_class" style="background-color:blue"</tvar>>hello</span>) - テンプレート名とパラメータ(例:
{{<tvar name=1>center|5px</tvar>|hello}}) - 複雑なwiki構文やHTML(ただし、翻訳時にバランスが取れているか確認するようにしてください)
以下の例はtvarを使うのはあまり望ましくありません。
- 人名や地名(翻訳されることがほとんどないものでも、翻字されることがあります。)
- 属性のない
<code>などのXMLタグ(翻訳インターフェースで処理されます。) - 地域化されたリンク先(多言語対応のウェブサイトなど)
翻訳の変数名
翻訳者の負担を軽減するため、tvarの名前は可能な限り短くて読みやすいものにして下さい。もし翻訳者がその内容を知る必要がない場合、多くの翻訳者が入力しやすく、多くの言語で共通である数字を使用することをお勧めします。
However if tvar is inside a sentence, it should have an explicit name to allow translators to understand what it contains and so write it easily in the right place in their translation (it is pretty common for an email address, URL, wikitext tag name…).
| 良い構文 | 不適切な構文 |
|---|---|
[[<tvar name="1">Special:MyLanguage/Help:Links|ヘルプページを参照してください。]] |
[[Special:MyLanguage/Help:Links|ヘルプページを参照してください。]] |
次のミーティングは<tvar name="date">{{dateT||9|24}}</tvar>に<tvar name="software">{{int string|Zoom}}</tvar>で行います。
|
次のミーティングは<tvar name=1>{{dateT||9|24}}</tvar>に<tvar name=2>{{int string|Zoom}}</tvar>で行います。
|
tvar の名前には、スペースやアンダーバー(_)、ハイフン(-)を使用することは避けてください。
| 良い構文 | 不適切な構文 |
|---|---|
<tvar name="max-count">84</tvar> カフェ |
<tvar name="max_count of café">84</tvar> カフェ |
テンプレート
ほかのページの同様に、テンプレートにも翻訳準備ができますが、翻訳対象にマークアップする段階では「このページの翻訳を意識した参照読み込みを有効にする」チェックボックスにレ点を入れるのを忘れてはいけません。
If you insert a <translate> tag inside a parameter value of a template call, ensure the parameter is named (else add a numeric name, like 1=).
もしも、そのテンプレートが翻訳対象外のページに採用されると予測する場合(たとえばe.g. 利用者ページ)でも、やはり翻訳が必要だと判断したら、考え方を変えて2021年以前の裏技を使い、以下のコードにあるuselang={{PAGELANGUAGE}} を uselang={{int:lang}} に置き換えてください。
2021年以前の裏技
MediaWiki 1.36.0-wmf.32(2021-02-23)以前は、英語版のページにテンプレートそのものではなく、必ずテンプレートの/en 下位ページを書き込むことが求められました。
One way was to replace each occurrence of {{my translated template|param}} with {{TNT|my translated template|param}}, except in templates or transcluded pages which should contain {{ {{TNTN|my translated template}} |param}} instead.
もう1つの方法は、テンプレートを編集してそれ自体に {{TNT}} と自称させることでした。この達成には、テンプレートのコード全文をスイッチ内に配置して空の <translate> タグを評価させるために既定の {{TNT}} と呼ばれる事例を転用する必要があります。
{{#switch:<translate></translate>
|=<full template code>
|#default={{#invoke:Template translation|renderTranslatedTemplate|template={{subst:FULLPAGENAME}}|uselang={{PAGELANGUAGE}}|noshift=1}}
}}
関連項目