You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

i18next是否支持为翻译添加描述或上下文?对比FBT功能

i18next 中添加翻译描述/上下文的方案

1. 自定义字段存储描述

i18next 并不限制翻译资源的结构,你可以直接在翻译JSON文件中为每个翻译项添加自定义的description字段,和FBT的方式类似。示例:

{
  "welcome": {
    "translation": "欢迎",
    "description": "网站首页的欢迎语,面向新用户展示"
  },
  "button.submit": {
    "translation": "提交",
    "description": "表单底部的提交按钮文本,用于触发表单校验与提交"
  }
}

使用时,通过t函数获取翻译文本:

// 获取翻译文本
t('welcome.translation')
// 若需要读取描述(比如给译者工具用),可以直接访问资源对象
i18next.getResource('zh', 'translation', 'welcome').description

2. 官方上下文(Context)机制

如果你的需求是根据上下文切换不同翻译(比如性别、场景差异),i18next 内置了上下文功能。示例:

{
  "greeting": "你好",
  "greeting_female": "您好女士",
  "greeting_male": "您好先生"
}

使用时传入上下文参数:

t('greeting', { context: 'female' }) // 输出「您好女士」

不过这个机制主要用于动态切换翻译文本,而非给译者添加注释描述,更适合场景化的翻译差异。

3. 键的结构化设计(无需塞描述到键名)

虽然网上建议键名简短,但i18next完全支持结构化的键名来隐含上下文,同时结合自定义description字段补充细节,不用把描述硬塞进键里。比如:

{
  "checkout.button.confirm": {
    "translation": "确认结账",
    "description": "结账流程最后一步的确认按钮,点击后发起支付请求"
  }
}

这种结构化键名已经能体现文本的使用场景,再配合description字段给译者提供足够的背景信息,兼顾简洁性和可读性。


内容的提问来源于stack exchange,提问作者Premkumar Giridhar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 18:49:56