Android 如何使用EXPO/react native在iOS中实现RTL

Android 如何使用EXPO/react native在iOS中实现RTL,android,ios,reactjs,react-native,expo,Android,Ios,Reactjs,React Native,Expo,我在react本地应用程序文件名中添加了两个本地化文件(阿拉伯语和英语),如ar.json和en.json 我的en.json文件如下所示 "fieldNames": { "enterEmail" : "Enter the email address" }, "fieldNames": { "enterEmail" : "أدخل عنوان البريد الإلكتروني" }, 我的ar.json文件如下所示 "fieldNames": { "ente

我在react本地应用程序文件名中添加了两个本地化文件(阿拉伯语和英语),如ar.jsonen.json

我的en.json文件如下所示

"fieldNames": {
    "enterEmail" : "Enter the email address"
  },
"fieldNames": {
    "enterEmail" : "أدخل عنوان البريد الإلكتروني"
  },
我的ar.json文件如下所示

"fieldNames": {
    "enterEmail" : "Enter the email address"
  },
"fieldNames": {
    "enterEmail" : "أدخل عنوان البريد الإلكتروني"
  },
我的字符串/index.js文件如下所示:

import * as Localization from 'expo-localization';
import i18n from 'i18n-js';

import en from './en.json';
import ar from './ar.json';

i18n.fallbacks = true;
i18n.translations = { en, ar };
i18n.locale = Localization.locale;

export const string = value => i18n.t(value);

export default i18n;
我使用的其中一个文件如下所示

<Text>{string('fieldNames.enterEmail')}</Text>
{string('fieldNames.enterEmail')}
本地化在两种语言中都能很好地工作

但是当我选择阿拉伯语时,它的在iOS中没有对齐到右边。

在我的android设备中,它工作正常。 此问题仅在iOS中出现


您能帮我解决这个问题吗?RTL与本地化(l10n)无关。相反,内部化(i18n)确实如此

如果使用
start
right
前缀而不是
left
right
,则将实现RTL

例如,对于RTL,可以使用
marginStart
而不是
marginLeft