1.1.0 • Published 7 months ago

lang-list v1.1.0

Weekly downloads
89
License
BSD-3-Clause
Repository
github
Last release
7 months ago

lang-list

Build Status

Node.js lib helps to retrieve a list of supported languages to be used in web apps UI.

Usage

require lang-list lib

var LangList = require('lang-list');

LangList.getList()

This function will retrieve a list of supported languages to be used in web apps UI based on the passed config object.

Arguments:

NAMETYPEDEFAULTREQUIREDDESCRIPTION
supportedLangsArray of StringsYESRetrieve only the supported languages for your web app.
strictBooleanfalseNORetrieve only the supported languages with strict codes only

Examples:

var languagesArr = LangList.getList({ supportedLangs: ['ar', 'en', 'fr', 'es'] });
/*
languagesArr will be: 
[
    {
        "code": "ar",
        "int": "Arabic",
        "native": "العربية",
    },
    {
        "code": "en",
        "int": "English",
        "native": "English",
    },
    {
        "code": "fr",
        "int": "French",
        "native": "Français",
    },
    {
        "code": "es",
        "int": "Spanish",
        "native": "Español",
  }
]
*/
// calling `getList` with strict = true.
var strictLanguagesArr = LangList.getList({ supportedLangs: ['ar_AR', 'en_US', 'fr_CA', 'es_ES'], strict: true );
/*
languagesArr will be: 
[
    {
        "code": "ar_AR",
        "int": "Arabic",
        "native": "العربية"
    },
    {
        "code": "en_US",
        "int": "English (US)",
        "native": "English (US)"
    },
    {
        "code": "fr_CA",
        "int": "French (Canada)",
        "native": "Français (Canada)"
    },
    {
        "code": "es_ES",
        "int": "Spanish (Spain)",
        "native": "Español (España)"
    },
  }
]
*/

With Handlebars Example:

    <ul class="dropdown-menu">
        {{#each languagesArr}}
        <li><a href="?lang={{code}}">{{native}}</a>
        {{/each}}
    </ul>

License

Copyright 2016, Yahoo Inc.

Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.