MCT TUI v2-终端TUI摩斯密码翻译器
Morse Code Translator TUI v2
摩斯密码翻译器 TUI v2
作者:BiaoZyx
邮箱:BiaoZyx@outlook.com
简介
本项目是一个基于 Bash + dialog 的终端用户界面(TUI)摩斯密码翻译器,支持中英文界面。
它可以实现:
- 文本转摩斯密码
- 摩斯密码转文本
- 查看摩斯密码字典
- 查看版本信息和帮助
- 保存翻译结果到自定义路径的文件(自动追加、带类型和时间戳)
- 阅读任意文本文件(如历史保存文件)
- 记忆上次保存路径,方便多次保存
名称由来
您看,MCT是我之前Python项目名称,TUI是终端模拟图形化,前者末尾是T,后者开头也是T,不久正好组成了MCTui吗?
运行环境
- Linux、macOS、WSL、部分支持 Bash 的 Windows 终端
- 需要安装
dialog工具
安装方法(以 Ubuntu/Debian 为例):sudo apt update sudo apt install dialog
使用方法
-
下载脚本
将
MCTui文件保存到本地,并赋予可执行权限:chmod +x MCTui -
运行脚本
./MCTui -
选择语言
启动后会弹出语言选择菜单(English/中文),支持全程中英文切换。
-
主菜单功能
- 1. 文本转摩斯密码 / Text to Morse code
输入要翻译的文本,程序会输出摩斯密码。无法识别的字符用“⍰”表示。 - 2. 摩斯密码转文本 / Morse code to Text
输入摩斯密码(用空格分隔),程序会输出对应文本。无法识别的摩斯码用“⍰”表示。 - 3. 摩斯密码字典 / Morse code dictionary
查看常用字母、数字、符号的摩斯码对照表。 - 4. 显示版本信息 / Show version info
查看程序版本、作者等信息。 - 5. 显示帮助 / Show help
查看详细使用说明。 - 6. 阅读文件 / Read file
输入文件路径,预览文件内容(支持上下滚动,默认显示上次保存路径)。 - 7. 退出 / Exit
退出程序。
- 1. 文本转摩斯密码 / Text to Morse code
-
保存功能说明
- 翻译结果界面有“保存”按钮,点击后可输入完整保存路径和文件名(默认显示上次保存路径)。
- 保存内容自动追加,且每次保存会记录保存时间和翻译类型(如“文本转摩斯密码”)。
- 上次保存路径会被记忆,下次保存时自动填充,便于连续保存。
-
特殊符号说明
- 当输入的字符或摩斯码无法识别时,输出中会显示“⍰”符号,表示未识别。
文件说明
-
MCTui
主程序脚本,直接运行即可。 -
~/.mct_last_save_path
记录上一次保存文件的完整路径,便于下次保存或阅读文件时自动填充。
常见问题
1. dialog 未安装或找不到命令
请先安装 dialog:
sudo apt install dialog
2. 终端显示乱码或特殊符号不显示
请确保你的终端支持 UTF-8 编码,并使用支持 Unicode 的字体。
3. 保存文件权限问题
如保存到系统目录(如 /root),需有相应权限。建议保存到用户目录下。
4. 如何追加内容而不是覆盖?
本程序保存时自动采用追加模式,每次保存内容不会覆盖旧内容。
5. 如何清空历史保存路径?
删除 ~/.mct_last_save_path 文件即可:
rm ~/.mct_last_save_path
代码结构简述
- 摩斯码字典:
declare -A MORSE_CODE_DICT - 主菜单:
main_menu函数 - 文本转摩斯/摩斯转文本:
text_to_morse、morse_to_text - 保存功能:
save_to_file,自动追加、带类型和时间戳 - 阅读文件:
read_file_content,支持滚动预览 - 多语言支持:所有界面和提示均支持中英文
高级用法
使用以下命令可以将MCTui这个文件在终端输入文件名时(任何用户正常情况)即可启动!\(\text{注意!需要root权限!}\)
sudo mv MCTui /usr/bin/
-
注意事项
“MCTui” 那里必须填写正确的文件路径 -
原理
\(\text{/usr/bin}\)下存放的都是终端可直接调用的脚本,如ls,cd等等,把MCTui移动过去相当于给系统增加了一个命令,任何安全的脚本都可以移到那里方便启动!
致谢
感谢你的使用和支持!
如有建议或问题,欢迎联系作者:BiaoZyx@outlook.com
License
本项目严格遵循 \(\text{GPL v3}\) 协议,自重
本项目仅供学习与交流,禁止用于商业用途。

浙公网安备 33010602011771号