我有一个包含大量翻译的YAML文件,如下所示:
wizard
admin
title: example
我在这样的PHP文件中调用它:
public function getTypesChart(){
$charts = array(
array(
'title' => 'wizard.admin.title'
),
);
return $charts;
}
但我得到的唯一输出是“wizard.admin.title”而不是“example”。
答案 0 :(得分:0)
你需要像这样调用翻译服务(假设你在控制器中,或者你有服务容器的地方):
public function getTypesChart(){
$charts = array(
array(
'title' => $this->get('translator')->trans('wizard.admin.title')
),
);
return $charts;
}
答案 1 :(得分:0)
除非您将翻译密钥放在自动翻译的内容中(例如表单的字段标签),否则您需要明确要求翻译完成这项工作。
假设您的代码在某个控制器中,您可以致电:
$this->get("translator")->trans("wizard.admin.title");
答案 2 :(得分:0)
这里有很多问题。首要的是你的输入无效YAML:
wizard
admin
title: example
虽然您可以在YAML中使用多行不带引号的标量,例如:
x: wizard
admin
title
(与执行x: 'wizard admin title'
或x: wizard admin title
相同)此类标量不能用作映射的键。
无效,您必须更正您的YAML:
wizard:
admin:
title: example
更正后,请务必致电translater
public function getTypesChart(){
$charts = array(
array(
'title' => $this->get('translator')->trans('wizard.admin.title')
),
);
return $charts;
}