- 공용 부품 ui_template_loading(showLoading · loadingError · delayedShow) — 칸 안 작은 회전 표시 + 「불러오는 중...」 · 화면 전체 잠금 아님 · 다른 페이지도 씀
- 붙인 자리 — 좌측 나무(구조물 · 일위대가 · 사람 나무) · 상세 칸(구조물 표 · 도면 · 면적 · 재료) · 조합 목록 · 조합 상세 · 항목 카드
- 공용 글 Common_Load_Failed · Common_Reload
- 시험 test_ui_loading(0.3초 규칙 가짜 시계 · 실패 글 · 붙은 자리)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1,230줄이던 ui_template_locale.ts를 얇은 배럴(51줄)로 축소하고,
ui_locales 사전 데이터를 4개 파일로 분리했다.
- ui_template_locale_common.ts (96줄, 60키) — 공통 액션/상태/폼/네비/워크플로우/앱 셸, LocaleEntry 타입 정의
- ui_template_locale_a.ts (263줄, 141키) — A01~A09 로그인 전 페이지
- ui_template_locale_b1.ts (430줄, 260키) — B01~B04
- ui_template_locale_b2.ts (408줄, 253키) — B05~B11
배럴이 4종 사전을 스프레드로 합성하고 LANGUAGES / LanguageCode /
currentLanguageIndex / setLanguage / t / ui_locales / LocaleKey export
시그니처를 그대로 유지하므로, 소비처 13개 이상 파일의 import 수정은 없다.
검증: 분할 전후 714개 키가 값 문자열까지 완전 일치, 파일 간 중복 키 0건,
tsc --noEmit 오류 0건, prettier 5개 파일 모두 unchanged.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>