いっしきまさひこBLOG

Web制作関連、プログラミング関連、旅行記録などなど。

Movable Typeの曜日の日本語表示

Movable Typeの『MTEntryDate format="%x (%A)"』を日本語で表示させたとき、曜日の表示がおかしかった。

「日曜日→月曜日→火曜日→木曜日→水曜日→金曜日→土曜日」

の順に表示されていた。(木曜日と水曜日が逆。)

ソースを調べてみたら、以下の場所がバグっていたので、修正した。

「lib/MT/Util.pm」(853行-864行)

元々のソース:

%Languages = (

・・・

'jp' => [

[ '日曜日', '月曜日',

'火曜日', '木曜日',

'水曜日', '金曜日',

'土曜日'],

[ qw( 1 2 3 4 5 6 7 8 9 10 11 12 ) ],

[ qw( AM PM ) ],

"%Y年%m月%d日 %H:%M",

"%Y年%m月%d日",

"%H:%M",

"%Y年%m月",

],

・・・

);

曜日の部分を修正:

[ '日曜日', '月曜日',

'火曜日', '水曜日',

'木曜日', '金曜日',

'土曜日'],

なお、『MTEntryDate format="%x (%a)"』で曜日省略名(例:月)が表示できるとなっているが(『ウェブログ入門』インプレスのP224参照)、どうも「曜日完全名(例:月曜日)」の頭から3文字目までを取得する仕組みのようで、上記のように曜日完全名が「文字実体参照(character entity references)」になっているので、まともに表示できない(すべて「&#2か&#3」になる)。