- 길: POST analyze2d(뒤에서 · 일꾼 프로세스 병렬 · 바뀐 측점만) · GET progress · result2d · section · corridor3d · PUT representative - 입력 = E01 복사본(측점 · 횡단 · DTM 넓힘) + E02 지반 조건 · 엔진 = sub4 analyze_station · 벽 = 다음 일감(532-4) - 화면: 측점 목록(조건 · 정렬 · N.G 만 · 대표 단면) · 횡단(지층 · 지하수선 · 임계면 · 후보 · 등안전율 지도 · 중심 격자 · 절편) · 결과 · 절편표 · 자유물체도 · 절편력 그래프 · 평면 띠 · 3D 보기 - 계산 = logic/E03_StabSection_Logic.ts · 시험 test_532_3_e03_section.py Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
120 lines
5.6 KiB
TypeScript
120 lines
5.6 KiB
TypeScript
/* =============================================================================
|
||
* ui_template_locale_e03.ts
|
||
* 다국어 사전 — E03 2D 측점 해석(요구 345 · 347 · PLAN 532-3)
|
||
*
|
||
* 신규 문구는 해당 섹션 최하단에 추가.
|
||
* 이 파일은 사전 데이터만 담는다. 합성·언어 전환·t() 헬퍼는 ui_template_locale.ts 참조.
|
||
* ========================================================================== */
|
||
|
||
import type { LocaleEntry } from "./ui_template_locale_common";
|
||
|
||
export const ui_locales_e03 = {
|
||
/* --- 좌측 목록 · 단추 --- */
|
||
E03_NoProject: ["현재 프로젝트가 없습니다.", "No current project."],
|
||
E03_Condition: ["조건", "Condition"],
|
||
E03_Cond_dry: ["건기", "Dry"],
|
||
E03_Cond_wet: ["우기", "Wet"],
|
||
E03_Cond_seismic: ["지진", "Seismic"],
|
||
E03_Sort: ["정렬", "Sort"],
|
||
E03_Sort_Chainage: ["측점 순", "By station"],
|
||
E03_Sort_Fs: ["안전율 낮은 순", "Lowest FS first"],
|
||
E03_NgOnly: ["N.G 만", "N.G only"],
|
||
E03_Analyze: ["해석", "Analyze"],
|
||
E03_Analyzing: ["해석 중", "Analyzing"],
|
||
E03_Done: ["해석이 끝났습니다.", "Analysis finished."],
|
||
E03_Fresh: ["입력이 같아 다시 셀 것이 없습니다.", "Inputs unchanged — nothing to recompute."],
|
||
E03_View3d: ["3D 보기", "3D View"],
|
||
E03_View3d_Legend: ["최소 안전율 ÷ 기준안전율", "Min FS ÷ required FS"],
|
||
E03_RepSave: ["대표 단면 저장", "Save Representative"],
|
||
E03_RepSaved: ["대표 단면을 저장했습니다.", "Representative sections saved."],
|
||
E03_RepUnsaved: ["대표 단면 바뀜 — 저장 안 됨", "Representative changes not saved"],
|
||
E03_Loading: ["불러오는 중…", "Loading…"],
|
||
E03_NotYet: [
|
||
"아직 해석하지 않았습니다 — [해석]을 누르세요.",
|
||
"Not analyzed yet — press [Analyze].",
|
||
],
|
||
E03_Computed: ["해석 시각", "Analyzed at"],
|
||
E03_Stale: [
|
||
"지반 조건이 바뀌었습니다 — [해석]을 다시 누르세요(바뀐 측점만 다시 셈).",
|
||
"Ground conditions changed — press [Analyze] again (only changed stations).",
|
||
],
|
||
E03_ReadOnly: ["보기만 허용된 프로젝트입니다.", "View-only project."],
|
||
E03_ListEmpty: ["보일 측점이 없습니다.", "No stations to show."],
|
||
E03_Col_Station: ["측점", "Station"],
|
||
E03_Col_Role: ["좌 · 우", "L · R"],
|
||
E03_Col_Rep: ["대표", "Rep."],
|
||
E03_Verdict: ["판정", "Verdict"],
|
||
E03_Verdict_ok: ["O.K", "O.K"],
|
||
E03_Verdict_ng: ["N.G", "N.G"],
|
||
E03_Verdict_none: ["해석 없음", "No result"],
|
||
E03_Error: ["오류", "Error"],
|
||
E03_Cut: ["깎기", "Cut"],
|
||
E03_Fill: ["쌓기", "Fill"],
|
||
E03_Left: ["좌 비탈", "Left slope"],
|
||
E03_Right: ["우 비탈", "Right slope"],
|
||
E03_Side: ["비탈", "Slope"],
|
||
E03_Rep_Hint: [
|
||
"대표 단면(보고서) — 자동: 쌓기 10 m · 깎기 15 m 이상 · 최소 안전율 하위 5 · 누르면 켬/끔",
|
||
"Representative section (report) — auto: fill ≥ 10 m · cut ≥ 15 m · lowest 5 FS · click to toggle",
|
||
],
|
||
E03_Rep_fill_height: ["쌓기 10 m 이상", "Fill ≥ 10 m"],
|
||
E03_Rep_cut_height: ["깎기 15 m 이상", "Cut ≥ 15 m"],
|
||
E03_Rep_lowest: ["최소 안전율 하위 5", "Lowest 5 FS"],
|
||
E03_Rep_User: ["사용자 지정", "User set"],
|
||
|
||
/* --- 평면 · 횡단 --- */
|
||
E03_Plan: ["평면 위험 띠", "Plan Risk Band"],
|
||
E03_PickStation: ["측점을 고르세요.", "Pick a station."],
|
||
E03_Show_Map: ["등안전율 지도", "Safety map"],
|
||
E03_Show_Centers: ["원호 중심 격자", "Center grid"],
|
||
E03_Show_Candidates: ["다른 후보", "Other surfaces"],
|
||
E03_Legend_Map: ["등안전율(Fs)", "Safety factor"],
|
||
E03_Legend_Layers: ["지층", "Layers"],
|
||
E03_Offset: ["거리", "Offset"],
|
||
E03_NoWalls: [
|
||
"옹벽 · 석축은 아직 해석에 반영 전입니다(벽 없는 단면으로 셈).",
|
||
"Retaining walls and masonry are not yet reflected (analyzed without walls).",
|
||
],
|
||
|
||
/* --- 우측 결과 --- */
|
||
E03_Result: ["결과", "Result"],
|
||
E03_NoSurface: ["이 비탈은 해석된 활동면이 없습니다.", "No slip surface for this slope."],
|
||
E03_Fs: ["최소 안전율", "Min FS"],
|
||
E03_Required: ["기준안전율", "Required FS"],
|
||
E03_Method: ["방법", "Method"],
|
||
E03_Method_ordinary: ["Fellenius", "Fellenius"],
|
||
E03_Method_bishop: ["Bishop", "Bishop"],
|
||
E03_Method_janbu: ["Janbu 보정", "Janbu corr."],
|
||
E03_Method_spencer: ["Spencer", "Spencer"],
|
||
E03_Circle: ["원호", "Circular"],
|
||
E03_NonCircle: ["비원호", "Non-circular"],
|
||
E03_Converged: ["수렴", "Converged"],
|
||
E03_Yes: ["예", "Yes"],
|
||
E03_No: ["아니오", "No"],
|
||
E03_Iter: ["회", " iter."],
|
||
E03_Height: ["비탈 높이", "Slope height"],
|
||
E03_Center: ["원호 중심", "Center"],
|
||
E03_Radius: ["반경", "Radius"],
|
||
E03_Slices: ["절편표", "Slice Data"],
|
||
E03_Col_No: ["#", "#"],
|
||
E03_Col_Width: ["폭 b", "b"],
|
||
E03_Col_Height: ["높이 h", "h"],
|
||
E03_Col_Alpha: ["α°", "α°"],
|
||
E03_Col_W: ["W+Q", "W+Q"],
|
||
E03_Col_U: ["u", "u"],
|
||
E03_Col_N: ["N'", "N'"],
|
||
E03_Col_S: ["S", "S"],
|
||
E03_Col_C: ["c", "c"],
|
||
E03_Col_Phi: ["φ°", "φ°"],
|
||
E03_Fbd: ["절편 자유물체도", "Slice Free Body"],
|
||
E03_PickSlice: [
|
||
"절편표 줄이나 횡단의 절편을 누르면 힘이 보입니다.",
|
||
"Click a slice row or a slice in the section to see its forces.",
|
||
],
|
||
E03_FbdUnit: ["힘 kN/m · 길이 = 힘 비례", "forces kN/m · length ∝ force"],
|
||
E03_Graph: ["절편력 그래프", "Slice Force Graph"],
|
||
E03_Graph_Sigma: ["유효 수직응력 σ'", "Effective normal σ'"],
|
||
E03_Graph_U: ["간극수압 u", "Pore pressure u"],
|
||
E03_Graph_Tau: ["동원 전단응력 τ", "Mobilized shear τ"],
|
||
} as const satisfies Record<string, LocaleEntry>;
|