如何在Node.js Koa2和EJS中支持多语言

雨邦

我尝试编写一个网页,它应该支持多语言, index.js

const Koa = require('koa');
const views = require('koa-views');
const path = require('path');
app.use(views(path.join(__dirname, './view'), {
    extension: 'ejs'
}));

app.use( async ( ctx ) => {
let title;
//some codes
if(language == "en") { //if the language is English
    title="Title";
}
else if(language == "de") { //if the language is German
    title="Titel";
}
await ctx.render('index', {
    title
});
});
app.listen(3000, ()=>{
  console.log('app runs on port 3000');
});

index.ejs

 <%=title%>

然后运行此代码,它将很好地显示,现在我想language.json向该项目添加语言包

{
"en":  {
    "site":  {
        "title":  "Title"
    }
},
"de": {
    "site":  {
        "title":  "Titel"
    }
 }
}

那么我应该如何改变index.jsindex.ejs

科迪G
const Koa = require('koa');
const views = require('koa-views');
const path = require('path');
app.use(views(path.join(__dirname, './view'), {
    extension: 'ejs'
}));



const siteTitleLibrary = {
"en":  {
    "site":  {
        "title":  "Title"
    }
},
"de": {
    "site":  {
        "title":  "Titel"
    }
 }
};
// or 
// const siteTitleLibrary = require('language.json');

app.use( async ( ctx ) => {
await ctx.render('index', {
  site: siteTitleLibrary[language]
});
});
app.listen(3000, ()=>{
  console.log('app runs on port 3000');
});

然后在您的ejs中使用 <%=site.title%>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在多语言网站的JS中翻译单词?

如何通过 api 调用在 react js 中添加多语言支持?

如何在多语言asp.net MVC网站中支持带或不带URL语言的路由

使用JavaScript和Node.js创建多语言网站

如何在GSON中(在Json和Java Object之间)支持多语言?

如何在React中延迟加载js文件(对于多语言应用程序)

如何在使用validator.js检查.isAlpha时包含许多语言环境

如何在Koa中正确使用Redis(node.js)

如何配置 Angular 应用程序以支持多语言

如何在 virtualenv 中安装 node.js 和 bower

如何在Angularjs和Node.js之间建立关联?

如何在Node.js和Mongodb中包含搜索

如何在Node.js和Java之间建立通信?

如何在Node.js中使用If语句和for循环?

如何在Node.js和Express中使用PATCH

如何在 Node Js 和 Mongodb 中监听数据变化

如何在 node 和 expressjs 中使用 nuxt.js

如何在Qt多语言支持中映射正确的语言?

如何在node.js和ejs的for循环内使用render

如何使用纯html,js,jquery建立多语言网站?

如何在Monaco Editor中实现更多语言支持?

Angular:如何在Angular4中启用多语言支持

如何在安卓应用中提供多语言支持

如何在node.js + Express中同时支持json和jsonp响应?

如何在Ubuntu 14.04中完全卸载Node.js,npm和node

如何在node.js(express.js)中获得浏览器语言?

如何使网站多语言

会话如何在Express.js和Node.js中工作?

如何在同一存储库上使用React.js和Node.js