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]); });
/** * Set a translation. * * @param string $attribute * @param string $value * @param string $locale * @return mixed */ public function set($attribute, $value, $locale) { $language_id = $this->getLanguageId(); if (!is_null($locale)) { $language_id = app('translator')->localeToId($locale); } // Create search key $searchValue = $this->getSearchKeyFor($attribute); $q = ModelTranslations::firstOrCreate(['search_value' => $searchValue, 'attribute' => $attribute, 'language_id' => $language_id, 'model' => $this->getModelName(), 'default_value' => $this->getDefaultValueFor($attribute)]); $q->value = $value; return $q->save(); }