diff --git a/core/modules/node/src/Tests/Views/NodeLanguageTest.php b/core/modules/node/src/Tests/Views/NodeLanguageTest.php index a7c9228..ce73aae 100644 --- a/core/modules/node/src/Tests/Views/NodeLanguageTest.php +++ b/core/modules/node/src/Tests/Views/NodeLanguageTest.php @@ -240,6 +240,16 @@ public function testNativeLanguageField() { \Drupal::languageManager()->getLanguageConfigOverride('fr', 'language.entity.fr')->set('label', 'Français')->save(); \Drupal::languageManager()->getLanguageConfigOverride('es', 'language.entity.es')->set('label', 'Español')->save(); $this->assertLanguageNames(TRUE); + + // Modify test view to use the views built-in language field and test that. + $config = \Drupal::config('views.view.test_language'); + $config->set('display.default.display_options.fields.langcode.native_name', FALSE); + $config->clear('display.default.display_options.fields.langcode.settings'); + $config->set('display.default.display_options.fields.langcode.plugin_id', 'language'); + $config->save(); + $this->assertLanguageNames(); + $config->set('display.default.display_options.fields.langcode.native_name', TRUE)->save(); + $this->assertLanguageNames(TRUE); } /** diff --git a/core/modules/views/config/schema/views.field.schema.yml b/core/modules/views/config/schema/views.field.schema.yml index 8a28f38..e911171 100644 --- a/core/modules/views/config/schema/views.field.schema.yml +++ b/core/modules/views/config/schema/views.field.schema.yml @@ -179,6 +179,6 @@ views.field.language: type: views_field label: 'Language' mapping: - native_language: + native_name: type: boolean label: 'Display in native language' diff --git a/core/modules/views/src/Plugin/views/field/LanguageField.php b/core/modules/views/src/Plugin/views/field/LanguageField.php index bbc28ef..68a5d26 100644 --- a/core/modules/views/src/Plugin/views/field/LanguageField.php +++ b/core/modules/views/src/Plugin/views/field/LanguageField.php @@ -24,7 +24,7 @@ class LanguageField extends FieldPluginBase { */ protected function defineOptions() { $options = parent::defineOptions(); - $options['native_language'] = array('default' => FALSE); + $options['native_name'] = array('default' => FALSE); return $options; } @@ -34,10 +34,10 @@ protected function defineOptions() { */ public function buildOptionsForm(&$form, FormStateInterface $form_state) { parent::buildOptionsForm($form, $form_state); - $form['native_language'] = array( + $form['native_name'] = array( '#title' => $this->t('Display in native language'), '#type' => 'checkbox', - '#default_value' => $this->options['native_language'], + '#default_value' => $this->options['native_name'], ); } @@ -46,7 +46,7 @@ public function buildOptionsForm(&$form, FormStateInterface $form_state) { */ public function render(ResultRow $values) { $value = $this->getValue($values); - $languages = $this->options['native_language'] ? \Drupal::languageManager()->getNativeLanguages() : \Drupal::languageManager()->getLanguages(); + $languages = $this->options['native_name'] ? \Drupal::languageManager()->getNativeLanguages() : \Drupal::languageManager()->getLanguages(); return isset($languages[$value]) ? $languages[$value]->getName() : ''; }