node.js i18n:使用 __ 还是导入?
node.js i18n: Use __ or import?
我是 i18n
的新手,并且有一个使用它的现有存储库。我注意到在整个存储库中使用 i18n 的语法不同,我想知道什么是最好的方法。
我对下面的结构和哪个语法选项最好感到困惑(我认为最好与语法保持一致并且只使用一个选项)。有人可以解释一下吗?
我在控制器中发现:
var responses = require('../../locales/en.json');
let message = responses.authorisation.flashes['welcome'];
return res.status(200).json({
success: true,
message,
token,
user: userData
});
在中间件中语法如下:
req.flash('error', req.__('organisation.not-found'));
在 app.js
中我发现:
const flash = require('connect-flash');
const flashMiddleware = require('./middleware/flashMiddleware');
const i18n = require('i18n');
i18n.configure({
locales: [
'en', 'nl'
],
register: global,
directory: path.join(__dirname, 'locales'),
defaultLocale: 'en',
objectNotation: true,
updateFiles: false
});
flashMiddleware.js
包含(我不确定这是做什么的):
const flashMiddleware = (req, res, next) => {
res.locals.flashes = req.flash();
next();
};
module.exports = flashMiddleware;
您的第一个和最后一个代码块似乎根本没有使用 i18n
。相反,第一个代码块正在为 en
加载 JSON 并直接使用它。不清楚 flash 正在使用什么,我在该代码中没有看到任何本地化内容。
在 req
上使用 __
的中间件语法似乎是您在中间件中使用此库的标准方式。
中详细介绍了其他使用方法
我是 i18n
的新手,并且有一个使用它的现有存储库。我注意到在整个存储库中使用 i18n 的语法不同,我想知道什么是最好的方法。
我对下面的结构和哪个语法选项最好感到困惑(我认为最好与语法保持一致并且只使用一个选项)。有人可以解释一下吗?
我在控制器中发现:
var responses = require('../../locales/en.json');
let message = responses.authorisation.flashes['welcome'];
return res.status(200).json({
success: true,
message,
token,
user: userData
});
在中间件中语法如下:
req.flash('error', req.__('organisation.not-found'));
在 app.js
中我发现:
const flash = require('connect-flash');
const flashMiddleware = require('./middleware/flashMiddleware');
const i18n = require('i18n');
i18n.configure({
locales: [
'en', 'nl'
],
register: global,
directory: path.join(__dirname, 'locales'),
defaultLocale: 'en',
objectNotation: true,
updateFiles: false
});
flashMiddleware.js
包含(我不确定这是做什么的):
const flashMiddleware = (req, res, next) => {
res.locals.flashes = req.flash();
next();
};
module.exports = flashMiddleware;
您的第一个和最后一个代码块似乎根本没有使用 i18n
。相反,第一个代码块正在为 en
加载 JSON 并直接使用它。不清楚 flash 正在使用什么,我在该代码中没有看到任何本地化内容。
在 req
上使用 __
的中间件语法似乎是您在中间件中使用此库的标准方式。