- terra-draw 기반 지도 폴리곤/사각형/원 그리기 + 편집 (OL Draw 대체) - 구역 항적 분석: ANY/ALL/SEQUENTIAL 검색모드, 다중구역 시각화 - STS 선박쌍 접촉 분석: 접촉쌍 그룹핑, 위험도 indicator, ScatterplotLayer - Deck.gl 레이어: PathLayer + TripsLayer + IconLayer (커서 기반 O(1) 보간) - 공유 타임라인 컨트롤 (재생/배속/프로그레스바) - CSV 내보내기 (다중 방문 동적 컬럼, BOM+UTF-8) - ApiExplorer 5모드 통합 (positions/vessel/replay/area-search/sts) 신규 17파일 (features/area-search/), 수정 5파일 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
187 lines
6.4 KiB
TypeScript
187 lines
6.4 KiB
TypeScript
const ko = {
|
|
// Navigation
|
|
'nav.dashboard': '대시보드',
|
|
'nav.jobs': 'Job 모니터',
|
|
'nav.pipeline': '파이프라인',
|
|
'nav.apiExplorer': 'API 탐색기',
|
|
'nav.abnormal': '비정상 항적',
|
|
'nav.areaStats': '해구 통계',
|
|
'nav.metrics': '메트릭',
|
|
|
|
// Common
|
|
'common.loading': '로딩 중...',
|
|
'common.noData': '데이터가 없습니다',
|
|
'common.close': '닫기',
|
|
'common.prev': '이전',
|
|
'common.next': '다음',
|
|
'common.items': '건',
|
|
'common.of': '중',
|
|
'common.day': '일',
|
|
'common.min': '분',
|
|
'common.sec': '초',
|
|
'common.themeToggle': '테마 전환',
|
|
'common.langToggle': '언어 전환',
|
|
|
|
// Dashboard
|
|
'dashboard.title': '대시보드',
|
|
'dashboard.totalExec': '총 실행',
|
|
'dashboard.successRate': '성공률',
|
|
'dashboard.avgDuration': '평균 소요시간',
|
|
'dashboard.totalProcessed': '총 처리건수',
|
|
'dashboard.periodBasis': '일 기준',
|
|
'dashboard.avgPerJob': '/job 평균',
|
|
'dashboard.runningJobs': '실행 중 Job',
|
|
'dashboard.noRunningJobs': '실행 중인 Job 없음',
|
|
'dashboard.delay': '처리 지연',
|
|
'dashboard.delayMin': '분 지연',
|
|
'dashboard.aisLatest': 'AIS 최신',
|
|
'dashboard.processLatest': '처리 최신',
|
|
'dashboard.aisReceived': 'AIS 수신',
|
|
'dashboard.vesselsProcessed': '선박 집계',
|
|
'dashboard.systemMetrics': '시스템 메트릭',
|
|
'dashboard.memory': '메모리',
|
|
'dashboard.threads': '스레드',
|
|
'dashboard.dbConn': 'DB 연결',
|
|
'dashboard.recordsSec': '초당 처리',
|
|
'dashboard.cacheStatus': '캐시 상태',
|
|
'dashboard.hitRate': '히트율',
|
|
'dashboard.size': '크기',
|
|
'dashboard.hits': '히트',
|
|
'dashboard.misses': '미스',
|
|
'dashboard.dailyVolume': '일별 처리량',
|
|
|
|
// Job Monitor
|
|
'jobs.title': 'Job 모니터',
|
|
'jobs.all': '전체',
|
|
'jobs.track5min': 'Track (5분)',
|
|
'jobs.hourly': 'Hourly',
|
|
'jobs.daily': 'Daily',
|
|
'jobs.status': '상태',
|
|
'jobs.job': 'Job',
|
|
'jobs.id': 'ID',
|
|
'jobs.start': '시작 시간',
|
|
'jobs.duration': '소요시간',
|
|
'jobs.read': '읽기',
|
|
'jobs.write': '쓰기',
|
|
'jobs.skip': '건너뜀',
|
|
'jobs.stepDetails': 'Step 상세',
|
|
'jobs.step': 'Step',
|
|
'jobs.commits': '커밋',
|
|
'jobs.errors': '에러',
|
|
|
|
// Pipeline
|
|
'pipeline.title': '데이터 파이프라인',
|
|
'pipeline.flowTitle': '처리 흐름',
|
|
'pipeline.collect1min': '1분 수집',
|
|
'pipeline.aggregate5min': '5분 집계',
|
|
'pipeline.mergeHourly': '시간 병합',
|
|
'pipeline.mergeDaily': '일 병합',
|
|
'pipeline.executions': '회 실행',
|
|
'pipeline.totalTime': '총 소요',
|
|
'pipeline.processingDelay': '처리 지연',
|
|
'pipeline.delayMin': '분 지연',
|
|
'pipeline.aisLatest': 'AIS 최신',
|
|
'pipeline.processLatest': '처리 최신',
|
|
'pipeline.cacheOverview': '캐시 현황',
|
|
'pipeline.cachedDays': '일 캐시',
|
|
'pipeline.totalHitRate': '전체 히트율',
|
|
'pipeline.dailyThroughput': '일별 처리량 추이',
|
|
'pipeline.totalProcessed': '총 처리',
|
|
'pipeline.vesselJobs': 'Vessel Job',
|
|
'pipeline.trackJobs': 'Track Job',
|
|
'pipeline.recentJobs': '최근 실행 이력',
|
|
'pipeline.totalExec': '총 실행',
|
|
'pipeline.totalRecords': '총 처리건수',
|
|
'pipeline.avgDuration': '평균 소요',
|
|
'pipeline.successRate': '성공률',
|
|
|
|
// Area Stats
|
|
'area.title': '해구/구역 통계',
|
|
'area.activeHaegu': '활성 해구',
|
|
'area.activeHaeguDesc': '선박이 있는 해구',
|
|
'area.totalVessels': '총 선박수',
|
|
'area.dataQuality': '데이터 품질',
|
|
'area.avgDensity': '평균 밀도',
|
|
'area.haeguStats': '대해구별 현황',
|
|
'area.haeguNo': '해구번호',
|
|
'area.haeguName': '해구명',
|
|
'area.currentVessels': '현재 선박',
|
|
'area.avgSpeed': '평균 속력',
|
|
'area.avgDensityCol': '평균 밀도',
|
|
'area.lastUpdate': '최종 갱신',
|
|
'area.throughput': '처리량',
|
|
'area.vesselsPerMin': '선박/분',
|
|
'area.vesselsPerHour': '선박/시간',
|
|
'area.tableSizes': '테이블 크기',
|
|
'area.dataQualityTitle': '데이터 품질 검증',
|
|
'area.duplicates': '중복 항적',
|
|
'area.stalePositions': '갱신 지연 위치',
|
|
'area.checkedAt': '검증 시각',
|
|
'area.haeguMap': '해구별 선박 분포',
|
|
'area.mapLegend': '선박 수',
|
|
'area.vessels': '척',
|
|
|
|
// API Explorer
|
|
'explorer.title': 'API 탐색기',
|
|
'explorer.apiType': 'API 유형',
|
|
'explorer.recentPositions': '최근 위치',
|
|
'explorer.vesselTracks': '선박별 항적',
|
|
'explorer.viewportReplay': '뷰포트 리플레이',
|
|
'explorer.areaSearch': '구역 항적 분석',
|
|
'explorer.stsAnalysis': 'STS 접촉 분석',
|
|
'explorer.parameters': '파라미터',
|
|
'explorer.positionsDesc': '최근 10분 이내 위치 업데이트된 선박 목록을 조회합니다.',
|
|
'explorer.vesselDesc': 'MMSI 목록으로 특정 선박의 항적을 조회합니다.',
|
|
|
|
// Abnormal Tracks
|
|
'abnormal.title': '비정상 항적',
|
|
'abnormal.totalDetected': '총 검출',
|
|
'abnormal.last7days': '최근 7일',
|
|
'abnormal.affectedVessels': '영향 선박',
|
|
'abnormal.typeCount': '유형 수',
|
|
'abnormal.maxSpeed': '최대 속도',
|
|
'abnormal.byType': '유형별 통계',
|
|
'abnormal.allTypes': '전체',
|
|
'abnormal.vessels': '척',
|
|
'abnormal.dailyTrend': '일별 추이',
|
|
'abnormal.recentList': '최근 검출 목록',
|
|
'abnormal.type': '유형',
|
|
'abnormal.time': '시간',
|
|
'abnormal.distance': '거리',
|
|
'abnormal.avgSpeedCol': '평균 속도',
|
|
'abnormal.maxSpeedCol': '최대 속도',
|
|
'abnormal.points': '포인트',
|
|
|
|
// Metrics
|
|
'metrics.title': '시스템 메트릭',
|
|
'metrics.heapMemory': '힙 메모리',
|
|
'metrics.threads': '스레드',
|
|
'metrics.dbActive': 'DB 활성 연결',
|
|
'metrics.recordsPerSec': '초당 처리',
|
|
'metrics.cacheDetail': '캐시 상세',
|
|
'metrics.cacheLayer': '캐시 계층',
|
|
'metrics.size': '크기',
|
|
'metrics.maxSize': '최대',
|
|
'metrics.utilization': '사용률',
|
|
'metrics.hitRate': '히트율',
|
|
'metrics.processingDelay': '처리 지연',
|
|
'metrics.delayMinutes': '지연 시간',
|
|
'metrics.aisCount': 'AIS 수신',
|
|
'metrics.processedVessels': '처리 선박',
|
|
'metrics.status': '상태',
|
|
'metrics.cacheHitSummary': '캐시 히트 요약',
|
|
'metrics.hits': '히트',
|
|
'metrics.misses': '미스',
|
|
'metrics.dbMetricsPlaceholder': 'API/WS 이력 메트릭 (향후 구현)',
|
|
'metrics.dbMetricsDesc': 'REST/WebSocket 요청 이력, 응답 크기, 소요시간 DB 저장 + 조회',
|
|
|
|
// Time Range
|
|
'range.1d': '1일',
|
|
'range.3d': '3일',
|
|
'range.7d': '7일',
|
|
'range.14d': '14일',
|
|
'range.30d': '30일',
|
|
} as const
|
|
|
|
export default ko
|