2015-07-03 73 views
1

我用这对我产生翻译文件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. 我可以确保所有内容总是包含在某种引用中 - 似乎单个单词根本没有被包装。

回答

2

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

+0

感谢您的支持。你知道'__'是什么意思吗?我可以应付的引用,它只是为翻译者烦恼。 –

+1

我想它是用来确定一个字符串是否已经被翻译或没有;在你的例子中,翻译员阅读文件并且看到没有下划线的“游戏系统”并不知道它是一个自动生成的新字符串,仍然需要翻译,而不是已经翻译的密钥,它被自动定义为“游戏系统“ – Hugehornet

+0

有道理,看起来有点_hacky_ –