Symfony基本翻译示例

时间:2012-10-24 09:32:32

标签: service symfony translation

我是Symfony2的新手。试图建立翻译服务。我遵循官方文档中给出的步骤。但没有成功。

以下是步骤

  1. 在'symfony / app / config / config.yml'翻译服务中,通过定义区域设置"#translator:{ fallback: %locale% }"

  2. 'symfony/app/config/parameters.yml'定义的区域设置参数"locale:de"

  3. 创建'src/MyBundle/translateBundle/Resources/translations/messages.de.xlf'

    <?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>Symfony2 is great</source>
                <target>J'aime Symfony2</target>
            </trans-unit>
        </body>
    </file>
    </xliff>    
    
  4. 现在我希望这个编码现在我应该得到:'J'aime Symfony2'执行以下代码。

    <?php
    
    namespace MyDays\translateBundle\Controller;
    
    use Symfony\Bundle\FrameworkBundle\Controller\Controller;
    use Symfony\Component\HttpFoundation\Response;
    
    class DefaultController extends Controller {
        public function indexAction() {
            $t = $this->get ( 'translator' )->trans ( 'Symfony2 is great' );        
            return new Response ( $t );
        }
    }
    

    但仍然将原始文本称为'Symfony2很棒'! 除了文档中给出的步骤之外,还有什么必须做的吗?

1 个答案:

答案 0 :(得分:8)

您是否在#的{​​{1}}之前删除了translator...

此外,您需要在添加新的翻译文件后清除缓存。