Bei Zend Translate Adaptern 1.8 wurde Caching-Rückgabewert hinzugefügt
, Donnerstag, 28. Mai 2009Ich verwende meine eigenen Zend Translate Adapter für eine MySQL Datenbank. Heute habe ich das Update auf Zend Framework 1.8.2 gemacht. Das Ganze verlief mehr oder weniger reibungslos; ich musste nur einige Änderungen machen. Ein Problem war allerdings geblieben: Sobald ich das Caching aktivierte, funktionierten meine Übersetzungen nicht mehr. Es wurde nur die Originalsprache angezeigt.
Also versuchte ich herauszufinden, was sich bei den Translate Adaptern zwischen 1.7 und 1.8 geändert hat. Der Unterschied sieht folgendermassen aus:
$this->_translate[$locale] = $data + $this->_translate[$locale];
In Version 1.8 wurde ein Rückgabewert hinzugefügt und die Variablen umbenannt:
$this->_data[$locale] = $data + $this->_data[$locale];
return $this->_data;
Anscheinend spielt es keine Rolle, dass der Name von _translation nach _data geändert wurde. Man muss jedoch beim eigenen Translation Adapter ein return hinzufügen, damit das Caching auch in ZF 1.8 funktioniert. Ansonsten bleibt der Cache leer und es wird nur die Originalsprache angezeigt.


