Meta:言語の選択

From Meta, a Wikimedia project coordination wiki

(Redirected from Meta:Language select/ja)
Jump to: navigation, search

他の言語: English | Suomeksi (fi) | فارسی (fa) | 日本語 (ja) | (+/-)

Shortcut:
WM:LS
Template:Stubの言語を選択していない状態。
Template:Stubの言語を選択した状態(英語とフランス語)。

言語の選択(Language select)は、多言語ページにおいて外国語を隠すことができる機能です。例えば、フランス人が多言語ページにおいてフランス語の文章だけを見ることができます(もっとも、スペイン語だけのページではスペイン語が表示されますが)。

右の2つの画像はTemplate:Stubの、言語を選択していないものと、CSSの方法を使って(下部参照)英語とフランス語の言語を選択したもののスクリーンショットです。

Contents

[edit] 「言語の選択」をさせる方法

「言語の選択」をさせるには、2つの方法があります。ページの「言語の選択」のための準備は両方の方法とも同じです。古いほうのCSSを使った方法は複数の言語を選択することができ、多言語ユーザにとってはいちばん便利です。しかし、選択された言語が無いときに認識できず、何も表示されなくなります。新しいほうのJavaScriptを使った方法は自動的にブラウザの言語を検知し(ブラウザの設定を無視するように設定できます)、選択された言語がない場合には何も起こりません。しかし、この方法では1つの言語しか一度に表示できません。

[edit] 多言語ページだと分かるように

言語選択を実行するページには{{multilingual}}を使ったこのページにリンクする案内があります。この目的に使うためのロゴについての議論は今までに無く、Localisation2.svgが今のところ使われています。

[edit] 言語の範囲設定

[edit] 技術的な詳細

多言語ページはCSSのクラス"lang-xx"に含まれる全ての言語で書かれた文章とともに、クラス"multilingual"に含まれています。xxは小文字のISO 639の2文字の言語コードでlang属性です。lang属性はコンテクスト上、より正しいですが、それに接続するよう要求されたCSSは全てのブラウザではサポートされていません。2文字のコードがない場合、小文字の3文字のコードが使われます。もし、文章を翻訳していてどの言語か分からない場合は、"und"コードを使用してください。

以下は英語、古英語、フランス語、ラテン語のページの例です。

<div class="multilingual">
<div class="lang-en" lang="en">This text is English.</div>
<div class="lang-ang" lang="ang">Þis wordu is Englisc.</div>
<div class="lang-fr" lang="fr">Ce texte est Français.</div>
<div class="lang-la" lang="la">Haec verba latina sunt.</div>
</div>

[edit] テンプレート

テンプレート{{ls}}は言語の選択の実行を簡単にします。例えば、以下の2行は同値になります。

{{ls|en|This text is English.}}
<div class="lang-en" lang="en">'''English:''' This text is English.</div>

[edit] 用例

2種類の「言語の選択」の方式を巡る争いがあることに留意してください。一度に使えるのは1つだけです。

下記の記述は、利用者が外装をMonobookに設定していることを前提にしています。

[edit] カスケーディング・スタイルシート(CSS)

スタイルシートに次の文を加えて、見たいと思う言語に設定できるように編集してください。

/* hide all languages */
.multilingual { display:none; }
/* unhide selected languages */
.multilingual .lang-en, .multilingual .lang-fr { display:block; }

CSSを十分にサポートするブラウザを使っているのなら(Mozilla FirefoxOperaのようなブラウザ)、コンテクストの上では適切なCSSを利用すべきです。

.multilingual *[lang] {display:none;}
.multilingual *[lang|=en], .multilingual *[lang|=fr] {display:block;}

[edit] JavaScript

JavaScriptの方法はメタウィキのデフォルトでアクティブになっています。スクリプトファイルに次の文を加えることで利用不可にすることが可能です。

ls_enable = false;

下記でJavaScriptの用例を見ることができます。言語選択が不可能なら、全ての言語の文が表示されます。

Afrikaans: Hierdie teks is in Afrikaans.
Brezhoneg: Brezhoneg eo an destenn-mañ.
Català: Aquest text és en català.
Dansk: Denne tekst er på dansk.
Deutsch: Dieser Text ist Deutsch.
Ελληνικά: Αυτό το κείμενο είναι στα ελληνικά
English: This text is English.
Eesti: See tekst on eesti keeles.
العربية: هذا النّص عربي.
فارسی: این متن فارسی است.
Suomi: Tämä teksti on suomeksi.
Français: Ce texte est Français.
עברית: הטקסט הזה בעברית.
Bahasa Indonesia: Ini adalah teks dalam bahasa Indonesia.
Italiano: Questo testo è in Italiano.
日本語: この文章は日本語です。
ភាសាខ្មែរ: ឃ្លានេះជាភាសាខ្មែរ។
Latina: Haec nota Latine scriptus est.
Lietuvių: Šis tekstas yra lietuviškas
Nederlands: Deze tekst is in het Nederlands.
‪Norsk (bokmål)‬: Denne teksten er på norsk.
Occitan: Aqueste tèxt es en Occitan.
Polski: Ten tekst jest po polsku.
Português: Este texto está em Português.
Sardu: Custu testu est in Sardu.
Türkçe: Bu tekst Türkçe'dir.
中文: 这些文字是中文。
Bahasa Melayu: Teks ini ditulis dalam Bahasa Melayu.

言語を指定する場合は、言語名ではなくコードを使います。

JavaScriptのコードはMediaWiki:Monobook.jsで見ることができます。

[edit] 変更履歴

このコードは個人的なSubversionリポジトリに保存されています。このコードをウィキメディアのSubversionのリポジトリに入れることについて依然MediaWikiの開発者とコンタクトを取れていません。

  • リビジョン1358 — Edward Z. Yang(Talk) 2007年2月19日 15:36 (UTC)
    • cookieがない場合に、wgUserLanguageがグローバル変数だと検知するだろう
    • 言語が空白に設定されている場合、cookieを削除して自動検知に切り替える。
  • リビジョン1133 — Edward Z. Yang(Talk) 2006年9月2日 22:33 (UTC)
    • 利用者がもっと使いやすいように「Show all」(全てを表示する)の動作を微調整した(Cookieを上書きする代わりに一時的に全言語を単に表示する)。「Select」(選択)を押すことで切り替えられる。
    • 「Save」(省略)を「Select」(選択)に変更した。
    • 「Select」(選択)ボタンを太字にした。
    • Factored out language strings

[edit] 関連項目