PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.15.5
Independent Analytics – WordPress Analytics Plugin v2.15.5
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
Exceptions 1 month ago Facades 1 month ago Testing 1 month ago Traits 1 month ago AggregateServiceProvider.php 2 years ago Benchmark.php 1 month ago Carbon.php 1 month ago Composer.php 1 month ago ConfigurationUrlParser.php 1 month ago DateFactory.php 1 month ago Env.php 1 month ago Fluent.php 1 month ago HigherOrderTapProxy.php 2 years ago HtmlString.php 2 years ago InteractsWithTime.php 2 years ago Js.php 1 month ago Lottery.php 1 month ago Manager.php 2 years ago MessageBag.php 1 month ago MultipleInstanceManager.php 1 month ago NamespacedItemResolver.php 1 month ago Optional.php 1 month ago Pluralizer.php 1 month ago ProcessUtils.php 1 month ago Reflector.php 1 month ago ServiceProvider.php 2 years ago Str.php 1 month ago Stringable.php 1 month ago Timebox.php 1 month ago ValidatedInput.php 1 month ago ViewErrorBag.php 1 month ago helpers.php 1 month ago
Pluralizer.php
109 lines
1 <?php
2
3 namespace IAWPSCOPED\Illuminate\Support;
4
5 use IAWPSCOPED\Doctrine\Inflector\InflectorFactory;
6 /** @internal */
7 class Pluralizer
8 {
9 /**
10 * The cached inflector instance.
11 *
12 * @var static
13 */
14 protected static $inflector;
15 /**
16 * The language that should be used by the inflector.
17 *
18 * @var string
19 */
20 protected static $language = 'english';
21 /**
22 * Uncountable non-nouns word forms.
23 *
24 * Contains words supported by Doctrine/Inflector/Rules/English/Uninflected.php
25 *
26 * @var string[]
27 */
28 public static $uncountable = ['recommended', 'related'];
29 /**
30 * Get the plural form of an English word.
31 *
32 * @param string $value
33 * @param int|array|\Countable $count
34 * @return string
35 */
36 public static function plural($value, $count = 2)
37 {
38 if (\is_countable($count)) {
39 $count = \count($count);
40 }
41 if ((int) \abs($count) === 1 || static::uncountable($value) || \preg_match('/^(.*)[A-Za-z0-9\\x{0080}-\\x{FFFF}]$/u', $value) == 0) {
42 return $value;
43 }
44 $plural = static::inflector()->pluralize($value);
45 return static::matchCase($plural, $value);
46 }
47 /**
48 * Get the singular form of an English word.
49 *
50 * @param string $value
51 * @return string
52 */
53 public static function singular($value)
54 {
55 $singular = static::inflector()->singularize($value);
56 return static::matchCase($singular, $value);
57 }
58 /**
59 * Determine if the given value is uncountable.
60 *
61 * @param string $value
62 * @return bool
63 */
64 protected static function uncountable($value)
65 {
66 return \in_array(\strtolower($value), static::$uncountable);
67 }
68 /**
69 * Attempt to match the case on two strings.
70 *
71 * @param string $value
72 * @param string $comparison
73 * @return string
74 */
75 protected static function matchCase($value, $comparison)
76 {
77 $functions = ['mb_strtolower', 'mb_strtoupper', 'ucfirst', 'ucwords'];
78 foreach ($functions as $function) {
79 if ($function($comparison) === $comparison) {
80 return $function($value);
81 }
82 }
83 return $value;
84 }
85 /**
86 * Get the inflector instance.
87 *
88 * @return \Doctrine\Inflector\Inflector
89 */
90 public static function inflector()
91 {
92 if (\is_null(static::$inflector)) {
93 static::$inflector = InflectorFactory::createForLanguage(static::$language)->build();
94 }
95 return static::$inflector;
96 }
97 /**
98 * Specify the language that should be used by the inflector.
99 *
100 * @param string $language
101 * @return void
102 */
103 public static function useLanguage(string $language)
104 {
105 static::$language = $language;
106 static::$inflector = null;
107 }
108 }
109