Under the Bridge

a Picture of the Late Him

MTOS4.2向けテンプレートを作成する(3) 手抜きで行くには

2008年7月29日 01:02 | Writer: yoshi | 記事本文 | コメント(2) | トラックバック(1)

恐らくは、こういうのが王道なんだろうけど。

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" で手抜き

デフォルトテンプレートの手法かなこりゃ。もし本体側の標準の辞書で日本語化できるときは日本語化する。できないときは英語表記のままで。

これはこれで面倒だった。あと、なんかお茶を濁したようでアレだが...。

結果、以下の図のような感じになる。自分はこれでわかるんでこれでもええかのう。誰でも使えるような、いわゆる「配布向き」ではないかも知れん。

20080728.png

見たいヒト向けにダウンロード、そして今後

http://www.apstars.com/blog/download/MtdeTemplateSetv42_101.zip

再構築できる、ページが表示されるとこまでは見た。

テンプレートの配布ではなく、参考データの配布と考えてください。チャレンジャー向けです。忙しいんでサポートの類はありません。このテンプレートはconfig.yamlあるんで適用は簡単です。フォルダごとpluginsフォルダへアップロードしてください。

なお、予告なく削除することがあります。

2008/07/29 やはりベータの現時点ではテンプレート配布などは控えておきます。

Movable Type ベータ・ソフトウェア利用許諾契約書:http://www.movabletype.jp/license_beta.html#license-ja

さて、MTOS4.2テンプレートは、MT4.2本リリースまでにどうにかしたい(じぶん的希望)。今日はちょっと時間ないのでここまで。

トラックバック(1)

このブログ記事を参照しているブログ一覧: MTOS4.2向けテンプレートを作成する(3) 手抜きで行くには

このブログ記事に対するトラックバックURL:

» ActionStreamプラグインで試す、テンプレート内のローカライズ(WolaWola)~のトラックバック

本家の方でもActionStreamがMT4.2で動かないなんて質問が出ている。実際はテンプレートの問題だけなので、日本語化の練習台に修正版作ってみた。あ... 続きを読む

2008年8月17日 23:48

コメント(2)

oscar (2008年8月13日 10:30)

どもです。
豪雨大丈夫でしたか?

>本体側の辞書(lib/MT/L10N/ja.pm)にそのモジュール名が含まれていると、いやおうなしに、しかもこちらが意図しない日本語化が行われてしまうモジュールがある。

やっとやり方わかりましたが、強制的にプラグイン側の辞書使わせる方法がありました。L10N.pmに追加の関数置いて処理させる方法です。
サンプル・プラグインを公開してみます。

yoshi (2008年8月14日 00:08)

豪雨?こちらでは豪雨とかは特に無かった気がしますが...

プラグイン側の辞書ですか。
ありがとうございます。
時間のあるときに見ておきます。

コメントする






Categories
Entries
Feed
スポンサードリンク

parts

フィードメーター - Under the Bridge

あわせて読みたい

なかのひと

2008 yoshi(apstar)