Skip to content

Instantly share code, notes, and snippets.

@robozavri
Last active January 16, 2019 13:53
Show Gist options
  • Save robozavri/b689dd71c73ed78b883b0e9b2bdffad6 to your computer and use it in GitHub Desktop.
Save robozavri/b689dd71c73ed78b883b0e9b2bdffad6 to your computer and use it in GitHub Desktop.
laravel updated language script
// route.php
$locale = Request::segment(1);
// url ში არსებული უკვე ვალიდური ენი სკოდი გამოვიყნოთ ენის პარამეტრების
// დაყენებისთვის
if (in_array( $locale, ['en', 'ru','ge'] ))
{
if(\App::getLocale() != $locale)
{
\App::setLocale($locale);
session(['locale' => $locale]);
}
}elseif( \App::getLocale() == null ) {
$locale = \Config::get('app.locale');
session(['locale' => $locale]);
\App::setLocale($locale);
}else{
$locale = \App::getLocale();
}
// providers / AppServiceProviders ში boot() მეთოდი
public function boot()
{
Schema::defaultStringLength(191);
\App\Http\Controllers\LanguageController::setLanguage();
}
// LanguageController::setLanguage(); ის მეთოდი
public static function setLanguage()
{
if(!is_null(\Cookie::get('locale')))
{
$locale = \Crypt::decryptString(\Cookie::get('locale'));
session(['locale' => $locale]);
\App::setLocale($locale);
}else{
session(['locale' => \Config::get('app.locale')]);
\App::setLocale(\Config::get('app.locale'));
}
}
// აიაქსით რომ შეიცვალოს ენა ამისთვის ამ მეთოდს გამოვიყენებთ ამავე კონტროლერში LanguageController::setLanguage();
public function changeLanguage(Request $request){
if($request->ajax()){
$request->session()->put('locale',$request->locale);
$request->session()->flash('alert-success',('app.Locale_Change_Success'));
App::setLocale($request->locale);
return response()->json([
'status' => "sucsess",
'langcodeApp' => App::getLocale(),
'langcode' => session('locale'),
'domain' => Config::get('app.url'),
'message' => "language was changed sucsessfuly",
])->cookie(
'locale', $request->locale, 432000
);
}
abort(404);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment