コード例 #1
0
 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);
 }
コード例 #2
0
ファイル: string.php プロジェクト: adolfo2103/hcloudfilem
 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);
 }