GTweak 本地化配置完整指南:14 种语言区域变体 pt-BR 与 zh-CN 的正确写法
【免费下载链接】GTweakPortable Tool for an Ideal Windows Setup项目地址: https://gitcode.com/GitHub_Trending/gt/GTweak
先搞懂:GTweak 的本地化为什么值得你研究
GTweak 是一款绿色免安装的开源 Windows 优化工具,它内置的 GTweak 本地化体系覆盖 14 种语言,区域变体(pt-BR、zh-CN、zh-TW)各自独立维护、互不覆盖。本文写给想在 WPF / 桌面项目里做国际化、又不想从零搭架构的开发者:下面按「目录组织 → 命名规则 → 翻译规范 → 同步机制 → 提交自查」的顺序,把这套现成方案拆给你看。
界面效果如上图所示——你看到的每一句文案,都来自同一套语言资源文件。
多语言目录怎么组织:三件套职责拆解
全部文案集中在.Source/GTweak/Languages/下,结构一眼看穿:
.Source/GTweak/Languages/ ├── LanguageCatalog.xaml ← 语言注册表(原生名称 + 缩写) ├── en/Localize.xaml ← 英文基准(508 键) ├── pt-BR/Localize.xaml ← 巴西葡萄牙语 ├── zh-CN/Localize.xaml ← 简体中文 └── …(fr、ko、ru 等共 12 个语言文件夹)| 角色 | 文件 | 承担的职责 |
|---|---|---|
| 翻译参照 | en/Localize.xaml | 英文原文,508 个键,其余语言都以它为标尺 |
| 注册入口 | LanguageCatalog.xaml | 每种语言占一行:原生写法 + 括号内英文缩写 |
| 翻译载体 | zh-CN/Localize.xaml 等 | 一语言一文件夹,文件夹内一个Localize.xaml |
一句话点评:新增一门语言的固定成本 = 复制一个文件夹 + 填写 508 条 + 注册一行。
区域变体命名规则:pt-BR / zh-CN 该怎么写
GTweak 采用 BCP-47 风格的「语言-地区」写法,三个要点:
- 语言代码全小写:
pt、zh - 地区代码全大写、用连字符连接:
BR、CN - 文件夹名混合大小写:
pt-BR、zh-CN,zh-TW繁体中文单列一份,绝不覆盖简体
程序运行时会按地区精确匹配系统区域设置,这正是变体必须分文件夹维护的原因。
LanguageCatalog.xaml 顶部的 NOTE 注释写死了注册格式:语言名用原生写法、括号附英文缩写;key 一律小写、用下划线代替连字符——也就是pt-br必须写成pt_br:
<v:String x:Key="pt_br">Português (BR)</v:String> <!-- L20 --> <v:String x:Key="zh_cn">简体中文 (CN)</v:String> <!-- L25 -->对应条目:pt_br(L20)、zh_cn(L25)。
⚠️ 最常踩的坑:文件夹名与注册 key 的大小写规则正好相反——路径是「连字符 + 大写地区」(
pt-BR),key 是「全小写 + 下划线」(pt_br)。两处写混,同步脚本就认不出这门语言。
Localize.xaml 翻译的三个铁律
每个Localize.xaml都是标准 XAML 资源字典,条目长这样:
<v:String x:Key="btn_change">Change</v:String>翻译 Localize.xaml 时,记住三条铁律:
- 键名一个字都不动:修改条目时只碰引号里的文字,
x:Key的值是代码与界面之间的固定契约,键一变绑定就断。 - 分区注释原样保留:文件用
<!--#region ... -->按界面模块切出 15 个区域(从Load Window到Toolset Page),方便译者按窗口对照原文。 - 条数必须对齐:英文基准 508 键,
pt-BR、zh-CN也必须是 508 键——这是提交前第一道自检。
用 LocalizeSync 同步脚本守住 14 种语言
Tools/目录下的 LocalizeSync 同步脚本 以en/Localize.xaml为基准,双击即可运行(cmd 启动器包裹 PowerShell 逻辑),对每个语言文件做三件事:
| 能力 | 具体表现 |
|---|---|
| 键名规范化 | 把Btn-Change这类不规范键自动改写为小写下划线形式btn_change |
| 差异报告 | 逐语言输出新增/删除的键([+] Keys added/[-] Keys deleted)及区域分区变化 |
| 安全模式 | 三个开关:-DryRun(只报告不写盘)、-Backup(写前留.bak备份)、-Placeholder(缺失键自动填空占位) |
推荐工作流,三步走:
- 先加
-DryRun跑一遍,确认差异清单里没有意外; - 无异常后正式执行,让脚本按基准顺序重排语言文件结构;
- 带上
-Backup落盘,万一误操作可凭.bak一键回滚。
多语言 README 与贡献入口
文档侧同样按区域变体拆分——根目录提供了 12 份同规格的语言 README:
- 巴西葡语:README-pt-br.md
- 简体中文:README-zh-cn.md
- 其余如
README-fr.md、README-ko.md、README-ru.md等
主 README.md 顶部的语言徽章直接链到对应文档;「Localization & Translation」章节给出 PR 与 Issue 两条贡献途径,即使只翻译一两句文案,新贡献者也知道从哪下笔。
📋 提交前自检清单
翻译提交前,逐项打勾确认:
- ✅ 文件夹名为「语言-地区」格式(
pt-BR、zh-CN),与 Windows 语言包代码一致 - ✅
LanguageCatalog.xaml中 key 为小写下划线(pt_br、zh_cn),语言名为原生写法 - ✅
Localize.xaml键名与英文基准逐一吻合,引号内的值完成翻译 - ✅
#region分区注释完整保留,条数与基准对齐(508 键) - ✅
LocalizeSync的-DryRun模式跑过,无未处理差异 - ✅ 根目录对应语言的 README 已同步更新
这套「统一目录 + 变体命名规范 + 脚本兜底 + 文档本地化」的组合,把 14 种语言的维护成本压到了最低——你的多语言项目,完全可以照此搭起来。
【免费下载链接】GTweakPortable Tool for an Ideal Windows Setup项目地址: https://gitcode.com/GitHub_Trending/gt/GTweak
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考