コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

Template‐ノート:小文字

ページのコンテンツが他言語でサポートされていません。

タイトルの小文字化

[編集]

英語版にあるような Javascript hack は使えないのでしょうか?MediaWiki:Commonjs を使っているようですが。--fryed-peach 2007年1月11日 (木) 17:35 (UTC)[返信]

自分もそろそろこういうのを井戸端で提案しようかなと思ったところでした。MediaWiki:Commons.jsにRealTitleBannerのスクリプトを導入して、このテンプレにid指定してあげれば使えますね。-- Lusheeta 2007年1月11日 (木) 17:43 (UTC)[返信]
とりあえず分からない人のために仕組みを書いておきます。MediaWikiの仕様上、頭文字が半角英字を使われている場合強制的に大文字で表記されますが、RealTitileBannerと呼ばれるJavaScirptを用いることでen:iPodのように記事名の頭文字が小文字で表示か可能となります。また、JavaScriptを利用できないブラウザにおいては現状通り「この項目の本来の表記は~」のテンプレートを表示します。
個人的にはIPodIモードなどという表記にはちょっと抵抗がありますし、JavaScriptを用いて本来の表記が行えることは少なくとも美観(?)の向上になるので非常に良いものと思っています。また、この案件についてはウィキペディア全体の問題になると思いますので、Wikipedia:井戸端 (告知)で告知します。-- Lusheeta 2007年1月12日 (金) 02:30 (UTC)[返信]
基本的に導入には賛成です。どの程度の作業量が発生するのか(Template:小文字の修正だけでよいのか、このテンプレートを使っている記事も修正の必要があるのか)、記事名の先頭を小文字にする以外の影響はないのか、など、不明点も多いので、詳しい方にそのあたりの解説をしていただければと思います。--Tamago915 2007年1月12日 (金) 04:03 (UTC)[返信]
現行のen:Template:Lowercaseをそのまま移入するならば、引数の数・名称とも日本語版と同じなので、各記事に対する修正は必要ないようです。--cpro 2007年1月12日 (金) 10:39 (UTC)[返信]
導入に賛成です。これに限らず、en:Template:Navbox genericなどで使われている collapsible(テーブルを折りたためる)なども使いたいんですが、en:MediaWiki:Common.jsをまるごと導入することってできるんでしょうか。--cpro 2007年1月12日 (金) 04:11 (UTC)[返信]

en:MediaWiki:Common.jsの最後にある "Technical restrictions" title fix のスクリプトですが、これはen:Template:lowercaseに限らず、en:Category:Wrong title templatesにある名称訂正テンプレ全部に適用されています。日本語版では、Template:記事名の制約にも適用すれば有用になると思います。

で、ソースを読んでみました。以下大雑把な解説。

前提: 以下を全て満たす場合に動作します。

  • id="RealTitleBanner" を持つ要素が存在する(通常、テンプレート全体を囲む <div> 要素などに付く)
  • id="RealTitle" を持つ要素が存在する(本来の名称を示す部分を <span> で囲み、この id を付ける)
  • id="DisableRealTitle" を持つ要素が存在しない
  • 真偽値 disableRealTitle が偽である(ユーザスクリプトで無効にするためのスイッチ)

動作:

  1. id="RealTitle" とした要素の中身を (A) とし、 (A) からHTML要素を除いたプレーンテキストを (B) とする。
  2. (B) をウィンドウのタイトルバーの表示に反映する。
  3. (B) の先頭を大文字に・アンダースコアをスペースに変換した文字列と、実際のシステム的な記事名のアンダースコアをスペースに変換した文字列が一致する場合、文書タイトル(最初の <h1> 要素)が書き換わる。
    1. この際、(A) が "複雑"(sub, sup, small, big 以外のHTML要素がある場合)であれば、タイトルは (B) になり、そうでなければ (A) になる。
    2. タイトルが書き換わり、さらに (A) が "複雑" でなければ、 id="RealTitleBanner" とした要素(テンプレート全体)を非表示にする。

具体例:

記事名 RealTitle タイトル (<h1>) テンプレート
IPod iPod iPod 非表示
C Sharp C# C Sharp 表示
H2O H<sub>2</sub>O H2O 非表示
CYNTHIA THE MISSION CYNTHIA_THE_MISSION CYNTHIA_THE_MISSION 非表示
ひぐらしのなく頃に ひぐらしの<span style="color:#f00;">な</span>く頃に ひぐらしのなく頃に 表示

--cpro 2007年1月12日 (金) 10:39 (UTC)[返信]

