claude-desktop_win-zh_cn: a Chinese interface patch for Claude Desktop on Windows
Claude Desktop Windows 中文补丁 (zh-CN) - 12700+ keys 翻译 + JS chunk UI 标签汉化。安装python,以管理员身份启动claude-zh-cn.bat
At a glance
- What is it?
- This project patches the Windows build of Claude Desktop so its interface reads in Chinese, by writing zh-CN resource files into the installed app and rewriting hard-coded strings in the frontend JavaScript chunks. It ships a portable assistant executable, a PowerShell menu, and a restore path, and it has to be re-run after every Claude update.
- Who is it for?
- claude-desktop_win-zh_cn suits a Windows user who cannot work with an English-only Claude Desktop and who accepts patching a closed application in place, since the alternative is no Chinese interface at all and the project also ships session enhancements that go beyond translation.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 90 days ago.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.
Editorial analysis
A patch that rewrites the installed app in place
The project is a local patch for the Windows edition of Claude Desktop that adds a Chinese interface, and the README is explicit about what that means mechanically. The current scripts directly modify resource files and frontend JavaScript chunks inside the installed Claude app directory, and the default detection covers the store version under C:\Program Files\WindowsApps and the web login page install under %LOCALAPPDATA%\AnthropicClaude. If automatic detection fails you can point the interactive script at the Claude app directory or install root by hand. The project also states plainly that it is not an official Anthropic project. The approach has an obvious consequence that the README spells out: after every Claude Desktop update you normally have to run the install script again, and if the resource directory or the JS chunk structure changes, the patch rules themselves have to be updated. So this is not a one-time installation. It is a recurring maintenance task that depends on an application you do not control.
Two layers of translation, JSON resources and chunk patches
The coverage comes from two different mechanisms, and understanding them explains both the strength and the fragility of the approach. The Chinese resources write zh-CN strings into the desktop shell, the main frontend interface, and the Statsig resources, with three separate JSON files for that: resources/desktop-zh-CN.json, resources/frontend-zh-CN.json and resources/statsig-zh-CN.json. The hard-coded strings layer patches text inside the JS chunks that never made it into a JSON resource, namely the settings page, third-party inference, tasks, projects and session copy. On top of that sits a visible-text fix that handles at runtime a small amount of English text still shown directly by the DOM, and a font panel on the right edge offering a Chinese font switch, a font name input and local font import. The tools directory makes the maintenance loop visible: tools/sync_i18n_from_installed.py syncs missing zh-CN keys from the currently installed Claude en-US.json and upgrades existing English fallbacks, tools/validate_resources.py validates the resource JSON, and tools/check_i18n_coverage.py scans for resources that look untranslated. There is also an I18N-COVERAGE-REPORT.md holding the most recent coverage scan.
The portable assistant, and the requirement it hides
The v0.1.0 release adds a portable Windows desktop assistant, downloaded from GitHub Releases as claude-desktop-zh-cn.exe. It is a single-file portable program that needs no installation: the Tauri main program, the Python bridge scripts, the patch scripts and the Chinese resources are all compiled into the EXE, and on first run it extracts its internal runtime resources to the local application data directory. Double-clicking the EXE opens it, and moving it to another directory still works. A SHA-256 digest is published for the artefact, and the runtime requirements are Windows 10 or 11, Python 3.10 or later, and an installed Claude Desktop, with administrator rights needed to modify WindowsApps resources. The portable version needs neither Node.js, nor Rust, nor a source checkout. The desktop assistant provides automatic detection of both the WindowsApps and AppData editions, manual selection of the Claude app directory or install root, install, update check, restore of official files and launch of Claude, with the install, restore, update and launch operations running in the background while the foreground shows stage progress and a live log. It also offers a Chinese and English interface switch with the language setting saved locally, a sunset theme, a handwriting-style interface and a wave logo, plus run logs, status checks and copyable diagnostic information.
Installing it needs Python and an elevated PowerShell
The install scripts call Python, so a new machine needs Python 3 first. The recommended route is to open the Python downloads page for Windows, download the latest Python 3 installer, tick Add python.exe to PATH during installation, and reopen PowerShell afterwards. You then check that Python is available:
python --versionand if python is not available, the alternative check is:
py --versionAs long as one of the two commands prints a Python 3 version, the scripts can continue. Installation itself is done from an administrator PowerShell in the project directory, using the interactive entry script:
cd C:\Users\JASOY\Desktop\claude-desktop_win-zh_cn
powershell -NoProfile -ExecutionPolicy Bypass -File .\claude-zh-cn.ps1The interactive menu has numbered options. Option one is install, reinstall or update the Chinese patch, which writes the JSON resources, the chunk text patches, the font runtime, the visible text fix and the session enhancement, and attempts one additional CDP injection. Option two uninstalls the patch and restores English from the backup. Option three manually specifies the Claude app directory for when auto-detection fails or you switch between installed versions. Option four refreshes the status, option five opens the management and diagnostics panel, and option zero exits. There is also a non-interactive entry point for scripted use:
cd C:\Users\JASOY\Desktop\claude-desktop_win-zh_cn
powershell -NoProfile -ExecutionPolicy Bypass -File .\install-windowsapps-json-only.ps1The non-interactive script writes the resources and the chunk patches, and Claude Desktop needs to be reopened for them to take effect.
Session enhancements that go beyond translation
The project is not only a translation patch. Hovering over the conversation list shows move, export and delete controls, and these are injected into the current Claude app's index-*.js chunk by the install step. The reason the chunk path is the stable one is stated plainly: the current Claude WindowsApps build intercepts unauthorised CDP debugging launches, so the chunk injection is the dependable route and the CDP launcher is kept as an optional diagnostic and future compatibility path. Move pops up a panel of ordinary conversations and project lists and calls the official chat_conversations/move_many interface, falling back to Claude's own move and project menu when the organisation or project list probe fails, and it records a diagnostic state under __CLAUDE_ZH_CN_SESSION_MOVE_STATE__. Export reads the current page DOM, tries to extract both the user messages and the Claude replies, and produces a timestamped .md file. Delete shows a confirmation box, preferring Claude's own delete menu, and local_ sessions can be moved to a quarantine directory through the -LocalDeleteBridge. The buttons only attach to rows identified as history conversations, excluding navigation buttons, expand and collapse, view all, projects, files, Gateway, the settings page and third-party provider configuration areas.
A management panel for the things that usually go wrong
The management and diagnostics panel exists because patching an application in place creates state that is easy to lose track of. The idea is credited to the unified workbench approach of milisp/plux, and the goal is to collect common diagnostics and background task control into a PowerShell panel instead of assembling commands by hand. Choosing option five shows the Claude version, its source, the install directory and the resource directory, plus the state of the Chinese resources, the language allowlist, the locale and the backup. It also shows the current count of index-*.js chunks, the newest chunk path, the font injection marker, the session enhancement marker and the zh-CN allowlist marker, along with the number of local delete bridge background processes and whether the ClaudeZhCnLocalDeleteBridge login task is installed. The submenu can start the local delete bridge in the background, install or remove the Windows login task that starts it after sign-in, and run a CDP row diagnostic that outputs session row recognition, button mounting and CDP target information. The diagnostic output includes runtime health status for the session delete patch, the font patch and the visible text fix.
Where this approach breaks
The failure modes are structural rather than incidental. The first is that the patch depends on the internals of an application you do not control: the README says that when the resource directory or JS chunk structure changes, the patch rules need updating, and the CDP path is explicitly described as blocked by the current Claude WindowsApps build. The second is that the project patches the official app in place, so every Claude update can silently invalidate it, and the recovery path is a script rather than a supported channel. The third is that the whole thing is Windows-only, tied to WindowsApps and the local AppData install, and requires administrator rights, which in a managed corporate environment means it is often simply not permitted. The fourth is that a session enhancement that injects buttons into the app's own chunk is a modification to someone else's product, and while the tool ships a restore path and a backup, that is a mitigation rather than a guarantee. A tool that reads the application and patches nothing would be safer in all four cases, and would simply not be able to change the interface language.
Verification environment and how the project is built
The README documents a specific verified environment, which is the most useful thing in it for anyone reproducing the work. Claude Desktop 1.24012.1.0 is verified, with support for the WindowsApps package and the %LOCALAPPDATA%\AnthropicClaude install directory. Python 3.12 is verified, and in theory any Python 3.10 or later should work. PowerShell is Windows PowerShell, and installing and restoring need administrator rights. The front end is built with npm run build --prefix ui, the Tauri shell with npm run build, and the regression tests run with python -B -m pytest tools\test_patch_behaviors.py -q -p no:cacheprovider, currently 84 passed. The repository layout explains the layering: ui/ for the React, TypeScript and Vite assistant interface, src-tauri/ for the Tauri 2 Windows shell, native directory selection and the portable EXE build configuration, tools/ for the bridge and diagnostic scripts, and resources/ for the three Chinese resource files. The patch scripts sit at the top level, including patch_windowsapps_json_only.py for writing the JSON resources, patching the language allowlist and setting locale=zh-CN, and patch_chunks_zh_cn.py for the hard-coded chunk text plus the font and visible-text runtime. The package manifest is minimal, with the Tauri CLI as its only dev dependency, and the licence is MIT.
Editorial conclusion
claude-desktop_win-zh_cn suits a Windows user who cannot work with an English-only Claude Desktop and who accepts patching a closed application in place, since the alternative is no Chinese interface at all and the project also ships session enhancements that go beyond translation. It is the wrong tool if you need a supported localisation, if your organisation forbids modifying application directories, or if you cannot re-apply the patch after each Claude update, which the README states is normally required. Verify first the SHA-256 of the portable executable against the published digest, confirm your Claude Desktop version and Python version match the verified environment, and read the restore scripts before installing, because the tool writes into the installed app directory and backs up the original files so it can put them back.
Frequently asked questions
What does the claude-desktop_win-zh_cn patch actually change?
It writes zh-CN resource files into the installed Claude app directory and patches hard-coded strings in the frontend JavaScript chunks. The README states the scripts directly modify resource files and frontend JS chunks in the installed Claude app directory.
Do I need Python installed to run the patch?
Yes. The install scripts call Python, so the README asks that Python 3 be installed first, checking with python --version or py --version, and the runtime requirement is Python 3.10 or later with Python 3.12 verified.
Does the patch survive a Claude Desktop update?
Generally not automatically. The README says that after every Claude Desktop update you normally have to run the install script again, and if the resource directory or the JS chunk structure changes, the patch rules need updating.
How do I undo the patch?
Option two in the interactive menu uninstalls the Chinese patch and restores English by restoring the official files from the backup and removing the Chinese resources, locale, font mirror and chunk injection. The repository also ships restore_claude_zh_cn_windowsapps.py and a non-interactive restore-windowsapps-zh-cn.ps1 entry point.
Is the portable assistant from the v0.1.0 release safe to run?
It is a single-file portable program with the Tauri main program, Python bridge, patch scripts and Chinese resources compiled into the EXE, which extracts its internal runtime resources to the local application data directory on first run. The README publishes a SHA-256 digest for the download, so you can check the file before running it.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/jyy1529-claude-desktop-win-zh-cn)Was this useful?