- 자체 로직은 고치는 자리를 편집기 하나로 두고 읽기용 묶음 소계 표는 접어 둠 - 자동 재계산으로 다시 그려도 고치던 칸에 커서와 선택 위치가 남음 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016WRFJmmhPi4exAzHgPZHMT
67 lines
3.0 KiB
TypeScript
67 lines
3.0 KiB
TypeScript
/* =============================================================================
|
|
* M01_MasterData_UI_LogicLab_Text.ts
|
|
* 「로직 개선 시험」 컨테이너 글자 — [한국어, 영어]
|
|
* ========================================================================== */
|
|
|
|
import { currentLanguageIndex } from "@ui/ui_template_locale";
|
|
|
|
const TEXT = {
|
|
Info_Title: ["기본정보", "Basic info"],
|
|
Info_ReadOnly: [
|
|
"기본 로직은 품셈 원문 그대로라 여기서 고치지 못함 — 비고만 고칠 수 있음",
|
|
"Base logic follows the source book; only the note can be edited",
|
|
],
|
|
Info_Own: [
|
|
"자체 로직 — 칸을 고치면 잠시 뒤 호표 소계와 텍스트 수식이 다시 계산됨",
|
|
"Own logic — edits recalculate the subtotals and formula shortly",
|
|
],
|
|
Edit_Title: [
|
|
"고치기 (호표 · 중간 값 · 덧줄 · 끝수)",
|
|
"Edit (lines · middles · extras · rounding)",
|
|
],
|
|
Ho_Fold: ["묶음 소계 표 (읽기용 — 고치기는 위 편집기)", "Group subtotals (read-only)"],
|
|
Ho_Title: ["일위대가 호표", "Unit-cost table"],
|
|
Formula_Title: ["텍스트 수식", "Text formula"],
|
|
Formula_Slot: ["시험 계산을 누르면 식이 글로 나옴", "Run the trial calc to see the formula"],
|
|
Calc_Title: ["시험 계산", "Trial calculation"],
|
|
G_labor: ["인력", "Labor"],
|
|
G_material: ["자재", "Material"],
|
|
G_cost: ["경비", "Expense"],
|
|
G_other: ["그 밖", "Other"],
|
|
Subtotal: ["소계", "Subtotal"],
|
|
Total: ["계", "Total"],
|
|
Extra: ["덧줄", "Extra"],
|
|
Col_Name: ["이름", "Name"],
|
|
Col_Unit: ["단위", "Unit"],
|
|
Col_Qty: ["수량", "Quantity"],
|
|
Col_Price: ["단가", "Price"],
|
|
Col_Amount: ["금액", "Amount"],
|
|
Empty_Group: ["줄 없음", "No lines"],
|
|
Not_Money: ["호표가 없는 로직 — 결과 식", "No unit-cost lines — result formula"],
|
|
Calc_First: [
|
|
"금액은 아래 「시험 계산」 을 누르면 채워짐",
|
|
"Amounts fill after the trial calculation",
|
|
],
|
|
Click_Hint: ["줄을 누르면 그 줄이 쓰는 자료가 뜸", "Click a line to see the data it uses"],
|
|
Modal_Close: ["닫기", "Close"],
|
|
Modal_Qty: ["수량 식", "Quantity formula"],
|
|
Modal_Price: ["단가 자료", "Price source"],
|
|
Modal_Value: ["값", "Value"],
|
|
Modal_Source: ["출처", "Source"],
|
|
Modal_Spec: ["규격", "Spec"],
|
|
Modal_Logic: ["다른 로직을 부름", "Calls another logic"],
|
|
Modal_NoData: ["표나 단가 자료가 없는 줄 — 수량 식만 있음", "No table or price data"],
|
|
Modal_Hit: ["노란 줄 = 지금 넣은 값으로 걸린 줄", "Highlighted row matches the trial values"],
|
|
Modal_NoHit: [
|
|
"걸린 줄을 아직 못 맞힘 — 「시험 계산」 에 값을 넣고 다시 누르세요",
|
|
"No matching row yet — enter trial values and reopen",
|
|
],
|
|
} as const satisfies Record<string, readonly [string, string]>;
|
|
|
|
export type LabTextKey = keyof typeof TEXT;
|
|
|
|
export function tl(key: LabTextKey): string {
|
|
const entry = TEXT[key];
|
|
return entry[currentLanguageIndex as 0 | 1] ?? entry[0];
|
|
}
|