Cette documentation a été traduite automatiquement par IA.
Internationalisation (i18n)
Les plugins NocoBase prennent en charge l'internationalisation (i18n) multilingue, aussi bien pour le frontend que pour 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 de vos plugins sont centralisés dans le répertoire src/locale. Nous vous recommandons de les nommer en fonction de la langue, par exemple :
Chaque fichier de langue exporte un objet JSON qui regroupe toutes les chaînes de traduction pour cette langue, par exemple :
Lors de l'ajout initial de fichiers de langue, vous devez redémarrer l'application pour qu'ils prennent effet. Vous pouvez vérifier si les entrées de traduction sont actives via l'API :
http://localhost:13000/api/app:getLang?locale=zh-CN
Instance i18n globale
app.i18n est l'instance i18n globale, utilisable dans les scénarios globaux des plugins ou pour la CLI. Vous pouvez la combiner avec Inquirer pour implémenter des interactions en ligne de commande :
app.i18n.t(text, options)est utilisée pour traduire du texte et prend en charge les variables de modèle.
i18n du contexte de requête
Pour chaque requête, ctx.i18n est une instance clonée de l'i18n globale. Elle répond indépendamment avec les informations multilingues en fonction de la langue du client.
Définir la langue du client
- Chaîne de requête :
- En-tête de requête (recommandé) :
Utilisation dans un middleware
Accéder à http://localhost:13000/api/test-i18n?locale=zh-CN retournera 你好 (le mot chinois pour « Hello »).
i18n interne aux plugins
Les plugins peuvent utiliser directement plugin.t(key, options) pour obtenir les traductions :
plugin.t(text)est équivalent àctx.t(text, { ns }).
API associées
- app.i18n
- app.t(text, options)
- ctx.i18n
- ctx.t(text, options)
- plugin.t()
- tExpr(text, options)

