きにきじ」:今日の気になる記事をきまぐれにご紹介

WordPressの日付表示を英語表記にする方法:WPアップグレード後にやること

Posted at 16:50 on August 30, 2009

Last updated at 01:42 on July 21, 2010

Category: Non-News, Note

Tags: , , ,


しばらく前に WordPress を2.8にアップグレードしました。WordPress はすばらしいブログソフトウェアだと思いますが、アップグレードするといくつかの設定が初期化されてしまい、それをまたカスタマイズし直すのが若干面倒臭いと思う今日この頃です。その再設定の面倒さを解決する方法はひとまず措いておいて、備忘録というか自分用のメモとして設定の仕方を記事として残しておこうと思います。

前置きが長くなりました。今回は WordPress での日付の表示を英語表記にする方法です。

WordPress 日本語版をインストールすると、日付は「2009年8月30日」という風に表示されます。個人的に「August 30, 2009」のような英語表記のほうがかっこいい気がするので1、日付の表示方法を変更したいなと思うわけです。英語版をインストールすればいいというツッコミはひとまず無視しますw

基本的には以下でご紹介する小粋空間さんの記事に書いてあるようにやれば英語表記になります。

» 小粋空間: WordPress の月および曜日を英語表記にする

ただ、locale.php を弄る必要があり、初心者には難易度が高めですし、初心者じゃなくても面倒臭いですよね。ということで、面倒なことはプラグインにやってもらいましょう。以下で配布されている「EnglishDate」というプラグインをインストールすれば面倒なことをしなくても英語表記になります。プラグインを作ってくださっている方々に感謝です。

» 日本語版WordPressの曜日・月表記を英語にする方法 スタッフブログ 香川県 ホームページ制作会社 WEB CONSULTING FEEL

 
これで日付の表示は英語表記になったと思います。ただ、当ブログのアーカイブページのように「August, 2009」みたいな表記にしようとするとあと1ステップ必要になります。

おそらく、現段階では日付が「2009年 August」などのようになってしまっていると思います。これは正直かっこ悪いですね。「2009年8月」というように日本語表記のままのほうがましです。これを「August, 2009」にするには、ちょっとファイルを弄る必要があります。

以下の Chibiの覚え書きさんを参考にさせていただきました。どうもありがとうございます。

» サイドバー・アーカイブの日付フォーマット変更 | Chibiの覚え書き

ここの表記はwp-includes/general-template.phpの767行目をいぢるしかなさそう。
めんどいけど、やるかーということで。
767行目あたり。(ver2.7のとき)

$text = sprintf(__('%1$s %2$d'), $wp_locale->get_month($arcresult->month), $arcresult->year);

$text = sprintf(('%04d%02d'), $arcresult->year, $arcresult->month);

に書き換えて表示を
200812
に変更。

ここに書いてあるようにすれば「20090830」のように表示されます。今回は「August, 2009」を目指しているので、書き換え内容を微妙に変えます。

WordPress 2.8 の場合、/wp-includes/general-template.php をテキストエディタなどで開くと820行目に次のコードがあります。上で引用したのと同じ行ですね。

$text = sprintf(__('%1$s %2$d'), $wp_locale->get_month($arcresult->month), $arcresult->year);

これを次のように書き換えます。

$text = sprintf(__('%1$s, %2$d'), $wp_locale->get_month($arcresult->month), $arcresult->year);

すごく簡単ですね。「%1$s %2$d」にカンマ“,”を加えて「%1$s, %2$d」にしただけです。これで日付が「August, 2009」のようになると思います。

これで WordPress の日付表示を英語表記にする作業は完了です。

※ 追記(October 26, 2009)

この作業は、WordPress をアップデートしたときに毎回やる必要があります。マイナーアップデートでも、ファイルが上書きされてしまうのか、表示が元に戻ってしまうことがあるのでご注意ください。

  • 1 本当に気のせいw 本質的にはどっちがかっこいいとかあるわけがないです。

▲上に戻る▲


よろしければ以下の関連(してそうな)記事もどうぞ!


4 Responses to “WordPressの日付表示を英語表記にする方法:WPアップグレード後にやること”

  1. 匠屋本舗 より:

    アーカイブの日付表記ですが、ver2.8なら

    1)『wp-content/languages/ja.po』をPoeditで開いて、10902行目を『%1$s, %2$d』に書き換える
    2)月の対訳(1月で検索すればOK)を全て日本語から英語に戻す

    以上の編集を行い、新たに生成された『ja.mo』をアップロードすることでも対応できました。

    ハードコードされている部分をいじる必要がないので、こっちの方が楽かも知れないです。  

    » このコメントを引用してコメントする

  2. 匠屋本舗 より:

     連続でのコメントご容赦ください。その他の日付についても、ja.poの『11062行目から11188行目の対訳を原文に戻す』ことで、『the_time(‘F’);』や『the_time(‘M’);』での表記がそれぞれ『September』と『Sep』に修正されます。曜日についても『11195行目から11272行目の対訳を原文に戻す』ことで修正が可能です。
     どうやら2.7から2.8にバージョンアップするにあたり、翻訳周りで変更があったようですね。随分作業が楽になったように思えます。  

    » このコメントを引用してコメントする

  3. 匠屋本舗さん

    コメントありがとうございます。

    Poedit を使って MO ファイルをアップロードすることでも日付表記の英語/日本語を操作できるんですね。これは勉強になりました。

    実は Poedit って使ったことがなくて、以前軽く調べたときにインストールや使い方が面倒臭そうだなという印象を持ちました。そしてその悪い印象を未だに拭えずにいます……。そのため、FTP クライアントからファイルを開いて弄るだけでいい今回の方法のほうにどうしてもお手軽感を抱いてしまいます。

    慣れればお教えいただいた方法のほうが効率いいんだろうなぁとは思っています。なので、次のアップグレードのときなど、機会があれば挑戦してみようかなと思う今日この頃です。

    あっ、Twitter、勝手にフォローさせていただきましたw  

    » このコメントを引用してコメントする

Leave a Reply

Additional comments powered by BackType


Copyright © 2008-2010 鍵山琢実 (KAGIYAMA, Takumi). All rights reserved.

This site's design was checked by IE 6.0+, Firefox 3.5+, GChrome 2.0+, Safari 4.0+, Opera 10.0+, and Sleipnir 2.8+ (all for Windows).
And JavaScript is used for some details. I am so sorry if your browser is not supported.

正当なCSSです! 私はチーム・マイナス6%です

↓ Today's My Favorite Phrase ↓

「『人』と書いて『嘘』と読み 『嘘』と書いて『人』と読む
こんな時代だからこそ見える意味を なくさぬように」

From: RADWIMPS - メルヘンとグレーテル