From: Vincent Vanwaelscappel Date: Wed, 28 Jul 2021 13:55:15 +0000 (+0200) Subject: wip #4623 @2 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=12300f4d84b171cd832eb63d79eb676b7b3b8339;p=cubist_cms-back.git wip #4623 @2 --- diff --git a/src/app/Magic/Models/CubistMagicTranslatableModel.php b/src/app/Magic/Models/CubistMagicTranslatableModel.php index 2954ce3..1a7b343 100644 --- a/src/app/Magic/Models/CubistMagicTranslatableModel.php +++ b/src/app/Magic/Models/CubistMagicTranslatableModel.php @@ -156,10 +156,18 @@ class CubistMagicTranslatableModel extends CubistMagicAbstractModel public function getAvailableLocales() { if ($this->_availableLocales === 'backpack') { - return $this->getAvailableLocalesTranslations(); + $res = $this->getAvailableLocalesTranslations(); } else if (is_array($this->_availableLocales)) { - return $this->_availableLocales; + $res = $this->_availableLocales; } + + uksort($res, [$this, '_sortLocales']); + return $res; + } + + protected function _sortLocales($a, $b) + { + return strcmp($a, $b); } } diff --git a/src/app/Magic/Models/Translate.php b/src/app/Magic/Models/Translate.php index 12e8b73..252e63b 100644 --- a/src/app/Magic/Models/Translate.php +++ b/src/app/Magic/Models/Translate.php @@ -95,4 +95,20 @@ class Translate extends CubistMagicTranslatableModel { return base_path() . '/resources/lang/' . $locale . '.json'; } + + protected function _sortLocales($a, $b) + { + $ea = file_exists($this->_getLanguageFile($a)) ? 1 : 0; + $eb = file_exists($this->_getLanguageFile($b)) ? 1 : 0; + if ($ea !== $eb) { + return $eb - $ea; + } + $sa = mb_strlen($a); + $sb = mb_strlen($b); + if ($sa !== $sb) { + return $sa - $sb; + } + + return parent::_sortLocales($a, $b); + } }