メインコンテンツへスキップ

I18nManager

I18nManager モジュールは、アラビア語、ヘブライ語などの言語の右から左 (RTL) レイアウトのサポートを管理するためのユーティリティを提供します。RTL の動作を制御し、現在のレイアウト方向を確認するためのメソッドを提供します。

サンプル

RTL に基づいて位置とアニメーションを変更する

フレックスボックスの要素に合わせて要素を絶対配置すると、RTL 言語では位置が合わない場合があります。isRTL を使用して、配置やアニメーションを調整できます。

開発中

リファレンス

プロパティ

isRTL

typescript
static isRTL: boolean;

アプリが現在 RTL レイアウトモードであるかどうかを示すブール値。

isRTL の値は、次のロジックによって決定されます。

  • forceRTLtrue の場合、isRTLtrue を返します
  • allowRTLfalse の場合、isRTLfalse を返します
  • それ以外の場合、isRTL は次の場合に true になります。
    • iOS
      • デバイスのユーザー設定言語が RTL 言語である
      • アプリケーションで定義されたローカライズに、ユーザーが選択した言語が含まれている(Xcode プロジェクトファイル(knownRegions = (...))で定義されている)
    • Android
      • デバイスのユーザー設定言語が RTL 言語である
      • アプリケーションの AndroidManifest.xml<application> 要素に android:supportsRTL="true" が定義されている

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 の値には影響しません。