将标签从yml转换为php文件

时间:2017-05-30 08:59:04

标签: php symfony yaml

我有一个包含大量翻译的YAML文件,如下所示:

wizard
  admin
    title: example

我在这样的PHP文件中调用它:

public function getTypesChart(){
   $charts = array(
      array(
        'title' => 'wizard.admin.title'
      ),
   );
   return $charts;
}

但我得到的唯一输出是“wizard.admin.title”而不是“example”。

3 个答案:

答案 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;
}