Skip to content

Releases: DC1024/pixel-composer-cn

v1.3.4 — 修正入门指南空白回归

Choose a tag to compare

@DC1024 DC1024 released this 29 Sep 09:21

v1.3.4 —— 修正 v1.3.3 的入门指南空白回归

发生了什么

  • 游戏把 Welcome files/ 的三个顶层分类目录名硬编码成英文
    (格式串 {0}Welcome files/Getting started、{0}/Sample Projects),
    v1.3.3 把它们换成中文后,页面找不到分类直接空白

修正后的布局

  • 顶层目录:Getting started / Sample Projects / Templates(保留英文,游戏硬编码)
  • 子分类与卡片:000 用户界面 / 000 简介.pxc …(中文,标题由此生效)
  • pack/welcome_files.zip 同布局同步替换;Welcome files/version 保留,游戏不回写英文
  • 汉化数据版本 1.2.2(②同步可拉到新 zip)

更新方式:下载新 EXE 覆盖 → 点「① 一键汉化」→ 重启游戏;或直接对已装 v1.3.3 的机器点「⑨ 检查程序更新」自动升级。

v1.3.3 — 入门指南根因修复 + 程序自更新

Choose a tag to compare

@DC1024 DC1024 released this 29 Sep 09:04

v1.3.3 —— 入门指南真正的根因修复 + 程序自更新

入门指南为什么之前一直英文(v1.3.1/v1.3.2 都没治好)

  • 从游戏主程序格式串证实:入门指南页读的是数据目录解压出的 Welcome files/ 目录,卡片标题取自其中文件名
  • 旧版只同名覆盖 .pxc 内文、保留英文文件名,标题自然不变
  • 现改为整目录换成中文命名(含缩略图;pack/welcome_files.zip 同步换中文 zip,供游戏版本变更时重新解压)
  • 原目录备份到 Welcome files.bak_cn/;Welcome files/version 保留,游戏不会回写英文;「③ 恢复英文」可还原

新功能:⑨ 检查程序更新

  • 更新工具程序本身(汉化数据仍走 ②):tool.json 报版本 → Release 下载 → sha256 校验
  • Windows 运行中的 EXE 先改名 .old 再替换,重启程序即完成升级
  • CLI:--self-update

其它

  • 工具版本号改为与发行版标签一致(1.3.3),不再出现"下载 v1.3.2 却显示 1.2.2"的困惑

更新方式:下载 PixelComposer-CN-Patcher.exe 覆盖旧版 → 点「① 一键汉化」→ 重启游戏。

v1.3.2 — ② 同步也会送达入门指南欢迎包

Choose a tag to compare

@DC1024 DC1024 released this 29 Sep 07:56

入门指南修复补全:「② 同步最新汉化」现在也会送达 pack/welcome_files.zip。

根因

  • 游戏「入门指南」卡片标题读的是 <安装目录>/pack/welcome_files.zip
  • 中文 zip 只落在 <数据目录>/Locale/zh/welcome_files.zip,两者之间唯一的桥只在整包安装时被调用
  • 「② 同步」一旦判定已是最新就提前返回,pack/ 里的 zip 永远停在英文原版(v1.3.1 未覆盖此路径)

修复

  • ② 同步在「已是最新」时也会把 pack/welcome_files.zip 对齐到中文包(幂等,可反复执行)
  • install_welcome_zip 幂等化:已是同一个中文包直接跳过;绝不拿中文包覆盖真正的原版备份
  • 「⑤ 查看状态」现在会真实报告欢迎包 zip 的汉化状态(与已装中文 zip 比对)
  • 工具版本 1.2.1 → 1.2.2(标题栏可区分新旧 EXE)

资产

  • PixelComposer-CN-Patcher.exe — Windows 单文件(内置中文 welcome 包,工具 v1.2.2)
  • PixelComposer-CN-Linux.tar.gz — Linux/SteamOS/Proton 包

更新方式:下载新 EXE 覆盖旧文件 → 点「② 同步最新汉化」(或「① 一键汉化」)→ 重启游戏。

v1.3.1 入门指南卡片标题汉化

Choose a tag to compare

@DC1024 DC1024 released this 29 Sep 07:01

