翻译不能与symfony2.1一起使用

时间:2012-12-07 07:04:40

标签: layout configuration routing translation symfony-2.1

翻译有问题是Symfony2.1 我尝试了symfony_book中提供的几乎所有方法但是,只有从英语到frensh的翻译工作,反过来不起作用 这是我的routing.yml

_acceuil:
pattern:  /{_locale}/acceuil/
defaults: { _controller: gestionConferenceApplicationBundle:acceuil:acceuil, _locale: en }
requirements:
  _locale: en|fr|de

是我的布局页面,我已经找到了链接,以便在langage之间切换:

<a  style="padding-top: -10px;" href="{{ path('_acceuil', {'_locale': 'fr' }) }}" >FRANCAIS</a>
        <a  style="padding-top: -10px;" href="{{ path('_acceuil', {'_locale': 'en' }) }}" >ANGLAIS</a>

和这行测试

{{ 'welcome in my site'|trans }}

这是我的messages.fr.xlf

    <?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>welcome in my site</source>
                <target>bienvenue dans mon site</target>
            </trans-unit>
        </body>
    </file>
</xliff>

这是我的messages.en.xlf

    <?xml version="1.0"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
    <file source-language="fr" datatype="plaintext" original="file.ext">
        <body>
            <trans-unit id="1">
                <source>bienvenue dans mon site</source>
                <target>welcome in my site</target>
            </trans-unit>
        </body>
    </file>
</xliff>

以下是我对config.yml感兴趣的部分:

framework:
#esi:             ~
translator:      { fallback: en }
secret:          "%secret%"
router:
    resource: "%kernel.root_dir%/config/routing.yml"
    strict_requirements: "%kernel.debug%"
form:            true
csrf_protection: true
validation:      { enable_annotations: true }
templating:      { engines: ['twig'] } #assets_version: SomeVersionScheme
default_locale:  en
trust_proxy_headers: false # Whether or not the Request object should trust proxy headers (X_FORWARDED_FOR/HTTP_CLIENT_IP)
session:         ~

当我跑步时,我总是:

bienvenue dans mon site

我怎样才能实现

提前谢谢

1 个答案:

答案 0 :(得分:0)

我知道为什么你的翻译不起作用。

因为翻译source仍然相同。它是您模板中的字符串。

所以前:

{{'My Trans'|trans()}}

消息目录shoudl看起来像这样:

'My Trans': 'My trans FR'

和en trans:

'My Trans': 'My trans EN'

我希望这个例子可以帮助你。