Internationalization プロパティへのアクセス
範囲設定されたモジュール @salesforce/i18n
から internationalization プロパティをインポートします。Lightning Web コンポーネントには、Internationalization プロパティが用意されています。これらのプロパティを使用すると、コンポーネントを世界中のユーザ、言語、通貨、タイムゾーンに適合させることができます。
単一通貨の組織の場合、Salesforce システム管理者が組織の通貨のロケール、デフォルトの言語、デフォルトのロケール、デフォルトのタイムゾーンを設定します。ユーザは個人設定ページで各自の言語、ロケール、タイムゾーンを設定できます。
Lightning 基本コンポーネントは、実行される Salesforce 組織の言語、ロケール、タイムゾーン設定に自動的に適合されます。自分のコンポーネントも適合されるように国際化するには、Internationalization プロパティを使用します。
internationalizationPropertyName
— Internationalization プロパティを参照する名前。internationalizationProperty
— Internationalization プロパティ。
現在のユーザのプロパティ値が返されます。
Internationalization プロパティ | 説明 | サンプル値 |
---|---|---|
lang | 言語 | en-US |
dir | テキストの方向 | ltr |
locale | 地域 | en-CA |
defaultCalendar | ロケールに基づくデフォルトのカレンダー形式 | Gregorian |
defaultNumberingSystem | ロケールに基づくデフォルトの記数法 | latn |
calendarData | ユーザのロケールのカレンダー形式 | gregorian: {dayPeriods : {...}, days: {...}, eras: {...}, months: {...}, quarters: {...}} |
currency | 通貨コード | CAD |
firstDayOfWeek | 週の開始曜日 | 1 |
isEasternNameStyle | 名前が東洋式のスタイルに従うか (last name first name [middle] [suffix] ) どうかを指定します。 | false |
common.calendarData | 共通カレンダー形式用の補助カレンダーデータ。値は defaultCalendar で決定されます。 | gregorian:{calendarSystem:'solar',eras:{'0':{_end:'0-12-31'},'0':{_end:'1-01-01'}}} |
common.digits | 数値の Unicode 文字 | 0123456789 |
dateTime.shortDateFormat | 短い日付形式 | MM/dd/yyyy |
dateTime.mediumDateFormat | 中程度の長さの日付形式 | MMM d, yyyy |
dateTime.longDateFormat | 長い日付形式 | MMMM d, yyyy |
dateTime.shortDateTimeFormat | 短い日時形式 | MM/dd/yyyy h:mm a |
dateTime.mediumDateTimeFormat | 中程度の長さの日時形式 | MMM d, yyyy h:mm:ss a |
dateTime.longDateTimeFormat | Long スタイルの日時形式 | MMMM d, yyyy ‘at’ h:mm:ss a * z |
dateTime.shortTimeFormat | 短い時間形式 | h:mm a |
dateTime.longTimeFormat | 長い時間形式 | h:mmss a |
number.currencyFormat | 通貨形式 | #, ##0.00 |
number.currencySymbol | 通貨記号 | $ |
number.decimalSeparator | 小数点の区切り文字 | . |
number.exponentialSign | 指数記号 | E |
number.groupingSeparator | 桁区切り文字 | , |
number.infinity | 無限大記号 | ∞ |
number.minusSign | マイナス記号 | - |
number.nan | 「Not a Number」 (非数) の文字列 | NaN |
number.numberFormat | 数値の形式 | #, ##0.### |
number.perMilleSign | 1000 分の 1 記号 | ‰ |
number.percentFormat | パーセント形式 | #, ###0% |
number.percentSign | パーセント記号 | % |
number.plusSign | プラス記号 | + |
number.superscriptExponentSign | 上付き指数記号 | × |
showJapaneseCalendar | 日付を日本の和暦の形式で表示するかどうかを指定します。 | false |
timeZone | タイムゾーン | America/Los_Angeles |
LWR サイトの場合、lang
と locale
は、サイトに設定されている言語に対応付けられます。timeZone
は、ユーザの個人設定ではなく、ブラウザのタイムゾーンで決定されます。
また、currency
、number.currencySymbol
、および number.currencyFormat
はサポートされていません。
サイトまたは組織の言語設定が更新された場合は、サイトを再公開する必要があります。
internationalization プロパティで返される値は、「Unicode Locale Data Markup Language (LDML) (Unicode ロケールデータマークアップ言語 (LDML))」で説明されている形式に対応します。たとえば、common.calendarData
は、カレンダーデータの LDML 仕様に従っています。
日付の形式は、言語ごとに異なります。たとえば、米国では、2/15/19 のように月、日、年の形式が使用されます。英国では、15/2/19 のように日、月、年の形式が使用されます。
ユーザの言語に従って日付を書式設定するには、@salesforce/i18n/locale
モジュールからユーザのロケールをインポートします。日付を書式設定するには、JavaScript の国際化 API を使用します。
または、lightning-formatted-date-time
基本コンポーネントを使用して日時を書式設定します。
次の例では、locale
および currency
プロパティを使用して、数値をローカライズされた通貨文字列に書式設定しています。
Intl.NumberFormat
オブジェクトは、通貨の出力を定義します。ユーザのロケールに応じて、数値を通貨として表示し、ローカライズされた通貨記号を付与します。
または、lightning-formatted-number
基本コンポーネントを使用して、数値、通貨、パーセントを書式設定します。
Internationalization プロパティを HTML 属性にバインドするには、Internationalization プロパティを非公開プロパティとしてコンポーネントの JavaScript ファイルに保存します。ここで、lang
はユーザの言語、dir
は HTML でテキストが表示される方向を示します。
HTML テンプレートで値を参照するには、{property}
を使用します。
関連トピック
- Salesforce ヘルプ: 言語、ロケール、通貨の選択
- @salesforce モジュール
- Unicode Locale Data Markup Language (LDML) (Unicode ロケールデータマークアップ言語 (LDML))