/* ============================================================================= * M02_MasterTemplete_Labor_Text.ts * 일위대가 조합 화면 글자 — [한국어, 영어] * ========================================================================== */ import { currentLanguageIndex } from "@ui/ui_template_locale"; const TEXT = { Title: ["일위대가 조합", "Unit-price combination"], ReadOnly: ["읽기만 — 이 층은 고칠 수 없음", "Read only — this layer cannot be edited"], Sub: ["구분", "Category"], Detail: ["상세구분", "Detail"], All: ["전체", "All"], Empty: ["조합이 없음 — [새 조합]으로 만듦", "No combinations — press [New combination]"], New: ["새 조합", "New combination"], Delete: ["지우기", "Delete"], Save: ["저장", "Save"], Saved: ["저장함", "Saved"], Deleted: ["지움", "Deleted"], Stale: ["그 사이 조합 파일이 바뀜 — 다시 열어 주세요", "The file changed — reopen it"], Loading: ["불러오는 중…", "Loading…"], Search: ["이름 · 키로 찾기", "Search by name or key"], NoMatch: ["찾은 조합 없음 — 거름 · 찾기 글을 바꿔 봄", "No match — change the filter or search"], NeedName: ["이름을 적어야 저장됨", "A name is required"], Load_Failed: ["불러오지 못함", "Load failed"], Origin_Self: ["원본", "Original"], Logics_Title: ["담은 로직", "Logics in it"], Col_Order: ["차례", "No."], Col_Name: ["이름", "Name"], Col_Unit: ["결과 단위", "Result unit"], Col_Move: ["순서", "Move"], Up: ["올리기", "Up"], Down: ["내리기", "Down"], Remove: ["빼기", "Remove"], AddLogic: ["로직 추가", "Add logic"], NoLogic: ["담은 로직 없음", "No logics yet"], Open: ["열기", "Open"], Pick_Title: ["로직 고르기", "Pick a logic"], Pick_Search: ["이름·키로 찾기", "Search by name or key"], Pick_Find: ["찾기", "Find"], Pick_Hint: [ "구분 → 상세구분을 고르고 [찾기]를 누름 — 하나씩 직접 고름", "Choose category, detail, then Find — pick one by one", ], Pick_None: ["찾은 로직 없음", "No logics found"], Pick_Close: ["닫기", "Close"], Pick_Blocked: ["막힘", "Blocked"], Prev_Labor: ["노무비", "Labor"], Prev_Material: ["재료비", "Material"], Prev_Expense: ["경비", "Expense"], Prev_Sum: ["합계", "Total"], // 일위대가 상세(39-3) — 구조물 열마다 하나 Labor_Unit: ["단위", "Unit"], Labor_Origin: ["본뜬 곳", "Copied from"], Labor_Mats: ["자재목록", "Materials"], Labor_NoMat: ["담은 자재 없음", "No materials yet"], Labor_AddMat: ["자재 추가", "Add material"], Labor_Qty: ["수량", "Quantity"], Labor_Base: ["기준", "Base"], Labor_Applied: ["반영", "Applied"], Labor_BasePrice: ["기준 단가", "Base price"], Labor_AppliedSum: ["반영 금액", "Applied amount"], Labor_Calc_Fail: ["계산 못 함", "Calculation failed"], Labor_Empty: ["빈 값 {n}", "{n} empty"], Labor_Lost: [ "로직 입력이 바뀌어 저장 때 빠지는 값 — {value}", "Inputs no longer in the logic (dropped on save) — {value}", ], Labor_Code: ["코드", "Code"], Labor_Spec: ["규격", "Spec"], Labor_Already: ["이미 담은 로직 — {value}", "Already added — {value}"], Labor_AlreadyMat: ["이미 담은 자재 — {value}", "Already added — {value}"], In_Title: ["넣을 값 — {value}", "Inputs — {value}"], In_None: ["이 로직은 넣을 값이 없음", "This logic has no inputs"], In_Memo: ["메모", "Memo"], In_Qty: ["수량", "Quantity"], In_QtyCell: ["면적산출 칸", "Area sheet cell"], In_QtyHand: ["손 입력", "Manual"], In_QtyLinked: ["이은 칸 {value}", "Linked cell {value}"], In_QtyNoLink: ["이은 칸 없음 — 면적산출에서 알약을 칸에 이음", "No linked cell"], In_QtyGoArea: ["면적산출에서 잇기", "Link in area sheet"], In_QtyNeed: ["손 입력 수량을 수로 적음", "Enter a number"], In_Bad: ["범위 밖 값이 있음 — 고친 뒤 확인", "Out-of-range values — fix first"], In_Ok: ["확인", "OK"], In_Cancel: ["취소", "Cancel"], In_Close: ["닫기", "Close"], } as const satisfies Record; export type ComboTextKey = keyof typeof TEXT; export function tc(key: ComboTextKey): string { const entry = TEXT[key]; return entry[currentLanguageIndex as 0 | 1] ?? entry[0]; }