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",
相关推荐
浩星7 分钟前
electron系列7之Electron + Vue 3:构建现代化桌面应用(上)
javascript·vue.js·electron
M ? A17 分钟前
Vue3 转 React 工具 VuReact v1.6.0 更新:useAttrs 完美兼容,修复模板迁移 / 类型错误
前端·javascript·vue.js·react.js·开源·vureact
低保和光头哪个先来21 分钟前
解决 ios 使用 video 全屏未铺满页面问题
前端·javascript·vue.js·ios·前端框架
每天吃饭的羊33 分钟前
Node.js 创建可二次编辑的 HTML 文档并生成文件
开发语言·javascript·ecmascript
牛马11140 分钟前
Flutter BoxDecoration border 完整用法
开发语言·前端·javascript
We་ct1 小时前
LeetCode 149. 直线上最多的点数:题解深度剖析
前端·javascript·算法·leetcode·typescript
M ? A1 小时前
Vue3 转 React:组件透传 Attributes 与 useAttrs 使用详解|VuReact 实战
前端·javascript·vue.js·经验分享·react.js·开源·vureact
火山引擎开发者社区1 小时前
方舟 Coding Plan 支持 Embedding 模型,让 AI Agent “找得更准、记得更久”
前端·javascript·人工智能
We་ct1 小时前
JS手撕:手写Koa中间件与Promise核心特性
开发语言·前端·javascript·中间件·node.js·koa·co