Route::get('/_translations/add/{locale}', function ($locale) { app('translator')->addLanguage($locale); return redirect('/_translations/languages'); }); Route::get('/_translations/{what}', function ($what) { $list = []; $header = []; switch ($what) { case 'languages': case 'language': $list = \deArgonauten\TransLaravel\Models\Languages::all(); $header = Schema::getColumnListing(config('translaravel.table_prefix') . 'languages'); break; case 'strings': case 'string': $list = \deArgonauten\TransLaravel\Models\StringTranslations::all(); $header = Schema::getColumnListing(config('translaravel.table_prefix') . 'string_translations'); break; case 'models': case 'model': $list = \deArgonauten\TransLaravel\Models\ModelTranslations::all(); $header = Schema::getColumnListing(config('translaravel.table_prefix') . 'model_translations'); break; case 'routes': case 'route': $list = \deArgonauten\TransLaravel\Models\RouteTranslations::all(); $header = Schema::getColumnListing(config('translaravel.table_prefix') . 'route_translations'); break; } return view('translaravel::list', ['list' => $list, 'head' => $header]); });
/** * Get available languages for a certain route * * @param string $route * @return array */ public function availableTranslations(string $route) { return collect(Languages::whereIn('id', collect(RouteTranslations::whereRoute($route))->pluck('language_id')->toArray()))->pluck('abbreviation')->toArray(); }