入门指南卡片标题现已汉化

此前仅翻译了教程 .pxc 内文,游戏「入门指南」标签页的卡片标题仍显示英文(标题取自 pack/welcome_files.zip 的文件夹/文件名)。本版将 zip 内条目重命名为中文,卡片标题(如 开始入门 / 用户界面 / 节点 / 粒子 / 仿真模拟 / 示例项目 / 模板)与内容均已中文。

  • 汉化包数据版本 1.2.1;工具版本仍为 1.2.1
  • 维护者侧上游同步脚本改为每月一次(平台自动化每月 1 号 09:00 执行)

使用

  • Windows:双击 PixelComposer一键汉化.exe,点「① 一键汉化」
  • Linux:解压 PixelComposer-CN-Linux.tar.gz,运行 ./install.sh deps 后 python3 patch_tool.py

入门指南 zip 由本工具在安装时替换 pack/welcome_files.zip,原版自动备份为 welcome_files.zip.bak_cn,可用「③ 恢复英文」还原。

v1.3.0 — 维护者侧上游同步自动化

Choose a tag to compare

@DC1024 DC1024 released this 29 Sep 02:29

版本说明

本次发布仅包含维护者侧的上游同步自动化工具与文档。汉化包(zh/)与客户端打补丁工具(GUI / CLI)的二进制内容与 v1.2.1 完全一致,工具版本仍为 1.2.1。

也就是说:普通玩家无需重新下载——你手上的 v1.2.1 汉化包 / 工具继续有效。本次里程碑标记的是「维护者以后能每周自动追上游」这套后台能力已经落地。

新增 / 变更(维护者侧)

  • build/sync_upstream.py 增强:自动从本地 Steam 安装提取官方 en/ 语言包 → 与现有 zh/ 比对 → 补新增条目、检测官方改动的原文、生成 build/todo_report.md 待补译清单(未译条目保持英文回退,绝不把字面 TODO 写进汉化包)。
  • build/run_sync.bat + build/install_weekly_task.ps1:一键注册每周定时检测上游任务(默认周一 09:00),无人值守直推 main。
  • AUTOMATION_PLAN.md:定稿方案(含 4 项决策锁定、3 种落地形态、实测修正——官方语言包 en/ 内没有 UI.json,UI 文本需单独维护)。
  • README.md:新增「维护者侧:每周自动同步上游」小节。
  • .gitignore:本地基线缓存 build/cache/ 与同步日志 build/_sync_logs/ 不入库。

