react native i18n插值:跨组件trans

想要实现动态插值以及插入元素,如下效果

这个找了蛮久的,官网的例子在我这无效,所以网上找了比较久,没能理解用法。最后是在 github issue 中看到别人的用法,自己理解下实现出来了,所以这里记录下。

例如vue的写法,直接使用插槽:

html 复制代码
     <i18n-t keypath="auth.agreement" tag="p">
        <template #appName>
          {{ $t('app.name') }}
        </template>
        <template #termsService>
          <b> {{ $t('auth.termsService') }} </b>
        </template>
        <template #privacyPolicy>
          <b> {{ $t('auth.privacyPolicy') }} </b>
        </template>
      </i18n-t>

React Native 的写法:

html 复制代码
  <Trans
        values={{
          name: 'ddd',
          count: 22,
        }}
        i18nKey="userMessagesUnread"
        parent={Text}
        components={{
          1: <Text style={{ color: 'red', fontWeight: 'bold' }}></Text>,
          5: <Text style={{ color: 'blue' }}></Text>,
        }}
      ></Trans>

附上官网:https://react.i18next.com/legacy-v9/trans-component

说真的 ,这个官网看了很久没看明白这个 Trans 组件,用法完全不同,不确定是不是版本的问题。

json 复制代码
    "react": "18.3.1",
    "react-dom": "18.3.1",
    "i18next": "^24.2.1",
    "react-i18next": "^15.4.0",
相关推荐
Moment7 分钟前
别再让 JavaScript 抢 CSS 的活儿了,css原生虚拟化来了
前端·javascript·css
晓得迷路了12 分钟前
栗子前端技术周刊第 110 期 - shadcn/create、Github 更新 npm 令牌政策、Deno 2.6...
前端·javascript·css
前端小端长14 分钟前
项目里满是if-else?用这5招优化if-else让你的代码清爽到飞起
开发语言·前端·javascript
笨小孩78715 分钟前
Flutter跨平台开发全解析:从原理到实战的深度指南
javascript·react native·react.js
AI_567824 分钟前
Vue3组件通信的实战指南
前端·javascript·vue.js
Dragon Wu26 分钟前
TanStack Query(React Query) 使用总结
前端·react.js·前端框架·react
UpgradeLink32 分钟前
Electron项目使用electron-updater与UpgradeLink接入参考
开发语言·前端·javascript·笔记·electron·用户运营
m0_6161884941 分钟前
JS文件批量下载并打包成ZIP的功能
开发语言·javascript·ecmascript
xiaoxue..43 分钟前
React 新手村通关指南:状态、组件与魔法 UI
前端·javascript·react.js·ui
滿1 小时前
Vue3 ElementPlus el-select 焦点事件数据不回显问题
javascript·vue.js·elementui