6

我试图翻译 Sonata Admin Bundle Breadcrumbs 和 Tablename List 标题。到目前为止没有任何效果:-(

我将自己的翻译文件放在 /app/Resources/translations 和我自己的包的翻译文件夹中。我试图将它们放在 SonataAdminBundle.de.yml 和 messages.de.yml 中。我还在我的管理类中设置了一个翻译域。但是我仍然看不到我自己的翻译。唯一使用的翻译文件是来自 SonataAdminBundle 的翻译文件。

谁能告诉我如何正确处理 SonataAdminBundle 的翻译?哪些文件必须放在哪里,这些文件的内容是什么?

提前致谢。

丽莎

4

2 回答 2

4

好吧,这就是我的做法:

在我的 XYBundle 中,我在 XYBundle/Ressources/translations 中创建了一个 XYBundle.fr.xliff 文件(确保它是翻译而不是翻译。使用 T 对我没有任何作用)至少有一个翻译:

<?xml version="1.0"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
    <file source-language="en" datatype="plaintext" original="" >
        <body>
            <trans-unit id="breadcrumb.link_article_list">
                <source>breadcrumb.link_article_list</source>
                <target>Liste des articles</target>
            </trans-unit>  
        </body>
    </file>
</xliff>

在您的服务声明中:

 <call method="setTranslationDomain">
            <argument>"XYBundle"</argument>
        </call>

并且不要忘记清除缓存 php app/console cache:clear

于 2012-11-14T09:17:44.627 回答
2

确保您已清除缓存。否则新的翻译将被忽略。

就我而言,它仍然可以与 yaml 和 xml 文件一起使用。但请确保已设置 $translationDomain。否则只会加载默认的 SonataAdmin 翻译文件。

您可以在所有奏鸣曲管理类中手动设置属性:

protected $translationDomain = 'messages';

或在服务声明中如上所示...

于 2012-11-15T12:31:34.400 回答