1.5.2 • Published 1 year ago
@http-status-codes/i18n-zh v1.5.2
🌐 @http-status-codes/i18n-zh
@http-status-codes/i18n-zh 是什么?
它提供了21种国家语言的 HTTP 状态码消息相关的信息📜,当你需要处理 HTTP 状态码相关事项的时候,可以试试它,非常简单。
🚀 支持:
- HttpStatusText 枚举,支持 英文常量 和 h{状态码数值}的方式获取状态码对应的原因短语。比如
HttpStatusText.OK或HttpStatusText.h200。 - HttpStatusDescription 枚举,支持 英文常量 和 h{状态码数值}的方式获取状态码对应的详细描述。比如
HttpStatusDescription.OK或HttpStatusDescription.h200。 - HttpStatusCode 枚举,支持 英文常量 和 h{状态码数值}的方式获取状态码对应的数值。 比如
HttpStatusCode.OK或HttpStatusCode.h200。 - 支持通过
isCodeOrTextValid来校验 状态码、状态码原因短语 是否有效。比如isCodeOrTextValid(200)或isCodeOrTextValid('OK')都为 true。 - 支持通过
getStatusInfo来获取指定状态码 或 状态码原因短语 所对应的完整 信息,比如 状态码、原因短语和详细描述、 是否成功等信息。 - 支持通过
isStatusSuccessful直接获取 当前状态码是否正常。 - 支持通过
getSimpleStatusMessage方法获取简单的状态码信息,比如200 OK。 - 支持通过
getStatusMessage方法获取指定状态码的简单信息,比如200 OK:The standard response for successful HTTP requests.。 - 支持通过
getStatusCode方法获取指定状态码的简单信息,比如getStatusCode('OK') -> 200。 - 支持通过
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
🚀 技术选型
- 我想用
nx快速开发,然后就用 nx 脚手架来快速生成项目工程 - 我想用
ts-morph来生成代码 - 我想用
飞书/多纬表格/字段捷径来进行 AI 翻译 - 我想用 XLSX 转 JSON,于是就用 翻译的表格来 生成 JSON 配置
- 我想用 JSON 转 Project,于是就用 JSON 配置来生成多语言的项目
🔥 优点
✂️ 轻量级: ES6、TS,扩展性好,兼容性好,多包支持,按需使用。
⚡ 强:支持多国语言,最多支持 21 个国家,依赖包支持多种资源格式 'cjs', 'esm', 'es', 'amd', 'iife', 'umd', 'system' ,多次压缩,压缩效果好。
⚙️ ️简单:有细粒度的api和粗粒度的api,使用起来非常方便。
📚 快速使用
只需要运行以下任意一条命令来正常安装,具体的安装命令以你当前项目中的依赖环境为准,默认使用 npm。
npm install @http-status-codes/i18n-zh
yarn add @http-status-codes/i18n-zh
pnpm i @http-status-codes/i18n-zhimport {
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