我想翻译完成的网页,我已经按照本教程:https://coderwall.com/p/eiqd_g
当我尝试在树枝模板中翻译此字符串时:
'Bienvenido a Itransformer.es'
像这样:
{{ 'Bienvenido a Itransformer.es'|trans|raw }}
这应该逃避字符串(Symfony2 doc),但它不会。
当我这样做时:
php app/console translation:extract en --bundle=MSDHomeBundle --enable-extractor=jms_i18n_routing --output-format=yml --exclude-dir=Tests
我收到下一个文件message.en.yml
:
'Bienvenido a Itransformer':
es: 'Bienvenido a Itransformer.es'
虽然我希望看到:
'Bienvenido a Itransformer.es':'Welcome to Itransformer.es'
任何人都知道我错过了什么或做错了什么?
答案 0 :(得分:2)
逃避文档正在谈论的是在浏览器上打印时的转义。例如。如果您的文本中有HTML标记,那么当您转义时,它不会呈现为标记,而是呈现为纯文本。
请注意,使用|raw
过滤器,您不转义。默认情况下,Escaping处于启用状态,但在使用该过滤器时,它已关闭。
回答你的问题。点字符用于keyword messages。这就是为什么翻译文章假设您使用关键字消息而不是真实消息。
您只需将其更改为'Bienvenido a Itransformer.es':'Welcome to Itransformer.es'
即可。提取器转储的配置也应该没有问题,因为Symfony正在添加点本身。
答案 1 :(得分:0)
关于转义'
字符的问题。
我在message.en.yaml中使用double:
I_M_HERE: 'I''m here'