expo-localization
@amazon-devices/expo-localizationは、ネイティブのユーザーローカリゼーション情報のためのインターフェイスを提供します。
getCalendars()メソッドとgetLocales()メソッド、それらに対応するフックが用意されています。これらは、languageCode、uses24HourClock、currencyCode、textDirectionなど、ユーザーのロケール設定に関する固有の情報を返します。ライブラリ自体には、テキストや値の書式を設定するためのメソッドはありません。アプリのロケールが変更されると、フックが再レンダリングをトリガーします。
このライブラリはシステムにデプロイされるため、別途インストールプロセスを必要とすることなくVega向けReact Nativeアプリで利用できます。これは、アプリが実行時にリンクする自動リンクライブラリとしてデプロイされます。ライブラリとVega向けReact Nativeとの互換性は、ライブラリがターゲットとしているVega向けReact Nativeバージョンとの間でのみ保証されます。
インストール
package.jsonファイルにJavaScriptライブラリの依存関係を追加します。"dependencies": { ... "@amazon-devices/expo-localization": "~2.0.0", "@amazon-devices/keplerscript-turbomodule-api": "~1.0.0", ... }npm installコマンドを使用して、依存関係を再インストールします。
例
以下の例は、ユーザーの言語コードを取得する方法を示しています。
import React from 'react';
import {StyleSheet, Text, View} from 'react-native';
import {useLocales, useCalendars} from '@amazon-devices/expo-localization';
export const App = () => {
const locales = useLocales();
const calendars = useCalendars();
return (
<View style={styles.container}>
<Text style={styles.text}>useLocales():</Text>
<Text style={styles.text}>{JSON.stringify(locales, null, 2)}</Text>
<Text style={styles.text}>useCalendars():</Text>
<Text style={styles.text}>{JSON.stringify(calendars, null, 2)}</Text>
</View>
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
flexDirection: 'row',
backgroundColor: 'white',
},
text: {
color: 'black',
fontSize: 32,
},
});
APIリファレンス
このライブラリの情報、APIリファレンス、その他の詳細については、 Expo公式ドキュメントのexpo-localizationのページ(英語のみ)を参照してください。
定数
| 定数 | 説明 |
|---|---|
locale |
代わりにLocalization.getLocales()を使用して、ユーザーの優先ロケールのリストを取得することを検討してください。IETF BCP 47言語タグを表します。2文字の言語コードと、オプションの文字体系コード、地域コード、バリアントコードから構成されます。 |
フック
| フック | 説明 |
|---|---|
useCalendars |
ユーザーの優先カレンダーのリストを提供するフック。リストはCalendar型のオブジェクトの配列として返されます。少なくとも1つの要素を含むことが保証されます。現時点では常に1つの要素を返しますが、将来的には、いくつかのプラットフォームでユーザーの優先リストを返すようになる可能性があります。OSの設定が変更されると、フックは新しいカレンダーのリストで再レンダリングをトリガーします。 |
useLocales |
ユーザーのロケールのリストを提供するフック。リストはLocale型のオブジェクトの配列として返されます。少なくとも1つの要素を含むことが保証されます。返される順序は、ユーザーがデバイス設定で定義した順序になります。ウェブ上では、通貨体系と測定体系は提供されず、nullとして返されます。これらは必要に応じて、ルックアップテーブルを使用して現在の地域から推測できます。OSの設定が変更されると、フックは新しいロケールのリストで再レンダリングをトリガーします。 |
メソッド
| メソッド | 説明 |
|---|---|
getCalendars |
ユーザーの優先カレンダーのリストを、Calendar型のオブジェクトの配列として返します。少なくとも1つの要素を含むことが保証されます。現時点では常に1つの要素を返しますが、将来的には、いくつかのプラットフォームでユーザーの優先リストを返すようになる可能性があります。 |
getLocales |
ユーザーのロケールのリストを、Locale型のオブジェクトの配列として返します。少なくとも1つの要素を含むことが保証されます。返される順序は、ユーザーがデバイス設定で定義した順序になります。ウェブ上では、通貨体系と測定体系は提供されず、nullとして返されます。これらは必要に応じて、ルックアップテーブルを使用して現在の地域から推測できます。 |
実装の詳細
-
Vegaでは、
Localization型のregionフィールドは常にnullになります。 -
useLocales()、useCalendars()、getCalendars()、getLocales()の各関数は、常に要素を1つ含む配列を返しますが、ほかのプラットフォームでは、空の配列や複数の有効なロケール/カレンダーが返されることがあります。 -
Vegaでは、非推奨の定数と
getLocalizationAsync()メソッドはサポートされません。
サポートされているバージョン
| パッケージのバージョン | ベース | @amazon-devices/react-native-kepler version |
|---|---|---|
| 2.0.x | 14.6.0 | 2.0.x |
関連リソース
その他のライブラリについては、サポート対象のサードパーティのライブラリとサービスを参照してください。
Last updated: 2025年9月30日

