Help:TemplateData/ja

拡張機能  でウィキテキスト テンプレートとそのパラメーターの情報を保存すると編集インターフェイスがそれを取得してテンプレート エディターに表示するため、そのテンプレートを使用したページの編集がしやすくなります.

2019年4月より TemplateData はウィキメディアのすべてのウィキに既定の UX (利用者体験) として組み込まれました. アカウントを登録していてもいなくても、参加するユーザーがテンプレートを追加すると適用されます. 既定のソース編集でもビジュアル編集でも、同じ適用法です. スクリプトやツール、ガジェットなどあらゆるところで活用されます. 自身のウィキで使用したい場合は、 をインストールする必要があります.

特定のテンプレートに TemplateData を組み込む手順は、本質的にテンプレートの説明文書のページに JSON の小さなコードブロックを追加します (詳細は下記の説明をご参照ください). 文字で書くと複雑そうですが、処理は思ったよりも簡単です. 実行する方法は主に2つあり、手動か TemplateData 編集機能を使うかです. 後者は 画像的な UI で、TemplateData 拡張機能を組み込んだウィキにある"Edit"/"Edit source" ページに配置してあります. JSON にはパラメーターの一覧が含まれ、テンプレートの個々のパラメーターの情報と、テンプレート本体の説明を添えてあります. 以下に概要を示します.

個別のテンプレートに TemplateData が設定されると、この情報は利用者がテンプレートを追加するたびユーザーインターフェースに表示され、ときには元の情報と置換され、あるいは既存の情報に追加されます. 場合により、そのせいでエディタの挙動を変化させることもあり、テンプレートの編集や追加の時に気がつきます. 利用者にとってテンプレートを使うとき、何を処理すると良いかずっと分かりやすくなります.

歴史
テンプレートデータTemplateData の開発は2013年、 を念頭に始まり、当時は MediaWiki の試験段階に置かれました. VisualEditor はウィキメディアのウィキ群で採用するメインの視覚的な編集インターフェースで、TemplateData ではテンプレートの追加をするとき、より利便性の高いエディタとしてこれを容認しています. VisualEditor では即時に公式にサポートされました. 2013年から2016年にかけてさまざまなウィキメディアのウィキ群で VisualEditor を既定の機能として導入した結果、TemplateData もその一環となりました.

2016年12月時点で VisualEditor インターフェースはベータ機能として、ソースコード編集に使えるようになりました. これを名づけて2017年ウィキテキストエディタ. このとき初めて、TemplateData の機能をソース編集に導入しました.

サム・ウィルソン Sam Wilson は2018年3月に を発表、TemplateData を利用してテンプレートを追加する手順をより簡略化するために既定の Wikimedia ソースエディター  (別称2010年ウィキエディター) に GUI テンプレート エディター拡張機能を導入しました. 2019年4月には Wikimedia の全てのウィキで TemplateWizard を2010年ウィキテキスト エディターの既定部分に導入しています. これはすなわち、現状でウィキメディアのウィキ群における TemplateData は、ビジュアル編集でもソース編集でも規定の部分となったことを意味します.

テンプレートの追加/編集
TemplateData の追加手順は、まずテンプレートのページを「/Template:テンプレートの名前」から開きます.

事前チェック
TemplateData の追加もしくは編集の前に、2点、次の順序で必ず確認をお願いします.


 * 1) テンプレートの下位に解説ページがあるかどうか
 * 2) テンプレートに対応する TemplateData が既にあり、それはテンプレートページにあるか、解説文書のページにあるか

解説文書のページを確認するには

準備として、テンプレートに下位ページがあって説明文書が保存されているかどうか確認します.

Wikimedia のほとんどのウィキでは、使い方の解説その他のデータなどテンプレート本体に書いてはいけない情報を、主に2つの方法で保存しています. 情報とはたとえばテンプレートのカテゴリなどで、保存先は次になります.


 * ほぼ全てのウィキで下位ページに解説文書を設けています. これはテンプレート名に拡張子「/doc」を付けた名前で保存されます.  この事例では、主となるテンプレートページを開くとテンプレートのソースコードに続き、タグの間にたった1文、「 」と書いてあります.  ここではDocumentationテンプレートが当該の /doc のコンテンツを全てテンプレートのページに呼び出します. これにより、テンプレートのソースコードの見た目がすっきりします.
 * ごく細かなコツとして、テンプレートのメインのページに情報を置く場所は、ソースコードの後です. この事例では、タグの間に記してある「 」の後に置いてあります.

