Пример #1
0
function qtrans_useTermLib($obj)
{
    global $q_config;
    if (is_array($obj)) {
        // handle arrays recursively
        foreach ($obj as $key => $t) {
            $obj[$key] = qtrans_useTermLib($obj[$key]);
        }
        return $obj;
    }
    if (is_object($obj)) {
        // object conversion
        if (isset($q_config['term_name'][$obj->name][$q_config['language']])) {
            $obj->name = $q_config['term_name'][$obj->name][$q_config['language']];
        }
    } elseif (isset($q_config['term_name'][$obj][$q_config['language']])) {
        $obj = $q_config['term_name'][$obj][$q_config['language']];
    }
    return $obj;
}
 /**
  * Get translated category title
  *
  * @access public
  * @param string $origTitle Original category title
  * @param int $categoryId Category id
  * @param string $locale Language locale
  * @return string Translated category title
  */
 public function getTranslatedCategoryTitle($origTitle, $categoryId, $locale)
 {
     // declare global
     global $q_config;
     // prepare title
     $title = $origTitle;
     // translate title
     if (isset($q_config['language'])) {
         // save old language value
         $oldLang = $q_config['language'];
         // change language
         if (isset($this->languages[$locale])) {
             $q_config['language'] = $this->languages[$locale];
         }
         // get title
         $obj = qtrans_useTermLib(get_term($categoryId, 'category'));
         if (isset($obj->name)) {
             $title = $obj->name;
         }
         // set old language value
         $q_config['language'] = $oldLang;
     }
     // exit
     return $title;
 }