79433147

Date: 2025-02-12 13:05:14
Score: 1.5
Natty:
Report link

Recap as of Feb 2024: This is a RN issue presented in the move to the new architecture, and seems to be quite difficult to resolve (https://github.com/facebook/react-native/issues/48311):

  1. On first load the app will automatically apply the RTL setting of the system, so if your app supports the device's language, you're Ok
  2. If you need to switch RTL, forceRTL works only after restarting the app ONLY on Android (no matter what you use: @brandingbrand/react-native-app-restart, react-native-restart-app, react-updates, fiction-expo-restart, react-native-restart).
  3. As for iOS, the user needs to manually close the app, and restart it for the forceRTL to take effect. Ideally, you could show a popup explaining this, and exit the app gracefully hoping the user will re-open it.
  4. As suggested by @Jakob Schödl, in some situations the style={{direction: 'rtl'}} in your top most View may be a viable workaround, but it doesn't apply very well on some react native navigation components.
Reasons:
  • Long answer (-0.5):
  • No code block (0.5):
  • User mentioned (1): @Jakob
  • Low reputation (0.5):
Posted by: Shahar Hajdu