mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-05-18 19:25:01 +00:00
Language editor refactoring part 3 (backend + frontend)
This commit is contained in:
@@ -31,7 +31,7 @@ class LanguageController extends Controller
|
||||
public function get_languages()
|
||||
{
|
||||
return response(
|
||||
new LanguageCollection(Language::all()), 200
|
||||
new LanguageCollection(Language::sortable(['created_at', 'DESC'])->get()), 200
|
||||
);
|
||||
}
|
||||
|
||||
@@ -40,12 +40,9 @@ class LanguageController extends Controller
|
||||
*
|
||||
* @param Language $language
|
||||
*/
|
||||
public function get_language_strings(Language $language)
|
||||
public function get_language(Language $language)
|
||||
{
|
||||
return response([
|
||||
'current' => $language->languageStrings,
|
||||
'default' => get_default_language_strings()
|
||||
], 200);
|
||||
return response(new LanguageResource($language), 200);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -201,8 +201,6 @@ class AppFunctionsController extends Controller
|
||||
->languageStrings;
|
||||
});
|
||||
|
||||
return $translations->map(function ($string) {
|
||||
return [$string->key => $string->value];
|
||||
})->collapse();
|
||||
return map_language_translations($translations);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Http\Resources;
|
||||
|
||||
use App\Models\Language;
|
||||
use Illuminate\Http\Resources\Json\ResourceCollection;
|
||||
|
||||
class LanguageCollection extends ResourceCollection
|
||||
@@ -16,10 +17,15 @@ class LanguageCollection extends ResourceCollection
|
||||
*/
|
||||
public function toArray($request)
|
||||
{
|
||||
$current_language = Language::with('languageStrings')
|
||||
->whereLocale(get_setting('language') ?? 'en')
|
||||
->first();
|
||||
|
||||
return [
|
||||
'data' => $this->collection,
|
||||
'meta' => [
|
||||
'current_language' => get_setting('language') ?? 'en',
|
||||
'current_language' => new LanguageResource($current_language),
|
||||
'default_translations' => get_default_language_strings()
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
@@ -19,10 +19,11 @@ class LanguageResource extends JsonResource
|
||||
'id' => $this->id,
|
||||
'type' => 'languages',
|
||||
'attributes' => [
|
||||
'name' => $this->name,
|
||||
'locale' => $this->locale,
|
||||
'updated_at' => $this->updated_at,
|
||||
'created_at' => $this->created_at,
|
||||
'name' => $this->name,
|
||||
'locale' => $this->locale,
|
||||
'translations' => map_language_translations($this->languageStrings),
|
||||
'updated_at' => $this->updated_at,
|
||||
'created_at' => $this->created_at,
|
||||
]
|
||||
],
|
||||
];
|
||||
|
||||
@@ -526,6 +526,18 @@ function get_file_type($file_mimetype)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* It map language translations as language key and language value
|
||||
*
|
||||
* @param $translations
|
||||
* @return mixed
|
||||
*/
|
||||
function map_language_translations($translations)
|
||||
{
|
||||
return $translations->map(function ($string) {
|
||||
return [$string->key => $string->value];
|
||||
})->collapse();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get file type from mimetype
|
||||
|
||||
Reference in New Issue
Block a user