Extension:Babel/ja

Category:GPL licensed extensions/ja
MediaWiki 拡張機能マニュアル
Babel
リリースの状態: 安定Category:Stable extensions/ja
実装 パーサー関数 Category:Parser function extensions/ja
説明 利用者の言語の理解度について他の利用者に知らせ、言語別・習熟度別にカテゴリ分けする、パーサー関数を追加する。
作者 Robert Leverington (RobertLトーク)
最新バージョン 継続的な更新
互換性の方針 master は後方互換性を維持しています。
MediaWiki >= 1.43.0
データベースの変更 はい
Composer mediawiki/babelCategory:Extensions supporting Composer/ja
テーブル babel
ライセンス GNU 一般公衆利用許諾書 2.0 以降
ダウンロード 言語拡張機能バンドルに含まれます Category:Extensions in Wikimedia version control/ja
Translatewiki.net
  • $wgBabelMainCategory
  • $wgBabelAutoCreate
  • $wgBabelAllowOverride
  • $wgBabelCategorizeNamespaces
  • $wgBabelUseUserLanguage
  • $wgBabelCentralDb
  • $wgBabelCategoryNames
  • $wgBabelUseCommunityConfiguration
  • $wgBabelDefaultLevel
translatewiki.net で翻訳を利用できる場合は、Babel 拡張機能の翻訳にご協力ください
問題点 未解決のタスク · バグを報告
Category:All extensions/ja

Babel (バベル)拡張機能は、利用者が様々な言語の習熟度を示すために、利用者ページに掲載できるパーサー関数 #babel を追加します。 この情報はカテゴリ別に分類することもできるため、他の利用者が特定の言語を話す利用者を見つけることが可能になります。

この拡張機能は、これまで完全にテンプレートに依存していたバベル(原義はバベルの塔)システムを置き換えることを目的としています。このアイデアはウィキメディア・コモンズで生まれた後、他のウィキメディアプロジェクトに広がり、多くのウィキで実装されました。

Babel 拡張機能は依然としてテンプレートを使用します。不明な言語引数が指定された場合、拡張機能はその名前のテンプレートが存在するかどうか確認し、存在する場合はそれを組み込みます。

インストール

  • ダウンロードして、ファイルをextensions/フォルダー内のBabelという名前のディレクトリ内に配置します。
    開発者とコード寄稿者は、上記の代わりに以下を使用してGitからインストールします:
    cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Babel
    
  • 以下のコードを LocalSettings.php ファイルの末尾に追加します:
    wfLoadExtension( 'Babel' );
    
  • 更新スクリプトを実行します。このスクリプトは、この拡張機能が必要とするデータベーステーブルを自動的に作成します。
  • 必要に応じて設定します。
  • Yes 完了 – ウィキの「Special:Version」に移動して、拡張機能が正しくインストールされたことを確認します。
  • CSSはresources/ext.babel.lessファイルにあります。ページ内のMediaWiki:Common.cssでそれらをオーバーライドすると、スタイルを変更することができます。
  • CLDR 拡張機能が当該するとき、言語名をそこから取得しますが(翻訳は利用外)、それ以外の場合は MediaWiki に設定された言語名ならびに英語での規定の名称を使います。

使用法

パーサー関数 #babel の構文は以下の通りです。

