From ef8d681ee918e4cd3588e645c6063aad5e70511f Mon Sep 17 00:00:00 2001 From: infopcgood <112328126+infopcgood@users.noreply.github.com> Date: Wed, 4 Feb 2026 04:32:49 +0900 Subject: [PATCH 1/5] Korean localization for settings menu --- src/lang/de.json | 1 + src/lang/en.json | 1 + src/lang/es.json | 1 + src/lang/fr.json | 1 + src/lang/i18n.js | 3 +++ src/lang/it.json | 1 + src/lang/ja.json | 1 + src/lang/ko.json | 50 ++++++++++++++++++++++++++++++++++++++++++++++++ src/lang/nl.json | 1 + src/lang/pt.json | 1 + 10 files changed, 61 insertions(+) create mode 100644 src/lang/ko.json diff --git a/src/lang/de.json b/src/lang/de.json index 8f2d6cc..6103221 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", diff --git a/src/lang/en.json b/src/lang/en.json index f6399e6..99bdd19 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", diff --git a/src/lang/es.json b/src/lang/es.json index 3099557..9877b4e 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", diff --git a/src/lang/fr.json b/src/lang/fr.json index 89e6678..74fdcfa 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", 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..14ddf78 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", diff --git a/src/lang/ja.json b/src/lang/ja.json index 474ee6d..008b4df 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": "設定を保存", diff --git a/src/lang/ko.json b/src/lang/ko.json new file mode 100644 index 0000000..06e9be8 --- /dev/null +++ b/src/lang/ko.json @@ -0,0 +1,50 @@ +{ + "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": "Could not get location. Please enter manually.", + "station.settings.useLocation.error2": "브라우저가 위치 정보 기능을 지원하지 않습니다.", + "station.settings.welcome": "👋 OpenHamClock에 오신 것을 환영합니다!" +} diff --git a/src/lang/nl.json b/src/lang/nl.json index 2a02524..18bf9c6 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", diff --git a/src/lang/pt.json b/src/lang/pt.json index 92da6c1..b183c5f 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", From d69f98f91eeb427c892ed27a6d51849f397b30be Mon Sep 17 00:00:00 2001 From: infopcgood <112328126+infopcgood@users.noreply.github.com> Date: Wed, 4 Feb 2026 04:55:50 +0900 Subject: [PATCH 2/5] Add localization entries for layer plugins --- src/lang/de.json | 9 ++++++++- src/lang/en.json | 9 ++++++++- src/lang/es.json | 9 ++++++++- src/lang/fr.json | 9 ++++++++- src/lang/it.json | 9 ++++++++- src/lang/ja.json | 9 ++++++++- src/lang/ko.json | 9 ++++++++- src/lang/nl.json | 9 ++++++++- src/lang/pt.json | 9 ++++++++- src/plugins/layers/useAurora.js | 5 +++-- src/plugins/layers/useEarthquakes.js | 4 ++-- src/plugins/layers/useWXRadar.js | 6 +++--- 12 files changed, 80 insertions(+), 16 deletions(-) diff --git a/src/lang/de.json b/src/lang/de.json index 6103221..7f23a69 100644 --- a/src/lang/de.json +++ b/src/lang/de.json @@ -46,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 99bdd19..59e3fb1 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -46,5 +46,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 9877b4e..9d7505b 100644 --- a/src/lang/es.json +++ b/src/lang/es.json @@ -46,5 +46,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 74fdcfa..cae97fc 100644 --- a/src/lang/fr.json +++ b/src/lang/fr.json @@ -46,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/it.json b/src/lang/it.json index 14ddf78..b18d457 100644 --- a/src/lang/it.json +++ b/src/lang/it.json @@ -46,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 008b4df..59d4447 100644 --- a/src/lang/ja.json +++ b/src/lang/ja.json @@ -46,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 index 06e9be8..c9dd731 100644 --- a/src/lang/ko.json +++ b/src/lang/ko.json @@ -46,5 +46,12 @@ "station.settings.useLocation": "📍 현재 내 위치 사용", "station.settings.useLocation.error1": "Could not get location. Please enter manually.", "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/nl.json b/src/lang/nl.json index 18bf9c6..b45fcb5 100644 --- a/src/lang/nl.json +++ b/src/lang/nl.json @@ -46,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 b183c5f..8091927 100644 --- a/src/lang/pt.json +++ b/src/lang/pt.json @@ -46,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..1d40574 100644 --- a/src/plugins/layers/useAurora.js +++ b/src/plugins/layers/useAurora.js @@ -1,3 +1,4 @@ +import { t } from 'i18next'; import { useState, useEffect, useRef } from 'react'; // NOAA OVATION Aurora Forecast - JSON grid data @@ -7,8 +8,8 @@ import { useState, useEffect, useRef } from 'react'; export const metadata = { id: 'aurora', - name: 'Aurora Forecast', - description: 'NOAA OVATION aurora probability forecast (30-min)', + name: t('plugins.layers.aurora.name'), + description: 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 29a06f5..3ffe31e 100644 --- a/src/plugins/layers/useEarthquakes.js +++ b/src/plugins/layers/useEarthquakes.js @@ -11,8 +11,8 @@ import { useState, useEffect } from 'react'; export const metadata = { id: 'earthquakes', - name: 'Earthquakes', - description: 'Live USGS earthquake data (M2.5+ from last 24 hours)', + name: t('plugins.layers.earthquakes.name'), + description: 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..ee9a5f4 100644 --- a/src/plugins/layers/useWXRadar.js +++ b/src/plugins/layers/useWXRadar.js @@ -2,8 +2,8 @@ import { useState, useEffect } from 'react'; export const metadata = { id: 'wxradar', - name: 'Weather Radar', - description: 'NEXRAD weather radar overlay for North America', + name: t('plugins.layers.wxradar.name'), + description: t('plugins.layers.wxradar.description'), icon: '☁️', category: 'weather', defaultEnabled: false, @@ -21,7 +21,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: t('plugins.layers.wxradar.attribution'), opacity: opacity, zIndex: 200 } From d3b1ca183a9d7698a1ad64d9330dcfb4fb27c0f3 Mon Sep 17 00:00:00 2001 From: infopcgood <112328126+infopcgood@users.noreply.github.com> Date: Wed, 4 Feb 2026 05:03:54 +0900 Subject: [PATCH 3/5] Fix missing import --- src/plugins/layers/useEarthquakes.js | 1 + src/plugins/layers/useWXRadar.js | 1 + 2 files changed, 2 insertions(+) diff --git a/src/plugins/layers/useEarthquakes.js b/src/plugins/layers/useEarthquakes.js index 3ffe31e..129d9fe 100644 --- a/src/plugins/layers/useEarthquakes.js +++ b/src/plugins/layers/useEarthquakes.js @@ -1,3 +1,4 @@ +import { t } from 'i18next'; import { useState, useEffect } from 'react'; //Scaled markers - Bigger circles for stronger quakes diff --git a/src/plugins/layers/useWXRadar.js b/src/plugins/layers/useWXRadar.js index ee9a5f4..c7927a5 100644 --- a/src/plugins/layers/useWXRadar.js +++ b/src/plugins/layers/useWXRadar.js @@ -1,3 +1,4 @@ +import { t } from 'i18next'; import { useState, useEffect } from 'react'; export const metadata = { From d27fd2d1c8adc69dc86e38a842e695f7030e3233 Mon Sep 17 00:00:00 2001 From: infopcgood <112328126+infopcgood@users.noreply.github.com> Date: Wed, 4 Feb 2026 05:18:10 +0900 Subject: [PATCH 4/5] Fix typo and translate untranslated string in ko.json --- src/lang/ko.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lang/ko.json b/src/lang/ko.json index c9dd731..8d703c0 100644 --- a/src/lang/ko.json +++ b/src/lang/ko.json @@ -44,14 +44,14 @@ "station.settings.title": "무선국 설정", "station.settings.tip.env": "💡 팁: 영구적인 데이터 저장을 위해 .env.example 파일을 복사해 .env 파일을 덮어쓰고 CALLSIGN 과 LOCATOR 필드를 채우세요.", "station.settings.useLocation": "📍 현재 내 위치 사용", - "station.settings.useLocation.error1": "Could not get location. Please enter manually.", + "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.name": "기상 레이더", "plugins.layers.wxradar.description": "북아메리카 지역 NEXRAD 기상 레이더 오버레이", "plugins.layers.wxradar.attribution": "기상 데이터 © Iowa State University Mesonet" } From fdf60b5df7cd1ada7f590c735f2cb5ed3b7d248b Mon Sep 17 00:00:00 2001 From: infopcgood <112328126+infopcgood@users.noreply.github.com> Date: Wed, 4 Feb 2026 05:44:41 +0900 Subject: [PATCH 5/5] Fix localization code --- src/plugins/layers/useAurora.js | 7 ++++--- src/plugins/layers/useEarthquakes.js | 7 ++++--- src/plugins/layers/useWXRadar.js | 9 +++++---- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/plugins/layers/useAurora.js b/src/plugins/layers/useAurora.js index 1d40574..200bf1e 100644 --- a/src/plugins/layers/useAurora.js +++ b/src/plugins/layers/useAurora.js @@ -1,4 +1,5 @@ -import { t } from 'i18next'; +import i18n from '../../lang/i18n'; + import { useState, useEffect, useRef } from 'react'; // NOAA OVATION Aurora Forecast - JSON grid data @@ -8,8 +9,8 @@ import { useState, useEffect, useRef } from 'react'; export const metadata = { id: 'aurora', - name: t('plugins.layers.aurora.name'), - description: t('plugins.layers.aurora.description'), + 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 c1cd18e..3396a89 100644 --- a/src/plugins/layers/useEarthquakes.js +++ b/src/plugins/layers/useEarthquakes.js @@ -1,4 +1,5 @@ -import { t } from 'i18next'; +import i18n from '../../lang/i18n'; + import { useState, useEffect, useRef } from 'react'; //Scaled markers - Bigger circles for stronger quakes @@ -12,8 +13,8 @@ import { useState, useEffect, useRef } from 'react'; export const metadata = { id: 'earthquakes', - name: t('plugins.layers.earthquakes.name'), - description: t('plugins.layers.earthquakes.description'), + 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 c7927a5..15692af 100644 --- a/src/plugins/layers/useWXRadar.js +++ b/src/plugins/layers/useWXRadar.js @@ -1,10 +1,11 @@ -import { t } from 'i18next'; +import i18n from '../../lang/i18n'; + import { useState, useEffect } from 'react'; export const metadata = { id: 'wxradar', - name: t('plugins.layers.wxradar.name'), - description: t('plugins.layers.wxradar.description'), + name: i18n.t('plugins.layers.wxradar.name'), + description: i18n.t('plugins.layers.wxradar.description'), icon: '☁️', category: 'weather', defaultEnabled: false, @@ -22,7 +23,7 @@ export function useLayer({ enabled = false, opacity = 0.6, map = null }) { layers: 'nexrad-n0r-900913', format: 'image/png', transparent: true, - attribution: t('plugins.layers.wxradar.attribution'), + attribution: i18n.t('plugins.layers.wxradar.attribution'), opacity: opacity, zIndex: 200 }