$value) { $this->$varname = $value; } if (isset($args['plural']) && $args['plural']) { $this->is_plural = true; } if (!is_array($this->translations)) { $this->translations = array(); } if (!is_array($this->references)) { $this->references = array(); } if (!is_array($this->flags)) { $this->flags = array(); } } /** * Generates a unique key for this entry. * * @return string|bool the key or false if the entry is empty */ public function key() { if (null === $this->singular || '' === $this->singular) { return false; } // Prepend context and EOT, like in MO files $key = !$this->context ? $this->singular : $this->context.chr(4).$this->singular; // Standardize on \n line endings $key = str_replace(array("\r\n", "\r"), "\n", $key); return $key; } /** * @param object $other */ public function merge_with(&$other) { $this->flags = array_unique(array_merge($this->flags, $other->flags)); $this->references = array_unique(array_merge($this->references, $other->references)); if ($this->extracted_comments != $other->extracted_comments) { $this->extracted_comments .= $other->extracted_comments; } } }