Я использую i18n-js
, как рекомендовано Expo . Допустим, я хочу экран с <Text>
, который выглядит следующим образом:
<Text>Click on <Text style={bold}>this link</Text> now.</Text>
Вот что я хотел бы сделать:
const en = {
click_link: "Click on {{link}} now.",
link: "this link"
};
<Text>
{i18n.t('click_link, {
link: <Text style={bold}>{i18n.t('link')}</Text>
})}
</Text>
Но он не работает, он показывает <Text>Click on [object Object] now.</Text>
Итак, единственная идея, которая у меня сейчас есть, это:
const en = {
click_link_1: "Click on",
click_link_2: "this link"
click_link_3: "now."
}
<Text>
{i18n.t('click_link_1')}
<Text style={bold}>{i18n.t('click_link_2')}</Text>
{i18n.t('click_link_3')}
</Text>
Но, похоже, она совсем не изящна.