PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.15.4
Independent Analytics – WordPress Analytics Plugin v2.15.4
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 3 weeks ago Facades 3 weeks ago Testing 3 weeks ago Traits 3 weeks ago AggregateServiceProvider.php 2 years ago Benchmark.php 3 weeks ago Carbon.php 3 weeks ago Composer.php 3 weeks ago ConfigurationUrlParser.php 3 weeks ago DateFactory.php 3 weeks ago Env.php 3 weeks ago Fluent.php 3 weeks ago HigherOrderTapProxy.php 2 years ago HtmlString.php 2 years ago InteractsWithTime.php 2 years ago Js.php 3 weeks ago Lottery.php 3 weeks ago Manager.php 2 years ago MessageBag.php 3 weeks ago MultipleInstanceManager.php 3 weeks ago NamespacedItemResolver.php 3 weeks ago Optional.php 3 weeks ago Pluralizer.php 3 weeks ago ProcessUtils.php 3 weeks ago Reflector.php 3 weeks ago ServiceProvider.php 2 years ago Str.php 3 weeks ago Stringable.php 3 weeks ago Timebox.php 3 weeks ago ValidatedInput.php 3 weeks ago ViewErrorBag.php 3 weeks ago helpers.php 3 weeks 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