i18next-intervalplural-postprocessor
    TypeScript icon, indicating that this package has built-in type declarations

    3.0.0 • Public • Published

    i18next-intervalPlural-postProcessor

    Introduction

    Travis Coveralls npm version Bower David

    This is a i18next postProcessor enabling interval based plurals.

    Getting started

    Source can be loaded via npm, bower or downloaded from this repo.

    # npm package
    $ npm install i18next-intervalplural-postprocessor
    
    # bower
    $ bower install i18next-intervalplural-postprocessor
    • If you don't use a module loader it will be added to window.i18nextIntervalPluralPostProcessor

    Wiring up:

    import i18next from 'i18next';
    import intervalPlural from 'i18next-intervalplural-postprocessor';
    
    i18next
      .use(intervalPlural)
      .init(i18nextOptions);

    Usage sample

    // given loaded resources
    // translation: {
    //   key1: '{{count}} item',
    //    key1_plural: '{{count}} items',
    //    key1_interval: '(1)[one item];(2-7)[a few items];(7-inf)[a lot of items];',
    //    key2: '{{count}} item',
    //    key2_plural: '{{count}} items',
    //    key2_interval: '(1)[one item];(2-7)[a few items];'
    // }
    
    i18next.t('key1_interval', { postProcess: 'interval', count: 1 }); // -> one item
    i18next.t('key1_interval', { postProcess: 'interval', count: 4 }); // -> a few items
    i18next.t('key1_interval', { postProcess: 'interval', count: 100 }); // -> a lot of items
    
    // if a interval is not specified i18next fallbacks to classic plural
    i18next.t('key2_interval', { postProcess: 'interval', count: 1 }); // -> one item
    i18next.t('key2_interval', { postProcess: 'interval', count: 4 }); // -> a few items
    i18next.t('key2_interval', { postProcess: 'interval', count: 100 }); // -> 100 items

    Setting own options

    import i18next from 'i18next';
    import intervalPlural from 'i18next-intervalplural-postprocessor';
    
    intervalPlural.setOptions({
      // these are the defaults
      intervalSeparator: ';',
      intervalRegex: /\((\S*)\).*?\[((.|\n)*)\]/, // pre 3.0 /\((\S*)\).*{((.|\n)*)}/,
      intervalSuffix: '_interval'
    });
    
    i18next
      .use(intervalPlural)
      .init(i18nextOptions);

    Gold Sponsors

    Install

    npm i i18next-intervalplural-postprocessor

    DownloadsWeekly Downloads

    16,149

    Version

    3.0.0

    License

    MIT

    Unpacked Size

    27.1 kB

    Total Files

    15

    Last publish

    Collaborators

    • adrai
    • jamuhl