Details
-
Type:
Bug
-
Status:
Resolved
-
Priority:
Major
-
Resolution: Won't Fix
-
Affects Version/s: 1.9.2
-
Fix Version/s: 1.9.3
-
Component/s: Zend_Translate
-
Labels:None
Description
Someone replaced in private function _addTranslationData($data, $locale, array $options = array()) in Zend_Translate_Adapter:
$id = 'Zend_Translate_' . preg_replace('/[^a-zA-Z0-9_]/', '', $data) . '' . $locale . '_' . $this->toString();
with
$id = 'Zend_Translate_' . md5(serialize($data)) . '_' . $this->toString();
Now custom adapters that do not pass any locale info trough $data and using auto locale from browser, have same cache id for all languages (locales).
So I created my ($data = mysql) adapter but I can't use cache (+null $locales for auto locales detection) with it.
Internal caching is not done by locale but by given data (which is normally a filename). Otherwise caching for multilocale input like TMX or array files would not work.
Caching is a internal process. It has no effect on how translation works externally when the same data is provided.