New in Symfony 5.4: Language Negotiation

Contributed by Robin Chalas and Grégoire Hébert in #43108.

The Accept-Language request HTTP header indicates the natural language and locale that the user prefers when browsing contents. It can be as simple as Accept-Language: to accept any languages/locales or as complex as providing multiple prioritized languages/locales like Accept-Language: es-MX, es;q=0.9, en;q=0.8, ;q=0.5. In Symfony 5.4, we've added new config options to integrate Accept-Language into your applications seamlessly:

    1

2 3 4 5 6

config/packages/framework.yaml

framework:

...

set_locale_from_accept_language: true
set_content_language_from_locale: true
enabled_locales: ['da', 'no', 'sv']

When set_locale_from_accept_language (which is false by default) is set to true, the request locale is automatically set based on the Accept-Language value. The value of the locale route attribute always overrides this option. Moreover, if you define the framework.enabled_locales option (which is the new name of the existing framework.translator.enabled_locales option) the request locale will be restricted to one of those values (in the above example, it can only be Danish, Norwegian or Swedish) regardless of the Accept-Language value. When set_content_language_from_locale (which is false by default) is set to true, the value of the Content-Language HTTP response header is automatically set based on the request locale. These new options will allow your application to better reply to the language preferences of your visitors and users. It's already being considered in Symfony ecosystem applications such as API Platform and Sylius.

                Sponsor the Symfony project.

https://symfony.com/blog/new-in-symfony-5-4-language-negotiation?utm_source=Symfony%20Blog%20Feed&utm_medium=feed

Creato 4y | 18 nov 2021, 09:20:22


Accedi per aggiungere un commento

Altri post in questo gruppo

New in Symfony 7.3: Mailer Security Improvements

The Symfony Mailer component provides many security-related features like signing and encrypting email messages. In Symfony 7.3 we're pushing those features even further to give you greater control an

9 mag 2025, 09:20:10 | Symfony
SymfonyOnline June 2025: Detect Hidden Defects: Check Your PHP Tests

SymfonyOnline June 2025 is almost here, starting in almost 2 months on:

June 10-11: Workshop days. It is possible to attend 1 two-day training or 2 one-day trainings. June 12-13: Online confe

8 mag 2025, 14:40:19 | Symfony
New in Symfony 7.3: JsonPath Component

Contributed by Alexandre Daubois in

8 mag 2025, 10:10:10 | Symfony
SymfonyOnline June 2025: Combining Turbo, LiveComponent & Stimulus... the Right Way?

SymfonyOnline June 2025 is almost here, starting in almost 2 months on:

June 10-11: Workshop days. It is possible to attend 1 two-day training or 2 one-day trainings. June 12-13: Online confe

7 mag 2025, 13:10:15 | Symfony
New in Symfony 7.3: New and Improved Console Helpers

Symfony 7.3 introduces powerful improvements to the Console component, beyond the much-anticipated invokable commands and input attributes. This version also brings new helpers and features designed t

7 mag 2025, 08:30:04 | Symfony
New in Symfony 7.3: Static Error Pages

Contributed by Loick Piera in

6 mag 2025, 09:20:10 | Symfony
New in Symfony 7.3: Simpler Server Event Streaming

Contributed by Yonel Ceruto in

5 mag 2025, 07:50:03 | Symfony