Пример #1
0
 /**
  * Write translations to storage.
  */
 public function writeToStorage()
 {
     try {
         $this->storage->write($this->translations);
     } catch (BadRequest400Exception $e) {
         // Empty bulk commit exception.
     }
 }
Пример #2
0
 /**
  * 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;
 }