⚠️ 已知限制

  • 官方语言包 en/ 仅含 words.json / nodes.json / junctions.json / config.json / notes/*.md,不含 UI.json。游戏内 UI 框架文本(菜单 / 按钮等)仍需人工对照维护,无法随上游自动同步。
  • 闭源上游无法走真·云端 CI 拉取游戏文件;「检测 + 提取」天然落在装有游戏的维护者机器上(本地 Steam 安装 / SteamCMD / 自托管 runner 三选一)。

版本号约定

  • 汉化包版本(跟随游戏 game_version,当前 122000)与工具版本(patch_tool.py 的 VERSION = 1.2.1)相互独立,请勿混淆。

附件

文件 说明 SHA-256
PixelComposer-CN-Patcher.exe Windows 打补丁工具(与 v1.2.1 相同) 27d31247f9559d046427bb889ebe79bb8ff1472f89b72acfcdab8bb540e2a10c
PixelComposer-CN-Linux.tar.gz Linux 打补丁工具(与 v1.2.1 相同) b174167eb8aa07d807125d9fba3c22e34e9a6075453ccba12947e48f7f61c790

本发行版不携带新二进制;以上两个文件原样沿用 v1.2.1 的成果。

v1.2.1 — 修复「在线同步拉不到入门指南文件」

Choose a tag to compare

@DC1024 DC1024 released this 28 Sep 16:32

修复 / Fixed

v1.2.0 的「② 同步最新汉化」拉不到入门指南的 32 个文件。 请升级到本版。

原因

下载 URL 是直接拼 base + 相对路径,没有做百分号编码。而 zh/welcome/** 的路径里带空格:

.../welcome/Getting started/000 UI/000 Introduction.pxc       → 000(连接直接失败)
.../welcome/Getting%20started/000%20UI/000%20Introduction.pxc → 200,7982 字节 ✅

HTTP 客户端不会替你编码,所以三个源都取不到这些文件 —— 实测 41 个文件只有 8 个能同步下来。

改动

  • 新增 _url():URL 侧统一 urllib.parse.quote(rel, safe="/")。
    只编码 URL,本地文件路径(os.path.join / _local_copy)不编码,
    否则会把文件名里真实的 %20 当字符处理。

  • _download() 支持逐源回退:单个文件在某个源上取不到时自动换下一个源
    (GitHub Pages → jsDelivr CDN → GitHub Raw),不再因为一个文件丢弃整批。

  • 换源时在界面上打印一行提示 —— 首次同步要拉 11 MB 中文字体,
    慢的时候界面上几分钟没动静很像"卡死",现在能看出它在换源。

  • 大文件优先走 CDN:超过 2 MB 的文件把 GitHub Pages 排到最后。
    实测 Pages 对静态大文件限速明显(同一台机器 25 KB/s,jsDelivr 71 KB/s)。

  • 防降级闸门:fetch_manifest() 增加 floor 参数(传本地已装的最高版本)。
    起因是本轮实测发现 jsDelivr 对 @main 的缓存很久 —— v1.2.1 推送后它仍在返回
    v1.0.3 / 8 个文件 的旧清单,而 Pages 与 Raw 都已经是 v1.2.0 / 41 个文件:

    GitHub Pages   v1.2.0    files=41
    jsDelivr CDN   v1.0.3    files=8     ← 缓存里的旧清单
    GitHub Raw     v1.2.0    files=41
    

    正常情况 Pages 最先命中,不会出事;但 Pages 一旦临时不可达(本轮实测出现过直接
    返回 000),按原来的"取到第一个就返回"就会把用户已经装好的包降级成 8 个文件。
    现在低于本地版本的清单会被跳过并记一行日志;所有源都低于本地时返回"离线",
    走既有的随附包回退分支,不会把用户的包换旧。

顺带修掉的编码不一致

PyInstaller 打包出的窗口版 EXE 在输出被重定向到文件或管道时,
sys.stdout.encoding 会退化成系统 ANSI 代码页(简体中文 Windows 上是 GBK),
而同一个脚本用 python patch_tool.py 跑却是 UTF-8:

EXE  --version  →  汉化工具 = BA BA BB AF B9 A4 BE DF   (GBK)
源码 --version  →  汉化工具 = E6 B1 89 E5 8C 96 E5 B7 A5 (UTF-8)

抓日志或做校验的人很容易把前者当成乱码。新增 _setup_stdio():
只有输出不是终端时才把 stdout / stderr 统一成 UTF-8;
真控制台不做处理(Windows 下 Python 3.6+ 直接调 WriteConsoleW 写宽字符,
编码属性本来就只影响重定向后的字节,所以控制台显示一直是对的)。

验证

  • 清单里 41/41 个文件:线上字节与清单 sha256、仓库文件三者完全一致
  • 真跑一次整包同步到临时目录:41/41 与仓库 zh/ 逐字节一致
    (含 33 个带空格的 welcome/** 路径),实测耗时 317.8 s
  • 按区域同步 only=[words, junctions] → 恰好落盘 config.json / junctions.json / words.json / manifest.json,符合预期
  • 防降级闸门单独测过:正常路径仍一次命中 Pages(不多发请求,不增加延迟);
    把源限制成"只剩 jsDelivr"时旧清单被拒绝、返回离线 —— 对照组不传 floor 时确实会拿到 v1.0.3
  • version_key() 把 "1.10.0" 正确判为大于 "1.9.0"(按字符串比会反过来)
  • 新 EXE 的 --version 重定向到文件后按 UTF-8 解码正确

汉化包内容没有改动,zh/manifest.json 版本仍是 1.2.0;本版只修客户端工具。


v1.2.0 的内容(首次安装请看这里)

三条主线:入门指南示例汉化、按区域汉化、Linux 版。

入门指南示例汉化

欢迎页「入门指南」里的教程页与示例工程正文已换成中文:17 个教程页 + 15 个示例工程 + 1 个模板 = 33 个 .pxc、351 处文本。
文字在 .pxc 的文本节点里(不在 PNG 里),所以实现了 .pxc 容器编解码,只替换说明文字、不动工程结构。

游戏内效果

  • 按同名覆盖写入 <数据目录>/Welcome files/,文件名保持英文 → 不会出现中英两套重复卡片,也不破坏 Steam 自动更新
  • 原文件备份到 Welcome files.bak_cn/,③ 恢复英文一键还原
  • 备份取自官方 pack/welcome_files.zip(不是"当前文件")—— 否则第二次安装会把中文存进备份
  • 构建时对 <node …> / <bt …> / <spr …> 这类查找键标签做多重集自检,译文改动了标签就拒绝生成

已知限制:欢迎页的卡片标题取自 .pxc 文件名,程序不查语言表 → 标题保持英文,但点进去正文是中文。

按选中区域汉化(默认全部)

六个复选框:界面词条 / 面板与对话框 / 节点 / 连接点 / 中文字体 / 入门指南示例。
取消勾选 = 不安装该文件(游戏回退内置英文),而不是写一份英文副本 —— 后者会让已装包永远与线上清单哈希不符,每次同步都重下整包。
命令行等价写法:--modules words,ui / --list-modules。

Linux 版

纯 Python 标准库,解压即用:

tar -xzf PixelComposer-CN-Linux.tar.gz
cd PixelComposer-CN-Linux
./install.sh              # 有 tkinter 开图形界面,没有就自动进命令行(功能一致)
./install.sh install      # 或直接一键汉化

路径探测覆盖原生 Linux($XDG_DATA_HOME/PixelComposer)与 Proton 前缀;Steam 库来自 STEAM_ROOT / ~/.steam / ~/.local/share/Steam / flatpak / snap / /media|/run/media|/mnt,并解析 libraryfolders.vdf。

旧社区汉化包残留:只列出,不删除

⑧ 旧汉化包残留清点(--leftovers)给出完整清单(路径 / 大小 / 文件数),实测一台机器上是 10 项 / 32.67 MB。不会删除任何东西。


下载

  • PixelComposer-CN-Patcher.exe — Windows 免安装,双击即用
  • PixelComposer-CN-Linux.tar.gz — 解压后 ./install.sh

v1.2.0 — 入门指南示例汉化 · 按区域汉化 · Linux 版

Choose a tag to compare

@DC1024 DC1024 released this 28 Sep 15:27

⚠️ 本版的「② 同步最新汉化」拉不到入门指南的 welcome 文件(URL 未做百分号编码)。请下载 v1.2.1 或更新版本。

本次更新 / What's new

三条主线:入门指南示例也汉化了、可以只汉化选中的区域、提供 Linux 版。

1. 入门指南示例文件已汉化

欢迎页「入门指南」里的教程页与示例工程,正文说明文字换成了中文(33 个 .pxc,351 处文本)。

教程文字不在图片里,而在 .pxc 工程文件的文本节点上,所以本版先实现了 .pxc 容器的编解码(PXCX 文件头 + THMB/META 分块 + zlib 主数据),只替换说明文字、不动工程结构。

覆盖面 数量
Getting started/ 教程页 17
Sample Projects/ 示例工程 15
Templates/ 模板 1
  • 按同名覆盖写入数据目录的 Welcome files/,文件名保持英文 → 不会出现中英两套重复卡片,也不破坏 Steam 自动更新
  • 原文件备份到 Welcome files.bak_cn/,③ 恢复英文 一键还原
  • 备份取自官方 pack/welcome_files.zip(而不是"当前文件")—— 否则第二次安装会把中文存进备份,「恢复英文」会还原出中文。存错的备份会自动纠正
  • 目标目录缺缩略图 PNG 时,从同一个 zip 补齐
  • 构建时对 <node …> / <bt …> / <spr …> 这类查找键标签做多重集自检,译文里改动了就拒绝生成(否则游戏找不到对应图标)

游戏内效果

2. 按选中区域汉化(默认全部)

界面新增六个复选框,默认全选 = 全部汉化。想保留英文习惯(比如已经熟悉的节点名)就把对应项取消勾选。

区域 覆盖
界面词条 words 菜单、工具栏、状态栏、设置项
面板与对话框 ui 各类面板与弹窗正文
节点名称与提示 nodes 节点名与说明
连接点名称 junctions 输入/输出端口名
中文字体 fonts 随包中文字体(不勾可能显示方块)
入门指南示例 welcome 教程页与示例工程里的说明文字
  • 取消勾选 = 不安装该文件,游戏回退内置英文;不是往本地写一份英文副本 —— 那会让已装包永远与线上清单哈希不符,每次同步都重下整包
  • 选择记录在已装 manifest.json 的 selected 字段并参与比对,所以「改了选择」不会被误判成「已是最新」
  • 取消勾选 welcome 会自动把示例还原成英文
  • 命令行等价写法:--modules words,ui / --list-modules

3. Linux 版汉化程序

Linux 版是纯 Python 标准库实现(不跑翻译引擎,也不需要编译),所以发行包里直接就是源码 + 一键脚本:

tar -xzf PixelComposer-CN-Linux.tar.gz
cd PixelComposer-CN-Linux
./install.sh              # 有 tkinter 开图形界面,没有就自动进命令行(功能一致)
./install.sh install      # 或直接一键汉化
./install.sh deps         # 看看本机缺什么
  • 路径探测覆盖 原生 Linux($XDG_DATA_HOME/PixelComposer)与 Proton 前缀(compatdata/2299510/pfx/...)
  • Steam 库来自 STEAM_ROOT / ~/.steam / ~/.local/share/Steam / flatpak / snap / /media|/run/media|/mnt,并解析 libraryfolders.vdf
  • tkinter 缺失不影响使用 —— SteamOS 根分区只读装不上它属于常态
  • 支持 install / sync / restore / rollback / status / layouts / modules / leftovers / deps
平台 状态 数据目录
Windows ✅ 完整支持 %LOCALAPPDATA%\PixelComposer(或被重定向到游戏目录)
Linux 原生 / SteamOS ✅ 完整支持 $XDG_DATA_HOME/PixelComposer
Linux(Proton) ✅ 自动识别前缀 …/compatdata/2299510/pfx/drive_c/users/*/AppData/Local/PixelComposer
macOS(Beta) ⚠️ 路径已适配、未实机验证 ~/Library/Application Support/PixelComposer

