diff options
Diffstat (limited to 'lib/Minz/Translate.php')
| -rw-r--r-- | lib/Minz/Translate.php | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/lib/Minz/Translate.php b/lib/Minz/Translate.php index 08b3c91e8..58bf3f424 100644 --- a/lib/Minz/Translate.php +++ b/lib/Minz/Translate.php @@ -63,7 +63,7 @@ class Minz_Translate { /** * Return the list of available languages. - * @return array<string> containing langs found in different registered paths. + * @return list<string> containing langs found in different registered paths. */ public static function availableLanguages(): array { $list_langs = []; @@ -81,7 +81,7 @@ class Minz_Translate { } } - return array_unique($list_langs); + return array_values(array_unique($list_langs)); } /** @@ -197,7 +197,7 @@ class Minz_Translate { Minz_Log::debug($key . ' is not in a valid format'); $top_level = 'gen'; } else { - $top_level = array_shift($group); + $top_level = array_shift($group) ?? ''; } // If $translates[$top_level] is null it means we have to load the @@ -218,6 +218,9 @@ class Minz_Translate { $level_processed = 0; $translation_value = $key; foreach ($group as $i18n_level) { + if (!is_array($translates)) { + continue; // Not needed. To help PHPStan + } $level_processed++; if (!isset($translates[$i18n_level])) { Minz_Log::debug($key . ' is not a valid key'); @@ -231,10 +234,9 @@ class Minz_Translate { } } - if (is_array($translation_value)) { - if (isset($translation_value['_'])) { - $translation_value = $translation_value['_']; - } else { + if (!is_string($translation_value)) { + $translation_value = is_array($translation_value) ? ($translation_value['_'] ?? null) : null; + if (!is_string($translation_value)) { Minz_Log::debug($key . ' is not a valid key'); return $key; } |
