Как вы используете i18n с Node.js? - PullRequest
9 голосов
/ 23 января 2012

Мы собираемся приступить к созданию нашего веб-приложения в Node.js, и я хотел бы быть готовым к i18n, поэтому я ищу ваш опыт создания приложений Node.js, где текст переводим.

Желательно использовать такой инструмент, как Pootle через Git или другой, если у вас есть какие-либо рекомендации.

1 Ответ

10 голосов
/ 23 января 2012

Существует несколько модулей i18n , которые вы можете использовать в своем приложении, но вы можете создать свой собственный, если хотите.

Например, создайте папку / languages ​​и внутри нее создайте en.js, fr.js и т. Д.

it.js

module.exports = {
  "name": "nome",
  "age": "eta",
  .. etc
}

Важно установить язык по умолчанию и сделать панель выбора языка где-нибудь на вашем сайте. Когда пользователь выбирает другой язык (а не английский) в вашем приложении, вы делаете что-то вроде этого:

app.get('/lang/:ln', function (req, res, next) {
  // remember the user's chosen language
  req.session.language = req.params.ln;
});

Тогда у вас может быть вспомогательная функция языка, например:

translate = function (language, text) {
  // language array contains all the languages
  return language_array[language].text;
}
// example: translate(req.session.language, "age")
...