Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony2转换器-检查是否存在翻译_Symfony - Fatal编程技术网

Symfony2转换器-检查是否存在翻译

Symfony2转换器-检查是否存在翻译,symfony,Symfony,我对symfony2的翻译有问题 我想开发一个菜单翻译检测正确的翻译领域 示例: return $this->translator->trans('test', array(), 'crud') == $path ? $this->translator->trans($path) : $this->translator->trans($path, array(), 'crud'); 但它不适用于“动态”翻译,如edit.%等 我搜索如下函数: return

我对symfony2的翻译有问题

我想开发一个菜单翻译检测正确的翻译领域

示例:

return $this->translator->trans('test', array(), 'crud') == $path ? $this->translator->trans($path) : $this->translator->trans($path, array(), 'crud');
但它不适用于“动态”翻译,如
edit.%等

我搜索如下函数:

return $this->translator->check('test', 'crud') ? $this->translator->trans('test', array(), 'crud') : $this->translator->trans('test', array());
$trans = $this->translator->trans('test', array(), 'crud');
if($trans === 'test') {
    // No translation - do something else
}
else {
    // Translation exists
    return $trans;
}

试着这样做:

return $this->translator->check('test', 'crud') ? $this->translator->trans('test', array(), 'crud') : $this->translator->trans('test', array());
$trans = $this->translator->trans('test', array(), 'crud');
if($trans === 'test') {
    // No translation - do something else
}
else {
    // Translation exists
    return $trans;
}

其工作原理是,如果不存在翻译,trans函数将返回id。

Symfony自动检测语言,您可以定义回退区域设置。这还不够满足你的需要吗?@artworkadシ 我的意思是翻译->域的回退