Symfony 3 - 无法加载翻译"messages"文件



我是Symfony 3的新手,希望你能帮助我。

我想在我的项目中使用翻译组件,我按照以下步骤"https://symfony.com/doc/3.4/translation.html#configuration"进行操作,但是当我使用 CLI 清除缓存时,出现此错误并且翻译不起作用:

>php bin/console cache:clear
// Clearing the cache for the dev environment with debug true

In XliffFileLoader.php line 56:
  Unable to load "C:wamp64wwwMyWebSite/translationsmessages.en_US.xlf": [ERROR 64] XML declaration allowed only at the start of the document (in n/a - line 2, column 6)

In XmlUtils.php line 62:
  [ERROR 64] XML declaration allowed only at the start of the document (in n/a - line 2, column 6)

这些是我的文件:

    app/config
  • /config.yml

    parameters:
        locale: en
    framework:
        #esi: ~
        translator: { fallbacks: ['%locale%'] }
    
  • 翻译\messages.fr_FR.xlf

    <!-- messages.fr.xlf -->
    <?xml version="1.0"?>
    <xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
        <file source-language="en" datatype="plaintext" original="file.ext">
            <body>
                <trans-unit id="symfony_is_great">
                    <source>Symfony is great</source>
                    <target>J'aime Symfony</target>
                </trans-unit>
            </body>
        </file>
    </xliff>
    
  • 我在树枝文件中使用棕褐色

    {% trans %} Symfony is great { endtrans %}
    

希望你能帮到我!!

XML 解析器正在对你大喊大叫,因为文档声明需要在第一行。因此,切换这两行,该错误应该消失:

<!-- messages.fr.xlf -->
<?xml version="1.0"?>

翻译可能不起作用,因为模板中的字符串周围有空格,而不是 xml 文件中的空格:

<source>Symfony is great</source>
{% trans %} Symfony is great { endtrans %}

相关内容

  • 没有找到相关文章

最新更新