0

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

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

是我的布局页面,我有那些允许在语言之间切换的链接:

<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

我怎样才能做到这一点

先感谢您

4

1 回答 1

0

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

因为翻译source还是这个样子。它是您模板中的字符串。

所以例如:

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

消息目录应该如下所示:

'My Trans': 'My trans FR'

和en trans:

'My Trans': 'My trans EN'

我希望这个例子对你有所帮助。

于 2012-12-10T11:22:41.747 回答