| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 | 
							- <?php
 
- namespace Elgg\I18n;
 
- /**
 
-  * WARNING: API IN FLUX. DO NOT USE DIRECTLY.
 
-  * 
 
-  * Uses an array as a source for the message bundle.
 
-  * 
 
-  * This is mostly useful for testing so we can configure translators
 
-  * in-memory instead of going to the file system.
 
-  * 
 
-  * @since 1.11
 
-  * 
 
-  * @access private
 
-  */
 
- final class ArrayMessageBundle implements MessageBundle {
 
- 	
 
- 	/** @var array */
 
- 	private $messages;
 
- 	
 
- 	/**
 
- 	 * Constructor
 
- 	 * 
 
- 	 * @param array $messages Map of locales to maps of keys to message-templates
 
- 	 */
 
- 	public function __construct(array $messages) {
 
- 		$this->messages = $messages;
 
- 	}
 
- 	
 
- 	/** @inheritDoc */
 
- 	public function get($key, Locale $locale) {
 
- 		assert(is_string($key), '$key must be a string');
 
- 		
 
- 		if (!isset($this->messages["$locale"]) || !is_array($this->messages["$locale"])) {
 
- 			return null;
 
- 		}
 
- 		
 
- 		$messages = $this->messages["$locale"];
 
- 		if (!is_string($key) || !isset($messages[$key]) || !is_string($messages[$key])) {
 
- 			return null;
 
- 		}
 
- 		
 
- 		return new SprintfMessageTemplate($messages[$key]);
 
- 	}
 
- }
 
 
  |