ローカライズ
このフレームワークでは、入力および出力コンポーネントでクライアント側ローカライズのサポートを提供します。
次の例では、デフォルトの langLocale および timezone 属性を上書きする方法を示します。出力には、デフォルトで hh:mm 形式の時刻が表示されます。
コンポーネントのソース
1<aura:component>
2 <ui:outputDateTime value="2013-10-07T00:17:08.997Z" timezone="Europe/Berlin" langLocale="de"/>
3</aura:component>このコンポーネントは、Okt. 7, 2015 2:17:08 AM と表示されます。
さらに、グローバル値プロバイダ $Locale を使用してロケール情報を取得できます。組織のロケール設定は、ブラウザのロケール情報より優先されます。
ロケール情報の操作
単一通貨の組織の場合、Salesforce システム管理者が組織の通貨のロケール、デフォルトの言語、デフォルトのロケール、デフォルトのタイムゾーンを設定します。ユーザは個人設定ページで各自の言語、ロケール、タイムゾーンを設定できます。
たとえば、[言語とタイムゾーン] ページでタイムゾーンを (GMT+02:00) に設定して次のコードを実行すると、28.09.2015 09:00:00 が返されます。
1<ui:outputDateTime value="09/28/2015" />$A.get("$Locale.timezone") を実行すると、タイムゾーン名 (Europe/Paris など) が返されます。詳細は、Salesforce ヘルプの「サポートされているタイムゾーン」を参照してください。
[組織情報] ページで通貨のロケールを [Japanese (Japan) - JPY] に設定して次のコードを実行すると、¥100,000 が返されます。
1<ui:outputCurrency value="100000" />同様に、組織の通貨のロケールが [Japanese (Japan) - JPY] に設定されているときに $A.get("$Locale.currency") を実行すると、"¥" が返されます。詳細は、Salesforce ヘルプの「サポートされている通貨」を参照してください。
ローカライズサービスの使用
フレームワークのローカライズサービスでは、日付、時刻、数値、通貨のローカライズを管理できます。これらのメソッドは、AuraLocalizationService JavaScript API で使用できます。
次の例では、$Locale とローカライズサービスを使用して、設定済みの形式で日時を設定します。
1var dateFormat = $A.get("$Locale.dateFormat");
2var dateString = $A.localizationService.formatDateTime(new Date(), dateFormat);ブラウザの日付情報を取得しない場合は、独自の日付形式を指定できます。次の例では、日付形式を指定し、ブラウザの言語ロケール情報を使用します。
1var dateFormat = "MMMM d, yyyy h:mm a";
2var userLocaleLang = $A.get("$Locale.langLocale");
3return $A.localizationService.formatDate(date, dateFormat, userLocaleLang);
AuraLocalizationService JavaScript API では、ローカライズを処理するメソッドを使用できます。たとえば、2 つの日付を比較して、一方がもう一方より後の日付かどうかを確認できます。
1var startDateTime = new Date();
2//return the date time at end of the day
3var endDateTime = $A.localizationService.endOf(d, 'day');
4if( $A.localizationService.isAfter(startDateTime,endDateTime)) {
5 //throw an error if startDateTime is after endDateTime
6}