Symfony 4 翻译
Symfony 4 translation
我一直在努力解决这个问题:https://symfony.com/doc/current/translation.html
但是好像没有人对翻译有任何问题,我一定是完全错了。
我的语言环境在 'services.yaml'
中设置为 'fr'
我有我的 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>
一直在控制器中尝试(收到 "missing translation key" 警告):
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>');
}
对我有用……有几件事……
默认翻译域是 messages 而不是 message 所以你的文件应该是 translations/messages.fr.xlf
我不习惯 xlf 但看来你必须使用 <source>homepage.presta</source>
作为你的翻译而不是 id homepage_presta
每次创建新的翻译文件时不要忘记清除缓存 php bin/console cache:clear
我一直在努力解决这个问题:https://symfony.com/doc/current/translation.html
但是好像没有人对翻译有任何问题,我一定是完全错了。
我的语言环境在 'services.yaml'
中设置为 'fr'我有我的 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>
一直在控制器中尝试(收到 "missing translation key" 警告):
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>');
}
对我有用……有几件事……
默认翻译域是 messages 而不是 message 所以你的文件应该是 translations/messages.fr.xlf
我不习惯 xlf 但看来你必须使用
<source>homepage.presta</source>
作为你的翻译而不是 idhomepage_presta
每次创建新的翻译文件时不要忘记清除缓存
php bin/console cache:clear