You are here

class TranslationWriter in Zircon Profile 8.0

Same name and namespace in other branches
  1. 8 vendor/symfony/translation/Writer/TranslationWriter.php \Symfony\Component\Translation\Writer\TranslationWriter

TranslationWriter writes translation messages.

@author Michel Salib <michelsalib@hotmail.com>

Hierarchy

Expanded class hierarchy of TranslationWriter

File

vendor/symfony/translation/Writer/TranslationWriter.php, line 22

Namespace

Symfony\Component\Translation\Writer
View source
class TranslationWriter {

  /**
   * Dumpers used for export.
   *
   * @var array
   */
  private $dumpers = array();

  /**
   * Adds a dumper to the writer.
   *
   * @param string          $format The format of the dumper
   * @param DumperInterface $dumper The dumper
   */
  public function addDumper($format, DumperInterface $dumper) {
    $this->dumpers[$format] = $dumper;
  }

  /**
   * Disables dumper backup.
   */
  public function disableBackup() {
    foreach ($this->dumpers as $dumper) {
      $dumper
        ->setBackup(false);
    }
  }

  /**
   * Obtains the list of supported formats.
   *
   * @return array
   */
  public function getFormats() {
    return array_keys($this->dumpers);
  }

  /**
   * Writes translation from the catalogue according to the selected format.
   *
   * @param MessageCatalogue $catalogue The message catalogue to dump
   * @param string           $format    The format to use to dump the messages
   * @param array            $options   Options that are passed to the dumper
   *
   * @throws \InvalidArgumentException
   */
  public function writeTranslations(MessageCatalogue $catalogue, $format, $options = array()) {
    if (!isset($this->dumpers[$format])) {
      throw new \InvalidArgumentException(sprintf('There is no dumper associated with format "%s".', $format));
    }

    // get the right dumper
    $dumper = $this->dumpers[$format];
    if (isset($options['path']) && !is_dir($options['path'])) {
      mkdir($options['path'], 0777, true);
    }

    // save
    $dumper
      ->dump($catalogue, $options);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
TranslationWriter::$dumpers private property Dumpers used for export.
TranslationWriter::addDumper public function Adds a dumper to the writer.
TranslationWriter::disableBackup public function Disables dumper backup.
TranslationWriter::getFormats public function Obtains the list of supported formats.
TranslationWriter::writeTranslations public function Writes translation from the catalogue according to the selected format.