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