protected function setUp() { global $prefs; if (empty($prefs['lang_google_api_key'])) { $this->markTestSkipped('Google translate API key not configured.'); } $source_lang = 'en'; $target_lang = 'it'; $this->provider = Multilingual_MachineTranslation::force('google', $prefs['lang_google_api_key']); $this->translator = $this->provider->getHtmlImplementation($source_lang, $target_lang); }
private function setupMultilingual() { global $prefs; if ($prefs['feature_multilingual'] != 'y') { return; } $tikilib = TikiLib::lib('tiki'); $multilinguallib = TikiLib::lib('multilingual'); if (!empty($this->info['lang'])) { $this->trads = $multilinguallib->getTranslations('wiki page', $this->info['page_id'], $this->page, $this->info['lang']); $this->smartyassign('trads', $this->trads); $this->smartyassign('translationsCount', count($this->trads)); $pageLang = $this->info['lang']; $this->smartyassign('pageLang', $pageLang); } if ($prefs['feature_machine_translation'] == 'y' && $prefs['lang_machine_translate_wiki'] == 'y' && !empty($this->info['lang'])) { $provider = new Multilingual_MachineTranslation(); $langsCandidatesForMachineTranslation = $provider->getAvailableLanguages($this->trads); $this->smartyassign('langsCandidatesForMachineTranslation', $langsCandidatesForMachineTranslation); } $bits = $multilinguallib->getMissingTranslationBits('wiki page', $this->info['page_id'], 'critical', true); $alertData = array(); foreach ($bits as $translationBit) { $alertData[] = $multilinguallib->getTranslationsWithBit($translationBit, $this->info['page_id']); } $this->smartyassign('translation_alert', $alertData); }
/** * generate machine translation of text * @param $text * @param $sourceLang * @param $targetLang * @internal param bool $html * @return string */ function translate_text($text, $sourceLang, $targetLang) { $provider = new Multilingual_MachineTranslation(); $translator = $provider->getHtmlImplementation($sourceLang, $targetLang); $translated = $translator->translateText($text); return $translated; }
function action_translate($input) { Services_Exception_Disabled::check('feature_machine_translation'); global $prefs; $content = $input->content->rawhtml_unsafe(); if (!empty($input->lang->text())) { $lang = $input->lang->text(); } else { $lang = $prefs['language']; } $factory = new Multilingual_MachineTranslation(); $impl = $factory->getDetectImplementation($lang); $content = $impl->translateText($content); return array('content' => $content, 'target' => $lang); }