diff --git a/src/lang/de.json b/src/lang/de.json index 8f2d6cc..7f23a69 100644 --- a/src/lang/de.json +++ b/src/lang/de.json @@ -9,6 +9,7 @@ "station.settings.language.ja": "日本語", "station.settings.language.it": "Italiano", "station.settings.language.nl": "Nederlands", + "station.settings.language.ko": "한국어", "station.settings.altitude": "Höhe (m)", "station.settings.antenna": "Antenne", "station.settings.button.save": "Einstellungen Speichern", @@ -45,5 +46,12 @@ "station.settings.useLocation": "📍 Meinen Standort verwenden", "station.settings.useLocation.error1": "Standort konnte nicht ermittelt werden. Bitte manuell eingeben.", "station.settings.useLocation.error2": "Geolokalisierung wird von deinem Browser nicht unterstützt.", - "station.settings.welcome": "👋 Willkommen bei OpenHamClock!" + "station.settings.welcome": "👋 Willkommen bei OpenHamClock!", + "plugins.layers.aurora.name": "Aurora-Vorhersage", + "plugins.layers.aurora.description": "NOAA-OVATION-Aurora-Wahrscheinlichkeitsvorhersage (30 Min.)", + "plugins.layers.earthquakes.name": "Erdbeben", + "plugins.layers.earthquakes.description": "Live-USGS-Erdbebendaten (M2,5+ der letzten 24 Stunden)", + "plugins.layers.wxradar.name": "Wetterradar", + "plugins.layers.wxradar.description": "NEXRAD-Wetterradar-Überlagerung für Nordamerika", + "plugins.layers.wxradar.attribution": "Wetterdaten © Iowa State University Mesonet" } diff --git a/src/lang/en.json b/src/lang/en.json index c1b753c..a78443b 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -9,6 +9,7 @@ "station.settings.language.ja": "日本語", "station.settings.language.it": "Italiano", "station.settings.language.nl": "Nederlands", + "station.settings.language.ko": "한국어", "station.settings.altitude": "Altitude (m)", "station.settings.antenna": "Antenna", "station.settings.button.save": "Save Settings", @@ -46,5 +47,12 @@ "station.settings.useLocation": "📍 Use my current location", "station.settings.useLocation.error1": "Could not get location. Please enter manually.", "station.settings.useLocation.error2": "Geolocation is not supported by your browser.", - "station.settings.welcome": "👋 Welcome to OpenHamClock!" + "station.settings.welcome": "👋 Welcome to OpenHamClock!", + "plugins.layers.aurora.name": "Aurora Forecast", + "plugins.layers.aurora.description": "NOAA OVATION aurora probability forecast (30-min)", + "plugins.layers.earthquakes.name": "Earthquakes", + "plugins.layers.earthquakes.description": "Live USGS earthquake data (M2.5+ from last 24 hours)", + "plugins.layers.wxradar.name": "Weather Radar", + "plugins.layers.wxradar.description": "NEXRAD weather radar overlay for North America", + "plugins.layers.wxradar.attribution": "Weather data © Iowa State University Mesonet" } diff --git a/src/lang/es.json b/src/lang/es.json index 4454640..6c68a32 100644 --- a/src/lang/es.json +++ b/src/lang/es.json @@ -9,6 +9,7 @@ "station.settings.language.ja": "日本語", "station.settings.language.it": "Italiano", "station.settings.language.nl": "Nederlands", + "station.settings.language.ko": "한국어", "station.settings.altitude": "Altitud (m)", "station.settings.antenna": "Antena", "station.settings.button.save": "Guardar Configuración", @@ -46,5 +47,12 @@ "station.settings.useLocation": "📍 Usar Mi Ubicación Actual", "station.settings.useLocation.error1": "No se pudo obtener la ubicación. Por favor ingrésala manualmente.", "station.settings.useLocation.error2": "La geolocalización no es compatible con tu navegador.", - "station.settings.welcome": "👋 ¡Bienvenido a OpenHamClock!" + "station.settings.welcome": "👋 ¡Bienvenido a OpenHamClock!", + "plugins.layers.aurora.name": "Pronóstico de auroras", + "plugins.layers.aurora.description": "Pronóstico de probabilidad de auroras NOAA OVATION (30 min)", + "plugins.layers.earthquakes.name": "Terremotos", + "plugins.layers.earthquakes.description": "Datos sísmicos en vivo del USGS (M2.5+ de las últimas 24 horas)", + "plugins.layers.wxradar.name": "Radar meteorológico", + "plugins.layers.wxradar.description": "Superposición del radar meteorológico NEXRAD para Norteamérica", + "plugins.layers.wxradar.attribution": "Datos meteorológicos © Iowa State University Mesonet" } diff --git a/src/lang/fr.json b/src/lang/fr.json index 89e6678..cae97fc 100644 --- a/src/lang/fr.json +++ b/src/lang/fr.json @@ -9,6 +9,7 @@ "station.settings.language.ja": "日本語", "station.settings.language.it": "Italiano", "station.settings.language.nl": "Nederlands", + "station.settings.language.ko": "한국어", "station.settings.altitude": "Altitude (m)", "station.settings.antenna": "Antenne", "station.settings.button.save": "Enregistrer les paramètres", @@ -45,5 +46,12 @@ "station.settings.useLocation": "📍 Utiliser ma position actuelle", "station.settings.useLocation.error1": "Impossible d'obtenir la position. Veuillez entrer manuellement.", "station.settings.useLocation.error2": "La géolocalisation n'est pas prise en charge par votre navigateur.", - "station.settings.welcome": "👋 Bienvenue sur OpenHamClock !" + "station.settings.welcome": "👋 Bienvenue sur OpenHamClock !", + "plugins.layers.aurora.name": "Prévision d’aurores", + "plugins.layers.aurora.description": "Prévision de probabilité d’aurores NOAA OVATION (30 min)", + "plugins.layers.earthquakes.name": "Séismes", + "plugins.layers.earthquakes.description": "Données sismiques USGS en direct (M2,5+ sur les dernières 24 heures)", + "plugins.layers.wxradar.name": "Radar météo", + "plugins.layers.wxradar.description": "Surcouche du radar météo NEXRAD pour l’Amérique du Nord", + "plugins.layers.wxradar.attribution": "Données météo © Iowa State University Mesonet" } diff --git a/src/lang/i18n.js b/src/lang/i18n.js index 8db84f2..e7df127 100644 --- a/src/lang/i18n.js +++ b/src/lang/i18n.js @@ -10,6 +10,7 @@ import translationPT from './pt.json'; import translationJA from './ja.json'; import translationIT from './it.json'; import translationNL from './nl.json'; +import translationKO from './ko.json'; export const LANGUAGES = [ { code: 'en', name: 'English', flag: '🇬🇧' }, @@ -19,6 +20,7 @@ export const LANGUAGES = [ { code: 'nl', name: 'Nederlands', flag: '🇳🇱' }, { code: 'pt', name: 'Português', flag: '🇧🇷' }, { code: 'ja', name: '日本語', flag: '🇯🇵' }, + { code: 'ko', name: '한국어', flag: '🇰🇷' }, { code: 'it', name: 'Italiano', flag: '🇮🇹' } ]; @@ -30,6 +32,7 @@ export const resources = { nl: { translation: translationNL }, pt: { translation: translationPT }, ja: { translation: translationJA }, + ko: { translation: translationKO }, it: { translation: translationIT } }; diff --git a/src/lang/it.json b/src/lang/it.json index f623702..b18d457 100644 --- a/src/lang/it.json +++ b/src/lang/it.json @@ -9,6 +9,7 @@ "station.settings.language.ja": "日本語", "station.settings.language.it": "Italiano", "station.settings.language.nl": "Nederlands", + "station.settings.language.ko": "한국어", "station.settings.altitude": "Altitudine (m)", "station.settings.antenna": "Antenna", "station.settings.button.save": "Salva Impostazioni", @@ -45,5 +46,12 @@ "station.settings.useLocation": "📍 Usa la Mia Posizione Attuale", "station.settings.useLocation.error1": "Impossibile ottenere la posizione. Inseriscila manualmente.", "station.settings.useLocation.error2": "La geolocalizzazione non è supportata dal tuo browser.", - "station.settings.welcome": "👋 Benvenuto su OpenHamClock!" + "station.settings.welcome": "👋 Benvenuto su OpenHamClock!", + "plugins.layers.aurora.name": "Previsione dell’aurora", + "plugins.layers.aurora.description": "Previsione di probabilità dell’aurora NOAA OVATION (30 min)", + "plugins.layers.earthquakes.name": "Terremoti", + "plugins.layers.earthquakes.description": "Dati sismici USGS in tempo reale (M2,5+ delle ultime 24 ore)", + "plugins.layers.wxradar.name": "Radar meteorologico", + "plugins.layers.wxradar.description": "Sovrapposizione del radar meteorologico NEXRAD per il Nord America", + "plugins.layers.wxradar.attribution": "Dati meteo © Iowa State University Mesonet" } diff --git a/src/lang/ja.json b/src/lang/ja.json index 474ee6d..59d4447 100644 --- a/src/lang/ja.json +++ b/src/lang/ja.json @@ -9,6 +9,7 @@ "station.settings.language.ja": "日本語", "station.settings.language.it": "Italiano", "station.settings.language.nl": "Nederlands", + "station.settings.language.ko": "한국어", "station.settings.altitude": "標高 (m)", "station.settings.antenna": "アンテナ", "station.settings.button.save": "設定を保存", @@ -45,5 +46,12 @@ "station.settings.useLocation": "📍 現在地を使用", "station.settings.useLocation.error1": "位置情報を取得できません。手動で入力してください。", "station.settings.useLocation.error2": "お使いのブラウザはジオロケーションに対応していません。", - "station.settings.welcome": "👋 OpenHamClockへようこそ!" + "station.settings.welcome": "👋 OpenHamClockへようこそ!", + "plugins.layers.aurora.name": "オーロラ予報", + "plugins.layers.aurora.description": "NOAA OVATION オーロラ出現確率予報(30分)", + "plugins.layers.earthquakes.name": "地震", + "plugins.layers.earthquakes.description": "USGSのリアルタイム地震データ(過去24時間のM2.5以上)", + "plugins.layers.wxradar.name": "気象レーダー", + "plugins.layers.wxradar.description": "北米向けNEXRAD気象レーダーのオーバーレイ", + "plugins.layers.wxradar.attribution": "気象データ © Iowa State University Mesonet" } diff --git a/src/lang/ko.json b/src/lang/ko.json new file mode 100644 index 0000000..8d703c0 --- /dev/null +++ b/src/lang/ko.json @@ -0,0 +1,57 @@ +{ + "cancel": "취소", + "station.settings.language": "언어", + "station.settings.language.en": "English", + "station.settings.language.fr": "Français", + "station.settings.language.es": "Español", + "station.settings.language.de": "Deutsch", + "station.settings.language.pt": "Português", + "station.settings.language.ja": "日本語", + "station.settings.language.it": "Italiano", + "station.settings.language.nl": "Nederlands", + "station.settings.language.ko": "한국어", + "station.settings.altitude": "고도 (m)", + "station.settings.antenna": "안테나", + "station.settings.button.save": "설정 저장하기", + "station.settings.button.save.confirm": "설정이 브라우저에 저장되었습니다.", + "station.settings.callsign": "콜사인", + "station.settings.describe": "콜사인과 그리드 스퀘어(예: PM37mp)를 입력하여 시작하세요. 설정은 브라우저에 저장됩니다.", + "station.settings.dx.describe": "→ 자체 프록시 서버를 이용한 실시간 DX Spider 연동", + "station.settings.dx.option1": "⭐ DX Spider 프록시 (권장)", + "station.settings.dx.option2": "HamQTH Cluster", + "station.settings.dx.option3": "DXWatch", + "station.settings.dx.option4": "자동 (전부 시도하기)", + "station.settings.dx.title": "DX Cluster 데이터 서버", + "station.settings.layout": "레이아웃", + "station.settings.layout.classic": "클래식", + "station.settings.layout.classic.describe": "→ HamClock과 유사한 레이아웃", + "station.settings.layout.modern": "모던", + "station.settings.layout.modern.describe": "→ 반응형 모던 그리드 레이아웃", + "station.settings.latitude": "위도", + "station.settings.locator": "그리드 스퀘어 (또는 아래에 직접 위도/경도 입력)", + "station.settings.longitude": "경도", + "station.settings.power": "출력 (W)", + "station.settings.theme": "테마", + "station.settings.theme.dark": "다크", + "station.settings.theme.dark.describe": "→ 현대적인 다크 테마 (기본)", + "station.settings.theme.legacy": "CRT", + "station.settings.theme.legacy.describe": "→ 초록 CRT 터미널 스타일", + "station.settings.theme.light": "라이트", + "station.settings.theme.light.describe": "→ 낮 시간 사용을 위한 밝은 테마", + "station.settings.theme.retro": "레트로", + "station.settings.theme.retro.describe": "→ 90년대 Windows 레트로 스타일", + "station.settings.timezone": "시간대", + "station.settings.title": "무선국 설정", + "station.settings.tip.env": "💡 팁: 영구적인 데이터 저장을 위해 .env.example 파일을 복사해 .env 파일을 덮어쓰고 CALLSIGN 과 LOCATOR 필드를 채우세요.", + "station.settings.useLocation": "📍 현재 내 위치 사용", + "station.settings.useLocation.error1": "위치 정보를 가져올 수 없습니다. 위도와 경도를 수동으로 입력해 주세요.", + "station.settings.useLocation.error2": "브라우저가 위치 정보 기능을 지원하지 않습니다.", + "station.settings.welcome": "👋 OpenHamClock에 오신 것을 환영합니다!", + "plugins.layers.aurora.name": "오로라 예보", + "plugins.layers.aurora.description": "NOAA OVATION 오로라 확률 예보 (30분)", + "plugins.layers.earthquakes.name": "실시간 지진 현황", + "plugins.layers.earthquakes.description": "USGS 실시간 지진 데이터 (지난 24시간 동안 일어난 규모 M2.5 이상의 지진)", + "plugins.layers.wxradar.name": "기상 레이더", + "plugins.layers.wxradar.description": "북아메리카 지역 NEXRAD 기상 레이더 오버레이", + "plugins.layers.wxradar.attribution": "기상 데이터 © Iowa State University Mesonet" +} diff --git a/src/lang/nl.json b/src/lang/nl.json index 2a02524..b45fcb5 100644 --- a/src/lang/nl.json +++ b/src/lang/nl.json @@ -9,6 +9,7 @@ "station.settings.language.ja": "日本語", "station.settings.language.it": "Italiaans", "station.settings.language.nl": "Nederlands", + "station.settings.language.ko": "한국어", "station.settings.altitude": "Hoogte (m)", "station.settings.antenna": "Antenne", "station.settings.button.save": "Bewaar Settings", @@ -45,5 +46,12 @@ "station.settings.useLocation": "📍 Gebruik mijn huidige locatie", "station.settings.useLocation.error1": "Kan niet de locatie vinden. Graag handmatig ingeven.", "station.settings.useLocation.error2": "Geolocation is niet beschikbaar op je browser.", - "station.settings.welcome": "👋 Welkom bij OpenHamClock!" + "station.settings.welcome": "👋 Welkom bij OpenHamClock!", + "plugins.layers.aurora.name": "Auroravoorspelling", + "plugins.layers.aurora.description": "NOAA OVATION-voorspelling van aurorakans (30 min)", + "plugins.layers.earthquakes.name": "Aardbevingen", + "plugins.layers.earthquakes.description": "Live USGS-aardbevingsgegevens (M2,5+ van de afgelopen 24 uur)", + "plugins.layers.wxradar.name": "Weerradar", + "plugins.layers.wxradar.description": "NEXRAD-weerradaroverlay voor Noord-Amerika", + "plugins.layers.wxradar.attribution": "Weergegevens © Iowa State University Mesonet" } diff --git a/src/lang/pt.json b/src/lang/pt.json index 92da6c1..8091927 100644 --- a/src/lang/pt.json +++ b/src/lang/pt.json @@ -9,6 +9,7 @@ "station.settings.language.ja": "日本語", "station.settings.language.it": "Italiano", "station.settings.language.nl": "Nederlands", + "station.settings.language.ko": "한국어", "station.settings.altitude": "Altitude (m)", "station.settings.antenna": "Antena", "station.settings.button.save": "Salvar Configurações", @@ -45,5 +46,12 @@ "station.settings.useLocation": "📍 Usar Minha Localização Atual", "station.settings.useLocation.error1": "Não foi possível obter a localização. Por favor, insira manualmente.", "station.settings.useLocation.error2": "Geolocalização não é suportada pelo seu navegador.", - "station.settings.welcome": "👋 Bem-vindo ao OpenHamClock!" + "station.settings.welcome": "👋 Bem-vindo ao OpenHamClock!", + "plugins.layers.aurora.name": "Previsão de aurora", + "plugins.layers.aurora.description": "Previsão de probabilidade de aurora NOAA OVATION (30 min)", + "plugins.layers.earthquakes.name": "Terremotos", + "plugins.layers.earthquakes.description": "Dados sísmicos do USGS ao vivo (M2,5+ das últimas 24 horas)", + "plugins.layers.wxradar.name": "Radar meteorológico", + "plugins.layers.wxradar.description": "Sobreposição do radar meteorológico NEXRAD para a América do Norte", + "plugins.layers.wxradar.attribution": "Dados meteorológicos © Iowa State University Mesonet" } diff --git a/src/plugins/layers/useAurora.js b/src/plugins/layers/useAurora.js index 995d5a4..200bf1e 100644 --- a/src/plugins/layers/useAurora.js +++ b/src/plugins/layers/useAurora.js @@ -1,3 +1,5 @@ +import i18n from '../../lang/i18n'; + import { useState, useEffect, useRef } from 'react'; // NOAA OVATION Aurora Forecast - JSON grid data @@ -7,8 +9,8 @@ import { useState, useEffect, useRef } from 'react'; export const metadata = { id: 'aurora', - name: 'Aurora Forecast', - description: 'NOAA OVATION aurora probability forecast (30-min)', + name: i18n.t('plugins.layers.aurora.name'), + description: i18n.t('plugins.layers.aurora.description'), icon: '🌌', category: 'space-weather', defaultEnabled: false, diff --git a/src/plugins/layers/useEarthquakes.js b/src/plugins/layers/useEarthquakes.js index cb2e970..3396a89 100644 --- a/src/plugins/layers/useEarthquakes.js +++ b/src/plugins/layers/useEarthquakes.js @@ -1,3 +1,5 @@ +import i18n from '../../lang/i18n'; + import { useState, useEffect, useRef } from 'react'; //Scaled markers - Bigger circles for stronger quakes @@ -11,8 +13,8 @@ import { useState, useEffect, useRef } from 'react'; export const metadata = { id: 'earthquakes', - name: 'Earthquakes', - description: 'Live USGS earthquake data (all earthquakes from last hour) with animated detection', + name: i18n.t('plugins.layers.earthquakes.name'), + description: i18n.t('plugins.layers.earthquakes.description'), icon: '🌋', category: 'geology', defaultEnabled: false, diff --git a/src/plugins/layers/useWXRadar.js b/src/plugins/layers/useWXRadar.js index 0282402..15692af 100644 --- a/src/plugins/layers/useWXRadar.js +++ b/src/plugins/layers/useWXRadar.js @@ -1,9 +1,11 @@ +import i18n from '../../lang/i18n'; + import { useState, useEffect } from 'react'; export const metadata = { id: 'wxradar', - name: 'Weather Radar', - description: 'NEXRAD weather radar overlay for North America', + name: i18n.t('plugins.layers.wxradar.name'), + description: i18n.t('plugins.layers.wxradar.description'), icon: '☁️', category: 'weather', defaultEnabled: false, @@ -21,7 +23,7 @@ export function useLayer({ enabled = false, opacity = 0.6, map = null }) { layers: 'nexrad-n0r-900913', format: 'image/png', transparent: true, - attribution: 'Weather data © Iowa State University Mesonet', + attribution: i18n.t('plugins.layers.wxradar.attribution'), opacity: opacity, zIndex: 200 }