特定のテンプレートに /doc ページがあるかさっとチェックするには、「 テンプレートの解説文書」 (あるいは同類の) 見出しの行の端に「[表示] [編集] [履歴] [キャッシュを破棄]」のリンクがあるかどうかでわかります. ウィキごとに細部は違っているかもしれません. ごくまれには、これらのボタンが表示されて /doc ページが作成済みなのに、メインのテンプレートページに説明文書が残る場合があります. 利用者が「 」から「 」までの間にカスタム化した /doc ページ名を使い、なおかつ「 」の後にコンテンツを記入した場合に発生します.

確認の信頼性をもう少し高める方法として、通知文「この解説はテンプレート:テンプレート名/doc から呼び出されています」 (あるいは類似の記述) があるかどうか、ページ下部のボックス内を確認してください.

特定のテンプレートに解説文書の下位ページがない場合

特定のテンプレートに解説を記した下位ページがない場合、選択肢は2つあります.


 * 自分で解説ページを書き、(既存であれば) /doc ページをそこに移動する. この処理後、解説文書の下位ページに TemplateData を追加します. こちらの選択肢の方がお勧めです.
 * もう一つの選択肢は、テンプレートのメインページで TemplateData を追加もしくは編集する.

doc 下位ページの作成、解説文書のコンテンツの移動

Wikimedia のほとんどのウィキでは、ページ作成は登録利用者に限定されています (それに加え英語版ウィキペディアの条件は登録後4日以上経過し編集履歴が10回超. )

実行するにはテンプレートのメインページで「編集」または「ソースを編集」をクリック、 タグに挟まれた記述を探します. 位置は通常、ページ最下部.

内容は以下のようになります.

もしかしたら既に、TemplateData が存在するかもしれません. 内容は以下のようになります.

「 」に続き、「」より前にある記述を選択してカット（訳注＝外部エディタにペーストして仮に保存しておくのがお勧め）. 次に「 」を削除すると、次の文字列が残るはずです.

では、ページを保存してください.

次にテンプレートのメインぺージでURL欄の文字列の末尾に「/doc」を追加して、Enterキーを押します. 「ソースを作成」を押します.

ご利用のウィキでDocumentation subpageの通知テンプレートを採用しているなら、ページ最上部に記入しておきます. その他のテンプレートの追加も検討しましょう. ご利用のウィキで採用済みならPurge buttonやPurgeのリンクがその一例です. 詳細はメタのヘルプをご参照ください.

以下の部分にクリップボードの内容をペーストします.

次にカテゴリの前後をタグで挟みます. これは下位ページがカテゴリ分類されるのを回避する方法で、テンプレートのメインのみカテゴリに載せるのが正しいからです.

編集は以下のようになります.

Some wikis (including the English Wikipedia) have a template. Use this if the template can be expected to have a sandbox version, located at "Template:Templatename/sandbox". It will stop the categories from having an effect on the sandbox page.

編集は以下のようになります.

After this, click "Publish page".

You can now add or edit the TemplateData on the documentation subpage based on the guidance at.

Adding or editing TemplateData on the main template page

If you do not wish to or are unable to create the /doc page, you can add or edit TemplateData on the main template page. Follow the guidance at to do this.

If a template has a documentation subpage

If a template has a documentation subpage, you should now check whether it already has TemplateData and whether this is located on the template page or the documentation subpage.

Check both the template page and the /doc subpage for the presence of TemplateData documentation; this looks something like this:

{   "description": "", "params": { "1": {           "label": "Example parameter", "description": "Example parameter description", "type": "string" }   } }

Alternatively, the TemplateData extension can perform this check for you. Click "Edit" or "Edit source" on either page.

どちらかのページにテンプレートに対応する TemplateData がある場合、ページ上部に黄色の通知が現れ、内容は次のいずれかを表示します.


 * "Please note: there is already a TemplateData block on the related page "Template:Templatename/doc"", or


 * "Please note: there is already a TemplateData block on the related page "Template:Templatename""

If the template has TemplateData on its documentation subpage

