express使用i18n实现国际化

简介: express使用i18n实现国际化

文档 https: //www.npmjs.com/package/i18n

文件目录

.
├── index.js
├── locales
│   ├── en.json
│   └── zh.json
└── package.json

1、默认通过浏览器语言判断

2、可以通过查询参数指定语言

http: //localhost:8000/?lang=zh

index.js

var express = require('express'),

i18n = require("i18n");

const app = express()

// 语言配置
i18n.configure({
locales: ['en', 'zh'], // 声明包含语言
directory: __dirname + '/locales', // 设置语言文件目录
queryParameter: 'lang', // 设置查询参数
defaultLocale: 'en', // 设置默认语言
});

// 初始化
app.use(i18n.init)


app.get('/', function (req, res) {
console.log(req.getLocale());
var hello = res.__('Hello'); // --> Hallo`
return res.send(hello)
});


app.listen(8000, () => {
console.log("runing: http://localhost:8000/");
})

package.json

{
"scripts": {
"start": "node index.js",
"dev": "nodemon index.js"
},
"dependencies": {
"express": "^4.17.1",
"i18n": "^0.9.0",
"nodemon": "^2.0.3"
}
}

locales/en.json

{
"Hello": "Hello"
}

locales/zh.json

{
"Hello": "你好"
}
            </div>
目录
相关文章
|
6月前
|
算法 Java 测试技术
Java 从入门到实战完整学习路径与项目实战指南
本文详细介绍了“Java从入门到实战”的学习路径与应用实例,涵盖基础、进阶、框架工具及项目实战四个阶段。内容包括环境搭建、语法基础、面向对象编程,数据结构与算法、多线程并发、JVM原理,以及Spring框架等核心技术。通过学生管理系统、文件下载器和博客系统等实例,帮助读者将理论应用于实践。最后,提供全链路电商系统的开发方案,涉及前后端技术栈与分布式架构。附代码资源链接,助力成为合格的Java开发者。
267 4
|
前端开发 JavaScript 安全
如何在 React Native 中实现热更新?
如何在 React Native 中实现热更新?
1237 64
|
9月前
|
数据采集 资源调度 JavaScript
极致的灵活度满足工程美学:用Vue Flow绘制一个完美流程图
本文介绍了使用 Vue Flow 绘制流程图的方法与技巧。Vue Flow 是一个灵活强大的工具,适合自定义复杂的流程图。文章从环境要求(Node.js v20+ 和 Vue 3.3+)、基础入门案例、自定义功能(节点与连线的定制、事件处理)到实际案例全面解析其用法。重点强调了 Vue Flow 的高度灵活性,虽然预定义内容较少,但提供了丰富的 API 支持深度定制。同时,文中还分享了关于句柄(handles)的使用方法,以及如何解决官网复杂案例无法运行的问题。最后通过对比 mermaid,总结 Vue Flow 更适合需要高度自定义和复杂需求的场景,并附带多个相关技术博客链接供进一步学习。
|
人工智能 JSON Serverless
AI “黏土画风”轻松拿捏,手把手带你云端部署 ComfyUI
ComfyUI 是一款基于节点工作流稳定扩散算法的全新 WebUI,相对于传统的 WebUI,ComfyUI 的部署和学习曲线较陡峭,函数计算基于 Serverless 应用中心开发“ComfyUI 应用模版”,简化开发者的部署流程,帮助简单、快捷实现全新而精致的绘画体验,点击本文查看一键部署 ComfyUI 的方法。
20082 7
|
缓存 前端开发 JavaScript
React中怎么实现状态自动保存(KeepAlive)?
React中怎么实现状态自动保存(KeepAlive)?
592 0
|
JavaScript 前端开发 C++
vscode编辑器中如何调试nextjs代码
代码可调式的重要性不言而喻。 对于Programer来说,自己编写的程序能够被优雅调试是一件幸福的事情,特别是习惯了后端程序调试的开发者... 在折腾Nextjs项目的日子里,我走了很多弯路才弄明白在vs code中如何优雅的调试代码。
1346 1
vscode编辑器中如何调试nextjs代码
|
缓存 安全 应用服务中间件
Nginx:关于实现跨域代理
Nginx:关于实现跨域代理
2029 1
Element UI【级联选择器】el-cascader 获取选中内容的 label 数据,鼠标悬浮显示超长内容
Element UI【级联选择器】el-cascader 获取选中内容的 label 数据,鼠标悬浮显示超长内容
1901 3
|
JavaScript
js中for of遍历数组获取index的方法
js中for of遍历数组获取index的方法
644 0