首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Symfony 4翻译

Symfony 4翻译
EN

Stack Overflow用户
提问于 2018-06-09 21:46:46
回答 1查看 455关注 0票数 0

我一直在尝试这样做:https://symfony.com/doc/current/translation.html

但似乎没有人对翻译有任何问题,我必须完全弄错。

我的区域设置在'services.yaml‘中设置为'fr’

我有我的message.en.xlf和message.fr.xlf

这是我的.fr:

代码语言:javascript
复制
<?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>

在控制器中尝试(收到“缺少转换键”警告):

代码语言:javascript
复制
var_dump($translator->trans("homepage_presta"));

或者在细枝中:

代码语言:javascript
复制
{{ 'homepage.presta'|trans }}  

但是什么都不起作用..最后,我想根据浏览器语言翻译成正确的语言,如果在导航栏中选择了语言(就像在cookie中?),则翻译成某种语言。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-10 02:44:49

代码语言:javascript
复制
/**
 * @Route("/test/translation")
 */
public function translationAction(TranslatorInterface $translator)
{
    dump($translator->trans("homepage.presta"));

    return new Response('<html><body>testaroni</body></html>');
}

对我来说很有效。一些事情..。

messages not

  1. 默认的转换域是
  2. ,所以您的文件应该是translations/messages.fr.xlf
  3. I'm而不是xlf,但是您似乎必须使用<source>homepage.presta</source>进行转换,而不是id message。每次创建新的转换文件php bin/console cache:clear

时,请忘记清除缓存

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50774935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档