解説ありがとうございます。テンプレートを呼び出している記事のほうは、修正しないでもすみそうです。あと気になるのが、祇園など、正しい名称を画像で表現しているものですが、これは個別に対応するしかなさそうですね。--Tamago915 2007年1月12日 (金) 14:17 (UTC)[返信]
細かな機能説明ありがとうございます。小文字だけではなくて"Technical restrictions"(技術的制限)という大ジャンル(?)になっているんですね。-- Lusheeta 2007年1月13日 (土) 03:23 (UTC)[返信]

詳しい説明ありがとうございます。早速、テンプレートのほうは書き換えてしまっても構いませんか?現在の表示には影響しませんし。とりあえず、該当のコードはUser:Fryed-peach/RealTitleBanner.jsに切り出してみたので、ユーザースクリプトでinclude すれば試せるようになるはずです。--fryed-peach 2007年1月13日 (土) 23:59 (UTC)[返信]

template:小文字template:記事名の制約にRealTitleBannerのスクリプトを呼び出すための処置をしておきました(template:小文字についてはFryed-peachさんにはお手数をおかけしました)。ユーザースクリプトにUser:Fryed-peach/RealTitleBanner.jsを呼び出す記述をすれば問題なく利用できます。ただし、利用者名前空間の場合、利用者:ではなくUser:から始まっているので、その点が問題かなと思います。User:を利用者:に置換するスクリプトを組み込まなければならないのか、そこらへんはちょっと分かりませんが。-- Lusheeta 2007年1月16日 (火) 20:31 (UTC)[返信]
もうひとつ。Au (携帯電話)などの括弧付きの大半は小文字化されません。(大半としているのはas (歌手)のように括弧があるにも拘わらず小文字になっているため)報告まで。-- Lusheeta 2007年1月16日 (火) 20:39 (UTC)[返信]
括弧つきの記事でh1(見出し)が小文字化されないのは(ブラウザウィンドウのタイトルは小文字化されている)、おそらく title パラメータの使い方によります。auの記事はtitle=auとしていて、au (携帯電話) と異なるので置換されません。asのほうはtitle=as (歌手)としていて、一致するので置換されます。これは内部リンクをする際に、記事の見出しをコピー&ペーストしてリンクできるように、という配慮だと思います。個人的には、このテンプレートを使う際は title パラメータを指定しないほうがいいのかなと思います。--fryed-peach 2007年1月16日 (火) 21:37 (UTC)[返信]
そういう仕組みでしたか。勉強になります。RTBの正式運用とともにパラメータは使わない方針でいきましょうか。-- Lusheeta 2007年1月17日 (水) 12:51 (UTC)[返信]

議論が停滞してしまいましたが、Common.jsについてはどこに問い合わせたらよいのでしょう?--fryed-peach 2007年2月13日 (火) 03:34 (UTC)[返信]

Wikipedia:井戸端 (告知)辺りが適当かと -- あにまの 2007年2月14日 (水) 04:28 (UTC)[返信]

不具合が出ていないようなら、管理者伝言板でCommon.jsの編集を依頼しようかと思うのですが、どうでしょう。--fryed-peach 2007年4月29日 (日) 10:04 (UTC)[返信]

提案しました。--fryed-peach 2007年5月7日 (月) 02:26 (UTC)[返信]
早速、導入されました。これで利用者:Fryed-peach/RealTitleBanner.jsのincludeはもう必要ありません。--fryed-peach 2007年5月7日 (月) 09:26 (UTC)[返信]
報告。どうもカッコ付きの記事(一例:Switch (naked ape))には対応しないようです。--あおみまきな 2007年5月20日 (日) 19:18 (UTC)[返信]

MediaWikiの技術的制限?

[編集]

タイトルの頭が大文字になるのは「MediaWikiの技術的制限」ではないのではないでしょうか。Wiktionaryでは小文字にできます。--Supertchan 2007年8月23日 (木) 08:04 (UTC)

DISPLAYTITLE

[編集]

先程のHelp:マジックワードの更新で知ったのですが、ウィキメディアプロジェクトで {{DISPLAYTITLE:xyz}} が使用可能になっていたようです。これは何かというと、xyzに指定した文字列がそのページの記事名と同一視できる場合、<h1>要素の内容とタイトルバーがxyzに置き換わる、というものです。

とりあえず利用者:Cpro/test testを見てもらうと話が早いですが、項目名の先頭1文字が小文字である場合と、半角スペースがアンダースコアになっている場合に同一と見なされます。(名前空間もMediaWikiデフォルトのものにできたりもするんですがこれはあまり使わないと思います)

これを導入することで、

  • JavaScriptを切っている環境でも意図通りのタイトルが表示される
  • 現行のものと違い、名前空間を言語版ローカルのままにできる(利用者: が User: になったりしない)
  • 少なくとも{{小文字}}に関してはメッセージボックスが不要になる
  • {{記事名の制約}}についても、条件文を利用してメッセージボックスのソースを生成させないことが可能

