diff --git a/modules/locale/views_handler_field_locale_language.inc b/modules/locale/views_handler_field_locale_language.inc
index 8038e2b..628250b 100644
--- a/modules/locale/views_handler_field_locale_language.inc
+++ b/modules/locale/views_handler_field_locale_language.inc
@@ -11,25 +11,42 @@
  * @ingroup views_field_handlers
  */
 class views_handler_field_locale_language extends views_handler_field {
+
+  function init(&$view, &$options) {
+    parent::init($view, $options);
+
+    // Convert old language display information new format.
+    // @todo Remove for next major version.
+    if (!empty($this->options['native_language'])) {
+      $this->options['language_display'] = 'native';
+      unset($this->options['native_language']);
+    }
+  }
+
   function option_definition() {
     $options = parent::option_definition();
-    $options['native_language'] = array('default' => FALSE, 'bool' => TRUE);
+    $options['language_display'] = array('default' => 'name');
 
     return $options;
   }
 
   function options_form(&$form, &$form_state) {
     parent::options_form($form, $form_state);
-    $form['native_language'] = array(
-      '#title' => t('Native language'),
-      '#type' => 'checkbox',
-      '#default_value' => $this->options['native_language'],
-      '#description' => t('If enabled, the native name of the language will be displayed'),
+    $form['language_display'] = array(
+      '#title' => t('Language display'),
+      '#type' => 'radios',
+      '#options' => array(
+        'name' => t('Language name'),
+        'native' => t('Native language name'),
+        'language' => t('Language code'),
+      ),
+      '#default_value' => $this->options['language_display'],
+      '#description' => t('Choose how to display language information.'),
     );
   }
 
   function render($values) {
-    $languages = locale_language_list(empty($this->options['native_language']) ? 'name' : 'native');
+    $languages = locale_language_list(empty($this->options['language_display']) ? 'name' : $this->options['language_display']);
     $value = $this->get_value($values);
     return isset($languages[$value]) ? $languages[$value] : '';
   }
diff --git a/modules/locale/views_handler_field_node_language.inc b/modules/locale/views_handler_field_node_language.inc
index 467605b..0bc2f4d 100644
--- a/modules/locale/views_handler_field_node_language.inc
+++ b/modules/locale/views_handler_field_node_language.inc
@@ -11,25 +11,42 @@
  * @ingroup views_field_handlers
  */
 class views_handler_field_node_language extends views_handler_field_node {
+
+  function init(&$view, &$options) {
+    parent::init($view, $options);
+
+    // Convert old language display information new format.
+    // @todo Remove for next major version.
+    if (!empty($this->options['native_language'])) {
+      $this->options['language_display'] = 'native';
+      unset($this->options['native_language']);
+    }
+  }
+
   function option_definition() {
     $options = parent::option_definition();
-    $options['native_language'] = array('default' => FALSE, 'bool' => TRUE);
+    $options['language_display'] = array('default' => 'name');
 
     return $options;
   }
 
   function options_form(&$form, &$form_state) {
     parent::options_form($form, $form_state);
-    $form['native_language'] = array(
-      '#title' => t('Native language'),
-      '#type' => 'checkbox',
-      '#default_value' => $this->options['native_language'],
-      '#description' => t('If enabled, the native name of the language will be displayed'),
+    $form['language_display'] = array(
+      '#title' => t('Language display'),
+      '#type' => 'radios',
+      '#options' => array(
+        'name' => t('Language name'),
+        'native' => t('Native language name'),
+        'language' => t('Language code'),
+      ),
+      '#default_value' => $this->options['language_display'],
+      '#description' => t('Choose how to display language information.'),
     );
   }
 
   function render($values) {
-    $languages = views_language_list(empty($this->options['native_language']) ? 'name' : 'native');
+    $languages = views_language_list(empty($this->options['language_display']) ? 'name' : $this->options['language_display']);
     $value = $this->get_value($values);
     $value = isset($languages[$value]) ? $languages[$value] : '';
     return $this->render_link($value, $values);
