$ cnpm install messageformat-runtime
Accessor class for compiled message functions generated by messageformat
import Messages from 'messageformat-runtime/messages'
Array.<string>string | nullstring | nullMessagesstring | nullArray.<string>Messagesbooleanbooleanstring | Object.<string, (function()|object)>| Param | Type | Description |
|---|---|---|
| msgData | object |
A map of locale codes to their function objects |
| [defaultLocale] | string |
If not defined, default and initial locale is the first entry of locales |
Example
// build.js
import fs from 'fs';
import MessageFormat from 'messageformat';
const mf = new MessageFormat(['en', 'fi']);
const msgSet = {
en: {
a: 'A {TYPE} example.',
b: 'This has {COUNT, plural, one{one user} other{# users}}.',
c: {
d: 'We have {P, number, percent} code coverage.'
}
},
fi: {
b: 'Tällä on {COUNT, plural, one{yksi käyttäjä} other{# käyttäjää}}.',
e: 'Minä puhun vain suomea.'
}
};
fs.writeFileSync('messages.js', String(mf.compile(msgSet)));
// runtime.js
import Messages from 'messageformat-runtime/messages';
import msgData from './messages';
const messages = new Messages(msgData, 'en');
messages.hasMessage('a') // true
messages.hasObject('c') // true
messages.get('b', { COUNT: 3 }) // 'This has 3 users.'
messages.get(['c', 'd'], { P: 0.314 }) // 'We have 31% code coverage.'
messages.get('e') // 'e'
messages.setFallback('en', ['foo', 'fi'])
messages.get('e') // 'Minä puhun vain suomea.'
messages.locale = 'fi'
messages.hasMessage('a') // false
messages.hasMessage('a', 'en') // true
messages.hasMessage('a', null, true) // true
messages.hasObject('c') // false
messages.get('b', { COUNT: 3 }) // 'Tällä on 3 käyttäjää.'
messages.get('c').d({ P: 0.628 }) // 'We have 63% code coverage.'
Array.<string>List of available locales
Kind: instance property of module.exports
Read only: true
string | nullCurrent locale
One of Messages#availableLocales or null. Partial matches of language tags
are supported, so e.g. with an en locale defined, it will be selected by
messages.locale = 'en-US' and vice versa.
Kind: instance property of module.exports
string | nullDefault fallback locale
One of Messages#availableLocales or null. Partial matches of language tags
are supported, so e.g. with an en locale defined, it will be selected by
messages.defaultLocale = 'en-US' and vice versa.
Kind: instance property of module.exports
MessagesAdd new messages to the accessor; useful if loading data dynamically
The locale code lc should be an exact match for the locale being updated,
or empty to default to the current locale. Use #resolveLocale for
resolving partial locale strings.
If keypath is empty, adds or sets the complete message object for the
corresponding locale. If any keys in keypath do not exist, a new object
will be created at that key.
Kind: instance method of module.exports
Returns: Messages - The Messages instance, to allow for chaining
| Param | Type | Description |
|---|---|---|
| data | function | object |
Hierarchical map of keys to functions, or a single message function |
| [lc] | string |
If empty or undefined, defaults to this.locale |
| [keypath] | Array.<string> |
The keypath being added |
string | nullResolve lc to the key of an available locale or null, allowing for
partial matches. For example, with an en locale defined, it will be
selected by messages.defaultLocale = 'en-US' and vice versa.
Kind: instance method of module.exports
| Param | Type | Description |
|---|---|---|
| lc | string |
Locale code |
Array.<string>Get the list of fallback locales
Kind: instance method of module.exports
| Param | Type | Description |
|---|---|---|
| [lc] | string |
If empty or undefined, defaults to this.locale |
MessagesSet the fallback locale or locales for lc
To disable fallback for the locale, use setFallback(lc, []).
To use the default fallback, use setFallback(lc, null).
Kind: instance method of module.exports
Returns: Messages - The Messages instance, to allow for chaining
| Param | Type |
|---|---|
| lc | string |
| fallback | Array.<string> | null |
booleanCheck if key is a message function for the locale
key may be a string for functions at the root level, or string[] for
accessing hierarchical objects. If an exact match is not found and fallback
is true, the fallback locales are checked for the first match.
Kind: instance method of module.exports
| Param | Type | Default | Description |
|---|---|---|---|
| key | string | Array.<string> |
The key or keypath being sought | |
| [lc] | string |
If empty or undefined, defaults to this.locale |
|
| [fallback] | boolean |
false |
If true, also checks fallback locales |
booleanCheck if key is a message object for the locale
key may be a string for functions at the root level, or string[] for
accessing hierarchical objects. If an exact match is not found and fallback
is true, the fallback locales are checked for the first match.
Kind: instance method of module.exports
| Param | Type | Default | Description |
|---|---|---|---|
| key | string | Array.<string> |
The key or keypath being sought | |
| [lc] | string |
If empty or undefined, defaults to this.locale |
|
| [fallback] | boolean |
false |
If true, also checks fallback locales |
string | Object.<string, (function()|object)>Get the message or object corresponding to key
key may be a string for functions at the root level, or string[] for
accessing hierarchical objects. If an exact match is not found, the fallback
locales are checked for the first match.
If key maps to a message function, it will be called with props. If it
maps to an object, the object is returned directly.
Kind: instance method of module.exports
| Param | Type | Description |
|---|---|---|
| key | string | Array.<string> |
The key or keypath being sought |
| [props] | object |
Optional properties passed to the function |
| [lc] | string |
If empty or undefined, defaults to this.locale |
Copyright 2013 - present © cnpmjs.org | Home |