logologo
시작
가이드
개발
플러그인
API
홈
English
简体中文
日本語
한국어
Español
Português
Deutsch
Français
Русский
시작
가이드
개발
플러그인
API
홈
logologo
RunJS 개요
모듈 가져오기
컨테이너 내 렌더링

전역 변수

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()
AI 번역 알림

이 문서는 AI에 의해 번역되었습니다. 정확한 정보는 영어 버전을 참조하세요.

#ctx.i18n

현재 컨텍스트의 i18n 인스턴스로, 언어를 읽거나 전환하는 데 사용됩니다. 텍스트 번역에는 일관되게 ctx.t()를 사용하며, ctx.i18n.t는 사용하지 마십시오.

#적용 시나리오

모든 RunJS 실행 환경에서 ctx.i18n을 사용할 수 있습니다 (예: JSBlock, JSField, JSItem, JSColumn, 워크플로우, 연동 규칙 등).

#타입 정의

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

#주요 속성

속성타입설명
languagestring현재 활성화된 언어 코드 (예: zh-CN, en-US)

#주요 메서드

#changeLanguage(lng)

현재 언어를 전환합니다.

매개변수타입설명
lngstring대상 언어 코드 (예: 'en-US', 'zh-CN')

반환값: Promise<any>, 언어 전환이 완료되면 resolve됩니다.

#예시

#현재 언어 읽기

const lang = ctx.i18n.language;
// 'zh-CN' | 'en-US' | ...
if (lang.startsWith('zh')) {
  ctx.render(ctx.t('중국어 인터페이스'));
} else {
  ctx.render(ctx.t('English UI'));
}

#언어 전환

// 영어로 전환
await ctx.i18n.changeLanguage('en-US');

// 중국어로 전환
await ctx.i18n.changeLanguage('zh-CN');

#언어 전환 버튼

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' : '중국어로 전환')}
  </Button>,
);

#주의사항

  • 번역 텍스트: ctx.t()를 일관되게 사용하고, ctx.i18n.t는 사용하지 마십시오.

#관련 정보

  • ctx.t(): 텍스트 번역 시 이 메서드를 일관되게 사용합니다.