Based on this thread I tried to implement extra english language for my website, default is french and doesn't use any prefix so something like www.website.com
and switching to english would be www.website.com/en/
, I'd like to have the url for contact pages such as www.website.com/en/contact
and www.website.com/contact
for english and french version respectively.
My current routes.php
if (Request::segment(1) == 'en') {
App::setLocale(Request::segment(1));
Config::set('app.locale_prefix', Request::segment(1));
}
else {
App::setLocale('fr');
Config::set('app.locale_prefix', '');
}
Route::group(array('prefix' => Config::get('app.locale_prefix')), function()
{
Route::get(
'/',
function () {
//return "main page - ".App::getLocale();
return view('index');
}
);
Route::get(
'/contact/',
function () {
return view('contact');
});
});
My header file where the flag icon to switch language is
@if (Lang::locale() == 'fr')
<a href="{{ url('/en/' . Request::segment(1)) }}"><img src="{{asset('images/GB.png')}}"></a>
@elseif (strcasecmp(Request::segment(1), 'en') == 0 && Request::segment(2) != NULL)
<a href="{{ url( Request::segment(2)) }}"><img src="{{asset('images/FR.png')}}"></a>
@else
<a href="{{ url( '/') }}"><img src="{{asset('images/FR.png')}}"></a>
@endif
and the way I generate urls
<a class="block-title" href="{{ (strcasecmp(Request::route()->getPrefix(), '/en') == 0) ? url('en/contact') : url('/contact') }}">CONTACT</a>
I'd like to know a cleaner way to generate these and how I can get for english main page url to be www.website.com/en/
instead of www.website.com/en
Thanks a lot !