public function __toString() { $translations = $this->l10n->getTranslations(); $text = $this->text; if (array_key_exists($this->text, $translations)) { if (is_array($translations[$this->text])) { $fn = $this->l10n->getPluralFormFunction(); $id = $fn($this->count); if ($translations[$this->text][$id] !== '') { // The translation of this plural case is not empty, so use it $text = $translations[$this->text][$id]; } else { // We didn't find the plural in the language, // so we fall back to english. $id = $id != 0 ? 1 : 0; if (isset($this->plurals[$id])) { // Fallback to the english plural $text = $this->plurals[$id]; } } } else { $text = $translations[$this->text]; } } // Replace %n first (won't interfere with vsprintf) $text = str_replace('%n', $this->count, $text); return vsprintf($text, $this->parameters); }
public function __toString() { $translations = $this->l10n->getTranslations(); $text = $this->text; if (array_key_exists($this->text, $translations)) { if (is_array($translations[$this->text])) { $fn = $this->l10n->getPluralFormFunction(); $id = $fn($this->count); $text = $translations[$this->text][$id]; } else { $text = $translations[$this->text]; } } // Replace %n first (won't interfere with vsprintf) $text = str_replace('%n', $this->count, $text); return vsprintf($text, $this->parameters); }