Merge branch 'release-2.2.0' of bitbucket.org:k1jt/wsjtx into release-2.2.0

This commit is contained in:
Joe Taylor 2020-05-19 10:24:01 -04:00
commit ada7804f14
10 changed files with 13258 additions and 261 deletions

View File

@ -1094,8 +1094,10 @@ add_custom_target (etags COMMAND ${ETAGS} -o ${CMAKE_SOURCE_DIR}/TAGS -R ${sourc
# Qt i18n # Qt i18n
set (LANGUAGES set (LANGUAGES
en_GB en_GB # English UK
pt_PT pt_PT # Poutuguese
es_ES # Spanish
ca # Catalan
) )
foreach (lang_ ${LANGUAGES}) foreach (lang_ ${LANGUAGES})
file (TO_NATIVE_PATH translations/wsjtx_${lang_}.ts ts_) file (TO_NATIVE_PATH translations/wsjtx_${lang_}.ts ts_)

View File

@ -6,8 +6,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>670</width> <width>557</width>
<height>617</height> <height>561</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@ -559,7 +559,7 @@ quiet period when decoding is done.</string>
<property name="editable"> <property name="editable">
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="currentText" stdset="0"> <property name="currentText">
<string/> <string/>
</property> </property>
<property name="insertPolicy"> <property name="insertPolicy">
@ -929,7 +929,7 @@ a few, particularly some Kenwood rigs, require it).</string>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="toolTip"> <property name="toolTip">
<string>How this program activates the PTT on your radio</string> <string>How this program activates the PTT on your radio?</string>
</property> </property>
<property name="title"> <property name="title">
<string>PTT Method</string> <string>PTT Method</string>
@ -1021,7 +1021,7 @@ other hardware interface for PTT.</string>
<property name="editable"> <property name="editable">
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="currentText" stdset="0"> <property name="currentText">
<string/> <string/>
</property> </property>
<property name="currentIndex"> <property name="currentIndex">
@ -3108,13 +3108,13 @@ Right click for insert and delete options.</string>
</connection> </connection>
</connections> </connections>
<buttongroups> <buttongroups>
<buttongroup name="split_mode_button_group"/>
<buttongroup name="TX_audio_source_button_group"/>
<buttongroup name="TX_mode_button_group"/>
<buttongroup name="PTT_method_button_group"/>
<buttongroup name="special_op_activity_button_group"/>
<buttongroup name="CAT_handshake_button_group"/> <buttongroup name="CAT_handshake_button_group"/>
<buttongroup name="TX_audio_source_button_group"/>
<buttongroup name="special_op_activity_button_group"/>
<buttongroup name="TX_mode_button_group"/>
<buttongroup name="CAT_data_bits_button_group"/> <buttongroup name="CAT_data_bits_button_group"/>
<buttongroup name="PTT_method_button_group"/>
<buttongroup name="CAT_stop_bits_button_group"/> <buttongroup name="CAT_stop_bits_button_group"/>
<buttongroup name="split_mode_button_group"/>
</buttongroups> </buttongroups>
</ui> </ui>

100
main.cpp
View File

@ -107,8 +107,20 @@ int main(int argc, char *argv[])
ExceptionCatchingApplication a(argc, argv); ExceptionCatchingApplication a(argc, argv);
try try
{ {
QLocale locale; // get the current system locale
qDebug () << "locale: language:" << locale.language () << "script:" << locale.script ()
<< "country:" << locale.country () << "ui-languages:" << locale.uiLanguages ();
setlocale (LC_NUMERIC, "C"); // ensure number forms are in
// consistent format, do this after
// instantiating QApplication so
// that GUI has correct l18n
// Override programs executable basename as application name.
a.setApplicationName ("WSJT-X");
a.setApplicationVersion (version ());
// //
// Enable i18n // Enable base i18n
// //
QTranslator translator_from_resources; QTranslator translator_from_resources;
// Default translations for releases use translations stored in // Default translations for releases use translations stored in
@ -121,28 +133,11 @@ int main(int argc, char *argv[])
// translations but should only be set when adding new // translations but should only be set when adding new
// languages. The resulting .ts files should be checked info // languages. The resulting .ts files should be checked info
// source control for translators to access and update. // source control for translators to access and update.
translator_from_resources.load (QLocale::system (), "wsjtx", "_", ":/Translations"); if (translator_from_resources.load (locale, "wsjtx", "_", ":/Translations"))
a.installTranslator (&translator_from_resources); {
qDebug () << "Loaded translations for current locale from resources";
QTranslator translator_from_files; a.installTranslator (&translator_from_resources);
// Load any matching translation from the current directory }
// using the locale name. This allows translators to easily test
// their translations by releasing (lrelease) a .qm file into
// the current directory with a suitable name
// (e.g. wsjtx_en_GB.qm), then running wsjtx to view the
// results. Either the system locale setting or the environment
// variable LANG can be used to select the target language.
translator_from_files.load (QString {"wsjtx_"} + QLocale::system ().name ());
a.installTranslator (&translator_from_files);
setlocale (LC_NUMERIC, "C"); // ensure number forms are in
// consistent format, do this after
// instantiating QApplication so
// that GUI has correct l18n
// Override programs executable basename as application name.
a.setApplicationName ("WSJT-X");
a.setApplicationVersion (version ());
QCommandLineParser parser; QCommandLineParser parser;
parser.setApplicationDescription ("\n" PROJECT_SUMMARY_DESCRIPTION); parser.setApplicationDescription ("\n" PROJECT_SUMMARY_DESCRIPTION);
@ -161,6 +156,12 @@ int main(int argc, char *argv[])
, a.translate ("main", "configuration")); , a.translate ("main", "configuration"));
parser.addOption (cfg_option); parser.addOption (cfg_option);
// support for UI language override (useful on Windows)
QCommandLineOption lang_option (QStringList {} << "l" << "language"
, a.translate ("main", "Where <language> is <lang-code>[-<country-code>].")
, a.translate ("main", "language"));
parser.addOption (lang_option);
QCommandLineOption test_option (QStringList {} << "test-mode" QCommandLineOption test_option (QStringList {} << "test-mode"
, a.translate ("main", "Writable files in test location. Use with caution, for testing only.")); , a.translate ("main", "Writable files in test location. Use with caution, for testing only."));
parser.addOption (test_option); parser.addOption (test_option);
@ -184,6 +185,59 @@ int main(int argc, char *argv[])
} }
} }
//
// Complete i18n
//
QTranslator translation_override_from_resources;
// Load any matching translation from the current directory
// using the command line option language override. This allows
// translators to easily test their translations by releasing
// (lrelease) a .qm file into the current directory with a
// suitable name (e.g. wsjtx_en_GB.qm), then running wsjtx to
// view the results.
if (parser.isSet (lang_option))
{
auto language = parser.value (lang_option).replace ('-', '_');
if (translation_override_from_resources.load ("wsjtx_" + language , ":/Translations"))
{
qDebug () << QString {"loaded translation file from :/Translations based on language %1"}.arg (language);
a.installTranslator (&translation_override_from_resources);
}
}
QTranslator translator_from_files;
// Load any matching translation from the current directory
// using the current locale. This allows translators to easily
// test their translations by releasing (lrelease) a .qm file
// into the current directory with a suitable name (e.g.
// wsjtx_en_GB.qm), then running wsjtx to view the results. The
// system locale setting will be used to select the translation
// file which can be overridden by the LANG environment variable
// on non-Windows system.
if (translator_from_files.load (locale, "wsjtx", "_"))
{
qDebug () << "loaded translations for current locale from a file";
a.installTranslator (&translator_from_files);
}
QTranslator translation_override_from_files;
// Load any matching translation from the current directory
// using the command line option language override. This allows
// translators to easily test their translations on Windows by
// releasing (lrelease) a .qm file into the current directory
// with a suitable name (e.g. wsjtx_en_GB.qm), then running
// wsjtx to view the results.
if (parser.isSet (lang_option))
{
auto language = parser.value (lang_option).replace ('-', '_');
if (translation_override_from_files.load ("wsjtx_" + language))
{
qDebug () << QString {"loaded translation file from $cwd based on language %1"}.arg (language);
a.installTranslator (&translation_override_from_files);
}
}
QStandardPaths::setTestModeEnabled (parser.isSet (test_option)); QStandardPaths::setTestModeEnabled (parser.isSet (test_option));
// support for multiple instances running from a single installation // support for multiple instances running from a single installation

View File