というメリットが考えられます。デメリットは今のところ思いつきません。

というわけで、導入を検討してみようと思うんですがいかがでしょうか。--cpro 2007年12月11日 (火) 09:22 (UTC)[返信]

その情報を更新したものですが、導入に賛成します。英語版の en:Template:Lowercase のソースをみて気づきました。{{記事名の制約}} のほうは意見を保留します。複雑になりそう。
ただ、デメリットとまではいえませんが、このマジックワードのあとに空行が続くと、余分は空行が入るようです。 --fryed-peach 2007年12月11日 (火) 09:39 (UTC)[返信]
JavaScriptで処理を行うよりはPHP(MediaWiki)で全部やったほうが都合はいいでしょうね。サーバー側での仕事が増えるわけだけどクライアントサイドが描画後に行う処理を減らせるから感覚的に少し軽くなるかも。と言うわけで賛成。--Marine-Blue [ 会話 履歴 ] 2007年12月12日 (水) 08:12 (UTC)[返信]

記事名の制約については、fryed-peachさんのおっしゃるとおり複雑になるので手を付けずにおきましょう。ですが、Shift_JISなどでも DISPLAYTITLE を使えると便利なので、en:Template:Underscore を移入してみてはどうかと考えました。というわけで、あらためて具体的な提案。

以上2点です。--cpro 2007年12月12日 (水) 09:05 (UTC)[返信]

テンプレート増設には反対です。両方の場合というのもあるので (shift_JISは本来、大文字でなければならないわけではないです)。
{{DISPLAYTITLE:realTiTLE|real title is '''realTiTLE'''!}}のような指定 (第2引数は置き換えをしなかった場合に表示するもの) ができるようになるとよいとおもいます。そうすれば{{記事名の制約}}でもJavaScriptに頼らなくてよくなりますから。patchをつくってBugzillaにfeature requestを投げようかとおもってますが年末進行中につき時機未定
あで、{{小文字}}への{{DISPLAYTITLE}}適用は賛成です。 --Hatukanezumi 2007年12月12日 (水) 11:07 (UTC)[返信]
えと、Underscoreと名付けられてますが、ぶっちゃけ {{DISPLAYTITLE:xyz}} の xyz 部分を引数に指定させるだけのテンプレートなので、小文字も同時に対応可能です。紛らわしければ別の名前を考えてもいいかも知れません。--cpro 2007年12月12日 (水) 11:52 (UTC)[返信]
en:Template:Wrongtitleも{{DISPLAYTITLE}}は使っていないので、導入するなら分けることに賛成です。導入自体についての意見は保留させてください。ちなみに英語版には{{lowercase and underscore}}というテンプレートもあるようです(これを導入しろと言っているわけではありません)。
いずれにしても、{{小文字}}への{{DISPLAYTITLE}}導入は賛成です。--emk 2007年12月12日 (水) 15:11 (UTC)[返信]
あ、なるほど。勘違いでした。
{{記事名の制約}}のようにタイトルをパラメータ指定できるもので、置き換えできない場合に「メッセージが表示される」もののほかに、「なにも表示されない」ものをつくる、という意味でしょうか。なにも表示されないものは、フェールセーフの意味ではつくらなくてもよいような気がします。が、ちょっとよくわからなくなったのでテンプレート新設については保留します。すみません。{{小文字}}については賛成のまま。 --Hatukanezumi 2007年12月13日 (木) 00:41 (UTC) 加筆 --Hatukanezumi 2007年12月13日 (木) 06:14 (UTC)[返信]

議論が止まっていますが、{{小文字}}への導入については反対がなかったので先行して導入しました。--emk 2007年12月21日 (金) 11:34 (UTC)[返信]

{{記事名の制約}}への導入提案

[編集]

置き換えが行われる場合の判定方法を思いついたので、上記の意見を撤回して{{記事名の制約}}へのDISPLAYTITLE導入を提案します。利用者:Emk/Template:記事名の制約に試作してみましたので、ご意見をお願いします。

DISPLAYTITLEは<sub></sub>などが使われている場合の面倒までは見てくれないので、残念ながらJavaScriptの全廃はできませんでした。--emk 2008年1月1日 (火) 13:09 (UTC)[返信]

特にコメントはなさそうなので導入してみました。--emk 2008年1月8日 (火) 13:21 (UTC)[返信]
Shift_JISがおかしかったのでチェックを複雑にしてみました。このテンプレートはテストケース機能が使えないから面倒ですね。 --fryed-peach 2008年1月8日 (火) 15:02 (UTC)[返信]