express-intlayer: 将 Express.js 应用程序国际化 (i18n) 的 JavaScript 包
Intlayer 是专为 JavaScript 开发人员设计的一套软件包。它兼容 React、Next.js 和 Express.js 等框架。
express-intlayer 包 允许您对您的 Express.js 应用程序进行国际化。它提供了一个中间件来检测用户的首选语言,并返回适合该用户的字典。
为什么要国际化您的后端?
国际化您的后端对于有效地为全球观众提供服务至关重要。它允许您的应用程序以每个用户的首选语言提供内容和消息。此功能提高了用户体验,并通过使应用程序更易于访问和与不同语言背景的人们更相关,扩大了您的应用程序的覆盖面。
实用用例
以用户的语言显示后端错误:当发生错误时,以用户的母语显示消息可以改善理解并减少挫败感。这对于可能在前端组件(如 toast 或模态框)中显示的动态错误消息特别有用。
检索多语言内容:对于从数据库提取内容的应用程序,国际化确保您可以以多种语言提供此内容。这对于需要以用户首选语言显示产品描述、文章和其他内容的电子商务网站或内容管理系统至关重要。
发送多语言电子邮件:无论是交易电子邮件、营销活动还是通知,以收件人的语言发送电子邮件可以显著提高互动性和有效性。
多语言推送通知:对于移动应用程序,以用户首选语言发送推送通知可以增强互动性和留存率。这种个性化的方式可以使通知感觉更相关和可操作。
其他通信:从后端发出的任何形式的通信,例如 SMS 消息、系统警报或用户界面更新,都能受益于用户的语言,从而确保清晰性并增强整体用户体验。
通过国际化后端,您的应用程序不仅尊重文化差异,还更好地与全球市场需求保持一致,从而成为将您的服务扩展到全球的关键步骤。
为什么要集成 Intlayer?
- 类型安全环境:利用 TypeScript 确保您的所有内容定义都是精准和无误的。
安装
使用您偏好的包管理器安装必要的软件包:
npm install express-intlayer
yarn add express-intlayer
pnpm add express-intlayer
配置 Intlayer
Intlayer 提供了一个配置文件来设置您的项目。将该文件放置在项目的根目录中。
import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = { internationalization: { locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH], defaultLocale: Locales.ENGLISH, },};export default config;
有关可用参数的完整列表,请参阅 配置文档。
使用示例
设置您的 Express 应用程序以使用 express-intlayer:
import express, { type Express } from "express";import { intlayer, t } from "express-intlayer";const app: Express = express();// 加载国际化请求处理程序app.use(intlayer());// 路由app.get("/", (_req, res) => { res.send( t({ en: "Example of returned content in English", fr: "Exemple de contenu renvoyé en français", "es-ES": "Ejemplo de contenido devuelto en español (España)", "es-MX": "Ejemplo de contenido devuelto en español (México)", }) );});// 启动服务器app.listen(3000, () => console.log(`Listening on port 3000`));
兼容性
express-intlayer 完全兼容:
- react-intlayer 用于 React 应用程序
- next-intlayer 用于 Next.js 应用程序
- vite-intlayer 用于 Vite 应用程序
它也可以与各种环境中的任何国际化解决方案无缝协作,包括浏览器和 API 请求。您可以自定义中间件以通过标头或 cookies 检测语言:
import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = { // ... 其他配置选项 middleware: { headerName: "my-locale-header", cookieName: "my-locale-cookie", },};export default config;
根据默认设置,express-intlayer 将解读 Accept-Language 标头以确定客户端首选语言。
express-intlayer 包提供的功能
如果您有改善此文档的想法,请随时通过在GitHub上提交拉取请求来贡献。
文档的 GitHub 链接