尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Ghostty 终端翻译指南:4 步让菜单和对话框说母语

Ghostty 终端翻译指南:4 步让菜单和对话框说母语 Ghostty 终端翻译指南4 步让菜单和对话框说母语【免费下载链接】ghostty Ghostty is a fast, feature-rich, and cross-platform terminal emulator that uses platform-native UI and GPU acceleration.项目地址: https://gitcode.com/GitHub_Trending/gh/ghosttyGhostty 是一款支持 GPU 加速的跨平台终端模拟器它的菜单、标题栏按钮和对话框都能按系统语言显示。这篇面向新手的实操文档带你从零装好 gettext 工具、修改 .po 翻译文件、为一个新语言建档并构建验证——读完后你就能独立让 Ghostty 显示自己母语的界面。先看最终效果本地化完成后Ghostty 右键菜单里的 Split 会显示为分屏Copy 变成复制整个界面跟随你的系统语言。这套能力由两类文件支撑翻译文件po/ 目录下目前有 32 个语言的 .po 文件如 po/zh_CN.po、po/ja.po外加一份代码自动生成的模板 po/com.mitchellh.ghostty.pot语言注册表src/os/i18n_locales.zig 里列着 32 个受支持的语言代码构建时按这里的顺序匹配你的系统语言构建时每个 .po 文件会被编译成二进制的 .mo 文件存放在share/locale/LOCALE/LC_MESSAGES/com.mitchellh.ghostty.mo运行时通过 gettext 函数加载。gettext 是 GNU 的翻译加载机制随系统 C 标准库自带所以 Linux 上基本不用额外装库。逐个解决问题一装好 gettext 工具链目标让msginit、msgfmt等工具在你的系统上可用。关键步骤gettext 是处理 .po 翻译文件的工具集生成新文件和校验格式都靠它。按系统选一条安装命令sudo apt install gettext # Debian/Ubuntu brew install gettext # macOS scoop install gettext # Windows (Scoop)常见坑Windows 用户别走 GnuWin32 渠道那个包 2010 年后就没更新过现代系统上基本跑不起来 ⚠️ 装完执行gettext -V能打印出版本号才算成功。问题二修改已有语言的一条翻译目标把某个词换成更地道的说法或补上没翻的空条目。关键步骤打开对应语言的 .po 文件中文是 po/zh_CN.po每条翻译长这样#. Translators: 右键菜单中所有方向分屏选项的类别 msgctxt Context menu msgid Split msgstr 分屏msgid是英文原文msgstr填你的译文msgctxt用来区分同名不同义的字符串。#.开头是开发者留下的背景说明值得看#:开头是源码位置引用不用管。你也可以用#开头留自己给同语言协作者的注释。改完记得更新文件头部的PO-Revision-Date和Last-Translator两个字段。常见坑省略号请复制英文原文里的…字符别打三个点英文习惯标题大写多数语言没有这个规则别照抄Poedit 等工具会自动塞进一个X-Generator字段手动删掉它否则换工具版本就会产生无意义的 diff千万别手动改 .pot 模板文件它是自动生成的问题三为一个新语言建档目标给还没有翻译的语言创建完整的 .po 文件。关键步骤语言名由两字母语言码组成如de有地区差异时再加国家码如es_AR表示阿根廷西语。用模板一条命令生成新文件msginit -i po/com.mitchellh.ghostty.pot -l xx_YY -o po/xx_YY.po把xx_YY换成你的语言名中途会询问邮箱等信息。然后打开 src/os/i18n_locales.zig在 locales 数组里按注释说明的排序规则插入你的语言码——拿不准就放列表末尾。最后编辑 CODEOWNERS在# Localization段落按字母序加一行/po/xx_YY.po ghostty-org/yy_ZZ常见坑团队名必须带语言码国家码即使文件只叫xx.po。另外新语言的 PR 需要至少两名维护者愿意接手才会合并发起时就说明自己是否打算长期参与。问题四构建并看到翻译效果目标确认你写的译文真的出现在界面上。关键步骤zig build run -- --languagexx_YYGhostty 默认跟随系统语言--language参数强制指定设置LANGUAGE环境变量效果相同。常见坑KDE Plasma 默认用服务器端窗口装饰会藏掉大量菜单字符串加--window-decorationclient强制客户端装饰才能看全译文。同一句文案还常出现在多处——汉堡菜单会重复右键菜单里的字符串——别只验一个地方。避坑问答模板文件 .pot 需要我跟着维护吗不需要也不允许。它由 Ghostty 代码和 Blueprint 界面资源自动生成CI 会在每个 PR 上检查它是否过期。开发者更新字符串后跑一次zig build update-translations就能同步模板和所有语言的 .po 文件。同一句英文在不同位置要不同译法怎么办加msgctxt上下文。比如菜单动作里的 Copy 和右键菜单里的 Copy 就能各自独立翻译互不干扰。怎么确认 .po 文件格式没写坏所有文件必须是 UTF-8 编码。提交前跑一次校验msgfmt --check po/xx_YY.po报错就按提示修CI 也会做同样的检查。为什么我在 macOS 上构建后还是全英文macOS 端的本地化系统目前尚未实现见 po/README_CONTRIBUTORS.md翻译文件在 macOS 上暂不生效。想预览效果请在 Linux 上构建运行。再进一步工具Poedit可视化 .po 编辑器自带格式校验LokalizeKDE 系专业翻译工具VS Code搭配 i18n 插件直接编辑协作渠道GitHub Discussions翻译相关问题的讨论区每个语言在 CODEOWNERS 里都有维护团队PR 会交给对应维护者审核定期翻译 sprint新版本字符串出来后集中更新相关文档译者入门po/README_TRANSLATORS.md字符串提取机制开发者视角po/README_CONTRIBUTORS.md通用贡献规范CONTRIBUTING.md还没有源码的话先执行git clone https://gitcode.com/GitHub_Trending/gh/ghostty克隆仓库。现在就可以做的两件事运行gettext -V确认工具链已就绪用 Poedit 打开 po/zh_CN.po搜索msgstr 找到第一条空翻译把它补上 【免费下载链接】ghostty Ghostty is a fast, feature-rich, and cross-platform terminal emulator that uses platform-native UI and GPU acceleration.项目地址: https://gitcode.com/GitHub_Trending/gh/ghostty创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表