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

PokerTH客户端设置与30+语言国际化:一份完整的i18n配置手册

PokerTH客户端设置与30+语言国际化:一份完整的i18n配置手册

【免费下载链接】pokerthPokerTH is a poker game written in C++/Qt.项目地址: https://gitcode.com/gh_mirrors/po/pokerth

🃏PokerTH是一款用 C++/Qt 编写的免费开源德州扑克游戏。它的客户端设置系统覆盖界面、音效、本地/网络/在线对局等 9 大分类,并通过i18n 国际化机制支持 30 多种语言的翻译文件。本文是一份面向新手的完整配置手册,带你快速掌握PokerTH 客户端设置语言切换,5 分钟上手多语言扑克体验。

认识 PokerTH 的两种客户端界面

PokerTH 提供两套 UI,但共享同一份设置配置

  • Qt Widgets 经典界面:设置逻辑位于 settingsdialogimpl.cpp
  • Qt6 QML 新版界面:设置页面位于 SettingsPage.qml,选项集中在 Parameters.qml

无论你在哪个界面修改设置,写入的都是同一个配置键(ConfigFile),因此语言、样式等偏好在两种界面间完全通用。

客户端设置分类逐步指南:9 大模块一次看懂

QML 新版的设置页采用左侧菜单 + 右侧内容区的布局,共9 个分类

分类内容对应组件
🖥️ 界面 (Benutzeroberfläche)工具栏显示、动画、缩放、提示等GuiSettings
🎨 样式 (Stil)桌面背景、卡牌样式、深色模式StyleSettings
🔊 声音 (Sound)对局音效开关与音量SoundSettings
♠️ 本地游戏 (Lokales Spiel)本地对局机器人、盲注等LocalGameSettings
🌐 网络游戏 (Netzwerkspiel)自架服务器对局选项NetworkGameSettings
🛜 在线游戏 (Internetspiel)联网对局、国家旗帜、状态色InternetGameSettings
👤 昵称/头像 (Nicknamen/Avatare)昵称与头像选择NicknameAvatarSettings
📜 日志 (Log-Nachrichten)对局日志消息开关LogSettings
⬅️ 恢复默认 (Standardeinstellung)一键重置所有设置ResetSettings

高频实用选项速查

以下选项定义在 Parameters.qml 中,是新手最常调整的几项:

  • 显示盲注按钮 / 反向 F 键顺序:调整操作习惯
  • 卡牌动画 / 弃牌淡出动画:追求流畅可关闭
  • 表格缩放 (tableZoom):小屏幕放大牌桌视图
  • 保留空座位 (keepEmptySeats):玩家掉线后牌桌是否保持座位布局
  • 头像国家旗帜 / 网络状态色:在线对局时识别对手
  • 防误点跟注 (preventAccidentalCallAfterBigRaise):大加注后二次确认,防手滑 🛡️
  • 深色模式:支持 浅色 / 深色 / 跟随系统,定义在 StaticData.qml

选择桌面与卡牌样式:视觉个性化指南

样式(Stil)分类下可以切换牌桌背景与卡牌花色皮肤。项目内置了丰富的官方素材:

  • 牌桌背景data/gfx/gui/table/下含defaultterminus_hotel_2danuxi1等多款桌面;QML 版另有data/gfx/qml/table/下的matrixpiratessaloonstar_trek等 16 款主题
  • 卡牌皮肤data/gfx/cards/提供defaultdefault4c(四花色)等牌组,QML 版还有lemmingstardustdiscworld等 10 款 SVG 卡牌
  • 背面图案data/gfx/gui/backside/data/gfx/qml/backside/各含 3/15 款牌背

下图就是经典的default 牌桌样式,宽幅比例在大屏上观感最佳:

i18n 国际化:30+ 语言是如何实现的

PokerTH 的国际化采用 Qt 标准的TS → QM 两段式翻译流程

  1. 翻译源文件(.ts):位于 ts/ 目录,共 30 个文件,涵盖南非荷兰语、保加利亚语、加泰罗尼亚语、捷克语、德语、丹麦语、西班牙语、芬兰语、法语、西班牙语系、希腊语、匈牙利语、意大利语、日语、立陶宛语、荷兰语、挪威语、波兰语、葡语(巴西/葡萄牙)、俄语、斯洛伐克语、瑞典语、泰米尔语、土耳其语、越南语、简体中文等 28+ 种语言,外加qt_*.ts系列 Qt 框架自带翻译
  2. 编译后翻译(.qm):位于data/translations/目录,应用启动时按语言码加载对应.qm文件,例如简体中文加载pokerth_zhcn.qm
  3. 源码标记:开发者用tr()/qsTr()宏标记所有可翻译字符串(如 StaticData.qml 中的设置分类名),lupdate工具会从中自动提取待翻译词条

切换语言操作步骤:QML 与 Widgets 客户端如何联动

新版 QML 客户端在界面中直接提供语言下拉框,当前支持7 种完整本地化界面

语言Locale 码翻译文件
🇩🇪 德语de_DEpokerth_de_DE.ts
🇬🇧 英语en_USpokerth_en_US.ts
🇫🇷 法语fr_FRpokerth_fr_FR.ts
🇮🇹 意大利语it_ITpokerth_it_IT.ts
🇪🇸 西班牙语es_ESpokerth_es_ES.ts
🇵🇹 葡萄牙语pt_PTpokerth_pt_PT.ts
🇧🇷 巴西葡语pt_BRpokerth_pt_BR.ts

翻译文件位于 i18n/ 目录。切换流程很简单:

  1. 打开设置 → 界面,在语言下拉框中选择目标语言
  2. 选择立即写入配置键Language(短码,如deptbr
  3. 应用自动在两个客户端间智能转码:QML 端用de_DE加载 i18n/ 下的.qm,Widgets 端则用短码去data/translations/pokerth_de.qm——转码逻辑就在 StaticData.qml 的languageConfigCodes映射表中

💡小提示:若系统语言不在支持列表中(例如设为中文但 QML 端暂无完整翻译),客户端会通过findSupportedLocale()自动回退到英文默认界面,而聊天翻译仍遵循你在设置中选择的语言。此外还有一个特色开关doNotTranslatePokerTerms(默认开启):让 Fold/Call/Raise 等扑克术语在所有语言中保持英文原文,方便国际牌桌沟通。

相关模块路径清单

用途路径
QML 设置页入口SettingsPage.qml
设置选项定义Parameters.qml
语言/主题静态数据StaticData.qml
Widgets 设置对话框settingsdialogimpl.cpp
翻译源文件(30+ 语言)ts/
编译后翻译文件data/translations/
QML 端翻译i18n/
牌桌样式素材data/gfx/gui/table/

总结:PokerTH 的客户端设置通过统一的ConfigFile机制在双界面间共享,i18n 国际化则以标准 Qt 翻译流程覆盖 30+ 语言。只需进入设置页的对应分类,几分钟内即可完成语言、样式与操作习惯的全部个性化配置,轻松打造属于你的扑克牌桌。🎯

【免费下载链接】pokerthPokerTH is a poker game written in C++/Qt.项目地址: https://gitcode.com/gh_mirrors/po/pokerth

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

http://www.cnnetsun.cn/news/4265581.html

相关文章:

  • Agent Skills 实战指南:从模板到自建技能
  • AI编程助手能替代手写代码吗?手写代码的六大困境与破解之道
  • 内存为什么会发热?从HBM到Python实时监控与散热实战指南
  • R语言数据分析核心工具包:从数据清洗到建模报告的全流程实践
  • MarkItDown 开源工具:10 秒把 PDF 转成 Markdown 的完整教程
  • 蓝桥杯国赛C++核心算法精讲:从动态规划到并查集的实战解析
  • 如何用 Everything Claude Code 的 frontend-slides 生成 HTML 演示文稿和 PPTX 转换完整指南
  • InfiniSplat解析:3D高斯溅射与隐式解码如何攻克大基线单目视图合成
  • 从散料到成稿,3步用 Dify 搭好一条内容自动化流水线
  • mfc140.dll丢失怎么修复?先修复VC++运行库再排查软件本身
  • YOLOv8多任务模型GUI部署实战:从ONNX/TensorRT转换到PyQt应用开发
  • Anql离线桌面编辑器:写作、工作与计算的本地闭环
  • Hermes Agent 容器编排实战:5 种后端 × 3 个场景跑通微服务部署
  • MATLAB函数从入门到精通:定义、调用与实战技巧全解析
  • Python-100-Days:3 步搭好一个规范 RESTful API,DRF 全流程实战
  • 蓝桥杯算法核心:树遍历原理、应用场景与高频题型解析
  • Nordic BLE SoC可穿戴追踪器开发:从选型、低功耗设计到量产排障
  • 基于参数模型的点云滤波:从RANSAC原理到工程实践
  • 如何验证 AI 技能好不好用:一套评估系统完整实战指南
  • LMCache命中率98%却返回zeros?KV Cache正确性验证指南
  • 云端视频生成与本地部署:从API接入到工程化落地的完整指南
  • 蓝桥杯单片机国赛实战:状态机与时间片轮询架构精解
  • Bolt CMS扩展开发指南:如何用Composer生态打造你的第一个自定义插件
  • Hermes Agent 容器镜像瘦身:多阶段构建+分层缓存,源码提交省 4-5 分钟
  • 基于PaddleDetection的足球比赛多目标跟踪系统实战指南
  • Hermes Agent 完整上手:从 clone 到配好安全开发环境
  • Zig Io.Threaded:把多线程并发写日志的锁藏进I/O接口
  • 3 步让编程面试准备内容做进搜索结果前 10
  • 推理大模型测试时扩展:推理模式与可复现评估指南
  • COM-HPC 1.2 Mini:PCIe 5.0与USB4加持的嵌入式边缘计算新方案