1.1.0 • Published 7 years ago

langpackage v1.1.0

Weekly downloads
153
License
MIT
Repository
github
Last release
7 years ago

Build Status Coverage Status

langPackage

=========

Node.js module for the organization of control of languages in the application and templating of strings.

Installation

npm install langpackage

Usage

var langPackage = require('langpackage');

let langPack = {};
langPack.en = new langPackage();
langPack.de = new langPackage();

//push simple phrase
langPack.en.pushPhrase('hello', 'Good day');
langPack.de.pushPhrase('hello', 'Guten Tag');

let currentLang = 'en';
var result = langPack[currentLang].get('hello'); //return 'Good day'
currentLang = 'de';
result = langPack[currentLang].get('hello'); // return 'Guten Tag'


//simple template
langPack.en.pushPhrase('apple', ['I have ', ' apple.']);
result = langPack.en.get('apple', 3); // return 'I have 3 apple.'

//template with function
langPack.de.pushPhrase('apple', ['Ich habe ', (a)=>a==1?' Apfel':' Äpfel', '.']);
result = langPack.de.get('apple', 1); // return 'Ich habe 1 Apfel.'
result = langPack.de.get('apple', [2]); // return 'Ich habe 2 Äpfel.'

//export dictionary (dictionary does not contain functions)
var json = langPack.en.exportJSON();

//import dictionary (dictionary does not contain functions)
langPack.en.importJSON(json);

API Reference

pushPhrase(keyword, phrase)

Adds phrase to dictionary

  • keyword: String Phrase keyword.
  • phrase: Array Phrase template. Can contain strings and functions with one parameter. The first element always a string. After the function the next element should be a string.

get(keyword, args)

Returns the phrase with the arguments added in a template

  • keyword: String Phrase keyword.
  • args: Array optional Template arguments.

exportJSON()

Return dictionary as JSON string

  • Attention! You can export the dictionary does not contain functions, otherwise an error.

importJSON(json)

Import dictionary from JSON string. Returns import success

  • json: String Dictionary in JSON.
  • Attention! You can import the dictionary does not contain functions, otherwise an error.
  • Attention! Import will replace the old dictionary.

Dictionary example:

{"hello":["Good day"], "apple":["I have ", " apple."]}

Tests

npm test

Contributing

In lieu of a formal style guide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code.

License

MIT license

1.1.0

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago