private static function fromArray(array $messages, Translations $translations)
    {
        if (!empty($messages['domain'])) {
            $translations->setDomain($messages['domain']);
        }

        if (!empty($messages['plural-forms'])) {
            $translations->setHeader(Translations::HEADER_PLURAL, $messages['plural-forms']);
        }

        foreach ($messages['messages'] as $context => $contextTranslations) {
            foreach ($contextTranslations as $original => $value) {
                if ($context === '' && $original === '') {
                    self::extractHeaders(is_array($value) ? array_shift($value) : $value, $translations);
                    continue;
                }

                $translation = $translations->insert($context, $original);

                if (is_array($value)) {
                    $translation->setTranslation(array_shift($value));
                    $translation->setPluralTranslations($value);
                } else {
                    $translation->setTranslation($value);
                }
            }
        }
    }
private static function fromArray(array $messages, Translations $translations)
    {
        if (!empty($messages['domain'])) {
            $translations->setDomain($messages['domain']);
        }

        if (!empty($messages['plural-forms'])) {
            $translations->setHeader(Translations::HEADER_PLURAL, $messages['plural-forms']);
        }

        foreach ($messages['messages'] as $context => $contextTranslations) {
            foreach ($contextTranslations as $original => $value) {
                if ($context === '' && $original === '') {
                    self::extractHeaders(is_array($value) ? array_shift($value) : $value, $translations);
                    continue;
                }

                $translation = $translations->insert($context, $original);

                if (is_array($value)) {
                    $translation->setTranslation(array_shift($value));
                    $translation->setPluralTranslations($value);
                } else {
                    $translation->setTranslation($value);
                }
            }
        }
    }
private static function fromArray ( array $ messages , Translations $ translations ) { if ( ! empty ( $ messages [ 'domain' ] ) ) { $ translations -> setDomain ( $ messages [ 'domain' ] ) ; } if ( ! empty ( $ messages [ 'plural-forms' ] ) ) { $ translations -> setHeader ( Translations :: HEADER_PLURAL , $ messages [ 'plural-forms' ] ) ; } foreach ( $ messages [ 'messages' ] as $ context => $ contextTranslations ) { foreach ( $ contextTranslations as $ original => $ value ) { if ( $ context === '' && $ original === '' ) { self :: extractHeaders ( is_array ( $ value ) ? array_shift ( $ value ) : $ value , $ translations ) ; continue ; } $ translation = $ translations -> insert ( $ context , $ original ) ; if ( is_array ( $ value ) ) { $ translation -> setTranslation ( array_shift ( $ value ) ) ; $ translation -> setPluralTranslations ( $ value ) ; } else { $ translation -> setTranslation ( $ value ) ; } } } }
Extract the entries from a multidimensional array.

@param array        $messages
@param Translations $translations
Extract the entries from a multidimensional array .