Same name and namespace in other branches
  1. 8.9.x core/lib/Drupal/Component/Gettext/PoItem.php \Drupal\Component\Gettext\PoItem::setFromArray()
  2. 9 core/lib/Drupal/Component/Gettext/PoItem.php \Drupal\Component\Gettext\PoItem::setFromArray()

Create the PoItem from a structured array.

Parameters

array $values: A structured array to create the PoItem from.

File

core/lib/Drupal/Component/Gettext/PoItem.php, line 188

Class

PoItem
PoItem handles one translation.

Namespace

Drupal\Component\Gettext

Code

public function setFromArray(array $values = []) {
  if (isset($values['context'])) {
    $this
      ->setContext($values['context']);
  }
  if (isset($values['source'])) {
    $this
      ->setSource($values['source']);
  }
  if (isset($values['translation'])) {
    $this
      ->setTranslation($values['translation']);
  }
  if (isset($values['comment'])) {
    $this
      ->setComment($values['comment']);
  }
  if (isset($this->source) && str_contains($this->source, self::DELIMITER)) {
    $this
      ->setSource(explode(self::DELIMITER, $this->source));
    $this
      ->setTranslation(explode(self::DELIMITER, $this->translation ?? ''));
    $this
      ->setPlural(count($this->source) > 1);
  }
}