/** * Main translator function that called from template * * @param $code string - Language code * @param $language string - Language like en,ru,us,uk * * @return string * */ function _($code = '', $language = NULL) { if (!$language) { $language = $this->_langID; } if (!isset($this->_langcodes[$this->_template][$code]) and $language == $this->_langID) { $this->_changedTemplates[$this->_template] = 1; $this->_langcodes[$this->_template][$code] = rad_lang::lang($code, $language, $this); } else { return rad_lang::lang($code, $language, $this); } // !isset return $this->_langcodes[$this->_template][$code]; }
/** * Модификатор date: unix_timestamp, date, datetime => дата на человеческом языке * * @param string $string * @param string $format — 'date', 'time', 'datetime' * @return string */ function smarty_modifier_date($string, $format = 'datetime') { if (!isset($GLOBALS['config']['smarty.' . $format . '_format'][rad_lang::getCurrentLanguage()])) { trigger_error('Modifier date: invalid format specified in config!'); return ''; } $format = $GLOBALS['config']['smarty.' . $format . '_format'][rad_lang::getCurrentLanguage()]; if (!is_numeric($string)) { // try to read date and datetime $timestamp = strtotime($string); if ($timestamp !== FALSE) { $string = $timestamp; } } // is this like unix_timestamp? if (is_numeric($string)) { // Month on human language $format = str_replace('%B', rad_lang::lang('-' . date('F', $string)), $format); return strftime($format, $string); } // we are still here? Something wrong... trigger_error('Invalid data for date modifier!'); return ''; }
/** * Alias for rad_lang::lang($code='',$langcode=null) * * @param string $code * @param string $langcode * @param boolean $ucfirst * @param array|false $replacement * @return string * @example lang('submit.system.button','ru'); * @link http://wiki.rad-cms.ru/index.php/Rad_controller:methods:lang */ public function lang($code = '', $langcode = null, $ucfirst = false, $replacement = false) { if ($replacement && is_array($replacement)) { $s = rad_lang::lang($code, $langcode, null, $ucfirst); foreach ($replacement as $k => $v) { $s = str_replace($k, $v, $s); } return $s; } return rad_lang::lang($code, $langcode, null, $ucfirst); }