DSc T2Editor Developers
DocumentationLocalization
Localization

Locales와 번역 확장 개발

코어·Extend·플러그인 번역의 namespace, fallback과 캐시 규칙입니다.

Locales와 번역 확장 개발

위치

  • 코어: /locales/<locale>.json
  • 전역 overlay: /extend/locales/<locale>.json
  • 플러그인: /plugin/<plugin>/locales/<locale>.json
  • 마켓 Locales 패키지: manifest가 지정한 /locales/<id>/ 계층

언어 파일명은 ko.json, en.json, ko-KR.json처럼 정규화 가능한 locale 코드를 사용한다. _meta.enabled가 false인 카탈로그는 로드하지 않으며 code와 aliases로 별칭을 선언할 수 있다.

Namespace 소유권

플러그인 번역은 자신의 플러그인 키만 병합된다. _meta.plugin이 실제 플러그인 이름과 다르거나 최상위에 해당 namespace가 없으면 무시된다. 제3자 locale가 코어 또는 다른 플러그인의 문자열을 바꾸지 못하게 하기 위한 경계다.

로딩과 캐시

활성 $T2EDITOR_PLUGINS 중 실제 디렉토리가 있는 플러그인만 번역 대상이 된다. base 동적 모드는 파일을 직접 읽고, 선택 runtime 슬롯은 generation별 공개 JSON과 비공개 PHP 캐시를 만든다. 캐시의 release ID와 generation이 현재 런타임 인덱스와 다르면 사용하지 않고 동적 로더로 폴백한다.

번역을 설치·교체한 뒤 관리자에서 런타임·locale 캐시를 재생성하고, 기본 언어·별칭·플러그인 활성 조합을 시험한다.

기술 기준

T2Editor 10.4.0을 기반으로 작성되었으며, 동일한 구조와 계약을 유지하는 이후 버전에도 적용됩니다.

T2Editor 홈으로