@ -101,22 +101,22 @@ QString DecodeHighlightingModel::highlight_name (Highlight h)
{ {
switch (h) switch (h)
{ {
case Highlight::CQ: return "CQ in message"; case Highlight::CQ: return tr ("CQ in message");
case Highlight::MyCall: return "My Call in message"; case Highlight::MyCall: return tr ("My Call in message");
case Highlight::Tx: return "Transmitted message"; case Highlight::Tx: return tr ("Transmitted message");
case Highlight::DXCC: return "New DXCC"; case Highlight::DXCC: return tr ("New DXCC");
case Highlight::DXCCBand: return "New DXCC on Band"; case Highlight::DXCCBand: return tr ("New DXCC on Band");
case Highlight::Grid: return "New Grid"; case Highlight::Grid: return tr ("New Grid");
case Highlight::GridBand: return "New Grid on Band"; case Highlight::GridBand: return tr ("New Grid on Band");
case Highlight::Call: return "New Call"; case Highlight::Call: return tr ("New Call");
case Highlight::CallBand: return "New Call on Band"; case Highlight::CallBand: return tr ("New Call on Band");
case Highlight::Continent: return "New Continent"; case Highlight::Continent: return tr ("New Continent");
case Highlight::ContinentBand: return "New Continent on Band"; case Highlight::ContinentBand: return tr ("New Continent on Band");
case Highlight::CQZone: return "New CQ Zone"; case Highlight::CQZone: return tr ("New CQ Zone");
case Highlight::CQZoneBand: return "New CQ Zone on Band"; case Highlight::CQZoneBand: return tr ("New CQ Zone on Band");
case Highlight::ITUZone: return "New ITU Zone"; case Highlight::ITUZone: return tr ("New ITU Zone");
case Highlight::ITUZoneBand: return "New ITU Zone on Band"; case Highlight::ITUZoneBand: return tr ("New ITU Zone on Band");
case Highlight::LotW: return "LotW User"; case Highlight::LotW: return tr ("LoTW User");
} }
return "Unknown"; return "Unknown";
} }
@ -166,9 +166,9 @@ QVariant DecodeHighlightingModel::data (const QModelIndex& index, int role) cons
return QString {"%1%2%3%4%4%5%6"} return QString {"%1%2%3%4%4%5%6"}
.arg (highlight_name (item.type_)) .arg (highlight_name (item.type_))
.arg (fg_unset || bg_unset ? QString {" ["} : QString {}) .arg (fg_unset || bg_unset ? QString {" ["} : QString {})
.arg (fg_unset ? QString {"f/g unset"} : QString {}) .arg (fg_unset ? tr ("f/g unset") : QString {})
.arg (fg_unset && bg_unset ? QString {" "} : QString {}) .arg (fg_unset && bg_unset ? QString {" "} : QString {})
.arg (bg_unset ? QString {"b/g unset"} : QString {}) .arg (bg_unset ? tr ("b/g unset") : QString {})
.arg (fg_unset || bg_unset ? QString {"]"} : QString {}); .arg (fg_unset || bg_unset ? QString {"]"} : QString {});
break; break;
case Qt::ForegroundRole: case Qt::ForegroundRole:

6324
translations/wsjtx_ca.ts Normal file

File diff suppressed because it is too large Load Diff

View File

