[ Index ] |
PHP Cross Reference of Joomla 4.2.2 documentation |
[Summary view] [Print] [Text view]
1 <?php 2 3 namespace Wamania\Snowball; 4 5 use voku\helper\UTF8; 6 use Wamania\Snowball\Stemmer\Catalan; 7 use Wamania\Snowball\Stemmer\Danish; 8 use Wamania\Snowball\Stemmer\Dutch; 9 use Wamania\Snowball\Stemmer\English; 10 use Wamania\Snowball\Stemmer\Finnish; 11 use Wamania\Snowball\Stemmer\French; 12 use Wamania\Snowball\Stemmer\German; 13 use Wamania\Snowball\Stemmer\Italian; 14 use Wamania\Snowball\Stemmer\Norwegian; 15 use Wamania\Snowball\Stemmer\Portuguese; 16 use Wamania\Snowball\Stemmer\Romanian; 17 use Wamania\Snowball\Stemmer\Russian; 18 use Wamania\Snowball\Stemmer\Spanish; 19 use Wamania\Snowball\Stemmer\Stemmer; 20 use Wamania\Snowball\Stemmer\Swedish; 21 22 class StemmerFactory 23 { 24 const LANGS = [ 25 Catalan::class => ['ca', 'cat', 'catalan'], 26 Danish::class => ['da', 'dan', 'danish'], 27 Dutch::class => ['nl', 'dut', 'nld', 'dutch'], 28 English::class => ['en', 'eng', 'english'], 29 Finnish::class => ['fi', 'fin', 'finnish'], 30 French::class => ['fr', 'fre', 'fra', 'french'], 31 German::class => ['de', 'deu', 'ger', 'german'], 32 Italian::class => ['it', 'ita', 'italian'], 33 Norwegian::class => ['no', 'nor', 'norwegian'], 34 Portuguese::class => ['pt', 'por', 'portuguese'], 35 Romanian::class => ['ro', 'rum', 'ron', 'romanian'], 36 Russian::class => ['ru', 'rus', 'russian'], 37 Spanish::class => ['es', 'spa', 'spanish'], 38 Swedish::class => ['sv', 'swe', 'swedish'] 39 ]; 40 41 /** 42 * @throws NotFoundException 43 */ 44 public static function create(string $code): Stemmer 45 { 46 $code = UTF8::strtolower($code); 47 48 foreach (self::LANGS as $classname => $isoCodes) { 49 if (in_array($code, $isoCodes)) { 50 return new $classname; 51 } 52 } 53 54 throw new NotFoundException(sprintf('Stemmer not found for %s', $code)); 55 } 56 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Wed Sep 7 05:41:13 2022 | Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer |