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

React-i18next:如何用t()函数获取嵌套动态键action[EDIT].title

用react-i18next的t()函数获取action[EDIT].title翻译值的正确方式

1. 明确翻译键的路径

你的EN.js中,action是顶层翻译对象,[EDIT]对应的实际键名是字符串"EDIT"(因为EDIT常量的值就是"EDIT"),所以完整的翻译键路径为 action.EDIT.title。

2. 调用t()函数的代码示例

在React组件中,通过useTranslation钩子获取t函数后,直接传入完整键路径即可:

import { useTranslation } from 'react-i18next';

function YourComponent() {
  const { t } = useTranslation();

  // 调用t函数获取"Edit"
  const editTitle = t('action.EDIT.title');

  return <div>{editTitle}</div>;
}

3. 优化:复用常量避免硬编码

如果想避免硬编码键名,可在EN.js中导出EDIT常量,然后动态拼接键路径:
首先修改EN.js导出常量:

// EN.js
export const EDIT = "EDIT";
export const DELETE = "DELETE";

export default {
  action: {
    [EDIT]: {
      title: 'Edit',
    },
    [DELETE]: {
      title: 'Delete',
    },
  }
};

然后在组件中导入并使用:

import { useTranslation } from 'react-i18next';
import { EDIT } from './path/to/EN.js';

function YourComponent() {
  const { t } = useTranslation();
  const editTitle = t(`action.${EDIT}.title`);

  return <div>{editTitle}</div>;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 11:54:59