function PoStreamReader::setItemFromArray

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

Store the parsed values as a PoItem object.

1 call to PoStreamReader::setItemFromArray()
PoStreamReader::readLine in core/lib/Drupal/Component/Gettext/PoStreamReader.php
Reads a line from the PO stream and stores data internally.

File

core/lib/Drupal/Component/Gettext/PoStreamReader.php, line 514

Class

PoStreamReader
Implements Gettext PO stream reader.

Namespace

Drupal\Component\Gettext

Code

public function setItemFromArray($value) {
    $plural = FALSE;
    $comments = '';
    if (isset($value['#'])) {
        $comments = $this->shortenComments($value['#']);
    }
    if (is_array($value['msgstr'])) {
        // Sort plural variants by their form index.
        ksort($value['msgstr']);
        $plural = TRUE;
    }
    $item = new PoItem();
    $item->setContext($value['msgctxt'] ?? '');
    $item->setSource($value['msgid']);
    $item->setTranslation($value['msgstr']);
    $item->setPlural($plural);
    $item->setComment($comments);
    $item->setLangcode($this->langcode);
    $this->lastItem = $item;
    $this->context = 'COMMENT';
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.