1
我正在關注Symfony的Translation document中的每一步。但是我仍然無法在Symfony中實現國際化。而不是翻譯的消息,我收到相同的消息。我做錯了什麼?這是我的設置:無法使Symfony 2中的國際化工作
1)的應用程序/配置/ config.yml
imports:
- { resource: parameters.yml }
- { resource: security.yml }
framework:
#esi: ~
translator: { fallback: fa }
2)的應用程序/ parameters.yml位於SRC /應用/的appbundle
parameters:
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: null
database_user: root
locale: fa
3)翻譯文件/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);
}
我跟着的命名慣例,但我忘了提到它在我的問題。 (問題更新)。我的翻譯文件名是addproduct.fa.xliff。根據該文件的域名是「組織信息的可選方式」。我選擇了「添加產品」。 locale是fa,加載器是xliff。現在這是否正確? – bman
當您調用' - > trans'方法時,還需要引用'addproduct'域。在上面的答案末尾看到示例,但用'addproduct'替換'app'。並且記得每次更新翻譯文件後清除緩存('app/console cache:clear --no-warmup')。 :) –