我很乐意进行本地化,它运行得很好,但我遇到了一个问题,我想把所有内容放在一个字符串中,而不是把段落拆分成几个字符串:这是我想翻译的视图部分:
<View>
<BodyOne style={styles.text}>
By login into our app, you're accepting our{' '}
<Text style={styles.link} onPress={() => alert('terms')}>
terms and conditions
</Text>{' '}
and{' '}
<Text style={styles.link} onPress={() => alert('privacy')}>
Privacy Policy
</Text>
.
</BodyOne>
在我的en.json文件中,我试着把它放成这样:
{
"common": {
"test": "By login into our app, you're accepting our <Text style={styles.link} onPress={() => alert('terms')}>
terms and conditions</Text> and <Text style={styles.link} onPress={() => alert('privacy')}>
Privacy Policy</Text>.",
}
但这给了我一个";EOF错误";在世博会客户端。
如果可能的话,我的翻译函数是t('key'(。我如何将所有文本放入JSON中,并使翻译这些内容成为可能?
Ciao,不幸的是,您无法使用expo-localization, i18next
将<Text>
放入翻译中。此库不解析像<Text>
这样的react本机组件。也许是出于安全原因:允许这样的事情可能是有害的代码注入。但我不是安全专家,所以把我的最后一句话作为个人意见。
所以基本上我认为你的第一个解决方案是最好的。