public function translateAll() { $this->consoleInit(); $input = JFactory::getApplication()->input; //$from = $input->get('translate_from', '*'); //$to = $input->get('translate_to', '*'); $languages = JalangHelper::getListInstalledLanguages(); $from = JalangHelper::getDefaultLanguage(); if (!headers_sent()) { header('Content-type: text/html; charset=utf-8'); } foreach ($languages as $lang) { if ($lang->element == $from) { continue; } $params = JComponentHelper::getParams('com_jalang'); $translator = JalangHelperTranslator::getInstance($params->get('translator_api_active', 'bing')); $translator->sendOutput('<h3>' . JText::sprintf('START_TO_TRANSLATE_FOR_THE_VAR_LANGUAGE', $lang->name) . '</h3>'); $translator->translateAllTables($from, $lang->element); //sleep(2); $translator->sendOutput(str_pad('', 50, '-')); } jexit('Done'); }
/** * Build an SQL query to load the list data. * * @return JDatabaseQuery * @since 1.6 */ public function getListQuery2($model) { if (!$this->table) { $this->errorExtendMethod(__METHOD__); return false; } // Create a new query object. $db = JFactory::getDbo(); $query = $db->getQuery(true); $query->select('*'); $query->from('#__' . $this->table . ' AS a'); // Filter on the language. $defaultLanguage = JalangHelper::getDefaultLanguage(); $language = $model->getState('mainlanguage'); $filter_search = $model->getState('filter.search'); if ($language) { if ($this->table_type == 'native' || $this->table_type == 'table_ml') { $langField = 'a.' . $db->quoteName($this->language_field); if ($this->language_mode == 'id') { $query->where($langField . ' = ' . $db->quote(JalangHelper::getLanguageIdFromCode($language))); } else { if ($language == $defaultLanguage) { $query->where('(' . $langField . ' = ' . $db->quote($language) . ' OR ' . $langField . ' = ' . $db->quote('*') . ' OR ' . $langField . ' = ' . $db->quote('') . ')'); } else { $query->where($langField . ' = ' . $db->quote($language)); } } } elseif ($this->table_type == 'table') { if ($language == '*') { $language = $defaultLanguage; } $params = JComponentHelper::getParams('com_jalang'); $translator = JalangHelperTranslator::getInstance($params->get('translator_api_active', 'bing')); $table = $translator->getLangTable($this->table, $language); $query->clear('from'); $query->from('#__' . $table); } elseif ($this->table_type == 'alias') { if ($language != '*') { @(list($shortlang, $country) = explode('-', $language)); if ($language == $defaultLanguage) { $query->where('(' . $db->quoteName($this->alias_field) . ' LIKE ' . $db->quote('%-' . $shortlang) . ' OR ' . $db->quoteName($this->alias_field) . ' NOT REGEXP ' . $db->quote('\\-[a-z]{2}$') . ')'); } else { $query->where($db->quoteName($this->alias_field) . ' LIKE ' . $db->quote('%-' . $shortlang)); } } else { $query->where($db->quoteName($this->alias_field) . ' NOT REGEXP ' . $db->quote('\\-[a-z]{2}$')); } } } if (count($this->translate_filters)) { $query->where($this->translate_filters); } if ($filter_search) { $fields = $this->getDisplayFields(); if (is_array($fields)) { $filterKeyword = array(); foreach ($fields as $field => $ftitle) { $filterKeyword[] = $db->quoteName($field) . ' LIKE ' . $db->quote('%' . $filter_search . '%'); } $query->where('(' . implode(' OR ', $filterKeyword) . ')'); } else { $query->where($db->quoteName($this->title_field) . ' LIKE ' . $db->quote('%' . $filter_search . '%')); } } $ordering = $model->getState('list.ordering', 'a.ordering'); if (in_array($ordering, $this->getSortFields())) { $query->order($ordering . ' ' . $model->getState('list.direction', 'ASC')); } return $query; }