微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 无法转义翻译消息中的点字符

我想翻译一个完成的网页,我已经按照本教程: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'

谁知道我错过了什么或做错了什么?

解决方法:

逃避文档谈论的是在浏览器上打印时的转义.例如.如果您的文本中有HTML标记,则在转义时它不会呈现为标记,而是呈现为纯文本.

请注意,使用原始过滤器,您无法转义.认情况下,Escaping处于启用状态,但在使用该过滤器时,它已关闭.

回答你的问题.点字符在keyword messages中使用.这就是为什么翻译提示符假定您使用的是关键字消息而不是真实消息.

您可以将其更改为’Bienvenido a Itransformer.es’:’Welcome to Itransformer.es’.由于Symfony正在添加点本身,因此提取器转储的配置也应该没有问题.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