Получи случайную криптовалюту за регистрацию!

Из интересного, в комментариях под видео мне подсказали, что у | Ayub Begimkulov - уроки по JS

Из интересного, в комментариях под видео мне подсказали, что у Intl есть встроенный способ подбирать плюральную (множественную) форму - Intl.PluralRules.

Вот небольшой пример:


const rulesRu = new Intl.PluralRules('ru');

rulesRu.select(0); // 'many'
rulesRu.select(1); // 'one'
rulesRu.select(2); // 'few'
rulesRu.select(3); // 'few'
rulesRu.select(10); // 'many'


Попробовал и с другими языками - работает отлично.

В плане [поддержки браузеров](https://caniuse.com/intl-pluralrules) - тут кажется тоже нету проблем (все, кроме IE).

Кажется, что уже на одну проблему меньше. Добавлю в библиотеку вот такую реализацию:


export function createPluralize(locale: string) {
const rules = new Intl.PluralRules(locale);

const pluralize = (count: number) => {
return rules.select(count);
};

return pluralize;
}


А если нужна поддержка старых браузеров - можно просто написать реализацию самому.

Новую версию планирую выпустить сегодня вечером.

Старые функции pluralizeRu/pluralizeEn удалять сразу не буду, побудут некоторое время в статусе deprecated.

Как-то так, буду держать в курсе.

#devtips #i18n