您使用哪个包在 node.js 中使用 express 进行本地化?
谢谢!
node-localize可以和 express 一起工作。
根据您想要本地化的位置,jqtpl-express-i18n可以完成模板工作。
实际上我使用这个 NPM 包i18n
它与 Express 框架有一个非常简单的用法......创建语言环境文件夹(it.json、en.json 等......)
// load modules at bootstrap
var app = express();
var i18n = require("i18n");
//set configuration
i18n.configure({
locales:['en', 'de'],
directory: __dirname + '/server/locales'
});
app.use(i18n.init);
// and then, in controller we can use response
res__('YOUR_KEY')
前端只是将 HTTP 标头设置为Accept-Language
值 'en'、'it' 等。
您可以使用语言翻译库。它使用 json 文件来加载文本。你可以定义任何你想要的语言。
我在自己的项目中使用了localizify库,它很轻。
const localizify = require('localizify');
// ...
app.configure(() => {
app.use((request, response, next) => {
const lang = request.headers['accept-language'] || 'en';
localize.setLocale(lang);
next();
});
});