/* ============================================================================= * M02_SO_Text.ts * 좌측 「구조물 옵션 보이기」 줄 · 상세 화면(보이기 · 그룹) 글자 — [한국어, 영어] * ========================================================================== */ import { currentLanguageIndex } from "@ui/ui_template_locale"; const TEXT = { Title: ["구조물 옵션 보이기", "Structure options shown"], Row: ["종류마다 그룹 · 보일 옵션 정하기", "Groups and shown options per type"], Screen: ["구조물 옵션 보이기 · 그룹", "Structure options · groups"], Note: [ "체크한 옵션만 B05 · B06 구조물 폼에 보임 — 옵션 정의 · 이미 넣은 값은 그대로 · 처음은 모두 보임", "Only checked options appear in the B05 · B06 forms — definitions and stored values stay", ], GroupHead: ["그룹", "Groups"], GroupNote: [ "그룹 하나 = 프로젝트 B05 · B06 폼의 보조 컨테이너 하나(제목 = 그룹 이름) · 그 안에서 구조물 조합 항목을 따로 지정 · 옵션이 없어도 연결됨 · 그룹에 안 넣은 옵션은 본체", "One group = one sub-container in the B05 · B06 form (title = group name) with its own structure combo · works without options · ungrouped options stay in the main body", ], GroupAdd: ["그룹 추가", "Add group"], GroupName: ["그룹 이름", "Group name"], GroupNew: ["새 그룹 {value}", "New group {value}"], GroupUp: ["위로", "Up"], GroupDown: ["아래로", "Down"], GroupDel: ["지우기", "Delete"], GroupDelAsk: [ "그룹 「{value}」 을 지움 — 그 옵션은 본체로 돌아감 · 프로젝트에 이미 지정한 조합은 값만 남음", "Delete group “{value}” — its options return to the main body; project links keep their values", ], GroupCount: ["옵션 {value}", "{value} options"], GroupNone: [ "그룹 없음 — 모든 옵션이 본체 · 집계 항목 하나", "No groups — all options in the main body", ], GroupTag: ["그룹 {value}", "{value} groups"], Main: ["본체", "Main body"], OptionHead: ["옵션 — 보이기 · 들어갈 자리", "Options — shown · container"], NoOptionKind: [ "이 종류는 옵션이 없음 — 그룹만 만들 수 있음(그룹마다 조합 연결)", "No options — groups only (each links a combo)", ], NameBad: [ "그룹 이름은 1~40자 · 같은 종류 안에서 겹치면 안 됨", "Group names: 1–40 chars, unique", ], Group: ["{value}군", "Group {value}"], Hidden: ["숨김 {value}", "{value} hidden"], Off: ["안 쓰는 종류", "Not offered"], NoOption: ["옵션 없음", "No options"], Pick: ["왼쪽에서 구조물 종류를 고름", "Pick a structure type on the left"], Detail: ["B06 전용", "B06 only"], Required: ["필수", "Required"], RequiredTip: [ "필수 옵션 — 숨기면 폼에 안 나오고 필수로도 안 침(저장이 안 막힘)", "Required — when hidden it is not shown and not enforced", ], Save: ["저장", "Save"], ShowAll: ["모두 보임", "Show all"], Saved: ["저장함", "Saved"], Stale: [ "그 사이 옵션 표시가 바뀜 — 새로 받았으니 다시 고쳐 주세요", "Changed meanwhile — reloaded, please edit again", ], Load_Failed: ["옵션 표시를 못 받음 — {value}", "Could not load option display — {value}"], Failed: ["옵션 표시를 못 저장함 — {value}", "Could not save option display — {value}"], } as const satisfies Record; export type OptionsTextKey = keyof typeof TEXT; export function to(key: OptionsTextKey, value = ""): string { const entry = TEXT[key]; return (entry[currentLanguageIndex as 0 | 1] ?? entry[0]).replace("{value}", value); }