Skip to content

Cavalry Language Switcher for Cavalry 2.7.2 patch 4

Choose a tag to compare

@github-actions github-actions released this 01 Aug 09:07
· 21 commits to main since this release
bb8a43b

Cavalry Language Switcher

Cavalry Language Switcher 是一个面向 Cavalry 2.7.2 的 macOS 与 Windows 语言切换工具。它可以把本机已安装的 Cavalry 在 English、简体中文、繁體中文、日本語之间切换,并继续从原来的 Cavalry 应用启动。

它会处理两类翻译表面:Cavalry 的 JSON 资源文件,以及内置在 Qt/UI 二进制里的菜单、面板、按钮和控件文字。Windows 版动态发现或由用户选择 Cavalry 安装目录,不依赖固定盘符,并部署 Qt generic translator 与原厂 QPA 委托层,让原桌面、开始菜单、任务栏及直接 EXE 启动保持不变;macOS 版 patch 本地 app bundle、安装 runtime injector、重新签名并清理 Gatekeeper quarantine。

Cavalry Language Switcher 是独立社区工具,不隶属于 Scene Group、Cavalry 或 Canva。

p4 更新内容 / Changes

Added

  • Windows x64 Support: Cavalry Language Switcher now applies English, Simplified Chinese, Traditional Chinese, and Japanese to Cavalry 2.7.2 on Windows 10 x64 or newer, including custom install roots and protected Program Files installs.
  • Native Cavalry Launches: Desktop, Start Menu, existing taskbar pins, direct Cavalry.exe, and Switcher launches now converge on the selected language without replacing vendor shortcuts or setting global Qt environment variables.
  • Localized Windows Installer: The branded NSIS installer follows the Windows UI language for English, Simplified Chinese, Traditional Chinese, and Japanese, with English fallback for other locales.
  • Windows Runtime UI Translation: Added scoped translation for ordinary Qt controls, dynamic names and dropdown values, ExtensionLayer empty states and placeholders, tool help, MessageBar warnings, viewport text, and login prompts while preserving model identities, user text, and physical shortcut keys.
  • Windows Verification Suite: Added native CTest, Rust transaction contracts, disposable live-clone checks, and isolated NSIS install, same-version update, and uninstall smoke coverage.
  • Reusable macOS Acceptance Harness: Added tracked Objective-C++ semantic drivers, exact native-window capture, deterministic media fixtures, a target-locked fail-closed Node matrix, and a vendor-free PR compile gate for the scoped 21-run/48-point macOS release surfaces without storing live sessions or generated binaries in Git.
  • Windows Scoped Live Acceptance: Added reusable acceptance-only drivers and exact PID/HWND evidence capture for real Cavalry 2.7.2 Onboarding (15/15) and Tag/Assets producers (6/6 logical points, 9/9 reviewed PNGs) across Simplified Chinese, Traditional Chinese, and Japanese, with English restoration and exact-process cleanup; these scoped gates do not claim repository-wide G0-G4.

Changed

  • Explicit English Recovery: Windows keeps the selected language across normal Cavalry exit, Switcher update, and Switcher uninstall, and restores the exact vendor QPA only when the user selects English.
  • Platform-built Native Injectors: macOS and Windows runners now build their own native injector from the current source and generated translation table before Tauri development, packaging, or release.
  • Windows Development Baseline: Windows development supports PowerShell 5.1 or newer, Visual Studio 2022 or newer with x64 MSVC v143, CMake 4.2 or newer, and the exact Qt 6.6.3 msvc2019_64 SDK without requiring PowerShell 7.
  • Three-asset Releases: Release metadata and CI now publish Apple Silicon and Intel macOS DMGs plus one Windows x64 NSIS installer, with each package bound to its current source and native runtime inputs.

