Merge remote-tracking branch 'origin/sub_laptop_6' into main_laptop_1
This commit is contained in:
@@ -67,7 +67,7 @@ const TEXT = {
|
||||
Pill_Table: ["표", "Table"],
|
||||
Pill_Logic: ["로직", "Logic"],
|
||||
Pill_Go: ["마스터 화면에서 보기", "Open in master"],
|
||||
Pill_Back: ["← 단가산출 로직으로 돌아가기", "← Back to unit-price logic"],
|
||||
Pill_Back: ["← 단가산출 기초로 돌아가기", "← Back to unit-price logic"],
|
||||
Pill_NoPick: [
|
||||
"고르기 조건에 맞는 마스터 줄이 없음 — 단가를 못 찾음",
|
||||
"No master row matches the pick conditions",
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
import { currentLanguageIndex } from "@ui/ui_template_locale";
|
||||
|
||||
const TEXT = {
|
||||
Title: ["단가산출 로직", "Unit-price logic"],
|
||||
Title: ["단가산출 기초", "Unit-price logic"],
|
||||
List_Search: ["이름 · 별칭 찾기", "Search name or alias"],
|
||||
List_Alias: ["별칭 — 쉼표로 여럿 · 고친 뒤 [저장]", "Aliases — comma separated · then [Save]"],
|
||||
List_AllBooks: ["원문 모두", "All sources"],
|
||||
@@ -97,7 +97,7 @@ const TEXT = {
|
||||
Save_Failed: ["저장 못 함", "Save failed"],
|
||||
Save_Nothing: ["고친 것 없음", "Nothing to save"],
|
||||
Load_Failed: ["불러오지 못함", "Load failed"],
|
||||
Lab_Title: ["단가산출 로직", "Unit-price logic"],
|
||||
Lab_Title: ["단가산출 기초", "Unit-price logic"],
|
||||
Loading: ["불러오는 중", "Loading"],
|
||||
Confirm_Delete: [
|
||||
"로직 「{v}」 을 지울까요? [저장] 때 파일에서 빠짐",
|
||||
|
||||
@@ -103,7 +103,7 @@ def clean(doc: Any) -> dict[str, Any]:
|
||||
whole = m01.loaded()[1]
|
||||
lines, seen, here = [], set(), None
|
||||
for at, one in enumerate(doc.get("담은로직") or [], start=1):
|
||||
where = f"단가산출 로직 {at}째"
|
||||
where = f"단가산출 기초 {at}째"
|
||||
if not isinstance(one, dict):
|
||||
raise _bad(f"{where} · 묶음 아님")
|
||||
if fixed.is_fixed(one) and not one.get("로직"):
|
||||
|
||||
@@ -133,7 +133,7 @@ const VALUE_TEXT = {
|
||||
title: "넣을 값",
|
||||
missing: "빠진 로직 {value}",
|
||||
edit: "옵션 고치기",
|
||||
none: "넣을 값이 없음 — 단가산출 로직에 입력이 없음",
|
||||
none: "넣을 값이 없음 — 단가산출 기초에 입력이 없음",
|
||||
auto: "자동값",
|
||||
unconfirmed: "값 확인 전",
|
||||
confirmed: "✓ 확인함",
|
||||
|
||||
@@ -52,7 +52,7 @@ export const CARD_HELP: Record<"structure" | "labor" | "area", CardHelp> = {
|
||||
],
|
||||
},
|
||||
labor: {
|
||||
about: "고른 구조물의 일위대가 — 담은 단가산출 로직 줄과 자재목록 · 금액은 서버가 다시 셈.",
|
||||
about: "고른 구조물의 일위대가 — 담은 단가산출 기초 줄과 자재목록 · 금액은 서버가 다시 셈.",
|
||||
keys: [
|
||||
["Ctrl+S", "저장(카드 [저장]과 같음)"],
|
||||
["Enter", "별칭 칸 고침 끝"],
|
||||
|
||||
@@ -97,7 +97,7 @@ export const ITEM_COLS: Record<ListKind, Col<ItemRow>[]> = {
|
||||
NAME,
|
||||
FOLDER,
|
||||
{ head: "단위", get: (r) => r.labor?.단위 ?? "" }, // 일위대가 문서 단위(39-8 B3)
|
||||
{ head: "단가산출 로직 수", get: (r) => (r.labor ? String(r.labor.로직수) : DASH) },
|
||||
{ head: "단가산출 기초 수", get: (r) => (r.labor ? String(r.labor.로직수) : DASH) },
|
||||
{ head: "합계", get: (r) => laborSum(r).text, note: (r) => laborSum(r).note },
|
||||
changed("labor"),
|
||||
],
|
||||
|
||||
@@ -62,7 +62,7 @@ const PRACTICE_COLS: Col<ComboSummary>[] = [
|
||||
{ head: "구분", get: (c) => c.구분 ?? "" },
|
||||
{ head: "상세구분", get: (c) => c.상세구분 ?? "" },
|
||||
{ head: "단위", get: (c) => c.단위 ?? "" },
|
||||
{ head: "단가산출 로직 수", get: (c) => String(c.count) },
|
||||
{ head: "단가산출 기초 수", get: (c) => String(c.count) },
|
||||
];
|
||||
|
||||
const why = (error: unknown): string => (error instanceof Error ? error.message : String(error));
|
||||
|
||||
@@ -28,9 +28,9 @@ const TEXT = {
|
||||
"가운데 버튼 또는 Space + 끌기로 판 옮김 · Ctrl + 휠로 확대",
|
||||
"Middle button or Space + drag to move · Ctrl + wheel to zoom",
|
||||
],
|
||||
None: ["단가산출 로직이 없음", "No logics yet"],
|
||||
None: ["단가산출 기초가 없음", "No logics yet"],
|
||||
Open: [
|
||||
"누르면 이 로직을 단가산출 로직 화면에서 엶",
|
||||
"누르면 이 로직을 단가산출 기초 화면에서 엶",
|
||||
"Open this logic in the unit-price logic screen",
|
||||
],
|
||||
Goto: ["누르면 이 로직 입력 모달을 엶", "Open this logic's inputs"],
|
||||
|
||||
@@ -24,7 +24,7 @@ const TEXT = {
|
||||
NeedName: ["이름을 적어야 저장됨", "A name is required"],
|
||||
Load_Failed: ["불러오지 못함", "Load failed"],
|
||||
Origin_Self: ["원본", "Original"],
|
||||
Logics_Title: ["단가산출 로직", "Unit-price logics"],
|
||||
Logics_Title: ["단가산출 기초", "Unit-price logics"],
|
||||
Col_Order: ["차례", "No."],
|
||||
Col_Name: ["이름", "Name"],
|
||||
Col_Alias: ["별칭", "Alias"],
|
||||
@@ -47,11 +47,11 @@ const TEXT = {
|
||||
Ref_Discard: ["저장 안 한 고침을 버리고 닫음?", "Discard unsaved edits?"],
|
||||
Labor_Source: ["원문", "Source"],
|
||||
Labor_SourceHint: [
|
||||
"단가산출 로직 줄을 고르면 그 원문이 보임",
|
||||
"단가산출 기초 줄을 고르면 그 원문이 보임",
|
||||
"Pick a logic row to see its source",
|
||||
],
|
||||
AddLogic: ["로직 추가", "Add logic"],
|
||||
NoLogic: ["단가산출 로직 없음", "No logics yet"],
|
||||
NoLogic: ["단가산출 기초 없음", "No logics yet"],
|
||||
Open: ["열기", "Open"],
|
||||
Pick_Title: ["로직 고르기", "Pick a logic"],
|
||||
Pick_Search: ["이름·키로 찾기", "Search by name or key"],
|
||||
@@ -118,7 +118,7 @@ const TEXT = {
|
||||
],
|
||||
Labor_Code: ["코드", "Code"],
|
||||
Labor_Spec: ["규격", "Spec"],
|
||||
Labor_Already: ["이미 담은 단가산출 로직 — {value}", "Already added — {value}"],
|
||||
Labor_Already: ["이미 담은 단가산출 기초 — {value}", "Already added — {value}"],
|
||||
Labor_AlreadyMat: ["이미 담은 자재 — {value}", "Already added — {value}"],
|
||||
// 로직 자재(103-1)
|
||||
Labor_InLogicMat: ["로직 자재에 있는 품목 — {value}", "Already a logic material — {value}"],
|
||||
|
||||
@@ -55,7 +55,7 @@ const TEXT = {
|
||||
pair: "일위대가 · 면적산출",
|
||||
pairNote: "일위대가 · 면적산출 함께 가져옴 — 알약 연결 포함 · 도면은 그대로",
|
||||
copyFailed: "복사 실패 — {value}",
|
||||
noPills: "이 열 일위대가에 단가산출 로직 · 자재가 없어 알약 없음 — 일위대가 상세에서 담음",
|
||||
noPills: "이 열 일위대가에 단가산출 기초 · 자재가 없어 알약 없음 — 일위대가 상세에서 담음",
|
||||
pillsFailed: "일위대가 알약을 못 받음 — {value}",
|
||||
discardCards: "카드(도면 · 면적산출)에 저장 안 한 고침이 있음 — 버리고 넘어갈까?",
|
||||
};
|
||||
|
||||
@@ -45,7 +45,7 @@ def test_종류마다_칸(ts):
|
||||
"이름",
|
||||
"폴더",
|
||||
"단위",
|
||||
"단가산출 로직 수",
|
||||
"단가산출 기초 수",
|
||||
"합계",
|
||||
"고친 날",
|
||||
]
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
const openLogic = async (key) => {
|
||||
sessionStorage.setItem("m01.logic.pending", key);
|
||||
// 왼쪽 「단가산출 로직」 컨테이너 제목 — 펼칠 때 로직 화면으로(펼쳐져 있으면 접었다 폄)
|
||||
const tab = $$(".ui-collapsible__title").find((h) => h.innerText.trim() === "단가산출 로직");
|
||||
const tab = $$(".ui-collapsible__title").find((h) => h.innerText.trim() === "단가산출 기초");
|
||||
if (!tab) return false;
|
||||
if (!tab.closest(".ui-collapsible").classList.contains("is-collapsed")) tab.click();
|
||||
tab.click();
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
const out = {};
|
||||
const openLogic = async (key) => {
|
||||
sessionStorage.setItem("m01.logic.pending", key);
|
||||
const tab = $$(".ui-collapsible__title").find((h) => h.innerText.trim() === "단가산출 로직");
|
||||
const tab = $$(".ui-collapsible__title").find((h) => h.innerText.trim() === "단가산출 기초");
|
||||
if (!tab) return false;
|
||||
if (!tab.closest(".ui-collapsible").classList.contains("is-collapsed")) tab.click();
|
||||
tab.click();
|
||||
|
||||
@@ -139,7 +139,7 @@
|
||||
|
||||
// ① M01 로직 상세 — 흐름도 · 원문
|
||||
sessionStorage.setItem("m01.logic.pending", "GC000198");
|
||||
const tab = $$(".ui-collapsible__title").find((h) => h.innerText.trim() === "단가산출 로직");
|
||||
const tab = $$(".ui-collapsible__title").find((h) => h.innerText.trim() === "단가산출 기초");
|
||||
if (!tab) return JSON.stringify({ error: "M01 화면 아님" });
|
||||
if (!tab.closest(".ui-collapsible").classList.contains("is-collapsed")) tab.click();
|
||||
tab.click();
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
const out = {};
|
||||
const openLogic = async (key) => {
|
||||
sessionStorage.setItem("m01.logic.pending", key);
|
||||
const tab = $$(".ui-collapsible__title").find((h) => h.innerText.trim() === "단가산출 로직");
|
||||
const tab = $$(".ui-collapsible__title").find((h) => h.innerText.trim() === "단가산출 기초");
|
||||
if (!tab) return false;
|
||||
if (!tab.closest(".ui-collapsible").classList.contains("is-collapsed")) tab.click();
|
||||
tab.click();
|
||||
|
||||
@@ -39,7 +39,7 @@ const TEXT = {
|
||||
loadFailed: "복사본을 못 읽음 — {value}",
|
||||
discard: "저장 안 한 고침이 있음 — 버리고 돌아갈까요?",
|
||||
outOfRange: "범위 밖 값이 있어 저장하지 못함",
|
||||
noAreaPill: "면적산출 연결 칸 없음 — 이 복사본 일위대가에 단가산출 로직 · 자재가 없음",
|
||||
noAreaPill: "면적산출 연결 칸 없음 — 이 복사본 일위대가에 단가산출 기초 · 자재가 없음",
|
||||
drawing: "도면",
|
||||
area: "면적산출",
|
||||
inputs: "넣을 값",
|
||||
|
||||
@@ -75,7 +75,7 @@ export const ui_locales_m1 = {
|
||||
M01_GroupFactor: ["계수", "Factors"],
|
||||
M01_GroupExchange: ["환율", "Exchange rates"],
|
||||
M01_GroupRate: ["요율", "Rates"],
|
||||
M01_GroupLogic: ["단가산출 로직", "Unit-price logic"],
|
||||
M01_GroupLogic: ["단가산출 기초", "Unit-price logic"],
|
||||
B01_CalcSites_Title: ["계산 자리", "Calc sites"],
|
||||
B01_CalcSites_Desc: ["조작 중 계산 = 브라우저 · 서버 고름", "Browser or server while editing"],
|
||||
B01_CalcSites_ServerCount: ["지금 서버 {value} 줄", "{value} rows on server now"],
|
||||
@@ -171,7 +171,7 @@ export const ui_locales_m1 = {
|
||||
B01_CalcSites_Saved: ["계산 자리 저장함", "Calc sites saved"],
|
||||
B01_CalcSites_Leave: ["저장 안 한 계산 자리가 있음", "You have unsaved calc sites"],
|
||||
B01_CalcSites_LoadFailed: ["계산 자리를 못 읽음", "Failed to load calc sites"],
|
||||
B01_Dashboard_CardLogic: ["단가산출 로직", "Cost-logic library"],
|
||||
B01_Dashboard_CardLogic: ["단가산출 기초", "Cost-logic library"],
|
||||
B01_Dashboard_CardStructOptionDef: ["구조물 옵션 정의", "Structure option definition"],
|
||||
B01_Dashboard_CardAliasLedger: ["별칭 장부", "Alias ledger"],
|
||||
} as const;
|
||||
|
||||
@@ -176,7 +176,7 @@ export const ui_locales_m2 = {
|
||||
M02_PracticeLogics: ["로직 수", "Logics"],
|
||||
M02_PracticeOrder: ["차례", "No."],
|
||||
M02_PracticeMemo: ["메모", "Memo"],
|
||||
M02_PracticeNoLogic: ["단가산출 로직 없음", "No logics"],
|
||||
M02_PracticeNoLogic: ["단가산출 기초 없음", "No logics"],
|
||||
M02_PracticeBack: ["목록", "List"],
|
||||
M02_PracticeDrop: ["전체 삭제", "Delete all"],
|
||||
M02_PracticeDropAsk: ["실무문서 {n}개를 모두 지울까요?", "Delete all {n} practice documents?"],
|
||||
@@ -215,7 +215,7 @@ export const ui_locales_m2 = {
|
||||
M02_SangeunRevised: ["M01 개정 — 확인", "M01 revised — check"],
|
||||
M02_SangeunRevisedBase: ["M01 개정 — 확인", "M01 revised — check"],
|
||||
M02_SangeunRevisedNote: [
|
||||
"바탕 M01 로직이 저장 뒤 바뀜 — 고친 칸의 바탕 값을 확인하고 [저장]하면 새 판으로 맞춤",
|
||||
"바탕 단가산출 기초가 저장 뒤 바뀜 — 고친 칸의 바탕 값을 확인하고 [저장]하면 새 판으로 맞춤",
|
||||
"The base M01 logic changed since saving — check edited cells, then Save to adopt the new version",
|
||||
],
|
||||
M02_SangeunLost: [
|
||||
@@ -228,12 +228,12 @@ export const ui_locales_m2 = {
|
||||
],
|
||||
M02_SangeunScaleOnly: ["열린 입력 — 품은 배율만", "Open inputs — quantity as multiplier only"],
|
||||
M02_SangeunBaseViews: [
|
||||
"시험 계산 · 텍스트 수식 = 바탕 M01 로직 + 고친 품 · 단가(뺀 줄 · 더한 줄 빼고)",
|
||||
"시험 계산 · 텍스트 수식 = 바탕 단가산출 기초 + 고친 품 · 단가(뺀 줄 · 더한 줄 빼고)",
|
||||
"Test calc · formula = base M01 logic + edited qty · price (no dropped · added lines)",
|
||||
],
|
||||
M02_SangeunWait: ["셈 기다리는 중", "Calculating…"],
|
||||
M02_SangeunNoInputs: [
|
||||
"바탕 M01 로직 없음 — 시험 입력 없음",
|
||||
"바탕 단가산출 기초 없음 — 시험 입력 없음",
|
||||
"No base M01 logic — no test inputs",
|
||||
],
|
||||
M02_SangeunColName: ["이름", "Name"],
|
||||
@@ -249,6 +249,6 @@ export const ui_locales_m2 = {
|
||||
M02_FindSearch: ["이름 · 규격 · 키 · 구분으로 찾기", "Search by name, spec, key or class"],
|
||||
M02_FindM01: ["M01 전체", "All M01"],
|
||||
M02_FindClass: ["구분", "Class"],
|
||||
M02_FindLogic: ["단가산출 로직", "Unit-cost logic"],
|
||||
M02_FindLogic: ["단가산출 기초", "Unit-cost logic"],
|
||||
M02_FindElementLater: ["일위대가 표 개편 뒤", "After the unit-cost table rework"],
|
||||
} as const;
|
||||
|
||||
Reference in New Issue
Block a user