4. 旧社区汉化包残留:只列出,不删除

装过旧社区包的话,它会把 zh/ 和 Welcome files/ 永久留在游戏根目录。新增 ⑧ 旧汉化包残留清点(--leftovers / ./install.sh leftovers)可以拿到完整清单(路径 / 大小 / 文件数)—— 实测一台机器上是 10 项 / 32.67 MB,包含旧包自己的 13.6 MB 汉化 EXE。

本工具不会替你删除任何东西,确认不需要请自行手动处理。

已知限制(新增一条)

欢迎页上的卡片标题(Introduction、Node Shortcuts…)取的是 .pxc 的文件名,程序不查语言表 —— 所以标题保持英文,但点进去以后页面里的正文是中文。这是"同名覆盖"方案的必然结果,换来的是不出现中英两套重复卡片、不破坏 Steam 更新。


验证

Windows 实机

  • 两个数据目录各 41/41 文件与 manifest.json 的 sha256 逐字节一致
  • 33 个入门指南备份与官方 welcome_files.zip 逐字节一致
  • 游戏内实测:欢迎页 → 入门指南 → 教程正文为中文,且游戏没有把文件还原回英文

Ubuntu 22.04.4 真机(伪造 Steam 库 + libraryfolders.vdf 外挂库)

  • 正确识别安装目录、从 pack/locale.zip 抽出 en 兜底
  • 按模块安装只落对应文件(--modules words,junctions → 恰好 4 个文件)
  • welcome 安装 / 取消勾选还原 / 备份自愈(污染后自动纠正)全部通过
  • 发行包内 15 个关键文件 sha256 与仓库一致(含 11 MB 字体与 .pxc)

