javascript - React Native 和 i18n-js:在翻译后的字符串中添加组件
问题描述
按照Expoi18n-js
的建议,我正在使用。假设我想要一个看起来像这样的屏幕:<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>
但它似乎一点也不优雅。
解决方案
推荐阅读
- flutter - 等待异步 forEach 完成所有迭代,然后在 Dart 中收集数据
- jekyll - 根据帖子中的变量防止页面最终出现在站点地图中 - Jekyll
- sql - 分层查询中的排序问题
- directory - 用于比较文件夹集、它们的名称和它们的内容以识别差异的工具?
- typescript - 非空断言运算符仍然引发编译时错误
- python - 如何在列名属于日期时间 dtypes 的数据框中选择列?
- javascript - 本地存储中的购物车与mysql连接
- javascript - 颜色指针 HTML5,mouseup 事件
- c# - 如何在 C# 中将来自 api 的响应内容转换为 pdf?
- sql - 使用序号引用按大量列分组