Avis de traduction IA

Ce document a été traduit par IA. Pour des informations précises, veuillez consulter la version anglaise.

ctx.i18n

L'instance i18n du contexte actuel, utilisée pour lire ou changer de langue. Utilisez ctx.t() pour traduire du texte ; n'utilisez pas ctx.i18n.t.

Scénarios d'utilisation

Tous les environnements d'exécution RunJS peuvent utiliser ctx.i18n (par exemple, JSBlock, JSField, JSItem, JSColumn, flux de travail, règles d'interactivité, etc.).

Définition du type

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

Propriétés courantes

PropriétéTypeDescription
languagestringLe code de la langue actuellement active (par exemple, en-US, zh-CN)

Méthodes courantes

changeLanguage(lng)

Change la langue actuelle.

ParamètreTypeDescription
lngstringCode de la langue cible (par exemple, 'en-US', 'zh-CN')

Valeur de retour : Promise<any>, se résout une fois le changement de langue terminé.

Exemples

Lire la langue actuelle

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

Changer de langue

// Passer à l'anglais
await ctx.i18n.changeLanguage('en-US');

// Passer au chinois
await ctx.i18n.changeLanguage('zh-CN');

Bouton de changement de langue

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' : 'Passer au chinois')}
  </Button>,
);

Remarques

  • Texte de traduction : Utilisez ctx.t() de manière cohérente ; n'utilisez pas ctx.i18n.t.

En lien

  • ctx.t() : Traduire du texte, utilisez cette méthode de manière cohérente.