下载

  • PixelComposer-CN-Patcher.exe — Windows 免安装,双击即用
  • PixelComposer-CN-Linux.tar.gz — 解压后 ./install.sh

Pixel Composer 中文汉化包 v1.0.3 —— ② 改为联网同步汉化包

Choose a tag to compare

@DC1024 DC1024 released this 28 Sep 13:45

Pixel Composer 中文汉化包 v1.0.3

本版把 ②「更新汉化」重做成「同步最新汉化」:不再在用户机器上跑翻译引擎,
改为从 GitHub 直接下载已经翻好的成品包。

主要变更 / Highlights

1. ② 改为「从 GitHub 同步成品汉化包」

  • 依次尝试三个下载源:GitHub Pages → jsDelivr CDN → GitHub Raw,任一可用即停止;
    某源下载/校验失败会自动换下一个源重试。
  • 用 sha256 逐文件比对,只下载有变化的文件。11 MB 的中文字体通常只在
    首次同步时下载一次,之后每次一般只有几十 KB 的 json。
  • 备份现有 zh 后整包写入两个数据目录(LocalAppData 与游戏目录)。
  • 断网或三个源都不可达时,自动回退到随附的汉化包,不会让汉化"变空"。
  • 已是最新时直接提示「无需更新」,不做任何改动。
  • 可用环境变量 PCCN_SOURCE 指定镜像源。