@ -18,7 +18,7 @@
</message> </message>
<message numerus="yes"> <message numerus="yes">
<location filename="../widgets/AbstractLogWindow.cpp" line="65"/> <location filename="../widgets/AbstractLogWindow.cpp" line="65"/>
<source>Are you sure you want to delete the %n selected QSO(s) from the log</source> <source>Are you sure you want to delete the %n selected QSO(s) from the log?</source>
<translation type="unfinished"> <translation type="unfinished">
<numerusform></numerusform> <numerusform></numerusform>
<numerusform></numerusform> <numerusform></numerusform>
@ -692,7 +692,7 @@ Format:
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../DXLabSuiteCommanderTransceiver.cpp" line="503"/> <location filename="../Transceiver/DXLabSuiteCommanderTransceiver.cpp" line="503"/>
<source>DX Lab Suite Commander sent an unrecognized frequency</source> <source>DX Lab Suite Commander sent an unrecognized frequency</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -737,6 +737,96 @@ Format:
</context> </context>
<context> <context>
<name>DecodeHighlightingModel</name> <name>DecodeHighlightingModel</name>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="104"/>
<source>CQ in message</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="105"/>
<source>My Call in message</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="106"/>
<source>Transmitted message</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="107"/>
<source>New DXCC</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="108"/>
<source>New DXCC on Band</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="109"/>
<source>New Grid</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="110"/>
<source>New Grid on Band</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="111"/>
<source>New Call</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="112"/>
<source>New Call on Band</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="113"/>
<source>New Continent</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="114"/>
<source>New Continent on Band</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="115"/>
<source>New CQ Zone</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="116"/>
<source>New CQ Zone on Band</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="117"/>
<source>New ITU Zone</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="118"/>
<source>New ITU Zone on Band</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="119"/>
<source>LoTW User</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="169"/>
<source>f/g unset</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="171"/>
<source>b/g unset</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<location filename="../models/DecodeHighlightingModel.cpp" line="244"/> <location filename="../models/DecodeHighlightingModel.cpp" line="244"/>
<source>Highlight Type</source> <source>Highlight Type</source>
@ -1822,6 +1912,12 @@ Error(%2): %3</source>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.ui" line="50"/> <location filename="../widgets/mainwindow.ui" line="50"/>
<location filename="../widgets/mainwindow.cpp" line="5797"/>
<location filename="../widgets/mainwindow.cpp" line="5845"/>
<location filename="../widgets/mainwindow.cpp" line="6003"/>
<location filename="../widgets/mainwindow.cpp" line="6043"/>
<location filename="../widgets/mainwindow.cpp" line="6091"/>
<location filename="../widgets/mainwindow.cpp" line="6216"/>
<source>Band Activity</source> <source>Band Activity</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -1833,6 +1929,11 @@ Error(%2): %3</source>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.ui" line="194"/> <location filename="../widgets/mainwindow.ui" line="194"/>
<location filename="../widgets/mainwindow.cpp" line="5796"/>
<location filename="../widgets/mainwindow.cpp" line="5840"/>
<location filename="../widgets/mainwindow.cpp" line="6004"/>
<location filename="../widgets/mainwindow.cpp" line="6044"/>
<location filename="../widgets/mainwindow.cpp" line="6092"/>
<source>Rx Frequency</source> <source>Rx Frequency</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -2290,6 +2391,7 @@ Not available to nonstandard callsign holders.</source>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.ui" line="1394"/> <location filename="../widgets/mainwindow.ui" line="1394"/>
<location filename="../widgets/mainwindow.cpp" line="5867"/>
<source>Fox</source> <source>Fox</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -3130,6 +3232,7 @@ list. The list can be maintained in Settings (F2).</source>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.ui" line="3125"/> <location filename="../widgets/mainwindow.ui" line="3125"/>
<location filename="../widgets/mainwindow.cpp" line="8103"/>
<source>Runaway Tx watchdog</source> <source>Runaway Tx watchdog</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -3405,7 +3508,14 @@ list. The list can be maintained in Settings (F2).</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="434"/> <location filename="../widgets/mainwindow.cpp" line="329"/>
<location filename="../widgets/mainwindow.cpp" line="4120"/>
<location filename="../widgets/mainwindow.cpp" line="7634"/>
<source>Receiving</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widgets/mainwindow.cpp" line="437"/>
<source>Do you want to reconfigure the radio interface?</source> <source>Do you want to reconfigure the radio interface?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -3435,7 +3545,27 @@ list. The list can be maintained in Settings (F2).</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="819"/> <location filename="../widgets/mainwindow.cpp" line="828"/>
<location filename="../widgets/mainwindow.cpp" line="5792"/>
<location filename="../widgets/mainwindow.cpp" line="5798"/>
<location filename="../widgets/mainwindow.cpp" line="5836"/>
<location filename="../widgets/mainwindow.cpp" line="5846"/>
<location filename="../widgets/mainwindow.cpp" line="5943"/>
<location filename="../widgets/mainwindow.cpp" line="5944"/>
<location filename="../widgets/mainwindow.cpp" line="5992"/>
<location filename="../widgets/mainwindow.cpp" line="5993"/>
<location filename="../widgets/mainwindow.cpp" line="5997"/>
<location filename="../widgets/mainwindow.cpp" line="5998"/>
<location filename="../widgets/mainwindow.cpp" line="6045"/>
<location filename="../widgets/mainwindow.cpp" line="6046"/>
<location filename="../widgets/mainwindow.cpp" line="6211"/>
<location filename="../widgets/mainwindow.cpp" line="6212"/>
<location filename="../widgets/mainwindow.cpp" line="6397"/>
<source>Message</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widgets/mainwindow.cpp" line="842"/>
<source>Error Killing jt9.exe Process</source> <source>Error Killing jt9.exe Process</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -3455,23 +3585,23 @@ list. The list can be maintained in Settings (F2).</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="1254"/> <location filename="../widgets/mainwindow.cpp" line="1258"/>
<location filename="../widgets/mainwindow.cpp" line="6063"/> <location filename="../widgets/mainwindow.cpp" line="6186"/>
<source>Improper mode</source> <source>Improper mode</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="1405"/> <location filename="../widgets/mainwindow.cpp" line="1409"/>
<location filename="../widgets/mainwindow.cpp" line="8591"/> <location filename="../widgets/mainwindow.cpp" line="8730"/>
<source>File Open Error</source> <source>File Open Error</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="1406"/> <location filename="../widgets/mainwindow.cpp" line="1410"/>
<location filename="../widgets/mainwindow.cpp" line="7620"/> <location filename="../widgets/mainwindow.cpp" line="7748"/>
<location filename="../widgets/mainwindow.cpp" line="8039"/> <location filename="../widgets/mainwindow.cpp" line="8177"/>
<location filename="../widgets/mainwindow.cpp" line="8592"/> <location filename="../widgets/mainwindow.cpp" line="8731"/>
<location filename="../widgets/mainwindow.cpp" line="8712"/> <location filename="../widgets/mainwindow.cpp" line="8857"/>
<source>Cannot open &quot;%1&quot; for append: %2</source> <source>Cannot open &quot;%1&quot; for append: %2</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -3491,7 +3621,21 @@ list. The list can be maintained in Settings (F2).</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="2072"/> <location filename="../widgets/mainwindow.cpp" line="1787"/>
<location filename="../widgets/mainwindow.cpp" line="5941"/>
<location filename="../widgets/mainwindow.cpp" line="6087"/>
<source>Single-Period Decodes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widgets/mainwindow.cpp" line="1788"/>
<location filename="../widgets/mainwindow.cpp" line="5942"/>
<location filename="../widgets/mainwindow.cpp" line="6088"/>
<source>Average Decodes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widgets/mainwindow.cpp" line="2089"/>
<source>Change Operator</source> <source>Change Operator</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -3506,8 +3650,8 @@ list. The list can be maintained in Settings (F2).</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="2175"/> <location filename="../widgets/mainwindow.cpp" line="2200"/>
<location filename="../widgets/mainwindow.cpp" line="5296"/> <location filename="../widgets/mainwindow.cpp" line="5405"/>
<source>Cannot open &quot;%1&quot; for writing: %2</source> <source>Cannot open &quot;%1&quot; for writing: %2</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -3625,161 +3769,194 @@ list. The list can be maintained in Settings (F2).</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="4546"/> <location filename="../widgets/mainwindow.cpp" line="4224"/>
<source>Last Tx: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widgets/mainwindow.cpp" line="4624"/>
<source>Should you switch to EU VHF Contest mode?
To do so, check &apos;Special operating activity&apos; and
&apos;EU VHF Contest&apos; on the Settings | Advanced tab.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widgets/mainwindow.cpp" line="4643"/>
<source>Should you switch to ARRL Field Day mode?</source> <source>Should you switch to ARRL Field Day mode?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="4553"/> <location filename="../widgets/mainwindow.cpp" line="4648"/>
<source>Should you switch to RTTY contest mode?</source> <source>Should you switch to RTTY contest mode?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="5263"/> <location filename="../widgets/mainwindow.cpp" line="5372"/>
<location filename="../widgets/mainwindow.cpp" line="5282"/> <location filename="../widgets/mainwindow.cpp" line="5391"/>
<location filename="../widgets/mainwindow.cpp" line="5295"/> <location filename="../widgets/mainwindow.cpp" line="5404"/>
<location filename="../widgets/mainwindow.cpp" line="5321"/> <location filename="../widgets/mainwindow.cpp" line="5430"/>
<source>Add to CALL3.TXT</source> <source>Add to CALL3.TXT</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="5264"/> <location filename="../widgets/mainwindow.cpp" line="5373"/>
<source>Please enter a valid grid locator</source> <source>Please enter a valid grid locator</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="5283"/> <location filename="../widgets/mainwindow.cpp" line="5392"/>
<source>Cannot open &quot;%1&quot; for read/write: %2</source> <source>Cannot open &quot;%1&quot; for read/write: %2</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="5319"/> <location filename="../widgets/mainwindow.cpp" line="5428"/>
<source>%1 <source>%1
is already in CALL3.TXT, do you wish to replace it?</source> is already in CALL3.TXT, do you wish to replace it?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="5486"/> <location filename="../widgets/mainwindow.cpp" line="5603"/>
<source>Warning: DX Call field is empty.</source> <source>Warning: DX Call field is empty.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="5539"/> <location filename="../widgets/mainwindow.cpp" line="5660"/>
<source>Log file error</source> <source>Log file error</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="5540"/> <location filename="../widgets/mainwindow.cpp" line="5661"/>
<source>Cannot open &quot;%1&quot;</source> <source>Cannot open &quot;%1&quot;</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="5556"/> <location filename="../widgets/mainwindow.cpp" line="5677"/>
<source>Error sending log to N1MM</source> <source>Error sending log to N1MM</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="5557"/> <location filename="../widgets/mainwindow.cpp" line="5678"/>
<source>Write returned &quot;%1&quot;</source> <source>Write returned &quot;%1&quot;</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="6345"/> <location filename="../widgets/mainwindow.cpp" line="5842"/>
<location filename="../widgets/mainwindow.cpp" line="6378"/> <source>Stations calling DXpedition %1</source>
<location filename="../widgets/mainwindow.cpp" line="6388"/> <translation type="unfinished"></translation>
</message>
<message>
<location filename="../widgets/mainwindow.cpp" line="5877"/>
<source>Hound</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widgets/mainwindow.cpp" line="6217"/>
<source>Tx Messages</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widgets/mainwindow.cpp" line="6468"/>
<location filename="../widgets/mainwindow.cpp" line="6501"/>
<location filename="../widgets/mainwindow.cpp" line="6511"/>
<source>Confirm Erase</source> <source>Confirm Erase</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="6346"/> <location filename="../widgets/mainwindow.cpp" line="6469"/>
<source>Are you sure you want to erase file ALL.TXT?</source> <source>Are you sure you want to erase file ALL.TXT?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="6356"/> <location filename="../widgets/mainwindow.cpp" line="6479"/>
<location filename="../widgets/mainwindow.cpp" line="8084"/> <location filename="../widgets/mainwindow.cpp" line="8222"/>
<source>Confirm Reset</source> <source>Confirm Reset</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="6357"/> <location filename="../widgets/mainwindow.cpp" line="6480"/>
<source>Are you sure you want to erase your contest log?</source> <source>Are you sure you want to erase your contest log?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="6358"/> <location filename="../widgets/mainwindow.cpp" line="6481"/>
<source>Doing this will remove all QSO records for the current contest. They will be kept in the ADIF log file but will not be available for export in your Cabrillo log.</source> <source>Doing this will remove all QSO records for the current contest. They will be kept in the ADIF log file but will not be available for export in your Cabrillo log.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="6371"/> <location filename="../widgets/mainwindow.cpp" line="6494"/>
<source>Cabrillo Log saved</source> <source>Cabrillo Log saved</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="6379"/> <location filename="../widgets/mainwindow.cpp" line="6502"/>
<source>Are you sure you want to erase file wsjtx_log.adi?</source> <source>Are you sure you want to erase file wsjtx_log.adi?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="6389"/> <location filename="../widgets/mainwindow.cpp" line="6512"/>
<source>Are you sure you want to erase the WSPR hashtable?</source> <source>Are you sure you want to erase the WSPR hashtable?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="6483"/> <location filename="../widgets/mainwindow.cpp" line="6606"/>
<source>VHF features warning</source> <source>VHF features warning</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="7082"/> <location filename="../widgets/mainwindow.cpp" line="7211"/>
<source>Tune digital gain </source> <source>Tune digital gain </source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="7084"/> <location filename="../widgets/mainwindow.cpp" line="7213"/>
<source>Transmit digital gain </source> <source>Transmit digital gain </source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="7103"/> <location filename="../widgets/mainwindow.cpp" line="7232"/>
<source>Prefixes</source> <source>Prefixes</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="7472"/> <location filename="../widgets/mainwindow.cpp" line="7601"/>
<source>Network Error</source> <source>Network Error</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="7473"/> <location filename="../widgets/mainwindow.cpp" line="7602"/>
<source>Error: %1 <source>Error: %1
UDP server %2:%3</source> UDP server %2:%3</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="7619"/> <location filename="../widgets/mainwindow.cpp" line="7747"/>
<source>File Error</source> <source>File Error</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="7854"/> <location filename="../widgets/mainwindow.cpp" line="7981"/>
<source>Phase Training Disabled</source> <source>Phase Training Disabled</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="7857"/> <location filename="../widgets/mainwindow.cpp" line="7984"/>
<source>Phase Training Enabled</source> <source>Phase Training Enabled</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="8042"/> <location filename="../widgets/mainwindow.cpp" line="8118"/>
<location filename="../widgets/mainwindow.cpp" line="8715"/> <source>WD:%1m</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widgets/mainwindow.cpp" line="8180"/>
<location filename="../widgets/mainwindow.cpp" line="8860"/>
<source>Log File Error</source> <source>Log File Error</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="8085"/> <location filename="../widgets/mainwindow.cpp" line="8223"/>
<source>Are you sure you want to clear the QSO queues?</source> <source>Are you sure you want to clear the QSO queues?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -3937,7 +4114,7 @@ UDP server %2:%3</source>
<context> <context>
<name>QObject</name> <name>QObject</name>
<message> <message>
<location filename="../main.cpp" line="198"/> <location filename="../main.cpp" line="252"/>
<source>Invalid rig name - \ &amp; / not allowed</source> <source>Invalid rig name - \ &amp; / not allowed</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -4951,11 +5128,6 @@ a few, particularly some Kenwood rigs, require it).</source>
<source>RTS:</source> <source>RTS:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<location filename="../Configuration.ui" line="932"/>
<source>How this program activates the PTT on your radio</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<location filename="../Configuration.ui" line="935"/> <location filename="../Configuration.ui" line="935"/>
<source>PTT Method</source> <source>PTT Method</source>
@ -5607,7 +5779,27 @@ Right click for insert and delete options.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../Configuration.ui" line="2291"/> <location filename="../Configuration.ui" line="932"/>
<source>How this program activates the PTT on your radio?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Configuration.ui" line="954"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Use the RS-232 DTR control line to toggle your radio&apos;s PTT, requires hardware to interface the line.&lt;/p&gt;&lt;p&gt;Some commercial interface units also use this method.&lt;/p&gt;&lt;p&gt;The DTR control line of the CAT serial port may be used for this or a DTR control line on a different serial port may be used.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Configuration.ui" line="985"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Use the RS-232 RTS control line to toggle your radio&apos;s PTT, requires hardware to interface the line.&lt;/p&gt;&lt;p&gt;Some commercial interface units also use this method.&lt;/p&gt;&lt;p&gt;The RTS control line of the CAT serial port may be used for this or a RTS control line on a different serial port may be used. Note that this option is not available on the CAT serial port when hardware flow control is used.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Configuration.ui" line="1083"/>
<source>If this is available then it is usually the correct mode for this program.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Configuration.ui" line="2231"/>
<source>Rescan ADIF Log</source> <source>Rescan ADIF Log</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -5889,104 +6081,114 @@ Right click for insert and delete options.</source>
<name>main</name> <name>main</name>
<message> <message>
<location filename="../main.cpp" line="81"/> <location filename="../main.cpp" line="81"/>
<location filename="../main.cpp" line="412"/> <location filename="../main.cpp" line="468"/>
<source>Fatal error</source> <source>Fatal error</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="86"/> <location filename="../main.cpp" line="86"/>
<location filename="../main.cpp" line="417"/> <location filename="../main.cpp" line="473"/>
<source>Unexpected fatal error</source> <source>Unexpected fatal error</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="154"/> <location filename="../main.cpp" line="149"/>
<source>Where &lt;rig-name&gt; is for multi-instance support.</source> <source>Where &lt;rig-name&gt; is for multi-instance support.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="155"/> <location filename="../main.cpp" line="150"/>
<source>rig-name</source> <source>rig-name</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="160"/> <location filename="../main.cpp" line="155"/>
<source>Where &lt;configuration&gt; is an existing one.</source> <source>Where &lt;configuration&gt; is an existing one.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="161"/> <location filename="../main.cpp" line="156"/>
<source>configuration</source> <source>configuration</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="165"/> <location filename="../main.cpp" line="161"/>
<source>Where &lt;language&gt; is &lt;lang-code&gt;[-&lt;country-code&gt;].</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="162"/>
<source>language</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="166"/>
<source>Writable files in test location. Use with caution, for testing only.</source> <source>Writable files in test location. Use with caution, for testing only.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="170"/> <location filename="../main.cpp" line="171"/>
<source>Command line error</source> <source>Command line error</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="177"/> <location filename="../main.cpp" line="178"/>
<source>Command line help</source> <source>Command line help</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="182"/> <location filename="../main.cpp" line="183"/>
<source>Application version</source> <source>Application version</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="229"/> <location filename="../main.cpp" line="283"/>
<source>Another instance may be running</source> <source>Another instance may be running</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="230"/> <location filename="../main.cpp" line="284"/>
<source>try to remove stale lock file?</source> <source>try to remove stale lock file?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="265"/> <location filename="../main.cpp" line="319"/>
<source>Failed to create a temporary directory</source> <source>Failed to create a temporary directory</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="266"/> <location filename="../main.cpp" line="320"/>
<location filename="../main.cpp" line="274"/> <location filename="../main.cpp" line="328"/>
<source>Path: &quot;%1&quot;</source> <source>Path: &quot;%1&quot;</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="272"/> <location filename="../main.cpp" line="326"/>
<source>Failed to create a usable temporary directory</source> <source>Failed to create a usable temporary directory</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="273"/> <location filename="../main.cpp" line="327"/>
<source>Another application may be locking the directory</source> <source>Another application may be locking the directory</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="306"/> <location filename="../main.cpp" line="360"/>
<source>Failed to create data directory</source> <source>Failed to create data directory</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="307"/> <location filename="../main.cpp" line="361"/>
<source>path: &quot;%1&quot;</source> <source>path: &quot;%1&quot;</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="362"/> <location filename="../main.cpp" line="416"/>
<source>Shared memory error</source> <source>Shared memory error</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="363"/> <location filename="../main.cpp" line="417"/>
<source>Unable to create shared memory segment</source> <source>Unable to create shared memory segment</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>

