翻译__toString

时间:2013-02-01 19:16:16

标签: symfony doctrine-orm

我有这个实体的__toString方法:

/**
 * String
 * 
 * @return string
 */
public function __toString()
{
    // I Have:
    // (EMR132 - Escuela Superior Mariano Moreno) Primary - 3 Bº Degree - Afternoon Shift
    // I Want:
    // (EMR132 - Escuela Superior Mariano Moreno) Primario - 3er Grado Bº - Turno tarde

    $levels = array(
        'primary' => 'Degree',
        'secondary' => 'Year',
    );

    return sprintf("(%s) %s - %s %sº %s - %s Shift", // Translate Format
            $this->school, 
            ucfirst($this->level), // Translate (fixed values)
            $this->degree, 
            $this->division, 
            $levels[$this->level], // Translate (fixed values)
            ucfirst($this->shift)  // Translate (fixed values)
    );
}

我需要翻译字符串INSIDE方法。 但是不可能在实体内获得服务(翻译)。

如何创建可翻译的__toString方法?

1 个答案:

答案 0 :(得分:0)

翻译是视图层的一个问题。我鼓励您只需从__toString()方法输出英语,然后在显示时进行翻译(即在视图图层/模板中)。