2. 分工改为「维护者翻一次,客户端只取成品」

  • 新增 build/sync_upstream.py(维护者侧):同步上游官方语言包 → 补翻新增/残留
    → 写 zh/ 与 zh/manifest.json → --push 自动提交推送。
  • 新增 zhsync.py(客户端侧):拉清单、比对哈希、按需下载安装。
  • patch_tool.py 里原先"在本地抽 pack/locale.zip 再用内置引擎补翻"的两条路径
    (extract_en_base / regenerate_from_en)已移除 —— 客户端不再携带翻译逻辑。

3. 修复了一个会让同步"每次重下整包"的真问题
Windows 上 core.autocrlf=true 时,工作区检出是 CRLF、Git 仓库与 GitHub 上是 LF:
同一个 junctions.json 本地 349 B / 线上 330 B,words.json 差 2 KB、
nodes.json 差 45 KB —— 哈希永远对不上,每次同步都误判"文件变了"。
解法是在提交层面统一换行(新增 .gitattributes:包内文本 LF、字体 binary),
而不是在哈希层面抹平差异 —— 后者会误伤字体:LXGW 字体本身含 4926 处
0x0D0A 字节对,归一等于把字体改坏,还会让"字体损坏"检测不出来。

4. 其他

  • ⑤ 查看状态 现在会显示已安装汉化包的版本(来自 zh/manifest.json)。
  • 命令行新增 --sync(与 --update 等价)。
  • 已知限制补一条:内置参考文档 notes/(混合模式 / L 系统 / MK 面板)目前未翻译。

升级提示 / Upgrading

如果你用的是 v1.0.2 或更早:首次点「② 同步最新汉化」会因为换行统一而重新拉取
一次文本文件(约 700 KB,字体不重下),之后每次同步就只拉真正变化的文件了。
如果你从未用过本工具,直接点「① 一键汉化」即可(离线可用)。

实测记录 / Verified

  • --install → 两个数据目录的 8/8 个文件与清单逐字节一致;
  • --sync(已最新)→ 报「无需更新」,不做改动;
  • 故意改动 nodes.json 后 --sync → 日志「需同步 1 个文件,其余从本地复用」,
    只下载该文件,11 MB 字体复用未重下;
  • 断网/清单不可达 → 自动回退随附包(三个源 404 场景已实测)。

与旧社区包对比

旧社区包 本方案
更新速度 慢,手动发布 维护者定期同步上游,客户端一键取最新
联网需求 常需联网取包 装好后离线可用;② 联网只取更新
可回滚 通常不支持 备份 + 一键回滚(④)

下载 / Download

PixelComposer-CN-Patcher.exe —— 免安装、双击即用(已内嵌完整 zh 汉化包)。
下载 → 双击 → 点「① 一键汉化」→ 重启 Pixel Composer。


v1.0.3 reworks button ② into an online sync of a finished pack: the client no longer
runs a translation engine. It fetches zh/manifest.json from three sources in order
(GitHub Pages → jsDelivr → GitHub Raw), compares sha256 per file, and downloads only
changed files
(the 11 MB CJK font is normally a one-time download). The existing zh
is backed up before installing to both data roots; if offline it falls back to the bundled
pack, and if already current it reports "nothing to update".

