From aa87e23919ab7ecc0d2216566892079bac30abb4 Mon Sep 17 00:00:00 2001 From: BG7JAF Date: Thu, 11 Jan 2024 17:24:25 +0800 Subject: [PATCH] Add Simplify Chinese translation --- python/Makefile | 2 +- python/translate/zh_CN.qm | Bin 0 -> 14911 bytes python/translate/zh_CN.ts | 1090 +++++++++++++++++++++++++++++++++++++ 3 files changed, 1091 insertions(+), 1 deletion(-) create mode 100644 python/translate/zh_CN.qm create mode 100644 python/translate/zh_CN.ts diff --git a/python/Makefile b/python/Makefile index de40932..80f3815 100644 --- a/python/Makefile +++ b/python/Makefile @@ -10,7 +10,7 @@ pyqt6: pyuic6 -i 3 -o cwsimgui.py cwsimgui.ui cwsim.exe: pyqt6 - pyinstaller.exe -w -F --clean --add-data "MASTER.SCP;." --add-data "cwsimgui.ui;." -n cwsim cwsim.py + pyinstaller.exe -w -F --clean --add-data "MASTER.SCP;." --add-data "cwsimgui.ui;." --add-data "translate/zh_CN.qm;translate/" -n cwsim cwsim.py distclean: rm -rf cwsimgui.py diff --git a/python/translate/zh_CN.qm b/python/translate/zh_CN.qm new file mode 100644 index 0000000000000000000000000000000000000000..8a3888b776f57b80fdf61957ef862a2da8348e62 GIT binary patch literal 14911 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 literal 0 HcmV?d00001 diff --git a/python/translate/zh_CN.ts b/python/translate/zh_CN.ts new file mode 100644 index 0000000..ce16504 --- /dev/null +++ b/python/translate/zh_CN.ts @@ -0,0 +1,1090 @@ + + + + + CwsimMainWindow + + + CW Simulator + CW 模拟器 + + + + + Log + 日志 + + + + Log in table format + 表格格式的日志 + + + + Log Table + 日志表格 + + + + QSO log including error report + 包括错误报告的 QSO 日志 + + + + Station and Parameters + 电台与参数 + + + + Station Data input tab and simulator parameter tab + 电台数据输入标签以及模拟器参数标签 + + + + Station tab + 电台标签 + + + + Station information input + 电台信息输入 + + + + Station + 电台 + + + + Receiver bandwidth + 接收带宽 + + + + Bandwidth + 带宽 + + + + Sets Receiver bandwidth + 设置接收带宽 + + + + + + Hz + + + + + Sidetone Level + 侧音音量 + + + + Sending speed + 发报速度 + + + + + CW Speed + CW 速度 + + + + Sets initial CW speed in words per minute + 设定初始 CW 发报速度,WPM + + + + + RIT + + + + + Receiver incremental tuning + 接收频率微调 + + + + Receiver incremental tuning (RIT) + 接收频率微调 (RIT) + + + + CW Pitch + CW 音调 + + + + WPM + + + + + RX Bandwidth + 接收带宽 + + + + + + My call + 我的呼号 + + + + P55CF + + + + + + Sidetone pitch + 侧音频率 + + + + Pitch + 音调 + + + + + + CW Reverse + CW-R + + + + CWR + + + + + + Full break in + 全插入 + + + + + QSK + + + + + + + Sidetone level + 侧音音量 + + + + + RIT value in Hz + 接收频率微调值,单位 Hz + + + + RIT value + 接收频率微调值 + + + + + + + + + Call + 呼号 + + + + Simulation parameters + 模拟器参数 + + + + Simulation parameters and probabilities + 模拟器参数与概率 + + + + Condition/Op parameters + 仿真度/操作参数 + + + + Adds QRN + 添加 QRN + + + + + QRN + + + + + Adds QRN when checked + 勾选时添加 QRN + + + + + Show stations in log that give up and QSY + 在日志中显示放弃和 QSY 的电台 + + + + + QSY + + + + + Lid RST + 非标RST + + + + Rpt Prob + 错误纠正 + + + + + Fast WPM + 快速 WPM + + + + + Add QRM stations + 添加 QRM 电台 + + + + + QRM + + + + + + Add operators who make mistakes + 添加对方错误 + + + + + Lids + 对方错误 + + + + + Probability a lid does not send 599 + 不发送竞赛标准信号报告(599)的概率 + + + + Lid RST probability + 非标准信号报告概率 + + + + + Probability of stations repeating information + B4电台出现的概率 + + + + Repeat Probability + 重复概率 + + + + + The DX station speed is randomly chosen between Slow WPM and Fast WPM multiplied by our speed + 以设置的发送速度为基准,对方电台随机出现发送慢速报和快速报的概率 + + + + + Add QSB to callers + QSB干扰(信号衰落) + + + + + QSB + + + + + + QRM time + QRM 时间 + + + + + Lid Nr + 错误序号 + + + + Flutter Prob + 扰动概率 + + + + Slow WPM + 慢速 WPM + + + + + With QSB checked instead adds flutter to callers with flutter probability + 选中 QSB 后,将扰动干扰添加到具有扰动干扰概率的呼叫者 + + + + + Flutter + 扰动模式 + + + + + Average time in seconds for a QRM station to appear + QRM 出现的平均时间 (以秒为单位) + + + + + Probability a lid sends incorrect number + 对方电台发送错误序号的概率 + + + + + Probability that QSB is flutter + QSB附加扰动干扰出现的概率 + + + + Flutter probability + 扰动干扰概率 + + + + + DX stations randomly choose speeds between your speed multiplied by slow WPM and your speed multipled by fast WPM + 以设置的发送速度为基准,对方电台随机出现发送慢速报和快速报的概率 + + + + + + + F1 CQ + F1 呼叫 + + + + + F1 CQ Button + F1 CQ 按钮 + + + + + + N1MM Input + N1MM 模式 + + + + + + RST + + + + + + + Nr + 接收序号 + + + + + 0:00:00 + + + + + + + + F7 ? + + + + + F7 Question Mark button + + + + + + F2 Nr + F2 发送序号 + + + + F2 number Button + + + + + + F2 <#> + F2 发送序号 + + + + + + + F6 B4 + + + + + + F6 Q S O B4 button + + + + + + F3 T U + + + + + + F3 Thank you button + + + + + + F3 TU + + + + + + F5 his + F5 对方 + + + + + F5 his call button + + + + + + F5 <his> + F5 对方 + + + + + F4 My + + + + + + F4 My call button + + + + + + F4 <my> + F4 本台 + + + + + F8 Nil + + + + + + F8 Nil Not in log button + + + + + + F8 NIL + + + + + + TR entry + TR 条目 + + + + TR Input + TR LOG 模式 + + + + F2 Number button + + + + + F7 question mark button + + + + + + Exchange + 交换 + + + + Contest + 竞赛 + + + + + Choose contest type + 选择竞赛类型 + + + + Contest Type + 竞赛类型 + + + + Pile Up + 堆叠 + + + + Single Calls + 单呼号模式 + + + + Duration (Min) + 周期 (分钟) + + + + + Activity + 堆叠数 + + + + + Contest simulation duration + 竞赛模拟周期 + + + + Duration + 周期 + + + + + Average number of calling stations + 平均堆叠数 + + + + + Start or stop contest Alt+x + 按Alt+X 开始或终止比赛 + + + + Start/Stop + 开始/停止 + + + + Start + 开始 + + + + + Score + 成绩 + + + + Panel with current score + 当前成绩面板 + + + + Score table + 成绩表格 + + + + Score table of raw and correct contacts and multipliers + 最终成绩表格 + + + + Rate + 通联速度 + + + + Rate Plot + 通联速度图 + + + + Plot of contact rate in 5 minute intervals + 以 5 分钟为间隔的通联速率图 + + + + &File + 文件 (&F) + + + + &Help + 帮助 (&H) + + + + toolBar + 工具栏 + + + + &Exit + 退出 (&E) + + + + &Pile up + 堆叠 (&P) + + + + &Single calls + 单呼号模式 (&S) + + + + &End run + 停止运行 (&E) + + + + &About + 关于 (&A) + + + + &Load Configuration + 载入配置 (&L) + + + + &Save Configuration + 保存配置 (&S) + + + + &Keyboard Shortcuts + 快捷键 (&K) + + + + &Copy Log + 保存结果 (&C) + + + + &Function Key CW + CW快捷键 (&F) + + + + &Always Update Default Configuration on Exit + 总是在退出时更新默认配置 (&A) + + + + &Update Default Configuration + 更新默认配置 (&U) + + + + &Write Simulation Summary File + 保存训练摘要数据 (&W) + + + + &Overwrite summary to cwsim.txt when simulation ends + 训练结束后使用最新训练摘要数据覆盖cwsim.txt (&O) + + + + A&ppend summary to cwsim.txt when simulation ends + 训练结束后将最新训练摘要数据增加到cwsim.txt (&P) + + + + MplCanvas + + + Minutes + 分钟 + + + + QS0s/Hour + QSO / 小时 + + + + RunApp + + + UTC + + + + + Call + 呼号 + + + + Recv + 接收 + + + + Sent + 发送 + + + + Pref + 前缀 + + + + Chk + 确认 + + + + Points + 点数 + + + + Mults + 乘系数 + + + + Score + 成绩 + + + + Raw + 原始值 + + + + Verified + 核实值 + + + + Open Configuration + 打开配置 + + + + Configuration Files + 配置文件 + + + + Save Summary File + 保存训练摘要文件 + + + + txt + + + + + cwsim summary + cwsim 摘要文件 + + + + CW Speed + CW 速度 + + + + WPM + + + + + Conditions + 仿真度 + + + + QRN + + + + + QRM + + + + + QSB + + + + + Flutter + 扰动模式 + + + + QSY + + + + + Lids + 他台错误 + + + + Activity + 堆叠 + + + + Duration + 周期 + + + + Raw Points + 原始点数 + + + + Raw Prefixes + 原始前缀 + + + + Raw Score + 原始成绩 + + + + Verified Points + 核实点数 + + + + Verified Prefixes + 核实前缀 + + + + Verified Score + 核实成绩 + + + + Error percentage + 错误率 + + + + QSOs/Hour for each 5 minute interval + 每隔5分钟计算 QSOs/小时 + + + + Calls miscopied + 抄收错误的呼号 + + + + Exchanges miscopied + 抄收错误的交换数字 + + + + copied + 抄收 + + + + should be + 应该为 + + + + Stations who gave up without a QSO + 没有 QSO 就放弃的电台 + + + + Save Log File + 保存日志文件 + + + + csv + + + + + Start + 开始 + + + + Stop + 停止 + + + + + Keyboard Shortcuts: + Alt+X = Start/Stop simulation run + Only when simulation is running: + Alt+W = Wipe + Escape = Stop sending + Enter = Enter sends message + Up arrow = N1MM Tune RIT higher in frequency 25 Hz + Down arrow = N1MM Tune RIT lower in frequency 25 Hz + Shift+Up arrow = TR Tune RIT higher in frequency 25 Hz + Shift+Down arrow = TR Tune RIT lower in frequency 25 Hz + Alt+C = Clear RIT + Ctrl+Up arrow = Increase receive bandwidth 50 Hz + Ctrl+Down arrow = Decrease receive bandwidth 50 Hz + Alt+Up arrow = Increase pitch 50 Hz + Alt+Down arrow = Decrease pitch 50 Hz + Page Up = Increase cw speed 2 wpm + Page Down = Decrease cw speed 2 wpm + + + 键盘快捷键: + Alt+X = 启动/停止模拟运行 + 只有在开始训练时: + Alt+W = 擦除 + ESC = 停止发送 + 回车 = 回车发送消息 + ↑ = N1MM 调高 RIT 25Hz + ↓ = N1MM 调低 RIT 25Hz + Shift+↑ = TR 调高 RIT 25Hz + Shift+↓ = TR 调低 RIT 25Hz + Alt+C = 清除RIT + Ctrl+↑ = 增加接收带宽 50Hz + Ctrl+↓ = 减少接收带宽 50Hz + Alt+↑ = 增加音调 50Hz + Alt+↓ = 降低音调50Hz + PageUP = 增加 CW 速度 2 WPM + PageDown = 降低 CW 速度 2 WPM + + + + + + Function Keys: + F1 = Send CQ + F2 = Send exchange + F3 = Send TU to acknowledge receipt + F4 = Send my call + F5 = Send his call (Contents of the Call field) + F6 = Send QSO B4 + F7 = Send a question mark + F8 = Send Nil, not in log + + + 功能键: + F1 = 发送CQ + F2 = 发送交换信息 + F3 = 发送 TU 确认收到 + F4 = 发送我的呼号 + F5 = 发送对方呼号(call字段的内容) + F6 = 发送 QSO B4(重复通联) + F7 = 发送一个问号 + F8 =发送Nil,不在日志中 + + + + + Rate + 速度 + + + + QSOs/Hr (5m) + QSO 每小时 (5m) + + + + None + + + +