Я только начинаю использовать symfony2 и сталкиваюсь с некоторыми трудностями, требующими помощи от таких экспертов, как вы, ребята.
Вопрос 1: Как установить языковой стандарт по умолчанию и резервный языковой стандарт, чтобы люди пытались найти что-то вроде www.example.com/home или www.example.com/fr/home (не поддерживается языковой стандарт), перенаправят на www.example.com / сп / дома?
Я много читал из документа symfony2 (http://symfony.com/doc/current/book/translation.html), а также поиск в Google, но я до сих пор не могу заставить его работать. Не только локаль по умолчанию не работает, резервная локаль также не работает. Например, когда пользователь пытается ввести www.example.com/fr/home, который не поддерживается моим приложением, он предполагает перенаправить пользователя на www.example.com/cn/home, но это не удается сделать.
Я также пытаюсь очистить кеш, но кажется, что он не работает.
Вопрос 2: Как сопоставить ключ перевода в случае нечувствительности к регистру?
Например, в моем файле перевода («message.cn.yml») содержится
Welcome: 欢迎
Так что в моем шаблоне ветки я использую {{‘желанный‘| trans}} это поможет мне преобразовать в 欢迎, но когда я использую {{‘добро пожаловать‘| trans}} это не будет конвертировать. Есть ли способы сделать его нечувствительным к регистру, поэтому мне не нужно специально добавлять ключ »добро пожаловать: 欢迎 «в файл message.cn.yml.
Ваша помощь и предложение очень ценится. Спасибо.
Ниже приведены файлы моего приложения для ознакомления:
Файл переводов:
Файл параметров:
Конфиг файл:
Файл маршрутизации в конкретном пакете («Acme / DemoBundle»):
Файл ветки:
Вот результат, когда я ударил
Вы можете установить локаль для запроса:
$this->container->get('request_stack')->getCurrentRequest()->setLocale($locale);
и вы можете установить локаль для запроса, используя прослушиватель запросов:
http://symfony.com/doc/current/cookbook/service_container/event_listener.html#request-events-checking-types
для второго вопроса вы можете добавить преобразование в нижний регистр:
{{ 'WELCOME'|lower | translate}}
или вы можете создать свое собственное расширение ветки, которое выполняет перевод и другие вещи между ними:
http://symfony.com/doc/current/cookbook/templating/twig_extension.html
Других решений пока нет …