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

Php Symfony2翻译-生成的YML文件中的双下划线&;其他问题,php,symfony,translation,Php,Symfony,Translation,我用它来生成我的翻译文件 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.' 'N

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

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
几个问题

  • 为什么所有东西都以u uu(双下划线)作为前缀。如果我把它们留在我的网站上,它们会在翻译过程中出现,这似乎是错误的,因此需要手动删除它们
  • 我可以把单引号改成双引号吗。许多其他语言在单词中使用单引号
  • 我能保证每件事都用某种形式的引语来包装吗?似乎一个词都没有包装
  • 该命令似乎有一个--prefix选项,默认为“u;”;应该可以将其设置为空字符串。
    至于引号,据我所见,它似乎是硬编码到Symfony的yaml转储程序(Symfony\Component\yaml\Inline)中的,该转储程序自行确定字符串是否需要引号,以及是否需要双引号;我不认为它可以通过配置来更改。

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

    谢谢。你知道
    \uuu
    是什么意思吗?我能应付的引用,对译者来说很烦人。我想它是用来判断一个字符串是否已经被翻译过;在您的示例中,翻译人员阅读文件并看到没有下划线的“游戏系统”时,可能不知道这是自动生成的新字符串,仍然需要翻译,并且没有一个已经翻译的密钥自愿定义为“游戏系统”,这似乎有点老套。我知道这是一篇旧帖子,但我认为下划线表明翻译中有错误。不存在的单词通常会恢复为默认语言环境,并且不会以下划线作为前缀