X-Git-Url: https://git.rapsys.eu/blogbundle/blobdiff_plain/1e2368f59f27fdbd106908fee95c9cba4b281299..d3028f63781ff2767401e31e36ee1c99e6fc484b:/Controller/AbstractController.php diff --git a/Controller/AbstractController.php b/Controller/AbstractController.php index 2efdd34..fca2be9 100644 --- a/Controller/AbstractController.php +++ b/Controller/AbstractController.php @@ -337,7 +337,7 @@ abstract class AbstractController extends BaseAbstractController implements Serv 'logo' => $this->config['logo'], 'next' => null, 'prev' => null, - 'root' => $this->router->generate($this->config['root']), + 'root' => $this->config['root'], 'title' => [ 'page' => null, 'section' => null, @@ -393,6 +393,27 @@ abstract class AbstractController extends BaseAbstractController implements Serv //Set locale locales context $parameters['alternates'][$shortCurrent] = $parameters['alternates'][str_replace('_', '-', $locale)]; } + //Add shorter locale + } elseif (empty($parameters['alternates'][$shortCurrent = substr($locale, 0, 2)])) { + //Set titles + $titles = []; + + //Set route params locale + $routeParams['_locale'] = $locale; + + //Iterate on other locales + foreach(array_diff($this->config['locales'], [$locale]) as $other) { + //Set other locale title + $titles[$other] = $this->translator->trans($this->config['languages'][$locale], [], null, $other); + } + + //Set locale locales context + $parameters['alternates'][$shortCurrent] = [ + 'absolute' => $this->router->generate($this->route, $routeParams, UrlGeneratorInterface::ABSOLUTE_URL), + 'relative' => $this->router->generate($this->route, $routeParams), + 'title' => implode('/', $titles), + 'translated' => $this->translator->trans($this->config['languages'][$locale], [], null, $locale) + ]; } } }