我正在关注Symfony的Translation document中的每一步。但我仍然无法在Symfony中进行国际化工作。而不是翻译的消息,我收到相同的消息。我做错了什么?这是我的设置:
1)app / config / config.yml
imports:
- { resource: parameters.yml }
- { resource: security.yml }
framework:
#esi: ~
translator: { fallback: fa }
2)app / parameters.yml
parameters:
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: null
database_user: root
locale: fa
3)翻译文件位于src / App / AppBundle / Resources / translations / addproduct.fa.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="file.ext">
<body>
<trans-unit id="1">
<source>Title</source>
<target>عنوان</target>
</trans-unit>
</body>
</file>
</xliff>
4)控制器
/**
* @Route("{_locale}/test")
*/
public function Test()
{
$translated = $this->get('translator')->trans('Title');
return new Response($translated);
}
答案 0 :(得分:0)
Number 3)应该是src/App/AppBundle/Resources/translations
目录中的文件。文件名需要遵循domain.locale.loader
概述的app.fa.xliff
约定,例如app.fa.xliff
。
如果您将文件命名为'app'
,那么->trans
就是您的域名。您需要使用$translated = $this->get('translator')->trans('Title', array(), 'app');
方法引用此域:
{{1}}