logologo
Empezar
Manual
Desarrollo
Plugins
API
Inicio
English
简体中文
日本語
한국어
Español
Português
Deutsch
Français
Русский
Empezar
Manual
Desarrollo
Plugins
API
Inicio
logologo
Descripción general de RunJS
Importación de módulos
Renderizado en contenedor

Variables globales

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.getVar()
Next Pagectx.importAsync()
Aviso de traducción IA

Este documento ha sido traducido por IA. Para información precisa, consulte la versión en inglés.

#ctx.i18n

La instancia i18n del contexto actual, utilizada para leer o cambiar idiomas. Utilice ctx.t() para traducir textos; no utilice ctx.i18n.t.

#Escenarios de uso

Todos los entornos de ejecución de RunJS pueden utilizar ctx.i18n (por ejemplo, JSBlock, JSField, JSItem, JSColumn, flujo de trabajo, reglas de vinculación, etc.).

#Definición de tipos

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

#Propiedades comunes

PropiedadTipoDescripción
languagestringEl código del idioma activo actualmente (por ejemplo, zh-CN, en-US)

#Métodos comunes

#changeLanguage(lng)

Cambia el idioma actual.

ParámetroTipoDescripción
lngstringCódigo del idioma de destino (por ejemplo, 'en-US', 'zh-CN')

Valor de retorno: Promise<any>, se resuelve una vez que se completa el cambio de idioma.

#Ejemplos

#Lectura del idioma actual

const lang = ctx.i18n.language;
// 'zh-CN' | 'en-US' | ...
if (lang.startsWith('zh')) {
  ctx.render(ctx.t('Interfaz en chino'));
} else {
  ctx.render(ctx.t('English UI'));
}

#Cambio de idioma

// Cambiar a inglés
await ctx.i18n.changeLanguage('en-US');

// Cambiar a chino
await ctx.i18n.changeLanguage('zh-CN');

#Botón de cambio de idioma

const { Button } = ctx.libs.antd;
const isZh = ctx.i18n.language.startsWith('zh');
ctx.render(
  <Button onClick={async () => {
    await ctx.i18n.changeLanguage(isZh ? 'en-US' : 'zh-CN');
  }}>
    {ctx.t(isZh ? 'Switch to English' : 'Cambiar a chino')}
  </Button>,
);

#Notas

  • Textos de traducción: Utilice ctx.t() de manera consistente; no utilice ctx.i18n.t.

#Relacionado

  • ctx.t(): Traducción de textos, utilice este método de manera consistente.