加载中…
多语言包 lang

模块说明

lang 返回当前站点语言的全量译文键值对({ "键": "译文" }),供客户端构建本地文案字典。服务端按内容指纹下发 ETag 与长缓存头,客户端配合 If-None-Match 可让二次请求直接 304 无体响应。

鉴权级别:可选(匿名可调)。

接口一览

方法 URL 鉴权 说明
GET /api/lang 可选 获取当前语言全量译文

请求

无参数。

GET /api/lang

配合缓存协商:

GET /api/lang
If-None-Match: "abcdef123456"

响应

{
  "code": "OK",
  "message": "",
  "data": {
    "user_login": "会员登录",
    "user_password": "密码",
    "order_submit": "提交订单"
  },
  "errors": {},
  "request_id": "9f2a5c8e1b3d7f40"
}

响应头(成功 200):

Cache-Control: public, max-age=31536000, immutable
ETag: "abcdef123456"
  • 内容是 bootstrap.lang_v 的完整版:lang_v 未变时无需重新请求;变了才请求本接口;
  • 请求头带与当前缓存一致的 If-None-Match 时,服务端返回 304 Not Modified(无响应体),客户端继续使用本地副本;
  • 响应体可能变化(译文更新后 ETag 翻转),因此不要跨 lang_v 缓存复用。

注意事项

  • 本接口返回全量译文,数据量较大,务必依赖缓存机制,不要每次启动都请求;
  • 译文内容与前台/后台同源(语言包文件),新增语言时接口自动切换(以站点当前语言为准);
  • 键名不保证稳定(随版本增删),客户端只需按需取值,不应对键名做结构性假设。
添加日期:2026-10-06