ポイント
- 国際化、i18n、多言語対応用 JavaScript ファイルを読み込む。
- date フィルターの使い方は同じ。
i18n ファイルの導入・入手手順
CDN を利用する場合
- AngularJS — Superheroic JavaScript MVW Framework の Download をクリック
- メニューが表示される。Extras の Browse additional modules
- i18n/ の angular-locale_ja-jp.js へ行き、内容の確認と URL を入手
URL は、https://code.angularjs.org/1.4.4/i18n/angular-locale_ja-jp.js となりました♪
セルフホスティングする場合
- angular/angular.js · GitHub から AngularJS の ZIP ファイルをダウンロードして解凍
- src/ngLocale にある、angular-locale_ja-jp.js を使用する。
サンプルコード
- 月、曜日を英語ではなく日本語で表示する。
- date フィルターで日本語で表示するにはそれぞれ次が使える。
- 月: MMMM、または、MM。
※ MMM は MMMM と同じように表示された。 - 曜日: EEEE、または、EEE
- 月: MMMM、または、MM。
- コントローラーでは ビュー(HTML)に現在時刻(ユニックスタイム)を渡しているだけ
index.html
<!DOCTYPE html> <html lang="ja" ng-app="japaneseWeekdayApp"> <head> <meta charset="UTF-8"> <title>AngularJS の date フィルタで曜日をで表示するサンプル</title> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.4/angular.min.js"></script> <script src="https://code.angularjs.org/1.4.4/i18n/angular-locale_ja-jp.js"></script> <script> angular.module('japaneseWeekdayApp', []) .controller('japaneseWeekdayController', function($scope) { $scope.now = Date.now(); }); </script> </head> <body> <div ng-controller="japaneseWeekdayController"> <p>{{now}}</p> <p>{{now | date:'年: yyyy、月: MMMM、日: dd、曜日: EEEE'}}</p> <p>{{now | date:'年: yyyy、月: MM、日: dd、曜日: EEE'}}</p> </div> </body> </html>
表示結果
次のようになりました!
ちなみに、 <script src=”https://code.angularjs.org/1.4.4/i18n/angular-locale_ja-jp.js”></script> を削除して、日本語対応以前の状態ですとこうなります♪
おわりに
いざサンプルを書こう!という時、HTML に AngularJS を読み込ませる方法に、恥ずかしながら躓いてしまいました><。
ng-app を HTML に書いたり、JavaScript 部分では angular.module を変数に代入しない方法をとったりいたしました。どのようなケースではどのような読み込み方がベターなのかしら?
まだまだ AngularJS に馴染んでいないように感じられましたの><。
最後に、参考ページです。ありがとう存じます!
- AngularJSのdateフィルターで日本語の曜日を表示する方法 | iwb.jp
→ i18n ファイルが使用できない場合の方法も紹介されております! - AngularJS: Developer Guide: i18n and l10n
- AngularJS: API: date
- Date.now() – JavaScript | MDN
以上です。