Angularjs Nodejs:使用i18n-2客户端或服务器端或两者
我正在nodejs中开发一个项目,我想为语言翻译添加一个功能 在互联网上查看时,我看到了两个看起来不错的选项(i18n和i18n-2) 我已经在我的服务器端添加了正确的代码来配置它 在express.js中Angularjs Nodejs:使用i18n-2客户端或服务器端或两者,angularjs,node.js,internationalization,locale,Angularjs,Node.js,Internationalization,Locale,我正在nodejs中开发一个项目,我想为语言翻译添加一个功能 在互联网上查看时,我看到了两个看起来不错的选项(i18n和i18n-2) 我已经在我的服务器端添加了正确的代码来配置它 在express.js中 var i18n = require('i18n-2'); i18n.expressBind(app, { // setup some locales - other locales default to vi silently locales: ['es', 'en'], // set
var i18n = require('i18n-2');
i18n.expressBind(app, {
// setup some locales - other locales default to vi silently
locales: ['es', 'en'],
// set the default locale
defaultLocale: 'en',
// set the cookie name
cookieName: 'locale',
extension: ".json"
});
app.use(function(req, res, next) {
req.i18n.setLocaleFromQuery();
req.i18n.setLocaleFromCookie();
next();
});
因此,如果在同一个文件中,我把这段代码放在下面,假设它是用英语打印的,因为defaultLocale是用西班牙语打印的
var i18n2 = new (require('i18n-2'))({
locales: ['es', 'en'],
// set the default locale
defaultLocale: 'en',
// set the cookie name
cookieName: 'locale',
extension: ".json"
});
console.log("Mensaje de i18n");
console.log( i18n2.__("hola") );
除了这个问题,我想知道如何将这个i18n变量发送到客户端,以便在模板视图中使用它,或者如果我必须创建另一个变量
问候语问题是在对象初始化期间未使用defaultLocale选项。您可以检查这个库是如何运行的。只是从locales数组中获取第一个el。因此,如果您将“en”语言放在第一位,它将正常工作