)
Hoppscotch 多语言与国际化实战7 个高频问题一次讲清附语言包扩展步骤【免费下载链接】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 多语言支持覆盖 30 余种界面语言。本文按新手高频问题组织怎么把界面快速切到中文、语言选择存在哪里、语言包文件长什么样、如何改词或补一份新语言、如何用 Accept-Language 请求头做国际化接口测试以及常见故障的排查路径全部基于仓库真实代码与文件说明。语言选择到底存在哪里浏览器本地存储不是服务器很多人以为界面语言会同步到账号里实际上 Hoppscotch 把语言代码存在当前浏览器或桌面端 WebView的 localStorage中键名是locale。这意味着语言偏好跟随这台设备 这个浏览器换设备或换浏览器要重新选一次清除浏览器站点数据会丢失语言设置下次启动重新走自动检测网页版、桌面版、自托管版之间互不共享语言偏好对应实现可以查看 packages/hoppscotch-common/src/modules/i18n.ts 中的resolveCurrentLocale与changeAppLanguage两个函数。不选语言时Hoppscotch 按什么顺序决定界面语言启动时语言解析分三步优先级从高到低读取 localStorage 里的locale且该代码必须在语言注册表里比如zh-CN开头的环境会命中cn吗不会——见下一点读取浏览器navigator.language用前缀匹配找语言代码例如en-US能匹配到enzh-CN能匹配到cn都匹配不上时回落到英文en且英文永远作为兜底语言fallbackLocale: en注意匹配的是languages.json中的code字段不是iso字段。中文简体的 code 是cn所以系统语言zh-CN会命中cn而zh-TW命中tw繁体。手动切换界面语言最快的两条路径搜索菜单按CtrlKMac 上是CmdK打开命令菜单输入语言相关关键词选择目标语言即刻生效设置页左侧导航进入 Settings在语言Language一栏的下拉框里选择列表就是 languages.json 注册的全部语言切换后无需刷新页面语言文件是懒加载的选中时才从locales/目录拉取对应的 JSON。如果你希望团队每人默认中文最简单的做法就是让每位成员在各自浏览器里手动选一次——它本来就存在本地没有全局默认值可配。修改现有语言包的术语直接编辑 locales 下的 JSON所有翻译文件集中在 packages/hoppscotch-common/locales 目录一种语言一个文件例如中文简体是cn.json英文兜底是en.json。文件按功能模块分组结构大致是{ action: { add: 新增, cancel: 取消 }, auth: { login: 登录, logout: 登出 } }想统一术语比如把请求改成API 请求打开对应语言的 JSON全局搜索原词只改文案值不要动键名——组件靠键名取值保存后重新构建前端才生效若翻译里漏了新键界面会自动回落到英文不会白屏提示自托管部署的团队若想在私有分支里长期覆盖官方术语建议在拉取的代码上维护一个 patch每次升级后重新应用。补一份新语言包从复制 en.json 到注册 code当你要的语言不在列表里时完整流程如下官方说明见 TRANSLATIONS.md拉取代码git clone https://gitcode.com/GitHub_Trending/ho/hoppscotch基于main分支新建分支建议命名translation-语言代码复制packages/hoppscotch-common/locales/en.json为locales/code.json逐条翻译值保留原文中的 HTML 标签、{placeholder}占位符与换行在packages/hoppscotch-common/languages.json注册新语言{ code: fi, file: fi.json, iso: fi-FI, name: Suomalainen }本地跑起来确认界面可选、无英文漏网再提交 PR几个容易踩的点同一术语全文保持一致按钮文案尽量短界面空间有限右起书写语言如阿拉伯语ar在注册条目里额外声明dir: rtlHoppscotch 会据此反转布局全量翻译工作量很大可以先提交部分翻译的 PR 请社区接力官方允许未完成时先开 PR 讨论常用语言代码对照节选自 languages.json语言codeiso文件简体中文cnzh-CNcn.json繁體中文twzh-TWtw.json英语enen-USen.json日本語jaja-JAja.json한국어koko-KOko.jsonDeutschdede-DEde.jsonFrançaisfrfr-FRfr.jsonРусскийruru-RUru.jsonעברית希伯来语hehe-HEhe.jsonعربى阿拉伯语RTLarar-ARar.json用 Accept-Language 头验证接口的多语言返回i18n 界面语言之外Hoppscotch 还可以直接测试你的 API 在不同语言下的返回。Accept-Language是 HTTP 标准请求头服务器据此决定返回哪种语言的文案。方法一直接写死。在请求的 Headers 标签页添加一行Key: Accept-Language Value: zh-CN方法二用环境变量参数化。在环境管理里新建环境如多语言测试加一个变量accept_language zh-CN请求头里写{{accept_language}}。之后切换环境就等于切换测试语言批量跑不同语言版本时不用改请求。方法三带权重测试优先级。值支持质量系数例如en-GB,en;q0.9,zh-CN;q0.8表示首选英式英语、次选简体中文适合验证服务器在无法精确匹配时的降级逻辑。响应面板的 Headers 标签会原样回显accept-language方便确认请求确实按预期发出再配合 Raw 视图检查响应体中文案语言是否变化就能闭环验证。排查清单切换不生效、显示英文、文字乱码症状先查这里切了语言部分文案还是英文该语言包漏翻译。对照en.json同路径键值补上新版本引入的新键常是漏网原因明明选了中文启动仍是英文清过站点数据或换了浏览器——locale存在 localStorage需重选一次中文显示问号或方块文件必须保存为 UTF-8用任意 JSON 校验工具确认没有多余的逗号、引号导致整个文件加载失败改了 JSON 没看到变化源码构建需要重新 build已构建产物要确认打包产物确实包含新文件懒加载路径变了要核对列表里根本没有目标语言对照上文补一份新语言包流程新建或等社区 PR 合入后更新版本小结Hoppscotch 的国际化体系由三块拼成languages.json负责注册语言、locales/目录承载每份 JSON 翻译、localStorage 记住你的选择配合英文兜底保证任何组合下界面都能用。界面切换是分钟级的事补新语言包和改术语是小时级的事而 Accept-Language 测试则是把工具用到验证自家 API 本地化这一层。遇到行为与本文描述不一致或想补一份语言可以直接在仓库提 Issue / PR翻译协作说明都在 TRANSLATIONS.md。你目前用 Hoppscotch 测过哪些语言环境的接口欢迎在评论区分享你的 Accept-Language 测试组合。【免费下载链接】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),仅供参考