symfony2翻译奏鸣曲管理员捆绑

时间:2012-11-10 10:26:44

标签: symfony translation bundle admin sonata-admin

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

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

有人能告诉我如何正确处理SonataAdminBundle的翻译吗? 哪些文件必须放在这些文件的内容和什么内容?

提前致谢。

莉莎

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:2)

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

在我的情况下,它仍然可以与yaml和xml文件一起使用。但请确保设置$ translationDomain。否则,只会加载默认的SonataAdmin转换文件。

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

protected $translationDomain = 'messages';

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