Hello,
I've got a question about localization and translated routes :
I wonder if there is a solution to combine 'named routes' and the 'lang() function' to translate URL and keep the app very simple to update for future developments.
First I made my translations in Routes.php like this :
PHP Code:
/*In my template-view header.php*/
echo '<a class="menu" href="'.$base.route_to('studio_'.$locale).'">'.lang('App.menu.studio').'</a>';
/* In Routes.php (translations in Routes for all languages and all routes... :-/ )*/
$routes->get('{locale}/the_studio', 'Home::index', ['as' => 'studio_en']);
$routes->get('{locale}/l_atelier', 'Home::index', ['as' => 'studio_fr']);
/*In app/Language/en/app.php (only for hyperlink)*/
return [ 'menu' => [ 'studio' => 'the studio' ] ];
If possible I would like to put all translations in app/Language... I've tried this without success :
PHP Code:
/*In my template-view header.php*/
echo '<a class="menu" href="'.$base.route_to('studio').'">'.lang('App.menu.studio').'</a>';
/* In Routes.php */
$routes->get('{locale}/'.lang('App.url.studio'), 'Home::index', ['as' => 'studio']);
/*In app/Language/en/app.php */
return [
'url' => [ 'studio' => "the_studio" ],
'menu' => [ 'studio' => 'the studio' ]
];
It almost works, because Routes.php reads a part of the translation... but just the default language. there is no update of the locale with
{locale}... Do you know a way to do it ?
Thank you for any help !