
Hoppscotch 多语言指南界面切换、语言包定制与多语言 API 测试【免费下载链接】hoppscotchOpen-Source API Development Ecosystem • https://hoppscotch.io • Offline, On-Prem Cloud • Web, Desktop CLI • Open-Source Alternative to Postman, Insomnia项目地址: https://gitcode.com/GitHub_Trending/ho/hoppscotchHoppscotch 是一款开源 API 开发测试工具Web、桌面端与 CLI 全平台可用可离线与私有化部署。它的国际化体系由三部分构成packages/hoppscotch-common/locales/下的 JSON 语言文件、languages.json语言注册表、以及基于 vue-i18n 的加载模块。这篇文章讲清这套机制并覆盖界面切换、语言包定制、多语言 API 测试和翻译贡献四条线。场景导入周五上线柏林的前端、东京的测试和圣保罗的后端在同一个 Hoppscotch 团队空间里跑同一套 API 测试唯独界面语言各不相同。更棘手的是需求方只认中文错误提示团队需要在请求里显式声明语言偏好反复验证服务端的本地化逻辑。工具自身的多语言加上可控的Accept-Language请求参数就是这类协作的底层保障。核心机制三个文件撑起整套 i18nHoppscotch 的多语言国际化实现相当直接每门语言对应一个 JSON 文件按功能模块嵌套组织键值。{ action: { cancel: 取消, save: 保存 }, settings: { language: 语言 } }加载逻辑在packages/hoppscotch-common/src/modules/i18n.ts中构建阶段用import.meta.glob扫描 locales 目录下全部 JSON运行时切换语言时才懒加载对应文件并写入本地配置localStorage英文始终作为兜底语言缺失的条目会自动回退到英文显示。语言清单则注册在 languages.json每条包含语言代码、对应文件名、ISO 标识与显示名RTL 语言如阿拉伯语、希伯来语还会声明dir: rtl来控制排版方向。目前共注册 34 种语言中文代码是cn繁体是tw。三步完成首次切换打开应用后侧边栏底部有一个语言按钮地球图标点开是带搜索框的语言列表点击目标语言即刻生效不想翻列表的话也可以进入设置页在语言条目里选择——两条路径走的是同一个 ChangeLanguage 组件。选择之后偏好会被自动持久化之后每次启动都会优先读取本地配置本地没有配置时才尝试匹配浏览器语言如en-US命中en都没有则回落英文。所以设置默认语言这件事不需要额外配置你最后一次手动切换的选择就是默认语言。从改词到造包微调已有语言包里的个别术语团队里如果统一把 Request 叫请求而不是API 请求直接打开对应的语言文件如packages/hoppscotch-common/locales/cn.json定位到目标键改值即可保存后重新构建前端即生效。这是最轻量的操作适合发一个小的修正 PR。五分钟建好你的第一个语言包当你需要的语言根本不在列表里比如僧伽罗语完整流程是复制en.json为locales/code.json逐段翻译文件约两千余行可按顶层模块分批推进在 languages.json 注册新语言{ code: si, file: si.json, iso: si-LK, name: සිංහල }重新构建语言列表里就会出现新条目提交 PR 前先在真实界面里过一遍完整页面。RTL 语言额外加一行dir: rtl界面排版会自动切换文字方向。用语言参数测 API场景一验证单接口按请求头返回正确语言在请求的 Headers 标签新增一行键填Accept-Language值填zh-CN发送后核对响应体中的提示文案是否为简体中文。若需同时验证服务端声明语言逻辑可加Content-Language配合测试写入场景。场景二多语言环境回归接口多、语言多时手工改请求头不现实。用 Hoppscotch 的环境变量新建中文环境加变量accept_language zh-CN请求头里写{{accept_language}}。再建德文环境指向de-DE切换顶部环境即完成整套语言回归无需改动任何请求。响应查看器对复杂文字渲染是可靠的CJK 与 RTL阿拉伯语、希伯来语在languages.json中已声明方向属性格式化 JSON、搜索定位和复制导出在中文、日文、俄文响应下均正常显示可直接用于人工核对多语言响应差异。成为翻译贡献者先做判断你会某门已有语言 → 直接提修正 PR改拼写、措辞和断链无需建新文件你想新增一门语言 → 先确认没有人在做然后从 TRANSLATIONS.md 的流程走起git clone https://gitcode.com/GitHub_Trending/ho/hoppscotch # 新建分支复制 en.json 为目标语言文件翻译注册 languages.json提交 PR提交前快速自检三条同一术语全文译法一致结合上下文而不是逐字直译界面空间有限保持简洁占位符、变量和模板字符串原样保留一个{{ }}被译掉都会直接导致界面报错。排障速查现象原因解法切换后部分文案仍是英文该键在目标语言中缺失自动回退到 en补上缺失条目或直接贡献翻译中文显示乱码/整片回退英文语言文件不是合法 JSON编码、引号、逗号问题用 JSON 校验工具确认格式与 UTF-8 编码列表里找不到目标语言该语言未注册或未随版本发布按上文流程新建语言包并注册改了文件没生效源码构建未重新构建或浏览器缓存旧包重新 build换无痕窗口验证语言代码速查与资源索引语言代码语言文件简体中文cnpackages/hoppscotch-common/locales/cn.json繁體中文twpackages/hoppscotch-common/locales/tw.json英语enpackages/hoppscotch-common/locales/en.json日语japackages/hoppscotch-common/locales/ja.json德语depackages/hoppscotch-common/locales/de.json语言注册表在 languages.json贡献流程见 TRANSLATIONS.md。语言或翻译问题可以直接提 issue 反馈也可以加入官方社区频道参与讨论。让每个团队成员用自己最熟的语言跑 API 测试就是这套机制存在的全部意义。【免费下载链接】hoppscotchOpen-Source API Development Ecosystem • https://hoppscotch.io • Offline, On-Prem Cloud • Web, Desktop CLI • Open-Source Alternative to Postman, Insomnia项目地址: https://gitcode.com/GitHub_Trending/ho/hoppscotch创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考