react-native-localizeパッケージを使用する方法を説明します。Vega SDKでサポートされているメソッドについて記載しています。
react-native-localizeパッケージは、各ユーザーに合わせてパーソナライズされたエクスペリエンスを提供するために役立ちます。
- 複数の言語の処理
- 日付と時刻の形式の設定
- 通貨の設定
- その他の地域設定の管理
@amazon-devices/react-native-localizeライブラリは、Vega向けReact Native(RNV)アプリでLocalize React Native(英語のみ)を使用できるようにするものです。このライブラリにより、ローカリゼーションとインターナショナリゼーションのサポートが提供され、アプリをさまざまな言語、地域、文化に適応させることができます。
TVアプリをローカライズする理由
- ユーザーエクスペリエンス:ユーザーは、自分の言語で提供され、地域の設定を理解するアプリを好みます。
- 世界規模のリーチ:世界中の市場の幅広いユーザーに対するアプリの訴求力を高めることができます。
- 法令遵守:さまざまな地域の規制を確実に遵守できます。
インストール
-
package.jsonに、react-native-localizeパッケージを依存関係として追加します。 -
getCurrenciesを適切なコンポーネントにインポートします。 -
プロジェクトのルートで
npm installを実行して、パッケージをインストールします。 - インストールが成功したら、Vegaプロジェクトを実行します。
例
シミュレーターとデバイス
react-native-localizeパッケージのメソッドの戻り値は、シミュレーターとデバイスで異なる場合があります。たとえば、getCountry()メソッドは、シミュレーターではUSを返しますが、デバイスでの戻り値はデバイスの言語設定に基づきます。
@amazon-devices/react-native-localizeの使用方法の例を次に示します。
APIリファレンス
getLocales()
ユーザーのデバイスに基づいて、ロケールのリストを返します。- languageCode
- scriptCode
- languageTag
- isRTL
メソッドタイプ
例
getNumberFormatSettings()
数値の書式の設定を返します。メソッドタイプ
例
getCurrencies()
すべての通貨のリストを返します。メソッドタイプ
例
getCountry()
デバイスの言語設定に基づいて、ユーザーの現在の国コードを返します。たとえば、言語設定が英語(インド)の場合、返される国はINになります。
注:シミュレーターを使用している場合、タイムゾーンTime ZoneプロパティはUniversalと出力されます。
たとえば、以下は、デバイスの言語設定が英語(インド)English Indiaに設定されている場合の出力です。
American Englishに設定されている場合の出力です。
メソッドタイプ
例1
例2
デバイスの所在地に基づいて、ユーザーにカスタムメッセージを表示できます。 以下のコードでは、次のメソッドと文を使用しています。@amazon-devices/react-native-localizeのgetCountry()メソッド。デバイスの国を取得します。useState()メソッド。国コードを保存します。- 国コードに従ってメッセージを変更するswitch case。
ラテンアメリカ地域
ラテンアメリカの地域設定を使用するデバイスでは、「419」の代わりに「UN」が返されます。「419」は標準の国コードではないためです。getCalendar()
ユーザーが選択しているカレンダー形式を返します。メソッドタイプ
例
getTemperatureUnit()
ユーザーが選択している温度単位を返します。メソッドタイプ
例
getTimeZone()
デバイスの言語設定の国に基づいて、ユーザーの現在のタイムゾーンを返します。シミュレーターでは、Universalタイムゾーンが返されます。TVデバイスでは、Europe/Londonなど、デバイスに設定されているタイムゾーンが返されます。
たとえば、以下は、デバイスの言語設定が英語(米国)に設定されている場合の出力です。
メソッドタイプ
例
uses24HourClock()
ユーザーが時刻の形式として24時間形式を選択している場合はtrue、12時間形式を選択している場合はfalseを返します。
メソッドタイプ
例
usesMetricSystem()
ユーザーが測定体系としてメートル法を選択している場合はtrue、ヤード・ポンド法を選択している場合はfalseを返します。

