AngularJS で currency
フィルタや date
フィルタを日本語の表記に合わせるには?
AngularJS のフィルタは便利な機能です。その中で currency
フィルタや date
フィルタといった、フォーマットを整えてくれるフィルタがありますが、デフォルトでは US 表記になっています。これを日本語の表記に合わせるには、angular-i18n モジュールを利用します。
以下の方法は grunt-wiredep使用の環境でangular-i18nをbowerでインストールしたら注入できないとメッセージ - Qiita を参考にさせていただきました。
angular-i18n モジュールをインストールする
Bower を利用してインストールします。
1 | $ bower install angular-i18n --save |
ん? bower invalid-meta angular-i18n is missing "main" entry in bower.json
という警告が出ていますね。
同時に gulp serve
などを走らせていた場合、以下のような警告が出てしまいます。
1 | angular-i18n was not injected in your file. |
Bower が angular-i18n モジュールのうち、どのファイルをインクルードしていいのかわからないようです。
angular-i18n の main を指定する
bower.json で明示的に使用するロケールファイルを指定してあげましょう。
bower.json
1 | { |
これで index.html に自動的に追記されるようになります。
index.html の抜粋
1 | <!-- bower:js --> |
日本語表記に変わったか確かめてみる
以下のような HTML と JS を用意し、レンダリング結果を見てみます。
index.html
1 |
|
main.js
1 | (function() { 'use strict'; |
結果
日付
“2014-09-15T11:38:50.158Z”
2014年9月15日月曜日
通貨
1000000
\1,000,000
きちんと日本語の表記にフォーマットされていますね。