2.1.2 • Published 2 years ago

com.recoyx.msglocalization v2.1.2

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

Message Localization

Message localization for JavaScript.

Features:

  • Supports loading text resources from HTTP (Web Browser and Node.js) and File System (Node.js).
  • Basic language data

Examples

import { MsgLocalization, parseLocale } from 'com.recoyx.msglocalization';

const localization = new MsgLocalization({
    supportsLocales: ['en-US', 'en-GB', 'ja', 'pt-BR'],
    defaultLocale: 'en-US',
    defaultFallback: 'en-US',
    fallbacks: {
        'pt-BR': 'en-US',
        'en-GB': ['jp', 'pt-BR']
    },
    assets: {
        src: 'path/to/res/lang',
        files: ['common'],
        cleanUnusedAssets: true,
        // 'fileSystem', 'http'
        loadAssetsVia: 'fileSystem',
    },
});

(async () => {
    // Promise<boolean>
    await localization.load();

    const t = localization.t.bind(localization);
    console.log(t('common.messageId'));
    console.log(t('common.parameterized', { x: 'foo' }));
    console.log(t('common.contextual', 'female', 'two'));
    console.log(t('common.qty', { number: 10 }, new Intl.PluralRules(localization.currentLocaleSeqStr).select(10)));
})();

Example assets:

{
    "messageId": "Some message",
    "parameterized": "Here: $x",
    "contextualMaleOne": "Male message",
    "contextualFemaleOne": "Female message",
    "contextualMaleTwo": "Male message (2)",
    "contextualFemaleTwo": "Female message (2)",
    "qtyZero": "$number: zero",
    "qtyOne": "$number: one",
    "qtyOther": "$number: other"
}
2.1.2

2 years ago

2.1.1

2 years ago

2.1.0

2 years ago

2.0.0

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago