postProcessor that allows interval based plurals
i18next-intervalPlural-postProcessor


![Bower]()

This is a i18next postProcessor enabling interval based plurals.
Source can be loaded via npm, bower or downloaded from this repo.
``shnpm package
$ npm install i18next-intervalplural-postprocessor
- If you don't use a module loader it will be added to
window.i18nextIntervalPluralPostProcessorWiring up:
`js
import i18next from 'i18next';
import intervalPlural from 'i18next-intervalplural-postprocessor';i18next
.use(intervalPlural)
.init(i18nextOptions);
`Usage sample
`js
// 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
`js
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);
``---