/**
  * 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];
 }
Example #2
0
/**
* Модификатор 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);
 }