Esta documentação foi traduzida automaticamente por IA.
I18n Internacionalização
Os plugins do NocoBase suportam internacionalização (i18n) multilíngue tanto para o frontend quanto para o backend. Com um mecanismo unificado, você pode implementar conteúdo multilíngue facilmente nos seus plugins.
Gerenciamento de Arquivos Multilíngues
Os arquivos multilíngues dos plugins são armazenados de forma padronizada no diretório src/locale. É recomendado nomeá-los pelo idioma, por exemplo:
Cada arquivo de idioma exporta um objeto JSON contendo todas as entradas de tradução para aquele idioma, por exemplo:
Ao adicionar arquivos de idioma pela primeira vez, você precisa reiniciar a aplicação para que eles tenham efeito. Você pode verificar as entradas de tradução através da API:
http://localhost:13000/api/app:getLang?locale=zh-CN
Instância Global de i18n
app.i18n é a instância global de i18n, adequada para cenários globais de CLI ou de plugins. Ela pode ser combinada com o inquirer para implementar interações de linha de comando:
app.i18n.t(text, options)é usado para traduzir texto e suporta variáveis de template.
i18n no Contexto da Requisição
O ctx.i18n de cada requisição é um clone da instância global de i18n, respondendo de forma independente com informações multilíngues com base no idioma do cliente.
Definir Idioma do Cliente
- Query String:
- Cabeçalho da Requisição (Recomendado):
Uso em Middleware
Acessar http://localhost:13000/api/test-i18n?locale=zh-CN retornará 你好.
i18n Interno do Plugin
Os plugins podem usar diretamente plugin.t(key, options) para obter traduções:
plugin.t(text)é equivalente actx.t(text, { ns })
APIs Relacionadas
- app.i18n
- app.t(text, options)
- ctx.i18n
- ctx.t(text, options)
- plugin.t()
- tExpr(text, options)

