Files
Aislo/ui_template/ui_template_locale_b2.ts
T
eomsangdonandClaude Opus 5 25d0c69b7d fix(B06): 유토곡선을 포물선 경로로 렌더 + balloon 위치 영구 보관·초기화
[1] 수평선이 곡선에서 떨어져 보이던 문제. 엔진은 포물선으로 교점을 잡는데 곡선만
직선(polyline)으로 그리고 있었다. 평형선·장비 경계현·평균운반거리선의 양 끝이
곡선 위가 아니게 되어 어긋나 보였다.

곡선을 2차 베지에 경로로 바꿨다. 제어점 (x0 + Δ/2, V0 + a0Δ/2)에 두면 2차 베지에가
구간 포물선과 정확히 같아진다. 0선 아래 음영도 같은 경로로 닫고, 띠 테두리도
측점만 잇던 것을 구간마다 4등분해 곡선에 붙였다.

[2] balloon 위치 저장 경로를 둘로 나눴다.
- 프론트 캐시(localStorage, 프로젝트+경로별 키): 끌어 옮기는 즉시
- 영구저장소: 횡단 확정 시 mass_haul.balloon_offsets로 저장
진입 시에는 영구저장소 값이 이긴다 - 다른 브라우저에서도 같은 자리에 뜬다.
상세 응답에 balloon_offsets를 실어 내려보낸다.

[3] 범례 줄에 "도형 위치 초기화" 버튼(분배 레이어를 켰을 때만). 프론트 캐시를 비우고
다시 그리며, 비워진 값이 다음 확정 때 영구저장소를 덮는다.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-02 17:28:33 +09:00

480 lines
27 KiB
TypeScript

/* =============================================================================
* ui_template_locale_b2.ts
* 다국어 사전 — B 그룹 후반부 (B05_wf2_Route ~ B11_Status)
*
* 워크플로우 진행 단계 라벨은 ui_template_locale_common.ts 의 WF_Step_* 키를
* 재사용한다 (중복 등록 방지).
*
* 이 파일은 사전 데이터만 담는다. 합성·언어 전환·t() 헬퍼는 ui_template_locale.ts 참조.
* ========================================================================== */
import type { LocaleEntry } from "./ui_template_locale_common";
export const ui_locales_b2 = {
/* --- B05_wf2_Route 배수유역도 패널 (하단 패널 안쪽 우측) --- */
B05_Drainage_Title: ["배수유역도", "Drainage Basins"],
B05_Drainage_Layer_Satellite: ["위성사진", "Satellite"],
B05_Drainage_Layer_Satellite_Tip: [
"배경 위성사진을 보이거나 숨깁니다.",
"Show or hide the satellite basemap.",
],
B05_Drainage_Layer_Contour: ["등고선", "Contours"],
B05_Drainage_Layer_Stream: ["세류", "Streams"],
B05_Drainage_Layer_Arrows: ["흐름 화살표", "Flow arrows"],
B05_Drainage_Layer_Arrows_Tip: [
"B04에서 산출한 평균 흐름 방향을 보이거나 숨깁니다.",
"Show or hide the mean flow direction computed in B04.",
],
B05_Drainage_Layer_Upstream: ["상류 세류", "Upstream streams"],
B05_Drainage_Layer_Upstream_Tip: [
"유역 안쪽 상류 세류망을 굵게 강조합니다.",
"Emphasize the upstream stream network inside the basin.",
],
B05_Drainage_Btn_Analyze: ["세부유역 산정", "Compute sub-basins"],
B05_Drainage_Btn_Analyze_Tip: [
"B04에서 분석해 둔 배수유역을 불러와 관을 보충하고 세부유역을 나눕니다. 분석 결과가 없으면 B04에서 먼저 실행해야 합니다.",
"Loads the drainage analysis from B04, fills in culverts, and splits sub-basins. Run the analysis in B04 first if none exists.",
],
B05_Drainage_Btn_DeleteSelected: ["선택 삭제", "Delete selected"],
B05_Drainage_Btn_Auto: ["초기화", "Reset"],
B05_Drainage_Btn_Auto_Tip: [
"손으로 넣거나 옮긴 배관을 버리고 기본 관 + 자동 보충 배치로 되돌립니다.",
"Discards manual culvert edits and restores the automatic placement.",
],
B05_Drainage_Menu_Add: ["배관 추가", "Add culvert"],
B05_Drainage_Menu_Delete: ["배관 삭제", "Remove culvert"],
B05_Drainage_Layer_Hotspots: ["집중유역", "Inflow hotspots"],
B05_Drainage_Layer_Hotspots_Tip: [
"노선 위에서 물이 특히 많이 모이는 자리를 마커로 표시합니다. 관을 어디에 둘지 판단하는 근거입니다.",
"Marks the spots along the route that collect the most water — the basis for placing culverts.",
],
/* {pipes}=관 개수, {basins}=세부유역 수, {source}=종단 Z 출처 */
B05_Drainage_Summary: [
"관 {pipes}개 · 세부유역 {basins}개 · 종단 Z {source}",
"{pipes} culverts · {basins} sub-basins · profile Z {source}",
],
B05_Drainage_Layer_Strength: ["흐름 강도", "Flow strength"],
B05_Drainage_Layer_Strength_Tip: [
"노선 1m 구간마다 그 자리로 모이는 상류 면적을 색으로 칠합니다(B04 지도와 같은 색띠).",
"Colors each 1m stretch of the route by the upstream area draining into it (same ramp as the B04 map).",
],
B05_Drainage_ImageAlt: ["배경 위성지도", "Satellite basemap"],
B05_Drainage_Status_NeedRoute: [
"노선을 확정하면 배수유역도가 표시됩니다.",
"The drainage map appears once the route is confirmed.",
],
B05_Drainage_Status_Analyzing: ["세부유역을 산정하는 중…", "Computing sub-basins…"],
B05_Drainage_Status_NoBasin: ["산정된 배수유역이 없습니다.", "No drainage basin was computed."],
B05_Drainage_Status_AnalyzeFailed: [
"세부유역 산정에 실패했습니다.",
"Failed to compute sub-basins.",
],
B05_Drainage_Status_LoadingBase: ["배경도를 불러오는 중…", "Loading the basemap…"],
B05_Drainage_Status_LoadingSheets: ["도엽 레이어를 불러오는 중…", "Loading map sheet layers…"],
B05_Drainage_Status_NoSheets: [
"도엽 레이어가 없습니다. B04에서 임포트하세요.",
"No map sheet layer found. Import them in B04.",
],
B05_Drainage_Status_LoadFailed: ["배경도를 불러오지 못했습니다.", "Failed to load the basemap."],
B05_Drainage_Basin_Undecided: ["미정", "TBD"],
/* {area}=면적, {relief}=표고차, {flow}=유하장, {pipe}=관경 */
B05_Drainage_Basin_Metrics: [
"면적 {area} · 표고 {relief}m · 유하 {flow}m · 관경 {pipe}",
"Area {area} · Relief {relief}m · Flow {flow}m · Pipe {pipe}",
],
/* {chainage}=측점 누가거리(m) */
B05_Drainage_Basin_Chainage: ["측점 누가거리 {chainage}m", "Station chainage {chainage}m"],
/* --- B05_wf2_Route 경로 설계 --- */
B05_Route_Title: ["종단설계", "Profile Design"],
B05_Route_Group_Points: ["경로 제어점", "Route Control Points"],
B05_Route_Point_BP: ["시점 (BP)", "Begin (BP)"],
B05_Route_Point_EP: ["종점 (EP)", "End (EP)"],
B05_Route_Point_CP: ["경유점 (CP)", "Control Points (CP)"],
B05_Route_Field_X: ["X 좌표", "X"],
B05_Route_Field_Y: ["Y 좌표", "Y"],
B05_Route_Btn_AddCp: ["경유점 추가", "Add control point"],
B05_Route_Btn_RemoveCp: ["삭제", "Remove"],
B05_Route_Group_Surface: ["기반 지표면", "Base Surface"],
B05_Route_Field_Filter: ["지면 필터", "Ground filter"],
B05_Route_Field_Method: ["지표면 표현", "Surface method"],
B05_Route_Field_SurfaceId: ["지표면 모델 ID", "Surface model ID"],
B05_Route_Surface_Confirmed: ["확정 모델 #{id} · {method}", "Confirmed model #{id} · {method}"],
B05_Route_Surface_NotConfirmed: [
"WF1에서 지표면 모델을 확정하세요.",
"Confirm a surface model in WF1.",
],
B05_Route_Surface_LoadFailed: [
"확정 지표면 모델을 불러오지 못했습니다.",
"Failed to load the confirmed surface model.",
],
B05_Route_Group_Constraints: ["설계 제약", "Design Constraints"],
B05_Route_Field_GradeClass: ["임도 등급", "Road grade class"],
B05_Route_Field_Algorithm: ["경로 알고리즘", "Route algorithm"],
B05_Route_Field_MaxUphill: ["최대 상향 경사(%)", "Max uphill grade (%)"],
B05_Route_Field_MaxDownhill: ["최대 하향 경사(%)", "Max downhill grade (%)"],
B05_Route_Field_MinRadius: ["최소 곡선반경(m)", "Min curve radius (m)"],
B05_Route_Field_Smooth: ["경로 스무딩", "Smooth route"],
B05_Route_Btn_Solve: ["경로 탐색 실행", "Solve Route"],
B05_Route_Btn_Confirm: ["경로 확정", "Confirm Route"],
B05_Route_Result_Title: ["경로 탐색 결과", "Route Result"],
B05_Route_Result_Empty: ["아직 계산된 경로가 없습니다.", "No route computed yet."],
B05_Route_Result_Length: ["총 연장(m)", "Total length (m)"],
B05_Route_Result_MinSlope: ["최소 경사", "Min slope"],
B05_Route_Result_MaxSlope: ["최대 경사", "Max slope"],
B05_Route_Result_MeanSlope: ["평균 경사", "Mean slope"],
B05_Route_Result_Cost: ["비용 점수", "Cost score"],
B05_Route_Result_Path: ["경로 파일", "Route file"],
B05_Route_Error_Project: ["먼저 프로젝트를 선택하세요.", "Select a project first."],
B05_Route_Error_Points: [
"시점과 종점 좌표를 모두 입력하세요.",
"Enter both begin and end coordinates.",
],
B05_Route_Error_Filter: ["지면 필터 키를 입력하세요.", "Enter a ground filter key."],
B05_Route_Solve_Success: ["경로 탐색을 완료했습니다.", "Route solved."],
B05_Route_Solve_Failed: ["경로 탐색에 실패했습니다.", "Route solve failed."],
B05_Route_Confirm_Success: ["경로를 확정했습니다.", "Route confirmed."],
B05_Route_Confirm_Failed: ["경로 확정에 실패했습니다.", "Route confirm failed."],
B05_Route_Group_SectionOptions: ["측점 및 샘플링 설정", "Station & Sampling Settings"],
B05_Route_Field_StationInterval: ["측점 간격(m)", "Station interval (m)"],
B05_Route_Field_CrossHalfWidth: ["횡단 반폭(m)", "Cross half-width (m)"],
B05_Route_Field_CrossSample: ["횡단 샘플 간격(m)", "Cross sample interval (m)"],
B05_Route_Field_LongSample: ["종단 샘플 간격(m)", "Long sample interval (m)"],
B05_Route_Field_StationLines: ["측점 가로선", "Station cross lines"],
/* --- B06_wf3_ProfileCross 종·횡단 생성 --- */
B06_Profile_Title: ["횡단설계", "Cross Design"],
B06_Profile_Group_Route: ["대상 경로", "Target Route"],
B06_Profile_Field_RouteId: ["경로 ID (routes.id)", "Route ID"],
B06_Profile_Field_Filter: ["지면 필터", "Ground filter"],
B06_Profile_Field_Method: ["지표면 표현", "Surface method"],
B06_Profile_Field_Crs: ["좌표계", "CRS"],
B06_Profile_Group_Display: ["표시 옵션", "Display Options"],
B06_Profile_Field_VerticalExaggeration: ["높이 배율", "Vertical exaggeration"],
B06_Profile_Field_Smooth: ["지표면 스무딩", "Smooth surface"],
B06_Profile_Smooth_On: ["사용", "On"],
B06_Profile_Smooth_Off: ["미사용", "Off"],
B06_Profile_Btn_Confirm: ["종·횡단 확정", "Confirm Sections"],
B06_Profile_Result_Title: ["종·횡단 생성 결과", "Section Result"],
B06_Profile_Context_Failed: [
"경로 정보를 불러오지 못했습니다. 서버 상태를 확인하세요.",
"Failed to load route context. Check the server status.",
],
B06_Profile_Calculate_In_B05: [
"저장된 종·횡단이 없습니다. B05에서 경로를 계산하세요.",
"No saved sections. Calculate the route in B05.",
],
B06_Profile_Result_Length: ["종단 연장(m)", "Longitudinal length (m)"],
B06_Profile_Result_CrossCount: ["횡단 개수", "Cross-section count"],
B06_Profile_Result_Path: ["종단 파일", "Longitudinal file"],
B06_Profile_Error_Project: ["먼저 프로젝트를 선택하세요.", "Select a project first."],
B06_Profile_Confirm_Success: ["종·횡단을 확정했습니다.", "Sections confirmed."],
B06_Profile_Confirm_Failed: ["종·횡단 확정에 실패했습니다.", "Section confirm failed."],
B06_Profile_Detail_Failed: [
"종·횡단 도면 데이터를 불러오지 못했습니다.",
"Failed to load section drawing data.",
],
B06_Profile_Regenerate_Failed: [
"횡단 반폭 재생성에 실패했습니다.",
"Failed to regenerate sections with the new half-width.",
],
B06_Profile_Regenerate_Success: [
"횡단 반폭을 반영해 종·횡단을 재생성했습니다.",
"Sections regenerated with the new half-width.",
],
B06_Profile_Btn_Recalc: ["재계산", "Recalculate"],
B06_Profile_View_Longitudinal: ["종단면도", "Longitudinal profile"],
B06_Profile_View_Cross: ["횡단면도", "Cross sections"],
B06_Profile_View_StationCount: ["횡단 측점", "Cross stations"],
B06_Profile_View_LongitudinalXAxis: [
"BP 기준 누적거리 (횡단 측점)",
"Chainage from BP (cross stations)",
],
B06_Profile_View_CrossXAxis: ["중심선 기준 편거리 (m)", "Offset from centerline (m)"],
B06_Profile_View_ElevationAxis: ["지반고 (m)", "Elevation (m)"],
B06_Profile_View_CenterElevation: ["중심고", "Center elevation"],
B06_Profile_View_Azimuth: ["방위각", "Azimuth"],
B06_Profile_Zoom_In: ["확대", "Zoom in"],
B06_Profile_Zoom_Out: ["축소", "Zoom out"],
B06_Profile_Zoom_Reset: ["원래 크기", "Reset zoom"],
B06_Profile_View_Kind_BP: ["BP", "BP"],
B06_Profile_View_Kind_EP: ["EP", "EP"],
B06_Profile_View_NoLongitudinal: [
"표시할 종단면 데이터가 없습니다.",
"No longitudinal profile data to display.",
],
B06_Profile_View_NoCross: [
"표시할 횡단면 데이터가 없습니다.",
"No cross-section data to display.",
],
/* --- B06 유토곡선 (종단면도 아래 상단 패널) --- */
B06_MassHaul_Title: ["유토곡선", "Mass Haul Diagram"],
B06_MassHaul_YAxis: ["누가토량 (㎥)", "Cumulative volume (㎥)"],
B06_MassHaul_Empty: [
"측점에 지반유형을 지정하면 유토곡선이 표시됩니다.",
"The mass haul diagram appears once ground types are assigned to stations.",
],
B06_MassHaul_CutNatural: ["절토(자연)", "Cut (natural)"],
B06_MassHaul_CutCompacted: ["절토(다짐환산)", "Cut (compacted)"],
B06_MassHaul_Fill: ["성토", "Fill"],
B06_MassHaul_Surplus: ["사토", "Surplus"],
B06_MassHaul_Shortage: ["토취", "Borrow"],
/* 운반계획 도면은 다짐상태 기준으로 계산한다(국도건설공사 설계실무 요령). */
B06_MassHaul_Basis: ["다짐상태 기준", "Compacted basis"],
B06_MassHaul_AllHidden: [
"표시할 곡선을 하나 이상 켜 주세요.",
"Turn on at least one curve to display.",
],
/* 토량 산출 기준 — 임도의 설계 및 시설기준 2.다.(3)(나)는 종단 계획고를,
2.다.(4)(마)는 측점별 횡단 단면적을 각각 근거로 삼는다. */
B06_MassHaul_Basis_Cross: ["횡단 기준", "Cross-section basis"],
B06_MassHaul_Basis_Long: ["종단 기준", "Profile basis"],
B06_MassHaul_Legend_Title: ["표시할 유토곡선", "Visible mass haul curves"],
B06_MassHaul_Legend_Show: ["표시", "Show"],
B06_MassHaul_Legend_Hide: ["숨김", "Hide"],
/* 선택 측점의 구간 물량 말풍선 — 직전 측점부터 이 측점까지의 몫이다. */
B06_MassHaul_Station_Net: ["순토량", "Net volume"],
B06_MassHaul_Station_Cumulative: ["누가토량", "Cumulative"],
/* --- B06 토량 분배(평형선·운반 블록) --- */
B06_MassHaul_Balance_Layer: ["토량 분배", "Haul plan"],
B06_MassHaul_Block: ["운반 블록", "Haul block"],
B06_MassHaul_HaulVolume: ["운반토량", "Haul volume"],
B06_MassHaul_HaulDistance: ["평균운반거리", "Average haul distance"],
B06_MassHaul_HaulTotal: ["운반토량 계", "Hauled total"],
B06_MassHaul_BlockCount: ["운반 블록 수", "Haul blocks"],
/* 운반장비 이름 — 거리 경계값은 config_system.EARTHWORK_HAUL_EQUIPMENT_LIMITS_M에만 둔다. */
B06_MassHaul_Equip_FreeHaul: ["종무대", "Free haul"],
B06_MassHaul_Equip_Dozer: ["도쟈", "Dozer"],
B06_MassHaul_Equip_Dump: ["덤프", "Dump truck"],
/* 떨어진 잉여 구간 → 부족 구간 장거리 운반. 배분 3원칙 ③(토량을 모아 운반). */
B06_MassHaul_Transfer: ["장거리 운반", "Long haul"],
/* 검산 — 성토는 전부 운반으로 채워지므로 운반 합계 = 총 성토량이어야 한다. */
B06_MassHaul_Check: ["운반·성토 검산", "Haul vs fill check"],
B06_MassHaul_Check_Ok: ["일치", "Balanced"],
B06_MassHaul_Balloon_Reset: ["도형 위치 초기화", "Reset label positions"],
B06_MassHaul_Balloon_Reset_Tip: [
"끌어 옮긴 유토곡선 도형을 자동 배치로 되돌립니다. 횡단을 확정하면 저장된 위치도 함께 지워집니다.",
"Restores dragged mass-haul labels to automatic placement. Confirming the sections also clears the stored positions.",
],
/* --- B06 측점 표준횡단 설계 지정 --- */
B06_Design_Ground_Legend: ["지반유형", "Ground type"],
B06_Design_Ground_Soil: ["토사", "Soil"],
B06_Design_Ground_Ripping: ["리핑암", "Ripping rock"],
B06_Design_Ground_Blasting: ["발파암", "Blasting rock"],
B06_Design_Mode_Legend: ["단면유형", "Section type"],
B06_Design_Mode_LeftCut: ["편측 성토", "One-side fill"],
B06_Design_Mode_RightCut: ["편측 성토", "One-side fill"],
B06_Design_Mode_BothCut: ["양측 절토", "Both cut"],
B06_Design_Mode_BothFill: ["양측 성토", "Both fill"],
B06_Design_Ditch_Legend: ["측구위치", "Ditch side"],
B06_Design_Ditch_Left: ["좌", "Left"],
B06_Design_Ditch_Right: ["우", "Right"],
B06_Design_Cut_Area: ["절토", "Cut"],
/* 절토 내역 — 지표면~암반 경계선이 토사, 그 아래가 암반(합=절토). */
B06_Design_Cut_Soil_Area: ["절토(토사)", "Cut (soil)"],
B06_Design_Cut_Rock_Area: ["절토(암반)", "Cut (rock)"],
/* 횡단 면적표 열 이름은 유토곡선 도면 표기를 그대로 쓴다(EA 토사 / RR 리핑암 / BR 발파암). */
B06_Design_Area_EA: ["EA", "EA"],
B06_Design_Area_RR: ["RR", "RR"],
B06_Design_Area_BR: ["BR", "BR"],
B06_Design_Area_Total: ["계", "Total"],
/* 단위는 값 칸마다 붙이지 않고 표 좌상단(행제목 × 열제목 교차) 칸에 한 번만 적는다. */
B06_Design_Area_Unit: ["㎡", "㎡"],
B06_Design_Area_Highlight: ["누르면 해당 면적을 강조합니다", "Click to highlight this area"],
B06_Design_Fill_Area: ["성토", "Fill"],
B06_Design_Unset: ["미지정", "Not set"],
B06_Design_DitchType_Legend: ["측구형식", "Ditch type"],
B06_Design_DitchType_Standard: ["일반", "Standard"],
B06_Design_DitchType_LType: ["L형", "L-type"],
B06_Design_Paved_Legend: ["포장", "Pavement"],
B06_Design_Paved_On: ["포장", "Paved"],
B06_Design_Paved_Off: ["비포장", "Unpaved"],
B06_Design_TwoStage_Legend: ["2단계 경사", "Two-stage slope"],
B06_Design_TwoStage_On: ["복합경사", "Compound slope"],
B06_Design_TwoStage_Off: ["단경사", "Single slope"],
B06_Design_Ditch_Legend2: ["측구", "Ditch"],
B06_Design_Ditch_On: ["측구", "Ditch"],
B06_Design_Ditch_Off: ["측구", "Ditch"],
B06_Design_Disabled_BothCutOnly: [
"양측 절토·양측 성토 단면에서만 경사 방향을 바꿀 수 있습니다.",
"Slope direction is adjustable only for both-cut and both-fill sections.",
],
B06_Design_More: ["더보기", "More"],
B06_Design_SlopeDir_Left: ["좌", "Left"],
B06_Design_SlopeDir_Right: ["우", "Right"],
B06_Design_Disabled_RockCut: [
"암(리핑/발파) 지반의 절토 단면에서만 사용할 수 있습니다.",
"Available only for rock ground with a cut section.",
],
B06_Design_Disabled_NoDitch: [
"측구가 있는 단면(양성 제외)에서만 사용할 수 있습니다.",
"Available only for sections with a ditch (not both-fill).",
],
B06_Design_Disabled_NoDitchType: [
"측구를 생성한 경우에만 형식을 선택할 수 있습니다.",
"Available only when a ditch is created.",
],
B06_Design_Paved_Suggested: [
"종단경사 법정 상한 초과 — 포장 권장 (임도설치 및 관리 등에 관한 규정 별표 1-2)",
"Grade exceeds legal limit — pavement recommended (Forest Road Regulation, Annex 1-2)",
],
B06_Design_RockBoundary_Legend: ["암 경계", "Rock boundary"],
B06_Design_RockBoundary_Up: ["암 경계선 올림", "Raise rock boundary"],
B06_Design_RockBoundary_Down: ["암 경계선 내림", "Lower rock boundary"],
B06_Design_RockBoundary_Reset: ["암 경계선 기본값 복원", "Reset rock boundary"],
B06_Design_Failed: ["횡단 설계 계산에 실패했습니다.", "Failed to compute cross-section design."],
B06_Profile_Confirm_NeedDesign: [
"지반유형이 지정되지 않은 측점이 있습니다.",
"Some stations have no ground type assigned.",
],
/* --- B06 표준 횡단면 설정 패널 --- */
B06_Std_Title: ["표준 횡단면 설정", "Standard cross-section"],
B06_Std_Group_Soil: ["토사 구간", "Soil section"],
B06_Std_Group_Rock: ["암 구간 (리핑/발파)", "Rock section (ripping/blasting)"],
B06_Std_Group_Paved: ["포장 구간", "Paved section"],
B06_Std_Field_RoadWidth: ["노폭(m)", "Road width (m)"],
B06_Std_Field_ShoulderLeft: ["노견 좌(m)", "Shoulder L (m)"],
B06_Std_Field_ShoulderRight: ["노견 우(m)", "Shoulder R (m)"],
B06_Std_Field_DitchTop: ["측구 상단폭(m)", "Ditch top (m)"],
B06_Std_Field_DitchBottom: ["측구 저폭(m)", "Ditch bottom (m)"],
B06_Std_Field_DitchDepth: ["측구 깊이(m)", "Ditch depth (m)"],
B06_Std_Field_LDitchWidth: ["L형 측구 폭(m)", "L-ditch width (m)"],
B06_Std_Field_LDitchDepth: ["L형 측구 깊이(m)", "L-ditch depth (m)"],
B06_Std_Field_CrossSlopeMin: ["횡단경사 최소(%)", "Cross slope min (%)"],
B06_Std_Field_CrossSlopeMax: ["횡단경사 최대(%)", "Cross slope max (%)"],
B06_Std_Field_CutSlope: ["절토경사(1:n)", "Cut slope (1:n)"],
B06_Std_Field_FillSlope: ["성토경사(1:n)", "Fill slope (1:n)"],
B06_Std_LType_Note: [
"L형 측구는 각 횡단면도에서 선택합니다.",
"L-type ditch is chosen per cross-section drawing.",
],
B06_Std_Reset: ["기본값 복원", "Restore defaults"],
B06_Std_ApplyAll: ["전체 측점 반영", "Apply to all stations"],
B06_Std_ApplyAll_Success: [
"패널 설정을 전체 측점에 반영했습니다.",
"Applied panel settings to all stations.",
],
B06_Std_Load_Title: ["다른 프로젝트에서 불러오기", "Load from another project"],
B06_Std_Load_Select: ["프로젝트 선택", "Select project"],
B06_Std_Load_Placeholder: ["— 프로젝트 선택 —", "— Select a project —"],
B06_Std_Load_Empty: [
"같은 회사에 불러올 설계값이 없습니다.",
"No saved designs in your company.",
],
B06_Std_Load_Loading: ["불러오는 중…", "Loading…"],
B06_Std_Load_Apply: ["현재 설정에 적용", "Apply to current settings"],
B06_Std_Load_Applied: ["적용되었습니다.", "Applied."],
B06_Std_Load_Failed: ["설계값을 불러오지 못했습니다.", "Failed to load design values."],
B06_Std_Load_None: [
"선택한 프로젝트에 저장된 설계값이 없습니다.",
"The selected project has no saved design values.",
],
B06_Std_Diagram_Title: ["변수 위치 안내", "Variable position guide"],
B06_Std_Diagram_Toggle: ["단면 그림 보기/숨기기", "Show/hide section guide"],
B06_Std_Diagram_Road: ["노폭", "Road"],
B06_Std_Diagram_ShoulderL: ["노견 좌", "Shoulder L"],
B06_Std_Diagram_ShoulderR: ["노견 우", "Shoulder R"],
B06_Std_Diagram_Ditch: ["측구", "Ditch"],
B06_Std_Diagram_Cut: ["절토경사", "Cut slope"],
B06_Std_Diagram_Fill: ["성토경사", "Fill slope"],
B06_Std_Diagram_CrossSlope: ["횡단경사", "Cross slope"],
B06_Std_Diagram_Center: ["중심선(계획고)", "Centerline (design elev.)"],
B06_Std_Diagram_Caption: [
"표준 편절편성 단면 모식도 — 각 설정값의 위치를 나타냅니다(실제 비율 아님).",
"Standard cut-fill section schematic — shows where each value applies (not to scale).",
],
/* --- B07_wf4_DesignDetail 상세 설계 --- */
B07_Design_Title: ["상세설계", "Detail Design"],
B07_Cad_Side_Pending: [
"사이드 패널은 전달 데이터 확정 후 구성됩니다.",
"Side panel will be configured after the upstream data spec is finalized.",
],
B07_Cad_Loading: ["도면을 불러오는 중...", "Loading drawing..."],
B07_Cad_Load_Failed: ["도면을 불러오지 못했습니다.", "Failed to load drawing."],
B07_Info_Ground_Title: ["지반정보", "Ground info"],
B07_Info_Plan_Title: ["계획정보", "Plan info"],
B07_Info_GroundType: ["지반유형", "Ground type"],
B07_Info_CutSide: ["절토측", "Cut side"],
B07_Info_DitchSide: ["측구위치", "Ditch side"],
B07_Info_DesignElevation: ["계획고", "Design elevation"],
B07_Info_CutSlope: ["절토경사", "Cut slope"],
B07_Info_FillSlope: ["성토경사", "Fill slope"],
B07_Info_RoadWidth: ["노면폭", "Road width"],
B07_Info_Ditch: ["측구규격", "Ditch spec"],
B07_Info_CutArea: ["절토 단면적", "Cut area"],
B07_Info_FillArea: ["성토 단면적", "Fill area"],
B07_Info_Provisional: ["잠정", "Provisional"],
B07_Info_Confirmed: ["확정", "Confirmed"],
B07_Info_NoDesign: ["지반·계획 지정 데이터가 없습니다.", "No ground/plan designation data."],
B07_Info_Station: ["측점", "Station"],
/* --- B08_wf5_Quantity 수량 산출 --- */
B08_Quantity_Title: ["수량산출", "Quantity"],
/* --- B09_wf6_Estimation 견적·문서 --- */
B09_Estimation_Title: ["설계도서", "Design Docs"],
/* --- B10_Payment 결재 --- */
B10_Payment_Title: ["결재", "Payment"],
B10_Payment_Subtitle: [
"세금계산서 발행과 계좌 입금 절차를 확인하세요.",
"Review the tax invoice and bank transfer process.",
],
B10_Payment_Invoice_Title: ["세금계산서 발행 요청", "Tax Invoice Request"],
B10_Payment_Invoice_Description: [
"사업자 정보와 발행 금액은 견적 확정 후 연결됩니다.",
"Business details and the invoice amount will be linked after the estimate is finalized.",
],
B10_Payment_Invoice_Request: ["발행 요청", "Request Invoice"],
B10_Payment_Invoice_Status: ["요청 전", "Not Requested"],
B10_Payment_Deposit_Title: ["계좌 입금 안내", "Bank Transfer Guide"],
B10_Payment_Deposit_Account: ["입금 계좌", "Deposit Account"],
B10_Payment_Deposit_Amount: ["입금 금액", "Deposit Amount"],
B10_Payment_Deposit_Pending: ["견적 확정 후 표시", "Shown after estimate confirmation"],
B10_Payment_Deposit_Note: [
"입금 확인 후 설계문서와 DWG 다운로드가 허용됩니다.",
"Design documents and DWG downloads are enabled after the deposit is confirmed.",
],
/* --- B11_Status 상태 출력 --- */
B11_Status_Title: ["처리 상태", "Status"],
B11_Status_Subtitle: [
"결재·문서 생성 상태를 확인하고 결과물을 내려받으세요.",
"Check payment and document status, and download results.",
],
// 자료 준비 화면 (대시보드 → 작업 화면 진입 시 3D·등고선 선적재)
B11_Loading_Title: ["자료 준비 중", "Preparing data"],
B11_Loading_Subtitle: ["잠시만 기다려 주세요.", "This will take a moment."],
B11_Loading_Message: [
"작업 화면에서 바로 쓸 수 있도록 3D 지표면과 등고선을 준비합니다.",
"Loading the 3D surface and contours so the workspace opens instantly.",
],
B11_Loading_Start: ["자료를 준비하는 중…", "Preparing data…"],
B11_Loading_NoProject: [
"프로젝트가 선택되지 않았습니다. 대시보드에서 프로젝트를 먼저 고르세요.",
"No project selected. Choose a project on the dashboard first.",
],
B11_Loading_Failed: [
"자료를 준비하지 못했습니다. 분석 결과나 저장 경로에 문제가 있을 수 있습니다. 담당자에게 연락해 주세요.",
"Could not prepare the data. The analysis result or storage path may be broken. Please contact support.",
],
B11_Loading_Btn_Continue: ["그래도 화면으로 이동", "Continue anyway"],
B11_Loading_Btn_Dashboard: ["대시보드로", "Back to dashboard"],
B11_Status_Flow_Title: ["결재 진행 상태", "Payment Progress"],
B11_Status_Step_Request: ["발행 요청", "Invoice Requested"],
B11_Status_Step_Issue: ["세금계산서 발행", "Invoice Issued"],
B11_Status_Step_Deposit: ["입금 확인", "Deposit Confirmed"],
B11_Status_Step_Complete: ["완료", "Complete"],
B11_Status_NotStarted: ["시작 전", "Not Started"],
B11_Status_Download_Title: ["결과물 다운로드", "Result Downloads"],
B11_Status_Download_Description: [
"입금 확인이 완료되면 설계문서와 DWG 다운로드가 활성화됩니다.",
"Design document and DWG downloads are enabled after deposit confirmation.",
],
} as const satisfies Record<string, LocaleEntry>;