Skip to content

20240901 汉化预览版

Pre-release
Pre-release
Compare
Choose a tag to compare
@vizv vizv released this 01 Sep 16:10
· 27 commits to viz-wip since this release

注意这是个预览版,仅支持 50.13 版本,可能会崩溃以及造成存档损坏、丢失!仅供学习交流

使用方法:

本次更改:

  • hook 窗口大小变动的函数在 Linux 和 Windows 平台统一使用 gps_allocate
  • 使用 bitflags 包管理一些 enum
  • 删除 erasescreen 函数的 hook,统一在完整绘制后清空缓冲层(修复文本渲染重叠的问题)
  • 修正文本在渲染后会有一个多余的空格的问题
  • 使用 fontdue 包替换 cosmic-text,以提高渲染效率和支持多行文本排版、中英文混排(代价是启动慢了点)
  • 增加中英文混排、和 CP437 和 UTF-8 互相转换的逻辑,修复有些符号不能正常渲染(如性别符号和一些西欧字符的渲染),同时修复因为之前 CP437 强制转换 UTF-8 导致的缺字并在渲染时崩溃的问题
  • 重构整个项目,增加多行富文本排版(目前 Windows 仍有键位名称无法渲染导致崩溃的 bug,暂时已对 Windows 平台禁用相关逻辑,可以使用 Ctrl+F2 暂时切回英文查看按键)
  • 字典增加了教程部分的翻译(为了展示富文本排版,我手动翻译的)

已知 Bug:

  • Windows 上的富文本的键位名称(比如 w、a、s、d 等)无法显示(我不熟悉 Windows 调试,需要大佬帮忙)
  • Windows 上有些字典中的翻译不显示(比如「矮人们正忙上几周时间,把事情准备妥当...」这段)
  • 偶尔崩溃,可能是 C++ 字符串在 Rust 的生命周期管理造成的(修复补丁 1 已修复文字渲染溢出造成的崩溃)

暂未实现:

  • 文本匹配翻译
  • 很多翻译缺字

鸣谢: