【问题标题】:Why I can't translated message with id in Symfony 3为什么我不能在 Symfony 3 中翻译带有 id 的消息
【发布时间】:2016-09-22 15:30:19
【问题描述】:

我是 Symfony 的新手。我正在尝试为某些语言翻译一些信息。我可以通过诸如“Syfony 很棒”之类的信息来做到这一点。现在我想为 id 做 id='hello_message'。

我的 index.twig 在下面

{% block body %}
<p>{{'hello_message'|trans}}</p>
{% endblock %}

我的 xliff 文件在下面

<?xml version="1.0"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file source-language="en" target-language="en" datatype="plaintext" original="file.ext">
    <body>
        <trans-unit id="hello_message">
            <source>hello.message</source>
            <target>Symfony Harika!</target>
        </trans-unit>
    </body>
</file>

而我的默认控制器只是调用 twig

    public function indexAction(Request $request)
{
    return $this->render('default/index.html.twig');
}       

【问题讨论】:

    标签: php symfony translate


    【解决方案1】:

    翻译的是source,而不是id:

    {% block body %}
    <p>{{'hello.message'|trans}}</p>
    {% endblock %}
    

    另外,如果您在 prod 环境中,请记住清除缓存。

    【讨论】:

    • 为什么当我使用 hello.message 时不起作用?我想获取多个密钥使用。我已经这样做了。
    • 以 hello.message 作为源,你应该使用 {{ 'hello.message' |反}}。另外,检查您的翻译文件的位置和命名是否正确:symfony.com/doc/current/book/…
    • 可能是 symfony 没有找到翻译文件。
    • 我不这么认为,因为如果我使用 Symdony 很棒 它的工作。当我使用 hello.message 不起作用
    • 翻译文件只有一个,你修改文件后清除了缓存吧?
    【解决方案2】:

    在 Symfony 3 中,您使用属性 resname。示例:

    <?xml version="1.0" encoding="UTF-8"?>
    <xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
        <file original="global" datatype="plaintext" source-language="en" target-language="vi">
            <body>
                <!-- COMMONS -->
                <trans-unit id="common_say_hello" resname="common_say_hello">
                    <source>Hello</source>
                    <target>Xin chào</target>
                </trans-unit>            
            </body>
        </file>
    </xliff>
    

    {{ 'common_say_hello'|trans }}

    输出 新潮

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-15
      • 1970-01-01
      • 2013-01-09
      • 1970-01-01
      • 1970-01-01
      • 2017-10-30
      • 2016-04-23
      相关资源
      最近更新 更多