diff --git a/opencalais_ui.module b/opencalais_ui.module
index d66c395..1984df5 100644
--- a/opencalais_ui.module
+++ b/opencalais_ui.module
@@ -47,7 +47,7 @@ function opencalais_ui_form_node_type_form_alter(&$form, FormStateInterface $for
   }
 
   if ($options == []) {
-    drupal_set_message('The content type has no taxonomy fields available. Please add one to use Open Calais.', 'error');
+    drupal_set_message('The content type has no taxonomy fields available. Please add one to use Open Calais.', 'warning');
   }
   if ($options) {
     $form['opencalais_field'] = [
diff --git a/src/CalaisService.php b/src/CalaisService.php
index 7512cb5..f1fe2a4 100644
--- a/src/CalaisService.php
+++ b/src/CalaisService.php
@@ -35,12 +35,8 @@ class CalaisService {
    */
   protected $parameters = [
     'protocol' => 'https',
-    'contentType' => 'TEXT/HTML',
-    'outputFormat' => 'XML/RDF',
-    'externalID' => '',
     'submitter' => 'Drupal',
     'calculateRelevanceScore' => 'true',
-    'enableMetadataType' => 'person, SocialTags',
     'allowSearch' => 'false',
     'allowDistribution' => 'false',
     'caller' => 'Drupal',
@@ -76,30 +72,20 @@ class CalaisService {
   }
 
   /**
-   * Analyze the provided content, passing it to Calais in HTML format.
-   *
-   * @param $content
-   *   The HTML content to process
-   * @return array
-   *   The processed Calais results.
-   */
-  public function analyzeHTML($content) {
-    $this->parameters['contentType'] = 'text/html';
-    return $this->analyze($content);
-  }
-
-  /**
    * Analyze the content via Calais.
    *
    * @param $content
    *   The content to ship off to Calais for analysis
+   * @param string $language
+   *   The language in which the text will be analyzed.
    * @return array
    *   The processed Calais results.
    */
-  public function analyze($content) {
+  public function analyze($content, $language = 'English') {
     $headers = [
       'Content-Type' => 'text/html',
       'x-ag-access-token' => $this->config->get('api_key'),
+      'x-calais-language' => $language,
       'outputFormat' => 'application/json',
     ];
     $uri = $this->parameters['protocol'] . '://' . $this->parameters['host'] . $this->path;
diff --git a/src/Form/TagsForm.php b/src/Form/TagsForm.php
index ff1126a..a200b04 100644
--- a/src/Form/TagsForm.php
+++ b/src/Form/TagsForm.php
@@ -80,13 +80,13 @@ class TagsForm extends FormBase {
       drupal_set_message(t('No API key has been set. Click <a href=":key_page">here</a> to set it.', [
         ':key_page' => Url::fromRoute('opencalais_ui.general_settings')
           ->toString()
-      ]), 'error');
+      ]), 'warning');
     }
     else if (!$node_type->getThirdPartySetting('opencalais_ui', 'field')) {
       drupal_set_message(t('No Open Calais field has been set. Click <a href=":key_page">here</a> to set it.', [
         ':key_page' => Url::fromRoute('entity.node_type.edit_form', ['node_type' => $type])
           ->toString()
-      ]), 'error');
+      ]), 'warning');
     }
     else {
       // Get the view builder and build the node view in 'content'.
@@ -127,7 +127,7 @@ class TagsForm extends FormBase {
             $text .= $node->get($field_name)->value;
           }
         };
-        $result = $this->calaisService->analyze($text);
+        $result = $this->calaisService->analyze($text, $form_state->getValue('language'));
 
         // Build checkboxes for aboutness tags.
         $form['open_calais']['aboutness_tags']['social_tags'] = $this->buildCheckBoxes($result['social_tags'], 'Social', 'importance');
@@ -154,7 +154,27 @@ class TagsForm extends FormBase {
           'id' => 'opencalais-suggested-tags',
         ],
       ];
-
+      $form['open_calais']['config'] = [
+        '#type' => 'details',
+        '#title' => $this->t('Configuration'),
+        '#open' => FALSE,
+      ];
+      // If the language module is enabled then allow the user to select the
+      // language that will be used to analyze the text.
+      if (\Drupal::moduleHandler()->moduleExists('language')) {
+        $languages = \Drupal::languageManager()->getLanguages();
+        $language_options = [];
+        foreach ($languages as $langcode => $language) {
+          $language_options[$language->getName()] = $language->getName();
+        }
+        $form['open_calais']['config']['language'] = [
+          '#type' => 'select',
+          '#title' => $this->t('Language'),
+          '#options' => $language_options,
+          '#default_value' => \Drupal::languageManager()->getCurrentLanguage()->getName(),
+          '#description' => $this->t('The language that will be used to analyze the node.'),
+        ];
+      }
       $form['actions'] = [
         '#type' => 'actions',
         '#weight' => 999,
