当前位置: 首页 > news >正文

Universal-G-Code-Sender多语言支持教程:打造国际化CNC操作界面

Universal-G-Code-Sender多语言支持教程:打造国际化CNC操作界面

【免费下载链接】Universal-G-Code-SenderA cross-platform G-Code sender for GRBL, Smoothieware, TinyG and G2core.项目地址: https://gitcode.com/gh_mirrors/un/Universal-G-Code-Sender

Universal-G-Code-Sender(UGS)是一款跨平台的G代码发送软件,支持GRBL、Smoothieware、TinyG和G2core等固件,为CNC机床用户提供了强大的控制功能。本教程将详细介绍如何配置UGS的多语言界面,帮助全球用户更舒适地使用这款优秀的开源工具。

🌍 UGS多语言支持现状

UGS通过i18n(国际化)框架实现了多语言支持,目前已内置多种语言包,包括:

  • 中文(简体):zh_CN
  • 中文(繁体):zh_TW
  • 英语(美国):en_US
  • 日语:ja_JP
  • 德语:de_DE
  • 法语:fr_FR
  • 西班牙语:es_ES
  • 俄语:ru_RU
  • 葡萄牙语(巴西):pt_BR

语言文件存储在项目的ugs-core/src/resources/目录下,采用标准的Java属性文件格式,如MessagesBundle_zh_CN.properties

📱 语言设置入口

UGS的语言设置功能集成在设置面板中,用户可以通过图形界面轻松切换语言。根据UGS的不同版本,设置入口略有差异:

经典版(ugs-classic)

在主窗口中,通过菜单Settings > Language打开语言选择对话框。相关代码实现可参考ugs-classic/src/main/java/com/willwinder/universalgcodesender/MainWindow.java文件。

平台版(ugs-platform)

在平台版中,语言设置位于连接设置面板。相关UI代码位于ugs-core/src/com/willwinder/universalgcodesender/uielements/panels/ConnectionSettingsPanel.java文件中:

add(new JLabel(Localization.getString("settings.language")), "gapleft 56");

FX版(ugs-fx)

FX版的语言设置在通用设置面板中,实现代码位于ugs-fx/src/main/java/com/willwinder/universalgcodesender/fx/component/settings/GeneralSettingsPane.java

settings.getChildren().add(new SettingsRow(Localization.getString("settings.language"), languageComboBox));

🚀 一键切换界面语言

以下是在UGS平台版中切换语言的步骤:

  1. 启动UGS平台版,打开设置面板
  2. 在"通用设置"或"连接设置"中找到"语言"选项(对应settings.language本地化键)
  3. 从下拉菜单中选择目标语言,如"中文(简体)"
  4. 重启软件使设置生效

切换语言后,软件界面元素(菜单、按钮、提示信息等)将立即更新为所选语言。例如,英语界面中的"Language"选项在中文界面中会显示为"语言"。

💻 语言文件结构解析

UGS的语言文件采用键值对形式存储,每个语言对应一个独立的属性文件。以中文(简体)为例,MessagesBundle_zh_CN.properties文件包含:

257:incomplete.localization.title = 未完全翻译 258:incomplete.localization = UGS未完成中文的全部本地化翻译文件,详情请访问:https://translate.universalgcodesender.com 网站。 259:incomplete.localization.doNotShowAgain = 不要再次显示此对话框 400:settings.language = 语言

每个条目由"键=值"组成,其中键是唯一标识符,值是对应语言的翻译文本。开发团队通过com.willwinder.universalgcodesender.i18n.Localization类读取这些翻译文本:

