---
title: "I18n 国际化（客户端）"
description: "NocoBase 客户端国际化：useTranslation、t()、locales、多语言、React 组件内翻译。"
keywords: "I18n,国际化,useTranslation,t(),locales,客户端翻译,NocoBase"
---

# I18n 国际化

在 NocoBase 插件中，支持前后端多语言国际化 (i18n)，通过统一的机制可以在插件中轻松实现多语言内容。

## 多语言文件管理

插件的多语言文件统一存放在 `src/locale` 目录下，建议按语言文件命名，例如：

```bash
|- /plugin-hello
  |- /src
    |- /locale
      |- en-US.json   # 英文语言
      |- zh-CN.json   # 中文语言
```

每个语言文件导出一个 JSON 对象，包含该语言的所有翻译词条，例如：

```json
// zh-CN.json
{
  "Hello": "你好",
  "World": "世界",
  "Enter your name": "请输入你的名字",
  "Your name is {{name}}": "你的名字是 {{name}}"
}
```

```json
// en-US.json
{
  "Hello": "Hello",
  "World": "World",
  "Enter your name": "Enter your name",
  "Your name is {{name}}": "Your name is {{name}}"
}
```

> 初次添加语言文件，需要重启应用才能生效。可以通过接口校验翻译词条是否生效：  
> http://localhost:13000/api/app:getLang?locale=zh-CN

## i18n 相关 API

### ctx.i18n

### ctx.t(text, options)

### plugin.t()

### useT()

### tExpr(text)

### useTranslation(ns)

### withTranslation(ns)
