- 以下のような仕様を想定する。
- デフォルト
- PCで設定している言語を使用。
- [インターネットオプション] → [言語] → [言語の優先順位の設定] → [Windowsの表示言語] で設定。
 
- ログイン後
- ログインユーザに紐づく言語設定に基づき表示言語を制御する。
- 以下では省略しているが、req.session.locale を変更すると任意のタイミングから言語切替えが出来るイメージ。
 
 
- デフォルト
- i18nをインストールする
npm install i18n --save
- 全般的な設定
appSetting.js
var i18n = require('i18n');
...
/**
 * req.session.locale の言語設定で表示言語を切替える
 */
var setI18n = function (req, res, next) {
    if (req.session.locale) {
        i18n.setLocale(req, req.session.locale);
    }
    next();
}
...
// i18n setup.
i18n.configure({
    locales: ['ja', 'en'],
    defaultLocale: 'ja',
    directory: __dirname + '/locales',
    objectNotation: true
});
app.use(i18n.init);
...
- localesディレクトリを作成して、その下に言語に応じた辞書ファイルを置く。
locales/ja.json
{
	"common": {
		"title": "XXXXシステム"
	},
}
locales/en.json
{
	"common": {
		"title": "XXXX System"
	},
}
- jade 上の記述
- 以下のように json の key を設定する。
 
xxx.jade
# {__('common.title')}