mirror of
https://github.com/praktimarc/kst4contest.git
synced 2026-11-12 07:42:27 +01:00
Speak the operator's language
The interface is German or English, chosen per operator profile on the GUI tab, in force at once in every open window, and remembered across restarts. 376 texts in both languages. The texts are ordinary .properties files that nobody has to compile: a contributor copies the English one, translates the values, and opens a pull request. A third module -- build tooling that never ships -- turns them into Kotlin before anything compiles, which is what makes a mistyped key and a wrong argument count compile errors rather than things an operator discovers. It lives in the main build rather than buildSrc because buildSrc's tests do not run on `./gradlew build`, measured, and a generator whose tests never run is the exact failure it exists to prevent. Incompleteness is allowed and incorrectness is not. A missing key warns and falls back to English, so a partial contributed language can be submitted at all; an orphan key, a placeholder the translation drops, a duplicate key or an unreadable file fail the build with the generator's own message naming the file. The argument count always comes from the English base. German is held complete by a test because it ships; a contributed language is not. What is deliberately not translated is the harder half. Protocol frames and chat commands would break the connection or go unread; the beacon texts, auto answers, snippets and shortcuts go to other radio amateurs and sit in every operator's stored profile; the 273 println calls in core are diagnostics, and a German stack trace is worse for whoever reads the bug report; and QRA, QRG, QTF, LOS, Fresnel and wkd read the same in either language. Three tests guard the boundary by measuring behaviour rather than text: the protocol frames built under three locales, every preference default compared by reflection, and no translation value being a protocol command. The reflective one is the only one that covers what nobody thought of. One insight turned up three times. Anything built outside a composition freezes the language it was built in: the window title, the settings tab strip and every column header are all constructed once at startup -- the columns from Java -- so each now holds a function read when it is drawn. That also fixed something older and unrelated to language: the main window's title was a fixed "KST4Contest (Compose)" for the whole session, where the JavaFX window had carried the live connection line. It carries it again. A column's id is never translated. It is what the remembered widths and order are keyed on.
This commit is contained in:
85 files changed
+3552
-508
No files matched your search
@@ -0,0 +1,377 @@
|
||||
# German. Held complete by a test, because this is a shipped language.
|
||||
airscout.applyHint=Serverkennung, Clientkennung und Frequenzmodus wirken sofort. Nach einer Änderung des UDP-Ports neu verbinden.
|
||||
airscout.automaticFrequency=AirScout-Frequenz je Station automatisch wählen
|
||||
airscout.automaticHint=Die automatische Wahl nimmt zuerst die aktuelle QRG der Station, dann Hinweise aus Stationsname und Chat-Kategorie. Nur abschalten, um für jede Station einen festen Protokollwert zu erzwingen.
|
||||
airscout.clientIdentifier=KST4Contest-Clientkennung [KST]:
|
||||
airscout.enabled=AirScout-UDP-Anbindung aktivieren (AirScout 0.9.9.5 oder neuer)
|
||||
airscout.forcedBand=Fester AirScout-Bandwert [1440000 = 144 MHz]:
|
||||
airscout.frequencySection=Abgefragte Frequenz
|
||||
airscout.serverIdentifier=AirScout-Serverkennung [AS]:
|
||||
airscout.udpPort=AirScout-UDP-Port [9872] — nach Änderung neu verbinden:
|
||||
airscout.udpSection=AirScout-UDP-Kommunikation
|
||||
alert.ok=OK
|
||||
beacon.enabled=Die Bake in dieser Kategorie senden
|
||||
beacon.intervalMinutes=Abstand in ganzen Minuten
|
||||
beacon.intervalSection=Gemeinsamer Abstand
|
||||
beacon.message=Bakentext
|
||||
beacon.sectionFor=CQ-Bake für {0}
|
||||
connection.connect=Verbinden
|
||||
connection.connectTo=Mit {0} verbinden
|
||||
connection.disconnect=Trennen
|
||||
connection.disconnectAndCloseChat=Trennen & Chat schließen
|
||||
dialog.cancel=Abbrechen
|
||||
dialog.ok=OK
|
||||
gui.bandColumnHints=Hinweise in den Bandspalten
|
||||
gui.language=Sprache
|
||||
gui.language.system=Systemsprache
|
||||
gui.startupDesign=Design beim Start
|
||||
gui.startupFilters=Beim Start aktive Nachrichtenfilter
|
||||
logSynch.fileChooserTitle=Nur-Lese-Loginterpreter-Datei wählen
|
||||
logSynch.fileEnabled=Gearbeitete Rufzeichen regelmäßig aus einer Logdatei lesen (ohne Bandangabe)
|
||||
logSynch.fileLabel=Zu überwachende Logdatei:
|
||||
logSynch.fileSection=Dateiabfrage für gearbeitete Rufzeichen
|
||||
logSynch.networkEnabled=QSO-Nachrichten von N1MM+, QARTEST, UCXLog und DXLog.net verarbeiten
|
||||
logSynch.networkSection=Netzbasierter QSO-Abgleich (N1MM/QARTEST/UCXLog/DXLog)
|
||||
logSynch.sharedPort=Gemeinsamer UDP-Port für QSO- und TRX-Nachrichten [Vorgabe 12060]:
|
||||
logSynch.winTestBroadcast=UDP-Broadcast-Adresse für Win-Test (Vorgabe = Broadcast der Internetschnittstelle)
|
||||
logSynch.winTestEnabled=Win-Test-UDP-Lognachrichten aus dem Netz empfangen
|
||||
logSynch.winTestHint=Die Broadcast-Adresse wird einmal ermittelt, solange sie noch {0} ist. Eine Portänderung wirkt auf den laufenden Empfänger, sobald das Feld den Fokus verliert.
|
||||
logSynch.winTestPort=UDP-Port für den Win-Test-Empfänger (Vorgabe ist 9871)
|
||||
logSynch.winTestSection=Win-Test-Netzwerkempfänger
|
||||
logSynch.winTestStationName=KST-Stationsname im Win-Test-Netz (Quelle der SKED-Pakete)
|
||||
menu.about=Über...
|
||||
menu.contactAuthor=Den Autor per Standard-Mailprogramm anschreiben
|
||||
menu.disconnect=Trennen
|
||||
menu.donateOv3t=OV3Ts Flugzeug-Datendienst unterstützen
|
||||
menu.donatePayPal=Entwicklung von kst4Contest per PayPal unterstützen
|
||||
menu.exitAndDisconnect=Beenden + trennen
|
||||
menu.file=Datei
|
||||
menu.hideMonitor=Cluster- / Fremd-QSOs ausblenden
|
||||
menu.hideOptions=Optionen ausblenden
|
||||
menu.homepage=DARC-X08-Homepage besuchen
|
||||
menu.info=Info
|
||||
menu.newsgroup=kst4Contest-Newsgroup beitreten
|
||||
menu.options=Optionen
|
||||
menu.setQrgAsNameInChat=QRG als Namen im Chat setzen (Hauptkategorie)
|
||||
menu.showMeAsActive=Mich als AKTIV im Chat zeigen!
|
||||
menu.showMeAsAway=Mich als ABWESEND vom Chat zeigen!
|
||||
menu.showMonitor=Cluster- / Fremd-QSOs anzeigen
|
||||
menu.showOptions=Optionen anzeigen
|
||||
menu.switchOperatorProfile=Operatorprofil wechseln...
|
||||
menu.toggleStationMap=Stationskarte ein-/ausblenden
|
||||
menu.useDarkDesign=Abenddesign verwenden
|
||||
menu.useDefaultDesign=Tagdesign verwenden
|
||||
menu.windows=Fenster
|
||||
messageHandling.autoAnswerEnabled=Privatnachrichten automatisch beantworten
|
||||
messageHandling.autoAnswerSection=Automatische Antwort auf Privatnachrichten
|
||||
messageHandling.autoAnswerText=Antworttext
|
||||
messageHandling.qrgAnswerEnabled=Eine QRG-Anfrage mit der aktuellen Frequenz beantworten
|
||||
messageHandling.qrgAnswerSection=Automatische Antwort auf eine QRG-Anfrage
|
||||
notification.addCallsignToList=Ein Rufzeichen zur Überwachungsliste hinzufügen
|
||||
notification.addMonitored=Überwachtes Rufzeichen hinzufügen
|
||||
notification.bandUpgradeHint=Auf einen möglichen Bandwechsel hinweisen, wenn ein QSO geloggt wird
|
||||
notification.bandUpgradePriority=Die Priorität einer Station mit möglichem Bandwechsel anheben
|
||||
notification.bandUpgradeSection=Hinweise auf Bandwechsel
|
||||
notification.callsign=Rufzeichen
|
||||
notification.clusterEnabled=Den DX-Cluster-Server betreiben
|
||||
notification.clusterPort=TCP-Port
|
||||
notification.clusterSection=Lokaler DX-Cluster-Server
|
||||
notification.cwCallsign=Das Rufzeichen bei einer empfangenen Privatnachricht in CW geben
|
||||
notification.fallbackBand=Ersatzband für ein Spot ohne Bandangabe
|
||||
notification.monitoringSection=QSO-Überwachung
|
||||
notification.sendTestSpot=Ein Testspot senden
|
||||
notification.simpleSounds=Einfache Töne abspielen
|
||||
notification.soundsSection=Töne
|
||||
notification.speakCallsign=Das Rufzeichen bei einer empfangenen Privatnachricht ansagen
|
||||
notification.spotterCallsign=Spotter-Rufzeichen
|
||||
settings.applyAndClose=Übernehmen/Schließen
|
||||
settings.save=Einstellungen speichern
|
||||
shortcuts.addButton=Kurztaste hinzufügen
|
||||
shortcuts.addSnippet=Neuen Textbaustein hinzufügen
|
||||
shortcuts.buttonsSection=Kurztastenknöpfe über dem Nachrichtenfeld
|
||||
shortcuts.snippetsSection=Textbausteine (die ersten 10 über Strg+1 bis Strg+0)
|
||||
station.bandsSection=Aktive Bänder
|
||||
station.beamWidth=Öffnungswinkel der Antenne, Grad
|
||||
station.callsign=Rufzeichen
|
||||
station.chatSection=Chat-Kategorie
|
||||
station.defaultsSection=Vorgaben
|
||||
station.demDirectory=DEM-Stammverzeichnis
|
||||
station.locator=Locator
|
||||
station.mainCategory=Hauptkategorie
|
||||
station.maxQrb=Maximaler QRB
|
||||
station.nameMain=Name, Hauptkategorie
|
||||
station.nameSecond=Name, zweite Kategorie
|
||||
station.ownAntennaGain=Eigener Antennengewinn, dBi
|
||||
station.ownAntennaHeight=Eigene Antennenhöhe, Meter
|
||||
station.ownSection=Eigene Station
|
||||
station.ownTxPower=Eigene Sendeleistung, Watt
|
||||
station.password=Passwort
|
||||
station.pathSection=Vorgaben für die Streckenanalyse
|
||||
station.qtf=QTF
|
||||
station.rotatorEnabled=Rotorabgleich aktiv
|
||||
station.rotatorHost=Rotor-Host
|
||||
station.rotatorPort=Rotor-Port
|
||||
station.rotatorSection=PSTRotator
|
||||
station.secondCategory=Zweite Kategorie
|
||||
station.secondChatEnabled=2. Chat: in einer zweiten Kategorie anmelden
|
||||
station.serverHost=Servername
|
||||
station.serverPort=Serverport
|
||||
station.serverSection=ON4KST-Server
|
||||
station.targetAntennaGain=Antennengewinn der Gegenstation, dBi
|
||||
station.targetTxPower=Sendeleistung der Gegenstation, Watt
|
||||
trxSynch.hint=Eine aktivierte Quelle erzeugt von sich aus keine Frequenz. Die eigene QRG wird erst aktualisiert, wenn tatsächlich gültige RadioInfo- oder Win-Test-STATUS-Daten eintreffen; bis dahin bleibt sie so, wie sie von Hand eingetragen wurde.
|
||||
trxSynch.hintSection=Was eine aktivierte Quelle bewirkt
|
||||
trxSynch.ucxEnabled=MYQRG aus RadioInfo-Nachrichten auf dem gemeinsamen Log-Sync-Port aktualisieren
|
||||
trxSynch.ucxSection=UCXLog-TRX-Infos empfangen
|
||||
trxSynch.winTestEnabled=Win-Test-STATUS-QRG-Abgleich (aktualisiert die eigene QRG aus der Win-Test-Transceiverfrequenz)
|
||||
trxSynch.winTestPassFrequency=Durchgangsfrequenz aus Win-Test-STATUS verwenden (statt der eigenen QRG)
|
||||
trxSynch.winTestSection=Win-Test-TRX-Abgleich
|
||||
trxSynch.winTestStationFilter=Win-Test-Stationsnamenfilter (z. B. STN1, leer = alle annehmen)
|
||||
worked.empty=Die Datenbank enthält keine Rufzeichen.
|
||||
worked.expiryHint=Worked-, NOT-QRV- und Feldangaben verfallen nach drei Tagen von selbst. Ein Zurücksetzen vor jedem Contest ist normalerweise nicht nötig.
|
||||
worked.lastResetAffected=Das letzte Zurücksetzen betraf {0} Zeilen.
|
||||
worked.refresh=Datenbank neu einlesen
|
||||
worked.reset=Worked-, NOT-QRV- und Feldangaben zurücksetzen...
|
||||
worked.resetConfirm=Daten zurücksetzen
|
||||
worked.resetDialogBody=Alle Worked-, NOT-QRV- und Feldangaben zurücksetzen?\n\nDas löscht jede contestbezogene Markierung in der internen Datenbank. Vor jedem Contest ist das normalerweise nicht nötig, weil diese Angaben nach drei Tagen verfallen.
|
||||
worked.resetDialogTitle=Contestdaten zurücksetzen
|
||||
worked.resetFailed=Die Contestdaten konnten nicht zurückgesetzt werden. Die interne Datenbank ist möglicherweise nicht erreichbar oder inkonsistent. Es wurde kein erfolgreiches Zurücksetzen bestätigt.
|
||||
worked.section=Datenbank gearbeiteter Stationen
|
||||
tab.station=Station
|
||||
tab.logSynch=Log-Abgleich
|
||||
tab.trxSynch=TRX-Abgleich
|
||||
tab.airscout=Airscout
|
||||
tab.notification=Hinweise
|
||||
tab.shortcuts=Kurztasten
|
||||
tab.beacon=Bake
|
||||
tab.messageHandling=Nachrichten
|
||||
tab.workedDatabase=Worked-Datenbank
|
||||
tab.gui=GUI
|
||||
tab.profiles=Profile
|
||||
tab.colours=Farben
|
||||
settings.categoryMainFallback=Haupt-Chat-Kategorie
|
||||
settings.categorySecondFallback=Zweite Chat-Kategorie
|
||||
settings.spotNeedsConnection=Zuerst KST4Contest verbinden und den lokalen DX-Cluster-Server einschalten.
|
||||
settings.spotNoClient=Es ist kein DX-Cluster-Client mit KST4Contest verbunden.
|
||||
settings.spotNotDelivered=Das Testspot konnte nicht zugestellt werden.
|
||||
settings.writeFailed=Die Konfigurationsdatei konnte nicht geschrieben werden. Die Einstellungen bleiben für diese Sitzung aktiv.
|
||||
settings.writtenTo=Die Einstellungen sind als Vorgabe in der XML-Konfigurationsdatei gespeichert:\n{0}
|
||||
profiles.active=Aktives Profil:
|
||||
profiles.settingsFile=Einstellungsdatei:
|
||||
profiles.workedStations=Gearbeitete Stationen:
|
||||
profiles.new=Neues Profil...
|
||||
profiles.duplicate=Duplizieren...
|
||||
profiles.rename=Umbenennen...
|
||||
profiles.delete=Löschen...
|
||||
profiles.changeWorked=Gearbeitete Stationen ändern...
|
||||
profiles.switchTo=Zum gewählten Profil wechseln...
|
||||
profiles.explanation=Jedes Profil hat eigene Einstellungen und ein eigenes Fensterlayout. Ein Profil kann entweder die gemeinsamen gearbeiteten Stationen der Station mitbenutzen — was eine Mehrmann-Station will — oder eigene führen. Beim Duplizieren wird alles übernommen außer Rufzeichen und Passwort, und gearbeitete Stationen nie.
|
||||
profiles.dialogTitle=Operatorprofile
|
||||
profiles.none=Kein Operatorprofil eingerichtet.
|
||||
profiles.columnProfile=Profil
|
||||
profiles.columnWorked=Gearbeitete Stationen
|
||||
profiles.columnLastUsed=Zuletzt benutzt
|
||||
profiles.inUse= (in Benutzung)
|
||||
profiles.newTitle=Neues Operatorprofil
|
||||
profiles.newBody=Name und gearbeitete Stationen des neuen Profils
|
||||
profiles.nameLabel=Profilname, zum Beispiel DN9APW
|
||||
profiles.create=Profil anlegen
|
||||
profiles.duplicateTitle=Operatorprofil duplizieren
|
||||
profiles.duplicateBody=Name des neuen Profils
|
||||
profiles.duplicateHint=Alles wird übernommen außer Rufzeichen und Passwort. Gearbeitete Stationen werden nie kopiert.
|
||||
profiles.renameTitle=Operatorprofil umbenennen
|
||||
profiles.renameBody=Neuer Name des Profils
|
||||
profiles.renameHint=Dateien und Ordner des Profils werden nicht angefasst.
|
||||
profiles.deleteTitle=Operatorprofil löschen
|
||||
profiles.deleteBody=Das Profil "{0}" löschen?
|
||||
profiles.deleteConfirm=Profil löschen
|
||||
profiles.workedTitle=Gearbeitete Stationen
|
||||
profiles.workedBody=Gearbeitete Stationen von "{0}"
|
||||
profiles.workedHint=Das Umschalten verschiebt keine Daten. Bereits unter der anderen Einstellung gesammelte gearbeitete Stationen bleiben, wo sie sind.
|
||||
colours.section=Farben dieses Entwurfs
|
||||
colours.roleWithSource={0} ({1})
|
||||
colours.readabilitySection=Lesbarkeit
|
||||
colours.warning={0} liest sich jetzt mit {1} zu 1, wo dieser Entwurf {2} zu 1 ausliefert.
|
||||
colours.warningKept=Die Farben werden trotzdem behalten — eine harte Kombination kann gewollt sein.
|
||||
colours.keepingSection=Diese Farben behalten
|
||||
colours.keepingHint=Eine Farbe gilt sofort und überall. Den Neustart überlebt sie erst, wenn „Einstellungen speichern" gedrückt wurde.
|
||||
colours.waysBackSection=Wege zurück
|
||||
colours.backToPrevious=Zurück zum Stand von vorher ({0})
|
||||
colours.discardChanges=Meine Änderungen verwerfen ({0})
|
||||
colours.resetToShipped=Auf Auslieferung zurücksetzen ({0})
|
||||
colours.fileSection=Die Stilvorlage von Hand bearbeiten
|
||||
colours.fileReads=Dieser Entwurf liest {0}. Eine oben gesetzte Farbe überstimmt für diese Rolle, was die Datei sagt.
|
||||
colours.fileAbsent=Dieser Entwurf hat keine eigene Stilvorlage. Eine kann als Ausgangspunkt nach {0} geschrieben werden.
|
||||
colours.exportButton=Die Stilvorlage dieses Entwurfs in mein Profil schreiben
|
||||
colours.exportWritten=Nach {0} geschrieben. Bearbeiten und neu starten, um das Ergebnis zu sehen.
|
||||
colours.exportAlreadyThere={0} ist schon vorhanden und wurde nicht angefasst.
|
||||
colours.exportFailed=Die Stilvorlage konnte nicht geschrieben werden: {0}
|
||||
colours.sourceShipped=Auslieferung
|
||||
colours.sourceFile=Datei
|
||||
colours.sourceChanged=geändert
|
||||
colours.roleSurface=Fläche (Menüzeile, ausgewählte Zeilen)
|
||||
colours.roleWindowSurface=Fensterfläche (die Fenster selbst)
|
||||
colours.roleFieldInterior=Feldinneres (Felder, Listen, Knöpfe)
|
||||
colours.roleText=Text
|
||||
colours.roleAccent=Akzent
|
||||
colours.roleSeparator=Trennlinie
|
||||
colours.notAColour='{0}' ist keine Farbe. Sechs Hexadezimalziffern mit führendem Rautezeichen, zum Beispiel #3C7A4B. {1} bleibt unverändert.
|
||||
column.callsign=Rufzeichen
|
||||
column.name=Name
|
||||
column.message=Nachricht
|
||||
column.time=Zeit
|
||||
column.lastQrgRx=Letzte QRG RX
|
||||
column.lastQrgTx=Letzte QRG TX
|
||||
filter.find=Suchen...
|
||||
filter.reset=Filter zurücksetzen
|
||||
filter.showOnlyQrb=Nur QRB [km] <=
|
||||
filter.showOnlyQtf=Nur QTF:
|
||||
filter.hideWorked=Gearbeitete ausblenden:
|
||||
filter.inactiveStations=Inaktive Stationen
|
||||
filter.onlyNewGrids=Nur neue Felder
|
||||
filter.gridColour=Feldfarbe
|
||||
filter.newBands=Neue Bänder
|
||||
filter.tropo=Tropo >=0dB
|
||||
selected.none=Keine Station gewählt.
|
||||
selected.priority=Priorität:
|
||||
selected.more=mehr
|
||||
selected.showMessages=Nachrichten zeigen
|
||||
selected.createSked=Sked anlegen
|
||||
selected.sked=Sked
|
||||
selected.skedInMinutes=Sked in (Min.)
|
||||
selected.skedFail=Sked fehlgeschlagen
|
||||
selected.remindPmIn=Erinnerungs-PM in
|
||||
selected.reminderOffsets=Erinnerungsabstände
|
||||
selected.resetFail=Zurücksetzen fehlgeschlagen
|
||||
selected.tagNotQrv=Als NOT QRV markieren
|
||||
selected.band=Band
|
||||
selected.mode=Mode
|
||||
selected.lookUpAndShow=Nachschlagen und zeigen
|
||||
selected.lookupQrz=Auf qrz.com nachschlagen
|
||||
selected.lookupQrzcq=Auf qrzcq.com nachschlagen
|
||||
selected.showPathInAs=Strecke in AS zeigen
|
||||
selected.lastActivity=Letzte Aktivität: {0} (vor {1} Min.)
|
||||
candidates.title=Stationen mit höchster Priorität
|
||||
candidates.none=Noch keine Kandidaten.
|
||||
candidates.doubleClick=Doppelklick auf einen Kandidaten wählt ihn aus.
|
||||
update.title=Aktualisierungsinformationen
|
||||
update.available=Aktualisierung verfügbar!
|
||||
update.installedVersion=Installierte Version:
|
||||
update.latestVersion=Neueste stabile Version:
|
||||
update.mainChanges=Wesentliche Änderungen:
|
||||
update.additionalInformation=Weitere Informationen:
|
||||
update.download=Herunterladen:
|
||||
update.openReleasePage=Release-Seite öffnen
|
||||
update.changeLog=Änderungsprotokoll
|
||||
update.knownBugs=Bekannte Fehler
|
||||
update.versions=Versionen
|
||||
map.title=Stationskarte
|
||||
map.tab=Karte
|
||||
map.resetView=Ansicht zurücksetzen
|
||||
map.groupNearby=Nahe Stationen gruppieren
|
||||
map.triggerClusterSpot=Cluster-Spot auslösen
|
||||
map.showPathAnalysis=Streckenanalyse zeigen
|
||||
map.hidePathAnalysis=Streckenanalyse ausblenden
|
||||
map.pathAnalysisHidden=Die Streckenanalyse ist ausgeblendet.
|
||||
map.tilesUnavailable=Kartenkacheln nicht verfügbar — die Netzverbindung prüfen.
|
||||
path.title=Strecken- und Geländeanalyse
|
||||
path.selectStation=Eine Station wählen, um Strecken- und Geländeanalyse vorzubereiten.
|
||||
path.fromLocator=Vom Locator:
|
||||
path.toLocator=Zum Locator:
|
||||
path.endpoints=Endpunkte:
|
||||
path.distanceQtf=Entfernung/QTF:
|
||||
path.frequency=Frequenz:
|
||||
path.status=Status:
|
||||
path.source=Quelle:
|
||||
path.los=LOS:
|
||||
path.fresnel=Fresnel:
|
||||
path.obstruction=Hindernis:
|
||||
path.radioHorizon=Funkhorizont:
|
||||
path.terrainHorizon=Geländehorizont:
|
||||
path.refraction=Refraktion:
|
||||
path.mechanisms=Mechanismen:
|
||||
path.assessment=Bewertung:
|
||||
path.linkBudget=Streckenbilanz:
|
||||
path.rxPower=Empfangsleistung:
|
||||
path.cwHint=CW-Hinweis:
|
||||
chart.noSamples=Keine Profilpunkte verfügbar.
|
||||
chart.distanceAxis=Entfernung [km]
|
||||
chart.heightAxis=Höhe [m]
|
||||
chart.legend=Legende:
|
||||
chart.terrain=Gelände
|
||||
chart.los=LOS
|
||||
chart.fresnel=Fresnel
|
||||
chart.critical=Kritisch
|
||||
chart.diffraction=Beugung
|
||||
chart.home=Eigene
|
||||
chart.radioHorizonShort=Funkhor.
|
||||
chart.terrainHorizonShort=Geländehor.
|
||||
chart.homeRadioHorizon=Eigener Funkhorizont
|
||||
chart.homeTerrainHorizon=Eigener Geländehorizont
|
||||
chart.dxRadioHorizon=Funkhorizont der Gegenstation
|
||||
chart.dxTerrainHorizon=Geländehorizont der Gegenstation
|
||||
chart.frequency=f = {0} MHz
|
||||
chart.criticalFresnel=Kritischer Punkt: Fresnel-Eingriff {0} m bei {1} km
|
||||
chart.criticalLos=Kritischer Punkt: LOS-Freiraum {0} m bei {1} km
|
||||
chart.diffractionCandidate=Beugungskandidat {0} km, KE ≈ {1} dB
|
||||
title.connectionLost=VERBINDUNG VERLOREN – neuer Versuch eingeplant
|
||||
title.connecting=Verbindung zu ON4KST wird aufgebaut…
|
||||
title.authenticating=Verbunden – Anmeldung bei ON4KST läuft…
|
||||
title.synchronizing=Verbunden – ON4KST-Chatdaten werden abgeglichen…
|
||||
title.disconnected=NICHT VERBUNDEN!
|
||||
status.noConnection=Keine ON4KST-Verbindung
|
||||
status.linkTooltip=ON4KST-Verbindung: {0}\n{1}
|
||||
status.linkConnected=🟢 LINK: Verbunden
|
||||
status.linkConnecting=🟡 LINK: Verbindet…
|
||||
status.linkDisconnecting=🟡 LINK: Trennt…
|
||||
status.linkReconnecting=🔴 LINK: Verbindet neu…
|
||||
status.linkDisconnected=🔴 LINK: Nicht verbunden
|
||||
picker.title=Operatorprofil wählen
|
||||
picker.moreThanOne=Es ist mehr als ein Operatorprofil eingerichtet.
|
||||
picker.start=Starten
|
||||
picker.quit=Beenden
|
||||
dialog.yes=Ja
|
||||
dialog.switchProfile=Profil wechseln
|
||||
alert.profileTitle=Operatorprofil
|
||||
alert.profileNotFound=Das angeforderte Operatorprofil wurde nicht gefunden.
|
||||
alert.profilesTitle=Operatorprofile
|
||||
alert.onlyOneProfile=Es ist nur ein Operatorprofil eingerichtet.
|
||||
alert.onlyOneProfileBody=Weitere Profile werden im Einstellungsfenster im Reiter „Profile" angelegt. Jedes Profil behält eigene Einstellungen und ein eigenes Layout und kann die Worked-Datenbank der Station entweder mitbenutzen oder eine eigene führen.
|
||||
alert.switchProfileTitle=Operatorprofil wechseln
|
||||
alert.switchProfileQuestion=Zu „{0}" wechseln?
|
||||
alert.switchProfileBody=Die ON4KST-Verbindung wird geschlossen und alle Fenster werden mit den Einstellungen und dem Layout des gewählten Profils neu aufgebaut.\n\nNicht gespeicherte Einstellungen des aktuellen Profils gehen verloren. Fenstergrößen sowie Teiler- und Spaltenbreiten werden automatisch gesichert.
|
||||
alert.quitTitle=Anwendung beenden
|
||||
alert.quitQuestion=Soll die Verbindung zum Chat getrennt werden?
|
||||
alert.simpleLogTitle=Simplelogfile angelegt
|
||||
alert.simpleLogHeader=Das gewählte Simplelogfile gab es nicht und wurde angelegt
|
||||
alert.simpleLogBody=Datei: {0}\n\nPrüfe zuerst, ob du die Simplelogfile-Anbindung überhaupt brauchst. Bietet dein Logprogramm eine unterstützte Netzschnittstelle, nutze diese für Band- und Locatorangaben.\n\nWenn du Simplelogfile benutzt, stelle dein Logprogramm so ein, dass es sein laufendes Log in diese Datei schreibt. Logge dann ein Test-QSO und prüfe, ob das Rufzeichen in KST4Contest binnen einer Minute als gearbeitet markiert wird.\n\nPrüfe vor jedem Contest, dass das Logprogramm das aktuelle Contestlog in genau diese Datei schreibt. KST4Contest setzt aus Simplelogfile stammende Worked-Markierungen zum Contestbeginn nicht von selbst zurück.
|
||||
alert.simpleLogLink=Das Simplelogfile-Handbuch öffnen
|
||||
tooltip.bandsNone=Bänder: -
|
||||
tooltip.bandsPrefix=Bänder:
|
||||
tooltip.bandStatusLegend=Bandstatus:\nX = auf diesem Band gearbeitet\nB+ = Band verfügbar, auf diesem Band noch nicht gearbeitet (Rufzeichen auf einem anderen Band bereits gearbeitet)\na = Band verfügbar, Rufzeichen auf keinem Band gearbeitet (in den GUI-Einstellungen abschaltbar; fällt dann auf B+ zurück)\no = Großfeld auf diesem Band bereits gearbeitet, von einer beliebigen Station (in den GUI-Einstellungen abschaltbar)\n(leer) = keine Angaben zu diesem Band\no kann mit den übrigen zusammentreffen, zum Beispiel „ao" oder „B+o"
|
||||
tooltip.bandStatusThisStation=\n\nDiese Station ({0}):\nStatus: {1}
|
||||
tooltip.workedStatusLegend=Worked-Status:\nleer = Rufzeichen nicht gearbeitet, Feld nicht gearbeitet\nx = Rufzeichen gearbeitet\no = Feld gearbeitet\nxo = Rufzeichen und Feld gearbeitet
|
||||
tooltip.workedStatusThisStation=\n\nDiese Station:\nRufzeichen gearbeitet: {0}\nFeld gearbeitet: {1} ({2})
|
||||
tooltip.yes=ja
|
||||
tooltip.no=nein
|
||||
tooltip.unknownGrid=unbekanntes Feld
|
||||
tooltip.grid=Feld {0}
|
||||
messages.public=Öffentliche Nachrichten
|
||||
messages.dxCluster=DXCluster-Nachrichten
|
||||
messages.qsoOfTheOther=QSO der Gegenstation
|
||||
chat.ownQrgTooltip=Die eigene Frequenz in der Hauptkategorie
|
||||
chat.secondQrgTooltip=Die Frequenz für die zweite Chat-Kategorie von Hand eintragen
|
||||
chat.qtfTooltip=Die eigene Antennenrichtung (QTF); wird vom Rotor übernommen, wenn einer abgeglichen wird
|
||||
list.moveDown=Auswahl nach unten
|
||||
list.moveUp=Auswahl nach oben
|
||||
list.clearToRemove=Den Text eines Eintrags leeren, um ihn zu entfernen.
|
||||
column.lastKnownQrg=Letzte bekannte QRG
|
||||
alert.cannotConnectTitle=Verbinden nicht möglich
|
||||
alert.credentialsMissing=Anmeldedaten fehlen
|
||||
alert.credentialsMissingBody=Bitte zuerst Rufzeichen und Passwort in den Einstellungen eintragen.
|
||||
alert.connectionFailedTitle=Verbindung fehlgeschlagen
|
||||
alert.connectionFailedBody=Verbinden nicht möglich: {0}
|
||||
contrast.textOnWindowSurface=Text auf der Fensterfläche
|
||||
contrast.textInsideField=Text im Feld
|
||||
contrast.accentOnWindowSurface=Akzent auf der Fensterfläche
|
||||
contrast.textOnMenuStrip=Text auf der Menüzeile
|
||||
@@ -0,0 +1,386 @@
|
||||
# The base language. Every key and every argument count comes from this file.
|
||||
#
|
||||
# To contribute a language: copy this file to strings_<code>.properties and translate the
|
||||
# values to the right of the equals sign. An untranslated key falls back to English, so a
|
||||
# partial file is welcome. `./gradlew :app-desktop:classes` builds and reports any mistake,
|
||||
# and writes a worksheet of what is still missing to
|
||||
# app-desktop/build/generated/i18n/todo/.
|
||||
#
|
||||
# Nothing that goes to the ON4KST server or to other radio amateurs belongs in this file --
|
||||
# none of it is here, and three tests keep it that way.
|
||||
airscout.applyHint=Server identifier, client identifier and frequency mode are applied immediately. Reconnect after changing the UDP port.
|
||||
airscout.automaticFrequency=Select AirScout frequency automatically per station
|
||||
airscout.automaticHint=Automatic selection uses the station's current QRG first, then station-name and chat-category evidence. Disable it only to force one protocol value for every station.
|
||||
airscout.clientIdentifier=KST4Contest client identifier [KST]:
|
||||
airscout.enabled=Enable AirScout UDP integration (AirScout 0.9.9.5 or newer)
|
||||
airscout.forcedBand=Forced AirScout band value [1440000 = 144 MHz]:
|
||||
airscout.frequencySection=Queried frequency
|
||||
airscout.serverIdentifier=AirScout server identifier [AS]:
|
||||
airscout.udpPort=AirScout UDP port [9872] — reconnect after changing:
|
||||
airscout.udpSection=AirScout UDP communication
|
||||
alert.ok=OK
|
||||
beacon.enabled=Send the beacon in this category
|
||||
beacon.intervalMinutes=Interval in whole minutes
|
||||
beacon.intervalSection=Shared interval
|
||||
beacon.message=Beacon message
|
||||
beacon.sectionFor=CQ beacon for {0}
|
||||
connection.connect=Connect
|
||||
connection.connectTo=Connect to {0}
|
||||
connection.disconnect=Disconnect
|
||||
connection.disconnectAndCloseChat=Disconnect & close Chat
|
||||
dialog.cancel=Cancel
|
||||
dialog.ok=OK
|
||||
gui.bandColumnHints=Hints in the band columns
|
||||
gui.language=Language
|
||||
gui.language.system=System language
|
||||
gui.startupDesign=Startup design
|
||||
gui.startupFilters=Message filters active at startup
|
||||
logSynch.fileChooserTitle=Choose Readonly-Loginterpreter-File
|
||||
logSynch.fileEnabled=Read worked callsigns periodically from a log file (without band information)
|
||||
logSynch.fileLabel=Log file to be monitored:
|
||||
logSynch.fileSection=File polling for worked callsigns
|
||||
logSynch.networkEnabled=Process QSO messages from N1MM+, QARTEST, UCXLog and DXLog.net
|
||||
logSynch.networkSection=Network-based QSO synchronization (N1MM/QARTEST/UCXLog/DXLog)
|
||||
logSynch.sharedPort=Shared UDP port for QSO and TRX messages [default 12060]:
|
||||
logSynch.winTestBroadcast=UDP broadcast address for Win-Test (default = internet interface broadcast)
|
||||
logSynch.winTestEnabled=Receive Win-Test network based UDP log messages
|
||||
logSynch.winTestHint=The broadcast address is detected once while it is still {0}. A port change takes effect on the running listener when the field loses focus.
|
||||
logSynch.winTestPort=UDP-Port for Win-Test listener (default is 9871)
|
||||
logSynch.winTestSection=Win-Test Network-Listener
|
||||
logSynch.winTestStationName=KST station name in Win-Test network (src of SKED packets)
|
||||
menu.about=About...
|
||||
menu.contactAuthor=Contact the author using default mail app
|
||||
menu.disconnect=Disconnect
|
||||
menu.donateOv3t=Donate for OV3T´s plane feed service
|
||||
menu.donatePayPal=Donate for kst4Contest development via PayPal
|
||||
menu.exitAndDisconnect=Exit + disconnect
|
||||
menu.file=File
|
||||
menu.hideMonitor=Hide cluster / stranger QSOs
|
||||
menu.hideOptions=hide options
|
||||
menu.homepage=Visit DARC X08-Homepage
|
||||
menu.info=Info
|
||||
menu.newsgroup=Join kst4Contest newsgroup
|
||||
menu.options=Options
|
||||
menu.setQrgAsNameInChat=Set QRG as name in Chat (main category)
|
||||
menu.showMeAsActive=Show me as ACTIVE in chat!
|
||||
menu.showMeAsAway=Show me as AWAY FROM chat!
|
||||
menu.showMonitor=Show cluster / stranger QSOs
|
||||
menu.showOptions=Show options
|
||||
menu.switchOperatorProfile=Switch operator profile...
|
||||
menu.toggleStationMap=Show / hide station map
|
||||
menu.useDarkDesign=Use dark mode design
|
||||
menu.useDefaultDesign=Use default mode design
|
||||
menu.windows=Windows
|
||||
messageHandling.autoAnswerEnabled=Answer private messages automatically
|
||||
messageHandling.autoAnswerSection=Automatic answer to private messages
|
||||
messageHandling.autoAnswerText=Answer text
|
||||
messageHandling.qrgAnswerEnabled=Answer a QRG request with the current frequency
|
||||
messageHandling.qrgAnswerSection=Automatic answer to a QRG request
|
||||
notification.addCallsignToList=Add a callsign to the monitoring list
|
||||
notification.addMonitored=Add monitored callsign
|
||||
notification.bandUpgradeHint=Hint at a band upgrade when a QSO is logged
|
||||
notification.bandUpgradePriority=Raise the priority of a station worth upgrading
|
||||
notification.bandUpgradeSection=Band upgrade hints
|
||||
notification.callsign=Callsign
|
||||
notification.clusterEnabled=Run the DX Cluster server
|
||||
notification.clusterPort=TCP port
|
||||
notification.clusterSection=Local DX Cluster server
|
||||
notification.cwCallsign=Play the callsign in CW on a received private message
|
||||
notification.fallbackBand=Fallback band for a spot without band information
|
||||
notification.monitoringSection=QSO monitoring
|
||||
notification.sendTestSpot=Send a test spot
|
||||
notification.simpleSounds=Play simple sounds
|
||||
notification.soundsSection=Sounds
|
||||
notification.speakCallsign=Speak the callsign on a received private message
|
||||
notification.spotterCallsign=Spotter callsign
|
||||
settings.applyAndClose=Apply/Close prefs
|
||||
settings.save=Save settings
|
||||
shortcuts.addButton=Add shortcut
|
||||
shortcuts.addSnippet=Add new snippet
|
||||
shortcuts.buttonsSection=Shortcut buttons above the message field
|
||||
shortcuts.snippetsSection=Text snippets (the first 10 use Ctrl+1 through Ctrl+0)
|
||||
station.bandsSection=Active bands
|
||||
station.beamWidth=Antenna beam width, degrees
|
||||
station.callsign=Callsign
|
||||
station.chatSection=Chat category
|
||||
station.defaultsSection=Defaults
|
||||
station.demDirectory=DEM root directory
|
||||
station.locator=Locator
|
||||
station.mainCategory=Main category
|
||||
station.maxQrb=Maximum QRB
|
||||
station.nameMain=Name, main category
|
||||
station.nameSecond=Name, second category
|
||||
station.ownAntennaGain=Own antenna gain, dBi
|
||||
station.ownAntennaHeight=Own antenna height, metres
|
||||
station.ownSection=Own station
|
||||
station.ownTxPower=Own TX power, watts
|
||||
station.password=Password
|
||||
station.pathSection=Path analysis defaults
|
||||
station.qtf=QTF
|
||||
station.rotatorEnabled=Rotator sync enabled
|
||||
station.rotatorHost=Rotator host
|
||||
station.rotatorPort=Rotator port
|
||||
station.rotatorSection=PSTRotator
|
||||
station.secondCategory=Second category
|
||||
station.secondChatEnabled=2nd chat: log in to a second category
|
||||
station.serverHost=Server host name
|
||||
station.serverPort=Server port
|
||||
station.serverSection=ON4KST server
|
||||
station.targetAntennaGain=Target antenna gain, dBi
|
||||
station.targetTxPower=Target TX power, watts
|
||||
trxSynch.hint=An enabled source does not produce a frequency by itself. The own QRG is only updated once valid RadioInfo or Win-Test STATUS data actually arrives; until then it stays as entered by hand.
|
||||
trxSynch.hintSection=What an enabled source does
|
||||
trxSynch.ucxEnabled=Update MYQRG from RadioInfo messages received on the shared log-sync port
|
||||
trxSynch.ucxSection=Receive UCXLog TRX info
|
||||
trxSynch.winTestEnabled=Win-Test STATUS QRG Sync (updates own QRG from Win-Test transceiver frequency)
|
||||
trxSynch.winTestPassFrequency=Use pass frequency from Win-Test STATUS (instead of own QRG)
|
||||
trxSynch.winTestSection=Win-Test TRX sync
|
||||
trxSynch.winTestStationFilter=Win-Test station name filter (e.g. STN1, empty = accept all)
|
||||
worked.empty=The worked database holds no callsigns.
|
||||
worked.expiryHint=Worked, NOT-QRV and grid data expire after three days on their own. A reset before every contest is normally not required.
|
||||
worked.lastResetAffected=Last reset affected {0} rows.
|
||||
worked.refresh=Refresh worked database
|
||||
worked.reset=Reset worked, NOT-QRV and grid data...
|
||||
worked.resetConfirm=Reset data
|
||||
worked.resetDialogBody=Reset all worked, NOT-QRV and grid data?\n\nThis clears every contest-related flag in the internal database. A reset before every contest is normally not required because these data expire after three days.
|
||||
worked.resetDialogTitle=Reset contest data
|
||||
worked.resetFailed=The contest data could not be reset. The internal database may be unavailable or inconsistent. No successful reset was confirmed.
|
||||
worked.section=Worked station database
|
||||
tab.station=Station
|
||||
tab.logSynch=Log synch
|
||||
tab.trxSynch=TRX synch
|
||||
tab.airscout=Airscout
|
||||
tab.notification=Notification
|
||||
tab.shortcuts=Shortcuts
|
||||
tab.beacon=Beacon
|
||||
tab.messageHandling=Messagehandling
|
||||
tab.workedDatabase=Workedstn database
|
||||
tab.gui=GUI
|
||||
tab.profiles=Profiles
|
||||
tab.colours=Colours
|
||||
settings.categoryMainFallback=Main chat category
|
||||
settings.categorySecondFallback=Second chat category
|
||||
settings.spotNeedsConnection=Connect KST4Contest and enable the local DX Cluster server first.
|
||||
settings.spotNoClient=No DX Cluster client is connected to KST4Contest.
|
||||
settings.spotNotDelivered=The test spot could not be delivered.
|
||||
settings.writeFailed=The configuration file could not be written. The settings stay active for this session.
|
||||
settings.writtenTo=Settings are stored as default to the xml config file:\n{0}
|
||||
profiles.active=Active profile:
|
||||
profiles.settingsFile=Settings file:
|
||||
profiles.workedStations=Worked stations:
|
||||
profiles.new=New profile...
|
||||
profiles.duplicate=Duplicate...
|
||||
profiles.rename=Rename...
|
||||
profiles.delete=Delete...
|
||||
profiles.changeWorked=Change worked stations...
|
||||
profiles.switchTo=Switch to selected profile...
|
||||
profiles.explanation=Each profile has its own settings and window layout. A profile can either share the common station worked stations, which is what a multi operator station wants, or keep its own. Duplicating a profile copies everything except callsign and password, and never copies worked stations.
|
||||
profiles.dialogTitle=Operator profiles
|
||||
profiles.none=No operator profile configured.
|
||||
profiles.columnProfile=Profile
|
||||
profiles.columnWorked=Worked stations
|
||||
profiles.columnLastUsed=Last used
|
||||
profiles.inUse= (in use)
|
||||
profiles.newTitle=New operator profile
|
||||
profiles.newBody=Name and worked stations of the new profile
|
||||
profiles.nameLabel=Profile name, for example DN9APW
|
||||
profiles.create=Create profile
|
||||
profiles.duplicateTitle=Duplicate operator profile
|
||||
profiles.duplicateBody=Name of the new profile
|
||||
profiles.duplicateHint=Everything is copied except callsign and password. Worked stations are never copied.
|
||||
profiles.renameTitle=Rename operator profile
|
||||
profiles.renameBody=New name of the profile
|
||||
profiles.renameHint=Files and folders of the profile are not touched.
|
||||
profiles.deleteTitle=Delete operator profile
|
||||
profiles.deleteBody=Delete the profile "{0}"?
|
||||
profiles.deleteConfirm=Delete profile
|
||||
profiles.workedTitle=Worked stations
|
||||
profiles.workedBody=Worked stations of "{0}"
|
||||
profiles.workedHint=Switching does not move any data. Worked stations already collected under the other setting stay where they are.
|
||||
colours.section=Colours of this design
|
||||
colours.roleWithSource={0} ({1})
|
||||
colours.readabilitySection=Readability
|
||||
colours.warning={0} now reads at {1} to 1, where this design ships {2} to 1.
|
||||
colours.warningKept=The colours are kept either way — a hard combination can be deliberate.
|
||||
colours.keepingSection=Keeping these colours
|
||||
colours.keepingHint=A colour applies at once, everywhere. It survives a restart only once Save settings has been pressed.
|
||||
colours.waysBackSection=Ways back
|
||||
colours.backToPrevious=Back to how it was ({0})
|
||||
colours.discardChanges=Discard my changes ({0})
|
||||
colours.resetToShipped=Reset to the shipped colours ({0})
|
||||
colours.fileSection=Editing the stylesheet by hand
|
||||
colours.fileReads=This design reads {0}. A colour set above overrides what the file says for that role.
|
||||
colours.fileAbsent=This design has no stylesheet of its own. One can be written to {0} as a starting point.
|
||||
colours.exportButton=Write this design's stylesheet into my profile
|
||||
colours.exportWritten=Written to {0}. Edit it and restart to see the result.
|
||||
colours.exportAlreadyThere={0} is already there and was left untouched.
|
||||
colours.exportFailed=Could not write the stylesheet: {0}
|
||||
colours.sourceShipped=shipped
|
||||
colours.sourceFile=from file
|
||||
colours.sourceChanged=changed
|
||||
colours.roleSurface=Surface (menu strip, selected rows)
|
||||
colours.roleWindowSurface=Window surface (the windows themselves)
|
||||
colours.roleFieldInterior=Field interior (fields, lists, buttons)
|
||||
colours.roleText=Text
|
||||
colours.roleAccent=Accent
|
||||
colours.roleSeparator=Separator line
|
||||
colours.notAColour='{0}' is not a colour. Six hexadecimal digits with a leading hash, for example #3C7A4B. {1} is unchanged.
|
||||
column.callsign=Callsign
|
||||
column.name=Name
|
||||
column.message=Message
|
||||
column.time=Time
|
||||
column.lastQrgRx=Last QRG RX
|
||||
column.lastQrgTx=Last QRG TX
|
||||
filter.find=Find...
|
||||
filter.reset=Reset filters
|
||||
filter.showOnlyQrb=Show only QRB [km] <=
|
||||
filter.showOnlyQtf=Show only QTF:
|
||||
filter.hideWorked=Hide worked:
|
||||
filter.inactiveStations=Inactive stations
|
||||
filter.onlyNewGrids=Only new grids
|
||||
filter.gridColour=Grid color
|
||||
filter.newBands=New bands
|
||||
filter.tropo=Tropo >=0dB
|
||||
selected.none=No station selected.
|
||||
selected.priority=Priority:
|
||||
selected.more=more
|
||||
selected.showMessages=Show messages
|
||||
selected.createSked=Create sked
|
||||
selected.sked=Sked
|
||||
selected.skedInMinutes=Sked in (min)
|
||||
selected.skedFail=Sked fail
|
||||
selected.remindPmIn=Remind-PM in
|
||||
selected.reminderOffsets=Reminder offsets
|
||||
selected.resetFail=Reset fail
|
||||
selected.tagNotQrv=Tag not QRV
|
||||
selected.band=Band
|
||||
selected.mode=Mode
|
||||
selected.lookUpAndShow=Look up and show
|
||||
selected.lookupQrz=Lookup on qrz.com
|
||||
selected.lookupQrzcq=Lookup on qrzcq.com
|
||||
selected.showPathInAs=Show path in AS
|
||||
selected.lastActivity=Last activity: {0} ({1} min ago)
|
||||
candidates.title=Top priority candidates
|
||||
candidates.none=No candidates yet.
|
||||
candidates.doubleClick=Double-click a candidate to select it.
|
||||
update.title=Update information
|
||||
update.available=Update available!
|
||||
update.installedVersion=Installed version:
|
||||
update.latestVersion=Latest stable version:
|
||||
update.mainChanges=Main changes:
|
||||
update.additionalInformation=Additional information:
|
||||
update.download=Download:
|
||||
update.openReleasePage=Open release page
|
||||
update.changeLog=ChangeLog
|
||||
update.knownBugs=Known bugs
|
||||
update.versions=Versions
|
||||
map.title=Station Map
|
||||
map.tab=Map
|
||||
map.resetView=Reset view
|
||||
map.groupNearby=Group nearby stations
|
||||
map.triggerClusterSpot=Trigger cluster spot
|
||||
map.showPathAnalysis=Show path analysis
|
||||
map.hidePathAnalysis=Hide path analysis
|
||||
map.pathAnalysisHidden=Path analysis is hidden.
|
||||
map.tilesUnavailable=Map tiles unavailable — check the network connection.
|
||||
path.title=Path / terrain analysis
|
||||
path.selectStation=Select a station to prepare path and terrain analysis.
|
||||
path.fromLocator=From locator:
|
||||
path.toLocator=To locator:
|
||||
path.endpoints=Endpoints:
|
||||
path.distanceQtf=Distance/QTF:
|
||||
path.frequency=Frequency:
|
||||
path.status=Status:
|
||||
path.source=Source:
|
||||
path.los=LOS:
|
||||
path.fresnel=Fresnel:
|
||||
path.obstruction=Obstruction:
|
||||
path.radioHorizon=Radio horizon:
|
||||
path.terrainHorizon=Terrain horizon:
|
||||
path.refraction=Refraction:
|
||||
path.mechanisms=Mechanisms:
|
||||
path.assessment=Assessment:
|
||||
path.linkBudget=Link budget:
|
||||
path.rxPower=RX power:
|
||||
path.cwHint=CW hint:
|
||||
chart.noSamples=No profile samples available.
|
||||
chart.distanceAxis=Distance [km]
|
||||
chart.heightAxis=Height [m]
|
||||
chart.legend=Legend:
|
||||
chart.terrain=Terrain
|
||||
chart.los=LOS
|
||||
chart.fresnel=Fresnel
|
||||
chart.critical=Critical
|
||||
chart.diffraction=Diffraction
|
||||
chart.home=Home
|
||||
chart.radioHorizonShort=Radio hor.
|
||||
chart.terrainHorizonShort=Terr. hor.
|
||||
chart.homeRadioHorizon=Home radio horizon
|
||||
chart.homeTerrainHorizon=Home terrain horizon
|
||||
chart.dxRadioHorizon=DX radio horizon
|
||||
chart.dxTerrainHorizon=DX terrain horizon
|
||||
chart.frequency=f = {0} MHz
|
||||
chart.criticalFresnel=Critical point: Fresnel intrusion {0} m @ {1} km
|
||||
chart.criticalLos=Critical point: LOS clearance {0} m @ {1} km
|
||||
chart.diffractionCandidate=Diffraction candidate {0} km, KE ≈ {1} dB
|
||||
title.connectionLost=CONNECTION LOST – reconnect scheduled
|
||||
title.connecting=Connecting to ON4KST…
|
||||
title.authenticating=Connected – authenticating with ON4KST…
|
||||
title.synchronizing=Connected – synchronizing ON4KST chat data…
|
||||
title.disconnected=DISCONNECTED!
|
||||
status.noConnection=No ON4KST connection
|
||||
status.linkTooltip=ON4KST link: {0}\n{1}
|
||||
status.linkConnected=🟢 LINK: Connected
|
||||
status.linkConnecting=🟡 LINK: Connecting…
|
||||
status.linkDisconnecting=🟡 LINK: Disconnecting…
|
||||
status.linkReconnecting=🔴 LINK: Reconnecting…
|
||||
status.linkDisconnected=🔴 LINK: Disconnected
|
||||
picker.title=Select operator profile
|
||||
picker.moreThanOne=More than one operator profile is configured.
|
||||
picker.start=Start
|
||||
picker.quit=Quit
|
||||
dialog.yes=Yes
|
||||
dialog.switchProfile=Switch profile
|
||||
alert.profileTitle=Operator profile
|
||||
alert.profileNotFound=The requested operator profile was not found.
|
||||
alert.profilesTitle=Operator profiles
|
||||
alert.onlyOneProfile=Only one operator profile is configured.
|
||||
alert.onlyOneProfileBody=Additional profiles are created in the settings window on the "Profiles" tab. Each profile keeps its own settings and layout, and can either share the station worked database or use its own.
|
||||
alert.switchProfileTitle=Switch operator profile
|
||||
alert.switchProfileQuestion=Switch to "{0}"?
|
||||
alert.switchProfileBody=The ON4KST connection is closed and all windows are rebuilt with the settings and layout of the selected profile.\n\nUnsaved settings of the current profile are lost. Window sizes, divider and column widths are saved automatically.
|
||||
alert.quitTitle=Quit application
|
||||
alert.quitQuestion=Do you want to disconnect from the Chat?
|
||||
alert.simpleLogTitle=Simplelogfile created
|
||||
alert.simpleLogHeader=The selected Simplelogfile did not exist and has been created
|
||||
alert.simpleLogBody=File: {0}\n\nFirst check whether you need the Simplelogfile integration. If your logging application provides a supported network interface, use that interface for band and locator information.\n\nIf you use Simplelogfile, configure your logging application to write its live log to this file. Then log a test QSO and verify that the callsign is marked as worked in KST4Contest within one minute.\n\nBefore each contest, verify that the logging application writes the current contest log to this exact file. KST4Contest does not reset Simplelogfile-derived Worked marks automatically when a new contest starts.
|
||||
alert.simpleLogLink=Open the Simplelogfile manual
|
||||
tooltip.bandsNone=Bands: -
|
||||
tooltip.bandsPrefix=Bands:
|
||||
tooltip.bandStatusLegend=Band status:\nX = worked on this band\nB+ = band available, not worked on this band yet (call already worked on another band)\na = band available, call not worked on any band yet (can be turned off in GUI settings; falls back to B+)\no = grid square already worked on this band, by any station (can be turned off in GUI settings)\n(empty) = no information for this band\no can combine with the others, e.g. "ao" or "B+o"
|
||||
tooltip.bandStatusThisStation=\n\nThis station ({0}):\nStatus: {1}
|
||||
tooltip.workedStatusLegend=Worked status:\nempty = call not worked, grid not worked\nx = call worked\no = grid worked\nxo = call and grid worked
|
||||
tooltip.workedStatusThisStation=\n\nThis station:\nCall worked: {0}\nGrid worked: {1} ({2})
|
||||
tooltip.yes=yes
|
||||
tooltip.no=no
|
||||
tooltip.unknownGrid=unknown grid
|
||||
tooltip.grid=grid {0}
|
||||
messages.public=Public messages
|
||||
messages.dxCluster=DXCluster messages
|
||||
messages.qsoOfTheOther=QSO of the other
|
||||
chat.ownQrgTooltip=Your own frequency in the main category
|
||||
chat.secondQrgTooltip=Enter the frequency for the second chat category by hand
|
||||
chat.qtfTooltip=Your antenna heading (QTF); read from the rotator when one is synced
|
||||
list.moveDown=Move selected down
|
||||
list.moveUp=Move selected up
|
||||
list.clearToRemove=Clear the text of an entry to remove it.
|
||||
column.lastKnownQrg=Last known QRG
|
||||
alert.cannotConnectTitle=Cannot connect
|
||||
alert.credentialsMissing=Login credentials missing
|
||||
alert.credentialsMissingBody=Please configure your callsign and password in Settings first.
|
||||
alert.connectionFailedTitle=Connection failed
|
||||
alert.connectionFailedBody=Could not connect: {0}
|
||||
contrast.textOnWindowSurface=Text on the window surface
|
||||
contrast.textInsideField=Text inside a field
|
||||
contrast.accentOnWindowSurface=Accent on the window surface
|
||||
contrast.textOnMenuStrip=Text on the menu strip
|
||||
Reference in new issue
Block a user