這個解決方案竟然適用於我。 我認爲還有改進的空間,但是效果很好。
這種解決方案相對於其他類似的人的好處是,本地化是爲每一個環節,但不會更改語言後修改routes.php
和 不重裝他的網站主頁。
我filter.php:
// filter.php
App::before(function($request)
{
// Setting the locale
$segments = $request->segments();
$locale = "";
$index = 0;
foreach($segments as $segment){
$index++;
$locale = $segment;
}
// Set the local in Session if it's supported
if ($index > 0 && array_key_exists($locale, Config::get('app.locales'))) {
Session::put('locale', $locale);
$segments = array_slice($segments,0, $index-1);
// Reload the site without the ending /language part
return Redirect::to(implode('/', $segments));
}
if(!Session::has('locale'))
{
Session::put('locale', $request->getPreferredLanguage(Config::get('app.languages')));
}
App::setLocale(Session::get('locale'));
});
這是我app.php:
//app.php
...
'locales' => ['en' => 'English', 'hr' => 'Hrvatski'],
'languages' => ['en', 'hr'],
...
請張貼你到目前爲止(routes文件和其他任何相關)的代碼。 – Bogdan
我剛剛爲此做了一個可能的解決方案。我會在幾分鐘後發佈它 – Traveller
我沒有放任何代碼示例,因爲它們與默認的相同。 – Traveller