From 903319452bf0c5ed8a2da879281d8b08ef7ff05e Mon Sep 17 00:00:00 2001 From: Christian Bayer Date: Mon, 15 Aug 2022 23:23:51 +0200 Subject: [PATCH] WIP translating strings in js: roster.js --- package.nw/gt_roster.html | 8 + package.nw/i18n/de.json | 536 ++++++++++++++++++++++++++++++++++++-- package.nw/i18n/en.json | 2 +- package.nw/lib/alerts.js | 2 +- package.nw/lib/gt.js | 24 ++ package.nw/lib/roster.js | 55 +++- 6 files changed, 591 insertions(+), 36 deletions(-) diff --git a/package.nw/gt_roster.html b/package.nw/gt_roster.html index d26c903..1d86a83 100644 --- a/package.nw/gt_roster.html +++ b/package.nw/gt_roster.html @@ -21,6 +21,14 @@ + + + + + + + + diff --git a/package.nw/i18n/de.json b/package.nw/i18n/de.json index 0e6eb13..785584f 100644 --- a/package.nw/i18n/de.json +++ b/package.nw/i18n/de.json @@ -141,14 +141,14 @@ "controlPanel.LocalAIDF.hover": "Load Local ADIF Files", "controlPanel.Timezone.hover": "Toggle Timezone Layer", "controlPanel.Radar.hover": "Toggle US Nexrad Radar", - "controlPanel.AllLocatorfelder.hover": "Toggle All Grid Overlay", + "controlPanel.AllGrids.hover": "Toggle All Grid Overlay", "controlPanel.GTFlags.hover": "Toggle View GridTracker Users", "controlPanel.Chat.hover": "Messaging Window", "settings.General.label": "General", "settings.Lookups.label": "Lookups", "settings.Audio.label": "Audio", "settings.Map.label": "Map", - "settings.Locatorfelder.label": "Locatorfelder", + "settings.Grids.label": "Locatorfelder", "settings.Logging.label": "Logging", "settings.Alerts.label": "Alerts", "settings.CallRoster.label": "Call Roster", @@ -231,24 +231,24 @@ "settings.logbook.date.enable": "Enable?", "settings.logbook.apply.hover": "Apply Changes and Re-Import Logbook(s)", "settings.logbook.apply.label": "Apply Changes", - "settings.Locatorfelder.reset.title": "Locatorfelderquare Colors", - "settings.Locatorfelder.reset.hover": "Reset Locatorfelderquare Colors to Defaults", - "settings.Locatorfelder.reset.label": "Reset Colors", - "settings.Locatorfelder.QSO.label": "QSO / Worked", - "settings.Locatorfelder.QSL.label": "QSL / Confirmed", - "settings.Locatorfelder.QSX.label": "QSX / Station-2-Station", - "settings.Locatorfelder.CQ.label": "'CQ' Stations", - "settings.Locatorfelder.CQDX.label": "'CQ DX' Stations", - "settings.Locatorfelder.QRZ.label": "QRZ / Your Traffic", - "settings.Locatorfelder.QTH.label": "QTH / Home Locatorfelderquare", - "settings.Locatorfelder.spotsOverLocatorfelder.label": "RX-Spots Over Locatorfelder", - "settings.Locatorfelder.spotsoverLocatorfelder.hover": "Place RX Spots over Grid Layer", - "settings.Locatorfelder.opacity.label": "Grid Opacity", - "settings.Locatorfelder.splitQSL.label": "Split QSL Locatorfelder", - "settings.Locatorfelder.splitQSL.hover": "Toggle Split QSL Locatorfelder with Live Locatorfelder", - "settings.Locatorfelder.AutoMouseOver.label": "Auto Mouseover Locatorfelder", - "settings.Locatorfelder.AutoMouseOver.hover": "Toggle Auto Mouseover Grid Tables", - "settings.Locatorfelder.liveDecay.label": "Live Grid Decay", + "settings.grids.reset.title": "Locatorfelderquare Colors", + "settings.grids.reset.hover": "Reset Locatorfelderquare Colors to Defaults", + "settings.grids.reset.label": "Reset Colors", + "settings.grids.QSO.label": "QSO / Worked", + "settings.grids.QSL.label": "QSL / Confirmed", + "settings.grids.QSX.label": "QSX / Station-2-Station", + "settings.grids.CQ.label": "'CQ' Stations", + "settings.grids.CQDX.label": "'CQ DX' Stations", + "settings.grids.QRZ.label": "QRZ / Your Traffic", + "settings.grids.QTH.label": "QTH / Home Locatorfelderquare", + "settings.grids.spotsOverGrids.label": "RX-Spots Over Locatorfelder", + "settings.grids.spotsoverGrids.hover": "Place RX Spots over Grid Layer", + "settings.grids.opacity.label": "Grid Opacity", + "settings.grids.splitQSL.label": "Split QSL Locatorfelder", + "settings.grids.splitQSL.hover": "Toggle Split QSL Locatorfelder with Live Locatorfelder", + "settings.grids.AutoMouseOver.label": "Auto Mouseover Locatorfelder", + "settings.grids.AutoMouseOver.hover": "Toggle Auto Mouseover Grid Tables", + "settings.grids.liveDecay.label": "Live Grid Decay", "settings.map.current.label": "Current Map", "settings.map.current.hover": "Change Map", "settings.map.animatePaths.label": "Animate Active Paths", @@ -559,5 +559,499 @@ "stats.tabs.ITUZones": "ITU Zones", "stats.tabs.WASWAC": "WAC / WAS", "stats.tabs.live": "Live", - "stats.noDecodes": "No decodes yet" + "stats.noDecodes": "No decodes yet", + "COMMENT_adif.js": "", + "adif.TestResult.invalid": "Invalid", + "adif.TestResult.error": "Unknown Error", + "adif.TestResult.passed": "Passed", + "adif.TestResult.response": "Invalid Response", + "adif.TestResult.testing": "Testing", + "adif.NoFiles": "No file(s) selected", + "adif.LoggedN1MM": "Logged to N1MM", + "adif.LoggedLog4OM": "Logged to Log4OM", + "adif.ExceptionInternal": "Exception Internal Log", + "adif.LoggedGTBackup": "Logged to GridTracker backup", + "adif.ExceptionGTBackup": "Exception GridTracker backup", + "adif.ExceptionQRZ": "Exception QRZ Log", + "adif.ExceptionClubLog": "Exception ClubLog Log", + "adif.ExceptionHRDLogNet": "Exception HrdLog.net Log", + "adif.ExceptionCloudLog": "Exception Cloudlog Log", + "adif.LoggedN3FJP": "Logged to N3FJP Log", + "adif.ExceptionN3FJP": "Exception N3FJP Log", + "adif.LoggedDXKeeper": "Logged to DXKeeper", + "adif.ExceptionDXKeeper": "Exception DXKeeper", + "adif.LoggedHRDLogbook": "Logged to HRD Logbook", + "adif.ExceptionHRDLogbook": "Exception HRD Log", + "adif.ExceptionLoTW": "Excpetion LoTW Log", + "adif.ExceptionAlertLog": "Exception Alert Log", + "adif.ExceptionHideLookup": "Expception Hide Lookup", + "adif.BadPassUser": "Bad
Password
or
Nickname", + "adif.UnknownCall": "Unknown
Callsign", + "adif.QTHNickname": "QTH Nickname
Needed", + "adif.UnknownError": "Unknown
Error", + "adif.FaileQSLCreds": "Fail log eQSL.cc (credentials)", + "adif.FaileQSLNick": "Fail log eQSL.cc (nickname)", + "adif.FaileQSLDupe": "Fail log eQSL.cc (dupe)", + "adif.LoggedeQSL": "Logged to eQSL.cc", + "adif.FailedeQSL": "Fail log eQSL.cc (?)", + "adif.Offline": "Currently
offline", + "adif.TestUpload": "Testing Upload", + "adif.ErrorEncountered": "Error encountered", + "adif.InvalidTQSL": "Invalid tqsl executable", + "adif.MissingTQSL": "TrustedQSL not installed", + "adif.TQSLPassword": "TQSL Password missing", + "adif.TQSLStation": "Select Station", + "adif.TQSLFailed": "Fail log to TQSL", + "adif.TQSLLogged": "Logged to TQSL", + "adif.CloudLogAPIKey": "API Key Invalid", + "adif.CloudLogLogged": "Logged to Cloudlog", + "adif.CloudLogFailed": "Fail log to Cloudlog", + "adif.QRZFailedAlert": "Error uploading QSO to QRZ.com", + "adif.QRZFailed": "Fail log to QRZ.com", + "adif.QRZLogged": "Logged to QRZ.com", + "adif.QRZNoResponse": "Error uploading QSO to QRZ.com (No response)", + "adif.ClubLogLogged": "Logged to ClubLog.org", + "adif.HRDLogNetLogged": "Logged to HRDLOG.net", + "adif.HRDLogNetFailed": "Fail log to HRDLOG.net", + "COMMENT_alerts.js": "", + "alerts.addNew.Added": "Added", + "alerts.addNew.SelectFile": "Datei auswählen!", + "alerts.addNew.InvalidCall": "Ungültiges Rufzeichen", + "alerts.addnew.Duplicate": "Duplikat!", + "alerts.callsign.speech": "Rufzeichen", + "alerts.callsign.popup": "Seeking", + "alerts.gridsquare.speech": "Locatorfeld", + "alerts.gridsquare.popup": "Locatorfeld", + "alerts.QRZ.speech": "Calling", + "alerts.QRZ.popup": "QRZ", + "alerts.AlertPop.Type": "Type", + "alerts.AlertPop.Value": "Value", + "alerts.AlertPop.Notify": "Notify", + "alerts.AlertPop.Repeat": "Repeat", + "alerts.AlertPop.Filename": "Filename", + "alerts.AlertPop.Alerted": "Alerted", + "alerts.AlertPop.LastMessage": "Last Message", + "alerts.AlertPop.When": "When", + "alerts.AlertPop.Yes": "Yes", + "alerts.AlertPop.No": "No", + "alerts.AlertPop.Gathering": "Gathering Alerts", + "alerts.TypesArray.CallExact": "Call (exact)", + "alerts.TypesArray.Grid": "Grid", + "alerts.TypesArray.QRZ": "QRZ", + "alerts.TypesArray.CallPartial": "Call (partial)", + "alerts.TypesArray.CallRegex": "Call (regex)", + "alerts.ValueArray.AudioFile": "Audio File", + "alerts.ValueArray.TextToSpeech": "TTS", + "alerts.ValueArray.PopUp": "PopUp", + "alerts.ValueArray.MapCenter": "Map Center", + "alerts.RepeatArray.No": "No", + "alerts.RepeatArray.Once": "Once", + "alerts.RepeatArray.Inf": "Inf", + "alerts.RepeatArray.Session": "Inf (Session)", + "alerts.Display.Type": "Type", + "alerts.Display.Value": "Value", + "alerts.Display.Notify": "Notify", + "alerts.Display.Repeat": "Repeat", + "alerts.Display.Filename": "Filename", + "alerts.Display.Alerted": "Alerted", + "alerts.Display.LastMessage": "Last Message", + "alerts.Display.When": "When", + "alerts.Display.Reset": "Reset", + "alerts.Display.Delete": "Delete", + "alerts.ClassicWords.callsign": "Call", + "alerts.ClassicWords.grid": "Grid", + "alerts.ClassicWords.DXCC": "DXCC", + "alerts.ClassicWords.CQz": "C-Q Zone", + "alerts.ClassicWords.ITUz": "I-T-U Zone", + "alerts.ClassicWords.State": "State", + "COMMENT_callsigns.js": "", + "callsigns.Downloading": "Downloading...", + "callsigns.never": "Never", + "callsigns.processing": "Processing...", + "COMMENT_datepicker.js": "", + "datepicker.month.Jan": "Jan", + "datepicker.month.Feb": "Feb", + "datepicker.month.Mar": "Mar", + "datepicker.month.Apr": "Apr", + "datepicker.month.May": "May", + "datepicker.month.Jun": "Jun", + "datepicker.month.Jul": "Jul", + "datepicker.month.Aug": "Aug", + "datepicker.month.Sep": "Sep", + "datepicker.month.Oct": "Oct", + "datepicker.month.Nov": "Nov", + "datepicker.month.Dec": "Dec", + "datepicker.day.Sun": "Sun", + "datepicker.day.Mon": "Mon", + "datepicker.day.Tue": "Tue", + "datepicker.day.Wed": "Wed", + "datepicker.day.Thu": "Thur", + "datepicker.day.Fri": "Fri", + "datepicker.day.Sat": "Sat", + "COMMENT_gt.js": "", + "gt.gridView.live": "Live", + "gt.gridView.logbook": "Logbook", + "gt.gridView.logLive": "Logbook & Live", + "gt.viewInfo.qsoGrids": "Grids", + "gt.viewInfo.cqZones": "CQ Zones", + "gt.viewInfo.ituZones": "ITU Zones", + "gt.viewInfo.wacZones": "Continents", + "gt.viewInfo.wasZones": "US States", + "gt.viewInfo.worldGeoData": "DXCCs", + "gt.viewInfo.countyData": "US Counties", + "gt.viewInfo.us48Data": "US Continental Grids", + "gt.ignoreMessages.receive": "RECEIVE", + "gt.ignoremessages.ignore": "IGNORE", + "gt.timeoutSetUdpPort": "Waiting for msg...", + "gt.setUdpPort": "...setting...", + "gt.changeGridDecay": "No Decay", + "gt.spotTable.RXSpot": "RX Spot", + "gt.spotTable.Age": "Age", + "gt.spotTable.db": "dB", + "gt.spotTable.Call": "Call", + "gt.spottable.Dxcc": "DXCC", + "gt.spotTable.Grid": "Grid", + "gt.spotTable.Freq": "Freq", + "gt.spotTable.Band": "Band", + "gt.spotTable.Mode": "Mode", + "gt.newCallList.Call": "Call", + "gt.newCallList.Freq": "Freq", + "gt.newCallList.Sent": "Sent", + "gt.newCallList.Rcvd": "Rcvd", + "gt.newCallList.Station": "Station", + "gt.newCallList.Mode": "Mode", + "gt.newCallList.Band": "Band", + "gt.newCallList.QSL": "QSL", + "gt.newCallList.LastMsg": "Last Msg", + "gt.newCallList.DXCC": "DXCC", + "gt.newCallList.Time": "Time", + "gt.newCallList.LoTW": "LoTW", + "gt.newCallList.eQSL": "eQSL", + "gt.newCallList.OQRS": "OQRS", + "gt.TitleInfo.GridTracker": "GridTracker", + "gt.TitleInfo.Band": "Band:", + "gt.TitleInfo.Mode": "Mode:", + "gt.TitleInfo.Worked": "Worked", + "gt.TitleInfo.Confirmed": "Confirmed", + "gt.TitleInfo.Needed": "Needed", + "gt.moonOver.Moon": "Moon", + "gt.moonOver.Azimuth": "Azimuth", + "gt.moonOver.Elevation": "Elevation", + "gt.Trophy.CQZone": "CQ Zone", + "gt.Trohpy.ITUZone": "ITU Zone", + "gt.Trophy.WAC": "Continent", + "gt.Trohpy.WAS": "US State", + "gt.Trophy.DXCC": "DXCC", + "gt.Trophy.USC": "US County", + "gt.Trophy.US48": "US Continental Grids", + "gt.wcTable.Worked": "Worked", + "gt.wcTable.Band": "Band", + "gt.wcTable.Mode": "Mode", + "gt.wcTable.Confirmed": "confirmed", + "gt.wcTable.Needed": "Needed", + "gt.gridTable.Dist": "Dist", + "gt.gridTable.Azim": "Azim", + "gt.gridTable.Lat": "Lat", + "gt.gridTable.Long": "Long", + "gt.LighteningStrike.disclaimer": "Lighting Strike Detection is provided by Blitzortung.org\nWe are not responsible for missed strikes that could result in damage.\nBe sure to check your local weather providers for accurate data.", + "gt.UpdateCount.ClearLog": "Clear Log", + "gt.UpdateCount.LoadLog": "Load Logs", + "gt.CurrentBandMode.Band": "Mixed Bands", + "gt.CurrentBandMode.Mode": "Mixed Modes", + "gt.currentTime.never": "Never", + "gt.LighteningStrike.Global": "Global Strikes", + "gt.LighteningStrike.Changed": "Strike Distance Chagned", + "gt.LighteningStrike.Disabled": "Detection is not enabled!", + "gt.LighteningStrike.Detected": "Lighting Strike Detected!", + "gt.LighteningStrike.Distance": "Distance:", + "gt.LighteningStrike.Bearing": "Bearing:", + "gt.WSJTMessage.Generated": "Generated Msgs", + "gt.WSJTMessage.TransmitEnable": "Transmit Enabled!", + "gt.WSJTMessage.Decode": "DECODE", + "gt.WSJTMessage.DecodedMsg": "Decoded Messages", + "gt.WSJTMessage.Time": "Time", + "gt.WSJTMessage.dB": "dB", + "gt.WSJTMessage.DT": "DT", + "gt.WSJTMessage.Freq": "Freq", + "gt.WSJTMessage.Mode": "Mode", + "gt.WSJTMessage.Message": "Message", + "gt.WSJTMessage.DXCC": "DXCC", + "gt.WSJTMessage.Receive": "RECEIVE", + "gt.WSJTMessage.Transmit": "TRANSMIT", + "gt.importSettings.Corrupt": "Settings File Corrupt!", + "gt.importSettings.Mismatch": "Settings Version Mismatch!", + "gt.callsignBox.title": "Callsigns and DXCC Heard", + "gt.callsignBox.callsign": "Callsign", + "gt.callsignBox.Grid": "Grid", + "gt.callsignBox.DXCC": "DXCC", + "gt.callsignBox.CQ": "CQ", + "gt.callsignBox.ITU": "ITU", + "gt.callsignBox.Flag": "Flag", + "gt.callsignBox.QSO": "QSO", + "gt.callsignBox.QSL": "QSL", + "gt.callsignBox.When": "When", + "gt.callsignBox.LoTW": "LoTW", + "gt.callsignBox.eQSL": "eQSL", + "gt.callsignBox.OQRS": "OQRS", + "gt.callsignBox.Name": "Name", + "gt.callsignBox.Calls": "Calls", + "gt.qsoPage.head": "Entries", + "gt.qsoPage.Station": "Station", + "gt.qsoPage.Grid": "Grid", + "gt.qsoPage.Band": "Band", + "gt.qsoPage.Mode": "Mode", + "gt.qsoPage.QSL": "QSL", + "gt.qsoPage.DXCC": "DXCC", + "gt.qsoPage.Flag": "Flag", + "gt.qsoPage.When": "When", + "gt.qsoPage.LoTW": "LoTW", + "gt.qsoPage.eQSL": "eQSL", + "gt.qsoPage.OQRS": "OQRS", + "gt.dxccBox.Worked": "Worked", + "gt.dxccBox.Name": "Name", + "gt.dxccBox.Flag": "Flag", + "gt.dxccBox.DXCC": "DXCC", + "gt.dxccBox.Confirmed": "Confirmed", + "gt.dxccBox.Needed": "Needed", + "gt.CQZoneBox.Worked": "Worked CQ Zones", + "gt.ITUZoneBox.Worked": "Worked ITU Zones", + "gt.WASWACBox.WAC": "Worked All Continents", + "gt.WASWACBox.WAS": "Worked All States", + "gt.displayItemsList.Worked": "Worked", + "gt.displayItemsList.Confirmed": "Confirmed", + "gt.displayItemsList.Needed": "Needed", + "gt.WPXBox.worked": "Worked Prefixes", + "gt.WPXBox.confirmed": "Confirmed Prefixes", + "gt.statBox.Parsing": "...Parsing Log Entries...", + "gt.statBox.NoEntries": "No log entries available, load one or more ADIF logs", + "gt.typeNames.Mixed": "Mixed", + "gt.typeNames.Digital": "Digital", + "gt.typeNames.Phone": "Phone", + "gt.typeNames.CW": "CW", + "gt.typeNames.Other": "Other", + "gt.awardNames.WRFA": "Callsigns", + "gt.awardNames.Grid": "Grids", + "gt.awardNames.DXCC": "DXCCs", + "gt.awardNames.CQ": "CQ Zones", + "gt.awardNames.ITU": "ITU Zones", + "gt.awardNames.WAC": "Continents", + "gt.awardNames.WAS": "US States", + "gt.awardNames.USC": "US Counties", + "gt.awardNames.WPX": "Prefixes", + "gt.logbook.title": "Logbook", + "gt.logbook.callsign": "Callsign", + "gt.logbook.firstContact": "First Contact", + "gt.logbook.lastContact": "Last Contact", + "gt.logbook.topScore": "Top Score", + "gt.logbook.worked": "Worked", + "gt.logbook.confirmed": "Confirmed", + "gt.logbook.award": "Award", + "gt.score.LongDist": "Long Distance", + "gt.score.ShortDist": "Short Distance", + "gt.AwardTypes": "Award Types", + "gt.ModeTypes": "Mode Types", + "gt.Distances": "Distances", + "gt.LongestDist": "Longest Distance", + "gt.ShortestDist": "Shortest Distance", + "gt.GTUsers": "GT Users", + "gt.GTUsersOnline": "Worked GridTracker Stations
Online Now", + "gt.scorecardError": "Error Generating Stats
Please take a screenshot and send to team@gridtracker.org", + "gt.stationsTable.Call": "Call", + "gt.stationsTable.Grid": "Grid", + "gt.stationsTable.Sent": "Sent", + "gt.stationsTable.Rcvd": "Rcvd", + "gt.stationsTable.Mode": "Mode", + "gt.stationsTable.Band": "Band", + "gt.stationsTable.QSL": "QSL", + "gt.stationsTable.Comments": "Comments", + "gt.stationsTable.DXCC": "DXCC", + "gt.stationsTable.Time": "Time", + "gt.distanceTable.Worked": "Worked", + "gt.distanceTable.Confirmed": "Confirmed", + "gt.distanceTable.Bands": "Bands", + "gt.distanceTable.Modes": "Modes", + "gt.distanceTable.Types": "Types", + "gt.statTable.Worked": "Worked", + "gt.statTable.Confirmed": "Confirmed", + "gt.statTable.Bands": "Bands", + "gt.statTable.Modes": "Modes", + "gt.statTable.Types": "Types", + "gt.bandActivity.Score": "Score:", + "gt.bandActivity.Sptos": "Spots:", + "gt.bandActivity.Tx": "Tx:", + "gt.bandActivity.Rx": "Rx:", + "gt.bandActivity.NoData": "..no data yet..", + "gt.N1MMAlert": "N1MM Logger+ is enabled with same settings, disabled GridTracker N1MM logger", + "gt.NoLocationAlert": "Location not available!\nEither start WSJT-X/JTDX or enter your grid square in the settings", + "gt.validate.Valid": "Valid!", + "gt.validate.Invalid": "Invalid!", + "gt.NewVersion.Release": "New Version", + "gt.NewVersion.Beta": "New Beta Version", + "gt.newVersion.Text2": "available for download.
Go there now?", + "gt.GetVoices.title": "Select Voice", + "gt.GetAudioDev.title": "Select Sound Card", + "gt.SpotMaxAge": "Max Age:", + "gt.tqslPermissionError": "Unable to access LoTW TrustedQSL (TQSL) due to OS permissions\nLogging to LoTW disabled for this session\nRun as administrator or allow file access to GridTracker if problem persists", + "gt.startupTable.versionCheck": "Completed Version Check", + "gt.startupTable.loadi18n": "Loading Locales", + "gt.startupTable.qsoBackup": "QSO Backup Initialized", + "gt.startupTable.callsigns": "Callsign Services Initialized", + "gt.startupTable.mapSettings": "Map Settings Initialized", + "gt.startupTable.loadMap": "Loaded Map", + "gt.startupTable.setPins": "Created Pins", + "gt.startupTable.viewSettings": "Loaded View Settings", + "gt.startupTable.msgSettings": "Loaded Messaging Settings", + "gt.startupTable.fileSelectors": "Set File Selectors", + "gt.startupTable.newWindows": "Locked New Windows", + "gt.startupTable.maidenheadData": "Loaded Maidenhead Dataset", + "gt.startupTable.renderGrids": "Rendered All Maidenhead Grids", + "gt.startupTable.updateProcesses": "Updated Running Processes", + "gt.startupTable.updateINI": "Updated from WSJT-X/JTDX", + "gt.startupTable.loadADIF": "Loaded ADIF Settings", + "gt.startupTable.initButtons": "Buttons and Inputs Initialized", + "gt.startupTable.initSpeech": "Speech Initialized", + "gt.startupTable.initSounds": "Sounds Initialized", + "gt.startupTable.loadPorts": "Loaded Network Settings", + "gt.startupTable.loadLookup": "Callsign Lookup Details Loaded", + "gt.startupTable.eventTimers": "Set Events and Timers", + "gt.startupTable.regHotkeys": "Registered Hotkeys", + "gt.startupTable.initOams": "Chat System Initialized", + "gt.startupTable.loadPOTA": "Loading POTA Database", + "gt.startupTable.potaSpots": "Starting POTA Spots Pump", + "gt.startupTable.getAcks": "Contributor Acknowledgements Loaded", + "gt.startupTable.postInit": "Finalizing System", + "gt.init.starting": "Starting...", + "gt.startupEngine.completed": "Completed", + "gt.newMesg.Recvd": "Received from", + "gt.lookup.lookingUp1": "Looking up ", + "gt.lookup.lookingUp2": "please wait...", + "gt.callookDX1": "C A L L O O K
NO-NONSENSE AMATEUR RADIO U.S.A. CALLSIGN LOOKUPS
are limited to United States and United States Territories Only", + "gt.callookDX2": "The callsign", + "gt.callookDX3": "requested is from", + "gt.callookDX4": "You might want to consider using QRZ.com, they have a free membership that provides limited data for most callsigns", + "gt.callookDX5": "and they have full details available for paid members", + "gt.QRZhamQTH.valid": "Valid", + "gt.QRZhamQTH.invalid": "Invalid Response", + "gt.QRZhamQTH.error": "Unknown Error", + "gt.lookup.NoResult": "No result for callsign", + "gt.dbInit.error1": "Database error:", + "gt.dbInit.error2": ": GridTracker will have issues", + "gt.addLookup.Error": "Lookup Write Issue", + "gt.lookup.getAddress": "Click to copy address to clipboard", + "gt.lookup.details": "Details", + "gt.lookup.website": "Website", + "gt.lookup.biography": "Biography", + "gt.lookup.effectiveDates": "Effective Dates", + "gt.lookup.aliases": "Aliases", + "gt.lookup.distance": "Distance", + "gt.lookup.azmuth": "Azimuth", + "gt.lookup.cachedRecord": "Cached Record", + "gt.lookup.genMessages": "Generate Messages", + "gt.makeYesNo.yes": "Yes", + "gt.makeYesNo.no": "No", + "gt.lookup.acks": "GridTracker would like to acknowledge", + "gt.lookup.worked": "Worked", + "gt.lookup.confirmed": "Confirmed", + "gt.lookup.lastQSO": "Last QSO", + "gt.documents.error1": "Unable to create or access", + "gt.documents.error2": "folder.\r\nPermission violation, GT cannot continue", + "gt.spots.refreshing": "...refreshing...", + "gt.spots.noTX": "No recent TX", + "gt.spots.refresh": "Refresh:", + "gt.spots.count": "Spots:", + "gt.spots.maxAge": "Max Age:", + "gt.crScript.enabled": "Call Roster Script Enabled", + "gt.crScript.disabled": "Call Roster Script Disabled", + "gt.savedScreenshot": "Saved Screenshot", + "gt.screenshotFailed": "Screenshot write failed", + "COMMENT_gtws.js": "", + "gtws.corrupt": "Corrupt message received", + "gtws.awaySent": "Away message", + "COMMENT_roster.js": "", + "roster.process.Decode": "DECODE", + "roster.process.Receive": "RECEIVE", + "roster.process.Transmit": "TRANSMIT", + "roster.award.Select": "Select Award", + "roster.award.name": "Name", + "roster.award.Award": "Award", + "roster.award.Track": "Track", + "roster.award.ToggleTracking": "Toggle Tracking", + "roster.award.Remove": "Remove Tracker", + "roster.award.addName": "Select Award", + "roster.award.addSponsor": "Select Sponsor", + "roster.ignore.clearAll": "Clear All", + "roster.ignore.Callsigns": "Callsigns", + "roster.ignore.none": "none", + "roster.ignore.CQ": "CQ", + "roster.ignore.DXCCs": "DXCCs", + "roster.ignore.CQZones": "CQ Zones", + "roster.ignore.ITUZones": "ITU Zones", + "roster.menu.HideControls": "Hide Controls", + "roster.menu.ShowControls": "Show Controls", + "roster.menu.CompactMode": "Compact Mode", + "roster.menu.RosterMode": "Roster Modus", + "roster.menu.Lookup": "Nachschlagen", + "roster.menu.GenMesg": "WSJT-X befüllen", + "roster.menu.IgnoreCall": "Rufzeichen ignorieren", + "roster.menu.Realtime": "Echtzeit", + "roster.menu.MoveLeft": "Move Column Left", + "roster.menu.ClearCallIgnore": "Clear Call Ignore", + "roster.menu.ClearIgnore": "Clear Ignore", + "roster.menu.ClearCQFromDXCC": "Clear CQ from DXCC", + "roster.menu.ClearCQFromAll": "Clear CQ from All", + "roster.menu.ClearCQIgnore": "Clear CQ Ignore", + "roster.menu.EditIgnores": "Edit Ignores", + "roster.menu.IgnoreCQZone": "Ignore CQ Zone", + "roster.menu.ClearCQZoneIgnore": "Clear CQ Zone Ignore", + "roster.menu.IgnoreITUZone": "Ignore ITU Zone", + "roster.menu.ClearITUZoneIgnore": "Clear ITU Zone Ignore", + "roster.menu.IgnoreDXCC": "Ignore DXCC", + "roster.menu.ClearDXCCIgnore": "Clear DXCC Ignore", + "roster.AwardTypes.IOTA": "Islands On The Air", + "roster.AwardTypes.call": "Callsign", + "roster.AwardTypes.callarea": "Call Area", + "roster.AwardTypes.calls2dxcc": "Stations per DXCC", + "roster.AwardTypes.cnty": "County", + "roster.AwardTypes.cont": "Countinents", + "roster.AwardTypes.cont5": "5 Continents", + "roster.AwardTypes.cont52band": "5 Continents per Band", + "roster.AwardTypes.cqz": "CQ Zone", + "roster.AwardTypes.dxcc": "DXCC", + "roster.AwardTypes.grids": "Grids", + "roster.AwradTypes.numsfx": "Call Area + Suffix", + "roster.AwardTypes.px": "Prefix", + "roster.AwardTypes.pxa": "Prefixes", + "roster.AwardTypes.pxplus": "Special Calls", + "roster.AwardTypes.sfx": "Suffix", + "roster.AwardTypes.states": "States", + "roster.AwardTypes.cont2band": "Continents per Band", + "roster.AwardTypes.calls2band": "Stations per Band", + "roster.AwardTypes.dxcc2band": "DXCC per Band", + "roster.AwardTypes.states2band": "States per Band", + "COMMENT_stats.js": "", + "stats.Validate.Valid": "Valid!", + "stats.Validate.Invalid": "Invalid!", + "COMMENT_processRosterFiltering.js": "", + "rosterFilter.POTA.Unknown": "Unknown Park", + "COMMENT_rosterColumns.js": "", + "rosterColumns.County.title": "ZIP Code matches multiple counties, click to do a full lookup", + "rosterColumns.LoTW.NoUpdate": "Has not updated a QSO in", + "rosterColumns.LoTW.LastUpdate": "Last Upload ", + "rosterColumns.OAMS.user": "Off-Air Message User", + "rosterColumns.Wanted.cont": "Continent", + "rosterColumns.Wanted.cqz": "CQ Zone", + "rosterColumns.Wanted.ituz": "ITU Zone", + "rosterColumns.Wanted.dxcc": "DXCC", + "rosterColumns.Wanted.dxccMarathon": "Marathon DXCC", + "rosterColumns.Wanted.cqzMarathon": "Marathon CQ Zone", + "rosterColumns.Wanted.state": "State", + "rosterColumns.Wanted.grid": "Grid", + "rosterColumns.Wanted.cnty": "County", + "rosterColumns.Wanted.wpx": "WPX", + "rosterColumns.Wanted.call": "Call", + "rosterColumns.Wanted.oams": "OAMS", + "rosterColumns.Wanted.pota": "POTA", + "COMMENT_sendAlerts.js": "", + "sendAlerts.scriptEnabled": "Script Enabled", + "sendAlerts.scriptDisabled": "Script Disabled" } \ No newline at end of file diff --git a/package.nw/i18n/en.json b/package.nw/i18n/en.json index f87f268..d8ebe41 100644 --- a/package.nw/i18n/en.json +++ b/package.nw/i18n/en.json @@ -621,7 +621,7 @@ "alerts.callsign.speech": "Callsign", "alerts.callsign.popup": "Seeking", "alerts.gridsquare.speech": "Grid square", - "alerts.gridsquare.popup": "Gridsquare", + "alerts.gridsquare.popup": "Grid square", "alerts.QRZ.speech": "Calling", "alerts.QRZ.popup": "QRZ", "alerts.AlertPop.Type": "Type", diff --git a/package.nw/lib/alerts.js b/package.nw/lib/alerts.js index 594b9d6..27e5666 100644 --- a/package.nw/lib/alerts.js +++ b/package.nw/lib/alerts.js @@ -357,7 +357,7 @@ function addNewAlert() if (alertMediaSelect.value == "none") { valid = false; - error = "Select File!"; + error = $.i18n("alerts.addNew.SelectFile"); } else { diff --git a/package.nw/lib/gt.js b/package.nw/lib/gt.js index 46a1291..d77c247 100644 --- a/package.nw/lib/gt.js +++ b/package.nw/lib/gt.js @@ -2580,6 +2580,14 @@ function openCallRosterWindow(show = true) }); } ); + try + { + g_callRosterWindowHandle.window.renderI18n(g_appSettings.locale); + } + catch (e) + { + console.error(e); + } lockNewWindows(); } else @@ -2600,6 +2608,7 @@ function openCallRosterWindow(show = true) g_callRosterWindowHandle.window.saveScreenSettings(); g_callRosterWindowHandle.hide(); } + g_callRosterWindowHandle.window.renderI18n(g_appSettings.locale); } catch (e) { @@ -13683,6 +13692,21 @@ function postInit() function renderI18n() { $("body").i18n(); + // render call roster window strings + if (g_callRosterWindowHandle) + { + try + { + g_callRosterWindowHandle.window.close(); + g_callRosterWindowHandle = null; + openCallRosterWindow(false); + } + catch (e) + { + console.error(e); + } + } + } function changeLocale() diff --git a/package.nw/lib/roster.js b/package.nw/lib/roster.js index c1508ad..7ac5690 100644 --- a/package.nw/lib/roster.js +++ b/package.nw/lib/roster.js @@ -1528,14 +1528,15 @@ function init() lockNewWindows(); - if (window.opener.g_mapSettings.offlineMode == false) - { + loadi18n(); + + if (window.opener.g_mapSettings.offlineMode == false) { getBuffer( - "https://storage.googleapis.com/gt_app/callsigns/manifest.json", - manifestResult, - null, - "http", - 80 + "https://storage.googleapis.com/gt_app/callsigns/manifest.json", + manifestResult, + null, + "http", + 80 ); } @@ -1549,6 +1550,10 @@ function init() { document.getElementById(key).checked = g_rosterSettings.wanted[key]; } } +} + +function addControls() { + g_menu = new nw.Menu(); g_compactMenu = new nw.Menu(); @@ -1614,7 +1619,7 @@ function init() item = new nw.MenuItem({ type: "normal", - label: "Roster Mode", + label: $.i18n( "roster.menu.RosterMode"), click: function () { g_rosterSettings.compact = false; @@ -1628,7 +1633,7 @@ function init() item = new nw.MenuItem({ type: "normal", - label: "Lookup", + label: $.i18n("roster.menu.Lookup"), click: function () { callLookup(g_targetHash, ""); @@ -1639,7 +1644,7 @@ function init() item = new nw.MenuItem({ type: "normal", - label: "Gen Msgs", + label: $.i18n("roster.menu.GenMesg"), click: function () { callGenMessage(g_targetHash, ""); @@ -1654,7 +1659,7 @@ function init() item = new nw.MenuItem({ type: "normal", - label: "Ignore Call", + label: $.i18n("roster.menu.IgnoreCall"), click: function () { let thisCall = callRoster[g_targetHash].DEcall; @@ -1670,7 +1675,7 @@ function init() item = new nw.MenuItem({ type: "normal", - label: "Lookup", + label: $.i18n("roster.menu.Lookup"), click: function () { callingLookup(g_targetHash, ""); @@ -1681,7 +1686,7 @@ function init() item = new nw.MenuItem({ type: "normal", - label: "Gen Msgs", + label: $.i18n("roster.menu.GenMesg"), click: function () { callingGenMessage(g_targetHash, ""); @@ -3481,3 +3486,27 @@ function listShortInstances() } return shortInstances; } + + +function loadi18n() +{ + console.log("load i18n"); + $.i18n().load( + { + en: "i18n/en.json", + es: "i18n/es.json", + cn: "i18n/cn.json", + de: "i18n/de.json" + }).done(function () { + renderI18n('de'); + addControls(); + }); +} + + +function renderI18n(locale) +{ + console.log("render i18n"); + $.i18n().locale = locale; + $("body").i18n(); +} \ No newline at end of file