6

Sonata Admin Bundle Breadcrumbs と Tablename List の見出しを翻訳してみました。これまでのところ何も機能していません:-(

独自の翻訳ファイルを /app/Resources/translations と独自のバンドルの translations フォルダーに配置しました。SonataAdminBundle.de.yml と messages.de.yml に入れてみました。また、管理者クラスに翻訳ドメインを設定しました。しかし、まだ自分の翻訳を見ることができません。使用される唯一の翻訳ファイルは、SonataAdminBundle からのものです。

SonataAdminBundle の翻訳を正しく処理する方法を教えてもらえますか? どのファイルをどこに配置する必要があり、これらのファイルの内容は何ですか?

前もって感謝します。

リサ

4

2 に答える 2

4

さて、これは私がそれを行う方法です:

私の XYBundle では、XYBundle/Ressources/translations に XYBundle.fr.xliff ファイルを作成します (Translation ではなく Translation であることを確認してください。 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 翻訳ファイルのみが読み込まれます。

すべての Sonata 管理クラスでプロパティを手動で設定できます。

protected $translationDomain = 'messages';

または上記のサービス宣言で...

于 2012-11-15T12:31:34.400 に答える