GTweak 多语言本地化:区域变体配置实操,一次配齐
GTweak 多语言本地化区域变体配置实操一次配齐【免费下载链接】GTweakPortable Tool for an Ideal Windows Setup项目地址: https://gitcode.com/GitHub_Trending/gt/GTweak新增一门语言最容易翻车的是三个不起眼的小动作译稿里手滑把键名btn_change改成了btn-Change文件夹写成了pt-br而不是pt-BR翻译条数和英文基准对不上。前两个不会报错只是运行时悄悄回退成英文排查起来最磨人。GTweak 的国际化架构里有三处设计专门把这些坑压掉了。先看清三处高频翻车点一句话记住键名、文件夹大小写、条数对齐是本地化验收的三块绊脚石。用目录结构隔离 14 种语言GTweak 把全部界面文案收敛在一个目录下按语言拆文件夹.Source/GTweak/Languages/ ├── LanguageCatalog.xaml # 语言注册表 ├── en/Localize.xaml # 英文基准500 条键值 ├── pt-BR/Localize.xaml ├── zh-CN/Localize.xaml ├── zh-TW/Localize.xaml └── … 其余 10 个语言文件夹设计意图很直接一语言一文件夹、一文件夹一文件。英文文件是参照标准pt-BR和zh-TW这类变体各占一格互不覆盖新增一门语言成本就是复制一个文件夹、译完一份文件、在注册表里加一行。承担的角色在做什么位置基准文件定义键名集合其余所有语言以此对齐en/Localize.xaml语言注册表登记每门语言在界面里的显示名语言切换列表由它生成LanguageCatalog.xaml译文文件存放具体文案键名与基准逐条一致只允许改值zh-CN/Localize.xaml一句话记住目录把语言隔离开后新增语言的边际成本被压到最低。把 BCP-47 区域变体命名一次讲清区域变体命名规范是最容易翻车的环节。一个典型场景新人建了个pt-br文件夹程序按系统区域pt-BR去找找不到就静默回退英文——功能没坏只是没人看见。BCP-47 风格的核心规则就三条语言代码全小写、地区代码全大写、连字符连接。GTweak 在这之上还有一层细节——文件夹名和注册表 key 用的是两套写法文件夹名照抄 Windows 区域设置注册表 key全小写 下划线pt-BRpt_brzh-CNzh_cnzh-TWzh_tw注册表里显示名要写原生写法pt_br条目 是Português (BR)zh_cn条目 是简体中文 (CN)。文件头部的注释LanguageCatalog.xaml也反复强调这一点。记法给一个目录名跟着 Windows 区域设置抄横线 大写地区注册表 key 一律小写加下划线。一句话记住同一种语言有两套命名——路径横线大写地区key 全小写下划线别混用。别碰 x:Key那是接口契约每条文案的形如v:String x:Keybtn_changeChange/v:Stringx:Key就是程序与界面之间的接口契约界面代码拿着 key 去资源字典取值值换成什么语言都行。改 key 等于改接口签名——某个按钮立刻拿到空值或回退显示原始英文而且这种断链是散的一次坏一个控件很难从症状反查到键名上。所以翻译时只做一件事改引号里的值键名、#region分区注释一律原样保留提交前数一遍条数与英文基准对齐。一句话记住键名是接口值才是文案。四步工作流跑完翻译同步14 种语言要长期不掉队靠人手对不齐。仓库里的 Tools/LocalizeSync.cmd 是配套同步脚本正确用法不是跑一下而是按顺序走完四步翻译完成对照英文基准把本语言的键值全部译完新增键一条不漏。这一步是源头源头漏了后面全是白跑。DryRun 预览先跑只读模式拿到逐语言的新增 / 删除键差异报告。这一步用来在动手写盘之前确认差异范围防止脚本按旧基准把新译文覆盖掉。正式执行确认报告符合预期后再写入按基准文件重排键的顺序和分区。此时结构对齐已经完成手工排格式可以省了。Backup 兜底写前生成备份误操作时一键回滚。这一步不产生任何日常收益但决定出事那天你能不能活下来。一句话记住先预览、再执行、备份兜底四步走完才算一次安全的同步。三步改造把这套落地到桌面项目如果你的桌面项目也想按这个思路落地按下面三步改每步都有可判断的验收标准。收敛文案到单一目录所有界面文案挪进一个 Languages 目录定一份基准文件加一张语言注册表。验收标准改任意一句界面文案只动一个文件不需要编译逻辑代码。命名按 BCP-47 变体走文件夹名与系统区域设置完全一致注册表 key 全小写下划线显示名用原生写法。验收标准把系统区域切到pt-BR或zh-CN程序能找到对应目录且注册表里不存在混用横线的 key。加一个同步校验脚本以基准文件为准输出各语言的新增 / 删除键差异报告支持只读预览与写前备份。验收标准故意改错一个键名脚本在预览阶段就能报出来而不是等到运行时界面回退英文。文档层同样可以顺手做掉根目录为每种语言拆一份 README比如 README-pt-br.md 与 README-zh-cn.md——注意这里是全小写加横线又和界面语言的命名规则不同别复制粘贴。一句话记住目录收敛、命名规范、脚本校验三步做完多语言维护就从人盯人变成了流程。【免费下载链接】GTweakPortable Tool for an Ideal Windows Setup项目地址: https://gitcode.com/GitHub_Trending/gt/GTweak创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考