{{#babel: バベルコード1 | バベルコード2 | ... }}

話したり理解したりする言語ごとに、| で区切って次のコードの一つを追加します。xx には、その言語のMediaWiki言語コードISO 639-1コードまたはISO 639-3コードです(大文字と小文字は区別しません)。各コードレベルの一般的な使用法は次のとおりです。

xx-0
言語をまったく理解できません。
xx-1
初級能力 - この言語で書かれた資料または簡単な質問を理解するのに十分です。
xx-2
中級能力 - 編集や議論に十分です。
xx-3
上級レベル - この言語で問題なく書くことができますが、いくつかの小さなミスが発生する可能性があります。
xx-4
ほぼネイティブレベル - 生まれてからの母語ではありませんが、能力はネイティブスピーカーのようなものです。
xx-5
専門能力
xx または xx-N
日常的にその言語を使用し、連語や慣用句を含むその言語の全体を理解するネイティブスピーカー。母語。

他のテンプレートを含めるには、テンプレートの名前を追加するだけです。 Template:User CSSを含める場合は、User CSSを追加します。 ローカル設定に応じて、テンプレート名に接頭辞または接尾辞を追加できます(例: 最初のUser)。 これは選択を制限し、パラメーターの長さを減らすために使用できます。たとえば、CSS は、このように構成されている場合、Template:User CSS を含めることができます。

たとえば、前述のCSS(Cascading Style Sheets)の場合、南部オローニ語のISOコードと衝突する可能性があります。 このような場合、ローカルテンプレートの使用を強制するためには、… html-3|_css-2|js-1 … のように、パラメータの前にアンダースコア(_)を付けてください。

パラメーター

ヘッダーとフッターを削除するには、最初のパラメーターとして plain=1 を利用します。例: {{#babel: plain=1 | バベルコード1 | バベルコード2 | ... }} これにより、他のユーザーボックスでbabelを使いやすくなります。

カテゴリを非表示にするには、{{#babel: nocat=1 | バベルコード1 | バベルコード2 | ... }} のように、最初のパラメータに nocat=1 を使用します。

留意点として、上記の引数(パラメータ)は1件しか使えません。 そのため現時点では、両方のパラメータを使用することはできません。{{#babel: nocat=1 | plain=1 | バベルコード1 | バベルコード2 | ... }} は機能しないということです。

カテゴリの付与

カテゴリの分類が有効になっている場合、拡張機能は MediaWiki:babel-autocreate-text-levels および MediaWiki:babel-autocreate-text-main で指定されたテキストを使用して、Babel AutoCreate bot を使用してカテゴリを作成します。 標準の設定では、ボットが作成するカテゴリは分類されません。これを修正するために、以下の手順を行うことをおすすめします。

  1. カテゴリを作成する {{Babel category }} テンプレートを作成します。
  2. MediaWiki:babel-autocreate-text-levels を以下のテキストに置き換えます。
    {{Babel category|level=$1|language=$2|ISO=$3}}
    
  3. MediaWiki:babel-autocreate-text-main を以下のテキストに置き換えます。
    {{Babel category|language=$1|ISO=$2}}
    

これにより、カテゴリを自動的に分類できるようになり、何か問題が発生した場合は、すべてのカテゴリの分類とテキストを同時に置き換えることができます。

設定の構成

構成パラメータ

Babel に組み込んだいくつかの構成パラメータは、LocalSettings.php で調整ができます。

$wgBabelLanguageCodesCdb
(文字列)言語コード データベース ファイルのパス。既定を使用。
$wgBabelLanguageNamesCdb
(文字列)言語名データベース ファイルのパス。既定を使用。
$wgBabelCategoryNames
(文字列またはブーリアン型データに「1」、「2」…… 「5」および「N」までの検索子を付与)記述子は習熟レベルを示すカテゴリ名を当てる。適用可能な要素は %code%(言語コード)、%wikiname%(ウィキのコンテンツ言語で表記した言語名)、%nativename%(原語名)のいずれか。特定のレベルに対するカテゴリ付与を停止するには、対応する値を false に設定します。
例:
$wgBabelCategoryNames = [
	'0' => 'User %code%-0',
	'1' => 'User %code%-1',
	'2' => 'User %code%-2',
	'3' => 'User %code%-3',
	'4' => 'User %code%-4',
	'5' => 'User %code%-5',
	'N' => 'User %code%-N',
];
「Category:User en-0」や「Category:User fr-N」などのカテゴリを使用。既定ではまず「Category:Fr-N」とその他。
$wgBabelMainCategory
(文字列)それぞれの言語のメインカテゴリ(非レベル)の名称。その言語の利用者全員を追加。無効にするには false に設定します。既定の書式では「Category:Fr」の形。上記の$wgBabelCategoryNames同様の書式を適用できます。例:
$wgBabelMainCategory = 'User %code%';
$wgBabelDefaultLevel
(文字列)指定がない場合に既定で使う能力レベルです。検索子は $wgBabelCategoryNames から拾い、「1」、「2」……「5」および「N」を使います。既定は「N」。
$wgBabelUseUserLanguage
(ブーリアン型)ユーザーインターフェイス(UI)の言語でヘッダーとフッターを表示するかどうか。false (既定)を選ぶとページのコンテンツ言語で表示します。UI言語を使うとパーサーのキャッシュを分断化してしまうことへの対処策です。
$wgBabelCategorizeNamespaces
カテゴリ分類を自動付与する名前空間限定の配列。 たとえば $wgBabelCategorizeNamespaces = [ NS_USER ]; なら、 バベルはユーザー名前空間のページ限定でカテゴリを追加します。 規定値は null、つまり、すべての名前空間をカテゴリ分類する。
$wgBabelCategoryOverride
バベルのカテゴリをウィキでMediaWiki:Babel-category-overrideを使い上書きするかしないか
$wgBabelAutoCreate
カテゴリを自動生成するかしないか。

システムメッセージ

MediaWiki名前空間のメッセージでカスタマイズを行えます。

MediaWiki:babel-template "Template:User $1"
テンプレートを参照読み込みする際のテンプレート名の書式
MediaWiki:babel-portal ""
言語コードからリンクしている先のフォーマット。 言語コードとのリンクを防ぐため空の文字列に設定。
MediaWiki:Babel-autocreate-user "バベル自動作成係"
バベルに関連するカテゴリの自動作成に使用する利用者名
MediaWiki:babel-autocreate-text-levels "このカテゴリに属している利用者は$2についてレベル $1 の能力を有しています。 $4"
異なる言語レベルごとに充当する自動作成カテゴリの文字列。特定の言語($wgBabelMainCategory)のメインカテゴリに自動的に分類したい場合、これを必ず変更します。
MediaWiki:babel-autocreate-text-main "このカテゴリに属している利用者は、自身の$1の言語能力について、表明しています。 $3"
非レベルカテゴリの自動作成カテゴリに挿入するテキスト。全言語の親カテゴリに自動的に分類したい場合、これを変更するのは必須です。
MediaWiki:babel "バベル利用者情報"
バベル ボックスのヘッダー ヘッダを非表示にするには-に設定。
MediaWiki:babel-url "Project:バベル"
バベル拡張機能の情報が得られるページ。 ヘッダにリンクを含まないためには-に設定。
MediaWiki:Babel-footer "言語別の利用者"
バベル ボックスのフッター フッターを非表示にするには-に設定。
MediaWiki:babel-footer-url " :カテゴリ:バベル - 言語別の利用者"
バベルボックスの最後にあるリンクのページ
MediaWiki:Babel-category-override "$1"
自動生成されたバベルのカテゴリを上書き。 パラメーター:
$1 = 通常、生成されるはずのカテゴリ。
$2 = 言語コード
$3 = バベルのレベル
この方法を使用して上書きされたカテゴリは自動作成を防止し、そのページに破壊行為や誤った編集が加わるリスクを減らします。

API

meta=babel (bab)

(main | query | babel)

Get information about what languages the user knows

Specific parameter:
Other general parameters are available.
babuser

User to get information about

This parameter is required.
Type: user, by any of username, IP, Temporary user, IP range and interwiki name (e.g. "prefix>ExampleName")
Example:
Get the Babel information for user Example
api.php?action=query&meta=babel&babuser=Example [open in sandbox]
Category:Extensions used on Wikimedia/ja#Babel/ja Category:Localisation extensions/ja
Category:All extensions/ja Category:CommunityConfigurationProvider initList extensions/ja Category:Extensions in Wikimedia version control/ja Category:Extensions included in Canasta/ja Category:Extensions included in Miraheze/ja Category:Extensions included in ShoutWiki/ja Category:Extensions included in WikiForge/ja Category:Extensions included in wiki.gg/ja Category:Extensions supporting Composer/ja Category:Extensions used on Wikimedia/ja Category:GPL licensed extensions/ja Category:LinksUpdate extensions/ja Category:LoadExtensionSchemaUpdates extensions/ja Category:Localisation extensions/ja Category:ParserFirstCallInit extensions/ja Category:Parser function extensions/ja Category:Stable extensions/ja Category:UserGetReservedNames extensions/ja