将标签从yml转换为php文件
我有一个YAML文件,其中包含大量翻译,如下所示:将标签从yml转换为php文件,php,symfony,yaml,Php,Symfony,Yaml,我有一个YAML文件,其中包含大量翻译,如下所示: wizard admin title: example public function getTypesChart(){ $charts = array( array( 'title' => 'wizard.admin.title' ), ); return $charts; } 我在PHP文件中这样调用它: wizard admin title: ex
wizard
admin
title: example
public function getTypesChart(){
$charts = array(
array(
'title' => 'wizard.admin.title'
),
);
return $charts;
}
我在PHP文件中这样调用它:
wizard
admin
title: example
public function getTypesChart(){
$charts = array(
array(
'title' => 'wizard.admin.title'
),
);
return $charts;
}
但是我得到的唯一输出是“wizard.admin.title”,而不是“example”。您需要调用翻译服务,如下所示(假设您在控制器中,或者您的服务容器中):
除非您将翻译键放入自动翻译的内容中(如表单的字段标签),否则您需要明确要求翻译来完成这项工作 假设您的代码位于某个控制器中,您可以调用:
$this->get("translator")->trans("wizard.admin.title");
这里有很多问题。首先也是最重要的是,您的输入不是有效的YAML:
wizard
admin
title: example
尽管您可以在YAML中使用多行无引号标量,如:
x: wizard
admin
title
(这与执行x:'wizard admin title'
或x:wizard admin title
相同)此类标量不能用作映射的键
如果无效,您必须将YAML更正为:
wizard:
admin:
title: example
更正后,请确保调用
查看yaml_parse php函数可能很有用。请注意,此输入文件是无效的yaml