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
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
forceRTLestrue,isRTLdevuelvetrue -
Si
allowRTLesfalse,isRTLdevuelvefalse -
De lo contrario,
isRTLserátruesi 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.xmlde la aplicación defineandroid:supportsRTL="true"en el elemento<application>
- iOS:
doLeftAndRightSwapInRTL
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()
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()
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()
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.