ローカライズ
このフレームワークでは、入力および出力コンポーネントでクライアント側ローカライズのサポートを提供します。
コンポーネントは、ブラウザのロケール情報を取得し、それに従って日時を表示します。次の例では、デフォルトの langLocale および timezone 属性を上書きする方法を示します。出力には、デフォルトで hh:mm 形式の時刻が表示されます。
コンポーネントのソース
1swfobject.registerObject("clippy.codeblock-0", "9");
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17<aura:component>
18 <ui:outputDateTime value="2013-05-07T00:17:08.997Z" timezone="Europe/Berlin" langLocale="de"/>
19</aura:component>
20このコンポーネントは、Mai 7, 2013 2:17:08 AM と表示されます。
さらに、グローバル値プロバイダ $Locale を使用してブラウザのロケール情報を取得できます。このフレームワークは、デフォルトでブラウザのロケールを使用しますが、グローバル値プロバイダを利用して他のロケールを使用するように設定できます。
ローカライズサービスの使用
フレームワークのローカライズサービスでは、日付、時刻、数値、通貨のローカライズを管理できます。
次の例では、$Locale とローカライズサービスを使用して、設定済みの形式で日時を設定します。
1swfobject.registerObject("clippy.codeblock-1", "9");
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17var dateFormat = $A.get("$Locale.dateFormat");
18var dateString = $A.localizationService.formatDateTime(new Date(), dateFormat);
19ブラウザの日付情報を取得しない場合は、独自の日付形式を指定できます。次の例では、日付形式を指定し、ブラウザの言語ロケール情報を使用します。
1swfobject.registerObject("clippy.codeblock-2", "9");
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17var dateFormat = "MMMM d, yyyy h:mm a";
18var userLocaleLang = $A.get("$Locale.langLocale");
19return $A.localizationService.formatDate(date, dateFormat, userLocaleLang);
20次の例では、2 つの日付を比較して、一方がもう一方より後の日付かどうかを確認します。
1swfobject.registerObject("clippy.codeblock-3", "9");
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17if( $A.localizationService.isAfter(StartDateTime,EndDateTime)) {
18 //throw an error if StartDateTime is after EndDateTime
19}