diff --git a/includes/commerce_product.inline_entity_form.inc b/includes/commerce_product.inline_entity_form.inc
index 14d8414..ca4548b 100644
--- a/includes/commerce_product.inline_entity_form.inc
+++ b/includes/commerce_product.inline_entity_form.inc
@@ -144,6 +144,11 @@ class CommerceProductInlineEntityFormController extends EntityInlineEntityFormCo
       '#type' => 'checkbox',
       '#title' => t('Refer to the referenced products as "variations"'),
       '#default_value' => $this->settings['use_variation_language'],
+      '#states' => array(
+        'disabled' => array(
+          ':input[name="instance[widget][settings][type_settings][custom_language]"]' => array('checked' => TRUE),
+        ),
+      ),
     );
 
     return $form;
diff --git a/includes/entity.inline_entity_form.inc b/includes/entity.inline_entity_form.inc
index f3cc689..781fa99 100644
--- a/includes/entity.inline_entity_form.inc
+++ b/includes/entity.inline_entity_form.inc
@@ -50,6 +50,14 @@ class EntityInlineEntityFormController {
       $labels = $info['permission labels'];
     }
 
+    // Use custom language if defined.
+    if ($this->settings['custom_language']) {
+      $labels = array(
+        'singular' => t($this->settings['custom_singular']),
+        'plural' => t($this->settings['custom_plural']),
+      );
+    }
+
     return $labels;
   }
 
@@ -132,6 +140,11 @@ class EntityInlineEntityFormController {
     $defaults['allow_existing'] = FALSE;
     $defaults['match_operator'] = 'CONTAINS';
     $defaults['delete_references'] = FALSE;
+    $defaults['custom_language'] = FALSE;
+
+    $labels = $this->labels();
+    $defaults['custom_singular'] = $labels['singular'];
+    $defaults['custom_plural'] = $labels['plural'];
 
     return $defaults;
   }
@@ -176,6 +189,31 @@ class EntityInlineEntityFormController {
       '#title' => t('Delete referenced @label when the parent entity is deleted.', array('@label' => $labels['plural'])),
       '#default_value' => $this->settings['delete_references'],
     );
+    $form['custom_language'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Customize label language.'),
+      '#default_value' => $this->settings['custom_language'],
+    );
+    $form['custom_singular'] = array(
+      '#type' => 'textfield',
+      '#title' => t('Custom singular'),
+      '#default_value' => $this->settings['custom_singular'],
+      '#states' => array(
+        'visible' => array(
+          ':input[name="instance[widget][settings][type_settings][custom_language]"]' => array('checked' => TRUE),
+        ),
+      ),
+    );
+    $form['custom_plural'] = array(
+      '#type' => 'textfield',
+      '#title' => t('Custom plural'),
+      '#default_value' => $this->settings['custom_plural'],
+      '#states' => array(
+        'visible' => array(
+          ':input[name="instance[widget][settings][type_settings][custom_language]"]' => array('checked' => TRUE),
+        ),
+      ),
+    );
 
     return $form;
   }
diff --git a/includes/node.inline_entity_form.inc b/includes/node.inline_entity_form.inc
index 6af836a..8cf2c01 100644
--- a/includes/node.inline_entity_form.inc
+++ b/includes/node.inline_entity_form.inc
@@ -15,6 +15,15 @@ class NodeInlineEntityFormController extends EntityInlineEntityFormController {
       'singular' => t('node'),
       'plural' => t('nodes'),
     );
+
+    // Use custom language if defined.
+    if ($this->settings['custom_language']) {
+      $labels = array(
+        'singular' => t($this->settings['custom_singular']),
+        'plural' => t($this->settings['custom_plural']),
+      );
+    }
+
     return $labels;
   }
 
diff --git a/includes/taxonomy_term.inline_entity_form.inc b/includes/taxonomy_term.inline_entity_form.inc
index 0464391..c81108d 100644
--- a/includes/taxonomy_term.inline_entity_form.inc
+++ b/includes/taxonomy_term.inline_entity_form.inc
@@ -15,6 +15,15 @@ class TaxonomyTermInlineEntityFormController extends EntityInlineEntityFormContr
       'singular' => t('term'),
       'plural' => t('terms'),
     );
+
+    // Use custom language if defined.
+    if ($this->settings['custom_language']) {
+      $labels = array(
+        'singular' => t($this->settings['custom_singular']),
+        'plural' => t($this->settings['custom_plural']),
+      );
+    }
+
     return $labels;
   }
 
