Symfony2翻译 - 在生成的YML文件和其他问题中双重下划线

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Symfony2翻译 - 在生成的YML文件和其他问题中双重下划线相关的知识,希望对你有一定的参考价值。

我用它来生成我的翻译文件

php bin/console translation:update --force --output-format=yml it JakeNameOfBundle

这就产生了这样的结果

Register: __Register
Blog: __Blog
'Why?': '__Why?'
'Your message has been sent, thank you.': '__Your message has been sent, thank you.'
'Next on the Development List': '__Next on the Development List'
'Supported Game Systems': '__Supported Game Systems'
'Toggle navigation': '__Toggle navigation'
'Game Systems': '__Game Systems'
Home: __Home
Login: __Login
My: __My

几个问题;

  1. 为什么所有内容都以__(双下划线)为前缀。如果我将它们留在那里,那么它们在翻译期间出现在我的网站上似乎是错误的,因此需要手动删除它们。
  2. 我可以将单引号更改为双引号。许多其他语言在单词中使用单引号
  3. 我可以确保所有内容总是包含在某种引用中 - 似乎单个单词根本不包含在内。
答案

这个命令似乎有一个--prefix选项,默认为“__”;应该可以将它设置为空字符串。至于引用,从我所看到的,它似乎被硬编码到Symfony的yaml转储器(Symfony Component Yaml Inline)中,它自己确定字符串是否需要引用,如果它需要是双引号;我不认为它可以通过配置改变。

另一答案

在我的情况下,使用控制台命令更新翻译后出现问题。由于某种原因,一些字符串生成错误并放在app/Resources/translations(我通常在其他地方有它们)。只需删除这些文件即可解决问题。

以上是关于Symfony2翻译 - 在生成的YML文件和其他问题中双重下划线的主要内容,如果未能解决你的问题,请参考以下文章

Symfony2 长文本翻译

在 Symfony2 中,validation.yml 文件可以使用导入拆分成多个文件吗?

使用 YAML 文件的 Symfony 翻译

Symfony2 停止 Composer 将 parameters.yml.dist 安装到 parameters.yml

在 Symfony2 中访问与 Bundle 相关的文件

如何从 Symfony2 config.yml 读取配置设置?