我尝试翻译Sonata Admin Bundle Breadcrumbs和Tablename List标题。 到目前为止没有任何效果: - (
我将自己的翻译文件放在/ app / Resources / translations和我自己的bundle的翻译文件夹中。我试着把它们放在SonataAdminBundle.de.yml和messages.de.yml中。我还在Admin类中设置了翻译域。 但我仍然看不到自己的翻译。唯一使用的翻译文件是SonataAdminBundle。
有人能告诉我如何正确处理SonataAdminBundle的翻译吗? 哪些文件必须放在这些文件的内容和什么内容?
提前致谢。
莉莎
答案 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';
或在服务声明中如上所示...