Files
Aislo/ui_template/ui_template_locale_common.ts
T
eomsangdonandClaude Opus 5.5 aaecfa3438 feat(설정): 332-2 ☰ [설정] 창 — 마우스 · CAD 단축키 · 다른 곳 단축키 탭 · [저장] 때만 계정 pref · 닫을 때 물음
- app_shell ☰ 설정 묶음에 [설정] 단추(서랍 닫고 창은 처음 누를 때 불러옴)
- 새 app_settings.ts(틀 · 탭 셋 · [저장] · askLeave) · app_settings_cad.ts(명령 표 · 내 별칭 · 검사) · app_settings.css
- 새 openwebcad/src/commands/command-catalog.json(명령 153 · 한글 이름 · 기본 별칭) + 거울 시험
- locale 문구(ui_template_locale_common)
- 시험: test_app_settings · cad/command-catalog 새로 · test_device_audit · test_touch_bridge 화면 주소 환경값(AISLO_UI_BASE · AISLO_UI_PROJECT)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QfHKQs7J3hQELKMWQMUJEy
2026-10-15 12:45:03 +09:00

185 lines
10 KiB
TypeScript

/* =============================================================================
* ui_template_locale_common.ts
* 다국어 사전 — 공통 문구 (액션/상태/폼/네비게이션/워크플로우 라벨/앱 셸)
*
* 규칙 (frontend.md §3):
* - 모든 UI 문자열은 여기에 [한국어, 영어] 배열로 선(先) 등록.
* - 컴포넌트에서는 ui_locales.키값[currentLanguageIndex] 형태로만 참조.
* - 텍스트 하드코딩 절대 금지.
* - 신규 문구는 해당 섹션 최하단에 추가.
*
* 이 파일은 사전 데이터만 담는다. 합성·언어 전환·t() 헬퍼는 ui_template_locale.ts 참조.
* ========================================================================== */
/** [한국어, 영어] 배열 타입 */
export type LocaleEntry = readonly [ko: string, en: string];
export const ui_locales_common = {
/* ---------------------------------------------------------------------------
* 공통 — 액션 / 버튼
* ------------------------------------------------------------------------ */
Common_Btn_Confirm: ["확인", "Confirm"],
Common_Btn_Cancel: ["취소", "Cancel"],
Common_Btn_Save: ["저장", "Save"],
Common_Btn_Delete: ["삭제", "Delete"],
Common_Btn_Edit: ["수정", "Edit"],
Common_Btn_Add: ["추가", "Add"],
Common_Btn_Close: ["닫기", "Close"],
Common_Btn_Next: ["다음", "Next"],
Common_Btn_Prev: ["이전", "Previous"],
Common_Btn_Submit: ["제출", "Submit"],
Common_Btn_Reset: ["초기화", "Reset"],
Common_Btn_Download: ["다운로드", "Download"],
Common_Btn_Upload: ["업로드", "Upload"],
Common_Btn_Search: ["검색", "Search"],
Common_Btn_Apply: ["적용", "Apply"],
Common_Btn_Retry: ["다시 시도", "Retry"],
/* ---------------------------------------------------------------------------
* 공통 — 상태 / 메시지
* ------------------------------------------------------------------------ */
Common_Status_Loading: ["불러오는 중...", "Loading..."],
Common_Load_Failed: ["불러오지 못함", "Failed to load"],
Common_Reload: ["다시 불러오기", "Reload"],
Common_Status_Saving: ["저장 중...", "Saving..."],
Common_Status_Processing: ["처리 중...", "Processing..."],
Common_Status_Success: ["완료되었습니다", "Completed"],
Common_Status_Error: ["오류가 발생했습니다", "An error occurred"],
Common_Status_Empty: ["데이터가 없습니다", "No data available"],
Common_Msg_ConfirmDelete: ["정말 삭제하시겠습니까?", "Are you sure you want to delete?"],
Common_Msg_UnsavedChanges: ["저장되지 않은 변경사항이 있습니다", "You have unsaved changes"],
Common_Msg_RequiredField: ["필수 입력 항목입니다", "This field is required"],
Common_Msg_InvalidValue: ["올바르지 않은 값입니다", "Invalid value"],
Workflow_Progress_Title: ["진행단계", "Progress"],
Workflow_Step_Dashboard: ["대시보드", "Dashboard"],
Workflow_Overlay_Collapse: ["패널 접기", "Collapse panel"],
Workflow_Overlay_Expand: ["패널 펼치기", "Expand panel"],
/* ---------------------------------------------------------------------------
* 공통 — 폼 / 검증
* ------------------------------------------------------------------------ */
Common_Form_Placeholder_Search: ["검색어를 입력하세요", "Enter search term"],
Common_Form_Placeholder_Select: ["선택하세요", "Select"],
Common_Validation_NumberRange: ["숫자 범위를 벗어났습니다", "Value out of range"],
Common_Validation_EmailFormat: ["이메일 형식이 올바르지 않습니다", "Invalid email format"],
/* ---------------------------------------------------------------------------
* 글로벌 네비게이션 / 언어
* ------------------------------------------------------------------------ */
Nav_Home: ["홈", "Home"],
Nav_Login: ["로그인", "Login"],
Nav_Logout: ["로그아웃", "Logout"],
Nav_Register: ["회원가입", "Sign up"],
Nav_MyAccount: ["내 계정", "My Account"],
Lang_Korean: ["한국어", "Korean"],
Lang_English: ["영어", "English"],
Theme_Light: ["라이트 모드", "Light mode"],
Theme_Dark: ["다크 모드", "Dark mode"],
/* ---------------------------------------------------------------------------
* 워크플로우 공통 (B04~B09 상단 진행 단계 라벨)
* ------------------------------------------------------------------------ */
WF_Step_Surface: ["전처리", "Preprocess"],
WF_Step_Route: ["종단설계", "Profile Design"],
WF_Step_ProfileCross: ["횡단설계", "Cross Design"],
WF_Step_DesignDetail: ["상세설계", "Detail Design"],
WF_Step_Quantity: ["수량산출", "Quantity"],
WF_Step_Estimation: ["원가계산", "Cost Estimate"],
WF_State_Stale: ["무효화됨 (하위 단계 변경)", "Stale (invalidated by downstream changes)"],
WF_State_Failed: ["실패", "Failed"],
WF_State_Complete: ["완료", "Complete"],
WF_State_InProgress: ["진행 중", "In Progress"],
WF_State_NotStarted: ["미실행", "Not Started"],
/* ---------------------------------------------------------------------------
* 앱 셸 — 헤더 / 푸터 (공통 네비게이션)
* ------------------------------------------------------------------------ */
App_BrandName: ["AISLO", "AISLO"],
App_Nav_Program: ["프로그램", "Program"],
App_Nav_Company: ["회사소개", "Company"],
App_Nav_News: ["소식", "News"],
App_Nav_Education: ["교육", "Education"],
App_Nav_Support: ["기술지원", "Support"],
App_Menu: ["메뉴", "Menu"],
App_TouchMode: ["터치 모드", "Touch mode"],
App_TouchMode_Auto: ["자동", "Auto"],
App_TouchMode_On: ["켬", "On"],
App_TouchMode_Off: ["끔", "Off"],
App_Touch_LongPressHint: [
"그림 위를 길게 누르면 메뉴 · 두 손가락으로 확대",
"Long-press the drawing for the menu · pinch to zoom",
],
/* ☰ [설정] 창(332) — 마우스 · CAD 단축키 · 다른 곳 단축키 */
App_Settings: ["설정", "Settings"],
App_Settings_Tab_Mouse: ["마우스", "Mouse"],
App_Settings_Tab_Cad: ["CAD 단축키", "CAD shortcuts"],
App_Settings_Tab_Keys: ["다른 곳 단축키", "Other shortcuts"],
App_Settings_Wheel: ["휠 확대 방향(모든 화면)", "Wheel zoom-in direction (all views)"],
App_Settings_Wheel_Pull: ["당기면 확대(휠을 몸 쪽으로)", "Pull to zoom in (wheel toward you)"],
App_Settings_Wheel_Push: ["밀면 확대(휠을 앞으로)", "Push to zoom in (wheel away)"],
App_Settings_Rules: ["마우스 단추", "Mouse buttons"],
App_Settings_Rule_Pan: ["화면 옮기기 = 가운데 단추 끌기", "Pan = drag with the middle button"],
App_Settings_Rule_Pick: ["고르기 = 왼쪽 단추", "Select = left button"],
App_Settings_Rule_Right: [
"오른쪽 단추 = 메뉴 · CAD 에서는 Enter",
"Right button = menu · Enter in CAD",
],
App_Settings_Rule_Pinch: [
"트랙패드 · 손가락 벌림 = 늘 확대(휠 방향과 상관없음)",
"Trackpad · finger spread = always zoom in (whatever the wheel direction)",
],
App_Settings_Cad_Help: [
"CAD 는 명령 이름 > 내 별칭 > 기본 별칭 차례로 찾음 · 영문 · 숫자만 · 여러 개는 쉼표로",
"CAD looks up command name > my alias > default alias · letters and digits only · comma for several",
],
App_Settings_Cad_Command: ["명령", "Command"],
App_Settings_Cad_Label: ["이름", "Name"],
App_Settings_Cad_Default: ["기본 별칭", "Default alias"],
App_Settings_Cad_Mine: ["내 별칭", "My alias"],
App_Settings_Cad_ErrChars: ["영문 · 숫자만 씀", "Letters and digits only"],
App_Settings_Cad_ErrDup: ["같은 별칭이 두 번 있음", "Same alias used twice"],
App_Settings_Cad_ErrName: ["명령 이름과 같은 별칭은 못 씀", "Alias cannot be a command name"],
App_Settings_Cad_Invalid: ["별칭에 잘못이 있어 저장 안 함", "Not saved — fix the aliases"],
App_Settings_Saved: ["설정 저장함", "Settings saved"],
App_Settings_Leave: ["저장 안 한 설정이 있음", "You have unsaved settings"],
App_Settings_Keys_All: ["모든 화면", "All views"],
App_Settings_Keys_All_Keys: [
"Esc = ☰ · 창 닫기 · 고름 풀기 · Z 누른 채 또는 오른쪽 0.4초 누름 = 돋보기(휠 = 배율)",
"Esc = ☰ · close window · clear selection · hold Z or right button 0.4 s = loupe (wheel = zoom)",
],
App_Settings_Keys_Profile: ["B05 종단", "B05 profile"],
App_Settings_Keys_Profile_Keys: [
"Ctrl+Z 되돌림 · Ctrl+Shift+Z 다시 · 방향키 = 옮김 · 자유지정 Enter = 끝 · Esc · Backspace",
"Ctrl+Z undo · Ctrl+Shift+Z redo · arrows = move · free mode Enter = finish · Esc · Backspace",
],
App_Settings_Keys_RouteEdit: ["B05 노선 편집", "B05 route edit"],
App_Settings_Keys_RouteEdit_Keys: [
"Ctrl+Z 되돌림 · Ctrl+Y · Ctrl+Shift+Z 다시",
"Ctrl+Z undo · Ctrl+Y · Ctrl+Shift+Z redo",
],
App_Settings_Keys_Section: ["B06 횡단", "B06 cross section"],
App_Settings_Keys_Section_Keys: [
"방향키 · ▲▼ = 측점 옮김 · Enter · Space = 고름 · Esc",
"Arrows · ▲▼ = move station · Enter · Space = pick · Esc",
],
App_Settings_Keys_Cad: ["CAD", "CAD"],
App_Settings_Keys_Cad_Keys: [
"F3 스냅 · F7 그리드 · F8 직교 · F10 45° · Ctrl+Z · Ctrl+Y · Ctrl+A · Ctrl+S(M02) · Delete · Esc · Enter · Space = Enter · 방향키 = 화면 옮김 · 글자 = 명령",
"F3 snap · F7 grid · F8 ortho · F10 45° · Ctrl+Z · Ctrl+Y · Ctrl+A · Ctrl+S (M02) · Delete · Esc · Enter · Space = Enter · arrows = pan · letters = command",
],
App_Settings_Keys_Table: ["B08 · B09 표", "B08 · B09 tables"],
App_Settings_Keys_Table_Keys: [
"Enter · F2 = 입력 · 방향키 = 칸 옮김 · Esc = 그만",
"Enter · F2 = edit · arrows = move cell · Esc = cancel",
],
App_Settings_Keys_M02: ["M02 양식", "M02 templates"],
App_Settings_Keys_M02_Keys: [
"Ctrl+S 저장 · Ctrl+C · Ctrl+V · Delete · Esc · Space+끌기 = 화면 옮김 · Ctrl+휠 = 배율 · 시트 = 엑셀 키",
"Ctrl+S save · Ctrl+C · Ctrl+V · Delete · Esc · Space+drag = pan · Ctrl+wheel = zoom · sheet = Excel keys",
],
App_Footer_Copyright: [
"© 2026 임도설계 및 견적 자동화. All rights reserved.",
"© 2026 Forest Road Design & Estimation. All rights reserved.",
],
} as const satisfies Record<string, LocaleEntry>;