diff --git a/composer.json b/composer.json index 89124e1..077ea59 100644 --- a/composer.json +++ b/composer.json @@ -4,51 +4,52 @@ "minimum-stability": "stable", "prefer-stable": true, "require": { - "php": ">=8.1", - "ext-ctype": "*", - "ext-iconv": "*", - "doctrine/annotations": "^2.0", - "doctrine/dbal": "^3", + "php": ">=8.1", + "ext-ctype": "*", + "ext-iconv": "*", + "doctrine/annotations": "^2.0", + "doctrine/dbal": "^3", "doctrine/doctrine-bundle": "^2.9", "doctrine/doctrine-migrations-bundle": "^3.2", - "doctrine/orm": "^2.15", + "doctrine/orm": "^2.15", "phpdocumentor/reflection-docblock": "^5.3", - "phpstan/phpdoc-parser": "^1.20", + "phpstan/phpdoc-parser": "^1.20", "stof/doctrine-extensions-bundle": "^1.7", - "symfony/asset": "6.4.*", - "symfony/asset-mapper": "6.4.*", - "symfony/console": "6.4.*", + "symfony/asset": "6.4.*", + "symfony/asset-mapper": "6.4.*", + "symfony/console": "6.4.*", "symfony/doctrine-messenger": "6.4.*", - "symfony/dotenv": "6.4.*", + "symfony/dotenv": "6.4.*", "symfony/expression-language": "6.4.*", - "symfony/flex": "^2", - "symfony/form": "6.4.*", + "symfony/flex": "^2", + "symfony/form": "6.4.*", "symfony/framework-bundle": "6.4.*", - "symfony/http-client": "6.4.*", - "symfony/intl": "6.4.*", - "symfony/mailer": "6.4.*", - "symfony/mime": "6.4.*", - "symfony/monolog-bundle": "^3.0", - "symfony/notifier": "6.4.*", - "symfony/process": "6.4.*", - "symfony/property-access": "6.4.*", - "symfony/property-info": "6.4.*", - "symfony/rate-limiter": "6.4.*", - "symfony/runtime": "6.4.*", - "symfony/security-bundle": "6.4.*", - "symfony/serializer": "6.4.*", - "symfony/string": "6.4.*", - "symfony/translation": "6.4.*", - "symfony/twig-bundle": "6.4.*", - "symfony/validator": "6.4.*", - "symfony/web-link": "6.4.*", - "symfony/yaml": "6.4.*", + "symfony/http-client": "6.4.*", + "symfony/intl": "6.4.*", + "symfony/mailer": "6.4.*", + "symfony/mime": "6.4.*", + "symfony/monolog-bundle": "^3.0", + "symfony/notifier": "6.4.*", + "symfony/process": "6.4.*", + "symfony/property-access": "6.4.*", + "symfony/property-info": "6.4.*", + "symfony/rate-limiter": "6.4.*", + "symfony/runtime": "6.4.*", + "symfony/security-bundle": "6.4.*", + "symfony/serializer": "6.4.*", + "symfony/string": "6.4.*", + "symfony/translation": "6.4.*", + "symfony/twig-bundle": "6.4.*", + "symfony/validator": "6.4.*", + "symfony/web-link": "6.4.*", + "symfony/yaml": "6.4.*", "symfonycasts/sass-bundle": "^0.6.0", "symfonycasts/verify-email-bundle": "^1.17", - "twbs/bootstrap": "^5.3", - "twig/extra-bundle": "^3.0", - "twig/string-extra": "^3.10", - "twig/twig": "^3.0" + "twbs/bootstrap": "^5.3", + "twig/extra-bundle": "^3.0", + "twig/intl-extra": "^3.9", + "twig/string-extra": "^3.10", + "twig/twig": "^3.0" }, "config": { "allow-plugins": { diff --git a/config/packages/twig.yaml b/config/packages/twig.yaml index ea00709..16db1b3 100644 --- a/config/packages/twig.yaml +++ b/config/packages/twig.yaml @@ -2,6 +2,9 @@ twig: default_path: '%kernel.project_dir%/templates' form_themes: [ 'bootstrap_5_horizontal_layout.html.twig' ] + globals: + locale_all: '%locale.all%' + when@test: twig: strict_variables: true diff --git a/config/routes.yaml b/config/routes.yaml index c8c0dd6..648c9f7 100644 --- a/config/routes.yaml +++ b/config/routes.yaml @@ -7,4 +7,4 @@ controllers: path: ../src/Controller/ namespace: App\Controller type: attribute - prefix: /{_locale<%locale.all%>} \ No newline at end of file + prefix: /{_locale<%locale.all_string%>} \ No newline at end of file diff --git a/config/services.yaml b/config/services.yaml index 37292ac..1cb5249 100644 --- a/config/services.yaml +++ b/config/services.yaml @@ -7,7 +7,8 @@ parameters: mailer.email: '%env(MAILER_EMAIL)%' mailer.name: '%env(MAILER_NAME)%' - locale.all: 'en|fr' + locale.all: [ 'en', 'fr' ] + locale.all_string: 'en|fr' locale.default: 'en' services: diff --git a/src/Controller/CoreController.php b/src/Controller/CoreController.php index 93590bf..064d9bb 100644 --- a/src/Controller/CoreController.php +++ b/src/Controller/CoreController.php @@ -20,7 +20,7 @@ class CoreController extends AbstractController { */ public function root_redirect (Request $request): Response { return $this->redirectToRoute('core_main', [ - '_locale' => $request->getPreferredLanguage(explode('|', $this->getParameter('locale.all'))), + '_locale' => $request->getPreferredLanguage($this->getParameter('locale.all')), ]); } diff --git a/templates/base.html.twig b/templates/base.html.twig index 7bbfdd1..f64b69d 100644 --- a/templates/base.html.twig +++ b/templates/base.html.twig @@ -1,22 +1,34 @@ {% extends "/symfony.html.twig" %} {% block headerTag %} -
+
{% endblock %} {% block headerContent %} - + {% endblock %} \ No newline at end of file