I18nManager
I18nManager
モジュールは、アラビア語、ヘブライ語などの言語の右から左 (RTL) レイアウトのサポートを管理するためのユーティリティを提供します。RTL の動作を制御し、現在のレイアウト方向を確認するためのメソッドを提供します。
サンプル
RTL に基づいて位置とアニメーションを変更する
フレックスボックスの要素に合わせて要素を絶対配置すると、RTL 言語では位置が合わない場合があります。isRTL
を使用して、配置やアニメーションを調整できます。
開発中
リファレンス
プロパティ
isRTL
typescript
static isRTL: boolean;
アプリが現在 RTL レイアウトモードであるかどうかを示すブール値。
isRTL
の値は、次のロジックによって決定されます。
forceRTL
がtrue
の場合、isRTL
はtrue
を返しますallowRTL
がfalse
の場合、isRTL
はfalse
を返します- それ以外の場合、
isRTL
は次の場合にtrue
になります。- iOS
- デバイスのユーザー設定言語が RTL 言語である
- アプリケーションで定義されたローカライズに、ユーザーが選択した言語が含まれている(Xcode プロジェクトファイル(
knownRegions = (...)
)で定義されている)
- Android
- デバイスのユーザー設定言語が RTL 言語である
- アプリケーションの
AndroidManifest.xml
の<application>
要素にandroid:supportsRTL="true"
が定義されている
- iOS
doLeftAndRightSwapInRTL
typescript
static doLeftAndRightSwapInRTL: boolean;
RTL モードのときに、左右のスタイルプロパティが自動的に入れ替わるかどうかを示すブール値。有効にすると、RTL レイアウトでは、左が右に、右が左になります。
メソッド
allowRTL()
typescript
static allowRTL: (allowRTL: boolean) => void;
アプリケーションの RTL レイアウトサポートを有効または無効にします。
パラメータ
allowRTL
(boolean): RTL レイアウトを許可するかどうか
重要な注意事項
- 変更は次回のアプリケーション起動時に有効になり、すぐには有効になりません
- この設定はアプリの再起動後も保持されます
forceRTL()
typescript
static forceRTL: (forced: boolean) => void;
デバイスの言語設定に関係なく、アプリに RTL レイアウトの使用を強制します。これは、開発中に RTL レイアウトをテストする際に主に役立ちます。
本番アプリで RTL を強制することは避けてください。完全に有効にするにはアプリを再起動する必要があり、ユーザーエクスペリエンスが低下するためです。
パラメータ
forced
(boolean): RTL レイアウトを強制するかどうか
重要な注意事項
- 変更は次回のアプリケーション起動時に完全に有効になり、すぐには有効になりません
- 設定はアプリの再起動後も保持されます
- 開発およびテストのみを目的としています。本番環境では、RTL を完全に許可しないか、適切に処理する必要があります(
isRTL
を参照)。
swapLeftAndRightInRTL()
typescript
static swapLeftAndRightInRTL: (swapLeftAndRight: boolean) => void;
RTL モードで左右のスタイルプロパティを入れ替えます。有効にすると、RTL レイアウトでは、左が右に、右が左になります。isRTL
の値には影響しません。