diff --git a/src/Plugin/tmgmt/Translator/GoogleTranslator.php b/src/Plugin/tmgmt/Translator/GoogleTranslator.php
index 18eafcf..ce5c408 100755
--- a/src/Plugin/tmgmt/Translator/GoogleTranslator.php
+++ b/src/Plugin/tmgmt/Translator/GoogleTranslator.php
@@ -20,6 +20,8 @@ use GuzzleHttp\Exception\BadResponseException;
 use GuzzleHttp;
 use GuzzleHttp\Psr7\Request;
 use Symfony\Component\DependencyInjection\ContainerInterface;
+use \Drupal\tmgmt\Translator\AvailableResult;
+use \Drupal\tmgmt\Translator\TranslatableResult;
 
 /**
  * Google translator plugin.
@@ -105,31 +107,31 @@ class GoogleTranslator extends TranslatorPluginBase implements ContainerFactoryP
   }
 
   /**
-   * Overrides TMGMTDefaultTranslatorPluginController::isAvailable().
+   * Overrides TMGMTDefaultTranslatorPluginController::checkAvailable().
    */
-  public function isAvailable(TranslatorInterface $translator) {
+  public function checkAvailable(TranslatorInterface $translator) {
     if ($translator->getSetting('api_key')) {
-      return TRUE;
+      return AvailableResult::yes();
     }
 
-    return FALSE;
+    return AvailableResult::no(t('@translator is not available. Make sure it is properly <a href=:configured>configured</a>.', [
+      '@translator' => $translator->label(),
+      ':configured' => $translator->url()
+      ]));
   }
 
   /**
-   * Overrides TMGMTDefaultTranslatorPluginController::canTranslate().
+   * Overrides TMGMTDefaultTranslatorPluginController::checkTranslatable().
    */
-  public function canTranslate(TranslatorInterface $translator, JobInterface $job) {
-    if (!parent::canTranslate($translator, $job)) {
-      return FALSE;
-    }
+  public function checkTranslatable(TranslatorInterface $translator, JobInterface $job) {
     foreach (\Drupal::service('tmgmt.data')->filterTranslatable($job->getData()) as $value) {
-      // If one of the texts in this job exceeds the max character count the job
-      // can't be translated.
+      // If one of the texts in this job exceeds the max character count
+      // the job can't be translated.
       if (Unicode::strlen($value['#text']) > $this->maxCharacters) {
-        return FALSE;
+        return TranslatableResult::no(t('The length of the job exceeds tha max character count (@count).', ['@count' => $this->maxCharacters]));
       }
     }
-    return TRUE;
+    return parent::checkTranslatable($translator, $job);
   }
 
   /**
diff --git a/src/Tests/GoogleTranslatorTest.php b/src/Tests/GoogleTranslatorTest.php
index f50ed9c..c45d03a 100755
--- a/src/Tests/GoogleTranslatorTest.php
+++ b/src/Tests/GoogleTranslatorTest.php
@@ -87,7 +87,7 @@ class GoogleTranslatorTest extends TMGMTTestBase {
     // As we requested source language english it should not be included.
     $this->assertTrue(!isset($languages['en']));
 
-    $this->assertTrue($job->canRequestTranslation());
+    $this->assertTrue($job->canRequestTranslation()->getSuccess());
 
     $job->requestTranslation();
 
