尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

3分钟把开源宏录制工具PyMacroRecord调成中文界面:完整指南

3分钟把开源宏录制工具PyMacroRecord调成中文界面:完整指南 3分钟把开源宏录制工具PyMacroRecord调成中文界面完整指南【免费下载链接】PyMacroRecordFree and Open Source Macro Recorder with a modern GUI using Python项目地址: https://gitcode.com/gh_mirrors/py/PyMacroRecordPyMacroRecord 是一款免费的开源宏录制工具录下你的鼠标点击、移动与键盘输入实现自动化回放。它新增了中文语言支持——怎么切换、为什么立刻生效、如何再扩展往下看。英文界面劝退中文支持解决的正是这个第一次打开英文界面的新手常有这种体验Speed、Repeat count、Infinite loop? 一排英文选项哪个能动动错了会怎样对录制回放类工具来说最麻烦的是误改设置——录好的宏回放时走样。现在有了中文语言支持菜单和提示全部用中文呈现照着读就能操作新手的上手成本明显降下来了。三步切换到中文界面不用重启也不用翻配置文件操作路径很简单在主窗口顶部菜单栏点选项 → 设置 → 语言设置弹出一个语言选择小窗口在下拉框里选中简体中文对应项按确认界面文字立刻全部变为中文选择会写入配置下次启动默认还是中文。你会发现切换的瞬间连菜单栏的文字都跟着变了因为程序重新读取了文案并重建了菜单栏而不是刷新了窗口。中文文案存放在哪里语言文件这样组织所有翻译文本集中在独立的 语言文件目录 里每种语言对应一个 JSON 文件JSON 是纯文本键值对格式人和机器都能读。目前已有英语、简体中文、德语、法语、西班牙语、意大利语、葡萄牙语巴西、俄语、土耳其语、荷兰语、保加利亚语等 13 种全部按这个方式存放。以中文文件src/langs/zh-CN.json为例内部分两块information 部分记录作者和语言标识lang_short 为 zh-CNcontent 部分按功能模块分组存放文案——全局按钮文本、文件菜单、选项下的回放设置、帮助菜单等。这种代码与翻译分离的组织方式有三个好处翻译不干扰代码逻辑不会写程序的人也能直接提交译文新增一种语言只需往目录里丢一个文件代码零改动。切换后界面为什么立刻变了原理拆解打个比方界面像一座舞台按钮、菜单、提示只是贴在上面的标签。切换语言不是重建舞台而是把旧标签揭下来、贴上新一批。你按确认后程序依次做了三件事把新语言写进配置文件重新读取对应 JSON把整套文案装进一个内存字典text_content销毁旧菜单栏基于新文案重建一个新菜单。第 2 步是核心代码很短def load_language(self): self.lang self.settings.settings_dict[Language] with open(resource_path(path.join(langs, self.lang .json)), encodingutf-8) as f: self.text_content json.load(f)这里的resource_path()是个小工具作用是不管程序从源码还是打包安装后运行都能正确定位文件它保证了文件找得到。更稳妥的一点是如果当前语言文件漏了某段文案程序会自动用英文补齐界面上不会出现空白或报错。菜单栏的换标签还多一步拆掉旧的、装上新的main_app.nametowidget(old_menu_name).destroy() from windows.main.menu_bar import MenuBar main_app.menu MenuBar(main_app)菜单文字全部来自那个字典所以重建后新文案即刻生效。容易踩的坑与对策中文支持落地过程中有几个真实问题值得注意。如果你也要加语言提前心里有数编码中文必须以 UTF-8 存取打开文件时漏掉 encoding 参数就会乱码甚至报错。对策读写语言文件永远带上encodingutf-8。术语一致性同一个设置项不能一处叫速度、另一处叫速率。对策对照英文文件逐键翻译先定小术语表再动手。界面宽度中文整体紧凑但无限循环这类词比英文长按钮和弹窗要留余量。对策译完后过一遍界面把局促的窗口适当加宽。标点混用中文全角和英文半角标点混在一起观感很差。对策统一使用中文标点全文件保持一致。动手扩展再加一种语言只需四步 想给这个项目补充另一种语言比如日语步骤如下复制src/langs/里一份完整的语言文件推荐以英文 en.json 为底本改成你的语言代码如 ja.json在 information 部分填上译者名把 lang_short、lang_long 改为新语言的标识与正式名称逐键翻译 content 部分键一个都不要删或漏结构必须与英文文件一致运行程序打开选项 → 设置 → 语言设置新语言会自动出现在下拉框里——程序启动时会扫描语言目录扫到即加载。对其他桌面项目的参考价值PyMacroRecord 这套翻译独立成 JSON、运行时动态加载、界面按需重建的做法值得任何做桌面软件国际化internationalization业内指让软件会说用户语言的 Python GUI 项目直接参考新增一种语言的代价只是一个文件维护与代码互不纠缠社区也能顺手上手。开源项目多语言支持怎么做这里就是一份可以直接抄的模板。【免费下载链接】PyMacroRecordFree and Open Source Macro Recorder with a modern GUI using Python项目地址: https://gitcode.com/gh_mirrors/py/PyMacroRecord创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表