@@ -2416,6 +2416,54 @@ with a locale. This can be done by defining a different prefix for each locale
24162416 ;
24172417 };
24182418
2419+ .. tip ::
2420+
2421+ If the special :ref: `_locale <routing-locale-parameter >` routing parameter
2422+ is set on any of the imported routes, that route will only be available
2423+ with the prefix for that locale. This is useful when you want to import
2424+ a collection of routes which contains a route that should only exist
2425+ in one of the locales:
2426+
2427+ .. configuration-block ::
2428+
2429+ .. code-block :: php-annotations
2430+
2431+ // src/Controller/CompanyController.php
2432+ namespace App\Controller;
2433+
2434+ use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
2435+ use Symfony\Component\HttpFoundation\Response;
2436+ use Symfony\Component\Routing\Annotation\Route;
2437+
2438+ class CompanyController extends AbstractController
2439+ {
2440+ /**
2441+ * @Route("/about-us/en-only", locale="en", name="about_us")
2442+ */
2443+ public function about(): Response
2444+ {
2445+ // ...
2446+ }
2447+ }
2448+
2449+ .. code-block :: php-attributes
2450+
2451+ // src/Controller/CompanyController.php
2452+ namespace App\Controller;
2453+
2454+ use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
2455+ use Symfony\Component\HttpFoundation\Response;
2456+ use Symfony\Component\Routing\Annotation\Route;
2457+
2458+ class CompanyController extends AbstractController
2459+ {
2460+ #[Route('/about-us/en-only', locale: 'en', name: 'about_us')]
2461+ public function about(): Response
2462+ {
2463+ // ...
2464+ }
2465+ }
2466+
24192467 Another common requirement is to host the website on a different domain
24202468according to the locale. This can be done by defining a different host for each
24212469locale.
0 commit comments