From c960d3b04df205ae84a8eaa4632a8b9f9390da2f Mon Sep 17 00:00:00 2001 From: nikelaluo <2135665716@qq.com> Date: Tue, 14 Jul 2026 03:51:42 +0000 Subject: [PATCH] =?UTF-8?q?docs(i18n):=20=E8=A1=A5=E5=85=85=E5=9B=BD?= =?UTF-8?q?=E9=99=85=E5=8C=96=E7=BC=96=E8=AF=91=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Docs/ReadMe.txt | 5 +++- i18n/ReadMe.txt | 79 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 i18n/ReadMe.txt diff --git a/Docs/ReadMe.txt b/Docs/ReadMe.txt index f9aff77..d2d5a2f 100644 --- a/Docs/ReadMe.txt +++ b/Docs/ReadMe.txt @@ -11,7 +11,10 @@ 2. 第三方依赖说明.md 面向编译环境,说明 Qt、OpenSSL、thirdparty/ 和 CMake 环境变量怎么配置。 -3. 本 ReadMe.txt +3. ../i18n/ReadMe.txt + 面向国际化维护,说明新增 tr() 文案后如何更新 .ts、生成 .qm,以及 .qrc 如何内嵌翻译资源。 + +4. 本 ReadMe.txt 记录客户端配置文件和打包脚本的简要说明。 diff --git a/i18n/ReadMe.txt b/i18n/ReadMe.txt new file mode 100644 index 0000000..1bd9f1c --- /dev/null +++ b/i18n/ReadMe.txt @@ -0,0 +1,79 @@ +客户端国际化说明 +================ + +本目录保存 Qt 国际化资源。 + +文件说明: + +1. update-client_zh_CN.ts + 翻译源文件。新增或修改代码里的 tr() 文案后,需要更新这个文件,再补中文翻译。 + +2. update-client_zh_CN.qm + Qt 运行时加载的二进制翻译文件。它由 .ts 编译生成,不要手工编辑。 + +3. update-client.qrc + Qt 资源文件。它会把 update-client_zh_CN.qm 编进 Launcher / Updater / MainApp,不需要把 .qm 单独暴露到安装目录。 + + +日常编译 +======== + +普通重新生成项目时,CMake 会自动执行 lrelease,把 update-client_zh_CN.ts 编译成 update-client_zh_CN.qm。 + +Visual Studio 里直接选择 x64 Release 或 x64 Debug,然后“全部重新生成”即可。 + +命令行等价操作: + +```powershell +cmake --build --preset x64-release +``` + + +新增界面文字后的流程 +==================== + +如果代码里新增了 QObject::tr(...)、QCoreApplication::translate(...) 等需要翻译的文字,按下面步骤操作: + +1. 更新 .ts 文件。 + + Visual Studio: + + 在 CMake 目标里生成 update_client_lupdate。 + + PowerShell: + + ```powershell + cd C:\Users\admin\Desktop\update-client + cmake --build --preset x64-release --target update_client_lupdate + ``` + +2. 打开 i18n/update-client_zh_CN.ts,补齐新增 source 对应的 translation。 + + 可以用 Qt Linguist 打开,也可以直接用文本编辑器编辑 XML。 + +3. 重新生成翻译和程序。 + + Visual Studio: + + “全部重新生成”即可。 + + PowerShell: + + ```powershell + cmake --build --preset x64-release + ``` + + 如果只想单独生成 .qm: + + ```powershell + cmake --build --preset x64-release --target update_client_translations + ``` + + +注意事项 +======== + +1. 代码里不要直接写中文界面文字,统一写英文 source,再在 .ts 里翻译成中文。 +2. .qm 已经通过 update-client.qrc 编进 exe,交付包里不需要单独放翻译文件。 +3. 如果 Visual Studio 或 CMake 找不到 lupdate / lrelease,通常是 Qt 环境变量没配好。确认 CMAKE_PREFIX_PATH 或 Qt5_DIR 指向 Qt 5.15.2 的 msvc2019_64 目录。 +4. update_client_lupdate 只在新增或修改 tr() 文案后需要手动生成;普通代码修改只需要正常重新生成项目。