我开发基于Symfony2框架的网站,由于缺少翻译,我遇到质量问题。 对于像image alt attribut或页面元数据这样的非可见翻译尤其如此。
要解决这个问题,我希望Symfony通过抛出异常来停止缺少翻译的页面渲染。
如何告诉Symfony翻译不接受开发环境中任何遗漏的翻译? (对于代码翻译,使用翻译服务和模板,使用跨过滤器)
答案 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版本的早期版本中引入... ...无论如何它看起来像这样:
但是: 我刚刚注意到您在早期版本中也可以看到缺少翻译警告,您可以在Logs
部分的工具栏分析器中找到它们