/** * Method to handle ajax call for google translation * * @return string */ public function translate() { $app = JFactory::getApplication(); $input = $app->input; $text = html_entity_decode($input->getRaw('text')); $workingLanguage = NenoHelper::getWorkingLanguage(); $defaultLanguage = NenoSettings::get('source_language'); $translator = NenoSettings::get('translator'); $result = array(); try { /* @var $nenoTranslate NenoTranslatorApi */ $nenoTranslate = NenoTranslatorApi::getAdapter($translator); try { $result['text'] = $nenoTranslate->translate($text, $defaultLanguage, $workingLanguage); $result['status'] = 'ok'; } catch (Exception $e) { $result['text'] = $text; $result['status'] = 'err'; $result['error'] = $e->getMessage(); } } catch (UnexpectedValueException $e) { $result['text'] = $text; $result['status'] = 'err'; $result['error'] = $e->getMessage(); } echo json_encode($result); $app->close(); }
/** * {@inheritdoc} * * @param Joomla\Registry\Registry $options JHttp client options * @param JHttpTransport $transport JHttp client transport */ public function __construct(Joomla\Registry\Registry $options = null, JHttpTransport $transport = null) { parent::__construct(); // Get the api key $this->apiKey = NenoSettings::get('translator_api_key'); }