polyglot / plural-detector-registry-cardinal-cldr
PHP Polyglot CLDR plural registry of cardinal type
Fund package maintenance!
Other
v1.0.0
2023-09-08 19:43 UTC
Requires
- php: ^7.4 || ^8.0
- ext-mbstring: *
- polyglot/contract-plural-detector-registry: ^1.0
- polyglot/number: ^1.0
- polyglot/plural-detector-callable: ^1.0
Requires (Dev)
- phpunit/phpunit: ^6.5 || ^7.5 || 8.5 || 9.5
- squizlabs/php_codesniffer: ^3.7
This package is not auto-updated.
Last update: 2024-12-14 23:37:29 UTC
README
A simple polyglot CLDR plural detector registry.
This plural detector registry contains plural detectors with CLDR rules
Install
composer require polyglot/plural-detector-registry-cardinal-cldr:^1.0
Using
<?php $registry = new \Polyglot\CldrCardinalPluralDetectorRegistry\CldrCardinalPluralDetectorRegistry(); $en = $registry->get('en_US'); // or $registry->get('en') $en->getAllowedCategories(); // returns ["one", "other"] $en->detect(1); // returns "one" $en->detect(2); // returns "other" $ar = $registry->get('ar'); $en->getAllowedCategories(); // returns ["zero", "one", "two", "few", "many", "other"] $en->detect(0); // returns "zero" $en->detect(1); // returns "one" $en->detect(2); // returns "two" $en->detect(rand(3, 10) + 100 * rand(0, 100)); // returns "few" $en->detect(rand(11, 99) + 100 * rand(0, 100)); // returns "many" $en->detect(rand(10, 99) / 10); // returns "other" $registry->get('unknown'); // throws \Polyglot\Contract\PluralDetectorRegistry\Exception\LocaleNotSupported