protected function writeMsgstr(POString $string) { $msgstr = $string->getMsgstr(); if ($string->getMsgidPlural() && $msgstr) { for ($i = 0, $length = count($msgstr); $i < $length; $i++) { $this->writeLine(sprintf('msgstr[%d] %s', $i, $this->quote($msgstr[$i]))); } } else { if ($string->getMsgidPlural()) { $this->writeLine('msgstr[0] ""'); } else { if ($msgstr) { $this->writeLine(sprintf('msgstr %s', $this->quote($msgstr[0]))); } else { $this->writeLine('msgstr ""'); } } } }
/** * Add POString instance to catalog. If identical string already exists, * reference and extracted comment attributes will be merged. */ public function add(POString $string) { $id = $string->getMsgctxt() . "" . $string->getMsgid(); $category = $string->getCategoryText(); $domain = $string->getDomain(); if (isset($this->strings[$category][$domain][$id])) { array_map(array($this->strings[$category][$domain][$id], 'addReference'), $string->getReferences()); array_map(array($this->strings[$category][$domain][$id], 'addExtractedComment'), $string->getExtractedComments()); } else { $this->strings[$category][$domain][$id] = $string; } }