Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
25.00% |
1 / 4 |
CRAP | |
20.00% |
2 / 10 |
StaticTranslation | |
0.00% |
0 / 1 |
|
25.00% |
1 / 4 |
24.43 | |
20.00% |
2 / 10 |
__construct | |
100.00% |
1 / 1 |
1 | |
100.00% |
2 / 2 |
|||
getStringTranslation | |
0.00% |
0 / 1 |
12 | |
0.00% |
0 / 5 |
|||
reset | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
getLanguage | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 1 |
<?php | |
/** | |
* @file | |
* Contains \Drupal\Core\StringTranslation\Translator\StaticTranslation. | |
*/ | |
namespace Drupal\Core\StringTranslation\Translator; | |
/** | |
* String translator with a static cache for translations. | |
* | |
* This is a high performance way to provide a handful of string replacements. | |
*/ | |
class StaticTranslation implements TranslatorInterface { | |
/** | |
* String translations | |
* | |
* @var array | |
* Array of cached translations indexed by language and context. | |
*/ | |
protected $translations; | |
/** | |
* Constructs a translator from an array of translations. | |
* | |
* @param array $translations | |
* Array of override strings indexed by language and context | |
*/ | |
public function __construct($translations = array()) { | |
$this->translations = $translations; | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public function getStringTranslation($langcode, $string, $context) { | |
if (!isset($this->translations[$langcode])) { | |
$this->translations[$langcode] = $this->getLanguage($langcode); | |
} | |
if (isset($this->translations[$langcode][$context][$string])) { | |
return $this->translations[$langcode][$context][$string]; | |
} | |
else { | |
return FALSE; | |
} | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public function reset() { | |
$this->translations = array(); | |
} | |
/** | |
* Retrieves translations for a given language. | |
* | |
* @param string $langcode | |
* The langcode of the language. | |
* | |
* @return array | |
* A multidimensional array of translations, indexed by the context the | |
* source string belongs to. The second level is using original strings as | |
* keys. An empty array will be returned when no translations are available. | |
*/ | |
protected function getLanguage($langcode) { | |
// This class is usually a base class but we do not declare as abstract | |
// because it can be used on its own, by passing a simple array on the | |
// constructor. This can be useful while testing, but it does not support | |
// loading specific languages. All available languages should be passed | |
// in the constructor array. | |
return array(); | |
} | |
} |