我有这个实体的__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方法?
答案 0 :(得分:0)
翻译是视图层的一个问题。我鼓励您只需从__toString()
方法输出英语,然后在显示时进行翻译(即在视图图层/模板中)。