第一步更多关于 Symfony2,
我有不同的角色:
role_hierarchy:
ROLE_INVESTOR: [ROLE_USER]
ROLE_PROJECT_OWNER: [ROLE_USER]
ROLE_ADMIN: [ROLE_USER, ROLE_SONATA_ADMIN]
ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_SONATA_ADMIN, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH, SONATA]
我想要他们每个人的法语翻译。
使用roles.fr.yml、roles.fr.xml 或roles.fr.xliff(不确定必须使用哪一个)。
这是我的实际 yml :
'ROLE_PROJECT_OWNER': Porteur de projet
'ROLE_INVESTOR': Investisseur
'ROLE_USER': Utilisateur
或 xliff :
<?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="ROLE_PROJECT_OWNER">
<source>ROLE_PROJECT_OWNER</source>
<target>Porteur de projet</target>
</trans-unit>
</body>
</file>
</xliff>
(两者均未测试)
然后我想在 Sonata Admin 中展示它们,现在它对用户来说根本不友好:
这就是它们在本部分中“自动”列出的方式:
/**
* {@inheritdoc}
*/
protected function configureListFields(ListMapper $listMapper)
{
$listMapper
->addIdentifier('username')
->add('email')
->add('enabled', null, array('editable' => true))
->add('locked', null, array('editable' => true))
->add('roles', null, array('editable' => true))
->add('createdAt')
->add('_action', 'actions', array(
'actions' => array(
'show' => array(),
'edit' => array(),
'delete' => array(),
)
))
;
}
所以如何添加他们的相关翻译并不明显。
任何想法如何做?
更新 :
我设法使用自定义模板( Sonata Doc )获得了更具可读性但尚未翻译的内容。
{% block field %}
<div>
{% for role in object.roles %}
<strong>{{ role }}</strong> <br/>
{% endfor %}
</div>
{% endblock %}