fromFile($filename); $list = $messagesNamespaced; if (isset($messagesNamespaced['translation'])) { $list = $messagesNamespaced['translation']; } foreach ($list as $message) { if (!is_array($message) || count($message) < 2) { throw new Exception\InvalidArgumentException( 'Each INI row must be an array with message and translation' ); } if (isset($message['message']) && isset($message['translation'])) { $messages[$message['message']] = $message['translation']; continue; } $messages[array_shift($message)] = array_shift($message); } if (!is_array($messages)) { throw new Exception\InvalidArgumentException(sprintf( 'Expected an array, but received %s', gettype($messages) )); } $textDomain = new TextDomain($messages); if (array_key_exists('plural', $messagesNamespaced) && isset($messagesNamespaced['plural']['plural_forms']) ) { $textDomain->setPluralRule( PluralRule::fromString($messagesNamespaced['plural']['plural_forms']) ); } return $textDomain; } }