Saltar al contenido principal
Versión: Siguiente
Traducción Beta No Oficial

Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →

I18nManager

El módulo I18nManager proporciona utilidades para gestionar el soporte de diseño de derecha a izquierda (RTL) para idiomas como árabe, hebreo y otros. Ofrece métodos para controlar el comportamiento RTL y verificar la dirección de diseño actual.

Ejemplos

Cambiar posiciones y animaciones según RTL

Si posicionas elementos de forma absoluta para alinearlos con otros elementos de flexbox, es posible que no se alineen correctamente en idiomas RTL. Se puede usar isRTL para ajustar la alineación o animaciones.

Durante el desarrollo

Referencia

Propiedades

isRTL

typescript
static isRTL: boolean;

Valor booleano que indica si la aplicación está actualmente en modo de diseño RTL.

El valor de isRTL se determina mediante la siguiente lógica:

  • Si forceRTL es true, isRTL devuelve true

  • Si allowRTL es false, isRTL devuelve false

  • De lo contrario, isRTL será true si se cumple lo siguiente:

    • iOS:
      • El idioma preferido del usuario en el dispositivo es un idioma RTL
      • Las localizaciones definidas en la aplicación incluyen el idioma elegido por el usuario (como se define en el archivo de proyecto Xcode (knownRegions = (...)))
    • Android:
      • El idioma preferido del usuario en el dispositivo es un idioma RTL
      • El archivo AndroidManifest.xml de la aplicación define android:supportsRTL="true" en el elemento <application>

doLeftAndRightSwapInRTL

typescript
static doLeftAndRightSwapInRTL: boolean;

Valor booleano que indica si las propiedades de estilo izquierda/derecha deben intercambiarse automáticamente en modo RTL. Cuando está habilitado, izquierda se convierte en derecha y viceversa en diseños RTL.

Métodos

allowRTL()

typescript
static allowRTL: (allowRTL: boolean) => void;

Habilita o deshabilita el soporte de diseño RTL para la aplicación.

Parámetros:

  • allowRTL (booleano): Indica si se permite el diseño RTL

Notas importantes:

  • Los cambios surten efecto en el próximo inicio de la aplicación, no inmediatamente

  • Esta configuración persiste tras reinicios de la aplicación

forceRTL()

typescript
static forceRTL: (forced: boolean) => void;

Fuerza a la aplicación a usar diseño RTL independientemente de la configuración de idioma del dispositivo. Principalmente útil para probar diseños RTL durante el desarrollo.

Evita forzar RTL en aplicaciones de producción ya que requiere reiniciar completamente la aplicación para surtir efecto, lo que genera mala experiencia de usuario.

Parámetros:

  • forced (booleano): Indica si se debe forzar el diseño RTL

Notas importantes:

  • Los cambios surten efecto completo en el próximo inicio de la aplicación, no inmediatamente

  • La configuración persiste tras reinicios de la aplicación

  • Solo para desarrollo y pruebas. En producción, debes deshabilitar RTL completamente o manejarlo adecuadamente (ver isRTL)

swapLeftAndRightInRTL()

typescript
static swapLeftAndRightInRTL: (swapLeftAndRight: boolean) => void;

Intercambia propiedades de estilo izquierda/derecha en modo RTL. Cuando está habilitado, izquierda se convierte en derecha y viceversa en diseños RTL. No afecta el valor de isRTL.