HTTP status codes i18n
npm install @http-status-codes/i18n-zh
它提供了21种国家语言的 HTTP 状态码消息相关的信息📜,当你需要处理 HTTP 状态码相关事项的时候,可以试试它,非常简单。
🚀 支持:
- [x] HttpStatusText 枚举,支持 英文常量 和 h{状态码数值}的方式获取状态码对应的原因短语。比如 HttpStatusText.OK 或 HttpStatusText.h200。
- [x] HttpStatusDescription 枚举,支持 英文常量 和 h{状态码数值}的方式获取状态码对应的详细描述。比如 HttpStatusDescription.OK 或 HttpStatusDescription.h200。
- [x] HttpStatusCode 枚举,支持 英文常量 和 h{状态码数值}的方式获取状态码对应的数值。 比如 HttpStatusCode.OK 或 HttpStatusCode.h200。
- [x] 支持通过 isCodeOrTextValid 来校验 状态码、状态码原因短语 是否有效。比如 isCodeOrTextValid(200) 或 isCodeOrTextValid('OK') 都为 true。
- [x] 支持通过 getStatusInfo 来获取指定状态码 或 状态码原因短语 所对应的完整 信息,比如 状态码、原因短语和详细描述、 是否成功等信息。
- [x] 支持通过 isStatusSuccessful 直接获取 当前状态码是否正常。
- [x] 支持通过 getSimpleStatusMessage 方法获取简单的状态码信息,比如 200 OK。
- [x] 支持通过 getStatusMessage 方法获取指定状态码的简单信息,比如 200 OK:The standard response for successful HTTP requests.。
- [x] 支持通过 getStatusCode 方法获取指定状态码的简单信息,比如 getStatusCode('OK') -> 200。
- [x] 支持通过 getStatusText 方法获取指定状态码的原因短语,比如 getStatusText(200) -> 'OK'。
http-status-codes 库本身并不支持国际化(i18n)🌍,而我的项目中需要支持一下,问了 GPT 有哪些库可以满足我的需求,它胡说八道,告诉我有一个 @http-status-codes/i18n,但最终没有找到这个所谓的 @http-status-codes/i18n,于是我做了它~
- https://github.com/nodejs/node/blob/main/lib/_http_server.js
- https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#1xx_informational_response
- https://kapeli.com/cheat_sheets/HTTP_Status_Codes.docset/Contents/Resources/Documents/index
- https://datatracker.ietf.org/doc/html/rfc7231#section-6.2.1
1. 我想用 nx 快速开发,然后就用 nx 脚手架来快速生成项目工程
2. 我想用 ts-morph 来生成代码
3. 我想用 飞书/多纬表格/字段捷径 来进行 AI 翻译
4. 我想用 XLSX 转 JSON,于是就用 翻译的表格来 生成 JSON 配置
5. 我想用 JSON 转 Project,于是就用 JSON 配置来生成多语言的项目
✂️ 轻量级: ES6、TS,扩展性好,兼容性好,多包支持,按需使用。
⚡ 强:支持多国语言,最多支持 21 个国家,依赖包支持多种资源格式 'cjs', 'esm', 'es', 'amd', 'iife', 'umd', 'system' ,多次压缩,压缩效果好。
⚙️ ️简单:有细粒度的api和粗粒度的api,使用起来非常方便。
只需要运行以下任意一条命令来正常安装,具体的安装命令以你当前项目中的依赖环境为准,默认使用 npm。
``bash`
npm install @http-status-codes/i18n-zh
yarn add @http-status-codes/i18n-zh
pnpm i @http-status-codes/i18n-zh
`javascript
import {
getSimpleStatusMessage,
getStatusMessage,
getStatusText,
} from "@http-status-codes/i18n-zh";
getStatusText(HttpStatusCode.OK) // OK
getSimpleStatusMessage(HttpStatusCode.OK) // 200 OK
getStatusMessage(HttpStatusCode.OK) // 200 OK:The standard response for successful HTTP requests.
``
| API | Result |
| ------------------------------------------------- | ------------------------------------------------------------------------ |
| HttpStatusCode.ACCEPTED | 202 |
| HttpStatusCodeByCode.h100 | 100 |
| HttpStatusText.OK | OK |
| HttpStatusTextByCode.h200 | OK |
| HttpStatusDescription.ACCEPTED | 已接受:请求已被接受但尚未处理完毕。此代码不保证请求会成功处理。 |
| HttpStatusDescriptionByCode.h200 | 成功:标准的成功 HTTP 请求响应。 |
| isCodeOrTextValid(200) | true |
| isCodeOrTextValid('OK') | true |
| isCodeOrTextValid(HttpStatusCodeByCode.h100) | true |
| isCodeOrTextValid(HttpStatusCode.ACCEPTED) | true |
| isCodeOrTextValid(HttpStatusText.OK) | true |
| isCodeOrTextValid(HttpStatusTextByCode.h200) | true |
| getStatusInfo(200) | {"code":200,"message":"成功:标准的成功 HTTP 请求响应。","success":true} |
| getStatusInfo('OK') | {"code":200,"message":"成功:标准的成功 HTTP 请求响应。","success":true} |
| getStatusInfo(HttpStatusCodeByCode.h100) | {"code":100,"message":"继续:服务器已经收到请求头,客户端应继续发送请求主体。","success":true} |
| getStatusInfo(HttpStatusCode.ACCEPTED) | {"code":202,"message":"已接受:请求已被接受但尚未处理完毕。此代码不保证请求会成功处理。","success":true} |
| getStatusInfo(HttpStatusText.OK) | {"code":200,"message":"成功:标准的成功 HTTP 请求响应。","success":true} |
| getStatusInfo(HttpStatusTextByCode.h200) | {"code":200,"message":"成功:标准的成功 HTTP 请求响应。","success":true} |
| isStatusSuccessful(200) | true |
| isStatusSuccessful('OK') | true |
| isStatusSuccessful(HttpStatusCodeByCode.h100) | true |
| isStatusSuccessful(HttpStatusCode.ACCEPTED) | true |
| isStatusSuccessful(HttpStatusText.OK) | true |
| isStatusSuccessful(HttpStatusTextByCode.h200) | true |
| getSimpleStatusMessage(200) | 200 成功 |
| getSimpleStatusMessage('OK') | 200 成功 |
| getSimpleStatusMessage(HttpStatusCodeByCode.h100) | 100 继续 |
| getSimpleStatusMessage(HttpStatusCode.ACCEPTED) | 202 已接受 |
| getSimpleStatusMessage(HttpStatusText.OK) | 200 成功 |
| getSimpleStatusMessage(HttpStatusTextByCode.h200) | 200 成功 |
| getStatusMessage(200) | 200 成功:标准的成功 HTTP 请求响应。 |
| getStatusMessage('OK') | 200 成功:标准的成功 HTTP 请求响应。 |
| getStatusMessage(HttpStatusCodeByCode.h100) | 100 继续:服务器已经收到请求头,客户端应继续发送请求主体。 |
| getStatusMessage(HttpStatusCode.ACCEPTED) | 202 已接受:请求已被接受但尚未处理完毕。此代码不保证请求会成功处理。 |
| getStatusMessage(HttpStatusText.OK) | 200 成功:标准的成功 HTTP 请求响应。 |
| getStatusMessage(HttpStatusTextByCode.h200) | 200 成功:标准的成功 HTTP 请求响应。 |
| getStatusCode('OK') | 200 |
| getStatusCode(HttpStatusText.OK) | 200 |
| getStatusCode(HttpStatusTextByCode.h200) | 200 |
| getStatusText(200) | OK |
| getStatusText(HttpStatusCodeByCode.h100) | Continue |
| getStatusText(HttpStatusCode.ACCEPTED) | Accepted |
我希望能够有一个简单的展示页面,可以展示当前的状态码信息,以及对应的详细描述,这样可以方便用户查看。\
目前可以先看看代码:https://github1s.com/aiyoudiao/http-status-codes-i18n/blob/HEAD/packages/i18n-en/src/lib/helpers.ts
| 标题 | 描述 | 源码 | 包名 |
| ------- | -------------------- | ----------- | -------------------------- |
| zh | 中文 | packages/i18n-zh | @http-status-codes/i18n-zh |
| en | 英文 | packages/i18n-en | @http-status-codes/i18n-en |
| ja | 日语 | packages/i18n-ja | @http-status-codes/i18n-ja |
| th | 泰语 | packages/i18n-th | @http-status-codes/i18n-th |
| hi | 印地语 | packages/i18n-hi | @http-status-codes/i18n-hi |
| id | 印度尼西亚语 | packages/i18n-id | @http-status-codes/i18n-id |
| zh-hant | 繁体中文 | packages/i18n-zh-hant | @http-status-codes/i18n-zh-hant |
| fr | 法语 | packages/i18n-fr | @http-status-codes/i18n-fr |
| es | 西班牙语 | packages/i18n-es | @http-status-codes/i18n-es |
| pt | 葡萄牙语 | packages/i18n-pt | @http-status-codes/i18n-pt |
| ko | 韩语 | packages/i18n-ko | @http-status-codes/i18n-ko |
| vi | 越南语 | packages/i18n-vi | @http-status-codes/i18n-vi |
| ru | 俄语 | packages/i18n-ru | @http-status-codes/i18n-ru |
| de | 德语 | packages/i18n-de | @http-status-codes/i18n-de |
| it | 意大利语 | packages/i18n-it | @http-status-codes/i18n-it |
| ar | 阿拉伯语 | packages/i18n-ar | @http-status-codes/i18n-ar |
| pl | 波兰语 | packages/i18n-pl | @http-status-codes/i18n-pl |
| tl | 塔加路语(菲律宾语) | packages/i18n-tl | @http-status-codes/i18n-tl |
| ms | 马来语 | packages/i18n-ms | @http-status-codes/i18n-ms |
| tr | 土耳其语 | packages/i18n-tr | @http-status-codes/i18n-tr |
| hu | 匈牙利语 | packages/i18n-hu | @http-status-codes/i18n-hu |