XPipe 多语言界面切换:中文设置与翻译机制
【免费下载链接】xpipeAccess your entire server infrastructure from your local desktop项目地址: https://gitcode.com/GitHub_Trending/xp/xpipe
这篇文章解决两个问题:如何把 XPipe 的界面从英文切换成中文,以及它的多语言翻译系统背后如何运作,让你能判断界面里偶尔出现的英文是设置问题,还是翻译没跟上。XPipe 是一款在本地桌面上管理整套服务器基础设施的工具,内置 18 种语言,包含简体中文与繁体中文。本文覆盖翻译文件的结构、语言配置入口、切换后的影响范围,以及你可以自行扩展的边界。
翻译文件在哪里
XPipe 的界面文本全部放在lang/目录下,分两层:
lang/strings/存放短字符串:菜单、按钮、设置项标签。每种语言一个.properties文件,简体中文对应 translations_zh-Hans.properties,全文 2800 多行。lang/texts/存放较长的说明文档,用 Markdown 格式,例如 Termius、Xshell 连接导入功能的中文引导说明。
翻译的生产流程是三步:以英文为基准,用 DeepL 自动翻译,再由人工校对。新增字符串先写英文,自动翻译到各语言,社区贡献者只负责修正个别错译。这种分工让翻译文件能跟上功能迭代的速度。各语言的校对状态也记录在 lang/README.md 中,并标注对应版本号,方便判断某语言校对到了哪一版。
语言配置入口在哪里
应用内切换语言的位置在设置面板的"个性化"(Personalization)分类里,其中的"语言"下拉框就是配置项,选择后新语言立即生效,不需要重启。首次启动的初始设置窗口里也提供了同一个选项。
下拉框旁的说明文字,来源就是简体中文文件里的这两条:
language=语言 languageDescription=设置界面语言第一条是选项标签,第二条是下拉框旁显示的说明。由于设置面板本身也被翻译,无论当前使用哪种语言,你都能认出这一项。
即时切换来自底层的可观察绑定:语言选项变化后,国际化模块会重新加载对应翻译文件,界面上所有绑定的字符串随之同步刷新。相关实现在 AppI18n 中,负责全部界面字符串的查找与回退。
切换后哪些内容会变
切换到简体中文后,菜单、按钮、设置说明以及lang/texts/中的文档文本都会变成中文。有两个边界情况值得知道:
- 未翻译的条目会自动回退到英文。新功能加入的字符串如果中文还没跟上,界面直接显示英文原文,不会留下空白或占位符。
- 你自己输入的内容,比如连接名称、命令输出,不属于翻译范围,不受语言切换影响。
代码中的查找顺序是:先查当前语言,查不到再查英文,仍查不到才返回键名本身。所以看到一行英文,通常意味着"新增但尚未翻译",而不是设置出错。
翻译怎么查进度、怎么扩展
各语言的翻译进度在 lang/README.md 的状态表里,记录了人工校对完成的版本号。发现错译时,可以直接修改对应.properties文件中的条目,但必须在前面加一行标记:
#custom storeIntroHeader=连接中心这个标记表示该条目经过人工校对,后续自动重新生成翻译时不会覆盖它;没有标记的条目则会被覆盖。上例中的"连接中心"标题正是一条这样的自定义条目。
如果某个条目在多种语言里自动翻译都不准确,还可以在英文原条目上添加#context注释补充翻译上下文,让工具下次生成时给出更准的结果。lang/texts/下的 Markdown 文本不会被自动覆盖,直接修改即可。改完后按 CONTRIBUTING.md 中的步骤在本地构建开发者版本,就能看到修改效果。
如果只想把界面切成中文,记住一处即可:设置里"个性化"分类下的"语言"下拉框。如果希望减少英文混杂,可以先到 lang/strings/ 下的文件中确认相关条目是否有中文取值,缺失的按#custom规范补上。动手前把 lang/README.md 通读一遍,篇幅不长,本文涉及的规则它都有覆盖。
【免费下载链接】xpipeAccess your entire server infrastructure from your local desktop项目地址: https://gitcode.com/GitHub_Trending/xp/xpipe
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考