i18next中,几种远程加载语言包方式对比以及使用场景
| 插件名 | 作用 | 使用场景 | 是否远程 | 是否缓存 |
|---|---|---|---|---|
| i18next-http-backend | 加载远程语言包(如 CDN 或接口) | 从远程 URL 加载 JSON 语言包 | ✅ 是 | ❌ 否 |
| i18next-locize-backend | 对接 locize.com 语言服务 | 云端实时管理翻译 | ✅ 是 | ✅ 可配 |
| i18next-chained-backend | 链式加载多个 backend 插件 | 本地优先,本地失败再请求远程 | 取决于链 | 取决于链 |
| i18next-localstorage-backend | 把语言包缓存到浏览器 localStorage | 提高加载性能,节省网络请求 | ❌ 否(缓存) | ✅ 是 |
各插件详细说明
i18next-http-backend
最常用的后端,从远程 URL 拉语言包 JSON 文件,你可以把语言包上传到:CDN、GitHub Pages、服务器等
i18next-locize-backend
连接到 Locize 平台的后端(官方翻译管理 SaaS)
- 支持在线翻译编辑、自动上传未翻译 key
- 支持版本管理、多语言协作
i18next-chained-backend
把多个 backend 串起来按顺序加载,比如先加载缓存(localStorage),再尝试远程
- 常见组合:localStorage + http
- 可避免每次请求远程,提高性能
i18next-localstorage-backend
把语言包缓存到浏览器 localStorage,下次无需重新请求远程
- 与 chained-backend 搭配,提升加载速度
- 可以设置过期时间和版本控制
| 你想做什么 | 用哪个插件 |
|---|---|
| 只远程加载语言包 | i18next-http-backend ✅ |
| 云端翻译平台 + 编辑 + 自动上传 | i18next-locize-backend |
| 想先读缓存再远程 | i18next-chained-backend ✅ |
| 缓存语言包到浏览器 | i18next-localstorage-backend ✅ |
相关文档