在Node.js中,要支持多语言显示,你可以使用第三方库,如i18next。以下是在Ubuntu上使用i18next实现多语言支持的步骤:
sudo apt update
sudo apt install nodejs npm
mkdir my-nodejs-app
cd my-nodejs-app
npm init -y
i18next和i18next-http-middleware:npm install i18next i18next-http-middleware
locales的文件夹,用于存放不同语言的翻译文件:mkdir locales
locales文件夹中创建翻译文件。例如,创建一个名为en.json的英文翻译文件和一个名为zh.json的中文翻译文件:// locales/en.json
{
"welcome": "Welcome to our application!"
}
// locales/zh.json
{
"welcome": "欢迎使用我们的应用程序!"
}
app.js的文件,并添加以下代码:const express = require('express');
const i18next = require('i18next');
const Backend = require('i18next-fs-backend');
const middleware = require('i18next-http-middleware');
const app = express();
i18next.use(Backend).use(middleware.LanguageDetector).init({
fallbackLng: 'en',
backend: {
loadPath: './locales/{{lng}}/{{ns}}.json'
}
}, (err, t) => {
if (err) return console.error(err);
app.get('/', (req, res) => {
res.send(t('welcome'));
});
app.listen(3000, () => {
console.log('Server is running on http://localhost:3000');
});
});
express:npm install express
node app.js
现在,当你访问http://localhost:3000时,应用程序将根据浏览器的语言设置显示相应的翻译。如果浏览器的语言设置为英语,将显示英文欢迎信息;如果浏览器的语言设置为中文,将显示中文欢迎信息。
这只是一个简单的示例,你可以根据需要扩展和自定义这个项目。更多关于i18next的信息和配置选项,请参考官方文档:https://www.i18next.com/