From e5a969843a0bb08f99d01d70b84b92ed509ebe7a Mon Sep 17 00:00:00 2001 From: pxpm Date: Fri, 9 Jan 2026 12:00:00 +0000 Subject: [PATCH] fix languages in elfinder --- resources/views/elfinder.blade.php | 18 +++++++++++++++++- resources/views/localization.blade.php | 15 +-------------- resources/views/standalonepopup.blade.php | 17 ++++++++++++++++- 3 files changed, 34 insertions(+), 16 deletions(-) diff --git a/resources/views/elfinder.blade.php b/resources/views/elfinder.blade.php index 223819f..85320f5 100644 --- a/resources/views/elfinder.blade.php +++ b/resources/views/elfinder.blade.php @@ -1,7 +1,23 @@ @extends(backpack_view('blank')) +@php + $elfinderLanguages = [ + 'ar', 'bg', 'ca', 'cs', 'da', 'de', 'el', 'en', 'es', 'fa', 'fo', 'fr', 'fr_CA', 'he', 'hr', 'hu', 'id', 'it', 'ja', 'ko', 'nl', 'no', 'pl', 'pt_BR', 'ro', 'ru', 'si', 'sk', 'sl', 'sr', 'sv', 'tr', 'ug_CN', 'uk', 'vi', 'zh_CN', 'zh_TW', + ]; + $locales = config('backpack.crud.locales', []); + $elfinderConfiguredLanguages = []; + foreach ($locales as $code => $name) { + if (in_array($code, $elfinderLanguages)) { + $elfinderConfiguredLanguages[$code] = $name; + } + } + // Add English if not present, as it's the fallback + if (!array_key_exists('en', $elfinderConfiguredLanguages)) { + $elfinderConfiguredLanguages['en'] = 'English'; + } +@endphp + @section('after_scripts') - @include('backpack.filemanager::localization') @include('backpack.filemanager::common_scripts', ['locale' => in_array($locale, array_keys($elfinderConfiguredLanguages)) ? $locale : null]) @include('backpack.filemanager::common_styles') diff --git a/resources/views/localization.blade.php b/resources/views/localization.blade.php index 65c6641..334559d 100644 --- a/resources/views/localization.blade.php +++ b/resources/views/localization.blade.php @@ -1,18 +1,5 @@ @php - $elfinderLanguages = [ - 'ar', 'bg', 'ca', 'cs', 'da', 'de', 'el', 'en', 'es', 'fa', 'fo', 'fr', 'fr_CA', 'he', 'hr', 'hu', 'id', 'it', 'ja', 'ko', 'nl', 'no', 'pl', 'pt_BR', 'ro', 'ru', 'si', 'sk', 'sl', 'sr', 'sv', 'tr', 'ug_CN', 'uk', 'vi', 'zh_CN', 'zh_TW', - ]; - $locales = config('backpack.crud.locales', []); - $elfinderConfiguredLanguages = []; - foreach ($locales as $code => $name) { - if (in_array($code, $elfinderLanguages)) { - $elfinderConfiguredLanguages[$code] = $name; - } - } - // Add English if not present, as it's the fallback - if (!array_key_exists('en', $elfinderConfiguredLanguages)) { - $elfinderConfiguredLanguages['en'] = 'English'; - } + // Pre-load other configured languages so they are available when switching in UI foreach ($elfinderConfiguredLanguages as $lang => $name) { diff --git a/resources/views/standalonepopup.blade.php b/resources/views/standalonepopup.blade.php index e2d747f..ec6a344 100644 --- a/resources/views/standalonepopup.blade.php +++ b/resources/views/standalonepopup.blade.php @@ -1,7 +1,22 @@ - @include('backpack.filemanager::localization') + @php + $elfinderLanguages = [ + 'ar', 'bg', 'ca', 'cs', 'da', 'de', 'el', 'en', 'es', 'fa', 'fo', 'fr', 'fr_CA', 'he', 'hr', 'hu', 'id', 'it', 'ja', 'ko', 'nl', 'no', 'pl', 'pt_BR', 'ro', 'ru', 'si', 'sk', 'sl', 'sr', 'sv', 'tr', 'ug_CN', 'uk', 'vi', 'zh_CN', 'zh_TW', + ]; + $locales = config('backpack.crud.locales', []); + $elfinderConfiguredLanguages = []; + foreach ($locales as $code => $name) { + if (in_array($code, $elfinderLanguages)) { + $elfinderConfiguredLanguages[$code] = $name; + } + } + // Add English if not present, as it's the fallback + if (!array_key_exists('en', $elfinderConfiguredLanguages)) { + $elfinderConfiguredLanguages['en'] = 'English'; + } + @endphp @include('backpack.filemanager::common_scripts', ['locale' => in_array($locale, array_keys($elfinderConfiguredLanguages)) ? $locale : null]) @include('backpack.filemanager::common_styles', ['styleBodyElement' => true])