6214
translations/wsjtx_es_ES.ts Normal file

File diff suppressed because it is too large Load Diff

View File

@ -18,7 +18,7 @@
</message> </message>
<message numerus="yes"> <message numerus="yes">
<location filename="../widgets/AbstractLogWindow.cpp" line="65"/> <location filename="../widgets/AbstractLogWindow.cpp" line="65"/>
<source>Are you sure you want to delete the %n selected QSO(s) from the log</source> <source>Are you sure you want to delete the %n selected QSO(s) from the log?</source>
<translation type="unfinished"> <translation type="unfinished">
<numerusform></numerusform> <numerusform></numerusform>
<numerusform></numerusform> <numerusform></numerusform>
@ -692,7 +692,7 @@ Format:
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../DXLabSuiteCommanderTransceiver.cpp" line="503"/> <location filename="../Transceiver/DXLabSuiteCommanderTransceiver.cpp" line="503"/>
<source>DX Lab Suite Commander sent an unrecognized frequency</source> <source>DX Lab Suite Commander sent an unrecognized frequency</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -737,6 +737,96 @@ Format:
</context> </context>
<context> <context>
<name>DecodeHighlightingModel</name> <name>DecodeHighlightingModel</name>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="104"/>
<source>CQ in message</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="105"/>
<source>My Call in message</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="106"/>
<source>Transmitted message</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="107"/>
<source>New DXCC</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="108"/>
<source>New DXCC on Band</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="109"/>
<source>New Grid</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="110"/>
<source>New Grid on Band</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="111"/>
<source>New Call</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="112"/>
<source>New Call on Band</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="113"/>
<source>New Continent</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="114"/>
<source>New Continent on Band</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="115"/>
<source>New CQ Zone</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="116"/>
<source>New CQ Zone on Band</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="117"/>
<source>New ITU Zone</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="118"/>
<source>New ITU Zone on Band</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="119"/>
<source>LoTW User</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="169"/>
<source>f/g unset</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../models/DecodeHighlightingModel.cpp" line="171"/>
<source>b/g unset</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<location filename="../models/DecodeHighlightingModel.cpp" line="244"/> <location filename="../models/DecodeHighlightingModel.cpp" line="244"/>
<source>Highlight Type</source> <source>Highlight Type</source>
@ -1822,6 +1912,12 @@ Error(%2): %3</source>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.ui" line="50"/> <location filename="../widgets/mainwindow.ui" line="50"/>
<location filename="../widgets/mainwindow.cpp" line="5797"/>
<location filename="../widgets/mainwindow.cpp" line="5845"/>
<location filename="../widgets/mainwindow.cpp" line="6003"/>
<location filename="../widgets/mainwindow.cpp" line="6043"/>
<location filename="../widgets/mainwindow.cpp" line="6091"/>
<location filename="../widgets/mainwindow.cpp" line="6216"/>
<source>Band Activity</source> <source>Band Activity</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -1833,6 +1929,11 @@ Error(%2): %3</source>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.ui" line="194"/> <location filename="../widgets/mainwindow.ui" line="194"/>
<location filename="../widgets/mainwindow.cpp" line="5796"/>
<location filename="../widgets/mainwindow.cpp" line="5840"/>
<location filename="../widgets/mainwindow.cpp" line="6004"/>
<location filename="../widgets/mainwindow.cpp" line="6044"/>
<location filename="../widgets/mainwindow.cpp" line="6092"/>
<source>Rx Frequency</source> <source>Rx Frequency</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -2290,6 +2391,7 @@ Not available to nonstandard callsign holders.</source>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.ui" line="1394"/> <location filename="../widgets/mainwindow.ui" line="1394"/>
<location filename="../widgets/mainwindow.cpp" line="5867"/>
<source>Fox</source> <source>Fox</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -3130,6 +3232,7 @@ list. The list can be maintained in Settings (F2).</source>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.ui" line="3125"/> <location filename="../widgets/mainwindow.ui" line="3125"/>
<location filename="../widgets/mainwindow.cpp" line="8103"/>
<source>Runaway Tx watchdog</source> <source>Runaway Tx watchdog</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -3405,7 +3508,14 @@ list. The list can be maintained in Settings (F2).</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="434"/> <location filename="../widgets/mainwindow.cpp" line="329"/>
<location filename="../widgets/mainwindow.cpp" line="4120"/>
<location filename="../widgets/mainwindow.cpp" line="7634"/>
<source>Receiving</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widgets/mainwindow.cpp" line="437"/>
<source>Do you want to reconfigure the radio interface?</source> <source>Do you want to reconfigure the radio interface?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -3435,7 +3545,27 @@ list. The list can be maintained in Settings (F2).</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="819"/> <location filename="../widgets/mainwindow.cpp" line="828"/>
<location filename="../widgets/mainwindow.cpp" line="5792"/>
<location filename="../widgets/mainwindow.cpp" line="5798"/>
<location filename="../widgets/mainwindow.cpp" line="5836"/>
<location filename="../widgets/mainwindow.cpp" line="5846"/>
<location filename="../widgets/mainwindow.cpp" line="5943"/>
<location filename="../widgets/mainwindow.cpp" line="5944"/>
<location filename="../widgets/mainwindow.cpp" line="5992"/>
<location filename="../widgets/mainwindow.cpp" line="5993"/>
<location filename="../widgets/mainwindow.cpp" line="5997"/>
<location filename="../widgets/mainwindow.cpp" line="5998"/>
<location filename="../widgets/mainwindow.cpp" line="6045"/>
<location filename="../widgets/mainwindow.cpp" line="6046"/>
<location filename="../widgets/mainwindow.cpp" line="6211"/>
<location filename="../widgets/mainwindow.cpp" line="6212"/>
<location filename="../widgets/mainwindow.cpp" line="6397"/>
<source>Message</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widgets/mainwindow.cpp" line="842"/>
<source>Error Killing jt9.exe Process</source> <source>Error Killing jt9.exe Process</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -3455,23 +3585,23 @@ list. The list can be maintained in Settings (F2).</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="1254"/> <location filename="../widgets/mainwindow.cpp" line="1258"/>
<location filename="../widgets/mainwindow.cpp" line="6063"/> <location filename="../widgets/mainwindow.cpp" line="6186"/>
<source>Improper mode</source> <source>Improper mode</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="1405"/> <location filename="../widgets/mainwindow.cpp" line="1409"/>
<location filename="../widgets/mainwindow.cpp" line="8591"/> <location filename="../widgets/mainwindow.cpp" line="8730"/>
<source>File Open Error</source> <source>File Open Error</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="1406"/> <location filename="../widgets/mainwindow.cpp" line="1410"/>
<location filename="../widgets/mainwindow.cpp" line="7620"/> <location filename="../widgets/mainwindow.cpp" line="7748"/>
<location filename="../widgets/mainwindow.cpp" line="8039"/> <location filename="../widgets/mainwindow.cpp" line="8177"/>
<location filename="../widgets/mainwindow.cpp" line="8592"/> <location filename="../widgets/mainwindow.cpp" line="8731"/>
<location filename="../widgets/mainwindow.cpp" line="8712"/> <location filename="../widgets/mainwindow.cpp" line="8857"/>
<source>Cannot open &quot;%1&quot; for append: %2</source> <source>Cannot open &quot;%1&quot; for append: %2</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -3491,7 +3621,21 @@ list. The list can be maintained in Settings (F2).</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="2072"/> <location filename="../widgets/mainwindow.cpp" line="1787"/>
<location filename="../widgets/mainwindow.cpp" line="5941"/>
<location filename="../widgets/mainwindow.cpp" line="6087"/>
<source>Single-Period Decodes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widgets/mainwindow.cpp" line="1788"/>
<location filename="../widgets/mainwindow.cpp" line="5942"/>
<location filename="../widgets/mainwindow.cpp" line="6088"/>
<source>Average Decodes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widgets/mainwindow.cpp" line="2089"/>
<source>Change Operator</source> <source>Change Operator</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -3506,8 +3650,8 @@ list. The list can be maintained in Settings (F2).</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="2175"/> <location filename="../widgets/mainwindow.cpp" line="2200"/>
<location filename="../widgets/mainwindow.cpp" line="5296"/> <location filename="../widgets/mainwindow.cpp" line="5405"/>
<source>Cannot open &quot;%1&quot; for writing: %2</source> <source>Cannot open &quot;%1&quot; for writing: %2</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -3625,161 +3769,194 @@ list. The list can be maintained in Settings (F2).</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="4546"/> <location filename="../widgets/mainwindow.cpp" line="4224"/>
<source>Last Tx: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widgets/mainwindow.cpp" line="4624"/>
<source>Should you switch to EU VHF Contest mode?
To do so, check &apos;Special operating activity&apos; and
&apos;EU VHF Contest&apos; on the Settings | Advanced tab.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widgets/mainwindow.cpp" line="4643"/>
<source>Should you switch to ARRL Field Day mode?</source> <source>Should you switch to ARRL Field Day mode?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="4553"/> <location filename="../widgets/mainwindow.cpp" line="4648"/>
<source>Should you switch to RTTY contest mode?</source> <source>Should you switch to RTTY contest mode?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="5263"/> <location filename="../widgets/mainwindow.cpp" line="5372"/>
<location filename="../widgets/mainwindow.cpp" line="5282"/> <location filename="../widgets/mainwindow.cpp" line="5391"/>
<location filename="../widgets/mainwindow.cpp" line="5295"/> <location filename="../widgets/mainwindow.cpp" line="5404"/>
<location filename="../widgets/mainwindow.cpp" line="5321"/> <location filename="../widgets/mainwindow.cpp" line="5430"/>
<source>Add to CALL3.TXT</source> <source>Add to CALL3.TXT</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="5264"/> <location filename="../widgets/mainwindow.cpp" line="5373"/>
<source>Please enter a valid grid locator</source> <source>Please enter a valid grid locator</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="5283"/> <location filename="../widgets/mainwindow.cpp" line="5392"/>
<source>Cannot open &quot;%1&quot; for read/write: %2</source> <source>Cannot open &quot;%1&quot; for read/write: %2</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="5319"/> <location filename="../widgets/mainwindow.cpp" line="5428"/>
<source>%1 <source>%1
is already in CALL3.TXT, do you wish to replace it?</source> is already in CALL3.TXT, do you wish to replace it?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="5486"/> <location filename="../widgets/mainwindow.cpp" line="5603"/>
<source>Warning: DX Call field is empty.</source> <source>Warning: DX Call field is empty.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="5539"/> <location filename="../widgets/mainwindow.cpp" line="5660"/>
<source>Log file error</source> <source>Log file error</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="5540"/> <location filename="../widgets/mainwindow.cpp" line="5661"/>
<source>Cannot open &quot;%1&quot;</source> <source>Cannot open &quot;%1&quot;</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="5556"/> <location filename="../widgets/mainwindow.cpp" line="5677"/>
<source>Error sending log to N1MM</source> <source>Error sending log to N1MM</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="5557"/> <location filename="../widgets/mainwindow.cpp" line="5678"/>
<source>Write returned &quot;%1&quot;</source> <source>Write returned &quot;%1&quot;</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="6345"/> <location filename="../widgets/mainwindow.cpp" line="5842"/>
<location filename="../widgets/mainwindow.cpp" line="6378"/> <source>Stations calling DXpedition %1</source>
<location filename="../widgets/mainwindow.cpp" line="6388"/> <translation type="unfinished"></translation>
</message>
<message>
<location filename="../widgets/mainwindow.cpp" line="5877"/>
<source>Hound</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widgets/mainwindow.cpp" line="6217"/>
<source>Tx Messages</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widgets/mainwindow.cpp" line="6468"/>
<location filename="../widgets/mainwindow.cpp" line="6501"/>
<location filename="../widgets/mainwindow.cpp" line="6511"/>
<source>Confirm Erase</source> <source>Confirm Erase</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="6346"/> <location filename="../widgets/mainwindow.cpp" line="6469"/>
<source>Are you sure you want to erase file ALL.TXT?</source> <source>Are you sure you want to erase file ALL.TXT?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="6356"/> <location filename="../widgets/mainwindow.cpp" line="6479"/>
<location filename="../widgets/mainwindow.cpp" line="8084"/> <location filename="../widgets/mainwindow.cpp" line="8222"/>
<source>Confirm Reset</source> <source>Confirm Reset</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="6357"/> <location filename="../widgets/mainwindow.cpp" line="6480"/>
<source>Are you sure you want to erase your contest log?</source> <source>Are you sure you want to erase your contest log?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="6358"/> <location filename="../widgets/mainwindow.cpp" line="6481"/>
<source>Doing this will remove all QSO records for the current contest. They will be kept in the ADIF log file but will not be available for export in your Cabrillo log.</source> <source>Doing this will remove all QSO records for the current contest. They will be kept in the ADIF log file but will not be available for export in your Cabrillo log.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="6371"/> <location filename="../widgets/mainwindow.cpp" line="6494"/>
<source>Cabrillo Log saved</source> <source>Cabrillo Log saved</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="6379"/> <location filename="../widgets/mainwindow.cpp" line="6502"/>
<source>Are you sure you want to erase file wsjtx_log.adi?</source> <source>Are you sure you want to erase file wsjtx_log.adi?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="6389"/> <location filename="../widgets/mainwindow.cpp" line="6512"/>
<source>Are you sure you want to erase the WSPR hashtable?</source> <source>Are you sure you want to erase the WSPR hashtable?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="6483"/> <location filename="../widgets/mainwindow.cpp" line="6606"/>
<source>VHF features warning</source> <source>VHF features warning</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="7082"/> <location filename="../widgets/mainwindow.cpp" line="7211"/>
<source>Tune digital gain </source> <source>Tune digital gain </source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="7084"/> <location filename="../widgets/mainwindow.cpp" line="7213"/>
<source>Transmit digital gain </source> <source>Transmit digital gain </source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="7103"/> <location filename="../widgets/mainwindow.cpp" line="7232"/>
<source>Prefixes</source> <source>Prefixes</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="7472"/> <location filename="../widgets/mainwindow.cpp" line="7601"/>
<source>Network Error</source> <source>Network Error</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="7473"/> <location filename="../widgets/mainwindow.cpp" line="7602"/>
<source>Error: %1 <source>Error: %1
UDP server %2:%3</source> UDP server %2:%3</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="7619"/> <location filename="../widgets/mainwindow.cpp" line="7747"/>
<source>File Error</source> <source>File Error</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="7854"/> <location filename="../widgets/mainwindow.cpp" line="7981"/>
<source>Phase Training Disabled</source> <source>Phase Training Disabled</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="7857"/> <location filename="../widgets/mainwindow.cpp" line="7984"/>
<source>Phase Training Enabled</source> <source>Phase Training Enabled</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="8042"/> <location filename="../widgets/mainwindow.cpp" line="8118"/>
<location filename="../widgets/mainwindow.cpp" line="8715"/> <source>WD:%1m</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widgets/mainwindow.cpp" line="8180"/>
<location filename="../widgets/mainwindow.cpp" line="8860"/>
<source>Log File Error</source> <source>Log File Error</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../widgets/mainwindow.cpp" line="8085"/> <location filename="../widgets/mainwindow.cpp" line="8223"/>
<source>Are you sure you want to clear the QSO queues?</source> <source>Are you sure you want to clear the QSO queues?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -3937,7 +4114,7 @@ UDP server %2:%3</source>
<context> <context>
<name>QObject</name> <name>QObject</name>
<message> <message>
<location filename="../main.cpp" line="198"/> <location filename="../main.cpp" line="252"/>
<source>Invalid rig name - \ &amp; / not allowed</source> <source>Invalid rig name - \ &amp; / not allowed</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -4951,11 +5128,6 @@ a few, particularly some Kenwood rigs, require it).</source>
<source>RTS:</source> <source>RTS:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<location filename="../Configuration.ui" line="932"/>
<source>How this program activates the PTT on your radio</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<location filename="../Configuration.ui" line="935"/> <location filename="../Configuration.ui" line="935"/>
<source>PTT Method</source> <source>PTT Method</source>
@ -5607,7 +5779,27 @@ Right click for insert and delete options.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../Configuration.ui" line="2291"/> <location filename="../Configuration.ui" line="932"/>
<source>How this program activates the PTT on your radio?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Configuration.ui" line="954"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Use the RS-232 DTR control line to toggle your radio&apos;s PTT, requires hardware to interface the line.&lt;/p&gt;&lt;p&gt;Some commercial interface units also use this method.&lt;/p&gt;&lt;p&gt;The DTR control line of the CAT serial port may be used for this or a DTR control line on a different serial port may be used.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Configuration.ui" line="985"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Use the RS-232 RTS control line to toggle your radio&apos;s PTT, requires hardware to interface the line.&lt;/p&gt;&lt;p&gt;Some commercial interface units also use this method.&lt;/p&gt;&lt;p&gt;The RTS control line of the CAT serial port may be used for this or a RTS control line on a different serial port may be used. Note that this option is not available on the CAT serial port when hardware flow control is used.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Configuration.ui" line="1083"/>
<source>If this is available then it is usually the correct mode for this program.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Configuration.ui" line="2231"/>
<source>Rescan ADIF Log</source> <source>Rescan ADIF Log</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -5889,104 +6081,114 @@ Right click for insert and delete options.</source>
<name>main</name> <name>main</name>
<message> <message>
<location filename="../main.cpp" line="81"/> <location filename="../main.cpp" line="81"/>
<location filename="../main.cpp" line="412"/> <location filename="../main.cpp" line="468"/>
<source>Fatal error</source> <source>Fatal error</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="86"/> <location filename="../main.cpp" line="86"/>
<location filename="../main.cpp" line="417"/> <location filename="../main.cpp" line="473"/>
<source>Unexpected fatal error</source> <source>Unexpected fatal error</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="154"/> <location filename="../main.cpp" line="149"/>
<source>Where &lt;rig-name&gt; is for multi-instance support.</source> <source>Where &lt;rig-name&gt; is for multi-instance support.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="155"/> <location filename="../main.cpp" line="150"/>
<source>rig-name</source> <source>rig-name</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="160"/> <location filename="../main.cpp" line="155"/>
<source>Where &lt;configuration&gt; is an existing one.</source> <source>Where &lt;configuration&gt; is an existing one.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="161"/> <location filename="../main.cpp" line="156"/>
<source>configuration</source> <source>configuration</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="165"/> <location filename="../main.cpp" line="161"/>
<source>Where &lt;language&gt; is &lt;lang-code&gt;[-&lt;country-code&gt;].</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="162"/>
<source>language</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="166"/>
<source>Writable files in test location. Use with caution, for testing only.</source> <source>Writable files in test location. Use with caution, for testing only.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="170"/> <location filename="../main.cpp" line="171"/>
<source>Command line error</source> <source>Command line error</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="177"/> <location filename="../main.cpp" line="178"/>
<source>Command line help</source> <source>Command line help</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="182"/> <location filename="../main.cpp" line="183"/>
<source>Application version</source> <source>Application version</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="229"/> <location filename="../main.cpp" line="283"/>
<source>Another instance may be running</source> <source>Another instance may be running</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="230"/> <location filename="../main.cpp" line="284"/>
<source>try to remove stale lock file?</source> <source>try to remove stale lock file?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="265"/> <location filename="../main.cpp" line="319"/>
<source>Failed to create a temporary directory</source> <source>Failed to create a temporary directory</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="266"/> <location filename="../main.cpp" line="320"/>
<location filename="../main.cpp" line="274"/> <location filename="../main.cpp" line="328"/>
<source>Path: &quot;%1&quot;</source> <source>Path: &quot;%1&quot;</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="272"/> <location filename="../main.cpp" line="326"/>
<source>Failed to create a usable temporary directory</source> <source>Failed to create a usable temporary directory</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="273"/> <location filename="../main.cpp" line="327"/>
<source>Another application may be locking the directory</source> <source>Another application may be locking the directory</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="306"/> <location filename="../main.cpp" line="360"/>
<source>Failed to create data directory</source> <source>Failed to create data directory</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="307"/> <location filename="../main.cpp" line="361"/>
<source>path: &quot;%1&quot;</source> <source>path: &quot;%1&quot;</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="362"/> <location filename="../main.cpp" line="416"/>
<source>Shared memory error</source> <source>Shared memory error</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="363"/> <location filename="../main.cpp" line="417"/>
<source>Unable to create shared memory segment</source> <source>Unable to create shared memory segment</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>