If the template has TemplateData on its documentation subpage, this is the page you should edit. You can do this by clicking the "[edit]" located after the heading " Template documentation" (or similar), or, if you are already on the /doc page, by clicking "Edit" or "Edit source" at the top. Follow the guidance at to add or edit the TemplateData.

If the template has TemplateData on its main page

If the template has TemplateData on its main page, you once again have two options:


 * You can either move to its documentation subpage. This is the preferred option.
 * Or, you can edit it on the main template page.

Moving TemplateData to the documentation subpage

To do this, click "Edit"/"Edit source" on the main template page, and look for the tags, enclosed within  tags. It should look something like this:

Cut only the tags and their contents out of the code, then save the page.

Next, edit the documentation subpage by clicking the "[edit]" located after the heading " Template documentation" (or similar).

Type a heading, like "TemplateData", then beneath it paste the TemplateData.

You can now edit the TemplateData based on the guidance at.

Editing TemplateData on the main template page

If you do not wish to move the TemplateData to the /doc page, you can edit it on the main template page. 節に TemplateData の編集方法を示します.

If the template does not yet have TemplateData but has a doc subpage

If the template does not yet have TemplateData, you should add it to the documentation subpage.

Do this by clicking the "[edit]" located after the heading " Template documentation" (or similar), or, if you are already on the /doc page, by clicking "Edit" or "Edit source" at the top. Type a heading, like "TemplateData", then add it beneath this heading. The section explains how to add TemplateData.

TemplateData editor method
This is the simpler way to add or edit TemplateData, possible for inexperienced users.

TemplateData 拡張機能は画像で手順を示す UI を採用し、TemplateData の追加と編集を行います. It is part of the TemplateData extension. テンプレートデータ編集ツールを使用するには、テンプレートのページ (またはその解説下位ページ) を開き「編集」ボタンまたは「ソースを編集」ボタンを押します.

操作として「編集」「ソース編集」のいずれかを押すと、編集枠のページ名の上部にボタン「」が現れます.

このボタンをクリックするとTemplateData 編集機能が開きます. ページに既存のテンプレートデータがある場合、自動的に表示されます.

Features in the above window:


 * The top item is "Language". This item allows you to enter text content in multiple different languages, which will show depending on the language setting of the user in Preferences. It will not show depending on the language wiki, as different wikis have entirely different databases of templates. If no language TemplateData exists yet, only the language of the wiki the user is on will be available, but the user can click "Add language" to add more inputs. The language code will show in brackets next to the parameters for which it can be applied to. These include descriptions and labels.
 * The next item is the template description. This is the description of the template as a whole and is shown in various places to the user in the template editors while adding a template. This parameter and its effects are outlined here.
 * The third item is the wikitext formatting of the template. This parameter determines how the wikitext should be laid out when the user clicks "Insert", the two main types being "inline" (on one line) and "block" (on new lines). This parameter and its effects are outlined here.
 * If the user chooses "Custom", they will be able to enter a set of wikitext under "Custom format string", according to rules outlined here, to create a custom layout for the template when the user clicks "Insert".


 * 第4の項目は「テンプレートのパラメータ」です. これにはパラメータが存在する場合、TemplateData にすでに定義されたものを一覧します. もしテンプレートのソースコードに記述してあるのに TemplateData が未設定の場合、「提示されたパラメータを追加」というボタンが現れます. その提示はテンプレートのソースコードで  または   を検知したものを抽出した結果です. 「提示されたパラメータを追加」を押すと、それらにソースコードに定義された名称を命名して追加します. またページ上部に緑色の通知が現れます. 「2件の新しいパラメータをインポート：パラメータ名」.
 * At the bottom is "Add parameter". This allows you to add a parameter manually with a custom name.

The next stage is clicking any one of the parameters in the list. This will allow you to edit that parameter's info.



All of these features and their effects are outlined at #Within a parameter's name.

When you are finished, click "Apply". This will automatically insert the TemplateData at the bottom of the page before the tag; or, if it already exists, it will update it with the new information without changing its position at all. The TemplateData text will also be selected when you click "Apply".

