Help:システムメッセージ
ウィキペディア日本語版のヘルプページです。元文書はメタウィキのヘルプです。
ウィキペディアを動かしているソフトウェア「MediaWiki」の表示するさまざまなメッセージや、閲覧・編集などの操作に使用するボタンなどインターフェースに表示・使用されるテキストをシステムメッセージと呼びます。このシステムメッセージには多くの言語用のメッセージが用意されています。ウィキペディア日本語版では日本語をサイトで使用する言語(サイト言語)に指定しているため、既定では日本語でインターフェースが表示されています。ログイン利用者は個人設定で別の言語を指定することで、日本語以外をインターフェースに使用することもできます。
MediaWiki標準のシステムメッセージ
[編集]MediaWikiのインターフェースには数多くのシステムメッセージが用いられています(MediaWiki本体で約2,300個あります)。これらのメッセージは多言語に対応しており、言語別の「Messages言語コード.php」という「メッセージファイル」の中に格納されています。例えば日本語のシステムメッセージは MessagesJa.php に入っています。各システムメッセージには「メッセージ名」(メッセージID)が割り振られており、各言語用の「Messages言語コード.php」において'メッセージ名' => 'メッセージの内容'
という形で指定されています。
MediaWikiを用いている各ウィキ(サイト)では、 $wgLanguageCodeというパラメータによってウィキで使用するインターフェース言語(サイト言語)を指定しており、この指定に応じた Messages言語コード.php に入っているシステムメッセージが基本的に使われます。
ウィキで必要としているシステムメッセージに指定されているインターフェース言語用のメッセージがない時には、英語(もしくは指定されたフォールバック言語)のメッセージが使用されます。このため、新機能に伴って新しいシステムメッセージが導入された際などに英語のシステムメッセージが表示されることがあります。
多くのシステムメッセージはウィキテキストで書かれていますが、中には XHTMLやCSS、JavaScriptなどで書かれているものもあります。
ウィキペディア日本語版上での設定
[編集]ウィキペディア日本語版で実際に使用されるシステムメッセージの生成・管理にはMediaWiki名前空間を使用します。
MediaWikiのシステムメッセージの大部分は、各ウィキにおいて「MediaWiki:メッセージ名」というページ名をもつMediaWiki名前空間のページとして自動生成されます。その内容は $wgLanguageCode で指定されたサイト言語に応じた Messages言語コード.php によって決定されます。また、サイト言語以外の言語用メッセージは「MediaWiki:メッセージ名/言語コード」というページ名で生成されます。なお、phpファイル内でのメッセージ名は小文字始まりですが、MediaWiki名前空間のページとして生成される際には大文字始まりに変換されます。
例えば、編集画面にてプレビューに使われるプレビューボタンに表示される文字列はメッセージ名 'preview' で指定されています。したがって、ウィキ上ではMediaWiki:Previewとして生成されますが、ウィキペディア日本語版のサイト言語は日本語ですので、その内容は ja.json で指定されている「プレビュー」となります。そして英語のシステムメッセージは MediaWiki:Preview/en、ドイツ語のシステムメッセージは MediaWiki:Preview/de、タイ語のシステムメッセージは MediaWIki:Preview/th といった具合に生成されます。
この時、ウィキ上にすでに「MediaWiki:メッセージ名」にあたるページが存在している場合、 Messages言語コード.php の内容は適用されません。すなわち、各ウィキの MediaWiki名前空間を編集することで、そのウィキ固有のメッセージを指定することができます[注 1]。
標準のメッセージの上書き以外にも、MediaWiki名前空間のページを作成することで、さまざまなウィキ独自の設定を用いることができます。ガジェットなどもMediaWiki名前空間を通して実現されています。
MediaWiki名前空間の編集はウィキ全体へ及ぼす影響が大きく、またXHTMLやCSSなどで直接記述するページを含むため、名前空間全体に全保護相当の編集制限が設定されており、管理者とインターフェース管理者が編集できるようになっています。さらに一部のシステムメッセージはインターフェース管理者だけが編集できるようになっています[注 2]。
メッセージ一覧とメッセージへのリンク
[編集]特別:メッセージ一覧はそのウィキで実際に用いられているシステムメッセージの一覧表を自動生成します。ただしローカルで独自に設定しているメッセージの一部は表示されません。
この一覧表は各利用者が指定しているインターフェース言語で生成されます。ウィキ独自のメッセージで標準メッセージを上書きしている場合、この一覧表では標準メッセージ(「既定のメッセージ文」)とウィキ指定のメッセージ(「現在のメッセージ文」)が上下に並べて表示されます(ただし双方が全く同一の内容の場合には一つのものとして表示されます)。また、「名前」の列にはMediaWiki名前空間のページおよびそのノートページへのリンクが生成されています。この時、サイト言語(日本語)以外をインターフェース言語に指定している場合には、リンク先は「MediaWiki:メッセージ名/インターフェース言語の言語コード」となります。このリンクについては、リンク先のページがローカルにあるかどうかによってリンク先の存在検出が行われますので、ウィキ上にページが作成されていなければ、「赤リンク」となります。
これに対して、MediaWiki名前空間のページへの通常のリンクについては、そのページがローカルに存在していなくても、そのページ名、すなわちメッセージ名のシステムメッセージが存在すればリンク先のページが存在するものとして表示されます。MediaWiki名前空間の各ページの内容が自動生成されたMediaWiki標準のものであるか、ウィキ独自に指定されたものであるかは、そのページに履歴があるかで判断できます。
このほか、現在ウィキペディア日本語版で独自に設定している全システムメッセージについては特別:全ページで確認できます。また/一覧にて手動で一覧を作成しています。
インターフェース言語の個人設定
[編集]ウィキごとの設定とは別に、ログイン利用者は自分がインターフェースに使用したい言語を個人設定で設定できます。
この場合、多くのシステムメッセージについては、「MediaWiki:メッセージ名/言語コード」の内容がシステムメッセージとして使用されます。したがって「MediaWiki:メッセージ名」を作成してメッセージの内容をウィキ固有のものに変更していても、「MediaWiki:メッセージ名/言語コード」をそれぞれ作成していない限り、サイト言語以外をインターフェースに使用している利用者に対してはMediaWiki標準のシステムメッセージが表示されます。
ウィキ固有の設定が重要な一部のメッセージについては、サイト言語以外の言語用のシステムメッセージは使用されません。例えばページの左に表示されるサイドバーの内容を決定する MediaWiki:Sidebar については、英語をインターフェース言語に指定していても MediaWiki:Sidebar/en は使用されず、 MediaWiki:Sidebar が使用されます。同様にインターフェース言語に英語を指定している場合の最近更新したページでもヘッダ部分(MediaWiki:recentchangestext)は日本語のままです。
またMediaWikiに標準搭載されていないメッセージをウィキ固有に指定している場合、各言語用のシステムメッセージもウィキ上で指定しない限りその言語用のシステムメッセージは存在しません。例えばウィキペディア日本語版では、MediaWiki:Noticeというメッセージを作成して、サイドバー「ヘルプ」内にWikipedia:お知らせへのリンクをおいています。英語用にはMediaWiki:Notice/enが用意されているため、インターフェース言語に英語を指定している場合には英語で表示されますが、ドイツ語やタイ語のメッセージなどは指定されていませんので、該当部分は日本語のままです(ドイツ語・タイ語)。
一時的なインターフェース言語の指定
[編集]外部リンク形式のリンクを用いてURLにuselang=言語コードのパラメータを指定することで、リンク先のページを表示する際に使用するインターフェース言語を一時的に指定することができます。
システムメッセージのトランスクルード
[編集]システムメッセージおよびMediaWiki名前空間のページの多くは他のページにトランスクルード(テンプレート呼び出し)できます。
{{MediaWiki:メッセージ名}}
の形でトランスクルードした場合、サイト言語によるシステムメッセージが呼び出されます。
これに対して、マジックワードの int
を使用して、{{int:メッセージ名}}
の形でトランスクルードした場合、利用者指定のインターフェース言語によるシステムメッセージが呼び出されます。
MediaWikiの拡張機能によって使用されているシステムメッセージについては、うまくトランスクルードできないものがあります。
システムメッセージの翻訳
[編集]現在、MediaWiki標準のシステムメッセージの翻訳は、translatewiki.net というサイトで主に行われています。これはウィキメディア財団の運営するウィキではありませんが、MediaWikiの開発者有志がMediaWikiなどのオープンソース・ソフトウェアのローカリゼイションのために提供しているウィキです。translatewiki.net には定期的にMediaWiki最新版およびMediaWiki拡張機能のシステムメッセージがダウンロードされており、translatewiki.net に利用者登録し、翻訳者権限を付与されると、翻訳用の拡張機能を利用してこれを翻訳することができます。翻訳結果は translatewiki.net のスタッフによって定期的にMediaWikiの Git サーバにあるメッセージファイルに反映されます。このメッセージファイルの内容がウィキメディア財団のシステム管理者によってウィキメディア・ウィキに反映されると、translatewiki.net で行われた翻訳がウィキペディア日本語版にも反映されるという流れになります。
新しいシステムメッセージが導入された時などに、ウィキペディア日本語版ローカルの MediaWiki名前空間のページを作成すれば、すぐにメッセージを翻訳・ローカライズすることができるのに対して、translatewiki.net を利用したシステムメッセージの翻訳はウィキペディア日本語版に反映されるまでに時間がかかることがあります。
その一方で、translatewiki.net を通してMediaWikiの日本語用システムメッセージファイルに翻訳を提供すれば、ウィキペディア日本語版だけでなく、ウィクショナリーなど日本語版姉妹プロジェクトでのインターフェースや他言語版プロジェクトで日本語をインターフェースに指定した際のインターフェースを同時に翻訳することができます。またウィキメディア・プロジェクト外でMediaWikiを日本語で使用する人たちの利益ともなります。
なお、名前空間名、特別ページのページ名、マジックワードなど、MediaWiki名前空間を経由していないシステムメッセージが一部あり、translatewiki.net ではこれらの翻訳も行える場合があります。
脚注
[編集]注釈
[編集]- ^ このような方式はMediaWiki1.9から採用されたものです。それ以前はシステム管理者による専用アカウントのMediaWiki defaultによって各ウィキに各システムメッセージ用のページが全て作成されていました。MediaWiki1.9へのアップグレードに際してMediaWiki標準と同じ内容を持つMediaWiki名前空間のページは、同じくMediaWiki defaultによって削除されました。
- ^ もしシステムメッセージの内容を誰にでも変えられるように設定する必要があれば、MediaWiki名前空間のページに他の名前空間のページをテンプレート呼び出しするようにすることができます。
関連項目
[編集]- Help:外装の詳細設定 - 利用者ページのサブページに CSS ファイルや JavaScript ファイルを置くことで、MediaWiki名前空間のページによるローカリゼイションを更に利用者の設定で上書きすることができます。
- Wikipedia:LanguageJa.php - MediaWiki1.6以前にシステムメッセージの日本語化に使用されていたページ
- Wikipedia:All system messages - かつてシステムメッセージの一覧が置かれていたページ
- システムメッセージに関する過去の議論
- MediaWiki.orgの関連項目
- mw:Manual:System message/ja
- mw:Category:Interface messages - 個別に解説のあるメッセージのカテゴリ
- mw:Internationalisation/ja
- mw:Localisation
- mw:Localisation statistics - MediaWikiのメッセージファイルの各言語への翻訳状況