Пытался поработать с этим: https://symfony.com/doc/current/translation.html
Но, похоже, ни у кого нет проблем с переводами, я, должно быть, ошибаюсь.
Моя локаль установлена на 'fr' в 'services.yaml'
У меня есть сообщения message.en.xlf и message.fr.xlf
Вот мой .fr:
<?xml version = "1.0"?>
<xliff version = "1.2" xmlns = "urn:oasis:names:tc:xliff:document:1.2">
<file source-language = "en" target-language = "fr" datatype = "plaintext" original = "file.ext">
<body>
<trans-unit id = "homepage_presta">
<source>homepage.presta</source>
<target>Les prestations</target>
</trans-unit>
</body>
</file>
</xliff>
Пробовал в контроллере (появляется предупреждение "отсутствует ключ перевода"):
var_dump($translator->trans("homepage_presta"));
или в веточке:
{{ 'homepage.presta'|trans }}
Но ничего не работает .. В конце концов, я хотел бы перевести на нужный язык в зависимости от языка браузера, а затем на какой-то язык, если он выбран на панели навигации (например, в файле cookie?).




/**
* @Route("/test/translation")
*/
public function translationAction(TranslatorInterface $translator)
{
dump($translator->trans("homepage.presta"));
return new Response('<html><body>testaroni</body></html>');
}
у меня работает ... несколько вещей ...
домен перевода по умолчанию - это сообщения, а не сообщения, поэтому ваш файл должен быть translations / messages.fr.xlf
Я не привык к xlf, но похоже, что для перевода нужно использовать <source>homepage.presta</source>, а не идентификатор homepage_presta
Не забывайте очищать кеш каждый раз, когда вы создаете новый файл перевода php bin/console cache:clear.
Спасибо, в моем файле пропущена буква "s" .. Думаю, имя файла не имеет значения: s