We are about to start building our web app in Node.js and I would like to be ready for i18n so I'm looking for your experience with building Node.js apps where the text is translatable.
我们即将开始在Node.js中构建我们的Web应用程序,我想为i18n做好准备,所以我正在寻找构建可以翻译文本的Node.js应用程序的经验。
Preferably I'd like to use a tool like Pootle via Git or other if you have any recommendations.
如果您有任何建议,我最好使用像Pootle通过Git或其他工具。
1 个解决方案
#1
8
There are a number of i18n modules you can use in your application, but you can create your own if you want.
您可以在应用程序中使用许多i18n模块,但如果需要,您可以创建自己的模块。
For example create a folder /languages and inside it create en.js, fr.js etc
例如,创建一个文件夹/语言,在其中创建en.js,fr.js等
it.js
it.js
module.exports = {
"name": "nome",
"age": "eta",
.. etc
}
The important thing is to set a default language and make a language select bar somewhere in your site. When the user chooses another language (and not English) in your app you do something like this:
重要的是设置默认语言并在站点的某个位置创建语言选择栏。当用户在您的应用中选择其他语言(而非英语)时,您可以执行以下操作:
app.get('/lang/:ln', function (req, res, next) {
// remember the user's chosen language
req.session.language = req.params.ln;
});
Then you can have a language helper function like so:
然后你可以有一个语言帮助函数,如下所示:
translate = function (language, text) {
// language array contains all the languages
return language_array[language].text;
}
// example: translate(req.session.language, "age")
#1
8
There are a number of i18n modules you can use in your application, but you can create your own if you want.
您可以在应用程序中使用许多i18n模块,但如果需要,您可以创建自己的模块。
For example create a folder /languages and inside it create en.js, fr.js etc
例如,创建一个文件夹/语言,在其中创建en.js,fr.js等
it.js
it.js
module.exports = {
"name": "nome",
"age": "eta",
.. etc
}
The important thing is to set a default language and make a language select bar somewhere in your site. When the user chooses another language (and not English) in your app you do something like this:
重要的是设置默认语言并在站点的某个位置创建语言选择栏。当用户在您的应用中选择其他语言(而非英语)时,您可以执行以下操作:
app.get('/lang/:ln', function (req, res, next) {
// remember the user's chosen language
req.session.language = req.params.ln;
});
Then you can have a language helper function like so:
然后你可以有一个语言帮助函数,如下所示:
translate = function (language, text) {
// language array contains all the languages
return language_array[language].text;
}
// example: translate(req.session.language, "age")