示例#1
0
 function T($fmt, $params = null)
 {
     if (!$fmt) {
         return $fmt;
     }
     if (is_array($fmt)) {
         $a = \Gini\I18N::stripContext($fmt[0]);
         //msgid
         $b = \Gini\I18N::stripContext($fmt[1]);
         //plural msgid
         $c = ngettext($fmt[0], $fmt[1], $fmt[2]);
         if ($c == $fmt[0] || $c == $fmt[1]) {
             $fmt = $fmt[2] == 1 ? $a : $b;
         } else {
             $fmt = $c;
         }
     } else {
         $a = \Gini\I18N::stripContext($fmt);
         $b = gettext($fmt);
         $fmt = $b == $fmt ? $a : $b;
     }
     return $params ? strtr($fmt, (array) $params) : $fmt;
 }