в synfony4 Как заставить локаль 'en', не используя предпочтительный язык - PullRequest
0 голосов
/ 05 июля 2019

в synfony4 я взял демонстрационное приложение symfony и хочу знать, как заставить defaultlocale 'en' перейти на мою домашнюю страницу, не выбирая предпочитаемый язык браузера 'fr'. Я просто хочу изменить выбор языка только вручную

SERVICE.yaml

parameters:
    locale: 'en'
    # This parameter defines the codes of the locales (languages) enabled in the application
    app_locales: en|fr|de|es|cs|nl|ru|uk|ro|pt_BR|pl|it|ja|id|ca|sl|hr|zh_CN|bg|tr|lt
    app.notifications.email_sender: anonymous@example.com

services:
    # default configuration for services in *this* file
    _defaults:
        autowire: true      # Automatically injects dependencies in your services.
        autoconfigure: true # Automatically registers your services as commands, event subscribers, etc.
        bind:               # defines the scalar arguments once and apply them to any service defined/created in this file
            $locales: '%app_locales%'
            $defaultLocale: 'en'
            $emailSender: '%app.notifications.email_sender%'

FRAMEWORK.yaml

framework:
    default_locale: 'en'

Я ожидал, что первое перенаправление будет 127.0.0.1:8000/en или 127.0.0.1:8000

.

Но фактический результат - 127.0.0.1:8000/fr

.

1 Ответ

0 голосов
/ 06 июля 2019

Вы можете просто избавиться от всех локалей и параметров локали по умолчанию, поэтому в services.yaml у вас останется:

parameters:
    locale: 'en'
    app.notifications.email_sender: anonymous@example.com

services:
    # default configuration for services in *this* file
    _defaults:
        autowire: true      # Automatically injects dependencies in your services.
        autoconfigure: true # Automatically registers your services as commands, event subscribers, etc.
        bind:               # defines the scalar arguments once and apply them to any service defined/created in this file
            $emailSender: '%app.notifications.email_sender%'

в framework.yaml Вы можете просто удалить строку.

Если задан только один языковой стандарт, перенаправление на языковой стандарт отсутствует, поэтому на встроенном сервере будет отображаться значение 127.0.0.1:8000.

...