Интернационализация в Node.js, Express, i18n - PullRequest
8 голосов
/ 16 января 2012

Я использую Node.js вместе с Express Framework и i18n module . Поэтому я использую

var i18n = require('i18n');
app.configure(function() {
    [...]
    app.use(i18n.init);
    app.use(app.router);
});

в настройках моего приложения. Все работает нормально, но мне действительно нужно заставить i18n использовать нужный мне язык. Сценарий таков: когда пользователь не вошел в систему, i18n ищет язык в заголовке accept-language, и это нормально. Но когда пользователь вошел в систему, я хочу сохранить выбранный язык где-то в настройках пользователя, извлечь его и заставить модуль i18n использовать этот язык. Как это сделать (если я уже знаю, как сохранить / извлечь язык в / из БД)?

Ответы [ 2 ]

12 голосов
/ 16 января 2012

Ах, прости. Я должен немного подождать и осмотреть модуль i18n. Кажется, что модуль обеспечивает функции

i18n.getLocale();

, который извлекает текущий язык и

i18n.setLocale('en');

, который устанавливает локаль, как мы хотим. Документация действительно должна упомянуть об этом. Это важно, я надеюсь, что ответ поможет кому-то. :)

1 голос
/ 16 января 2012

Это было только что выпущено вчера, но похоже, что оно решит проблему, с которой вы столкнулись: locale

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...