Issues

ZF-3517: Zend_Translate_Adapter::getMessages() doesn't except the locale param as an instance of Zend_Locale

Description


$translate->getMessages( new Zend_Locale('de') );
// -> Warning: Illegal offset type in /xxx/framework.zend.com/Zend/Translate/Adapter.php on line 333

    /**
     * Returns all available translations from this adapter
     * If no locale is given, the actual language will be used
     * If 'all' is given the complete translation dictionary will be returned
     *
     * @param  string|Zend_Locale $locale (optional) Language to return the messages from
     * @return array
     */
    public function getMessages($locale = null)
    {
        if ($locale == 'all') {
            return $this->_translate;
        }
        if (empty($locale) or !$this->isAvailable($locale)) {
            $locale = $this->_options['locale'];
        }
        return $this->_translate[$locale];
    }

Comments

Your problem is not that the locale is given as instance. The language you are requesting does not exist.

Fixed with r9816

Fixed within branch 1.5

Updating for the 1.6.0 release.