View File

@ -63,7 +63,7 @@ void AbstractLogWindow::impl::delete_QSOs ()
&& MessageBox::Yes == MessageBox::query_message (self_ && MessageBox::Yes == MessageBox::query_message (self_
, tr ("Confirm Delete") , tr ("Confirm Delete")
, tr ("Are you sure you want to delete the %n " , tr ("Are you sure you want to delete the %n "
"selected QSO(s) from the log", "" "selected QSO(s) from the log?", ""
, row_indexes.size ()))) , row_indexes.size ())))
{ {
// We must work with source model indexes because we don't want row // We must work with source model indexes because we don't want row

View File

@ -326,7 +326,7 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple,
m_nsendingsh {0}, m_nsendingsh {0},
m_onAirFreq0 {0.0}, m_onAirFreq0 {0.0},
m_first_error {true}, m_first_error {true},
tx_status_label {"Receiving"}, tx_status_label {tr ("Receiving")},
wsprNet {new WSPRNet {&m_network_manager, this}}, wsprNet {new WSPRNet {&m_network_manager, this}},
m_appDir {QApplication::applicationDirPath ()}, m_appDir {QApplication::applicationDirPath ()},
m_cqStr {""}, m_cqStr {""},
@ -820,7 +820,7 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple,
ui->labAz->setStyleSheet("border: 0px;"); ui->labAz->setStyleSheet("border: 0px;");
ui->labAz->setText(""); ui->labAz->setText("");
auto t = "UTC dB DT Freq Message"; auto t = "UTC dB DT Freq " + tr ("Message");
ui->decodedTextLabel->setText(t); ui->decodedTextLabel->setText(t);
ui->decodedTextLabel2->setText(t); ui->decodedTextLabel2->setText(t);
readSettings(); //Restore user's setup parameters readSettings(); //Restore user's setup parameters
@ -1779,8 +1779,8 @@ void MainWindow::on_actionSettings_triggered() //Setup Dialog
m_config.transceiver_online (); m_config.transceiver_online ();
if(!m_bFastMode) setXIT (ui->TxFreqSpinBox->value ()); if(!m_bFastMode) setXIT (ui->TxFreqSpinBox->value ());
if(m_config.single_decode() or m_mode=="JT4") { if(m_config.single_decode() or m_mode=="JT4") {
ui->label_6->setText("Single-Period Decodes"); ui->label_6->setText(tr ("Single-Period Decodes"));
ui->label_7->setText("Average Decodes"); ui->label_7->setText(tr ("Average Decodes"));
} }
update_watchdog_label (); update_watchdog_label ();
@ -4110,12 +4110,11 @@ void MainWindow::guiUpdate()
} else if(m_monitoring) { } else if(m_monitoring) {
if (!m_tx_watchdog) { if (!m_tx_watchdog) {
tx_status_label.setStyleSheet("QLabel{background-color: #00ff00}"); tx_status_label.setStyleSheet("QLabel{background-color: #00ff00}");
QString t; auto t = tr ("Receiving");
t="Receiving";
if(m_mode=="MSK144") { if(m_mode=="MSK144") {
int npct=int(100.0*m_fCPUmskrtd/0.298667); int npct=int(100.0*m_fCPUmskrtd/0.298667);
if(npct>90) tx_status_label.setStyleSheet("QLabel{background-color: #ff0000}"); if(npct>90) tx_status_label.setStyleSheet("QLabel{background-color: #ff0000}");
t = t.asprintf("Receiving %2d%%",npct); t += QString {" %1%"}.arg (npct, 2);
} }
tx_status_label.setText (t); tx_status_label.setText (t);
} }
@ -4215,7 +4214,7 @@ void MainWindow::stopTx2()
WSPR_scheduling (); WSPR_scheduling ();
m_ntr=0; m_ntr=0;
} }
last_tx_label.setText("Last Tx: " + m_currentMessage.trimmed()); last_tx_label.setText(tr ("Last Tx: %1").arg (m_currentMessage.trimmed()));
} }
void MainWindow::ba2msg(QByteArray ba, char message[]) //ba2msg() void MainWindow::ba2msg(QByteArray ba, char message[]) //ba2msg()
@ -5783,13 +5782,13 @@ void MainWindow::on_actionFT4_triggered()
// ui->cbAutoSeq->setChecked(false); // ui->cbAutoSeq->setChecked(false);
m_fastGraph->hide(); m_fastGraph->hide();
m_wideGraph->show(); m_wideGraph->show();
ui->decodedTextLabel2->setText(" UTC dB DT Freq Message"); ui->decodedTextLabel2->setText(" UTC dB DT Freq " + tr ("Message"));
m_wideGraph->setPeriod(m_TRperiod,m_nsps); m_wideGraph->setPeriod(m_TRperiod,m_nsps);
m_modulator->setTRPeriod(m_TRperiod); // TODO - not thread safe m_modulator->setTRPeriod(m_TRperiod); // TODO - not thread safe
m_detector->setTRPeriod(m_TRperiod); // TODO - not thread safe m_detector->setTRPeriod(m_TRperiod); // TODO - not thread safe
ui->label_7->setText("Rx Frequency"); ui->label_7->setText(tr ("Rx Frequency"));
ui->label_6->setText("Band Activity"); ui->label_6->setText(tr ("Band Activity"));
ui->decodedTextLabel->setText( " UTC dB DT Freq Message"); ui->decodedTextLabel->setText( " UTC dB DT Freq " + tr ("Message"));
displayWidgets(nWidgets("111010000100111000010000000110001")); displayWidgets(nWidgets("111010000100111000010000000110001"));
ui->txrb2->setEnabled(true); ui->txrb2->setEnabled(true);
ui->txrb4->setEnabled(true); ui->txrb4->setEnabled(true);
@ -5827,17 +5826,17 @@ void MainWindow::on_actionFT8_triggered()
m_TRperiod=15.0; m_TRperiod=15.0;
m_fastGraph->hide(); m_fastGraph->hide();
m_wideGraph->show(); m_wideGraph->show();
ui->decodedTextLabel2->setText(" UTC dB DT Freq Message"); ui->decodedTextLabel2->setText(" UTC dB DT Freq " + tr ("Message"));
m_wideGraph->setPeriod(m_TRperiod,m_nsps); m_wideGraph->setPeriod(m_TRperiod,m_nsps);
m_modulator->setTRPeriod(m_TRperiod); // TODO - not thread safe m_modulator->setTRPeriod(m_TRperiod); // TODO - not thread safe
m_detector->setTRPeriod(m_TRperiod); // TODO - not thread safe m_detector->setTRPeriod(m_TRperiod); // TODO - not thread safe
ui->label_7->setText("Rx Frequency"); ui->label_7->setText(tr ("Rx Frequency"));
if(SpecOp::FOX==m_config.special_op_id()) { if(SpecOp::FOX==m_config.special_op_id()) {
ui->label_6->setText("Stations calling DXpedition " + m_config.my_callsign()); ui->label_6->setText(tr ("Stations calling DXpedition %1").arg (m_config.my_callsign()));
ui->decodedTextLabel->setText( "Call Grid dB Freq Dist Age Continent"); ui->decodedTextLabel->setText( "Call Grid dB Freq Dist Age Continent");
} else { } else {
ui->label_6->setText("Band Activity"); ui->label_6->setText(tr ("Band Activity"));
ui->decodedTextLabel->setText( " UTC dB DT Freq Message"); ui->decodedTextLabel->setText( " UTC dB DT Freq " + tr ("Message"));
} }
displayWidgets(nWidgets("111010000100111000010000100110001")); displayWidgets(nWidgets("111010000100111000010000100110001"));
ui->txrb2->setEnabled(true); ui->txrb2->setEnabled(true);
@ -5858,7 +5857,7 @@ void MainWindow::on_actionFT8_triggered()
ui->tabWidget->setCurrentIndex(2); ui->tabWidget->setCurrentIndex(2);
ui->TxFreqSpinBox->setValue(300); ui->TxFreqSpinBox->setValue(300);
displayWidgets(nWidgets("111010000100111000010000000000100")); displayWidgets(nWidgets("111010000100111000010000000000100"));
ui->labDXped->setText("Fox"); ui->labDXped->setText(tr ("Fox"));
on_fox_log_action_triggered(); on_fox_log_action_triggered();
} }
if(SpecOp::HOUND == m_config.special_op_id()) { if(SpecOp::HOUND == m_config.special_op_id()) {
@ -5868,7 +5867,7 @@ void MainWindow::on_actionFT8_triggered()
ui->tabWidget->setCurrentIndex(0); ui->tabWidget->setCurrentIndex(0);
ui->cbHoldTxFreq->setChecked(true); ui->cbHoldTxFreq->setChecked(true);
displayWidgets(nWidgets("111010000100110000010000000000110")); displayWidgets(nWidgets("111010000100110000010000000000110"));
ui->labDXped->setText("Hound"); ui->labDXped->setText(tr ("Hound"));
ui->txrb1->setChecked(true); ui->txrb1->setChecked(true);
ui->txrb2->setEnabled(false); ui->txrb2->setEnabled(false);
ui->txrb4->setEnabled(false); ui->txrb4->setEnabled(false);
@ -5932,10 +5931,10 @@ void MainWindow::on_actionJT4_triggered()
m_bFast9=false; m_bFast9=false;
setup_status_bar (bVHF); setup_status_bar (bVHF);
ui->sbSubmode->setMaximum(6); ui->sbSubmode->setMaximum(6);
ui->label_6->setText("Single-Period Decodes"); ui->label_6->setText(tr ("Single-Period Decodes"));
ui->label_7->setText("Average Decodes"); ui->label_7->setText(tr ("Average Decodes"));
ui->decodedTextLabel->setText("UTC dB DT Freq Message"); ui->decodedTextLabel->setText("UTC dB DT Freq " + tr ("Message"));
ui->decodedTextLabel2->setText("UTC dB DT Freq Message"); ui->decodedTextLabel2->setText("UTC dB DT Freq " + tr ("Message"));
if(bVHF) { if(bVHF) {
ui->sbSubmode->setValue(m_nSubMode); ui->sbSubmode->setValue(m_nSubMode);
} else { } else {
@ -5983,19 +5982,19 @@ void MainWindow::on_actionJT9_triggered()
m_fastGraph->show(); m_fastGraph->show();
ui->TxFreqSpinBox->setValue(700); ui->TxFreqSpinBox->setValue(700);
ui->RxFreqSpinBox->setValue(700); ui->RxFreqSpinBox->setValue(700);
ui->decodedTextLabel->setText("UTC dB T Freq Message"); ui->decodedTextLabel->setText("UTC dB T Freq " + tr ("Message"));
ui->decodedTextLabel2->setText("UTC dB T Freq Message"); ui->decodedTextLabel2->setText("UTC dB T Freq " + tr ("Message"));
} else { } else {
ui->cbAutoSeq->setChecked(false); ui->cbAutoSeq->setChecked(false);
m_TRperiod=60.0; m_TRperiod=60.0;
ui->decodedTextLabel->setText("UTC dB DT Freq Message"); ui->decodedTextLabel->setText("UTC dB DT Freq " + tr ("Message"));
ui->decodedTextLabel2->setText("UTC dB DT Freq Message"); ui->decodedTextLabel2->setText("UTC dB DT Freq " + tr ("Message"));
} }
m_wideGraph->setPeriod(m_TRperiod,m_nsps); m_wideGraph->setPeriod(m_TRperiod,m_nsps);
m_modulator->setTRPeriod(m_TRperiod); // TODO - not thread safe m_modulator->setTRPeriod(m_TRperiod); // TODO - not thread safe
m_detector->setTRPeriod(m_TRperiod); // TODO - not thread safe m_detector->setTRPeriod(m_TRperiod); // TODO - not thread safe
ui->label_6->setText("Band Activity"); ui->label_6->setText(tr ("Band Activity"));
ui->label_7->setText("Rx Frequency"); ui->label_7->setText(tr ("Rx Frequency"));
if(bVHF) { if(bVHF) {
displayWidgets(nWidgets("111110101000111110010000000000000")); displayWidgets(nWidgets("111110101000111110010000000000000"));
} else { } else {
@ -6034,10 +6033,10 @@ void MainWindow::on_actionJT9_JT65_triggered()
m_bFastMode=false; m_bFastMode=false;
m_bFast9=false; m_bFast9=false;
ui->sbSubmode->setValue(0); ui->sbSubmode->setValue(0);
ui->label_6->setText("Band Activity"); ui->label_6->setText(tr ("Band Activity"));
ui->label_7->setText("Rx Frequency"); ui->label_7->setText(tr ("Rx Frequency"));
ui->decodedTextLabel->setText("UTC dB DT Freq Message"); ui->decodedTextLabel->setText("UTC dB DT Freq " + tr ("Message"));
ui->decodedTextLabel2->setText("UTC dB DT Freq Message"); ui->decodedTextLabel2->setText("UTC dB DT Freq " + tr ("Message"));
displayWidgets(nWidgets("111010000001111000010000000000001")); displayWidgets(nWidgets("111010000001111000010000000000001"));
fast_config(false); fast_config(false);
statusChanged(); statusChanged();
@ -6078,12 +6077,12 @@ void MainWindow::on_actionJT65_triggered()
ui->sbSubmode->setMaximum(2); ui->sbSubmode->setMaximum(2);
if(bVHF) { if(bVHF) {
ui->sbSubmode->setValue(m_nSubMode); ui->sbSubmode->setValue(m_nSubMode);
ui->label_6->setText("Single-Period Decodes"); ui->label_6->setText(tr ("Single-Period Decodes"));
ui->label_7->setText("Average Decodes"); ui->label_7->setText(tr ("Average Decodes"));
} else { } else {
ui->sbSubmode->setValue(0); ui->sbSubmode->setValue(0);
ui->label_6->setText("Band Activity"); ui->label_6->setText(tr ("Band Activity"));
ui->label_7->setText("Rx Frequency"); ui->label_7->setText(tr ("Rx Frequency"));
} }
if(bVHF) { if(bVHF) {
displayWidgets(nWidgets("111110010000110110101100010000000")); displayWidgets(nWidgets("111110010000110110101100010000000"));
@ -6202,13 +6201,13 @@ void MainWindow::on_actionMSK144_triggered()
ui->RxFreqSpinBox->setMinimum(1400); ui->RxFreqSpinBox->setMinimum(1400);
ui->RxFreqSpinBox->setMaximum(1600); ui->RxFreqSpinBox->setMaximum(1600);
ui->RxFreqSpinBox->setSingleStep(10); ui->RxFreqSpinBox->setSingleStep(10);
ui->decodedTextLabel->setText("UTC dB T Freq Message"); ui->decodedTextLabel->setText("UTC dB T Freq " + tr ("Message"));
ui->decodedTextLabel2->setText("UTC dB T Freq Message"); ui->decodedTextLabel2->setText("UTC dB T Freq " + tr ("Message"));
m_modulator->setTRPeriod(m_TRperiod); // TODO - not thread safe m_modulator->setTRPeriod(m_TRperiod); // TODO - not thread safe
m_detector->setTRPeriod(m_TRperiod); // TODO - not thread safe m_detector->setTRPeriod(m_TRperiod); // TODO - not thread safe
m_fastGraph->setTRPeriod(m_TRperiod); m_fastGraph->setTRPeriod(m_TRperiod);
ui->label_6->setText("Band Activity"); ui->label_6->setText(tr ("Band Activity"));
ui->label_7->setText("Tx Messages"); ui->label_7->setText(tr ("Tx Messages"));
ui->actionMSK144->setChecked(true); ui->actionMSK144->setChecked(true);
ui->rptSpinBox->setMinimum(-8); ui->rptSpinBox->setMinimum(-8);
ui->rptSpinBox->setMaximum(24); ui->rptSpinBox->setMaximum(24);
@ -6388,7 +6387,7 @@ void MainWindow::WSPR_config(bool b)
} }
m_bSimplex = true; m_bSimplex = true;
} else { } else {
ui->decodedTextLabel->setText("UTC dB DT Freq Message"); ui->decodedTextLabel->setText("UTC dB DT Freq " + tr ("Message"));
m_bSimplex = false; m_bSimplex = false;
} }
enable_DXCC_entity (m_config.DXCC ()); // sets text window proportions and (re)inits the logbook enable_DXCC_entity (m_config.DXCC ()); // sets text window proportions and (re)inits the logbook
@ -7625,7 +7624,7 @@ void MainWindow::p1ReadFromStdout() //p1readFromStdout
if(!m_diskData) { if(!m_diskData) {
WSPR_history(m_dialFreqRxWSPR, m_nWSPRdecodes); WSPR_history(m_dialFreqRxWSPR, m_nWSPRdecodes);
if(m_nWSPRdecodes==0 and ui->band_hopping_group_box->isChecked()) { if(m_nWSPRdecodes==0 and ui->band_hopping_group_box->isChecked()) {
t = " Receiving " + m_mode + " ----------------------- " + t = " " + tr ("Receiving") + " " + m_mode + " ----------------------- " +
m_config.bands ()->find (m_dialFreqRxWSPR); m_config.bands ()->find (m_dialFreqRxWSPR);
t=WSPR_hhmm(-60) + ' ' + t.rightJustified (66, '-'); t=WSPR_hhmm(-60) + ' ' + t.rightJustified (66, '-');
ui->decodedTextBrowser->appendText(t); ui->decodedTextBrowser->appendText(t);
@ -8097,7 +8096,7 @@ void MainWindow::tx_watchdog (bool triggered)
if (m_tune) stop_tuning (); if (m_tune) stop_tuning ();
if (m_auto) auto_tx_mode (false); if (m_auto) auto_tx_mode (false);
tx_status_label.setStyleSheet ("QLabel{background-color: #ff0000}"); tx_status_label.setStyleSheet ("QLabel{background-color: #ff0000}");
tx_status_label.setText ("Runaway Tx watchdog"); tx_status_label.setText (tr ("Runaway Tx watchdog"));
QApplication::alert (this); QApplication::alert (this);
} }
else else
@ -8112,7 +8111,7 @@ void MainWindow::update_watchdog_label ()
{ {
if (m_config.watchdog () && !m_mode.startsWith ("WSPR")) if (m_config.watchdog () && !m_mode.startsWith ("WSPR"))
{ {
watchdog_label.setText (QString {"WD:%1m"}.arg (m_config.watchdog () - m_idleMinutes)); watchdog_label.setText (tr ("WD:%1m").arg (m_config.watchdog () - m_idleMinutes));
watchdog_label.setVisible (true); watchdog_label.setVisible (true);
} }
else else