Never-ending Pumpkin Mulch

    express-adam-locale

    0.1.2 • Public • Published

    express-adam-locale

    Simple Multi Language Middleware for Express.

    Installation

    $ npm install express-adam-locale --save

    Example

    app.js:

    var Path = require('path');
    var express = require('express');
    var EAL = require('../index');
    var session = require('express-session');
    var app = express();
     
    app.use(session({ 
        secret: 'express-adam-locale'
    }));
     
    /* i18n */
    app.use(EAL({
        path: Path.resolve(__dirname, 'i18n'),
        supported:[{
            code:'en-us',
            lang:'English'
        }, {
            code:'zh-cn',
            lang:'中文简体'
        }]
    }, app));
     
    /* templating */
    app.set('view engine', 'ejs');
    app.set('views', __dirname + '/views');
    app.engine('html', require('ejs').renderFile);
     
    /* page */
    app.get('/', function(req, res){
        res.render('locale');
    });
     
    app.listen(process.argv[2])

    i18n/en-us.json

    {
        "hello": "hello",
        "world": "world"
    }

    views/locale.ejs

    <p><%= _i18n_.hello %>, <%= _i18n_.world %>.</p>
    <p>current:<%= _i18n_current_ %>.</p>
    <% for(var i in _i18n_supported_) { %>
    <a href='/set_locale?lang=<%= _i18n_supported_[i].code %>'>
        switch to <%= _i18n_supported_[i].lang %>
    </a> 
    <% } %>

    Options

    path {String}

    The folder path of i18n files

    supported {Array}

    The supported languages. default value: [{code:'en-us', lang:'English'},{code:'zh-cn', lang:'简体中文'}]

    Example:

    app.use(EAL({
      path: Path.resolve(__dirname, 'i18n'),
      supported: [{code:'en-us', lang:'English'},{code:'zh-cn', lang:'简体中文'}]
    }, app));

    default {String}

    Default language

    set_url {String}

    The url to switch current language. default value: /set_locale

    Example:

    app.use(EAL({
      path: Path.resolve(__dirname, 'i18n'),
      set_url: '/set_locale'
    }, app));
     

    Then you can set current language by request url like this '/set_locale?lang=en-us'

    Local Params

    The following three params are set to res.locals

    • res.locals._i18n_ {Object}
    • res.locals._i18n_current_ {String}
    • res.locals._i18n_supported_ {Array}

    Debug

    Set the DEBUG environment variable to express-adam-locale when starting your server.

    $ DEBUG=express-adam-locale

    License

    MIT

    Keywords

    none

    Install

    npm i express-adam-locale

    DownloadsWeekly Downloads

    2

    Version

    0.1.2

    License

    MIT

    Last publish

    Collaborators

    • meikidd