Template‐ノート:MONTHNUMBER
テンプレート表示内容に関する相談(提案)
[編集]英語版からen:Template:Birth based on age as of dateの導入を検討しています。この関数内でこのTemplate:MONTHNUMBERを呼び出すのですが、英語版ではこの関数が数字を返すのに対し、日本語版では後ろに「月」が付くので、そのままでは動きません。現状、このテンプレートを使用しているのが50ページ未満であり、また、Template:MONTHNAMEの出力がこのテンプレートとほとんど同じですので、現状でこのテンプレートを使っているページを全てTemplate:MONTHNAMEに置き換え、このテンプレートは英語版同様に数字を返すように変更したいのですが、いかがでしょうか?--Freetrashbox(会話) 2015年2月15日 (日) 05:06 (UTC)
- 情報 このテンプレートについて、直近の修正を実施した者です。上記の対応を行っていただくにあたり、2点ほどお伝えしておきたいことがあります。
- 詳細は割愛しますが、以前このテンプレートを修正したときに若干細工をしており、このテンプレートを記事名前空間以外で呼び出した場合には一律に "X月" の形式で出力されますが、実際に記事名前空間で使用した場合には引数1が "jan"〜"dec" のときのみ "X月" 形式で出力され、入力値が数字のときには "月" が付かない数字のみの出力になります(ちぐはぐですが、従前の仕様がそうだったので念のため記事名前空間での互換性を確保していました)。従って、現状のままでも{{Birth based on age as of date}}を記事名前空間で呼び出せば正常に機能すると思いますが、別にもう "月" の表示は取り除いていただいても問題ないと思います(#switch内の "月" 12箇所と "{{#if:{{NAMESPACE}}|月}}" を除去いただければ)。
- {{MONTHNAME}}は引数1が英語の月名("jan"~"dec")で入力された場合に対応しておらずそのままではMONTHNUMBERの代替としては使えないので、代わりに{{年月日}}を用いてテンプレート2つの置換を行いました(({{Comics infobox sec/run}}と{{Infobox comics team and title}})。MONTHNUMBERを内部使用しているテンプレートとしてはもう1つ{{COinS bibliographique}}がありますが、こちらはむしろ現状でエラー状態のマークアップになっているので特に対応はしていません(フランス語版移入用のテンプレートであり、呼び出し元記事の引数の入力値がフランス語表記の月名になっているためですが、マジクワード "urlencode" の生成テキストが若干変になるだけで大怪我はしてなさそう?)。
- と、そんな感じですので、あとはMONTHNUMBERのみ必要に応じて修正いただければOKかと思います。--ディー・エム(会話) 2015年2月16日 (月) 15:45 (UTC)
- 情報、ありがとうございます。なるほど、記事名前空間では正しく機能するようですね。どうするのがベストか私には分かりませんが、利用者サンドボックスや、テンプレートのtestcasesと記事空間の出力が異なるのはまずいように思います。多分、今の出力じゃないとダメなテンプレートがあるのでしょうから、まずはそのテンプレートの修正が必要かもしれませんね。--Freetrashbox(会話) 2015年2月17日 (火) 11:14 (UTC)
報告 現在のリンク元ページ一覧を確認した限りではこのテンプレートから "X月" 形式での出力を受け取っているケースは既に無くなっており、現時点で問題は見当たりませんでしたので、上記のテンプレート修正を実施しました。
いちおう、今回の修正によって出力結果への影響が想定されるテンプレートが2つだけあります。Template:COinS bibliographiqueとTemplate:MONTHがそれですが、いずれもマークアップを見るかぎり、もともと "月" の文字が付かない数字のみの値の受け渡しを想定されているようなので、今回の修正によってむしろテンプレート本来の想定どおりの出力が得られるはずです。前者はフランス語版からの翻訳記事で使用されており、元記事で仏語の月名が引数1として入力されているため、それにも対応しないと実際には正常に機能しませんので、今回ついでにフランス語の月名からの変換も条件式に加えました。後者のテンプレート(TP:MONTH)は記事ページでは1件も使用されておらず、利用者サブページで現在1件だけ見本表示で呼び出されているのみです。これに関連した事柄として、日付表記の修正対応に関する案件が以前あったのですが、実際の記事閲覧に影響のある修正(関連する記事テキスト、リダイレクト、テンプレートの修正)は既に完了しており、もう現時点では問題ないと思います。--ディー・エム(会話) 2015年2月22日 (日) 11:20 (UTC)
- 御対応、ありがとうございました。なお、(私のコピーしたテンプレート側の問題かもしれませんが){{birth based on age as of date | 50 | 2014 | February | 22}}の出力がまだエラーになるようです。英語版の凝ったテンプレートを移植するのはなかなか大変ですね。--Freetrashbox(会話) 2015年2月22日 (日) 11:49 (UTC)
- コメント 上記のソーステキストをそのままコピペしてテストしたところ、「構文エラー: 認識できない区切り文字「�」です。〜(略)〜」というエラーが出ましたので、おそらくは入力テキストの間(おそらく縦棒の前後)に不可視の制御文字が入り混んでいるものと思われます。手打ち入力で同一の文字列を入力すると正常に表示されましたのでテンプレート自体はどちらも異常なさそうです。--ディー・エム(会話) 2015年2月22日 (日) 13:11 (UTC)
- 了解しました。お忙しいところ色々と御手数をおかけしました。ありがとうございました。--Freetrashbox(会話) 2015年2月28日 (土) 10:41 (UTC)
- コメント 上記のソーステキストをそのままコピペしてテストしたところ、「構文エラー: 認識できない区切り文字「�」です。〜(略)〜」というエラーが出ましたので、おそらくは入力テキストの間(おそらく縦棒の前後)に不可視の制御文字が入り混んでいるものと思われます。手打ち入力で同一の文字列を入力すると正常に表示されましたのでテンプレート自体はどちらも異常なさそうです。--ディー・エム(会話) 2015年2月22日 (日) 13:11 (UTC)