2.2.1 • Published 3 years ago

anytv-i18n v2.2.1

Weekly downloads
2
License
ISC
Repository
github
Last release
3 years ago

anytv-i18n

A module for app internationalization

Install

npm install anytv-i18n@latest --save

Introduction

Simple example:

'use strict';

const i18n = require('anytv-18n');

i18n.configure({
    languages_url: 'http://translations.myapp.com/:project/languages',
    translations_url: 'http://translations.myapp.com/:project/:lang.json',
    locale_dir: path.resolve('translations'),
    default: 'en',
    debug: true
});

i18n.use('freedom_dashboard')
    .load()
    .then(() => {

    	// function to call when everything is loaded
        i18n.trans('zh_TW', 'greetings', {
            name: 'Raven!'
        });

        i18n.trans('non_existent_key'); // empty string
    })
    .catch(() => {
        // function to call when there's an error
    });

Configuration options

  • languages_url url for getting all available languages in json. :project will be replaced by the project you're using. Exact JSON format:
{
	"data": {
		"languages": [
			"en",
			"zh",
			"zh_TW"
		]
	}
}
  • translation_url url for getting json translations. :project will be replaced by the project you're using. :lang will be replaced by the language you're using. Exact format:
{
	"greetings": "你好 :name",
	...
}
  • locale_dir directory where the translations will be cached. should be an absolute path with a trailing backslach. example: /home/user/my-app/translations/
  • debug set to true if you want to debug
  • logger replaces the default logger

    note: Only Winston-like loggers are accepted

Todo

  • Add test cases

Contributing

Install the tools needed:

npm install grunt -g
npm install --dev

To compile the ES6 source code to ES5:

grunt

To generate the docs:

esdoc -c ./esdoc.json

Running test

npm test

Code coverage

npm run coverage

Then open coverage/lcov-report/index.html.

License

MIT

Author

Freedom! Labs, any.TV Limited DBA Freedom!

2.2.1

3 years ago

2.2.0

3 years ago

2.1.2

3 years ago

2.1.1

3 years ago

2.1.0

3 years ago

2.0.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

0.0.5

7 years ago

0.0.3

8 years ago

0.0.2

8 years ago

0.0.1

8 years ago