Translation now happens once on the maintainer side (build/sync_upstream.py) instead
of once per user machine — consistent results, no engine shipped to clients.

This release also fixes a real bug that made every sync re-download the whole pack: with
core.autocrlf=true on Windows the working tree is CRLF while Git/GitHub store LF
(junctions.json 349 B local vs 330 B remote; nodes.json differed by 45 KB), so hashes
could never match. Fixed at the commit level via .gitattributes (LF for pack text,
binary for fonts) — normalizing CRLF inside the hash was rejected because it would
corrupt and mask damage in the LXGW font, which legitimately contains 4926 0x0D0A pairs.

Also: ⑤ Status now shows the installed pack version; new --sync flag; known limitation
added for the untranslated notes/ reference docs.

Pixel Composer 中文汉化包 v1.0.2

Choose a tag to compare

@DC1024 DC1024 released this 28 Sep 12:57

⚠️ 本版已被 v1.0.3 取代。
v1.0.3 把 ②「更新汉化」重做成「② 同步最新汉化」(从 GitHub 下载成品包,
断网自动回退),并修复了一个会让同步「每次重下整包」的 CRLF/LF 哈希问题。
建议直接下载 v1.0.3。 若你已在用 v1.0.2,升级后点一次 ② 即可跟上。

Pixel Composer 中文汉化包 v1.0.2

修复 v1.0.1 里工作区标签改名会被游戏还原的问题,并保留 v1.0.1 的菜谱项汉化修复。

⚠️ 如果你下载过 v1.0.1:它的 ⑥ 只改文件名,会被游戏还原成中英两套重复标签。
请换用本版(v1.0.2),点 ⑦ 还原布局名 再点 ⑥ 汉化工作区标签 即可修正。

本次修复 / Fixed in v1.0.2

  • 工作区标签改名现在站得住了。实测发现:只把 layouts/Horizontal.json 等改名,
    游戏下次启动会从 pack/layouts.zip 把 5 个英文名重新解出来,
    结果是中英两套重复标签。本版的做法是连 zip 里的条目名一起改:

    1. 改写 pack/layouts.zip 内的条目名 → 水平/垂直/预览/绘画/侧边菜单.json(原 zip 备份为 layouts.zip.bak_cn)
    2. 改名已解出的 layouts/*.json
    3. 同步 Preferences/*/keys.json 的 panel_layout_file

    实测:改完启动一次(游戏照常重解一遍内置布局),目录里只剩中文名,英文名不再回来。
    ⑦ 反向执行可完整还原(zip 条目 + 文件名 + 偏好三处,已实测往返一致)。
    __default.json 与 layouts/version 永不被改动。

  • 小修:界面脚注改为两行,不再被窗口截断(窗口 620×688)。

v1.0.1 内容(仍包含)/ From v1.0.1

  • 「面板」菜单条目此前是英文,现已全部汉化:
    锁定面板 / 面板最大化 / 重置布局 / 工作区域 / 新建浮动工作区 /
    集合 / 图表 / 工具栏 / 对话框管理器 / Steam 创意工坊 等。
    根因:这些键官方 en 语言包里根本没有(en 只有 1916 键),任何语言包覆盖都翻不到,
    必须由本工具补键。词条总量 1916 → 2096。
  • 修正若干机翻不通顺的条目。

说明 / Notes

  • 覆盖率:官方词条 1888 / 1916 = 98.5%(其余为品牌名/格式名,按约定保留英文);节点约 93%。
  • ②「更新汉化」完全不联网:从你本机游戏自带的 pack/locale.zip 抽取官方 en 基准,
    用内置引擎补翻新增条目后重写 zh,不访问 GitHub。只有更新工具本身才需要重新下载。

已知限制

  • 浮动面板标题(Toolbar、Collections 等)由主程序内部的面板注册表直接绘制,
    不经过语言包。实测 20 余种候选键名(panel_toolbar / Toolbar Panel / 原文 Toolbar …)
    全部无效,无法用"语言包覆盖"方式汉化。好消息:打开这些面板的入口在「面板菜单」里,
    条目已全部汉化,属纯外观问题。
    详见 README · 已知限制。

下载 / Download

  • PixelComposer-CN-Patcher.exe —— 免安装、双击即用(已内嵌完整 zh 汉化包与翻译引擎)。
    下载 → 双击 → 点「① 一键汉化」→ 重启 Pixel Composer。
  • 官网:https://dc1024.github.io/pixel-composer-cn/

v1.0.2 fixes the workspace layout-tab rename: renaming the files alone gets reverted by
the game, which re-extracts the 5 built-in layouts from its own pack/layouts.zip on the
next launch (producing duplicate EN/CN tabs). This release also rewrites the entry names
inside that zip, so the rename sticks — verified by launching and confirming only the
Chinese file names remain. Button ⑦ reverts all three changes.
Note: floating panel titles are drawn from the executable's internal panel registry and
cannot be localized via the locale overlay; the panel menu entries are fully translated.
Coverage: words 1888/1916 (98.5%), nodes ~93%. Button ② "Update" is fully offline.

Pixel Composer 中文汉化包 v1.0.1

Choose a tag to compare

@DC1024 DC1024 released this 28 Sep 12:50

⚠️ 本版已被 v1.0.2 取代。
本版的 ⑥ 只改 layouts/*.json 文件名,会被游戏从 pack/layouts.zip 解回英文,
造成中英两套重复标签。请下载 v1.0.2,并用 ⑦ 还原布局名 清掉重复项。

Pixel Composer 中文汉化包 v1.0.1

本次更新重点是补齐上一版漏翻的菜单位置,并新增工作区标签汉化。

修复 / Fixed

  • 「面板」菜单里的条目此前仍是英文,现已全部汉化:
    锁定面板 / 面板最大化 / 重置布局 / 工作区域 / 新建浮动工作区 /
    集合 / 图表 / 工具栏 / 对话框管理器 / Steam 创意工坊 等。
    根因:这些键官方 en 语言包里根本没有,旧包自然翻不到,本版把它们整体补进 zh。
  • 修正若干机翻不通顺的条目(全屏面板 → 面板最大化、收藏 → 集合 等)。

新增 / Added

  • ⑥ 汉化工作区标签 / ⑦ 还原布局名:
    工作区标签显示的是 layouts/*.json 的文件名,不走语言包。
    ⑥ 会把自带的 Horizontal / Vertical / Preview / Drawing / Side menu
    改名为中文,并同步改写 Preferences/*/keys.json 里的 panel_layout_file;
    ⑦ 一键还原。__default.json 与 layouts/version 永不改动。
  • 翻译引擎补充 180 条官方缺失词条 + 116 条面板键,词条总量 1916 → 2096。

说明 / Notes

  • 覆盖率:官方词条 1888 / 1916 = 98.5%(其余为品牌名/格式名,按约定保留英文);节点约 93%。
  • ②「更新汉化」完全不联网:它从你本机游戏自带的 pack/locale.zip 抽取官方 en 基准,
    用内置引擎补翻新增条目后重写 zh,不会从 GitHub 下载任何东西。

已知限制

  • 浮动面板标题(Toolbar、Collections 等)由主程序内部的面板注册表直接绘制,
    不经过语言包 —— 已实测 20 余种候选键名均无效,无法用覆盖方式汉化。
    好消息是:打开这些面板的入口在「面板菜单」里,条目已全部汉化。
    详见 README · 已知限制。

下载 / Download

  • PixelComposer-CN-Patcher.exe —— 免安装、双击即用(已内嵌完整 zh 汉化包与翻译引擎)。
    下载后双击 → 点「① 一键汉化」→ 重启 Pixel Composer 即可。
  • 官网:https://dc1024.github.io/pixel-composer-cn/

v1.0.1 fills in the menu entries that the official en pack never defined
(they were missing entirely, so no overlay could translate them), and adds
one-click renaming of the workspace layout tabs (⑥/⑦).
Note: button ② "Update" is fully offline — it reads the game's own
pack/locale.zip and re-fills new strings with the built-in engine; nothing is
fetched from GitHub. Coverage: words 1888/1916 (98.5%), nodes ~93%.