Fixed

  • Guide Onboarding Catalog Loading: Kept localized Getting Started and five-step onboarding copy in Cavalry's required en catalog slot so titles, descriptions, and step bodies resolve instead of rendering blank; validation now checks the shared macOS/Windows language packs, all 98 keys, and every guide reference.
  • macOS Eight-surface UI Residuals: Localized the requested Search Bar Add Layer tooltip, Tag labels, Color Save action, Assets Replace action, Statistics labels, and Tracking dialog across Simplified Chinese, Traditional Chinese, and Japanese.
  • Japanese Scene Statistics Update: Corrected the Update action from the unrelated ニュース (“News”) to 更新, with same-window live acceptance and a three-language catalog contract preventing recurrence.
  • macOS Scoped Menu Ownership: Carried the exact Assets window identity through its parentless transient context menu for one event-loop turn, allowing both Replace... and dynamic Create Composition based on <asset> actions to localize while preserving the asset identity and unrelated same-source menus.
  • macOS Transform Tool Help: Translated the five self-painted Transform Tool actions—including corrected Direct Layer Selection and Enable Snapping terms—with CJK-capable system fonts while preserving physical shortcut prefixes in English; both Apple Silicon and Intel/Rosetta paths require the exact Cavalry 2.7.2 Core/ExtensionLayer/Skia caller and ABI contract and fall back to the original English path on any mismatch.
  • Add Layer Shortcut Isolation: Kept the concrete MenuBarManager Add Layer shortcut text out of global source fallback while preserving exact-context and Search Bar tooltip translation.
  • macOS Rust Build Restoration: Restored platform gating for the Windows-only Qt runtime and corrected the nested macOS privilege imports so the shared Tauri crate compiles on macOS after the cross-platform module split.
  • Complete Windows UI Surfaces: Filled proven translation gaps for numbered compositions, controlled property values, Line, Pencil, Cog, Bone, Transform, and Edit Shape tool text, selection counts, and the offline login countdown.
  • CJK Self-painted Text: Rendered approved Skia text paths with CJK-capable Windows fonts so translated viewport and shortcut hints no longer appear in English, blank, or as missing-glyph boxes.
  • Smoother Node Restoration: Restored the real Cavalry 2.7.2 smoother.smoothingSteps node across all four language packs after matching macOS and Windows vendor assets disproved the earlier orphan-node assumption.
  • Safe Windows Close Retry: Language changes now leave the installation untouched while Cavalry has a visible target window and only terminate the same bound current-session, exact-path process after the approved close flow.
  • Silent Windows Helpers: Hidden auxiliary command windows during normal product operations and isolated PowerShell 5.1 fallback modules from a parent PowerShell 7 session.
  • Login Context Preservation: Production native-entry launches preserve the caller's Windows profile and Cavalry login context, while disposable live checks remain isolated from the real profile.
  • Fresh Package Enforcement: Windows packaging now rejects stale installers, orphan provenance, foreign executables, wrong target directories, and packages containing another Qt runtime.
  • Index-safe Git Hooks: Pre-commit checks now validate the staged bytes, preserve partial commits, locate the configured Node executable, and refuse hidden unstaged input drift.

Security

  • Main-line Release Tags: The release job now refuses any public tag whose commit is not contained in the fetched origin/main history, preventing a detached PR head from publishing release assets.
  • Hash-locked QPA Activation: Windows translation activation verifies Cavalry, Qt, vendor QPA, proxy, generic translator, manifest, and language-marker identity before loading localization code.
  • Restricted Program Files Elevation: A single headless Switcher worker revalidates OS-known Program Files roots, rejects reparse-point escapes, writes the final language marker last, and restores exact preimages on failure.
  • Scoped Process Shutdown: Windows restart handling binds one process handle and revalidates its session, executable path, PID, and visible-window state instead of using broad process-name or process-tree termination.

下载

macOS

Windows

macOS 首次打开

当前 DMG 使用 ad-hoc 签名,尚未经过 Apple Developer ID notarization。如果从浏览器下载后,macOS 提示 "Apple could not verify Cavalry Language Switcher is free of malware",请先把应用拖入 Applications,然后运行:

xattr -dr com.apple.quarantine "/Applications/Cavalry Language Switcher.app"
open "/Applications/Cavalry Language Switcher.app"

开发者也可以按仓库内的 LOCAL_BUILD_SOP.md 从源码本地构建;本地构建产物不会携带浏览器下载写入的 quarantine 标记。

可把这段话发给你的 AI agent:

请从源码本地构建 Cavalry Language Switcher:

1. 打开仓库 /Users/luo/Desktop/ClaudeCode/web/Cavalry-i18n。
2. 严格按照 LOCAL_BUILD_SOP.md 执行。
3. 运行标准 Tauri build、执行 DMG 卷宗图标盖章,并运行 SOP 里的 packaged checks。
4. 完成后告诉我最终 DMG 路径。

支持语言

  • English
  • 简体中文
  • 繁體中文
  • 日本語

使用前须知

  • 当前 release 尚未经过 Apple Developer ID notarization;浏览器下载后首次打开可能需要手动清除 quarantine。
  • 首次应用语言包时,macOS 可能要求授予 App Management 权限。
  • Windows 版不要求 Cavalry 位于固定盘符;自动检测失败时可在应用内选择安装目录,写入受保护目录时可能请求 UAC 提权。
  • 建议保留一份干净的 Cavalry 安装包或备份;恢复到完全原始状态时,重新安装 Cavalry 是最稳妥的方式。
  • 当前 release 同时发布 Windows x64 安装器与 macOS Apple Silicon/Intel 两个 DMG,请按平台和芯片类型下载。

日本語

Cavalry Language Switcher は、Cavalry 2.7.2 向けの macOS / Windows 用言語切り替えツールです。インストール済みの Cavalry を English、簡体字中国語、繁体字中国語、日本語の間で切り替えられます。

初回適用時に macOS の App Management 権限が求められる場合があります。完全に元の状態へ戻すには、Cavalry を再インストールするのが最も安全です。

English

Cavalry Language Switcher is an independent community tool for switching the UI language of Cavalry 2.7.2 on macOS and Windows. It is not affiliated with Scene Group, Cavalry, or Canva.