コード例 #1
0
 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);
 }
コード例 #2
0
ファイル: renderlib.php プロジェクト: linuxwhy/tiki-1
 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);
 }
コード例 #3
0
ファイル: tiki-index.php プロジェクト: hurcane/tiki-azure
/**
 * 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;
}
コード例 #4
0
 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);
 }