mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-05 08:51:19 -05:00
Merge branch 'release-2.5.1'
This commit is contained in:
commit
f30d2c3085
@ -45,7 +45,7 @@ if (POLICY CMP0075)
|
||||
endif ()
|
||||
|
||||
project (wsjtx
|
||||
VERSION 2.5.0.0
|
||||
VERSION 2.5.1.0
|
||||
LANGUAGES C CXX Fortran
|
||||
)
|
||||
set (PROJECT_DESCRIPTION "WSJT-X: Digital Modes for Weak Signal Communications in Amateur Radio")
|
||||
@ -71,7 +71,7 @@ message (STATUS "******************************************************")
|
||||
|
||||
include (set_build_type)
|
||||
# RC 0 or omitted is a development build, GA is a General Availability release build
|
||||
set_build_type (GA)
|
||||
set_build_type (RC GA)
|
||||
set (wsjtx_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}${BUILD_TYPE_REVISION}")
|
||||
|
||||
#
|
||||
@ -884,8 +884,6 @@ find_program (RIGCTLCOM_EXE rigctlcom)
|
||||
check_type_size (CACHE_ALL HAMLIB_OLD_CACHING)
|
||||
check_symbol_exists (rig_set_cache_timeout_ms "hamlib/rig.h" HAVE_HAMLIB_CACHING)
|
||||
|
||||
find_package (Portaudio REQUIRED)
|
||||
|
||||
find_package (Usb REQUIRED)
|
||||
|
||||
#
|
||||
@ -1095,7 +1093,7 @@ target_link_libraries (wsjt_fort ${FFTW3_LIBRARIES})
|
||||
if (${OPENMP_FOUND} OR APPLE)
|
||||
add_library (wsjt_fort_omp STATIC ${wsjt_FSRCS})
|
||||
target_link_libraries (wsjt_fort_omp ${FFTW3_LIBRARIES})
|
||||
if (OpenMP_C_FLAGS)
|
||||
if (OpenMP_C_FLAGS AND NOT APPLE)
|
||||
set_target_properties (wsjt_fort_omp
|
||||
PROPERTIES
|
||||
COMPILE_FLAGS "${OpenMP_C_FLAGS}"
|
||||
@ -1263,6 +1261,7 @@ set (LANGUAGES
|
||||
#sv # Swedish
|
||||
zh # Chinese
|
||||
zh_HK # Chinese per Hong Kong
|
||||
zh_TW # Chinese traditional
|
||||
it # Italian
|
||||
)
|
||||
foreach (lang_ ${LANGUAGES})
|
||||
@ -1405,6 +1404,7 @@ endif (${OPENMP_FOUND} OR APPLE)
|
||||
|
||||
if (WIN32)
|
||||
# build map65
|
||||
find_package (Portaudio REQUIRED)
|
||||
add_subdirectory (map65)
|
||||
endif ()
|
||||
|
||||
|
50
NEWS
50
NEWS
@ -11,7 +11,57 @@
|
||||
|
||||
Copyright 2001 - 2021 by Joe Taylor, K1JT.
|
||||
|
||||
Release: WSJT-X 2.5.1
|
||||
Oct 21, 2021
|
||||
----------------------
|
||||
|
||||
This release mainly contains improvements and defect repairs related
|
||||
to Q65 and JT65 modes when used with non-standard and compound
|
||||
calls. Also included is a new feature for microwave aircraft scatter
|
||||
and repairs for defects detected since the 2.5.0 GA release.
|
||||
|
||||
- Improved Q65 support for 10GHz Aircraft Scatter contributed by Rex,
|
||||
VK7MO, and Roger, W3SZ. (See "10 GHz Terrestrial with Q65" in DUBUS
|
||||
Vol 1/2021 page 64.) Decodes of type 'q3' may now include
|
||||
corrections for frequency drift.
|
||||
|
||||
- Repair a defect that failed to pre-load the DE and DX calls to the
|
||||
hash lookup tables in the Q65 decoder.
|
||||
|
||||
- Repair standard message Tx4 and Tx5 generation in Q65 mode when
|
||||
using a non-standard call.
|
||||
|
||||
- Repair a defect in generation of the standard Tx2 JT65 message in
|
||||
EME mode when using a compound call.
|
||||
|
||||
- Repair a defect when decoding 77-bit type 4 non-standard call
|
||||
message.
|
||||
|
||||
- Repair a defect that could cause a crash when switching from Q65 to
|
||||
JT65 mode and attempting a double-click decode.
|
||||
|
||||
- Enable 'q3' AP decoding in Q65 mode for messages containing a
|
||||
non-standard call.
|
||||
|
||||
- Repair a defect that required a blank DX Grid to achieve Q65 'q3'
|
||||
decodes of messages containing a non-standard call.
|
||||
|
||||
- Repair the logic that sets parameters for Q65 "Deep" decoding.
|
||||
|
||||
- In Q65 mode, allow 'q2' decodes when MyCall is compound or
|
||||
non-standard.
|
||||
|
||||
- Repair a long-standing defect that could cause a crash when
|
||||
reference spectrum correction is enabled.
|
||||
|
||||
- Updated UI translations from Xavi, EA3W, Oba-san, JA7UDE, and a new
|
||||
translation for Traditional Chinese by Steven, BU2EL.
|
||||
|
||||
- Updated CTY.DAT database, tnx to Jim AD1C
|
||||
|
||||
- Improved main window layout to ensure TxN messages are fully
|
||||
visible.
|
||||
|
||||
Release: WSJT-X 2.5.0
|
||||
Sept 27, 2021
|
||||
-------------------------
|
||||
|
@ -11,7 +11,57 @@
|
||||
|
||||
Copyright 2001 - 2021 by Joe Taylor, K1JT.
|
||||
|
||||
Release: WSJT-X 2.5.1
|
||||
Oct 21, 2021
|
||||
----------------------
|
||||
|
||||
This release mainly contains improvements and defect repairs related
|
||||
to Q65 and JT65 modes when used with non-standard and compound
|
||||
calls. Also included is a new feature for microwave aircraft scatter
|
||||
and repairs for defects detected since the 2.5.0 GA release.
|
||||
|
||||
- Improved Q65 support for 10GHz Aircraft Scatter contributed by Rex,
|
||||
VK7MO, and Roger, W3SZ. (See "10 GHz Terrestrial with Q65" in DUBUS
|
||||
Vol 1/2021 page 64.) Decodes of type 'q3' may now include
|
||||
corrections for frequency drift.
|
||||
|
||||
- Repair a defect that failed to pre-load the DE and DX calls to the
|
||||
hash lookup tables in the Q65 decoder.
|
||||
|
||||
- Repair standard message Tx4 and Tx5 generation in Q65 mode when
|
||||
using a non-standard call.
|
||||
|
||||
- Repair a defect in generation of the standard Tx2 JT65 message in
|
||||
EME mode when using a compound call.
|
||||
|
||||
- Repair a defect when decoding 77-bit type 4 non-standard call
|
||||
message.
|
||||
|
||||
- Repair a defect that could cause a crash when switching from Q65 to
|
||||
JT65 mode and attempting a double-click decode.
|
||||
|
||||
- Enable 'q3' AP decoding in Q65 mode for messages containing a
|
||||
non-standard call.
|
||||
|
||||
- Repair a defect that required a blank DX Grid to achieve Q65 'q3'
|
||||
decodes of messages containing a non-standard call.
|
||||
|
||||
- Repair the logic that sets parameters for Q65 "Deep" decoding.
|
||||
|
||||
- In Q65 mode, allow 'q2' decodes when MyCall is compound or
|
||||
non-standard.
|
||||
|
||||
- Repair a long-standing defect that could cause a crash when
|
||||
reference spectrum correction is enabled.
|
||||
|
||||
- Updated UI translations from Xavi, EA3W, Oba-san, JA7UDE, and a new
|
||||
translation for Traditional Chinese by Steven, BU2EL.
|
||||
|
||||
- Updated CTY.DAT database, tnx to Jim AD1C
|
||||
|
||||
- Improved main window layout to ensure TxN messages are fully
|
||||
visible.
|
||||
|
||||
Release: WSJT-X 2.5.0
|
||||
Sept 27, 2021
|
||||
-------------------------
|
||||
|
@ -25,16 +25,17 @@ https://www.msys2.org/wiki/MSYS2-installation/
|
||||
Take particular care to restart the MSYS2 shell window when directed
|
||||
to.
|
||||
|
||||
Once MSYS2 is installed you will find a start menu entry labelled
|
||||
"MSYS2 MinGW 64-bit", use that to start a fresh MSYS2 shell window for
|
||||
the rest of these instructions.
|
||||
|
||||
The first step is to install some prerequisite packages which contain
|
||||
the tools needed to prepare and build the portaudio DLL. Execute the
|
||||
following command to do that:
|
||||
|
||||
pacman -S make diffutils unzip mingw-w64-x86_64-gcc sed tar curl
|
||||
|
||||
Once MSYS2 is installed and the prerequisite packages above are
|
||||
installed you will find a new Windows Start Menu entry labelled "MSYS2
|
||||
MinGW 64-bit", use that to start a fresh MSYS2 shell window for the
|
||||
rest of these instructions.
|
||||
|
||||
Then make directories to put downloaded sources in and for building:
|
||||
|
||||
mkdir -p ~/src ~/build/portaudio
|
||||
|
@ -94,8 +94,8 @@ d). Edit lines as needed. Keeping them in alphabetic order help see dupes.
|
||||
:sourceforge-jtsdk: https://sourceforge.net/projects/jtsdk[SourceForge JTSDK]
|
||||
:ubuntu_sdk: https://launchpad.net/~ubuntu-sdk-team/+archive/ppa[Ubuntu SDK Notice]
|
||||
:win_openssl_packages: https://slproweb.com/products/Win32OpenSSL.html[Windows OpenSSL Packages]
|
||||
:win32_openssl: https://slproweb.com/download/Win32OpenSSL_Light-1_1_1k.msi[Win32 OpenSSL Light Package]
|
||||
:win64_openssl: https://slproweb.com/download/Win64OpenSSL_Light-1_1_1k.msi[Win64 OpenSSL Light Package]
|
||||
:win32_openssl: https://slproweb.com/download/Win32OpenSSL_Light-1_1_1L.msi[Win32 OpenSSL Light Package]
|
||||
:win64_openssl: https://slproweb.com/download/Win64OpenSSL_Light-1_1_1L.msi[Win64 OpenSSL Light Package]
|
||||
:writelog: https://writelog.com/[Writelog]
|
||||
:wsjtx_group: https://groups.io/g/WSJTX[WSJTX Group]
|
||||
:wsjtx: https://physics.princeton.edu/pulsar/K1JT/wsjtx.html[WSJT-X]
|
||||
|
@ -15,9 +15,9 @@ greatly aided the development of _WSJT_ and its sister programs. For
|
||||
_WSJT-X_ in particular, we acknowledge contributions from *AC6SL,
|
||||
AE4JY, DF2ET, DJ0OT, G3WDG, G4KLA, IW3RAB, K3WYC, KA1GT, KA6MAL, KA9Q,
|
||||
KB1ZMX, KD6EKQ, KI7MT, KK1D, ND0B, PY2SDR, VE1SKY, VK3ACF, VK4BDJ,
|
||||
VK7MO, W3DJS, W4TI, W4TV, and W9MDB*. Each of these amateurs has helped to
|
||||
bring the program’s design, code, testing, and/or documentation to its
|
||||
present state.
|
||||
VK7MO, W3DJS, W3SZ, W4TI, W4TV, and W9MDB*. Each of these amateurs
|
||||
has helped to bring the program’s design, code, testing, and/or
|
||||
documentation to its present state.
|
||||
|
||||
Most of the color palettes for the _WSJT-X_ waterfall were copied from
|
||||
the excellent, well documented, open-source program _fldigi_, by *W1HKJ*
|
||||
|
@ -4,6 +4,7 @@ The following controls appear at the bottom of the Wide Graph window.
|
||||
Decoding occurs only in the displayed frequency range; otherwise,
|
||||
controls on the Wide Graph window have no effect on the decoding
|
||||
process.
|
||||
|
||||
image::wide-graph-controls.png[align="center",alt="Wide Graph Controls"]
|
||||
|
||||
- *Bins/Pixel* controls the displayed frequency resolution. Set this
|
||||
|
@ -28,16 +28,16 @@ hypothetically known information.
|
||||
|
||||
[[FT8_AP_INFO_TABLE]]
|
||||
.FST4, FT4, and FT8 AP information types
|
||||
[width="35%",cols="h10,<m20",frame=topbot,options="header"]
|
||||
|===============================================
|
||||
|aP | Message components
|
||||
|a1 | CQ     ?     ?
|
||||
|a2 | MyCall     ?     ?
|
||||
|a3 | MyCall DxCall     ?
|
||||
|a4 | MyCall DxCall RRR
|
||||
|a5 | MyCall DxCall 73
|
||||
|a6 | MyCall DxCall RR73
|
||||
|===============================================
|
||||
[width="35%",cols="1h,<10m",frame=topbot,options="header"]
|
||||
|===
|
||||
|aP|Message components
|
||||
|a1|CQ     ?     ?
|
||||
|a2|MyCall     ?     ?
|
||||
|a3|MyCall DxCall     ?
|
||||
|a4|MyCall DxCall RRR
|
||||
|a5|MyCall DxCall 73
|
||||
|a6|MyCall DxCall RR73
|
||||
|===
|
||||
|
||||
If a codeword is found that is judged to have high (but not
|
||||
overwhelmingly high) probability of being correct, a `?` character is
|
||||
@ -53,8 +53,8 @@ is the same except that it omits the decoding attempts for AP types
|
||||
|
||||
[[FT8_AP_DECODING_TYPES_TABLE]]
|
||||
.FT4 and FT8 AP decoding types for each QSO state
|
||||
[width="35%",cols="h10,<m20",frame=topbot,options="header"]
|
||||
|===========================================
|
||||
[width="35%",cols="10h,<20m",frame=topbot,options="header"]
|
||||
|===
|
||||
|State |AP type
|
||||
|CALLING STN | 2, 3
|
||||
|REPORT | 2, 3
|
||||
@ -62,15 +62,15 @@ is the same except that it omits the decoding attempts for AP types
|
||||
|ROGERS | 3, 4, 5, 6
|
||||
|SIGNOFF | 3, 1, 2
|
||||
|CALLING CQ | 1, 2
|
||||
|===========================================
|
||||
|===
|
||||
|
||||
Decoding with _a priori_ information behaves slightly differently
|
||||
in JT65. Some details are provided in Tables 3 and 4.
|
||||
|
||||
[[JT65_AP_INFO_TABLE]]
|
||||
.JT65 AP information types
|
||||
[width="35%",cols="h10,<m20",frame=topbot,options="header"]
|
||||
|===============================================
|
||||
[width="35%",cols="1h,<10m",frame=topbot,options="header"]
|
||||
|===
|
||||
|aP | Message components
|
||||
|a1 | CQ     ?     ?
|
||||
|a2 | MyCall     ?     ?
|
||||
@ -79,20 +79,20 @@ in JT65. Some details are provided in Tables 3 and 4.
|
||||
|a5 | MyCall DxCall 73
|
||||
|a6 | MyCall DxCall DxGrid
|
||||
|a7 | CQ DxCall DxGrid
|
||||
|===============================================
|
||||
|===
|
||||
|
||||
[[JT65_AP_DECODING_TYPES_TABLE]]
|
||||
.JT65 AP decoding types for each QSO state
|
||||
[width="35%",cols="h10,<m20",frame=topbot,options="header"]
|
||||
|===========================================
|
||||
[width="35%",cols="10h,<20m",frame=topbot,options="header"]
|
||||
|===
|
||||
|State |AP type
|
||||
|CALLING STN | 2, 3, 6, 7
|
||||
|REPORT | 2, 3
|
||||
|ROGER_REPORT | 3, 4, 5
|
||||
|ROGERS | 3, 4, 5
|
||||
|SIGNOFF | 2, 3, 4, 5
|
||||
|CALLING CQ | 1, 2, 6
|
||||
|===========================================
|
||||
|CALLING STN |2, 3, 6, 7
|
||||
|REPORT |2, 3
|
||||
|ROGER_REPORT |3, 4, 5
|
||||
|ROGERS |3, 4, 5
|
||||
|SIGNOFF |2, 3, 4, 5
|
||||
|CALLING CQ |1, 2, 6
|
||||
|===
|
||||
|
||||
|
||||
=== Decoded Lines
|
||||
@ -109,18 +109,18 @@ summarized in the following Table:
|
||||
[[DECODED_LINES_TABLE]]
|
||||
.Notations used on decoded text lines
|
||||
[width="50%",cols="h,3*^",frame=topbot,options="header"]
|
||||
|===========================================
|
||||
|===
|
||||
|Mode |Mode character|Sync character|End of line information
|
||||
|FST4 | ` | | ?   aP
|
||||
|FT4 | + | | ?   aP
|
||||
|FT8 | ~ | | ?   aP
|
||||
|JT4 | $ | *, # | f, fN, dCN
|
||||
|JT9 | @ | |
|
||||
|JT65 | # | |
|
||||
|JT65 VHF| # | *, # | f, fN, dCN
|
||||
|Q65 | : | | qP
|
||||
|MSK144 | & | |
|
||||
|===========================================
|
||||
|FST4 | ` | | ?   aP
|
||||
|FT4 | + | | ?   aP
|
||||
|FT8 | ~ | | ?   aP
|
||||
|JT4 | $ | *, # | f, fN, dCN
|
||||
|JT9 | @ | |
|
||||
|JT65 | # | |
|
||||
|JT65 VHF| # | *, # | f, fN, dCN
|
||||
|Q65 | : | | qP
|
||||
|MSK144 | & | |
|
||||
|===
|
||||
Sync character::
|
||||
`*` - Normal sync +
|
||||
`#` - Alternate sync
|
||||
@ -136,12 +136,13 @@ End of line information::
|
||||
|
||||
[[Q65_AP_INFO_TABLE]]
|
||||
.Q65 end-of-line codes
|
||||
[width="45%",cols="h10,<m20",frame=topbot,options="header"]
|
||||
|===============================================
|
||||
| | Message components
|
||||
|q0 | ?     ?     ?
|
||||
|q1 | CQ     ?     ?
|
||||
|q2 | MyCall     ?     ?
|
||||
|q3 | MyCall DxCall     ?
|
||||
|q4 | MyCall DxCall     [<blank> \| RRR \| RR73 \| 73]
|
||||
|===============================================
|
||||
[width="50%",cols="1h,<10m",frame=topbot,options="header"]
|
||||
|===
|
||||
|qP|Message components
|
||||
|q0|?     ?     ?
|
||||
|q1|CQ     ?     ?
|
||||
|q2|MyCall     ?     ?
|
||||
|q3|MyCall DxCall     ?
|
||||
|q4|MyCall DxCall     [<blank> \| RRR \| RR73 \| 73]
|
||||
|q5|MyCall DxCall     ?         (*Max Drift* = 50)
|
||||
|===
|
||||
|
@ -10,12 +10,6 @@ with the release for details of the targeted Linux distributions and
|
||||
versions. If the binary package is not compatible with your Linux
|
||||
distribution or version, you must build the application from sources.
|
||||
|
||||
* 32-bit Intel/AMD: {debian32}
|
||||
- To install:
|
||||
+
|
||||
[example]
|
||||
sudo dpkg -i wsjtx_{VERSION}_i386.deb
|
||||
|
||||
* 64-bit Intel/AMD: {debian64}
|
||||
- To install:
|
||||
+
|
||||
@ -45,24 +39,18 @@ You may also need to execute the following command in a terminal:
|
||||
sudo apt install libgfortran5 libqt5widgets5 libqt5network5 \
|
||||
libqt5printsupport5 libqt5multimedia5-plugins libqt5serialport5 \
|
||||
libqt5sql5-sqlite libfftw3-single3 libgomp1 libboost-all-dev \
|
||||
libusb-1.0-0
|
||||
libusb-1.0-0 libportaudio2
|
||||
....
|
||||
|
||||
Fedora, CentOS, Red Hat, and other rpm-based systems:
|
||||
|
||||
* 32-bit: {fedora32}
|
||||
- To install:
|
||||
+
|
||||
[example]
|
||||
sudo rpm -i wsjtx-{VERSION}-i686.rpm
|
||||
|
||||
* 64-bit: {fedora64}
|
||||
- To install:
|
||||
+
|
||||
[example]
|
||||
sudo rpm -i wsjtx-{VERSION}-x86_64.rpm
|
||||
|
||||
* Uninstall for either of the above platforms:
|
||||
* Uninstall:
|
||||
+
|
||||
[example]
|
||||
sudo rpm -e wsjtx
|
||||
@ -72,5 +60,5 @@ You may also need to execute the following command in a terminal:
|
||||
....
|
||||
sudo dnf install libgfortran fftw-libs-single qt5-qtbase \
|
||||
qt5-qtmultimedia qt5-qtserialport qt5-qtsvg \
|
||||
qt5-qtserialport libgomp boost libusbx
|
||||
qt5-qtserialport libgomp boost libusbx portaudio
|
||||
....
|
||||
|
@ -22,9 +22,11 @@ consequences.
|
||||
|
||||
=== User Interface in Other Languages
|
||||
|
||||
The _WSJT-X_ user interface is now available in many languages. When
|
||||
a translated user interface is available for the computer's default
|
||||
System Language, it will appear automatically on program startup.
|
||||
The _WSJT-X_ user interface (UI) is now available in many languages.
|
||||
When a translated UI is available for the computer's default System
|
||||
Language, it will appear automatically on program startup. The UI
|
||||
language may be overriden if desired by starting _WSJT-X_ with a
|
||||
command line option.
|
||||
|
||||
=== How You Can Contribute
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
[[NEW_FEATURES]]
|
||||
=== New in Version {VERSION}
|
||||
=== New in Version {VERSION_MAJOR}.{VERSION_MINOR}
|
||||
|
||||
_WSJT-X 2.5.0_ introduces an enhanced Q65 decoder that measures and
|
||||
_WSJT-X 2.5_ introduces an enhanced Q65 decoder that measures and
|
||||
compensates for linear frequency drifts of Q65 signals. Activate this
|
||||
feature by setting a spinner control *Max Drift* on the _WSJT-X_ main
|
||||
window to a number greater than 0. We suggest a setting of 10 for
|
||||
@ -9,9 +9,11 @@ submode Q65-60A, the recommended submode for EME on 50 and 144 MHz,
|
||||
which will accommodate drift rates up to 20 Hz/minute. Similarly, we
|
||||
suggest *Max Drift* = 40 for submode Q65-15C, used for for 10 GHz QSOs
|
||||
(up to 900 km) via aircraft scatter and drift rates up to about 20
|
||||
Hz/s.
|
||||
Hz/s. When *Max Drift* = 50 the decoder will use an enhanced algorithm
|
||||
to compensate for larger aircraft scatter drift rates, successful
|
||||
decodes with this algorithm are tagged with a `q5` indicator.
|
||||
|
||||
On the Windows platform only, _WSJT-X 2.5.0_ installations now include
|
||||
On the Windows platform only, _WSJT-X 2.5_ installations now include
|
||||
an early version of _MAP65 3.0_. This program works together with
|
||||
suitable hardware that converts RF to baseband. The hardware/software
|
||||
combination implements a wideband, highly optimized receiver for the
|
||||
|
@ -263,8 +263,8 @@ which the probability of decoding is 50% or higher.
|
||||
|
||||
[[SLOW_TAB]]
|
||||
.Parameters of Slow Modes
|
||||
[width="100%",cols="3h,^3,^2,^1,^2,^2,^2,^2,^2,^2",frame=topbot,options="header"]
|
||||
|===============================================================================
|
||||
[width="100%",cols="3h,^3,^2,^1,6*^2",frame=topbot,options="header"]
|
||||
|===
|
||||
|Mode |FEC Type |(n,k) | Q|Modulation type|Keying rate (Baud)|Bandwidth (Hz)
|
||||
|Sync Energy|Tx Duration (s)|S/N Threshold (dB)
|
||||
|FST4-15 |LDPC | (240,101)| 4| 4-GFSK| 16.67 | 66.7 | 0.25| 9.6 | -20.7
|
||||
@ -289,7 +289,7 @@ which the probability of decoding is 50% or higher.
|
||||
|FST4W-300 |LDPC | (240,74)| 4| 4-GFSK| 0.558 | 2.2 | 0.25| 286.7 | -36.8
|
||||
|FST4W-900 |LDPC | (240,74)| 4| 4-GFSK| 0.180 | 0.72 | 0.25| 887.5 | -41.7
|
||||
|FST4W-1800 |LDPC | (240,74)| 4| 4-GFSK| 0.089 | 0.36 | 0.25| 1792.0| -44.8
|
||||
|===============================================================================
|
||||
|===
|
||||
|
||||
LDPC = Low Density Parity Check
|
||||
RS = Reed Solomon
|
||||
@ -304,7 +304,7 @@ comparable to tone spacing.
|
||||
[[SLOW_SUBMODES]]
|
||||
.Parameters of Slow Submodes JT4, JT9, and JT65 with Selectable Tone Spacings
|
||||
[width="50%",cols="h,3*^",frame=topbot,options="header"]
|
||||
|=====================================
|
||||
|===
|
||||
|Mode |Tone Spacing |BW (Hz)|S/N (dB)
|
||||
|JT4A |4.375| 17.5 |-23
|
||||
|JT4B |8.75 | 30.6 |-22
|
||||
@ -324,18 +324,18 @@ comparable to tone spacing.
|
||||
|JT65A |2.692| 177.6 |-25
|
||||
|JT65B |5.383| 352.6 |-25
|
||||
|JT65C |10.767| 702.5 |-25
|
||||
|=====================================
|
||||
|===
|
||||
|
||||
.Parameters of Q65 Submodes
|
||||
[width="100%",cols="h,5*^",frame=topbot,options="header"]
|
||||
|=====================================
|
||||
|===
|
||||
|T/R Period (s) |A Spacing Width (Hz)|B Spacing Width (Hz)|C Spacing Width (Hz)|D Spacing Width (Hz)|E Spacing Width (Hz)
|
||||
|15|6.67     4.33|13.33     867|26.67     1733|N/A|N/A
|
||||
|30|3.33     217|6.67     433|13.33     867| 26.67     1733| N/A
|
||||
|60|1.67     108|3.33     217|6.67     433|13.33     867|26.67     1733
|
||||
|120|0.75     49|1.50     98|3.00     195|6.00     390| 12.00     780
|
||||
|300|0.29     19|0.58     38|1.16     75|2.31     150|4.63     301
|
||||
|=====================================
|
||||
|===
|
||||
|
||||
[[FAST_MODES]]
|
||||
=== Fast Modes
|
||||
@ -390,8 +390,8 @@ and your QSO partner ± 200 Hz.
|
||||
==== Summary
|
||||
|
||||
.Parameters of Fast Modes
|
||||
[width="90%",cols="3h,^3,^2,^1,^2,^2,^2,^2,^2",frame="topbot",options="header"]
|
||||
|=====================================================================
|
||||
[width="90%",cols="3h,^3,^2,^1,5*^2",frame="topbot",options="header"]
|
||||
|===
|
||||
|Mode |FEC Type |(n,k) | Q|Modulation Type|Keying rate (Baud)
|
||||
|Bandwidth (Hz)|Sync Energy|Tx Duration (s)
|
||||
|JT9E |K=32, r=1/2|(206,72)| 8| 9-FSK| 25.0 | 225 | 0.19| 3.400
|
||||
@ -400,4 +400,4 @@ and your QSO partner ± 200 Hz.
|
||||
|JT9H |K=32, r=1/2|(206,72)| 8| 9-FSK|200.0 | 1800 | 0.19| 0.425
|
||||
|MSK144 |LDPC |(128,90)| 2| OQPSK| 2000 | 2400 | 0.11| 0.072
|
||||
|MSK144 Sh|LDPC |(32,16) | 2| OQPSK| 2000 | 2400 | 0.20| 0.020
|
||||
|=====================================================================
|
||||
|===
|
||||
|
@ -21,7 +21,7 @@ subroutine four2a(a,nfft,ndim,isign,iform)
|
||||
|
||||
use fftw3
|
||||
parameter (NPMAX=2100) !Max numberf of stored plans
|
||||
parameter (NSMALL=16384) !Max size of "small" FFTs
|
||||
parameter (NSMALL=16385) !Max half complex size of "small" FFTs
|
||||
complex a(nfft) !Array to be transformed
|
||||
complex aa(NSMALL) !Local copy of "small" a()
|
||||
integer nn(NPMAX),ns(NPMAX),nf(NPMAX) !Params of stored plans
|
||||
@ -67,7 +67,7 @@ subroutine four2a(a,nfft,ndim,isign,iform)
|
||||
|
||||
if(nfft.le.NSMALL) then
|
||||
jz=nfft
|
||||
if(iform.eq.0) jz=nfft/2
|
||||
if(iform.le.0) jz=nfft/2+1
|
||||
aa(1:jz)=a(1:jz)
|
||||
endif
|
||||
|
||||
@ -87,7 +87,7 @@ subroutine four2a(a,nfft,ndim,isign,iform)
|
||||
|
||||
if(nfft.le.NSMALL) then
|
||||
jz=nfft
|
||||
if(iform.eq.0) jz=nfft/2
|
||||
if(iform.le.0) jz=nfft/2+1
|
||||
a(1:jz)=aa(1:jz)
|
||||
endif
|
||||
end if
|
||||
|
@ -6,20 +6,19 @@ subroutine ft8apset(mycall12,hiscall12,ncontest,apsym,aph10)
|
||||
character*13 hc13
|
||||
character*10 c10
|
||||
integer apsym(58),aph10(10)
|
||||
logical nohiscall,unpk77_success
|
||||
logical nohiscall,unpk77_success,std
|
||||
|
||||
apsym=0
|
||||
apsym(1)=99
|
||||
apsym(30)=99
|
||||
aph10=0
|
||||
aph10(1)=99
|
||||
|
||||
if(len(trim(mycall12)).lt.3) return
|
||||
|
||||
nohiscall=.false.
|
||||
hiscall=hiscall12
|
||||
if(len(trim(hiscall)).lt.3) then
|
||||
hiscall=mycall12 ! use mycall for dummy hiscall - mycall won't be hashed.
|
||||
hiscall='KA1ABC' !Use a dummy hiscall
|
||||
nohiscall=.true.
|
||||
else
|
||||
hc13=hiscall
|
||||
@ -34,7 +33,9 @@ subroutine ft8apset(mycall12,hiscall12,ncontest,apsym,aph10)
|
||||
|
||||
! Encode a dummy standard message: i3=1, 28 1 28 1 1 15
|
||||
!
|
||||
msg=trim(mycall12)//' '//trim(hiscall)//' RRR'
|
||||
msg=trim(mycall12)//' '//trim(hiscall)//' RRR'
|
||||
call stdcall(mycall12,std)
|
||||
if(.not.std) msg='<'//trim(mycall12)//'> '//trim(hiscall)//' RRR'
|
||||
i3=0
|
||||
n3=0
|
||||
call pack77(msg,i3,n3,c77)
|
||||
|
@ -162,6 +162,7 @@ contains
|
||||
ib=min(NSZ,nint((nfb+100)/df))
|
||||
nz=ib-ia+1
|
||||
if(nz.lt.50) go to 900
|
||||
if(isnan(sum(savg(ia:ia+nz-1)))) go to 900
|
||||
call lorentzian(savg(ia),nz,a)
|
||||
baseline=a(1)
|
||||
amp=a(2)
|
||||
|
@ -76,6 +76,10 @@ contains
|
||||
complex, allocatable :: c00(:) !Analytic signal, 6000 Sa/s
|
||||
complex, allocatable :: c0(:) !Analytic signal, 6000 Sa/s
|
||||
|
||||
!w3sz added
|
||||
integer stageno
|
||||
stageno=0
|
||||
|
||||
! Start by setting some parameters and allocating storage for large arrays
|
||||
call sec0(0,tdecode)
|
||||
nfa=nfa0
|
||||
@ -93,6 +97,9 @@ contains
|
||||
nfft2=ntrperiod*6000
|
||||
npasses=1
|
||||
|
||||
dxcall13=hiscall ! initialize for use in packjt77
|
||||
mycall13=mycall
|
||||
|
||||
! Determine the T/R sequence: iseq=0 (even), or iseq=1 (odd)
|
||||
n=nutc
|
||||
if(ntrperiod.ge.60 .and. nutc.le.2359) n=100*n
|
||||
@ -131,7 +138,8 @@ contains
|
||||
ibwa=max(1,int(1.8*log(baud*mode_q65)) + 1)
|
||||
ibwb=min(10,ibwa+5)
|
||||
maxiters=67
|
||||
else if(iand(ndepth,3).eq.3) then
|
||||
endif
|
||||
if(iand(ndepth,3).eq.3) then
|
||||
ibwa=max(1,ibwa-1)
|
||||
ibwb=min(10,ibwb+1)
|
||||
maxiters=100
|
||||
@ -151,7 +159,7 @@ contains
|
||||
! Call top-level routine in q65 module: establish sync and try for a
|
||||
! q3 or q0 decode.
|
||||
call q65_dec0(iavg,nutc,iwave,ntrperiod,nfqso,ntol,ndepth,lclearave, &
|
||||
emedelay,xdt,f0,snr1,width,dat4,snr2,idec)
|
||||
emedelay,xdt,f0,snr1,width,dat4,snr2,idec,stageno)
|
||||
call timer('q65_dec0',1)
|
||||
! write(*,3001) '=a',sum(abs(float(iwave))),nfqso,ntol,ndepth,xdt,f0,idec
|
||||
!3001 format(a2,f15.0,3i5,f7.2,f7.1,i5)
|
||||
@ -208,7 +216,7 @@ contains
|
||||
! decode, this time using the cumulative 's1a' symbol spectra.
|
||||
iavg=1
|
||||
call q65_dec0(iavg,nutc,iwave,ntrperiod,nfqso,ntol,ndepth,lclearave, &
|
||||
emedelay,xdt,f0,snr1,width,dat4,snr2,idec)
|
||||
emedelay,xdt,f0,snr1,width,dat4,snr2,idec,stageno)
|
||||
call timer('list_avg',1)
|
||||
|
||||
if(idec.ge.0) then
|
||||
@ -225,7 +233,7 @@ contains
|
||||
call timer('q65_avg ',0)
|
||||
iavg=2
|
||||
call q65_dec0(iavg,nutc,iwave,ntrperiod,nfqso,ntol,ndepth,lclearave, &
|
||||
emedelay,xdt,f0,snr1,width,dat4,snr2,idec)
|
||||
emedelay,xdt,f0,snr1,width,dat4,snr2,idec,stageno)
|
||||
call timer('q65_avg ',1)
|
||||
if(idec.ge.0) then
|
||||
dtdec=xdt !We have a q[012]n result
|
||||
@ -233,7 +241,22 @@ contains
|
||||
nused=navg(iseq)
|
||||
endif
|
||||
|
||||
100 decoded=' '
|
||||
100 stageno = 5
|
||||
|
||||
if(idec.lt.0) then
|
||||
call timer('q65_dec0',0)
|
||||
! Call top-level routine in q65 module: establish sync and try for a
|
||||
! q3 or q0 decode.
|
||||
call q65_dec0(iavg,nutc,iwave,ntrperiod,nfqso,ntol,ndepth,lclearave, &
|
||||
emedelay,xdt,f0,snr1,width,dat4,snr2,idec,stageno)
|
||||
call timer('q65_dec0',1)
|
||||
if(idec.ge.0) then
|
||||
dtdec=xdt !We have a q[012]n result
|
||||
f0dec=f0
|
||||
endif
|
||||
endif ! if(idec.lt.0)
|
||||
|
||||
decoded=' '
|
||||
if(idec.ge.0) then
|
||||
! idec Meaning
|
||||
! ------------------------------------------------------
|
||||
@ -246,7 +269,7 @@ contains
|
||||
! Unpack decoded message for display to user
|
||||
write(c77,1000) dat4(1:12),dat4(13)/2
|
||||
1000 format(12b6.6,b5.5)
|
||||
call unpack77(c77,0,decoded,unpk77_success) !Unpack to get msgsent
|
||||
call unpack77(c77,1,decoded,unpk77_success) !Unpack to get msgsent
|
||||
call q65_snr(dat4,dtdec,f0dec,mode_q65,nused,snr2)
|
||||
nsnr=nint(snr2)
|
||||
call this%callback(nutc,snr1,nsnr,dtdec,f0dec,decoded, &
|
||||
@ -322,7 +345,7 @@ contains
|
||||
if(idec.ge.0) then
|
||||
! Unpack decoded message for display to user
|
||||
write(c77,1000) dat4(1:12),dat4(13)/2
|
||||
call unpack77(c77,0,decoded,unpk77_success) !Unpack to get msgsent
|
||||
call unpack77(c77,1,decoded,unpk77_success) !Unpack to get msgsent
|
||||
call q65_snr(dat4,dtdec,f0dec,mode_q65,nused,snr2)
|
||||
nsnr=nint(snr2)
|
||||
call this%callback(nutc,snr1,nsnr,dtdec,f0dec,decoded, &
|
||||
|
@ -19,6 +19,7 @@ module q65
|
||||
real candidates(20,3) !snr, xdt, and f0 of top candidates
|
||||
real, allocatable :: s1raw(:,:) !Symbol spectra, 1/8-symbol steps
|
||||
real, allocatable :: s1(:,:) !Symbol spectra w/suppressed peaks
|
||||
real, allocatable :: s1w(:,:) !Symbol spectra w/suppressed peaks !w3sz added
|
||||
real, allocatable,save :: s1a(:,:,:) !Cumulative symbol spectra
|
||||
real, allocatable,save :: ccf2(:) !Max CCF(freq) at any lag, single seq
|
||||
real, allocatable,save :: ccf2_avg(:) !Like ccf2, but for accumulated average
|
||||
@ -28,7 +29,7 @@ module q65
|
||||
contains
|
||||
|
||||
subroutine q65_dec0(iavg,nutc,iwave,ntrperiod,nfqso,ntol,ndepth,lclearave, &
|
||||
emedelay,xdt,f0,snr1,width,dat4,snr2,idec)
|
||||
emedelay,xdt,f0,snr1,width,dat4,snr2,idec,stageno)
|
||||
|
||||
! Top-level routine in q65 module
|
||||
! - Compute symbol spectra
|
||||
@ -69,6 +70,11 @@ subroutine q65_dec0(iavg,nutc,iwave,ntrperiod,nfqso,ntol,ndepth,lclearave, &
|
||||
data first/.true./
|
||||
save first
|
||||
|
||||
integer w3t
|
||||
integer w3f
|
||||
integer mm
|
||||
integer stageno
|
||||
|
||||
NN=63
|
||||
if(nutc+ndepth.eq.-999) stop !Silence compiler warnings
|
||||
|
||||
@ -222,7 +228,49 @@ subroutine q65_dec0(iavg,nutc,iwave,ntrperiod,nfqso,ntol,ndepth,lclearave, &
|
||||
call q65_dec_q012(s3,LL,snr2,dat4,idec,decoded)
|
||||
endif
|
||||
|
||||
900 return
|
||||
if(idec.lt.0 .and. max_drift.eq.50 .and. stageno.eq.5) then
|
||||
|
||||
if(allocated(s1w)) deallocate(s1w) ! w3sz
|
||||
allocate(s1w(iz,jz)) ! w3sz
|
||||
|
||||
s1w=s1
|
||||
do w3t=1,jz
|
||||
do w3f=1,iz
|
||||
mm=w3f + nint(drift*w3t/(jz*df))
|
||||
if(mm.ge.1 .and. mm.le.iz) then
|
||||
s1w(w3f,w3t)=s1(mm,w3t)
|
||||
endif
|
||||
end do
|
||||
end do
|
||||
|
||||
if(ncw.gt.0 .and. iavg.le.1) then
|
||||
! Try list decoding via "Deep Likelihood".
|
||||
call timer('ccf_85 ',0)
|
||||
! Try to synchronize using all 85 symbols
|
||||
call q65_ccf_85(s1w,iz,jz,nfqso,ia,ia2,ipk,jpk,f0,xdt,imsg_best, &
|
||||
better,ccf1)
|
||||
call timer('ccf_85 ',1)
|
||||
! nsubmode is Tone-spacing indicator, 0-4 for A-E: a 0; b 1; c 2; d 3; e 4.
|
||||
! and mode_q65=2**nsubmode
|
||||
if(better.ge.1.10) then
|
||||
! if(better.ge.1.04 .or. mode_q65.ge.8) then
|
||||
! if(better.ge.1.10 .or. mode_q65.ge.8) then ORIGINAL
|
||||
call timer('list_dec',0)
|
||||
call q65_dec_q3(s1w,iz,jz,s3,LL,ipk,jpk,snr2,dat4,idec,decoded)
|
||||
call timer('list_dec',1)
|
||||
! if(idec.ge.0) write(70,3070) idec,mode_q65,better,trim(decoded)
|
||||
!3070 format(i3,i5,f8.2,2x,a)
|
||||
endif ! if(better.ge.1.10)
|
||||
endif ! if(ncw.gt.0 .and. iavg.le.1)
|
||||
! If idec=3 we have a q3 decode. Continue to compute sync curve for plotting.
|
||||
|
||||
if(idec.eq.3) then
|
||||
idec=5
|
||||
endif
|
||||
|
||||
endif ! if(idec.lt.0 .and. maxdrift.eq.50 .and. stageno.eq.5)
|
||||
|
||||
return
|
||||
end subroutine q65_dec0
|
||||
|
||||
subroutine q65_clravg
|
||||
|
@ -4,6 +4,7 @@ subroutine q65_set_list(mycall,hiscall,hisgrid,codewords,ncw)
|
||||
character*12 mycall,hiscall
|
||||
character*6 hisgrid
|
||||
character*37 msg0,msg,msgsent
|
||||
logical my_std,his_std
|
||||
integer codewords(63,MAX_NCW)
|
||||
integer itone(85)
|
||||
integer isync(22)
|
||||
@ -11,17 +12,32 @@ subroutine q65_set_list(mycall,hiscall,hisgrid,codewords,ncw)
|
||||
|
||||
ncw=0
|
||||
if(hiscall(1:1).eq. ' ') return
|
||||
call stdcall(mycall,my_std)
|
||||
call stdcall(hiscall,his_std)
|
||||
|
||||
ncw=MAX_NCW
|
||||
msg0=trim(mycall)//' '//trim(hiscall)
|
||||
j0=len(trim(msg0))+2
|
||||
do i=1,ncw
|
||||
msg=msg0
|
||||
msg=trim(mycall)//' '//trim(hiscall)
|
||||
if(.not.my_std) then
|
||||
if(i.eq.1 .or. i.ge.6) msg='<'//trim(mycall)//'> '//trim(hiscall)
|
||||
if(i.ge.2 .and. i.le.4) msg=trim(mycall)//' <'//trim(hiscall)//'>'
|
||||
else if(.not.his_std) then
|
||||
if(i.le.4) msg='<'//trim(mycall)//'> '//trim(hiscall)
|
||||
if(i.ge.7) msg=trim(mycall)//' <'//trim(hiscall)//'>'
|
||||
if(i.eq.6) then
|
||||
msg='TNX 73 GL'
|
||||
go to 10
|
||||
endif
|
||||
endif
|
||||
j0=len(trim(msg))+2
|
||||
if(i.eq.2) msg(j0:j0+2)='RRR'
|
||||
if(i.eq.3) msg(j0:j0+3)='RR73'
|
||||
if(i.eq.4) msg(j0:j0+1)='73'
|
||||
if(i.eq.5) msg='CQ '//trim(hiscall)//' '//hisgrid(1:4)
|
||||
if(i.eq.6) msg(j0:j0+3)=hisgrid(1:4)
|
||||
if(i.eq.5) then
|
||||
if(his_std) msg='CQ '//trim(hiscall)//' '//hisgrid(1:4)
|
||||
if(.not.his_std) msg='CQ '//trim(hiscall)
|
||||
endif
|
||||
if(i.eq.6 .and. his_std) msg(j0:j0+3)=hisgrid(1:4)
|
||||
if(i.ge.7 .and. i.le.206) then
|
||||
isnr = -50 + (i-7)/2
|
||||
if(iand(i,1).eq.1) then
|
||||
@ -32,7 +48,8 @@ subroutine q65_set_list(mycall,hiscall,hisgrid,codewords,ncw)
|
||||
if(msg(j0+1:j0+1).eq.' ') msg(j0+1:j0+1)='+'
|
||||
endif
|
||||
endif
|
||||
call genq65(msg,0,msgsent,itone,i3,n3)
|
||||
|
||||
10 call genq65(msg,0,msgsent,itone,i3,n3)
|
||||
i0=1
|
||||
j=0
|
||||
do k=1,85
|
||||
@ -49,3 +66,36 @@ subroutine q65_set_list(mycall,hiscall,hisgrid,codewords,ncw)
|
||||
|
||||
return
|
||||
end subroutine q65_set_list
|
||||
|
||||
subroutine stdcall(callsign,std)
|
||||
|
||||
character*12 callsign
|
||||
character*1 c
|
||||
logical is_digit,is_letter,std
|
||||
!Statement functions:
|
||||
is_digit(c)=c.ge.'0' .and. c.le.'9'
|
||||
is_letter(c)=c.ge.'A' .and. c.le.'Z'
|
||||
|
||||
! Check for standard callsign
|
||||
iarea=-1
|
||||
n=len(trim(callsign))
|
||||
do i=n,2,-1
|
||||
if(is_digit(callsign(i:i))) exit
|
||||
enddo
|
||||
iarea=i !Right-most digit (call area)
|
||||
npdig=0 !Digits before call area
|
||||
nplet=0 !Letters before call area
|
||||
do i=1,iarea-1
|
||||
if(is_digit(callsign(i:i))) npdig=npdig+1
|
||||
if(is_letter(callsign(i:i))) nplet=nplet+1
|
||||
enddo
|
||||
nslet=0 !Letters in suffix
|
||||
do i=iarea+1,n
|
||||
if(is_letter(callsign(i:i))) nslet=nslet+1
|
||||
enddo
|
||||
std=.true.
|
||||
if(iarea.lt.2 .or. iarea.gt.3 .or. nplet.eq.0 .or. &
|
||||
npdig.ge.iarea-1 .or. nslet.gt.3) std=.false.
|
||||
|
||||
return
|
||||
end subroutine stdcall
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -2073,12 +2073,12 @@ Error(%2): %3</source>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.ui" line="44"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6075"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6161"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6208"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6370"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6416"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6528"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6082"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6168"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6215"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6377"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6423"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6537"/>
|
||||
<source>Band Activity</source>
|
||||
<translation>波段活动</translation>
|
||||
</message>
|
||||
@ -2090,11 +2090,11 @@ Error(%2): %3</source>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.ui" line="188"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6076"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6160"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6203"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6371"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6417"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6083"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6167"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6210"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6378"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6424"/>
|
||||
<source>Rx Frequency</source>
|
||||
<translation>接收信息</translation>
|
||||
</message>
|
||||
@ -2712,7 +2712,7 @@ Not available to nonstandard callsign holders.</source>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.ui" line="1177"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6232"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6239"/>
|
||||
<source>Fox</source>
|
||||
<translation>狐狸</translation>
|
||||
</message>
|
||||
@ -3190,10 +3190,10 @@ list. The list can be maintained in Settings (F2).</source>
|
||||
<location filename="../widgets/mainwindow.ui" line="2269"/>
|
||||
<location filename="../widgets/mainwindow.ui" line="2276"/>
|
||||
<location filename="../widgets/mainwindow.ui" line="2496"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1267"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5820"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6683"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8134"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1265"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5822"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6692"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8143"/>
|
||||
<source>Random</source>
|
||||
<translation>随机</translation>
|
||||
</message>
|
||||
@ -3439,7 +3439,7 @@ list. The list can be maintained in Settings (F2).</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8455"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8464"/>
|
||||
<source>Runaway Tx watchdog</source>
|
||||
<translation>运行发射监管计时器</translation>
|
||||
</message>
|
||||
@ -3675,19 +3675,19 @@ list. The list can be maintained in Settings (F2).</source>
|
||||
<translation>WSJT-X 2.5.0和MAP65 3.0快速入门指南</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="257"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="258"/>
|
||||
<source>Rig Control Error</source>
|
||||
<translation>无线电设备控制错误</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="343"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="4422"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7908"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="344"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="4404"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7917"/>
|
||||
<source>Receiving</source>
|
||||
<translation>接收</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="450"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="451"/>
|
||||
<source>Do you want to reconfigure the radio interface?</source>
|
||||
<translation>是否要重新配置无线电设备接口?</translation>
|
||||
</message>
|
||||
@ -3708,191 +3708,191 @@ list. The list can be maintained in Settings (F2).</source>
|
||||
<translation type="vanished">样品丢失过多 - %1 (%2 sec) 音频帧在周期开始时丢失 %3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="518"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="519"/>
|
||||
<source>Error Scanning ADIF Log</source>
|
||||
<translation>扫描 ADIF 日志错误</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="522"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="523"/>
|
||||
<source>Scanned ADIF log, %1 worked before records created</source>
|
||||
<translation>扫描 ADIF 日志, %1 创建曾经通联记录</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="630"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="631"/>
|
||||
<source>Error Loading LotW Users Data</source>
|
||||
<translation>加载 LotW 用户数据错误</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="749"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="750"/>
|
||||
<source>Error Writing WAV File</source>
|
||||
<translation>写入 WAV 文件时错误</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="777"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="778"/>
|
||||
<source>Enumerating audio devices</source>
|
||||
<translation>列举音频设备</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="792"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="793"/>
|
||||
<source>Configurations...</source>
|
||||
<translation>配置文件...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="858"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6156"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6162"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6199"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6209"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6307"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6308"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6356"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6357"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="859"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6163"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6169"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6206"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6216"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6314"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6315"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6363"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6364"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6462"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6463"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6523"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6524"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7586"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7589"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7594"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7597"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6370"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6371"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6469"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6470"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6532"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6533"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7595"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7598"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7603"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7606"/>
|
||||
<source>Message</source>
|
||||
<translation>信息</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="872"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="873"/>
|
||||
<source>Error Killing jt9.exe Process</source>
|
||||
<translation>错误终止 jt9.exe 进程</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="873"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="874"/>
|
||||
<source>KillByName return code: %1</source>
|
||||
<translation>按名称终止返回代码: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="888"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="889"/>
|
||||
<source>Error removing "%1"</source>
|
||||
<translation>删除时错误 "%1"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="889"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="890"/>
|
||||
<source>Click OK to retry</source>
|
||||
<translation>单击 确定 重试</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1324"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6498"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1322"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6507"/>
|
||||
<source>Improper mode</source>
|
||||
<translation>模式不正确</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1505"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="9105"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1500"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="9114"/>
|
||||
<source>File Open Error</source>
|
||||
<translation>文件打开错误</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1506"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8037"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8536"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="9106"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="9235"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1501"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8046"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8545"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="9115"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="9244"/>
|
||||
<source>Cannot open "%1" for append: %2</source>
|
||||
<translation>无法打开 "%1" 用于附加: %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1609"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1601"/>
|
||||
<source>Error saving c2 file</source>
|
||||
<translation>保存 c2 文件出错误</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1809"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1798"/>
|
||||
<source>Error in Sound Input</source>
|
||||
<translation>声音输入出错误</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1815"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1804"/>
|
||||
<source>Error in Sound Output</source>
|
||||
<translation>声音输出错误</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1880"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6305"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6412"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6460"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1869"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6312"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6419"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6467"/>
|
||||
<source>Single-Period Decodes</source>
|
||||
<translation>单周期解码</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1881"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6306"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6413"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6461"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1870"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6313"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6420"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6468"/>
|
||||
<source>Average Decodes</source>
|
||||
<translation>平均解码</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2181"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2170"/>
|
||||
<source>Change Operator</source>
|
||||
<translation>改变操作员</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2181"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2170"/>
|
||||
<source>New operator:</source>
|
||||
<translation>新操作员:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2293"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2282"/>
|
||||
<source>Status File Error</source>
|
||||
<translation>状态文件错误</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2294"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5681"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2283"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5679"/>
|
||||
<source>Cannot open "%1" for writing: %2</source>
|
||||
<translation>无法打开 "%1" 用于写入: %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2424"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2413"/>
|
||||
<source>Subprocess Error</source>
|
||||
<translation>子流程出错误</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2425"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2414"/>
|
||||
<source>Subprocess failed with exit code %1</source>
|
||||
<translation>子流程失败, 退出代码为 %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2427"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2447"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2416"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2436"/>
|
||||
<source>Running: %1
|
||||
%2</source>
|
||||
<translation>运行: %1
|
||||
%2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2446"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2435"/>
|
||||
<source>Subprocess error</source>
|
||||
<translation>子进程错误</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2484"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2473"/>
|
||||
<source>Reference spectrum saved</source>
|
||||
<translation>保存参考频谱</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2557"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2543"/>
|
||||
<source>Invalid data in fmt.all at line %1</source>
|
||||
<translation>在 %1 行中 fmt.all 的无效数据</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2563"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2549"/>
|
||||
<source>Good Calibration Solution</source>
|
||||
<translation>良好的校准解决方案</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2564"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2550"/>
|
||||
<source><pre>%1%L2 ±%L3 ppm
|
||||
%4%L5 ±%L6 Hz
|
||||
|
||||
@ -3901,12 +3901,12 @@ list. The list can be maintained in Settings (F2).</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2578"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2564"/>
|
||||
<source>Delete Calibration Measurements</source>
|
||||
<translation>删除校准测量值</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2579"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2565"/>
|
||||
<source>The "fmt.all" file will be renamed as "fmt.bak"</source>
|
||||
<translation>"fmt.all" 文件将重命名为 "fmt.bak"</translation>
|
||||
</message>
|
||||
@ -3919,7 +3919,7 @@ list. The list can be maintained in Settings (F2).</source>
|
||||
"WSJT-X和相关程序的算法、源代码、外观和感觉, 以及模式的协议规范 FSK441, FST4, FT8, JT4, JT6M, JT9, JT65, JTMS, QRA64, Q65, ISCAT, MSK144 版权所有(C) 2001-2021是由以下一个或多个作者拥有的: Joseph Taylor, K1JT; Bill Somerville, G4WJS; Steven Franke, K9AN; Nico Palermo, IV3NWV; Greg Beam, KI7MT; Michael Black, W9MDB; Edson Pereira, PY2SDR; Philip Karn, KA9Q; 和WSJT发展小组的其他成员."</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2591"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2577"/>
|
||||
<source>If you make fair use of any part of WSJT-X under terms of the GNU General Public License, you must display the following copyright notice prominently in your derivative work:
|
||||
|
||||
"The algorithms, source code, look-and-feel of WSJT-X and related programs, and protocol specifications for the modes FSK441, FST4, FT8, JT4, JT6M, JT9, JT65, JTMS, QRA64, Q65, MSK144 are Copyright (C) 2001-2021 by one or more of the following authors: Joseph Taylor, K1JT; Bill Somerville, G4WJS; Steven Franke, K9AN; Nico Palermo, IV3NWV; Greg Beam, KI7MT; Michael Black, W9MDB; Edson Pereira, PY2SDR; Philip Karn, KA9Q; and other members of the WSJT Development Group."</source>
|
||||
@ -3928,27 +3928,27 @@ list. The list can be maintained in Settings (F2).</source>
|
||||
"WSJT-X和相关程序的算法、源代码、外观和感觉, 以及模式的协议规范 FSK441, FST4, FT8, JT4, JT6M, JT9, JT65, JTMS, QRA64, Q65, MSK144 版权所有(C) 2001-2021是由以下一个或多个作者拥有的: Joseph Taylor, K1JT; Bill Somerville, G4WJS; Steven Franke, K9AN; Nico Palermo, IV3NWV; Greg Beam, KI7MT; Michael Black, W9MDB; Edson Pereira, PY2SDR; Philip Karn, KA9Q; 和WSJT发展小组的其他成员."</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2882"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2868"/>
|
||||
<source>No data read from disk. Wrong file format?</source>
|
||||
<translation>没有从磁盘读取数据. 文件格式出错误?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2889"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2875"/>
|
||||
<source>Confirm Delete</source>
|
||||
<translation>确认删除</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2890"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2876"/>
|
||||
<source>Are you sure you want to delete all *.wav and *.c2 files in "%1"?</source>
|
||||
<translation>是否确实要删除所有 *.wav 和 *.c2 文件在 "%1"?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2927"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2913"/>
|
||||
<source>Keyboard Shortcuts</source>
|
||||
<translation>键盘快捷键</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2929"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2915"/>
|
||||
<source><table cellspacing=1>
|
||||
<tr><td><b>Esc </b></td><td>Stop Tx, abort QSO, clear next-call queue</td></tr>
|
||||
<tr><td><b>F1 </b></td><td>Online User's Guide (Alt: transmit Tx6)</td></tr>
|
||||
@ -4042,12 +4042,12 @@ list. The list can be maintained in Settings (F2).</source>
|
||||
</table></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2985"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2971"/>
|
||||
<source>Special Mouse Commands</source>
|
||||
<translation>特殊鼠标组合</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2987"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2973"/>
|
||||
<source><table cellpadding=5>
|
||||
<tr>
|
||||
<th align="right">Click on</th>
|
||||
@ -4112,42 +4112,42 @@ list. The list can be maintained in Settings (F2).</source>
|
||||
</table></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="3339"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="3325"/>
|
||||
<source>No more files to open.</source>
|
||||
<translation>没有要打开的文件.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="3739"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="3722"/>
|
||||
<source>Spotting to PSK Reporter unavailable</source>
|
||||
<translation>发送到 Pskreporter 不可用</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="3875"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="3858"/>
|
||||
<source>Please choose another Tx frequency. WSJT-X will not knowingly transmit another mode in the WSPR sub-band on 30m.</source>
|
||||
<translation>请选择另一个发射频率. WSJT-X 不会故意在 30m 的 WSPR 子频段中传输另一种模式.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="3879"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="3862"/>
|
||||
<source>WSPR Guard Band</source>
|
||||
<translation>WSPR 守护波段</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="3892"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="3875"/>
|
||||
<source>Please choose another dial frequency. WSJT-X will not operate in Fox mode in the standard FT8 sub-bands.</source>
|
||||
<translation>请选择另一个频率. WSJT-X在标准的FT8子带中不会以狐狸模式工作.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="3896"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="3879"/>
|
||||
<source>Fox Mode warning</source>
|
||||
<translation>狐狸模式警告</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="4524"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="4506"/>
|
||||
<source>Last Tx: %1</source>
|
||||
<translation>最后发射: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="4920"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="4902"/>
|
||||
<source>Should you switch to EU VHF Contest mode?
|
||||
|
||||
To do so, check 'Special operating activity' and
|
||||
@ -4158,178 +4158,178 @@ To do so, check 'Special operating activity' and
|
||||
设置高级选项卡上的 '欧洲 VHF 竞赛'.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="4939"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="4921"/>
|
||||
<source>Should you switch to ARRL Field Day mode?</source>
|
||||
<translation>是否应切换到 ARRL Field Day 模式?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="4944"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="4926"/>
|
||||
<source>Should you switch to RTTY contest mode?</source>
|
||||
<translation>是否应切换到 RTTY 竞赛模式?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5642"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5661"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5680"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5706"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5641"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5660"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5678"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5705"/>
|
||||
<source>Add to CALL3.TXT</source>
|
||||
<translation>添加到 CALL3.TXT</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5643"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5642"/>
|
||||
<source>Please enter a valid grid locator</source>
|
||||
<translation>请输入有效的网格定位</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5662"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5661"/>
|
||||
<source>Cannot open "%1" for read/write: %2</source>
|
||||
<translation>无法打开 "%1" 用于读/写: %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5704"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5703"/>
|
||||
<source>%1
|
||||
is already in CALL3.TXT, do you wish to replace it?</source>
|
||||
<translation>%1
|
||||
已经在 CALL3.TXT, 你想替换它吗?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5888"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5895"/>
|
||||
<source>Warning: DX Call field is empty.</source>
|
||||
<translation>警告: DX 呼号字段为空.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5945"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5952"/>
|
||||
<source>Log file error</source>
|
||||
<translation>日志文件错误</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5946"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5953"/>
|
||||
<source>Cannot open "%1"</source>
|
||||
<translation>无法打开 "%1"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5962"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5969"/>
|
||||
<source>Error sending log to N1MM</source>
|
||||
<translation>将日志发送到 N1MM 时发生错误</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5963"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5970"/>
|
||||
<source>Write returned "%1"</source>
|
||||
<translation>写入返回 "%1"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6205"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6212"/>
|
||||
<source>Stations calling DXpedition %1</source>
|
||||
<translation>呼叫远征电台 %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6243"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6250"/>
|
||||
<source>Hound</source>
|
||||
<translation>猎犬</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6529"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6538"/>
|
||||
<source>Tx Messages</source>
|
||||
<translation>发射信息</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6820"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6853"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6863"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6829"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6862"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6872"/>
|
||||
<source>Confirm Erase</source>
|
||||
<translation>确认擦除</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6821"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6830"/>
|
||||
<source>Are you sure you want to erase file ALL.TXT?</source>
|
||||
<translation>是否确实要擦除 ALL.TXT 文件?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6831"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8584"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6840"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8593"/>
|
||||
<source>Confirm Reset</source>
|
||||
<translation>确认重置</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6832"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6841"/>
|
||||
<source>Are you sure you want to erase your contest log?</source>
|
||||
<translation>是否确实要擦除竞赛日志?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6833"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6842"/>
|
||||
<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>执行此操作将删除当前竞赛的所有通联记录. 它们将保留在 ADIF 日志文件中, 但无法导出到您的卡布里略日志中.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6846"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6855"/>
|
||||
<source>Cabrillo Log saved</source>
|
||||
<translation>卡布里略日志已保存</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6854"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6863"/>
|
||||
<source>Are you sure you want to erase file wsjtx_log.adi?</source>
|
||||
<translation>是否确实要擦除 wsjtx_log.adi 文件?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6864"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6873"/>
|
||||
<source>Are you sure you want to erase the WSPR hashtable?</source>
|
||||
<translation>是否确实要擦除 WSPR 哈希表?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7436"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7445"/>
|
||||
<source>Tune digital gain </source>
|
||||
<translation>调谐数码增益 </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7438"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7447"/>
|
||||
<source>Transmit digital gain </source>
|
||||
<translation>传输数码增益 </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7457"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7466"/>
|
||||
<source>Prefixes</source>
|
||||
<translation>前缀</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7875"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7884"/>
|
||||
<source>Network Error</source>
|
||||
<translation>网络错误</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7876"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7885"/>
|
||||
<source>Error: %1
|
||||
UDP server %2:%3</source>
|
||||
<translation>错误: %1
|
||||
UDP 服务器 %2:%3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8036"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8045"/>
|
||||
<source>File Error</source>
|
||||
<translation>文件错误</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8322"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8331"/>
|
||||
<source>Phase Training Disabled</source>
|
||||
<translation>已禁用阶段训练</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8325"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8334"/>
|
||||
<source>Phase Training Enabled</source>
|
||||
<translation>已启用阶段训练</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8470"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8479"/>
|
||||
<source>WD:%1m</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8539"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="9238"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8548"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="9247"/>
|
||||
<source>Log File Error</source>
|
||||
<translation>日志文件错误</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8585"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8594"/>
|
||||
<source>Are you sure you want to clear the QSO queues?</source>
|
||||
<translation>是否确实要清除通联队列?</translation>
|
||||
</message>
|
||||
|
@ -2073,12 +2073,12 @@ Error(%2): %3</source>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.ui" line="44"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6075"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6161"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6208"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6370"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6416"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6528"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6082"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6168"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6215"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6377"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6423"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6537"/>
|
||||
<source>Band Activity</source>
|
||||
<translation>波段活動</translation>
|
||||
</message>
|
||||
@ -2090,11 +2090,11 @@ Error(%2): %3</source>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.ui" line="188"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6076"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6160"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6203"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6371"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6417"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6083"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6167"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6210"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6378"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6424"/>
|
||||
<source>Rx Frequency</source>
|
||||
<translation>接收信息</translation>
|
||||
</message>
|
||||
@ -2712,7 +2712,7 @@ Not available to nonstandard callsign holders.</source>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.ui" line="1177"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6232"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6239"/>
|
||||
<source>Fox</source>
|
||||
<translation>狐狸</translation>
|
||||
</message>
|
||||
@ -3190,10 +3190,10 @@ list. The list can be maintained in Settings (F2).</source>
|
||||
<location filename="../widgets/mainwindow.ui" line="2269"/>
|
||||
<location filename="../widgets/mainwindow.ui" line="2276"/>
|
||||
<location filename="../widgets/mainwindow.ui" line="2496"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1267"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5820"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6683"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8134"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1265"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5822"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6692"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8143"/>
|
||||
<source>Random</source>
|
||||
<translation>隨機</translation>
|
||||
</message>
|
||||
@ -3439,7 +3439,7 @@ list. The list can be maintained in Settings (F2).</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8455"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8464"/>
|
||||
<source>Runaway Tx watchdog</source>
|
||||
<translation>運行發射監管計時器</translation>
|
||||
</message>
|
||||
@ -3675,19 +3675,19 @@ list. The list can be maintained in Settings (F2).</source>
|
||||
<translation>WSJT-X 2.5.0和MAP65 3.0快速入門指南</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="257"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="258"/>
|
||||
<source>Rig Control Error</source>
|
||||
<translation>無線電設備控制錯誤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="343"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="4422"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7908"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="344"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="4404"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7917"/>
|
||||
<source>Receiving</source>
|
||||
<translation>接收</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="450"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="451"/>
|
||||
<source>Do you want to reconfigure the radio interface?</source>
|
||||
<translation>是否要重新配置無線電設備接口?</translation>
|
||||
</message>
|
||||
@ -3708,191 +3708,191 @@ list. The list can be maintained in Settings (F2).</source>
|
||||
<translation type="vanished">樣品遺失過多 -%1 (%2 sec) 音效的畫面在週期開始時遺失 %3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="518"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="519"/>
|
||||
<source>Error Scanning ADIF Log</source>
|
||||
<translation>掃描 ADIF 紀錄錯誤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="522"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="523"/>
|
||||
<source>Scanned ADIF log, %1 worked before records created</source>
|
||||
<translation>掃描 ADIF 紀錄, %1 建立曾經通聯紀錄</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="630"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="631"/>
|
||||
<source>Error Loading LotW Users Data</source>
|
||||
<translation>載入 LotW 使用者資料錯誤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="749"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="750"/>
|
||||
<source>Error Writing WAV File</source>
|
||||
<translation>寫入 WAV 檔案時錯誤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="777"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="778"/>
|
||||
<source>Enumerating audio devices</source>
|
||||
<translation>列舉音訊設備</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="792"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="793"/>
|
||||
<source>Configurations...</source>
|
||||
<translation>設定檔案...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="858"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6156"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6162"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6199"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6209"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6307"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6308"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6356"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6357"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="859"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6163"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6169"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6206"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6216"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6314"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6315"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6363"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6364"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6462"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6463"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6523"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6524"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7586"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7589"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7594"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7597"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6370"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6371"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6469"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6470"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6532"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6533"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7595"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7598"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7603"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7606"/>
|
||||
<source>Message</source>
|
||||
<translation>信息</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="872"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="873"/>
|
||||
<source>Error Killing jt9.exe Process</source>
|
||||
<translation>錯誤終止 jt9.exe 程序</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="873"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="874"/>
|
||||
<source>KillByName return code: %1</source>
|
||||
<translation>按結束名稱返回代碼: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="888"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="889"/>
|
||||
<source>Error removing "%1"</source>
|
||||
<translation>刪除時錯誤 "%1"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="889"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="890"/>
|
||||
<source>Click OK to retry</source>
|
||||
<translation>單擊 確定 重試</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1324"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6498"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1322"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6507"/>
|
||||
<source>Improper mode</source>
|
||||
<translation>模式不正確</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1505"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="9105"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1500"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="9114"/>
|
||||
<source>File Open Error</source>
|
||||
<translation>檔案開啟錯誤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1506"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8037"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8536"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="9106"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="9235"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1501"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8046"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8545"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="9115"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="9244"/>
|
||||
<source>Cannot open "%1" for append: %2</source>
|
||||
<translation>無法開啟 "%1" 用於附加: %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1609"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1601"/>
|
||||
<source>Error saving c2 file</source>
|
||||
<translation>保存c2檔案錯誤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1809"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1798"/>
|
||||
<source>Error in Sound Input</source>
|
||||
<translation>聲音輸入錯誤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1815"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1804"/>
|
||||
<source>Error in Sound Output</source>
|
||||
<translation>聲音輸錯誤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1880"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6305"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6412"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6460"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1869"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6312"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6419"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6467"/>
|
||||
<source>Single-Period Decodes</source>
|
||||
<translation>單週期解碼</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1881"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6306"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6413"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6461"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="1870"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6313"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6420"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6468"/>
|
||||
<source>Average Decodes</source>
|
||||
<translation>平均解碼</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2181"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2170"/>
|
||||
<source>Change Operator</source>
|
||||
<translation>變更操作員</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2181"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2170"/>
|
||||
<source>New operator:</source>
|
||||
<translation>新操作員:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2293"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2282"/>
|
||||
<source>Status File Error</source>
|
||||
<translation>狀態檔案錯誤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2294"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5681"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2283"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5679"/>
|
||||
<source>Cannot open "%1" for writing: %2</source>
|
||||
<translation>無法開啟 "%1" 用於寫入: %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2424"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2413"/>
|
||||
<source>Subprocess Error</source>
|
||||
<translation>子流程錯誤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2425"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2414"/>
|
||||
<source>Subprocess failed with exit code %1</source>
|
||||
<translation>子流程失敗, 退出代碼為 %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2427"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2447"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2416"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2436"/>
|
||||
<source>Running: %1
|
||||
%2</source>
|
||||
<translation>運行: %1
|
||||
%2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2446"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2435"/>
|
||||
<source>Subprocess error</source>
|
||||
<translation>子進程錯誤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2484"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2473"/>
|
||||
<source>Reference spectrum saved</source>
|
||||
<translation>儲存參考頻譜</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2557"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2543"/>
|
||||
<source>Invalid data in fmt.all at line %1</source>
|
||||
<translation>在 %1 行中 fmt.all 的不合法資料</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2563"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2549"/>
|
||||
<source>Good Calibration Solution</source>
|
||||
<translation>良好的校準解決方案</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2564"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2550"/>
|
||||
<source><pre>%1%L2 ±%L3 ppm
|
||||
%4%L5 ±%L6 Hz
|
||||
|
||||
@ -3901,12 +3901,12 @@ list. The list can be maintained in Settings (F2).</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2578"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2564"/>
|
||||
<source>Delete Calibration Measurements</source>
|
||||
<translation>刪除校準測量值</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2579"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2565"/>
|
||||
<source>The "fmt.all" file will be renamed as "fmt.bak"</source>
|
||||
<translation>"fmt.all" 檔案將重新命名為 "fmt.bak"</translation>
|
||||
</message>
|
||||
@ -3919,7 +3919,7 @@ list. The list can be maintained in Settings (F2).</source>
|
||||
"WSJT-X 及相關程式的演算法、原始程式碼、外觀和協定規範 FSK441, FST4, FT8, JT4, JT6M, JT9, JT65, JTMS, QRA64, Q65, ISCAT, MSK144 版權所有 (C) 2001-2021 由以下一個或多個作者提供: Joseph Taylor, K1JT; Bill Somerville, G4WJS; Steven Franke, K9AN; Nico Palermo, IV3NWV; Greg Beam, KI7MT; Michael Black, W9MDB; Edson Pereira, PY2SDR; Philip Karn, KA9Q; 和WSJT發展團的其他成員."</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2591"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2577"/>
|
||||
<source>If you make fair use of any part of WSJT-X under terms of the GNU General Public License, you must display the following copyright notice prominently in your derivative work:
|
||||
|
||||
"The algorithms, source code, look-and-feel of WSJT-X and related programs, and protocol specifications for the modes FSK441, FST4, FT8, JT4, JT6M, JT9, JT65, JTMS, QRA64, Q65, MSK144 are Copyright (C) 2001-2021 by one or more of the following authors: Joseph Taylor, K1JT; Bill Somerville, G4WJS; Steven Franke, K9AN; Nico Palermo, IV3NWV; Greg Beam, KI7MT; Michael Black, W9MDB; Edson Pereira, PY2SDR; Philip Karn, KA9Q; and other members of the WSJT Development Group."</source>
|
||||
@ -3928,27 +3928,27 @@ list. The list can be maintained in Settings (F2).</source>
|
||||
"WSJT-X 及相關程式的演算法、原始程式碼、外觀和協定規範 FSK441, FST4, FT8, JT4, JT6M, JT9, JT65, JTMS, QRA64, Q65, MSK144 版權所有 (C) 2001-2021 由以下一個或多個作者提供: Joseph Taylor, K1JT; Bill Somerville, G4WJS; Steven Franke, K9AN; Nico Palermo, IV3NWV; Greg Beam, KI7MT; Michael Black, W9MDB; Edson Pereira, PY2SDR; Philip Karn, KA9Q; 和WSJT發展團的其他成員."</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2882"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2868"/>
|
||||
<source>No data read from disk. Wrong file format?</source>
|
||||
<translation>沒有從磁盤讀取數據. 檔案格式錯誤?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2889"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2875"/>
|
||||
<source>Confirm Delete</source>
|
||||
<translation>確認刪除</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2890"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2876"/>
|
||||
<source>Are you sure you want to delete all *.wav and *.c2 files in "%1"?</source>
|
||||
<translation>是否確實要刪除所有 *.wav 和 *.c2 檔案在 "%1"?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2927"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2913"/>
|
||||
<source>Keyboard Shortcuts</source>
|
||||
<translation>鍵盤快捷鍵</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2929"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2915"/>
|
||||
<source><table cellspacing=1>
|
||||
<tr><td><b>Esc </b></td><td>Stop Tx, abort QSO, clear next-call queue</td></tr>
|
||||
<tr><td><b>F1 </b></td><td>Online User's Guide (Alt: transmit Tx6)</td></tr>
|
||||
@ -4042,12 +4042,12 @@ list. The list can be maintained in Settings (F2).</source>
|
||||
</table></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2985"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2971"/>
|
||||
<source>Special Mouse Commands</source>
|
||||
<translation>特殊滑鼠組合</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2987"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="2973"/>
|
||||
<source><table cellpadding=5>
|
||||
<tr>
|
||||
<th align="right">Click on</th>
|
||||
@ -4113,42 +4113,42 @@ list. The list can be maintained in Settings (F2).</source>
|
||||
</table></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="3339"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="3325"/>
|
||||
<source>No more files to open.</source>
|
||||
<translation>沒有要打開的檔.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="3739"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="3722"/>
|
||||
<source>Spotting to PSK Reporter unavailable</source>
|
||||
<translation>無法發送至PSK Reporter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="3875"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="3858"/>
|
||||
<source>Please choose another Tx frequency. WSJT-X will not knowingly transmit another mode in the WSPR sub-band on 30m.</source>
|
||||
<translation>請選擇其他發射頻率. WSJT-X 不會故意傳輸另一個模式在 WSPR 30米子波段上.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="3879"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="3862"/>
|
||||
<source>WSPR Guard Band</source>
|
||||
<translation>WSPR保護波段</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="3892"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="3875"/>
|
||||
<source>Please choose another dial frequency. WSJT-X will not operate in Fox mode in the standard FT8 sub-bands.</source>
|
||||
<translation>請選擇其他頻率. WSJT-X 不會運行狐狸模式在標準 FT8 波段.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="3896"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="3879"/>
|
||||
<source>Fox Mode warning</source>
|
||||
<translation>狐狸模式警告</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="4524"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="4506"/>
|
||||
<source>Last Tx: %1</source>
|
||||
<translation>最後發射: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="4920"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="4902"/>
|
||||
<source>Should you switch to EU VHF Contest mode?
|
||||
|
||||
To do so, check 'Special operating activity' and
|
||||
@ -4159,178 +4159,178 @@ To do so, check 'Special operating activity' and
|
||||
設置高級選項卡上的 '歐洲 VHF 競賽'.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="4939"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="4921"/>
|
||||
<source>Should you switch to ARRL Field Day mode?</source>
|
||||
<translation>是否應切換到 ARRL Field Day 模式?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="4944"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="4926"/>
|
||||
<source>Should you switch to RTTY contest mode?</source>
|
||||
<translation>是否應切換到 RTTY 競賽模式?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5642"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5661"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5680"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5706"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5641"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5660"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5678"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5705"/>
|
||||
<source>Add to CALL3.TXT</source>
|
||||
<translation>添加到 CALL3.TXT</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5643"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5642"/>
|
||||
<source>Please enter a valid grid locator</source>
|
||||
<translation>請輸入有效的網格定位</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5662"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5661"/>
|
||||
<source>Cannot open "%1" for read/write: %2</source>
|
||||
<translation>無法開啟 "%1" 用於讀/寫: %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5704"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5703"/>
|
||||
<source>%1
|
||||
is already in CALL3.TXT, do you wish to replace it?</source>
|
||||
<translation>%1
|
||||
已經在 CALL3.TXT, 你想替換它嗎?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5888"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5895"/>
|
||||
<source>Warning: DX Call field is empty.</source>
|
||||
<translation>警告: DX 呼號欄位為空.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5945"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5952"/>
|
||||
<source>Log file error</source>
|
||||
<translation>日誌檔案錯誤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5946"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5953"/>
|
||||
<source>Cannot open "%1"</source>
|
||||
<translation>無法開啟 "%1"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5962"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5969"/>
|
||||
<source>Error sending log to N1MM</source>
|
||||
<translation>將日誌傳送到 N1MM 時發生錯誤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5963"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="5970"/>
|
||||
<source>Write returned "%1"</source>
|
||||
<translation>寫入返回 "%1"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6205"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6212"/>
|
||||
<source>Stations calling DXpedition %1</source>
|
||||
<translation>呼叫遠征電臺 %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6243"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6250"/>
|
||||
<source>Hound</source>
|
||||
<translation>獵犬</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6529"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6538"/>
|
||||
<source>Tx Messages</source>
|
||||
<translation>發射信息</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6820"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6853"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6863"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6829"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6862"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6872"/>
|
||||
<source>Confirm Erase</source>
|
||||
<translation>確認擦除</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6821"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6830"/>
|
||||
<source>Are you sure you want to erase file ALL.TXT?</source>
|
||||
<translation>是否確實要擦除 ALL.Txt 檔案?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6831"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8584"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6840"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8593"/>
|
||||
<source>Confirm Reset</source>
|
||||
<translation>確認重置</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6832"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6841"/>
|
||||
<source>Are you sure you want to erase your contest log?</source>
|
||||
<translation>是否確實要擦除競賽日誌?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6833"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6842"/>
|
||||
<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>執行此動作將移除目前競賽的所有通聯紀錄. 它們將保留在 ADIF 日誌檔案中, 但無法匯出到您的卡布里略日誌中.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6846"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6855"/>
|
||||
<source>Cabrillo Log saved</source>
|
||||
<translation>卡布里略日誌已儲存</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6854"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6863"/>
|
||||
<source>Are you sure you want to erase file wsjtx_log.adi?</source>
|
||||
<translation>是否確實要擦除 wsjtx_log.adi 檔案?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6864"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="6873"/>
|
||||
<source>Are you sure you want to erase the WSPR hashtable?</source>
|
||||
<translation>是否確定要擦除 WSPR 哈希表?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7436"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7445"/>
|
||||
<source>Tune digital gain </source>
|
||||
<translation>調諧數碼增益 </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7438"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7447"/>
|
||||
<source>Transmit digital gain </source>
|
||||
<translation>傳輸數碼增益 </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7457"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7466"/>
|
||||
<source>Prefixes</source>
|
||||
<translation>前綴</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7875"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7884"/>
|
||||
<source>Network Error</source>
|
||||
<translation>網路錯誤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7876"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="7885"/>
|
||||
<source>Error: %1
|
||||
UDP server %2:%3</source>
|
||||
<translation>錯誤: %1
|
||||
UDP 服務器 %2:%3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8036"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8045"/>
|
||||
<source>File Error</source>
|
||||
<translation>檔案錯誤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8322"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8331"/>
|
||||
<source>Phase Training Disabled</source>
|
||||
<translation>關閉階段訓練</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8325"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8334"/>
|
||||
<source>Phase Training Enabled</source>
|
||||
<translation>開啟階段訓練</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8470"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8479"/>
|
||||
<source>WD:%1m</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8539"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="9238"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8548"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="9247"/>
|
||||
<source>Log File Error</source>
|
||||
<translation>日誌檔案錯誤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8585"/>
|
||||
<location filename="../widgets/mainwindow.cpp" line="8594"/>
|
||||
<source>Are you sure you want to clear the QSO queues?</source>
|
||||
<translation>是否要清除通聯佇列?</translation>
|
||||
</message>
|
||||
|
6721
translations/wsjtx_zh_TW.ts
Normal file
6721
translations/wsjtx_zh_TW.ts
Normal file
File diff suppressed because it is too large
Load Diff
@ -14,23 +14,24 @@ CAboutDlg::CAboutDlg(QWidget *parent) :
|
||||
ui->setupUi(this);
|
||||
|
||||
ui->labelTxt->setText ("<h2>" + QString {"WSJT-X v"
|
||||
+ QCoreApplication::applicationVersion ()
|
||||
+ " " + revision ()}.simplified () + "</h2><br />"
|
||||
"WSJT-X implements a number of digital modes designed for <br />"
|
||||
"weak-signal Amateur Radio communication. <br /><br />"
|
||||
"© 2001-2021 by Joe Taylor, K1JT, Bill Somerville, G4WJS, <br />"
|
||||
"Steve Franke, K9AN, and Nico Palermo, IV3NWV. <br /><br />"
|
||||
"We gratefully acknowledge contributions from AC6SL, AE4JY,<br />"
|
||||
"DF2ET, DJ0OT, G3WDG, G4KLA, IW3RAB, K3WYC, KA1GT,<br />"
|
||||
"KA6MAL, KA9Q, KB1ZMX, KD6EKQ, KI7MT, KK1D, ND0B, PY2SDR,<br />"
|
||||
"VE1SKY, VK3ACF, VK4BDJ, VK7MO, W3DJS, W4TI, W4TV, and W9MDB.<br /><br />"
|
||||
"WSJT-X is licensed under the terms of Version 3 <br />"
|
||||
"of the GNU General Public License (GPL) <br /><br />"
|
||||
"<a href=" TO_STRING__ (PROJECT_HOMEPAGE) ">"
|
||||
"<img src=\":/icon_128x128.png\" /></a>"
|
||||
"<a href=\"https://www.gnu.org/licenses/gpl-3.0.txt\">"
|
||||
"<img src=\":/gpl-v3-logo.svg\" height=\"80\" /><br />"
|
||||
"https://www.gnu.org/licenses/gpl-3.0.txt</a>");
|
||||
+ QCoreApplication::applicationVersion ()
|
||||
+ " " + revision ()}.simplified () + "</h2><br />"
|
||||
"WSJT-X implements a number of digital modes designed for <br />"
|
||||
"weak-signal Amateur Radio communication. <br /><br />"
|
||||
"© 2001-2021 by Joe Taylor, K1JT, Bill Somerville, G4WJS, <br />"
|
||||
"Steve Franke, K9AN, and Nico Palermo, IV3NWV. <br /><br />"
|
||||
"We gratefully acknowledge contributions from AC6SL, AE4JY,<br />"
|
||||
"DF2ET, DJ0OT, G3WDG, G4KLA, IW3RAB, K3WYC, KA1GT,<br />"
|
||||
"KA6MAL, KA9Q, KB1ZMX, KD6EKQ, KI7MT, KK1D, ND0B, PY2SDR,<br />"
|
||||
"VE1SKY, VK3ACF, VK4BDJ, VK7MO, W3DJS, W3SZ, W4TI, W4TV,<br />"
|
||||
"and W9MDB.<br /><br />"
|
||||
"WSJT-X is licensed under the terms of Version 3 <br />"
|
||||
"of the GNU General Public License (GPL) <br /><br />"
|
||||
"<a href=" TO_STRING__ (PROJECT_HOMEPAGE) ">"
|
||||
"<img src=\":/icon_128x128.png\" /></a>"
|
||||
"<a href=\"https://www.gnu.org/licenses/gpl-3.0.txt\">"
|
||||
"<img src=\":/gpl-v3-logo.svg\" height=\"80\" /><br />"
|
||||
"https://www.gnu.org/licenses/gpl-3.0.txt</a>");
|
||||
}
|
||||
|
||||
CAboutDlg::~CAboutDlg()
|
||||
|
@ -1024,15 +1024,14 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple,
|
||||
|
||||
void MainWindow::not_GA_warning_message ()
|
||||
{
|
||||
|
||||
MessageBox::critical_message (this,
|
||||
"This is a pre-release version of WSJT-X 2.5.0 made\n"
|
||||
"available for testing purposes. By design it will\n"
|
||||
"be nonfunctional after Sept 30, 2021.");
|
||||
auto now = QDateTime::currentDateTimeUtc ();
|
||||
if (now >= QDateTime {{2021, 9, 30}, {23, 59, 59, 999}, Qt::UTC}) {
|
||||
Q_EMIT finished ();
|
||||
}
|
||||
// MessageBox::critical_message (this,
|
||||
// "This is a pre-release version of WSJT-X " + version (false) + " made\n"
|
||||
// "available for testing purposes. By design it will\n"
|
||||
// "be nonfunctional after Nov 30, 2021.");
|
||||
// auto now = QDateTime::currentDateTimeUtc ();
|
||||
// if (now >= QDateTime {{2021, 11, 30}, {23, 59, 59, 999}, Qt::UTC}) {
|
||||
// Q_EMIT finished ();
|
||||
// }
|
||||
}
|
||||
|
||||
void MainWindow::initialize_fonts ()
|
||||
@ -5371,6 +5370,8 @@ void MainWindow::genStdMsgs(QString rpt, bool unconditional)
|
||||
msgtype(t, ui->tx1);
|
||||
if (eme_short_codes) {
|
||||
t=t+" OOO";
|
||||
if(!bHisCall) t=hisCall + " " + m_baseCall + " OOO";
|
||||
if(!bMyCall) t=hisBase + " " + my_callsign + " OOO";
|
||||
msgtype(t, ui->tx2);
|
||||
msgtype("RO", ui->tx3);
|
||||
msgtype("RRR", ui->tx4);
|
||||
@ -5459,7 +5460,7 @@ void MainWindow::genStdMsgs(QString rpt, bool unconditional)
|
||||
}
|
||||
|
||||
t=t0 + (m_send_RR73 ? "RR73" : "RRR");
|
||||
if((m_mode=="MSK144" and !m_bShMsgs) or m_mode=="FT8" or m_mode=="FT4" || m_mode == "FST4") {
|
||||
if((m_mode=="MSK144" and !m_bShMsgs) or m_mode=="FT8" or m_mode=="FT4" || m_mode == "FST4" || m_mode == "Q65") {
|
||||
if(!bHisCall and bMyCall) t=hisCall + " <" + my_callsign + "> " + (m_send_RR73 ? "RR73" : "RRR");
|
||||
if(bHisCall and !bMyCall) t="<" + hisCall + "> " + my_callsign + " " + (m_send_RR73 ? "RR73" : "RRR");
|
||||
}
|
||||
@ -5467,7 +5468,7 @@ void MainWindow::genStdMsgs(QString rpt, bool unconditional)
|
||||
msgtype(t, ui->tx4);
|
||||
|
||||
t=t0 + "73";
|
||||
if((m_mode=="MSK144" and !m_bShMsgs) or m_mode=="FT8" or m_mode=="FT4" || m_mode == "FST4") {
|
||||
if((m_mode=="MSK144" and !m_bShMsgs) or m_mode=="FT8" or m_mode=="FT4" || m_mode == "FST4" || m_mode == "Q65") {
|
||||
if(!bHisCall and bMyCall) t=hisCall + " <" + my_callsign + "> 73";
|
||||
if(bHisCall and !bMyCall) t="<" + hisCall + "> " + my_callsign + " 73";
|
||||
}
|
||||
|
@ -2,14 +2,6 @@
|
||||
<ui version="4.0">
|
||||
<class>MainWindow</class>
|
||||
<widget class="QMainWindow" name="MainWindow">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>1124</width>
|
||||
<height>582</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>WSJT-X by K1JT</string>
|
||||
</property>
|
||||
@ -560,40 +552,7 @@
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout_5" rowstretch="1,0,0" columnstretch="0,0,0,1,0">
|
||||
<item row="0" column="2">
|
||||
<widget class="QLabel" name="labDialFreq">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>USB dial frequency</string>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">QLabel {
|
||||
font-family: MS Shell Dlg 2;
|
||||
font-size: 16pt;
|
||||
color : yellow;
|
||||
background-color : black;
|
||||
}
|
||||
QLabel[oob="true"] {
|
||||
background-color: red;
|
||||
}</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>14.078 000</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
<property name="margin">
|
||||
<number>5</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<layout class="QGridLayout" name="gridLayout_5" rowstretch="1,0,0" columnstretch="0,0,1,5,0">
|
||||
<item row="0" column="1" alignment="Qt::AlignHCenter|Qt::AlignVCenter">
|
||||
<widget class="QPushButton" name="readFreq">
|
||||
<property name="enabled">
|
||||
@ -643,94 +602,43 @@ QPushButton[state="ok"] {
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="BandComboBox" name="bandComboBox">
|
||||
<item row="1" column="4" rowspan="2">
|
||||
<widget class="QSlider" name="outAttenuation">
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Select operating band or enter frequency in MHz or enter kHz increment followed by k.</p></body></html></string>
|
||||
<string>Adjust Tx audio level</string>
|
||||
</property>
|
||||
<property name="accessibleName">
|
||||
<string>Frequency entry</string>
|
||||
<property name="maximum">
|
||||
<number>450</number>
|
||||
</property>
|
||||
<property name="accessibleDescription">
|
||||
<string>Select operating band or enter frequency in MHz or enter kHz increment followed by k.</string>
|
||||
<property name="value">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="editable">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="invertedAppearance">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="insertPolicy">
|
||||
<enum>QComboBox::NoInsert</enum>
|
||||
<property name="invertedControls">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="sizeAdjustPolicy">
|
||||
<enum>QComboBox::AdjustToMinimumContentsLengthWithIcon</enum>
|
||||
<property name="tickPosition">
|
||||
<enum>QSlider::TicksBelow</enum>
|
||||
</property>
|
||||
<property name="tickInterval">
|
||||
<number>50</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" rowspan="2">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_11">
|
||||
<item>
|
||||
<widget class="QSpinBox" name="sbNB">
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string> %</string>
|
||||
</property>
|
||||
<property name="prefix">
|
||||
<string>NB </string>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>-2</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>25</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="SignalMeter" name="signal_meter_widget">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>30dB recommended when only noise present<br/>Green when good<br/>Red when clipping may occur<br/>Yellow when too low</p></body></html></string>
|
||||
</property>
|
||||
<property name="accessibleName">
|
||||
<string>Rx Signal</string>
|
||||
</property>
|
||||
<property name="accessibleDescription">
|
||||
<string>30dB recommended when only noise present
|
||||
Green when good
|
||||
Red when clipping may occur
|
||||
Yellow when too low</string>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::Panel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<item row="1" column="1" colspan="2">
|
||||
<widget class="QWidget" name="DX_controls_widget" native="true">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<layout class="QGridLayout" name="gridLayout_2" columnstretch="2,1">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
@ -745,12 +653,6 @@ Yellow when too low</string>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="palette">
|
||||
<palette>
|
||||
<active>
|
||||
@ -835,56 +737,8 @@ Yellow when too low</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QPushButton" name="addButton">
|
||||
<property name="toolTip">
|
||||
<string>Add callsign and locator to database</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Add</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0" colspan="2">
|
||||
<widget class="QLabel" name="labAz">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="autoFillBackground">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Az: 251 16553 km</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
<property name="indent">
|
||||
<number>4</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QPushButton" name="lookupButton">
|
||||
<property name="toolTip">
|
||||
<string>Search for callsign in database</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>&Lookup</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="palette">
|
||||
<palette>
|
||||
<active>
|
||||
@ -971,11 +825,17 @@ Yellow when too low</string>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLineEdit" name="dxCallEntry">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Callsign of station to be worked</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
<property name="maxLength">
|
||||
<number>11</number>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
@ -984,24 +844,73 @@ Yellow when too low</string>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="dxGridEntry">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Locator of station to be worked</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
<string>`</string>
|
||||
</property>
|
||||
<property name="maxLength">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0" colspan="2">
|
||||
<layout class="QGridLayout" name="gridLayout_4">
|
||||
<item row="1" column="0">
|
||||
<widget class="QPushButton" name="lookupButton">
|
||||
<property name="toolTip">
|
||||
<string>Search for callsign in database</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>&Lookup</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QPushButton" name="addButton">
|
||||
<property name="toolTip">
|
||||
<string>Add callsign and locator to database</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Add</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0" colspan="2">
|
||||
<widget class="QLabel" name="labAz">
|
||||
<property name="autoFillBackground">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Az: 251 16553 km</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
<property name="indent">
|
||||
<number>4</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
<item row="2" column="1" colspan="2">
|
||||
<widget class="QLabel" name="labUTC">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
@ -1037,36 +946,47 @@ Yellow when too low</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="4" rowspan="2">
|
||||
<widget class="QSlider" name="outAttenuation">
|
||||
<item row="0" column="2">
|
||||
<widget class="QLabel" name="labDialFreq">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Adjust Tx audio level</string>
|
||||
<string>USB dial frequency</string>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>450</number>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">QLabel {
|
||||
font-family: MS Shell Dlg 2;
|
||||
font-size: 16pt;
|
||||
color : yellow;
|
||||
background-color : black;
|
||||
}
|
||||
QLabel[oob="true"] {
|
||||
background-color: red;
|
||||
}</string>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>0</number>
|
||||
<property name="text">
|
||||
<string>14.078 000</string>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
<property name="invertedAppearance">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="invertedControls">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="tickPosition">
|
||||
<enum>QSlider::TicksBelow</enum>
|
||||
</property>
|
||||
<property name="tickInterval">
|
||||
<number>50</number>
|
||||
<property name="margin">
|
||||
<number>5</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3" rowspan="3">
|
||||
<widget class="QStackedWidget" name="controls_stack_widget">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
</property>
|
||||
@ -1086,6 +1006,12 @@ Yellow when too low</string>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QWidget" name="QSO_controls_widget" native="true">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_6" stretch="0,1">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
@ -1725,11 +1651,11 @@ When not checked you can view the calibration results.</string>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTabWidget" name="tabWidget">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="tabPosition">
|
||||
<enum>QTabWidget::West</enum>
|
||||
@ -1746,7 +1672,7 @@ When not checked you can view the calibration results.</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout_7">
|
||||
<item row="0" column="0">
|
||||
<layout class="QGridLayout" name="gridLayout_6">
|
||||
<layout class="QGridLayout" name="gridLayout_6" columnstretch="1,0,0">
|
||||
<item row="6" column="1">
|
||||
<widget class="QRadioButton" name="txrb6">
|
||||
<property name="toolTip">
|
||||
@ -1781,8 +1707,14 @@ When not checked you can view the calibration results.</string>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLineEdit" name="tx1">
|
||||
<property name="text">
|
||||
<string/>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maxLength">
|
||||
<number>30</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -1829,8 +1761,14 @@ Double click to toggle the use of the Tx1 message to start a QSO with a station
|
||||
</item>
|
||||
<item row="6" column="0">
|
||||
<widget class="QLineEdit" name="tx6">
|
||||
<property name="text">
|
||||
<string/>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maxLength">
|
||||
<number>30</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -1871,7 +1809,17 @@ Double-click to reset to the standard 73 message</string>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLineEdit" name="tx2"/>
|
||||
<widget class="QLineEdit" name="tx2">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maxLength">
|
||||
<number>30</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QLabel" name="label_2">
|
||||
@ -1903,10 +1851,30 @@ Double-click to reset to the standard 73 message</string>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLineEdit" name="tx4"/>
|
||||
<widget class="QLineEdit" name="tx4">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maxLength">
|
||||
<number>30</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLineEdit" name="tx3"/>
|
||||
<widget class="QLineEdit" name="tx3">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maxLength">
|
||||
<number>30</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QPushButton" name="genStdMsgsPushButton">
|
||||
@ -2012,6 +1980,12 @@ Double click to toggle the use of the Tx1 message to start a QSO with a station
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<widget class="QComboBox" name="tx5">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Enter a free text message (maximum 13 characters)
|
||||
or select a predefined macro from the dropdown list.
|
||||
@ -2322,6 +2296,12 @@ Double-click to reset to the standard 73 message</string>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="DisplayText" name="textBrowser4">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
@ -2808,6 +2788,85 @@ Double-click to reset to the standard 73 message</string>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" rowspan="2">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_11">
|
||||
<item>
|
||||
<widget class="QSpinBox" name="sbNB">
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string> %</string>
|
||||
</property>
|
||||
<property name="prefix">
|
||||
<string>NB </string>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>-2</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>25</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="SignalMeter" name="signal_meter_widget">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>30dB recommended when only noise present<br/>Green when good<br/>Red when clipping may occur<br/>Yellow when too low</p></body></html></string>
|
||||
</property>
|
||||
<property name="accessibleName">
|
||||
<string>Rx Signal</string>
|
||||
</property>
|
||||
<property name="accessibleDescription">
|
||||
<string>30dB recommended when only noise present
|
||||
Green when good
|
||||
Red when clipping may occur
|
||||
Yellow when too low</string>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::Panel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="BandComboBox" name="bandComboBox">
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Select operating band or enter frequency in MHz or enter kHz increment followed by k.</p></body></html></string>
|
||||
</property>
|
||||
<property name="accessibleName">
|
||||
<string>Frequency entry</string>
|
||||
</property>
|
||||
<property name="accessibleDescription">
|
||||
<string>Select operating band or enter frequency in MHz or enter kHz increment followed by k.</string>
|
||||
</property>
|
||||
<property name="editable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="insertPolicy">
|
||||
<enum>QComboBox::NoInsert</enum>
|
||||
</property>
|
||||
<property name="sizeAdjustPolicy">
|
||||
<enum>QComboBox::AdjustToMinimumContentsLengthWithIcon</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
@ -2820,7 +2879,7 @@ Double-click to reset to the standard 73 message</string>
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>1124</width>
|
||||
<width>968</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
@ -3493,8 +3552,6 @@ Double-click to reset to the standard 73 message</string>
|
||||
<tabstop>sbNB</tabstop>
|
||||
<tabstop>dxCallEntry</tabstop>
|
||||
<tabstop>dxGridEntry</tabstop>
|
||||
<tabstop>lookupButton</tabstop>
|
||||
<tabstop>addButton</tabstop>
|
||||
<tabstop>txFirstCheckBox</tabstop>
|
||||
<tabstop>TxFreqSpinBox</tabstop>
|
||||
<tabstop>pbR2T</tabstop>
|
||||
|
Loading…
Reference in New Issue
Block a user