/* ============================================================================= * spreadsheet_text.ts (주인 E) * 도구 모음 · 시트 탭 · 우클릭 메뉴 · 클립보드 글자 — [한국어, 영어]. * ⚠ `@ui/ui_template_locale` 를 안 씀 — `currentLanguageIndex` 하나만 필요해도 그 파일이 * 앱 전체 사전(a · b1~4 · common · m1 · m2, 압축 뒤 약 45 KB)을 통째로 끌고 와 화면 예산(28 KB)을 * 넘김(2026-09-27 브레인 지시). 자기 언어 상태를 따로 둠 — `setSpreadsheetLanguage` 로만 바꿈. * ========================================================================== */ let currentLanguageIndex = 0; /** 앱 전역 언어 토글과 맞추고 싶으면 D(`spreadsheet.ts`) 가 부름 — 안 부르면 한국어 기본. */ export function setSpreadsheetLanguage(index: 0 | 1): void { currentLanguageIndex = index; } const TEXT = { Undo: ["되돌리기", "Undo"], Redo: ["다시", "Redo"], FontName: ["글꼴", "Font"], FontSize: ["크기", "Size"], Bold: ["굵게", "Bold"], Italic: ["기울임", "Italic"], Underline: ["밑줄", "Underline"], Strike: ["취소선", "Strikethrough"], TextColor: ["글자색", "Text color"], FillColor: ["채움색", "Fill color"], ColorClear: ["지움", "Clear"], HAlign: ["가로 정렬", "Horizontal align"], VAlign: ["세로 정렬", "Vertical align"], Align_general: ["일반", "General"], Align_left: ["왼쪽", "Left"], Align_center: ["가운데", "Center"], Align_right: ["오른쪽", "Right"], Align_distributed: ["균등 분할", "Distributed"], Align_centerContinuous: ["선택 영역 가운데", "Center across"], VAlign_top: ["위", "Top"], VAlign_center: ["가운데", "Middle"], VAlign_bottom: ["아래", "Bottom"], Wrap: ["줄 바꿈", "Wrap text"], Merge: ["병합", "Merge"], Unmerge: ["병합 해제", "Unmerge"], Border: ["테두리", "Border"], Border_none: ["없음", "None"], Border_all: ["모두", "All"], Border_outer: ["바깥", "Outer"], Border_top: ["위", "Top"], Border_bottom: ["아래", "Bottom"], Border_left: ["왼", "Left"], Border_right: ["오른", "Right"], BorderLine: ["선", "Line"], BorderColor: ["색", "Color"], NumberFormat: ["숫자 형식", "Number format"], NumberFormat_general: ["일반", "General"], NumberFormat_integer: ["정수 0", "Integer"], NumberFormat_decimal2: ["소수 0.00", "Decimal 0.00"], NumberFormat_thousands: ["천 단위 #,##0", "Thousands"], NumberFormat_thousands2: ["천 단위 #,##0.00", "Thousands 0.00"], NumberFormat_percent: ["백분율 0%", "Percent"], NumberFormat_accounting: ["회계", "Accounting"], NumberFormat_text: ["글자 @", "Text"], NumberFormat_hint: [ "이름 골라 쓰거나 엑셀 형식 코드를 바로 침", "Pick a preset or type an Excel format code", ], SheetAdd: ["시트 더하기", "Add sheet"], SheetRename: ["이름 바꾸기", "Rename"], SheetDelete: ["지우기", "Delete"], SheetDuplicate: ["복사", "Duplicate"], SheetRenamePrompt: ["새 시트 이름", "New sheet name"], SheetDeleteConfirm: [ "이 시트를 지울까요? 되돌릴 수 없습니다.", "Delete this sheet? This cannot be undone.", ], SheetDeleteLastError: ["마지막 시트는 지울 수 없음", "Cannot delete the last sheet"], SheetHide: ["숨기기", "Hide"], SheetUnhideMenu: ["숨긴 시트 보이기", "Show hidden sheets"], MenuCut: ["잘라내기", "Cut"], MenuCopy: ["복사", "Copy"], MenuPasteHint: ["Ctrl+V 를 쓸 것", "Use Ctrl+V"], MenuInsertRow: ["행 넣기", "Insert row"], MenuDeleteRow: ["행 지우기", "Delete row"], MenuInsertCol: ["열 넣기", "Insert column"], MenuDeleteCol: ["열 지우기", "Delete column"], MenuHide: ["숨기기", "Hide"], MenuUnhide: ["숨김 취소", "Unhide"], MenuClearContent: ["내용 지우기", "Clear content"], MenuClearFormat: ["서식 지우기", "Clear format"], MenuMerge: ["병합", "Merge"], MenuUnmerge: ["병합 해제", "Unmerge"], MenuCommentInsert: ["메모 삽입", "Insert comment"], MenuCommentEdit: ["메모 편집", "Edit comment"], MenuCommentDelete: ["메모 삭제", "Delete comment"], ClipboardPasteFailed: ["붙여넣기를 읽지 못함", "Could not read paste content"], ClipboardMergeBlocked: [ "병합된 셀의 일부를 바꿀 수 없습니다", "Can't change part of a merged cell", ], Unit: ["단위", "Unit"], UnitGroup_area: ["넓이·부피·길이", "Area · volume · length"], UnitGroup_weight: ["무게·부피(액체)", "Weight · liquid volume"], UnitGroup_count: ["개수", "Count"], UnitGroup_rate: ["속도·각도·비율", "Speed · angle · rate"], UnitGroup_op: ["연산·비교", "Operators"], UnitRecent: ["최근 씀", "Recently used"], UnitAsFormat: ["숫자 형식으로 붙이기", "Attach as number format"], FormulaHint_label: [ "엑셀 수식까지: 엑셀에서 Ctrl+` → 복사 → 여기 Ctrl+V · 끝나면 엑셀 Ctrl+` 다시", "Formulas too: in Excel Ctrl+` → copy → paste here (Ctrl+V) · then Ctrl+` again in Excel", ], FormulaHint_title: ["엑셀 수식까지 옮기는 법", "How to bring formulas along"], FormulaHint_detail: [ "엑셀 Ctrl+` = 「수식 표시」 켜기 · 칸에 계산값 대신 「=...」 글이 그대로 보임. 그 상태로 복사해 " + "여기 붙이면 수식까지 옮겨짐(그냥 복사하면 값만 옴 · 수식 없음). 붙인 뒤 엑셀에서 Ctrl+` 다시 " + "눌러 원래대로.", 'Excel Ctrl+` turns on "Show Formulas" — cells show "=..." text instead of the computed ' + "value. Copy in that state and paste here to bring the formulas along (a normal copy only " + "brings values). Press Ctrl+` again in Excel afterward to switch back.", ], ClipboardExcelNoFormula: [ "값만 들어왔음 — 수식까지는 엑셀 Ctrl+` 뒤 복사", "Only values came in — for formulas too, copy after Ctrl+` in Excel", ], } as const; export function st(key: keyof typeof TEXT): string { return TEXT[key][currentLanguageIndex] ?? TEXT[key][0]; }