PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.2.0
Independent Analytics – WordPress Analytics Plugin v2.2.0
2.15.5 2.15.4 2.15.3 2.15.2 2.15.1 2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / vendor / illuminate / support / Pluralizer.php
independent-analytics / vendor / illuminate / support Last commit date
Facades 2 years ago Testing 2 years ago Traits 2 years ago AggregateServiceProvider.php 2 years ago Carbon.php 2 years ago Composer.php 2 years ago ConfigurationUrlParser.php 2 years ago DateFactory.php 2 years ago Env.php 2 years ago Fluent.php 2 years ago HigherOrderTapProxy.php 2 years ago HtmlString.php 2 years ago InteractsWithTime.php 2 years ago Js.php 2 years ago Manager.php 2 years ago MessageBag.php 2 years ago MultipleInstanceManager.php 2 years ago NamespacedItemResolver.php 2 years ago Optional.php 2 years ago Pluralizer.php 2 years ago ProcessUtils.php 2 years ago Reflector.php 2 years ago ServiceProvider.php 2 years ago Str.php 2 years ago Stringable.php 2 years ago Timebox.php 2 years ago ValidatedInput.php 2 years ago ViewErrorBag.php 2 years ago helpers.php 2 years ago
Pluralizer.php
86 lines
1 <?php
2
3 namespace IAWP_SCOPED\Illuminate\Support;
4
5 use IAWP_SCOPED\Doctrine\Inflector\Inflector;
6 use IAWP_SCOPED\Doctrine\Inflector\InflectorFactory;
7 /** @internal */
8 class Pluralizer
9 {
10 /**
11 * Uncountable word forms.
12 *
13 * @var string[]
14 */
15 public static $uncountable = ['audio', 'bison', 'cattle', 'chassis', 'compensation', 'coreopsis', 'data', 'deer', 'education', 'emoji', 'equipment', 'evidence', 'feedback', 'firmware', 'fish', 'furniture', 'gold', 'hardware', 'information', 'jedi', 'kin', 'knowledge', 'love', 'metadata', 'money', 'moose', 'news', 'nutrition', 'offspring', 'plankton', 'pokemon', 'police', 'rain', 'recommended', 'related', 'rice', 'series', 'sheep', 'software', 'species', 'swine', 'traffic', 'wheat'];
16 /**
17 * Get the plural form of an English word.
18 *
19 * @param string $value
20 * @param int|array|\Countable $count
21 * @return string
22 */
23 public static function plural($value, $count = 2)
24 {
25 if (\is_countable($count)) {
26 $count = \count($count);
27 }
28 if ((int) \abs($count) === 1 || static::uncountable($value) || \preg_match('/^(.*)[A-Za-z0-9\\x{0080}-\\x{FFFF}]$/u', $value) == 0) {
29 return $value;
30 }
31 $plural = static::inflector()->pluralize($value);
32 return static::matchCase($plural, $value);
33 }
34 /**
35 * Get the singular form of an English word.
36 *
37 * @param string $value
38 * @return string
39 */
40 public static function singular($value)
41 {
42 $singular = static::inflector()->singularize($value);
43 return static::matchCase($singular, $value);
44 }
45 /**
46 * Determine if the given value is uncountable.
47 *
48 * @param string $value
49 * @return bool
50 */
51 protected static function uncountable($value)
52 {
53 return \in_array(\strtolower($value), static::$uncountable);
54 }
55 /**
56 * Attempt to match the case on two strings.
57 *
58 * @param string $value
59 * @param string $comparison
60 * @return string
61 */
62 protected static function matchCase($value, $comparison)
63 {
64 $functions = ['mb_strtolower', 'mb_strtoupper', 'ucfirst', 'ucwords'];
65 foreach ($functions as $function) {
66 if ($function($comparison) === $comparison) {
67 return $function($value);
68 }
69 }
70 return $value;
71 }
72 /**
73 * Get the inflector instance.
74 *
75 * @return \Doctrine\Inflector\Inflector
76 */
77 public static function inflector()
78 {
79 static $inflector;
80 if (\is_null($inflector)) {
81 $inflector = InflectorFactory::createForLanguage('english')->build();
82 }
83 return $inflector;
84 }
85 }
86