Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including express-langs with all npm packages installed. Try it out:

var expressLangs = require("express-langs")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

express-langs v0.4.0

resolve accept langagues from header for you request

express-langs

npm npm version

build travis codecov

parse langs from request for easier use with express

screen shot demo

resolve langagues accept in header request get array langagues with request.langs

Installation

npm install express-langs --save

yarn add express-langs

server.js

const
    exp = require('express')
    ,app  =exp()
    ,server = require('http').Server( app )
    ,langs = require('express-langs')
;

app
    // ... , you other middleware
    .use( langs )
    // you other middleware ... ,
;


app
    .get('/' , (req,res) => {

        /**
         * array<object>
         *  {
         *      lang: string
         *      ,val: float
         *  }
         */
        console.log( req.langs.items );

        res.send( 'hello world !' ) ;

    } )
;

server.listen( 80 , () => console.log('server run ...') ) ;

you can use methods test exists langs

const
    exp = require('express')
    ,app  =exp()
    ,server = require('http').Server( app )
    ,langs = require('express-langs')
;

app
    // ... , you other middleware
    .use( langs )
    // you other middleware ... ,
;


app
    .get('/' , (req,res) => {

        const langs = req.langs ;

        if( langs.exists( 'fr' ) ) {


            res.send( 'salut le monde !' ) ;

        } else {

            res.send('hello world') ;
        }

    } )
;

server.listen( 80 , () => console.log('server run ...') ) ;

exists methods make a relative test with langs found e.g :

langs.exists('en') ; // match with 'en-US'
langs.exists('en') ; // match with 'en'
langs.exists('en') ; // not match with 'fr'

or with an pattern e.g :

langs.exists( /en/i ) ; // match with 'en-US'
langs.exists( /en/i ) ; // match with 'en'

langs.exists( /en|fr/i ) ; // match with 'fr'

you can make a strict test exists e.g :

langs.existsStrict('en') ; // not match with 'en-US'
langs.existsStrict('en') ; // match with 'en'
langs.existsStrict('en') ; // not match with 'fr'

getWith method get array langs match with you support pattern

const supportLangs = langs.getWith( /en|fr|es/i ) ; // array[ langs ]

// you can give an string for build an pattern e.g :
const pattern = "en|fr|es" ;
const supportLangs = langs.getWith( pattern ) ; // array[ langs ]

develop by Samuel Gaborieau with <3 and NodeJS for Open Source and enjoy !

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free