douyu0725 2015-01-12 20:51
浏览 20
已采纳

翻译不适用于Symfony2

I have a file with french translations located in FooBundle/Resources/translations/messages.fr.xlf

Example:

<?xml version="1.0"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
    <file source-language="en" datatype="plaintext" original="file.ext">
        <body>
            <trans-unit id="1">
                <source>Foo</source>
                <target>Bar</target>
            </trans-unit>
        </body>
    </file>
</xliff>

But I can't seem to make any translation work, neither in the controller:

// FooBundle/Controller/DefaultController.php
/**
 * @Route("/")
 * @Template()
 */
public function indexAction(Request $request)
{
    $request->setLocale("fr");
    $translatedMessage = $this->get('translator')->trans('Foo');

    echo $translatedMessage;

    return array();
}

Or the twig template:

// FooBundle/Resources/views/Default/index.html.twig
{{ 'Foo'|trans }} or {% trans %}Foo{% endtrans %}

It always shows Foo (the original string).

As my default locale I use english ('en'). My locale config from config.yml:

framework:
    translator: { fallback: "%locale%" }
    default_locale: "%locale%"
    ...

I've tried to clean up the cache but it didn't make any difference.

If I try to debug the translations, it shows that they are being used:

$ php app/console debug:translation fr FooBundle

+----------+---------------+----------------------+
| State(s) | Id            | Message Preview (fr) |
+----------+---------------+----------------------+
|          | Foo           | Bar                  |
+----------+---------------+----------------------+

Any idea what is going wrong here?

  • 写回答

1条回答 默认 最新

  • dongxunhua2054 2015-01-16 14:12
    关注

    It seems that the problem was another bundle I have installed (LuneticsLocaleBundle).

    Somehow it must override the $request->setLocale("fr"); I do in the controller so it turns out I was using en_US as locale. That was the reason why it wasn't showing the translations.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 BP神经网络控制倒立摆
  • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
  • ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算