Symfony2:翻译缺失的翻译

时间:2015-09-21 12:35:27

标签: symfony internationalization

我开发基于Symfony2框架的网站,由于缺少翻译,我遇到质量问题。 对于像image alt attribut或页面元数据这样的非可见翻译尤其如此。

要解决这个问题,我希望Symfony通过抛出异常来停止缺少翻译的页面渲染。

如何告诉Symfony翻译不接受开发环境中任何遗漏的翻译? (对于代码翻译,使用翻译服务和模板,使用跨过滤器)

1 个答案:

答案 0 :(得分:1)

如果您在代码中引用翻译而不是模板内部,则必须编写自定义函数:

private function translate($translationKey, array $parameters = array(), $translationDomain = 'messages') 
{

    $tranlation = $this->get('translator.default')->trans($translationKey, $parameters, $translationDomain);
    if ($tranlation != $translationKey) {
        return $tranlation;
    }
    else {
        throw new \Exception();
    }
}

提示:您可以/应该为此案例创建自定义例外

<强>更新

只有在您创建自己的翻译人员时才能实现所需的内容......如果找不到翻译,此翻译人员应返回null
https://github.com/Orbitale/TranslationBundle/blob/master/Translation/Translator.php

其他信息(参考评论): symfony开发人员工具栏中缺少翻译的信息字段似乎很新,在2.6版本或2.7版本的早期版本中引入... ...无论如何它看起来像这样:

enter image description here

但是: 我刚刚注意到您在早期版本中也可以看到缺少翻译警告,您可以在Logs部分的工具栏分析器中找到它们