class Language
Same name in this branch
- 9 core/modules/language/src/Plugin/Condition/Language.php \Drupal\language\Plugin\Condition\Language
- 9 core/modules/ckeditor5/src/Plugin/CKEditor5Plugin/Language.php \Drupal\ckeditor5\Plugin\CKEditor5Plugin\Language
- 9 core/modules/ckeditor/src/Plugin/CKEditorPlugin/Language.php \Drupal\ckeditor\Plugin\CKEditorPlugin\Language
- 9 core/lib/Drupal/Core/TypedData/Plugin/DataType/Language.php \Drupal\Core\TypedData\Plugin\DataType\Language
- 9 core/lib/Drupal/Core/Language/Language.php \Drupal\Core\Language\Language
Same name in other branches
- 8.9.x core/modules/language/src/Plugin/migrate/source/Language.php \Drupal\language\Plugin\migrate\source\Language
- 8.9.x core/modules/language/src/Plugin/Condition/Language.php \Drupal\language\Plugin\Condition\Language
- 8.9.x core/modules/ckeditor/src/Plugin/CKEditorPlugin/Language.php \Drupal\ckeditor\Plugin\CKEditorPlugin\Language
- 8.9.x core/lib/Drupal/Core/TypedData/Plugin/DataType/Language.php \Drupal\Core\TypedData\Plugin\DataType\Language
- 8.9.x core/lib/Drupal/Core/Language/Language.php \Drupal\Core\Language\Language
- 10 core/modules/language/src/Plugin/migrate/source/Language.php \Drupal\language\Plugin\migrate\source\Language
- 10 core/modules/language/src/Plugin/Condition/Language.php \Drupal\language\Plugin\Condition\Language
- 10 core/modules/ckeditor5/src/Plugin/CKEditor5Plugin/Language.php \Drupal\ckeditor5\Plugin\CKEditor5Plugin\Language
- 10 core/lib/Drupal/Core/TypedData/Plugin/DataType/Language.php \Drupal\Core\TypedData\Plugin\DataType\Language
- 10 core/lib/Drupal/Core/Language/Language.php \Drupal\Core\Language\Language
- 11.x core/modules/language/src/Plugin/migrate/source/Language.php \Drupal\language\Plugin\migrate\source\Language
- 11.x core/modules/language/src/Plugin/Condition/Language.php \Drupal\language\Plugin\Condition\Language
- 11.x core/modules/ckeditor5/src/Plugin/CKEditor5Plugin/Language.php \Drupal\ckeditor5\Plugin\CKEditor5Plugin\Language
- 11.x core/lib/Drupal/Core/TypedData/Plugin/DataType/Language.php \Drupal\Core\TypedData\Plugin\DataType\Language
- 11.x core/lib/Drupal/Core/Language/Language.php \Drupal\Core\Language\Language
Drupal 6/7 language source from database.
Available configuration keys:
- fetch_all: (optional) If not empty, all source languages are retrieved and available as "languages" source property. Each language is an array with the same structure as a source row.
- domain_negotiation: (optional) If not empty and domain negotiation is enabled in the source database, the "domain_negotiation_used" source property is set to TRUE.
Example:
plugin: language
fetch_all: true
domain_negotiation: true
In this example, available languages are retrieved from the source database. Given that fetch_all and domain_negotiation are specified, each row also contains all languages and the domain negotiation status, if enabled.
For additional configuration keys, refer to the parent classes.
Plugin annotation
@MigrateSource(
id = "language",
source_module = "locale"
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements \Drupal\Component\Plugin\PluginInspectionInterface, \Drupal\Component\Plugin\DerivativeInspectionInterface
- class \Drupal\Core\Plugin\PluginBase extends \Drupal\Component\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait
- class \Drupal\migrate\Plugin\migrate\source\SourcePluginBase extends \Drupal\Core\Plugin\PluginBase implements \Drupal\migrate\Plugin\MigrateSourceInterface, \Drupal\migrate\Event\RollbackAwareInterface
- class \Drupal\migrate\Plugin\migrate\source\SqlBase extends \Drupal\migrate\Plugin\migrate\source\SourcePluginBase implements \Drupal\Core\Plugin\ContainerFactoryPluginInterface, \Drupal\migrate\Plugin\RequirementsInterface
- class \Drupal\migrate_drupal\Plugin\migrate\source\DrupalSqlBase extends \Drupal\migrate\Plugin\migrate\source\SqlBase implements \Drupal\Component\Plugin\DependentPluginInterface uses \Drupal\Core\Entity\DependencyTrait
- class \Drupal\language\Plugin\migrate\source\Language extends \Drupal\migrate_drupal\Plugin\migrate\source\DrupalSqlBase
- class \Drupal\migrate_drupal\Plugin\migrate\source\DrupalSqlBase extends \Drupal\migrate\Plugin\migrate\source\SqlBase implements \Drupal\Component\Plugin\DependentPluginInterface uses \Drupal\Core\Entity\DependencyTrait
- class \Drupal\migrate\Plugin\migrate\source\SqlBase extends \Drupal\migrate\Plugin\migrate\source\SourcePluginBase implements \Drupal\Core\Plugin\ContainerFactoryPluginInterface, \Drupal\migrate\Plugin\RequirementsInterface
- class \Drupal\migrate\Plugin\migrate\source\SourcePluginBase extends \Drupal\Core\Plugin\PluginBase implements \Drupal\migrate\Plugin\MigrateSourceInterface, \Drupal\migrate\Event\RollbackAwareInterface
- class \Drupal\Core\Plugin\PluginBase extends \Drupal\Component\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait
Expanded class hierarchy of Language
See also
\Drupal\migrate\Plugin\migrate\source\SqlBase
\Drupal\migrate\Plugin\migrate\source\SourcePluginBase
393 string references to 'Language'
- AccountSettingsForm::buildForm in core/
modules/ user/ src/ AccountSettingsForm.php - Form constructor.
- block.block.umami_languageswitcher.yml in core/
profiles/ demo_umami/ config/ install/ block.block.umami_languageswitcher.yml - core/profiles/demo_umami/config/install/block.block.umami_languageswitcher.yml
- BlockContentTypeForm::form in core/
modules/ block_content/ src/ BlockContentTypeForm.php - Gets the actual form array to be built.
- BlockForm::buildVisibilityInterface in core/
modules/ block/ src/ BlockForm.php - Helper function for building the visibility UI form.
- BlockLanguageTest::testLanguageBlockVisibilityLanguageDelete in core/
modules/ block/ tests/ src/ Functional/ BlockLanguageTest.php - Tests if the visibility settings are removed if the language is deleted.
File
-
core/
modules/ language/ src/ Plugin/ migrate/ source/ Language.php, line 41
Namespace
Drupal\language\Plugin\migrate\sourceView source
class Language extends DrupalSqlBase {
/**
* {@inheritdoc}
*/
public function fields() {
return [
'language' => $this->t('The language code.'),
'name' => $this->t('The English name of the language.'),
'native' => $this->t('The native name of the language.'),
'direction' => $this->t('The language direction. (0 = LTR, 1 = RTL)'),
'enabled' => $this->t('Whether the language is enabled.'),
'plurals' => $this->t('Number of plural indexes in this language.'),
'formula' => $this->t('PHP formula to get plural indexes.'),
'domain' => $this->t('Domain to use for this language.'),
'prefix' => $this->t('Path prefix used for this language.'),
'weight' => $this->t('The language weight when listed.'),
'javascript' => $this->t('Location of the JavaScript translation file.'),
];
}
/**
* {@inheritdoc}
*/
public function getIds() {
return [
'language' => [
'type' => 'string',
],
];
}
/**
* {@inheritdoc}
*/
public function query() {
return $this->select('languages')
->fields('languages');
}
/**
* {@inheritdoc}
*/
public function prepareRow(Row $row) {
if (!empty($this->configuration['fetch_all'])) {
// Get an array of all languages.
$languages = $this->query()
->execute()
->fetchAll();
$row->setSourceProperty('languages', $languages);
}
if (!empty($this->configuration['domain_negotiation'])) {
// Check if domain negotiation is used to be able to fill in the default
// language domain, which may be empty. In D6, domain negotiation is used
// when the 'language_negotiation' variable is set to '3', and in D7, when
// the 'locale_language_negotiation_url_part' variable is set to '1'.
if ($this->variableGet('language_negotiation', 0) == 3 || $this->variableGet('locale_language_negotiation_url_part', 0) == 1) {
$row->setSourceProperty('domain_negotiation_used', TRUE);
}
}
return parent::prepareRow($row);
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
DependencyTrait::$dependencies | protected | property | The object's dependencies. | ||
DependencyTrait::addDependencies | protected | function | Adds multiple dependencies. | ||
DependencyTrait::addDependency | protected | function | Adds a dependency. | ||
DrupalSqlBase::$entityTypeManager | protected | property | The entity type manager. | ||
DrupalSqlBase::$requirements | protected | property | If the source provider is missing. | ||
DrupalSqlBase::$systemData | protected | property | The contents of the system table. | ||
DrupalSqlBase::calculateDependencies | public | function | Calculates dependencies for the configured plugin. | Overrides DependentPluginInterface::calculateDependencies | 1 |
DrupalSqlBase::checkRequirements | public | function | Checks if requirements for this plugin are OK. | Overrides SqlBase::checkRequirements | 4 |
DrupalSqlBase::create | public static | function | Creates an instance of the plugin. | Overrides SqlBase::create | 3 |
DrupalSqlBase::getModuleSchemaVersion | protected | function | Retrieves a module schema_version from the source Drupal database. | ||
DrupalSqlBase::getSystemData | public | function | Retrieves all system data information from the source Drupal database. | ||
DrupalSqlBase::moduleExists | protected | function | Checks if a given module is enabled in the source Drupal database. | ||
DrupalSqlBase::variableGet | protected | function | Reads a variable from a source Drupal database. | ||
DrupalSqlBase::__construct | public | function | Overrides SqlBase::__construct | 6 | |
Language::fields | public | function | Returns available fields on the source. | Overrides MigrateSourceInterface::fields | |
Language::getIds | public | function | Defines the source fields uniquely identifying a source row. | Overrides MigrateSourceInterface::getIds | |
Language::prepareRow | public | function | Adds additional data to the row. | Overrides SourcePluginBase::prepareRow | |
Language::query | public | function | Overrides SqlBase::query | ||
MigrateSourceInterface::NOT_COUNTABLE | constant | Indicates that the source is not countable. | |||
PluginInspectionInterface::getPluginDefinition | public | function | Gets the definition of the plugin implementation. | 6 | |
PluginInspectionInterface::getPluginId | public | function | Gets the plugin_id of the plugin instance. | 2 | |
SourcePluginBase::$cache | protected | property | The backend cache. | ||
SourcePluginBase::$cacheCounts | protected | property | Whether this instance should cache the source count. | 1 | |
SourcePluginBase::$cacheKey | protected | property | Key to use for caching counts. | ||
SourcePluginBase::$currentRow | protected | property | The current row from the query. | ||
SourcePluginBase::$currentSourceIds | protected | property | The primary key of the current row. | ||
SourcePluginBase::$highWaterProperty | protected | property | Information on the property used as the high-water mark. | ||
SourcePluginBase::$highWaterStorage | protected | property | The key-value storage for the high-water value. | ||
SourcePluginBase::$idMap | protected | property | The migration ID map. | ||
SourcePluginBase::$iterator | protected | property | The iterator to iterate over the source rows. | ||
SourcePluginBase::$mapRowAdded | protected | property | Flags whether source plugin will read the map row and add to data row. | ||
SourcePluginBase::$migration | protected | property | The entity migration object. | ||
SourcePluginBase::$moduleHandler | protected | property | The module handler service. | 2 | |
SourcePluginBase::$originalHighWater | protected | property | The high water mark at the beginning of the import operation. | ||
SourcePluginBase::$skipCount | protected | property | Whether this instance should not attempt to count the source. | 1 | |
SourcePluginBase::$trackChanges | protected | property | Flags whether to track changes to incoming data. | 1 | |
SourcePluginBase::aboveHighWater | protected | function | Check if the incoming data is newer than what we've previously imported. | ||
SourcePluginBase::count | public | function | Gets the source count. | 2 | |
SourcePluginBase::current | public | function | |||
SourcePluginBase::getCache | protected | function | Gets the cache object. | ||
SourcePluginBase::getCurrentIds | public | function | Gets the currentSourceIds data member. | ||
SourcePluginBase::getHighWater | protected | function | The current value of the high water mark. | ||
SourcePluginBase::getHighWaterField | protected | function | Get the name of the field used as the high watermark. | ||
SourcePluginBase::getHighWaterProperty | protected | function | Get information on the property used as the high watermark. | ||
SourcePluginBase::getHighWaterStorage | protected | function | Get the high water storage object. | ||
SourcePluginBase::getIterator | protected | function | Returns the iterator that will yield the row arrays to be processed. | ||
SourcePluginBase::getModuleHandler | protected | function | Gets the module handler. | ||
SourcePluginBase::getSourceModule | public | function | Gets the source module providing the source data. | Overrides MigrateSourceInterface::getSourceModule | |
SourcePluginBase::key | public | function | Gets the iterator key. | ||
SourcePluginBase::next | public | function | |||
SourcePluginBase::postRollback | public | function | Performs post-rollback tasks. | Overrides RollbackAwareInterface::postRollback | |
SourcePluginBase::preRollback | public | function | Performs pre-rollback tasks. | Overrides RollbackAwareInterface::preRollback | |
SourcePluginBase::rowChanged | protected | function | Checks if the incoming row has changed since our last import. | ||
SourcePluginBase::saveHighWater | protected | function | Save the new high water mark. | ||
SourcePluginBase::valid | public | function | Checks whether the iterator is currently valid. | ||
SqlBase::$batch | protected | property | The count of the number of batches run. | ||
SqlBase::$batchSize | protected | property | Number of records to fetch from the database during each batch. | ||
SqlBase::$database | protected | property | The database object. | 1 | |
SqlBase::$query | protected | property | The query string. | 83 | |
SqlBase::$state | protected | property | State service for retrieving database info. | ||
SqlBase::doCount | protected | function | Gets the source count using countQuery(). | Overrides SourcePluginBase::doCount | 6 |
SqlBase::fetchNextBatch | protected | function | Prepares query for the next set of data from the source database. | ||
SqlBase::fetchNextRow | protected | function | Position the iterator to the following row. | Overrides SourcePluginBase::fetchNextRow | |
SqlBase::getDatabase | public | function | Gets the database connection object. | 2 | |
SqlBase::initializeIterator | protected | function | Initializes the iterator with the source data. | Overrides SourcePluginBase::initializeIterator | 18 |
SqlBase::mapJoinable | protected | function | Checks if we can join against the map table. | 1 | |
SqlBase::prepareQuery | protected | function | Adds tags and metadata to the query. | ||
SqlBase::rewind | public | function | Rewinds the iterator. | Overrides SourcePluginBase::rewind | |
SqlBase::select | protected | function | Wrapper for database select. | ||
SqlBase::setUpDatabase | protected | function | Gets a connection to the referenced database. | ||
SqlBase::__sleep | public | function | |||
SqlBase::__toString | public | function | Prints the query string when the object is used as a string. | Overrides MigrateSourceInterface::__toString |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.