Skip to content

Commit

Permalink
Simplify findMatchingTransliterator()
Browse files Browse the repository at this point in the history
  • Loading branch information
ausi committed Jul 28, 2017
1 parent 26f9c0b commit 13d342f
Showing 1 changed file with 15 additions and 12 deletions.
27 changes: 15 additions & 12 deletions src/SlugGenerator.php
Original file line number Diff line number Diff line change
Expand Up @@ -284,20 +284,23 @@ private function findMatchingTransliterator(string $rule, string $locale): \Tran
{
$rule = $this->fixTransliteratorRule($rule, $locale);

if ($locale && ($transliterator = \Transliterator::create($locale.'-'.$rule))) {
return $transliterator;
$candidates = [
'Latin-'.$rule,
$rule,
];

if ($locale) {
array_unshift(
$candidates,
$locale.'-'.$rule,
\Locale::getPrimaryLanguage($locale).'-'.$rule
);
}

if ($locale && ($transliterator = \Transliterator::create(\Locale::getPrimaryLanguage($locale).'-'.$rule))) {
return $transliterator;
}

if ($transliterator = \Transliterator::create('Latin-'.$rule)) {
return $transliterator;
}

if ($transliterator = \Transliterator::create($rule)) {
return $transliterator;
foreach ($candidates as $candidate) {
if ($transliterator = \Transliterator::create($candidate)) {
return $transliterator;
}
}

if ($transliterator = \Transliterator::createFromRules($rule)) {
Expand Down

0 comments on commit 13d342f

Please sign in to comment.