Ploneの日付表記方法の変更

Ploneの日付のフォーマットは、2005-12-15 15:30と2005-12-15のように表示される。

これは、読み上げブラウザーでは、「にぜろぜろご の いちに の いちご いちご さんぜろ」 「にぜろぜろご の いちに の いちご」と読み上げる。これではさっぱりわからない。

2005年12月15日 15時30分 と表記されていれば、読み上げブラウザは、「にせんごねん じゅうにがつ じゅうごにち じゅうごじ さんじゅっぷん」とよむ。

修正の場所は…

Products\PloneTranslations\i18n\plone-ja.po ファイルの以下の部分を修正すればよい。

------------1957行目 msgid “date_format_long” msgstr ”${Y}年${m}月${d}日 ${H}時${M}分”

-------------1967行目 msgid “date_format_short” msgstr ”${Y}年${m}月${d}日”


←適用した様子

Ploneは、portal_propertiesのsite_propertiesに「localLongTimeFormat」と「localTimeFormat」が存在していますが、これは、各言語の.poファイルに上記のmsgidがなかったときに初めて利用するようです。(plone_en.poにはこのmsgidがない。)

また、日本語固定で、.poの書き換えは面倒くさいという方は、以下のスクリプトをcustomフォルダーにこぴって、コードを書き換えることでも対応できます。

portal_skins -> plone_scripts -> toLocalizedTime

以下のコードを tool = context.translation_service return tool.ulocalized_time(time, long_format, context, domain=‘plone’)

以下のように変更 from DateTime import DateTime

if long_format == 1: return DateTime(time).strftime(‘%Y年%m月%d日 %H時%M分’) else: return DateTime(time).strftime(‘%Y年%m月%d日’)