Symfony2翻译-生成的YML文件中的双下划线&;其他问题


Symfony2 Translation - Double underscores in generated YML files & other issues

我正在使用它生成我的翻译文件

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 dumper(Symfony''Component''yaml''Inline(中,它自己决定字符串是否需要引用,以及是否需要双引号;我不认为它可以通过配置来改变。

在我的案例中,使用控制台命令更新翻译后出现了问题。由于某种原因,一些字符串生成错误,并放置在app/Resources/translations中(我通常在其他地方有它们(。简单地删除这些文件就解决了问题。