Android 如何使用EXPO/react native在iOS中实现RTL
我在react本地应用程序文件名中添加了两个本地化文件(阿拉伯语和英语),如ar.json和en.json 我的en.json文件如下所示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
"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