翻译有问题是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
我怎样才能实现
提前谢谢
答案 0 :(得分:0)
我知道为什么你的翻译不起作用。
因为翻译source
仍然相同。它是您模板中的字符串。
所以前:
{{'My Trans'|trans()}}
消息目录shoudl看起来像这样:
'My Trans': 'My trans FR'
和en trans:
'My Trans': 'My trans EN'
我希望这个例子可以帮助你。