public static String getString(String key) { // 从当前语言的资源包中获取翻译文本 }

🌱 参与语言翻译

如果您发现某个语言的翻译不完整或存在错误,可以通过以下方式贡献:

  1. 访问UGS翻译平台(https://translate.universalgcodesender.com)
  2. 选择您熟悉的语言进行翻译或校对
  3. 提交翻译建议,经过审核后将被合并到项目中

UGS项目使用Crowdin进行翻译管理,相关配置文件位于项目根目录的crowdin.yml

📝 常见问题解决

Q: 切换语言后部分界面仍显示英文怎么办?

A: 这可能是因为该语言的翻译尚未完成。UGS会在启动时检查翻译完整性,并显示提示:"UGS未完成中文的全部本地化翻译文件"。您可以选择"不再显示",或参与翻译完善该语言包。

Q: 如何手动修改语言文件?

A: 语言文件位于ugs-core/src/resources/目录下,您可以直接编辑对应的.properties文件,然后重新编译项目。修改前建议先备份原始文件。

Q: 能否添加新的语言支持?

A: 可以。您需要创建新的语言属性文件(如MessagesBundle_ko_KR.properties),并在com.willwinder.universalgcodesender.i18n.AvailableLanguages类中添加该语言的支持。

🎬 多语言界面展示

下面是UGS不同语言界面的展示:

英语界面

控制台界面

通过多语言支持,UGS让全球CNC爱好者和专业用户能够更自然、更高效地使用软件,降低语言障碍,提升工作效率。无论您使用何种语言,UGS都能为您提供一致且强大的CNC控制体验。

【免费下载链接】Universal-G-Code-SenderA cross-platform G-Code sender for GRBL, Smoothieware, TinyG and G2core.项目地址: https://gitcode.com/gh_mirrors/un/Universal-G-Code-Sender

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/717364/

相关文章:

  • React-swipeable:终极React滑动事件处理钩子完全指南
  • 为什么你的运放电路波形失真?可能是压摆率(SR)在捣鬼(附OPA333实测数据)
  • Java的java.util.random标准特性
  • 告别繁琐编码:3步实现DevToys与Power Apps低代码集成
  • Pycord性能优化技巧:10个方法让你的机器人运行更快更稳定
  • 终极指南:iView模态框与下拉菜单的完美焦点控制技巧
  • 你还在用Union[str, int]?Python 3.15的TypeAliasRef与递归类型支持已正式启用(仅剩最后3周兼容窗口期)
  • 如何高效使用Locale Emulator:Windows区域模拟的完整指南
  • LeetCode 基数排序题解
  • SeqGPT-560M在法务合规场景应用:合同关键条款(金额/期限/违约方)自动定位
  • 镜像视界,定义执行时代
  • HASS测试提升电源设备可靠性的原理与实践
  • tabulate性能优化与最佳实践:让你的表格渲染速度翻倍
  • 终极Flux Standard Action调试指南:5个简单技巧快速解决FSA常见问题
  • Zeego性能优化秘籍:提升React Native应用菜单体验的7个技巧
  • Phi-3-mini-4k-instruct-gguf入门必看:从镜像拉取到首次成功提问的10分钟实操
  • 告别繁琐配置!SiYuan字体自动化部署终极指南:让知识管理更具个性化
  • 2026届毕业生推荐的AI科研网站实际效果
  • 告别数据丢失:如何在Reflex纯Python Web应用中选择localStorage与IndexedDB存储方案
  • 为什么SynthText是文本检测模型训练的秘密武器?
  • 探索Consul发现链:构建智能服务路由与负载均衡的终极指南
  • **发散创新:基于 Rust 的隐私沙盒设计与实践——从原理到代码落地**在现代Web 应
  • HR面反问别再问薪资福利了!3个高情商问题帮你摸清公司真实情况
  • Agent 工具调用链路的决策失效:从误触发到分层治理的工程复盘
  • Spring Boot Starter Swagger分组功能深度解析:实现多版本API管理
  • OTDR光纤测试技术原理与工程实践指南
  • 全球困于孤岛与慢仿真,中国镜像视界以可执行元神实现代差领跑
  • Fairseq-Dense-13B-Janeway高算力适配:动态显存分配策略降低峰值占用15%
  • SwiftyCam自定义开发:如何扩展框架功能满足特定需求
  • LeetCode 排序算法的比较与选择题解