- 서고 목록표(단가산출 승격 · 일위대가 사전조합) = M01 단가산출 로직 목록 양식 — 찾기 줄(buildHeadFilters) · 쪽(buildPager · 30줄) · 표 m01-master__grid · 줄 m01-master__table-row 를 M01 에서 import - 머리 단추 꼴 = M01 [신규 로직] · [로직 복사/생성] · [로직 지우기] 와 같음(filled · ghost · danger 빨강) · 단추 틈 8px(m01-head 와 같음) - 사전조합 상세 [추가] 따로 단추 없앰 — 일위대가 상세와 같은 [로직 추가] · 같은 고르기 창(Labor_Pick · only = 서고 줄만) - 시험 기대 글 고침(card_shell 늘 참이던 assert) · 화면 시나리오 51-10 · 51-6 단추 이름 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt
135 lines
6.3 KiB
TypeScript
135 lines
6.3 KiB
TypeScript
/* =============================================================================
|
||
* 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: ["단가산출 로직", "Unit-price logics"],
|
||
Col_Order: ["차례", "No."],
|
||
Col_Name: ["이름", "Name"],
|
||
Col_Alias: ["별칭", "Alias"],
|
||
Alias_Edit: ["눌러서 별칭 고침", "Click to edit alias"],
|
||
Col_Unit: ["결과 단위", "Result unit"],
|
||
Col_Move: ["순서", "Move"],
|
||
Up: ["위로", "Up"],
|
||
Down: ["아래로", "Down"],
|
||
Remove: ["삭제", "Delete"],
|
||
Labor_Option: ["옵션", "Options"],
|
||
Labor_Source: ["원문", "Source"],
|
||
Labor_SourceHint: [
|
||
"단가산출 로직 줄을 고르면 그 원문이 보임",
|
||
"Pick a logic row to see its source",
|
||
],
|
||
AddLogic: ["로직 추가", "Add logic"],
|
||
NoLogic: ["단가산출 로직 없음", "No logics yet"],
|
||
Open: ["열기", "Open"],
|
||
Pick_Title: ["로직 고르기", "Pick a logic"],
|
||
Pick_Search: ["이름·키로 찾기", "Search by name or key"],
|
||
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_QtyCol: ["수량산출", "Quantity"],
|
||
Labor_Item: ["항목", "Item"],
|
||
Labor_Hand: ["손", "Manual"],
|
||
Labor_QtyPick: ["누르면 손 입력 · 엑셀에서 고르기", "Manual or pick a cell"],
|
||
Labor_PickWait: ["계산이 끝난 뒤 고름", "Wait for the calculation"],
|
||
Labor_NoArea: ["이 열 면적산출을 못 읽음", "Area sheet not loaded"],
|
||
Labor_BadCell: ["칸 주소가 틀림", "Invalid cell"],
|
||
Labor_QtyNow: ["지금 수량", "Now"],
|
||
Labor_Unlink: ["연결 풀기", "Unlink"],
|
||
Labor_UnlinkPending: ["연결 풀기 — [확인]을 누르면 풂", "Unlink on OK"],
|
||
Labor_CellPending: ["고른 칸 {value} — [확인]을 누르면 이음", "Cell {value} — link on OK"],
|
||
Labor_SheetHint: [
|
||
"면적산출 시트 — 칸을 누르면 그 칸을 고름 · 손 입력이 있으면 손이 앞섬",
|
||
"Area sheet — click a cell to pick it · manual value wins",
|
||
],
|
||
Labor_Base: ["기준", "Base"],
|
||
Labor_Applied: ["반영", "Applied"],
|
||
Labor_BasePrice: ["기준 단가", "Base price"],
|
||
Labor_AppliedSum: ["반영 금액", "Applied amount"],
|
||
Labor_Calc_Fail: ["계산 못 함", "Calculation failed"],
|
||
// 구분(50-4)
|
||
Kind_Logic: ["단가산출", "Logic"],
|
||
Kind_Promote: ["단가승격", "Promoted"],
|
||
Kind_Combo: ["일위조합", "Combination"],
|
||
Labor_LineDetail: ["상세 — {value}", "Detail — {value}"],
|
||
Labor_LineApplied: ["반영(수량 곱함)", "Applied (× quantity)"],
|
||
Labor_LineBase: ["기준", "Base"],
|
||
Labor_FromLogic: ["원 로직", "Source logic"],
|
||
Lib_Precombo: ["사전조합", "Pre-combination"],
|
||
Lib_System: ["마스터", "Master"],
|
||
Lib_Company: ["회사", "Company"],
|
||
Lib_Personal: ["개인", "Personal"],
|
||
Labor_AlreadyRef: ["이미 담은 일위대가 조합 — {value}", "Already added — {value}"],
|
||
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_QtyCell: ["면적산출 칸", "Area sheet cell"],
|
||
In_QtyEmpty: ["빈 칸", "empty cell"],
|
||
In_QtyHand: ["손 입력", "Manual"],
|
||
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"],
|
||
Lib_Name: ["이름", "Name"],
|
||
// 서고 목록표(51-4)
|
||
Lib_Promote: ["단가산출 승격", "Promoted logic"],
|
||
Lib_PrecomboAll: ["일위대가 사전조합", "Pre-combination"],
|
||
Lib_Create: ["생성", "Create"],
|
||
Lib_Copy: ["복사", "Copy"],
|
||
Lib_Delete: ["삭제", "Delete"],
|
||
Lib_Key: ["키", "Key"],
|
||
Lib_Unit: ["단위", "Unit"],
|
||
Lib_Base: ["기준 금액", "Base amount"],
|
||
Lib_Date: ["고친 날", "Modified"],
|
||
} as const satisfies Record<string, readonly [string, string]>;
|
||
|
||
export type ComboTextKey = keyof typeof TEXT;
|
||
|
||
export function tc(key: ComboTextKey): string {
|
||
const entry = TEXT[key];
|
||
return entry[currentLanguageIndex as 0 | 1] ?? entry[0];
|
||
}
|