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; }