# I18n (Internationalisation)

Les plugins NocoBase prennent en charge l'internationalisation multilingue (i18n) pour le frontend et le backend. Grâce à un mécanisme unifié, vous pouvez facilement implémenter du contenu multilingue dans vos plugins.

## Gestion des fichiers multilingues

Les fichiers multilingues des plugins sont stockés de manière uniforme dans le répertoire `src/locale`. Il est recommandé de les nommer par langue, par exemple :

```bash
|- /plugin-hello
  |- /src
    |- /locale
      |- en-US.json   # Langue anglaise
      |- zh-CN.json   # Langue chinoise
```

Chaque fichier de langue exporte un objet JSON contenant toutes les entrées de traduction pour cette langue, par exemple :

```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}}"
}
```

> Lorsque vous ajoutez des fichiers de langue pour la première fois, vous devez redémarrer l'application pour qu'ils prennent effet. Vous pouvez vérifier que les entrées de traduction ont bien été prises en compte via l'API :  
> http://localhost:13000/api/app:getLang?locale=zh-CN

## API liées à l'i18n

### ctx.i18n

### ctx.t(text, options)

### plugin.t()

### useT()

### tExpr(text)

### useTranslation(ns)

### withTranslation(ns)