Aviso de tradução por IA

Este documento foi traduzido por IA. Para informações precisas, consulte a versão em inglês.

ctx.i18n

A instância de i18n do contexto atual, usada para ler ou alternar idiomas. Use ctx.t() para traduzir textos; não use ctx.i18n.t.

Cenários de uso

Todos os ambientes de execução RunJS podem usar ctx.i18n (ex: JSBlock, JSField, JSItem, JSColumn, fluxo de trabalho, regras de ligação, etc.).

Definição de tipo

interface i18n: {
  language: string;
  changeLanguage(lng: string): Promise<any>;
}

Propriedades comuns

PropriedadeTipoDescrição
languagestringO código do idioma atualmente ativo (ex: pt-BR, en-US, zh-CN)

Métodos comuns

changeLanguage(lng)

Altera o idioma atual.

ParâmetroTipoDescrição
lngstringCódigo do idioma de destino (ex: 'en-US', 'pt-BR', 'zh-CN')

Retorno: Promise<any>, resolvida após a conclusão da troca de idioma.

Exemplos

Lendo o idioma atual

const lang = ctx.i18n.language;
// 'pt-BR' | 'en-US' | 'zh-CN' | ...
if (lang.startsWith('pt')) {
  ctx.render(ctx.t('Interface em Português'));
} else {
  ctx.render(ctx.t('English UI'));
}

Alternando idiomas

// Alternar para Inglês
await ctx.i18n.changeLanguage('en-US');

// Alternar para Português (Brasil)
await ctx.i18n.changeLanguage('pt-BR');

Botão de troca de idioma

const { Button } = ctx.libs.antd;
const isPt = ctx.i18n.language.startsWith('pt');
ctx.render(
  <Button onClick={async () => {
    await ctx.i18n.changeLanguage(isPt ? 'en-US' : 'pt-BR');
  }}>
    {ctx.t(isPt ? 'Switch to English' : 'Mudar para Português')}
  </Button>,
);

Observações

  • Textos de tradução: Use ctx.t() de forma consistente; não use ctx.i18n.t.

Relacionado

  • ctx.t(): Tradução de textos, use este método de forma consistente.