TopWordPress > カスタマイズ > ローカライズ > WordPress での時刻表記「AM/PM」を「午前/午後」にする方法
2007年3月28日

WordPress での時刻表記「AM/PM」を「午前/午後」にする方法

Posted at March 28,2007 3:10 AM
Category:[ローカライズ]
Tag:[, , ]

WordPress で投稿時間等に用いる「AM/PM」あるいは「am/pm」という表示を日本語表記の「午前/午後」にする方法です。

「AM・PM」を「午前・午後」で表示する

1.Portable Object ファイルの編集

ローカライズ機能で用いる Portable Object ファイルを編集します。

1.1 2.1.x の場合

ご利用の文字コードに合わせて下記のいずれかのファイルを任意のエディタで開きます。文字コードが UTF-8 の場合は ja_UTF.po を編集します。

wp-content/languages/ja_EUC.po
wp-content/languages/ja_SJIS.po
wp-content/languages/ja_UTF.po

次に下記の行を探し、青色のように修正します。修正前は msgid と同じ値が入っています。

#: wp-includes/locale.php:85
msgid "am"
msgstr "午前"
 
#: wp-includes/locale.php:86
msgid "pm"
msgstr "午後"
 
#: wp-includes/locale.php:87
msgid "AM"
msgstr "午前"
 
#: wp-includes/locale.php:88
msgid "PM"
msgstr "午後"

1.2 2.0.x の場合

ご利用の文字コードに合わせて下記のいずれかのファイルを任意のエディタで開き、下記の行を追加してください。文字コードが UTF-8 の場合は ja_UTF.po を編集します。

wp-includes/languages/ja_EUC.po
wp-includes/languages/ja_SJIS.po
wp-includes/languages/ja_UTF.po
msgid "am"
msgstr "午前"
 
msgid "pm"
msgstr "午後"

2.functions.php の修正

この作業は 2.0.x のみです。wp-includes/functions.php を任意のエディタで開き、下記の青色を追加してください。

function mysql2date($dateformatstring, $mysqlstring, $translate = true) {
    global $month, $weekday, $month_abbrev, $weekday_abbrev;
    $m = $mysqlstring;
    if ( empty($m) ) {
        return false;
    }
    $i = mktime(substr($m,11,2),substr($m,14,2),substr($m,17,2),substr($m,5,2),substr($m,8,2),substr($m,0,4));
    
    if ( -1 == $i || false == $i )
        $i = 0;
 
    if ( !empty($month) && !empty($weekday) && $translate ) {
        $datemonth = $month[date('m', $i)];
        $datemonth_abbrev = $month_abbrev[$datemonth];
        $dateweekday = $weekday[date('w', $i)];
        $dateweekday_abbrev = $weekday_abbrev[$dateweekday];
        $dateformatstring = ' '.$dateformatstring;
        $dateformatstring = preg_replace("/([^\\\])D/", "\${1}".backslashit($dateweekday_abbrev), $dateformatstring);
        $dateformatstring = preg_replace("/([^\\\])F/", "\${1}".backslashit($datemonth), $dateformatstring);
        $dateformatstring = preg_replace("/([^\\\])l/", "\${1}".backslashit($dateweekday), $dateformatstring);
        $dateformatstring = preg_replace("/([^\\\])M/", "\${1}".backslashit($datemonth_abbrev), $dateformatstring);
        $dateampm = (substr($m,11,2) >= 12) ? __('pm') : __('am');
        $dateformatstring = preg_replace("/([^\\\])a/", "\${1}".backslashit($dateampm), $dateformatstring);
        $dateformatstring = preg_replace("/([^\\\])A/", "\${1}".backslashit($dateampm), $dateformatstring);
        $dateformatstring = substr($dateformatstring, 1, strlen($dateformatstring)-1);
    }
    $j = @date($dateformatstring, $i);
    if ( !$j ) {
    // for debug purposes
    //    echo $i." ".$mysqlstring;
    }
    return $j;
}

3.Portable Object のコンパイル

2.0.x、2.1.x、いずれの場合も、編集した ja_XXX.po ファイルをコンパイルします。
コンパイルするには、poEDIT または msgfmt を利用します。poEDIT によるコンパイルが簡単ですが、このエントリーでは説明を省略します(順序が逆になりますが、後日ご紹介します)。

以上です。
なお管理画面の「時間のフォーマット」で日本語が適用されない(下記)のは、サンプル表示のために mysql2date 関数を起動していないためですので心配ありません。

「時間のフォーマット」

Posted by yujiro   このページの先頭に戻る
関連記事
この記事を読んだ人はこんな記事も読んでいます
人気エントリー
Hatena Hot Entries
Hatena Entries
トラックバックURL


コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字 イタリック アンダーライン ハイパーリンク 引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)

Now loading...
Introduction
Entries of this Category
Recent Entries
Recent Comments
Recent Trackbacks
QRcode

現在停止中です
携帯電話からこのQRcodeを撮影することで携帯用URLを取得することができます

URI for cellular phones
ギターに入った猫
Styles
Font Size
Default
For defective color vision
Gray Scale
RGB Color
Search this site

このブログをメールで購読する by:FeedBurner

loading ...
Categories
Monthly Archives
BlogPeople
Syndicate this site
FeedBurner(RSS1.0/RSS2.0/Atom)
Counter
これまでのアクセス
クリエイティブ・コモンズ・ライセンス
Powered by
Movable Type 5.12