この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

ローカライズ

このフレームワークでは、入力および出力コンポーネントでクライアント側ローカライズのサポートを提供します。
次の例では、デフォルトの 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 の言語、ロケール、タイムゾーン、通貨の設定は、オブジェクト (取引先、リード、商談など) の表示方法に影響を与える可能性があります。単一通貨の組織の場合、Salesforce システム管理者は組織の通貨のロケール、デフォルトの言語、デフォルトのロケール、デフォルトのタイムゾーンを設定します。ユーザは [個人設定] ページで各言語、ロケール、タイムゾーンを設定できます。マルチ通貨の組織の場合、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}

ローカライズサービスについての詳細は、「リファレンスドキュメントアプリケーション」の JavaScript API を参照してください。

メモ