Beekeeper Studio 多语言支持:文档站西语版与系统级本地化指南
【免费下载链接】beekeeper-studioModern and easy to use SQL client for MySQL, Postgres, SQLite, SQL Server, and more. Linux, MacOS, and Windows.项目地址: https://gitcode.com/GitHub_Trending/be/beekeeper-studio
摘要
Beekeeper Studio 是一款开源跨平台 SQL 客户端。它的多语言支持覆盖三处:官方文档站提供西语版本,README 提供十余个语言版本,应用内部则跟随操作系统语言自动本地化日期和数字格式。适合希望用母语阅读文档、或在界面中看到符合本地习惯的日期与货币格式的用户。
它是什么:多语言支持覆盖哪些部分
Beekeeper Studio 的多语言能力不是"整个界面换个语言",而是分三层的:
- 文档站多语言。官方文档站基于 MkDocs 的
mkdocs-static-i18n插件构建,当前构建了英语(默认)和西语两种语言版本。西语版连左侧导航菜单都做了翻译,例如 "Installation" 显示为 "Instalacion"、"Support" 显示为 "Soporte"(配置见 mkdocs.yml)。 - README 多语言。仓库根目录放着一整套 README 翻译,如
README-es.md(西班牙语)、README.pt-br.md(巴西葡萄牙语)、README-ja.md(日语),主 README.md 首行链接到所有语言版本。 - 应用内的系统级本地化。应用启动时读取操作系统的语言代码(locale,即描述语言和地区的字符串,如
zh-CN、en-US),用它来格式化界面里的日期和数字。这一步无需任何手动设置。
应用界面文案本身目前保持英文。对数据库工具来说这其实是常见做法:SQL 关键字、错误堆栈、表名列名都是英文,界面混用多种语言反而会造成混乱。
三步用上母语资源
文档站:选择语言。打开官方文档站后,在页面右上角的语言切换器中选择 Espanol,即可整站切换为西语;切回 English 恢复默认。由于插件启用了fallback_to_default: true(未翻译页面自动回退到英语),西语版不会遇到缺失页面。
README:按语言打开对应文件。在仓库中浏览README-es.md或README-ja.md等文件即可,文件名后缀即语言标识,与 README.md 内容结构一致。
应用:交给系统。无需操作。应用直接采用操作系统的语言区域设置,你在系统里把语言改成日语,应用里涉及本地化的日期、数字展示就跟着变。注意:仓库提供的 default.config.ini 中没有"界面语言"配置项——这是事实,别在配置里找它。
能力边界:本地化不等于翻译
两个概念经常被混用,这里说清楚:
- 本地化(localization):让格式适配本地习惯。Beekeeper Studio 的应用端做的主要是这件事。
- 翻译(translation):把界面文案译成另一种语言。应用端暂未做这件事,做在文档站和 README 上。
应用端本地化的细节:
- 数字与货币。
$money这类 query magic(查询魔法,即编辑器里对结果列做二次处理的指令)用Intl.NumberFormat按系统 locale 输出带货币符号和小数分隔符的金额。 - 日期时间。
$unixtimemagic 用Intl.DateTimeFormat把时间戳渲染成本地可读的日期字符串,格式跟随操作系统地区(如德式05.10.2023或中式2023年10月5日)。 - 排序。数据库连接里文件夹名称的排序使用
localeCompare,按当前语言环境的字符规则排列。
边界同样明确:界面按钮、菜单文案、数据库驱动返回的报错信息不在本地化范围内。想要西语体验,目前走文档站这条路。
幕后机制:locale 从系统到格式
应用端的多语言链路很短。启动时,主进程调用 Electron 的app.getLocale()拿到系统语言代码(测试模式下固定为test),随平台信息传给渲染进程,存在window.platformInfo.locale上(见 platform_info/mainPlatformInfo.ts)。格式化数字和日期时再取出它:
// UnixTimeMagic.ts 的核心思路 const locale = window.platformInfo?.locale || 'en-US'; const format = new Intl.DateTimeFormat(locale, formatterOptions); // 输出按系统语言习惯排布的日期字符串这就是为什么没有"语言包"文件可下载:应用依赖的是浏览器/Node 内置的 Intl 国际化 API,语言数据由运行时提供。
文档站机制在 mkdocs.yml 的 i18n 配置里:docs_structure: suffix表示译文文件用后缀命名(英语原文guide.md,西语为guide.es.md);reconfigure_material和reconfigure_search让语言切换器同时接管主题配色与站内搜索;每个语言下可配site_name和nav_translations,西语版的站点名就是 "Documentacion de Beekeeper Studio"。
常见问题
问:为什么应用界面不随系统语言变?界面文案目前没有做翻译,属当前能力边界,不是设置问题。能跟随系统的部分只有日期、数字格式。西语用户可以优先使用西语文档站。
问:文档站的西语页面缺内容了怎么办?先看该页是否存在对应后缀文件(如xxx.es.md)。插件配置了fallback_to_default: true,缺失时自动显示英文版,属预期行为。若你希望补全,见下文"进阶与社区"。
问:日期格式想强制指定某一种,能改配置吗?不行。default.config.ini 中没有日期格式或语言的配置项,格式完全由系统 locale 决定。想换格式,改操作系统的区域设置即可,重启应用后生效。
进阶与社区:如何贡献翻译
翻译贡献入口都写在仓库里,主要规范在 CLAUDE.md 的"Documentation Translation Guidelines"一节,步骤很具体:
- 复制英语原文文件为起点,保持 frontmatter(YAML 元信息)结构不变,只翻译值;
- 文件名加语言后缀,如
docs/user_guide/security.md→docs/user_guide/security.es.md; - 正文、标题、图片 alt 文本、提示框标题都要译;但文件路径、代码块、通用技术术语(plugin、SQL)和品牌名不译;
- 新增语言时,在
mkdocs.yml的 i18nlanguages下加入 locale、site_name、site_description和nav_translations,然后用mkdocs serve本地预览验证; - README 新翻译放在仓库根目录(命名
README-{locale}.md),并把链接加到 README.md 首行的语言导航里。
团队使用建议:把"文档按语言阅读、数据库对象保持英文命名"约定成团队规范,可以避免同一张表在中西语团队间出现两套叫法。
结语
Beekeeper Studio 的多语言策略很务实:文档和 README 面向人做完整翻译,应用面向系统做格式本地化,边界清晰。趋势上,文档站的翻译语言数量在持续扩充。想先试试?装上应用,再把操作系统的区域设置改成你熟悉的语言,看日期和数字如何自己"换装"。
【免费下载链接】beekeeper-studioModern and easy to use SQL client for MySQL, Postgres, SQLite, SQL Server, and more. Linux, MacOS, and Windows.项目地址: https://gitcode.com/GitHub_Trending/be/beekeeper-studio
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考