logologo
Começar
Manual
Desenvolvimento
Plugins
API
Início
English
简体中文
日本語
한국어
Español
Português
Deutsch
Français
Русский
Começar
Manual
Desenvolvimento
Plugins
API
Início
logologo
Visão geral do RunJS
Importando módulos
Renderização no contêiner

Variáveis globais

window
document
navigator

ctx

ctx.blockModel
ctx.collection
ctx.collectionField
ctx.dataSource
ctx.dataSourceManager
ctx.element
ctx.exit()
ctx.exitAll()
ctx.filterManager
ctx.form
ctx.getModel()
ctx.getValue()
ctx.getVar()
ctx.i18n
ctx.importAsync()
ctx.initResource()
ctx.libs
ctx.location
ctx.logger
ctx.makeResource()
ctx.message
ctx.modal
ctx.model
ctx.notification
ctx.off()
ctx.on()
ctx.openView()
ctx.render()
ctx.request()
ctx.requireAsync()
ctx.resource
ctx.route
ctx.router
ctx.setValue()
ctx.sql
ctx.t()
ctx.view
Previous Pagectx.sql
Next Pagectx.view
Aviso de tradução por IA

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

#ctx.t()

Uma função de atalho de i18n usada no RunJS para traduzir textos com base nas configurações de idioma do contexto atual. É adequada para a internacionalização de textos em linha, como botões, títulos e avisos.

#Casos de Uso

O ctx.t() pode ser usado em todos os ambientes de execução do RunJS.

#Definição de Tipo

t(key: string, options?: Record<string, any>): string

#Parâmetros

ParâmetroTipoDescrição
keystringChave de tradução ou template com espaços reservados (ex: Olá {{name}}, {{count}} linhas).
optionsobjectOpcional. Variáveis de interpolação (ex: { name: 'João', count: 5 }) ou opções de i18n (ex: defaultValue, ns).

#Valor de Retorno

  • Retorna a string traduzida. Se não houver tradução para a chave e nenhum defaultValue for fornecido, poderá retornar a própria chave ou a string interpolada.

#Namespace (ns)

O namespace padrão para o ambiente RunJS é runjs. Quando o ns não é especificado, o ctx.t(key) procurará a chave no namespace runjs.

// Busca a chave no namespace 'runjs' por padrão
ctx.t('Submit'); // Equivalente a ctx.t('Submit', { ns: 'runjs' })

// Busca a chave em um namespace específico
ctx.t('Submit', { ns: 'myModule' });

// Pesquisa em vários namespaces sequencialmente (primeiro 'runjs', depois 'common')
ctx.t('Save', { ns: ['runjs', 'common'] });

#Exemplos

#Chave simples

ctx.t('Submit');
ctx.t('No data');

#Com variáveis de interpolação

const text = ctx.t('Hello {{name}}', { name: ctx.user?.nickname || 'Guest' });
ctx.render(`<div>${text}</div>`);
ctx.message.success(ctx.t('Processed {{count}} rows', { count: rows.length }));

#Textos dinâmicos (ex: tempo relativo)

if (minutes < 60) return ctx.t('{{count}} minutes ago', { count: minutes });
if (hours < 24) return ctx.t('{{count}} hours ago', { count: hours });

#Especificando um namespace

ctx.t('Hello {{name}}', { name: 'Guest', ns: 'myModule' });

#Observações

  • Plugin de Localização: Para traduzir textos, o plugin de Localização deve estar ativado. Chaves de tradução ausentes serão extraídas automaticamente para a lista de gerenciamento de localização para manutenção e tradução unificadas.
  • Suporta interpolação no estilo i18next: use {{nomeDaVariavel}} na chave e passe a variável correspondente em options para substituí-la.
  • O idioma é determinado pelo contexto atual (ex: ctx.i18n.language, localidade do usuário).

#Relacionado

  • ctx.i18n: Ler ou alternar idiomas