getDefinedLanguageTypesInfo(); $configurable_types = $language_manager->getLanguageTypes(); foreach ($configurable_types as $type) { $this->derivatives[$type] = $base_plugin_definition; $this->derivatives[$type]['admin_label'] = t('Language switcher (@type)', ['@type' => $info[$type]['name']]); } // If there is just one configurable type then change the title of the // block. if (count($configurable_types) == 1) { $this->derivatives[reset($configurable_types)]['admin_label'] = t('Language switcher'); } } return parent::getDerivativeDefinitions($base_plugin_definition); } }