MTOS4.2向けテンプレートを作成する(3) 手抜きで行くには
恐らくは、こういうのが王道なんだろうけど。
WolaWola:テンプレートセット・プラグインのローカライズしかし。なんかイヤだな。いやなんとなく。どことなく。英語モジュール名に対応した日本語モジュール名を準備するというところに、そこはかとなく面倒くささを感じた。
いっそのこと、全部英語で行きたいが、モジュール名を全て英語にしていても、本体側の辞書(lib/MT/L10N/ja.pm)にそのモジュール名が含まれていると、いやおうなしに、しかもこちらが意図しない日本語化が行われてしまうモジュールがある。こりゃ駄目だ。中途半端。
そこで...
ちょっと時間がないので、このような解決方法で。
エントリページのテンプレート、entry.mtmlを例に。
エントリのテンプレート、改造前
<$MTInclude module="mdlXMLDec"$>
<MTIgnore>変数宣言</MTIgnore>
<MTSetVar name="body_class" value="mt-archive-listing mt-entry-archive">
<MTSetVar name="colmn" value="">
<MTSetVar name="module_about_context" value="1">
<MTIfCommentsAccepted><$MTSetVar name="body_onload" value="individualArchivesOnLoad(commenter_name)"$></MTIfCommentsAccepted>
<MTSetVarBlock name="page_title"><$MTEntryTitle$></MTSetVarBlock>
<MTSetVarBlock name="title"><$MTGetVar name="page_title"$></MTSetVarBlock>
<MTSetVarBlock name="html_head">
<MTEntryPrevious><link rel="prev" href="<$MTEntryPermalink$>" title="<$MTEntryTitle encode_html="1"$>" /></MTEntryPrevious>
<MTEntryNext><link rel="next" href="<$MTEntryPermalink$>" title="<$MTEntryTitle encode_html="1"$>" /></MTEntryNext>
<MTIfPingsAccepted><$MTEntryTrackbackData$></MTIfPingsAccepted>
<MTIfCommentsAccepted><script type="text/javascript" src="<$MTLink template="javascript"$>"></script></MTIfCommentsAccepted>
</MTSetVarBlock>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<$MTInclude module="mdlMeta"$>
<body<MTIf name="body_onload"> onload="<$MTGetVar name="body_onload"$>"</MTIf>>
<$MTInclude module="ヘッダー"$>
<$MTInclude module="mdlGlobalNavi"$>
<div id="maincontainer">
<div id="maincontent<MTGetVar name="colmn">">
<$MTInclude module="mdlTopicPath"$>
<$MTInclude module="ブログ記事の詳細"$>
<$MTInclude module="カテゴリ"$>
<$MTInclude module="タグ"$>
<$MTInclude module="トラックバック"$>
<$MTInclude module="コメント"$>
</div>
<$MTInclude module="サイドバー"$>
<$MTInclude module="mdlExtra"$>
</div>
<$MTInclude module="フッター"$>
</body>
</html>
エントリのテンプレート、改造後
<$MTInclude module="mdlXMLDec"$>
<MTIgnore>変数宣言</MTIgnore>
<MTSetVar name="body_class" value="mt-archive-listing mt-entry-archive">
<MTSetVar name="colmn" value="">
<MTSetVar name="module_about_context" value="1">
<MTIfCommentsAccepted><$MTSetVar name="body_onload" value="individualArchivesOnLoad(commenter_name)"$></MTIfCommentsAccepted>
<MTSetVarBlock name="page_title"><$MTEntryTitle$></MTSetVarBlock>
<MTSetVarBlock name="title"><$MTGetVar name="page_title"$></MTSetVarBlock>
<MTSetVarBlock name="html_head">
<MTEntryPrevious><link rel="prev" href="<$MTEntryPermalink$>" title="<$MTEntryTitle encode_html="1"$>" /></MTEntryPrevious>
<MTEntryNext><link rel="next" href="<$MTEntryPermalink$>" title="<$MTEntryTitle encode_html="1"$>" /></MTEntryNext>
<MTIfPingsAccepted><$MTEntryTrackbackData$></MTIfPingsAccepted>
<MTIfCommentsAccepted><script type="text/javascript" src="<$MTLink template="javascript"$>"></script></MTIfCommentsAccepted>
</MTSetVarBlock>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<$MTInclude module="mdlMeta"$>
<body<MTIf name="body_onload"> onload="<$MTGetVar name="body_onload"$>"</MTIf>>
<$MTInclude module="<__trans phrase="Header">"$>
<$MTInclude module="mdlGlobalNavi"$>
<div id="maincontainer">
<div id="maincontent<MTGetVar name="colmn">">
<$MTInclude module="mdlTopicPath"$>
<$MTInclude module="<__trans phrase="Entry Detail">"$>
<$MTInclude module="<__trans phrase="Categories">"$>
<$MTInclude module="<__trans phrase="Tags">"$>
<$MTInclude module="<__trans phrase="TrackBacks">"$>
<$MTInclude module="<__trans phrase="Comments">"$>
</div>
<$MTInclude module="<__trans phrase="Sidebar">"$>
<$MTInclude module="mdlExtra"$>
</div>
<$MTInclude module="<__trans phrase="Footer">"$>
</body>
</html>
__trans phrase="hoge" で手抜き
デフォルトテンプレートの手法かなこりゃ。もし本体側の標準の辞書で日本語化できるときは日本語化する。できないときは英語表記のままで。
これはこれで面倒だった。あと、なんかお茶を濁したようでアレだが...。
結果、以下の図のような感じになる。自分はこれでわかるんでこれでもええかのう。誰でも使えるような、いわゆる「配布向き」ではないかも知れん。
見たいヒト向けにダウンロード、そして今後
再構築できる、ページが表示されるとこまでは見た。
テンプレートの配布ではなく、参考データの配布と考えてください。チャレンジャー向けです。忙しいんでサポートの類はありません。このテンプレートはconfig.yamlあるんで適用は簡単です。フォルダごとpluginsフォルダへアップロードしてください。
なお、予告なく削除することがあります。
2008/07/29 やはりベータの現時点ではテンプレート配布などは控えておきます。
Movable Type ベータ・ソフトウェア利用許諾契約書:http://www.movabletype.jp/license_beta.html#license-ja
さて、MTOS4.2テンプレートは、MT4.2本リリースまでにどうにかしたい(じぶん的希望)。今日はちょっと時間ないのでここまで。
- カテゴリ:213テンプレート
トラックバック(1)
このブログ記事を参照しているブログ一覧: MTOS4.2向けテンプレートを作成する(3) 手抜きで行くには
このブログ記事に対するトラックバックURL:
» ActionStreamプラグインで試す、テンプレート内のローカライズ(WolaWola)~のトラックバック
本家の方でもActionStreamがMT4.2で動かないなんて質問が出ている。実際はテンプレートの問題だけなので、日本語化の練習台に修正版作ってみた。あ... 続きを読む
- Categories
- Entries
-
- MT4.23:MTCSデフォルトテンプレート解析(06)
- MT4.23:MTCSデフォルトテンプレート解析(05)
- MT4.23:MTCSデフォルトテンプレート解析(04)
- MT4.23:MTCSデフォルトテンプレート解析(03)
- MT4.23:MTCSデフォルトテンプレート解析(02)
- MT4.23:MTCSデフォルトテンプレート解析(01)
- MTOS4.2向けテンプレートを作成する(3) 手抜きで行くには
- MTOS4.2向けテンプレートを作成する(2) XHTML構造とモジュール名
- MTOS4.2向けテンプレートを作成する(1) イントロ
- MT4.1:テンプレート配布(v1.0.5)
- MT4.1:テンプレートへパンくずリストを追加
- MT4.1:テンプレート配布
コメント(2)
oscar (2008年8月13日 10:30)
どもです。
豪雨大丈夫でしたか?
>本体側の辞書(lib/MT/L10N/ja.pm)にそのモジュール名が含まれていると、いやおうなしに、しかもこちらが意図しない日本語化が行われてしまうモジュールがある。
やっとやり方わかりましたが、強制的にプラグイン側の辞書使わせる方法がありました。L10N.pmに追加の関数置いて処理させる方法です。
サンプル・プラグインを公開してみます。
yoshi (2008年8月14日 00:08)
豪雨?こちらでは豪雨とかは特に無かった気がしますが...
プラグイン側の辞書ですか。
ありがとうございます。
時間のあるときに見ておきます。
コメントする