It is a simple internationalization library. (NodeJS, Browser)
const messages = {
en: {
hello: 'Hello {{name}}',
},`
});
i18nlet.loads(messages);
var message = i18nlet.i('hello', { name: 'fkei' });
console.log(message);
// -- console panel
> 'Hello fkei'
const message = {
en: {
'emoji.happy': ':)',
hello: 'Hello {{name}} {{emoji.happy}}',
},`
});
var message = i18nlet.i('hello', { name: 'fkei' });
console.log(message);
// -- console panel
> 'Hello fkei :)'
const i18nlet = new I18nlet().init({
hook: {
load: function (langage, terms) {
// local memory or http request .......
},
loads: function (data) {
// local memory or http request .......
}
}
});
Direct Download / CDN
<script src="https://unpkg.com/i18nlet/dist/iife.i18nlet.js"></script>
- amd.i18nlet.js
- amd.i18nlet.js.map
- amd.i18nlet.min.js
- cjs.i18nlet.js
- es.i18nlet.js
- iife.i18nlet.js
- iife.i18nlet.js.map
- iife.i18nlet.min.js
npm install --save i18nlet
bower install i18nlet
You will have to clone directly from GitHub and build i18nlet yourself if you want to use the latest dev build.
git clone https://github.com/fkei/i18nlet.git
npm install
npm run release
---
εΊεγγ‘γ€γ«
βββ dist
βββ amd.riot-i18nlet.js
βββ amd.riot-i18nlet.js.map
βββ amd.riot-i18nlet.min.js
βββ cjs.riot-i18nlet.js
βββ es.riot-i18nlet.js
βββ iife.riot-i18nlet.js
βββ iife.riot-i18nlet.js.map
βββ iife.riot-i18nlet.min.js
HTML/JavaScript
<script src="https://unpkg.com/i18nlet/dist/iife.i18nlet.js"></script>
<script>
var i18nlet = new I18nlet().init();
i18nlet.loads({
` ja: {
'emoji.happy': ':)',
hello: 'γγγ«γ‘γ― {{name}} {{emoji.happy}}',
},
en: {
'emoji.happy': ':)',
hello: 'Hello {{name}} {{emoji.happy}}',
},`
});
var message = i18nlet.i('hello', { name: 'fkei' });
console.log(message); // console panel > 'Hello fkei :)'
var message1 = i18nlet.i('hello', { name: 'fkei' });
console.log(message1); // console panel > 'γγγ«γ‘γ― fkei :)'
</script>
NodeJS
const I18nlet = require('i18nlet');
const i18nlet = new I18nlet().init(/* settings */);
- Arguments :
(Object: settings)
settings.currentLangage
- Type:
string
- Description: Default language
- Default:
en
- Required:
false
- Type:
settings.debug
- Type:
boolean
- Description: debug mode
- Default:
false
- Required:
false
- Type:
settings.variableKeyPrefix
- Type:
string
- Description: Prefix to use in Named formatting
- Default:
{{
- Required:
false
- Type:
settings.variableKeySuffix
- Type:
string
- Description: Suffix to use in Named formatting
- Default:
}}
- Required:
false
- Type:
settings.noConvertVariable
- Type:
string
- Description: Default character string when
Named formatting
failed - Default:
null
// Display definition as it is - Required:
false
- Type:
settings.reference
- Type:
boolean
- Description: Use
Named Reference formatting
by default - Default:
true
- Required:
false
- Type:
settings.defaultText
- Type:
string
- Description: String to be returned in undefined case
- Default:
''
// empty string - Required:
false
- Type:
settings.getMessageFunctionName
- Type:
string
- Description: Specify the function name to get the message
- Default:
i
// ex. i18n.i('hello'); - Required:
false
- Type:
settings.output
- Type:
function
- Description: Log output function
- Default: console.log. see source code:
_output(...)
- Required:
false
- Type:
settings.hook.load
- Type:
function
- Description: Function hooking language messages
- Default: see source code:
defaultLoad(...)
- Required:
false
- Type:
settings.hook.loads
- Type:
function
- Description: Function hooking language's messages
- Default: see source code:
defaultLoads(...)
- Required:
false
- Type:
VERSION
- Type:
String
- Description: i18n version
- Type:
store
- Type:
Object
- Description: Message list store by language.
- Format:
{en: {hello: 'Hello!'}, ja: 'hello': 'γγγ«γ‘γ―' ....}
- Type:
regexpStr
- Type:
String
- Description: Regular expression(string) to find
Named formatting
dynamic variable - Scope:
private
- Type:
regexp
- Type:
RegExp
- Description: Regular expression(RegExp) to find
Named formatting
dynamic variable - Scope:
private
- Type:
logger.debug
- Type:
function
- Description: debug log output
- Type:
logger.error
- Type:
function
- Description: error log output
- Type:
settings
- See :
I18nlet.init(settigns)
- See :
logger.output
- See :
I18nlet.init(settigns)
- See :
hook.load
- See :
I18nlet.init(settigns)
- See :
hook.loads
- See :
I18nlet.init(settigns)
- See :
load
- Description: Read language messages
- Scope:
public
loads
- Description: Read multiple language messages
- Scope:
public
changeLangage
- Description: Change default language
- Scope:
public
currentLangage
- Description: Get default language
- Scope:
public
Detailed changes for each release are documented in the releases.
npm run lint
npm test
# build
npm run build
# build and uglify
npm run release
# mocha
npm run mocha-dev
# karma
npm run karma-dev