TemplateData エディタは TemplateData の最下部に、パラメータの を作成もしくは既存であれば更新します. これには TemplateData エディタに表示される順序にしたがい TemplateData パラメータを並べてあります. パラーメータ paramOrder を変更するには TemplateData エディタを使い、左上の横3本線のアイコンを押してからパラメータをドラッグして別の位置に移動させます. ならびにその効果の詳細はこちらをご参照ください.

After this, click "Save" to save the revision of the page.

Manual method
The alternative is to add or edit TemplateData manually. You may need or wish to do this in some cases. テンプレートデータの構造は JSON 標準に基づいているものの、利用者は JSON がわからなくても TemplateData を配置できます. It follows a few very simple rules and takes only a few dozen possible predefined parameters and values, almost always in a  format.

Adding TemplateData manually

Preconsiderations:


 * テンプレートの説明文書サブページにTemplateData を記入する場合、当該ページのどこに配置してもかまいません. ご利用の言語版で通例となる配置場所がないかどうかご確認ください. たとえばウィキペディア英語版だと、TemplateData の配置は通常、説明文書ページの最下部です. ドイツ語版ならページ最上部です.
 * テンプレートのメインページに TemplateData を追加する場合 (処理は避けるべき理由は#Prior checksをご参照)、きちんと  タグで囲んだかどうか十分に留意する必要があります.

First, click "Edit" or "Edit source" on the respective page, then go to the position you are adding the TemplateData and write a heading like "TemplateData".

Many wikis (but not all) have a TemplateData header template, which adds a short notice about the TemplateData. If yours does, add this after the heading.

To start adding the TemplateData, type an opening and closing tag and a pair of curly brackets on new lines, with an empty line between them:

次に、空行に弓カッコ2個を書き、インデントを挟みこんでからパラメータの記述をはじめます. パラメータごとの詳細はの節をご参照ください. ほとんどはオプションですが、中には強く推奨されるものもあります.

Parameters can be in any order, but the order that will best correlate with what shows in the TemplateData documentation and contribute to ease of use for editors is the following:

またパラメータの順序は、たとえば オブジェクトがオブジェクト内に置かれたか確認し、エラーがあると保存時に「予期しないプロパティ」というメッセージが表示されます.

例

Here is some example TemplateData for a hypothetical cleanup template. The template would display a notice, and its source code would be programmed to place the page into a dated category based on the month and year entered. The notice could also contain a link to a talk page section, if specified. The TemplateData would look something like this:

The corresponding TemplateData documentation would display as the following:

{	"description": "Use this template to indicate that an article is in need of cleanup.", "format": "inline", "params": { "date": { "label": "Month and year", "description": "The month and year that the template was added", "type": "string", "autovalue": " ", "example": "January 2013", "suggested": true },		"reason": { "aliases": ["1"], "label": "Reason", "description": "The reason the article is in need of cleanup", "type": "string" },		"talk": { "aliases": ["talksection"], "label": "Talk page section", "description": "The section of the talk page containing relevant discussion", "type": "string" }	},	"paramOrder": [ "date", "reason", "talk" ] }

TemplateDataのパラメーター
Each parameter for TemplateData is listed below with a description and example. They are also listed at Extension:TemplateData#Format.

Within a parameter's name
Note: if neither "required", "suggested" nor "deprecated" are set as true for a parameter, its status will show as "optional" in the TemplateData documentation.

処理が終わったら、「保存」を押します. エラーがある場合には保存できません (一瞬、戸惑うかもしれませんが、破壊の予防になります). 自力でエラーを解決できないときは喜んでお手伝いしますので、フィードバック用のページに投稿して何をどうしたかったか説明をお願いします.

注記：ダイナミックなTemplateDataを作成するためにハックテンプレートの不正使用を試みようとする場合、保存前にエラーの検証はできない点にご注意ください.

注記：どの情報も半角の二重引用符で挟んであり (例外は  と  ) 、かたまりごとに半角カンマで区切る点に注意します (ならびの末尾を除く).

Type parameter
そのあとは パラメータの役割は、テンプレートエディタに、そのパラメータ値の解釈を伝えることです. In some cases, template editors have been programmed to modify the user interface for a certain parameter according to this TemplateData value, such as to only allow the user to enter valid values that match the specified type. このパラメータには、テンプレートのパラメータもしくはその設定値に影響する機能はありません. テンプレート編集者が編集モードでどう表示するか、パラメータをどう扱うか指定するのみです.

How to use

It is used by adding the  parameter, followed by a colon and a space, then adding any of the values listed in the table below in speech marks.

Example:

Effects

2020年2月時点でTemplateWizard が全13件の変数種別のうち8件を表示したのに対し、VisualEditor および2017年版ウィキ文エディタは5種のみでした.

The effects of certain values are likely to change as the template editors get updates to support them. One such effort for VisualEditor and the 2017 wikitext editor is tracked in the Phabricator task T55613. A similar effort to get TemplateWizard to support the boolean value is tracked in T200664.

The currently known effects are listed as follows.

特別な書式
の値を編集するときはカスタム化した書式を作成するものとし、その方法は既に定義のある規則に従いウィキテキストの記号一式を記入することです.


 * - start of the template
 * - content (e.g., string, integer or parameter). This underscore serves to indicate the minimum length of a value in characters and can be repeated, like . If this length is not reached, it fills the remaining characters with spaces. This can be used to align all equals signs to a specific position after a parameter (if used with   for new lines).
 * - pipe (separates parameters)
 * - equals sign (precedes the value of a parameter)
 * or pressing the enter key - new line (this will display as  in the entry field)
 * - space (can be used with  to indent new lines)
 * - end of the template

The wikitext should at least meet the minimum of, otherwise there will be an invalid format string error.

ブランク定型
以下に示す値が空の定型を複写して使用すると、特定のテンプレートに新規にテンプレートデータを記入できます. タグは最も一般的なタグのみ提供してあります.

JSON の構文エラー、もしくは　JSON 書式の間違い
このエラーの原因は特定の無効な JSON コードを含む TemplateData を保存しようとしており、VisualEditor もしくは2017年テキストエディタ (JavaScript ベースのエディタ) で、キー (パラメータ) の重複もしくはカンマが足りない・不用、などの場合が想定されます.

「JSON の構文エラー」とは VisualEditor または2017年ウィキテキスト エディタを使い、当該のコードを保存しようとした場合、また「JSON 書式の間違い」とはTemplateData GUI エディタを使ってテンプレートページ内の当該のコードを開こうとした場合に発生します.

このエラーは、特定のテンプレートの TemplateData を手動で編集すると、非常に高い頻度で発生します. 最も陥りがちな原因とは、カンマが多すぎ (文節末のカンマなど) または足りなかったり、引用符の片方を書いてないなどです.


 * 文節末のカンマの例.


 * カンマが足りない例.


 * 開く・閉じるの両方の引用符を書いていない例：

修正方法は、コードを自分で読んでエラー箇所を探すか、あるいは外部のJSON 検証機能としてJSONLintなどを利用し、JSON ブロックをコピー＆ペーストしてみると、問題のカンマやキーを強調表示してくれるので、それらを除去します.

長年にわたるバグが原因で、2010年ウィキテキスト エディタの利用者には無効な JSON を含むページの保存ができてしまい (詳細参照先：)、JavaScript パーサの抜け穴に起因しています.

必須のプロパティ「paramOrder(number)」が見つかりません.
このエラーの原因は 内のパラメータが に記述がない場合です. 半角四角カッコ内の数字は、 内に本来、あるべきなのに、そこに書かれてないパラメータを指示します. パラメータが先頭から何番目か示してあるのですが、実際の位置マイナス1で表示されていて、 はアレーだからです. つまり1位が0で始まるため、1は2位などと続きます.

修正方法は、 に記述したパラメータが全点、 にあるか確認し、記入します. 代替策として、 オブジェクトを除去するとエラーは出なくなります.

プロパティ "paramOrder(number)" の値が無効です.
エラーの原因は に記述のない 内にパラメータを定義したからです. 半角四角カッコ内の数字は、 内に記述されているが、本来、そこに書くべきではないパラメータを指示します. パラメータが先頭から何番目か示してあるのですが、実際の位置マイナス1で表示されていて、 はアレーだからです. つまり1位が0で始まるため、1は2位などと続きます.

修正方法は、 に記述したパラメータが全点、 にあるか確認し、記入します. 代替策として、 オブジェクトを除去するとエラーは出なくなります.

プロパティ "params.parametername.required" の種別は"ブール演算子"になるはずです.
このエラーは、必須 の、もしくは推奨 される値を引用符で挟んだ場合に発生します.

文字列ではなくブール演算子であるため、引用符は不要です. 修正方法は、これらパラメータ または の前後の引用符を除去します.

プロパティ "format" が取る値は……
もし  パラメータは存在するが設定値が   または   以外、あるいは書式ストリングが無効の場合、次のエラーメッセージが表示されます. 「プロパティの「書式」は「inline」「block」もしくは有効な書式の文字列にしてください」.

修正するには、 直後の設定値が   もしくは   と等しく、また文字のつづりに間違いがないことを確認します. 代わりの方法としてウィキ文であること、 は最少で、かつテンプレートの障害を防ぐため構文にエラーがないことを確かめ、とくに等号「=」が連続しないか大カッコ記号「 {」と「} 」のペアが崩れて片方だけ多い・足りない状態ではないかを確認します. カスタム書式の構文の詳細は#Custom formats節をご参照ください. 代替策として、 オブジェクトを除去するとエラーは出なくなります.

予期しないプロパティ"parametername "が使われています.
エラーの原因は$2に記述のない$1内にパラメータを定義したからです. 原因はスペル間違いにあります.

別の原因としてそのオブジェクトのパラメータではないのに、TemplateData オブジェクト内にパラメータを宣言した場合です. スペル間違いか、上位のオブジェクトの下位に置かれた TemplateData オブジェクト内にそのパラメータを記入していませんか.

一例として、パラメータ をTemplateData のオブジェクト 内ではなく、ルートに書いてしまったとします.

別の方法として、 内のテンプレートのパラメータに想定外のパラメータが含まれる場合、名称はエラー内の"パラメーターparametername." 配下に表示します.

修正方法は、パラメータ名のスペル間違いの修正と、さらにパラメータを正しい位置におくことです. それに加え、TemplateData オブジェクトに該当しないパラメータを記述していないか確認します. 特定のオブジェクトにどのパラメータが設定されているか、#TemplateData parametersの節をご参照ください.

必須のプロパティ「params」が見つかりません.
エラーの原因は、 TemplateData 内に  オブジェクトが1点もないからです. このオブジェクトは必須であり、パラメータ1個ごとの詳細を含むからです. エラーの修正方法は、オブジェクトを記入することと、スペル間違いの修正です. パラメータの追加方法は、このページの前述の節をご参照ください.

制限とフィードバック

 * 不足している機能 – テンプレートデータをあえて機能を制限したツールのサンプルとして提供したのは、どんな機能を求めているか利用者に教えてもらうことで開発の支援をお願いできないかという考えがあるからです. テンプレートデータの新機能の提案がありましたら、ぜひお知らせください.
 * テンプレート表示が遅れる – テンプレートページへ TemplateData を追加後、ビジュアルエディターでテンプレートを開くと、メタデータがすぐに表示されるはずです. しかしながらメタデータの表示には数時間を要する可能性があります. 強制的に更新するには (説明文書の下位ページではなく) テンプレートページ自体に空編集をします. 空編集を行うテンプレートページを開き、「任意の変更を加えず編集要約欄は空欄のまま」ページを保存します.
 * 現在の問題 – 現在のバグや機能要求のリストはWikimedia バグトラッカーで利用可能です.

その他のツール

 * : ツールバーのダイアログウィンドウ. テンプレートデータから生成したフォームを使い、テンプレートにウィキテキストを記入するために使用.
 * TemplateData Wizard: テンプレートデータを生成するツール. インタラクティブなインターフェースを使用.
 * Skeleton TemplateData generator: テンプレートのソースウィキコードを解読するツール. 使用するすべてのパラメータ（引数）を検出し、値が空のドキュメントとパラメータの一覧を出力.
 * JSONLint: 手入力したJSONが正しいかどうか確認するツール. 構文エラーの発見に役立つ.
 * このウィキにある[ テンプレートデータを備えたテンプレートの一覧]
 * ドイツ語版ウィキペディアのテンプレートに備わったテンプレートデータでは、ボックス内にテンプレートのデータを表示. テンプレートはそのデータとともにドイツ語版ウィキペディアの特定のカテゴリに分類される
 * https://query.wikidata.org/ およびクエリ補助機能 Query Helper