Пример #1
0
 /**
  * {@inheritdoc}
  */
 public function getSupportedRemoteLanguages(TranslatorInterface $translator)
 {
     $languages = array();
     // Prevent access if the translator isn't configured yet.
     if (!$translator->getSetting('client_id')) {
         // @todo should be implemented by an Exception.
         return $languages;
     }
     try {
         $request = $this->doRequest($translator, 'GetLanguagesForTranslate');
         if ($request) {
             $dom = new \DOMDocument();
             $dom->loadXML($request->getBody()->getContents());
             foreach ($dom->getElementsByTagName('string') as $item) {
                 $languages[$item->nodeValue] = $item->nodeValue;
             }
         }
     } catch (\Exception $e) {
         drupal_set_message($e->getMessage(), 'Cannot get languages from the translator');
         return $languages;
     }
     return $languages;
 }
Пример #2
0
 /**
  * {@inheritdoc}
  */
 function checkAvailable(TranslatorInterface $translator)
 {
     if ($translator->getSetting('action') == 'not_available') {
         return AvailableResult::no(t('@translator is not available. Make sure it is properly <a href=:configured>configured</a>.', ['@translator' => $translator->label(), ':configured' => $translator->url()]));
     }
     return parent::checkAvailable($translator);
 }
Пример #3
0
 /**
  * Overrides TMGMTDefaultTranslatorPluginController::getSupportedRemoteLanguages().
  */
 public function getSupportedRemoteLanguages(TranslatorInterface $translator)
 {
     $languages = array();
     // Prevent access if the translator isn't configured yet.
     if (!$translator->getSetting('api_key')) {
         return $languages;
     }
     try {
         $request = $this->doRequest($translator, 'languages');
         if (isset($request['data'])) {
             foreach ($request['data']['languages'] as $language) {
                 $languages[$language['language']] = $language['language'];
             }
         }
     } catch (\Exception $e) {
         drupal_set_message($e->getMessage(), 'error');
         return $languages;
     }
     return $languages;
 }