# Интернационализация (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}}"
}
```

> При первом добавлении языковых файлов необходимо перезапустить приложение, чтобы они вступили в силу. Вы можете проверить, что переводы применились, с помощью API:  
> http://localhost:13000/api/app:getLang?locale=zh-CN

## API, связанные с i18n

### ctx.i18n

### ctx.t(text, options)

### plugin.t()

### useT()

### tExpr(text)

### useTranslation(ns)

### withTranslation(ns)