/** * Translates a key into a localized translation which describes multiple items * @param int $n the number of items which the translation is describing * @param string $key translation key * @param array $vars variables to be replaced in the translation * @param string $default default translation * @return string the key translated into a localized translation * @uses zibo\library\i18n\locale\Locale::getPluralCode() */ public function translatePlural($n, $key, $vars = null, $default = null) { if (is_null($vars)) { $vars = array(); } elseif (!is_array($vars)) { $vars = array(1 => $vars); } $vars['n'] = $n; $plural = (int) eval('return ' . $this->locale->getPluralCode() . ';'); $key .= ".{$plural}"; return $this->translate($key, $vars, $default); }
public function testConstruct() { $code = "code"; $name = "name"; $native = "native"; $plural = "plural"; $locale = new Locale($code, $name, $native, $plural); $this->assertEquals($code, $locale->getCode()); $this->assertEquals($name, $locale->getName()); $this->assertEquals($native, $locale->getNativeName()); $this->assertEquals($plural, $locale->getPluralCode()); }