public function testStaticAndNonstaticDetection()
 {
     $this->tr->translate('გამარჯობა');
     TranslateClient::translate(null, 'en', 'Cześć');
     $this->assertEquals($this->tr->getLastDetectedSource(), 'pl');
     $this->assertEquals(TranslateClient::getLastDetectedSource(), 'pl');
     $this->tr->translate('გამარჯობა');
     $this->assertEquals($this->tr->getLastDetectedSource(), 'ka');
     $this->assertEquals(TranslateClient::getLastDetectedSource(), 'ka');
 }
 /**
  * Summary.
  *
  * @since  0.9.0
  * @see
  *
  * @param \Symfony\Component\HttpFoundation\Request $request
  * @param \Silex\Application                        $app
  *
  * @return \Symfony\Component\HttpFoundation\JsonResponse
  * @author nguyenvanduocit
  */
 public function translate(Request $request, Application $app)
 {
     $resultObject = new AttachmentResponse();
     $from = $request->get('from');
     $to = $request->get('to', 'en');
     $text = $request->get('text');
     $translator = new TranslateClient($from, $to);
     $translatedText = $translator->translate($text);
     if ($translatedText) {
         $from = $from ? $from : $translator->getLastDetectedSource();
         $messageFormat = '%1$s -> %2$s : %3$s';
         $message = sprintf($messageFormat, $from, $to, $translatedText);
         $resultObject->setText($message);
     } else {
         $resultObject->setErrorCode(404);
         $detectedSource = $translator->getLastDetectedSource();
         if (!$detectedSource) {
             $resultObject->setText('Can not detect your language');
         } else {
             $resultObject->setText('Can not translate your text.');
         }
     }
     return new JsonResponse($resultObject);
 }