/** * {@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))); }
/** * 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; }
/** * {@parentDoc} */ public static function toString(Translations $translations) { $array = PhpArray::toArray($translations); return json_encode($array); }