Skip to content

Commit 55215ca

Browse files
nicworteljaviereguiluz
authored andcommitted
[Routing] Document the effect of setting locale on a route with locale prefixes
1 parent ef7b670 commit 55215ca

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

routing.rst

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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
24202468
according to the locale. This can be done by defining a different host for each
24212469
locale.

0 commit comments

Comments
 (0)