Views RSSでpubDateのdateformatを英語で扱う


マルチリンガルのサイトでViewsモジュールの日付を扱うときにどうしても翻訳されてしまうので調べたときのメモ。

前提

  • マルチリンガルサイト
  • urlのプリフィクスを見て言語を切り替える
    • en なら英語
    • ja なら日本語
  • Viewsモジュール内での話
  • Views RSSを使ってRSSを出力
  • RSSのpubdateのdateformatとしてRFC 822を満たしている必要がある

Wordpressのようにカテゴリ毎っぽくRSSを出力させようとするとViews RSSとかが使いたくなる。そこまでは良いんだけど、非英語環境だとRSSのpubDateの日付出力が翻訳されてしまって困る。

<pubDate>Fri, 13 Nov 2015 16:16:47 +0900</pubDate>
↑こうして欲しいけど ↓こう出力される的な
<pubDate>金, 13 11月 2015 16:16:47 +0900</pubDate>

解決方法

そこで、カスタムフォーマットを選択してrを入力する。記法はphpのdate関数に則る。

PHP: date - Manual
PHP: DateTime - Manual
RFC 2822 - Internet Message Format (RFC2822)

厳密にはrはRFC 2822だから違うんだけど出力結果としては欲しいものが得られたのでとりあえず良しとした。