예제 #1
0
 /**
  * {@parentDoc}
  */
 public static function toString(Translations $translations)
 {
     $array = PhpArray::toArray($translations);
     //for a simple json translation dictionary, one domain is supported
     $values = current($array);
     // remove meta / header data
     if (array_key_exists('', $values)) {
         unset($values['']);
     }
     //map to a simple json dictionary (no plurals)
     return json_encode(array_filter(array_map(function ($val) {
         return $val[1];
     }, $values)));
 }
예제 #2
0
 /**
  * Loads translation from a Translations instance, a file on an array
  *
  * @param Translations|string|array $translations
  *
  * @return Translator
  */
 public function loadTranslations($translations)
 {
     if (is_object($translations) && $translations instanceof Translations) {
         $translations = PhpArray::toArray($translations);
     } elseif (is_string($translations) && is_file($translations)) {
         $translations = (include $translations);
     } elseif (!is_array($translations)) {
         throw new \InvalidArgumentException('Invalid Translator: only arrays, files or instance of Translations are allowed');
     }
     foreach ($translations as $translation) {
         $this->addTranslations($translation);
     }
     return $this;
 }
예제 #3
0
 /**
  * {@parentDoc}
  */
 public static function toString(Translations $translations)
 {
     $array = PhpArray::toArray($translations);
     return json_encode($array);
 }