/** * Write translations to storage. */ public function writeToStorage() { try { $this->storage->write($this->translations); } catch (BadRequest400Exception $e) { // Empty bulk commit exception. } }
/** * Get translations for export. * * @param array $domains To read from storage. * * @return array */ private function readStorage($domains) { $data = []; $translations = $this->storage->read($this->getManagedLocales(), $domains); /** @var Translation $translation */ foreach ($translations as $translation) { $messages = $translation->getMessages(); $wasDirty = false; foreach ($messages as $key => $message) { if ($message->getStatus() === Message::DIRTY) { $path = sprintf('%s' . DIRECTORY_SEPARATOR . '%s.%s.%s', $translation->getPath(), $translation->getDomain(), $message->getLocale(), $translation->getFormat()); $data[$path][$translation->getKey()] = $message->getMessage(); $message->setStatus(Message::FRESH); $messages[$key] = $message; $wasDirty = true; } } if ($wasDirty) { $translation->setMessages($messages); $this->refresh[] = $translation; } } return $data; }