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

ローカライズ

このフレームワークでは、入力および出力コンポーネントでクライアント側ローカライズのサポートを提供します。

次の例では、デフォルトの timezone 属性を上書きする方法を示します。出力には、デフォルトで hh:mm 形式の時刻が表示されます。

1<aura:component>
2    <ui:outputDateTime value="2013-10-07T00:17:08.997Z"  timezone="Europe/Berlin" />
3</aura:component>

このコンポーネントは、Oct 7, 2013 2:17:08 AM と表示されます。

日時形式をカスタマイズするには、lightning:formattedDateTime を使用することをお勧めします。次の例では、init ハンドラを使用して、日時を設定します。
1<aura:component>
2    <aura:handler name="init" value="{!this}" action="{!c.doInit}"/>
3    <aura:attribute name="datetime" type="DateTime"/>
4    <lightning:formattedDateTime value="{!v.datetime}" timeZone="Europe/Berlin" 
5                                 year="numeric" month="short" day="2-digit" hour="2-digit"
6                                 minute="2-digit" second="2-digit"/>
7</aura:component>
1({
2    doInit : function(component, event, helper) {
3        var date = new Date();
4        component.set("v.datetime", date)
5    }
6})

次の例では、MMM DD, YYYY HH:MM:SS AM の形式で表示される JavaScript の日付インスタンスを作成します。

この例の出力は <ui:outputDateTime value="{!v.datetime}" timezone="Europe/Berlin" /> と似ていますが、lightning:formattedDateTime の属性では、詳細なレベルで形式を制御できます。たとえば、MM/DD/YYYY 形式を使用して日付を表示できます。
1<lightning:formattedDateTime value="{!v.datetime}" timeZone="Europe/Berlin" year="numeric" month="numeric" day="numeric"/>

詳細は、「lightning:formattedDateTime (ベータ)」および「ui:outputDateTime」を参照してください。

メモ

さらに、グローバル値プロバイダ $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" />

通貨記号、コード、名前のどれを使用するのかを変更するには、代わりに lightning:formattedNumber を使用します。詳細は、「lightning:formattedNumber (ベータ)」を参照してください。

メモ

同様に、組織の通貨のロケールが [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);
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 を参照してください。

メモ