我正试着在我的网站上添加翻译,但它没有翻译。我制作了用于本地化的控制器,如下所示
class LocalizationController extends Controller {
public function index($locale) {
App::setLocale($locale);
//store the locale in session so that the middleware can register it
session()->put('locale', $locale);
return redirect()->back();
}
}
我还制作了一个用于本地化的中间件。
Localization.php
class Localization {
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next) {
App::setLocale(env('APP_LOCALE'));
return $next($request);
}
}
我在我的resources/lang
文件夹中制作了en,ro,pk等语言的文件夹,在这些语言文件夹中,我制作了相应的文件,其中给出了相应的翻译。例如,对于罗马尼亚语,翻译如下
ro.json文件
{
"Hi there!": "Salut",
"How are you doing?": "Ce mai faci?",
"This is basic example of how you use Laravel Localizations": "Acesta este un exemplu de bază despre cum puteți utiliza localizarea pârghiei"
}
我的路线是:
Route::get('lang/{locale}', 'LocalizationController@index');
但是我找不到确切的问题,为什么它不设置我在下拉列表中选择的语言环境?
任何帮助都会高度appreciated...Thank你
发布于 2021-03-23 12:04:24
这就是如何在Laravel上实现跨所有页面的翻译
添加控制器:
class LocalizationController extends Controller {
public function index($locale){
session()->put('locale', $locale);
return redirect()->back();
}
}
在您的web.php上:
Route::get('/locale/{locale}', [LanguageController::class, 'index']);
在刀片视图(语言选择器)上:
<a class="dropdown-item" href="/locale/en">English</a>
<a class="dropdown-item" href="/locale/fr">French</a>
这应该能起到作用!
https://stackoverflow.com/questions/62812382
复制相似问题