diff --git a/core/modules/config_translation/migrations/d7_field_instance_label_description_translation.yml b/core/modules/config_translation/migrations/d7_field_instance_label_description_translation.yml new file mode 100644 index 0000000000000000000000000000000000000000..07dbcd87d25055b3b204f619882e2f866f38d2eb --- /dev/null +++ b/core/modules/config_translation/migrations/d7_field_instance_label_description_translation.yml @@ -0,0 +1,62 @@ +id: d7_field_instance_label_description_translation +label: Field label and description translation +migration_tags: + - Drupal 7 + - Configuration + - Multilingual +class: Drupal\migrate_drupal\Plugin\migrate\FieldMigration +field_plugin_method: alterFieldInstanceMigration +source: + plugin: d7_field_instance_label_description_translation +process: + langcode: + plugin: skip_on_empty + source: language + method: row + translation: + plugin: skip_on_empty + source: translation + method: row + entity_type_exists: + plugin: skip_on_empty + source: entity_type + method: row + objectid_exists: + plugin: skip_on_empty + source: objectid + method: row + type_exists: + plugin: skip_on_empty + source: type + method: row + exists: + - + plugin: migration_lookup + migration: d7_field_instance + source: + - entity_type + - objectid + - type + - + plugin: skip_on_empty + method: row + bundle: objectid + property: + plugin: static_map + source: property + bypass: true + map: + label: label + description: description + title_value: label + entity_type: entity_type + field_name: type +destination: + plugin: entity:field_config +migration_dependencies: + required: + - d7_field_instance + optional: + - d7_node_type + - d7_comment_type + - d7_taxonomy_vocabulary diff --git a/core/modules/field/src/Plugin/migrate/source/d7/FieldLabelDescriptionTranslation.php b/core/modules/field/src/Plugin/migrate/source/d7/FieldLabelDescriptionTranslation.php new file mode 100644 index 0000000000000000000000000000000000000000..805108d2c9cb25d7d4e702f4098c0b593007ea99 --- /dev/null +++ b/core/modules/field/src/Plugin/migrate/source/d7/FieldLabelDescriptionTranslation.php @@ -0,0 +1,93 @@ +<?php + +namespace Drupal\field\Plugin\migrate\source\d7; + +use Drupal\migrate_drupal\Plugin\migrate\source\DrupalSqlBase; + +/** + * Gets field label and description translations. + * + * @MigrateSource( + * id = "d7_field_instance_label_description_translation", + * source_module = "i18n_field" + * ) + */ +class FieldLabelDescriptionTranslation extends DrupalSqlBase { + + /** + * {@inheritdoc} + */ + public function query() { + // Get translations for field labels and descriptions. + $query = $this->select('i18n_string', 'i18n') + ->fields('i18n') + ->fields('lt', [ + 'lid', + 'translation', + 'language', + 'plid', + 'plural', + 'i18n_status', + ]) + ->fields('fci', [ + 'id', + 'field_id', + 'field_name', + 'entity_type', + 'bundle', + 'data', + 'deleted', + ]) + ->condition('i18n.textgroup', 'field') + ->isNotNull('language') + ->isNotNull('translation'); + $condition = $query->orConditionGroup() + ->condition('textgroup', 'field') + ->condition('objectid', '#allowed_values', '!='); + $query->condition($condition); + $query->leftJoin('locales_target', 'lt', 'lt.lid = i18n.lid'); + + $query->leftjoin('field_config_instance', 'fci', 'fci.bundle = i18n.objectid AND fci.field_name = i18n.type'); + return $query; + } + + /** + * {@inheritdoc} + */ + public function fields() { + return [ + 'lid' => $this->t('Locales target language ID.'), + 'textgroup' => $this->t('A module defined group of translations'), + 'context' => $this->t('Full string ID for quick search: type:objectid:property.'), + 'objectid' => $this->t('Object ID'), + 'type' => $this->t('Object type for this string'), + 'property' => $this->t('Object property for this string'), + 'objectindex' => $this->t('Integer value of Object ID'), + 'format' => $this->t('The {filter_format}.format of the string'), + 'translation' => $this->t('Translation'), + 'language' => $this->t('Language code'), + 'plid' => $this->t('Parent lid'), + 'plural' => $this->t('Plural index number'), + 'i18n_status' => $this->t('Translation needs update'), + 'id' => $this->t('The field instance ID.'), + 'field_id' => $this->t('The field ID.'), + 'field_name' => $this->t('The field name.'), + 'entity_type' => $this->t('The entity type.'), + 'bundle' => $this->t('The entity bundle.'), + 'data' => $this->t('The field instance data.'), + 'deleted' => $this->t('Deleted'), + ]; + } + + /** + * {@inheritdoc} + */ + public function getIds() { + $ids['property']['type'] = 'string'; + $ids['language']['type'] = 'string'; + $ids['lid']['type'] = 'integer'; + $ids['lid']['alias'] = 'lt'; + return $ids; + } + +} diff --git a/core/modules/field/tests/src/Kernel/Migrate/d6/MigrateFieldInstanceLabelDescriptionTest.php b/core/modules/field/tests/src/Kernel/Migrate/d6/MigrateFieldInstanceLabelDescriptionTest.php index 5d51972d72f589e05d40327ab12c20478a0fa7e4..fe99f5a261804ff33608beac17e39d2aa2995e68 100644 --- a/core/modules/field/tests/src/Kernel/Migrate/d6/MigrateFieldInstanceLabelDescriptionTest.php +++ b/core/modules/field/tests/src/Kernel/Migrate/d6/MigrateFieldInstanceLabelDescriptionTest.php @@ -8,7 +8,7 @@ use Drupal\Tests\migrate_drupal\Kernel\d6\MigrateDrupal6TestBase; /** - * Tests migration field label and description i18n translations. + * Tests migration of field label and description translations. * * @group migrate_drupal_6 * @group legacy @@ -57,7 +57,7 @@ public static function migrateDumpAlter(KernelTestBase $test) { } /** - * Tests migration of file variables to file.settings.yml. + * Tests migration of field label and description translations. */ public function testFieldInstanceLabelDescriptionTranslationMigration() { $language_manager = $this->container->get('language_manager'); diff --git a/core/modules/field/tests/src/Kernel/Migrate/d7/MigrateFieldInstanceLabelDescriptionTest.php b/core/modules/field/tests/src/Kernel/Migrate/d7/MigrateFieldInstanceLabelDescriptionTest.php new file mode 100644 index 0000000000000000000000000000000000000000..17ffd2f82e0ce81444e16859130f3e6af1030c2a --- /dev/null +++ b/core/modules/field/tests/src/Kernel/Migrate/d7/MigrateFieldInstanceLabelDescriptionTest.php @@ -0,0 +1,113 @@ +<?php + +namespace Drupal\Tests\field\Kernel\Migrate\d7; + +use Drupal\Core\Database\Database; +use Drupal\KernelTests\KernelTestBase; +use Drupal\Tests\migrate\Kernel\MigrateDumpAlterInterface; +use Drupal\Tests\migrate_drupal\Kernel\d7\MigrateDrupal7TestBase; + +/** + * Tests migration field label and description i18n translations. + * + * @group migrate_drupal_7 + * @group legacy + */ +class MigrateFieldInstanceLabelDescriptionTest extends MigrateDrupal7TestBase implements MigrateDumpAlterInterface { + + /** + * {@inheritdoc} + */ + public static $modules = [ + 'comment', + 'config_translation', + 'datetime', + 'field', + 'file', + 'image', + 'language', + 'link', + 'locale', + 'menu_ui', + // Required for translation migrations. + 'migrate_drupal_multilingual', + 'node', + 'system', + 'taxonomy', + 'telephone', + 'text', + ]; + + /** + * {@inheritdoc} + */ + public function setUp() { + parent::setUp(); + + $this->installEntitySchema('node'); + $this->installEntitySchema('comment'); + $this->installEntitySchema('taxonomy_term'); + $this->installConfig(static::$modules); + + $this->executeMigrations([ + 'd7_node_type', + 'd7_comment_type', + 'd7_taxonomy_vocabulary', + 'd7_field', + 'd7_field_instance', + 'd7_field_instance_widget_settings', + 'language', + 'd7_field_instance_label_description_translation', + ]); + } + + /** + * {@inheritdoc} + */ + public static function migrateDumpAlter(KernelTestBase $test) { + $db = Database::getConnection('default', 'migrate'); + // Alter the database to test the migration is successful when a translated + // field is deleted but the translation data for that field remains in both + // the i18n_strings and locales_target tables. + $db->delete('field_config_instance') + ->condition('field_name', 'field_image') + ->condition('bundle', 'article') + ->execute(); + } + + /** + * Tests migration of file variables to file.settings.yml. + */ + public function testFieldInstanceLabelDescriptionTranslationMigration() { + $language_manager = $this->container->get('language_manager'); + + // Check that the deleted field with translations was skipped. + $config_translation = $language_manager->getLanguageConfigOverride('fr', 'field.field.node.article.field_image'); + $this->assertNull($config_translation->get('label')); + $this->assertNull($config_translation->get('description')); + + // Tests fields on 'test_content_type' node type. + $config_translation = $language_manager->getLanguageConfigOverride('fr', 'field.field.node.test_content_type.field_email'); + $this->assertNull($config_translation->get('label')); + $this->assertSame("fr - The email help text.", $config_translation->get('description')); + + $config_translation = $language_manager->getLanguageConfigOverride('is', 'field.field.node.test_content_type.field_email'); + $this->assertSame("is - Email", $config_translation->get('label')); + $this->assertSame("is - The email help text.", $config_translation->get('description')); + + $config_translation = $language_manager->getLanguageConfigOverride('is', 'field.field.node.test_content_type.field_boolean'); + $this->assertSame("is - Some helpful text.", $config_translation->get('description')); + + // Tests fields on 'article' node type. + $config_translation = $language_manager->getLanguageConfigOverride('fr', 'field.field.node.article.body'); + $this->assertSame("fr - Body", $config_translation->get('label')); + + $config_translation = $language_manager->getLanguageConfigOverride('fr', 'field.field.node.article.field_link'); + $this->assertSame("fr - Link", $config_translation->get('label')); + + // Tests fields on 'test_vocabulary' vocabulary type. + $config_translation = $language_manager->getLanguageConfigOverride('is', 'field.field.taxonomy_term.test_vocabulary.field_term_reference'); + $this->assertSame("is - Term Reference", $config_translation->get('label')); + } + +} diff --git a/core/modules/field/tests/src/Kernel/Plugin/migrate/source/d7/FieldInstanceLabelDescriptionTranslationTest.php b/core/modules/field/tests/src/Kernel/Plugin/migrate/source/d7/FieldInstanceLabelDescriptionTranslationTest.php new file mode 100644 index 0000000000000000000000000000000000000000..4f7bce2c43b71532cc7f992307efe685af4441cd --- /dev/null +++ b/core/modules/field/tests/src/Kernel/Plugin/migrate/source/d7/FieldInstanceLabelDescriptionTranslationTest.php @@ -0,0 +1,131 @@ +<?php + +namespace Drupal\Tests\field\Kernel\Plugin\migrate\source\d7; + +use Drupal\Tests\migrate\Kernel\MigrateSqlSourceTestBase; + +/** + * Tests the field label and description translation source plugin. + * + * @covers \Drupal\field\Plugin\migrate\source\d7\FieldLabelDescriptionTranslation + * @group migrate_drupal + */ +class FieldInstanceLabelDescriptionTranslationTest extends MigrateSqlSourceTestBase { + + /** + * {@inheritdoc} + */ + public static $modules = ['config_translation', 'migrate_drupal', 'field']; + + /** + * {@inheritdoc} + */ + public function providerSource() { + $test = []; + + // The source data. + $test[0]['source_data'] = [ + 'i18n_string' => [ + [ + 'lid' => 10, + 'textgroup' => 'field', + 'objectid' => 'story', + 'type' => 'field_image', + 'property' => 'label', + ], + [ + 'lid' => 11, + 'textgroup' => 'field', + 'objectid' => 'story', + 'type' => 'field_image', + 'property' => 'description', + ], + [ + 'lid' => 12, + 'textgroup' => 'field', + 'objectid' => 'forum', + 'type' => 'taxonomy_forums', + 'property' => 'label', + ], + ], + 'locales_target' => [ + [ + 'lid' => 10, + 'translation' => 'fr - story label', + 'language' => 'fr', + 'plid' => 0, + 'plural' => 0, + 'i18n_status' => 0, + ], + [ + 'lid' => 11, + 'translation' => 'fr - story description', + 'language' => 'fr', + 'plid' => 0, + 'plural' => 0, + 'i18n_status' => 0, + ], + [ + 'lid' => 12, + 'translation' => 'zu - term reference', + 'language' => 'zu', + 'plid' => 0, + 'plural' => 0, + 'i18n_status' => 0, + ], + ], + 'field_config_instance' => [ + [ + 'id' => '2', + 'field_id' => '2', + 'field_name' => 'field_image', + 'entity_type' => 'node', + 'bundle' => 'story', + 'data' => 'a:0:{}', + 'deleted' => '0', + ], + [ + 'id' => '3', + 'field_id' => '3', + 'field_name' => 'field_image', + 'entity_type' => 'node', + 'bundle' => 'article', + 'data' => 'a:0:{}', + 'deleted' => '0', + ], + [ + 'id' => '3', + 'field_id' => '4', + 'field_name' => 'field_term_reference', + 'entity_type' => 'taxonomy_term', + 'bundle' => 'trees', + 'data' => 'a:0:{}', + 'deleted' => '0', + ], + ], + ]; + + $test[0]['expected_results'] = [ + [ + 'property' => 'label', + 'translation' => "fr - story label", + 'language' => 'fr', + 'lid' => '10', + ], + [ + 'property' => 'description', + 'translation' => 'fr - story description', + 'language' => 'fr', + 'lid' => '11', + ], + [ + 'property' => 'label', + 'translation' => 'zu - term reference', + 'language' => 'zu', + 'lid' => '12', + ], + ]; + return $test; + } + +} diff --git a/core/modules/migrate_drupal/tests/fixtures/drupal7.php b/core/modules/migrate_drupal/tests/fixtures/drupal7.php index 57e831b5b55d3e8bbe403c6532a084aedfbe615a..310fe3744fe7d36e5461dedca494a7b8a251bf74 100644 --- a/core/modules/migrate_drupal/tests/fixtures/drupal7.php +++ b/core/modules/migrate_drupal/tests/fixtures/drupal7.php @@ -14804,6 +14804,876 @@ )) ->values(array( 'lid' => '76', + 'textgroup' => 'field', + 'context' => 'comment_body:comment_node_page:label', + 'objectid' => 'comment_node_page', + 'type' => 'comment_body', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '77', + 'textgroup' => 'field', + 'context' => 'comment_body:comment_node_article:label', + 'objectid' => 'comment_node_article', + 'type' => 'comment_body', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '78', + 'textgroup' => 'field', + 'context' => 'comment_body:comment_node_blog:label', + 'objectid' => 'comment_node_blog', + 'type' => 'comment_body', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '79', + 'textgroup' => 'field', + 'context' => 'comment_body:comment_node_book:label', + 'objectid' => 'comment_node_book', + 'type' => 'comment_body', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '80', + 'textgroup' => 'field', + 'context' => 'comment_body:comment_node_forum:label', + 'objectid' => 'comment_node_forum', + 'type' => 'comment_body', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '81', + 'textgroup' => 'field', + 'context' => 'comment_body:comment_node_test_content_type:label', + 'objectid' => 'comment_node_test_content_type', + 'type' => 'comment_body', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '82', + 'textgroup' => 'field', + 'context' => 'body:page:label', + 'objectid' => 'page', + 'type' => 'body', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '83', + 'textgroup' => 'field', + 'context' => 'body:article:label', + 'objectid' => 'article', + 'type' => 'body', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '84', + 'textgroup' => 'field', + 'context' => 'body:blog:label', + 'objectid' => 'blog', + 'type' => 'body', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '85', + 'textgroup' => 'field', + 'context' => 'body:book:label', + 'objectid' => 'book', + 'type' => 'body', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '86', + 'textgroup' => 'field', + 'context' => 'body:forum:label', + 'objectid' => 'forum', + 'type' => 'body', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '87', + 'textgroup' => 'field', + 'context' => 'field_tags:article:label', + 'objectid' => 'article', + 'type' => 'field_tags', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '88', + 'textgroup' => 'field', + 'context' => 'field_tags:article:description', + 'objectid' => 'article', + 'type' => 'field_tags', + 'property' => 'description', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '89', + 'textgroup' => 'field', + 'context' => 'field_image:article:label', + 'objectid' => 'article', + 'type' => 'field_image', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '90', + 'textgroup' => 'field', + 'context' => 'field_image:article:description', + 'objectid' => 'article', + 'type' => 'field_image', + 'property' => 'description', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '91', + 'textgroup' => 'field', + 'context' => 'taxonomy_forums:forum:label', + 'objectid' => 'forum', + 'type' => 'taxonomy_forums', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '92', + 'textgroup' => 'field', + 'context' => 'field_boolean:#allowed_values:0', + 'objectid' => '#allowed_values', + 'type' => 'field_boolean', + 'property' => '0', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '93', + 'textgroup' => 'field', + 'context' => 'field_boolean:#allowed_values:1', + 'objectid' => '#allowed_values', + 'type' => 'field_boolean', + 'property' => '1', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '94', + 'textgroup' => 'field', + 'context' => 'field_boolean:test_content_type:label', + 'objectid' => 'test_content_type', + 'type' => 'field_boolean', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '95', + 'textgroup' => 'field', + 'context' => 'field_boolean:test_content_type:description', + 'objectid' => 'test_content_type', + 'type' => 'field_boolean', + 'property' => 'description', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '96', + 'textgroup' => 'field', + 'context' => 'field_email:test_content_type:label', + 'objectid' => 'test_content_type', + 'type' => 'field_email', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '97', + 'textgroup' => 'field', + 'context' => 'field_email:test_content_type:description', + 'objectid' => 'test_content_type', + 'type' => 'field_email', + 'property' => 'description', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '98', + 'textgroup' => 'field', + 'context' => 'field_phone:test_content_type:label', + 'objectid' => 'test_content_type', + 'type' => 'field_phone', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '99', + 'textgroup' => 'field', + 'context' => 'field_date:test_content_type:label', + 'objectid' => 'test_content_type', + 'type' => 'field_date', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '100', + 'textgroup' => 'field', + 'context' => 'field_date_with_end_time:test_content_type:label', + 'objectid' => 'test_content_type', + 'type' => 'field_date_with_end_time', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '101', + 'textgroup' => 'field', + 'context' => 'field_file:test_content_type:label', + 'objectid' => 'test_content_type', + 'type' => 'field_file', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '102', + 'textgroup' => 'field', + 'context' => 'field_file:user:label', + 'objectid' => 'user', + 'type' => 'field_file', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '103', + 'textgroup' => 'field', + 'context' => 'field_float:test_content_type:label', + 'objectid' => 'test_content_type', + 'type' => 'field_float', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '104', + 'textgroup' => 'field', + 'context' => 'field_float:test_content_type:description', + 'objectid' => 'test_content_type', + 'type' => 'field_float', + 'property' => 'description', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '105', + 'textgroup' => 'field', + 'context' => 'field_images:test_content_type:label', + 'objectid' => 'test_content_type', + 'type' => 'field_images', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '106', + 'textgroup' => 'field', + 'context' => 'field_integer:test_content_type:label', + 'objectid' => 'test_content_type', + 'type' => 'field_integer', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '107', + 'textgroup' => 'field', + 'context' => 'field_integer:comment_node_test_content_type:label', + 'objectid' => 'comment_node_test_content_type', + 'type' => 'field_integer', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '108', + 'textgroup' => 'field', + 'context' => 'field_integer:test_vocabulary:label', + 'objectid' => 'test_vocabulary', + 'type' => 'field_integer', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '109', + 'textgroup' => 'field', + 'context' => 'field_integer:user:label', + 'objectid' => 'user', + 'type' => 'field_integer', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '110', + 'textgroup' => 'field', + 'context' => 'field_link:test_content_type:label', + 'objectid' => 'test_content_type', + 'type' => 'field_link', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '111', + 'textgroup' => 'field', + 'context' => 'field_link:test_content_type:title_value', + 'objectid' => 'test_content_type', + 'type' => 'field_link', + 'property' => 'title_value', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '112', + 'textgroup' => 'field', + 'context' => 'field_link:article:label', + 'objectid' => 'article', + 'type' => 'field_link', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '113', + 'textgroup' => 'field', + 'context' => 'field_link:article:title_value', + 'objectid' => 'article', + 'type' => 'field_link', + 'property' => 'title_value', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '114', + 'textgroup' => 'field', + 'context' => 'field_link:blog:label', + 'objectid' => 'blog', + 'type' => 'field_link', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '115', + 'textgroup' => 'field', + 'context' => 'field_link:blog:title_value', + 'objectid' => 'blog', + 'type' => 'field_link', + 'property' => 'title_value', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '116', + 'textgroup' => 'field', + 'context' => 'field_text_list:#allowed_values:Some Text', + 'objectid' => '#allowed_values', + 'type' => 'field_text_list', + 'property' => 'Some Text', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '117', + 'textgroup' => 'field', + 'context' => 'field_text_list:#allowed_values:Some more text', + 'objectid' => '#allowed_values', + 'type' => 'field_text_list', + 'property' => 'Some more text', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '118', + 'textgroup' => 'field', + 'context' => 'field_text_list:#allowed_values:The key', + 'objectid' => '#allowed_values', + 'type' => 'field_text_list', + 'property' => 'The key', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '119', + 'textgroup' => 'field', + 'context' => 'field_text_list:test_content_type:label', + 'objectid' => 'test_content_type', + 'type' => 'field_text_list', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '120', + 'textgroup' => 'field', + 'context' => 'field_integer_list:#allowed_values:1', + 'objectid' => '#allowed_values', + 'type' => 'field_integer_list', + 'property' => '1', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '121', + 'textgroup' => 'field', + 'context' => 'field_integer_list:#allowed_values:2', + 'objectid' => '#allowed_values', + 'type' => 'field_integer_list', + 'property' => '2', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '122', + 'textgroup' => 'field', + 'context' => 'field_integer_list:#allowed_values:3', + 'objectid' => '#allowed_values', + 'type' => 'field_integer_list', + 'property' => '3', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '123', + 'textgroup' => 'field', + 'context' => 'field_integer_list:#allowed_values:6', + 'objectid' => '#allowed_values', + 'type' => 'field_integer_list', + 'property' => '6', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '124', + 'textgroup' => 'field', + 'context' => 'field_integer_list:#allowed_values:7', + 'objectid' => '#allowed_values', + 'type' => 'field_integer_list', + 'property' => '7', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '125', + 'textgroup' => 'field', + 'context' => 'field_integer_list:test_content_type:label', + 'objectid' => 'test_content_type', + 'type' => 'field_integer_list', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '126', + 'textgroup' => 'field', + 'context' => 'field_long_text:test_content_type:label', + 'objectid' => 'test_content_type', + 'type' => 'field_long_text', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '127', + 'textgroup' => 'field', + 'context' => 'field_term_reference:test_content_type:label', + 'objectid' => 'test_content_type', + 'type' => 'field_term_reference', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '128', + 'textgroup' => 'field', + 'context' => 'field_term_reference:test_vocabulary:label', + 'objectid' => 'test_vocabulary', + 'type' => 'field_term_reference', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '129', + 'textgroup' => 'field', + 'context' => 'field_text:test_content_type:label', + 'objectid' => 'test_content_type', + 'type' => 'field_text', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '130', + 'textgroup' => 'field', + 'context' => 'field_node_entityreference:test_content_type:label', + 'objectid' => 'test_content_type', + 'type' => 'field_node_entityreference', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '131', + 'textgroup' => 'field', + 'context' => 'field_user_entityreference:test_content_type:label', + 'objectid' => 'test_content_type', + 'type' => 'field_user_entityreference', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '132', + 'textgroup' => 'field', + 'context' => 'field_term_entityreference:test_content_type:label', + 'objectid' => 'test_content_type', + 'type' => 'field_term_entityreference', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '133', + 'textgroup' => 'field', + 'context' => 'field_private_file:test_content_type:label', + 'objectid' => 'test_content_type', + 'type' => 'field_private_file', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '134', + 'textgroup' => 'field', + 'context' => 'field_text_plain:article:label', + 'objectid' => 'article', + 'type' => 'field_text_plain', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '135', + 'textgroup' => 'field', + 'context' => 'field_text_plain:page:label', + 'objectid' => 'page', + 'type' => 'field_text_plain', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '136', + 'textgroup' => 'field', + 'context' => 'field_text_filtered:article:label', + 'objectid' => 'article', + 'type' => 'field_text_filtered', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '137', + 'textgroup' => 'field', + 'context' => 'field_text_filtered:page:label', + 'objectid' => 'page', + 'type' => 'field_text_filtered', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '138', + 'textgroup' => 'field', + 'context' => 'field_text_plain_filtered:article:label', + 'objectid' => 'article', + 'type' => 'field_text_plain_filtered', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '139', + 'textgroup' => 'field', + 'context' => 'field_text_plain_filtered:page:label', + 'objectid' => 'page', + 'type' => 'field_text_plain_filtered', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '140', + 'textgroup' => 'field', + 'context' => 'field_text_long_plain:article:label', + 'objectid' => 'article', + 'type' => 'field_text_long_plain', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '141', + 'textgroup' => 'field', + 'context' => 'field_text_long_plain:page:label', + 'objectid' => 'page', + 'type' => 'field_text_long_plain', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '142', + 'textgroup' => 'field', + 'context' => 'field_text_long_filtered:article:label', + 'objectid' => 'article', + 'type' => 'field_text_long_filtered', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '143', + 'textgroup' => 'field', + 'context' => 'field_text_long_filtered:page:label', + 'objectid' => 'page', + 'type' => 'field_text_long_filtered', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '144', + 'textgroup' => 'field', + 'context' => 'field_text_long_plain_filtered:article:label', + 'objectid' => 'article', + 'type' => 'field_text_long_plain_filtered', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '145', + 'textgroup' => 'field', + 'context' => 'field_text_long_plain_filtered:page:label', + 'objectid' => 'page', + 'type' => 'field_text_long_plain_filtered', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '146', + 'textgroup' => 'field', + 'context' => 'field_text_sum_plain:article:label', + 'objectid' => 'article', + 'type' => 'field_text_sum_plain', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '147', + 'textgroup' => 'field', + 'context' => 'field_text_sum_plain:page:label', + 'objectid' => 'page', + 'type' => 'field_text_sum_plain', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '148', + 'textgroup' => 'field', + 'context' => 'field_text_sum_filtered:article:label', + 'objectid' => 'article', + 'type' => 'field_text_sum_filtered', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '149', + 'textgroup' => 'field', + 'context' => 'field_text_sum_filtered:page:label', + 'objectid' => 'page', + 'type' => 'field_text_sum_filtered', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '150', + 'textgroup' => 'field', + 'context' => 'field_text_sum_plain_filtered:article:label', + 'objectid' => 'article', + 'type' => 'field_text_sum_plain_filtered', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '151', + 'textgroup' => 'field', + 'context' => 'field_text_sum_plain_filtered:page:label', + 'objectid' => 'page', + 'type' => 'field_text_sum_plain_filtered', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '152', + 'textgroup' => 'field', + 'context' => 'field_datetime_without_time:test_content_type:label', + 'objectid' => 'test_content_type', + 'type' => 'field_datetime_without_time', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '153', + 'textgroup' => 'field', + 'context' => 'field_date_without_time:test_content_type:label', + 'objectid' => 'test_content_type', + 'type' => 'field_date_without_time', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '154', + 'textgroup' => 'field', + 'context' => 'field_float_list:test_content_type:label', + 'objectid' => 'test_content_type', + 'type' => 'field_float_list', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '155', + 'textgroup' => 'field', + 'context' => 'field_reference:article:label', + 'objectid' => 'article', + 'type' => 'field_reference', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '156', + 'textgroup' => 'field', + 'context' => 'field_reference:user:label', + 'objectid' => 'user', + 'type' => 'field_reference', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '157', + 'textgroup' => 'field', + 'context' => 'field_reference_2:article:label', + 'objectid' => 'article', + 'type' => 'field_reference_2', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '158', + 'textgroup' => 'field', + 'context' => 'title_field:test_content_type:label', + 'objectid' => 'test_content_type', + 'type' => 'title_field', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '159', + 'textgroup' => 'field', + 'context' => 'subject_field:comment_node_article:label', + 'objectid' => 'comment_node_article', + 'type' => 'subject_field', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '160', + 'textgroup' => 'field', + 'context' => 'subject_field:comment_node_test_content_type:label', + 'objectid' => 'comment_node_test_content_type', + 'type' => 'subject_field', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '161', + 'textgroup' => 'field', + 'context' => 'name_field:test_vocabulary:label', + 'objectid' => 'test_vocabulary', + 'type' => 'name_field', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '162', + 'textgroup' => 'field', + 'context' => 'description_field:test_vocabulary:label', + 'objectid' => 'test_vocabulary', + 'type' => 'description_field', + 'property' => 'label', + 'objectindex' => '0', + 'format' => '', +)) +->values(array( + 'lid' => '163', 'textgroup' => 'blocks', 'context' => 'user:login:title', 'objectid' => 'login', @@ -15743,7 +16613,7 @@ 'version' => '1', )) ->values(array( - 'lid' => '76', + 'lid' => '163', 'location' => 'blocks:user:login:title', 'textgroup' => 'blocks', 'source' => 'User login title', @@ -15823,7 +16693,47 @@ 'i18n_status' => '0', )) ->values(array( - 'lid' => '76', + 'lid' => '83', + 'translation' => 'fr - Body', + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '89', + 'translation' => 'fr - Image', + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '90', + 'translation' => 'fr - Upload', + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '97', + 'translation' => 'fr - The email help text.', + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '113', + 'translation' => 'fr - Link', + 'language' => 'fr', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '163', 'translation' => 'fr - User login title', 'language' => 'fr', 'plid' => '0', @@ -15838,6 +16748,38 @@ 'plural' => '0', 'i18n_status' => '0', )) +->values(array( + 'lid' => '95', + 'translation' => 'is - Some helpful text.', + 'language' => 'is', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '96', + 'translation' => 'is - Email', + 'language' => 'is', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '97', + 'translation' => 'is - The email help text.', + 'language' => 'is', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) +->values(array( + 'lid' => '128', + 'translation' => 'is - Term Reference', + 'language' => 'is', + 'plid' => '0', + 'plural' => '0', + 'i18n_status' => '0', +)) ->execute(); $connection->schema()->createTable('menu_custom', array( 'fields' => array( @@ -49060,18 +50002,18 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:19:"Contact translation";s:11:"description";s:63:"Makes contact categories and replies available for translation.";s:12:"dependencies";a:2:{i:0;s:7:"contact";i:1;s:11:"i18n_string";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:7:"version";s:8:"7.x-1.26";s:7:"project";s:4:"i18n";s:9:"datestamp";s:10:"1534531985";s:5:"mtime";i:1534531985;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', + 'info' => 'a:12:{s:4:"name";s:19:"Contact translation";s:11:"description";s:63:"Makes contact categories and replies available for translation.";s:12:"dependencies";a:2:{i:0;s:7:"contact";i:1;s:11:"i18n_string";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:7:"version";s:8:"7.x-1.25";s:7:"project";s:4:"i18n";s:9:"datestamp";s:10:"1531342125";s:5:"mtime";i:1537747250;s:3:"php";s:5:"5.2.4";s:5:"files";a:0:{}s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/i18n/i18n_field/i18n_field.module', 'name' => 'i18n_field', 'type' => 'module', 'owner' => '', - 'status' => '0', + 'status' => '1', 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:12:{s:4:"name";s:17:"Field translation";s:11:"description";s:26:"Translate field properties";s:12:"dependencies";a:2:{i:0;s:5:"field";i:1;s:11:"i18n_string";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:5:"files";a:2:{i:0;s:14:"i18n_field.inc";i:1;s:15:"i18n_field.test";}s:7:"version";s:8:"7.x-1.26";s:7:"project";s:4:"i18n";s:9:"datestamp";s:10:"1534531985";s:5:"mtime";i:1534531985;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:12:{s:4:"name";s:17:"Field translation";s:11:"description";s:26:"Translate field properties";s:12:"dependencies";a:2:{i:0;s:5:"field";i:1;s:11:"i18n_string";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:5:"files";a:2:{i:0;s:14:"i18n_field.inc";i:1;s:15:"i18n_field.test";}s:7:"version";s:8:"7.x-1.25";s:7:"project";s:4:"i18n";s:9:"datestamp";s:10:"1531342125";s:5:"mtime";i:1537747250;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/i18n/i18n_forum/i18n_forum.module', @@ -49137,18 +50079,18 @@ 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:19:"Multilingual select";s:11:"description";s:45:"API module for multilingual content selection";s:12:"dependencies";a:1:{i:0;s:4:"i18n";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:9:"configure";s:33:"admin/config/regional/i18n/select";s:5:"files";a:1:{i:0;s:16:"i18n_select.test";}s:7:"version";s:8:"7.x-1.26";s:7:"project";s:4:"i18n";s:9:"datestamp";s:10:"1534531985";s:5:"mtime";i:1534531985;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:13:{s:4:"name";s:19:"Multilingual select";s:11:"description";s:45:"API module for multilingual content selection";s:12:"dependencies";a:1:{i:0;s:4:"i18n";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:9:"configure";s:33:"admin/config/regional/i18n/select";s:5:"files";a:1:{i:0;s:16:"i18n_select.test";}s:7:"version";s:8:"7.x-1.25";s:7:"project";s:4:"i18n";s:9:"datestamp";s:10:"1531342125";s:5:"mtime";i:1537747251;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/i18n/i18n_string/i18n_string.module', 'name' => 'i18n_string', 'type' => 'module', 'owner' => '', - 'status' => '0', + 'status' => '1', 'bootstrap' => '0', 'schema_version' => '-1', 'weight' => '0', - 'info' => 'a:13:{s:4:"name";s:18:"String translation";s:11:"description";s:57:"Provides support for translation of user defined strings.";s:12:"dependencies";a:2:{i:0;s:6:"locale";i:1;s:4:"i18n";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:5:"files";a:3:{i:0;s:21:"i18n_string.admin.inc";i:1;s:15:"i18n_string.inc";i:2;s:16:"i18n_string.test";}s:9:"configure";s:34:"admin/config/regional/i18n/strings";s:7:"version";s:8:"7.x-1.26";s:7:"project";s:4:"i18n";s:9:"datestamp";s:10:"1534531985";s:5:"mtime";i:1534531985;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', + 'info' => 'a:13:{s:4:"name";s:18:"String translation";s:11:"description";s:57:"Provides support for translation of user defined strings.";s:12:"dependencies";a:2:{i:0;s:6:"locale";i:1;s:4:"i18n";}s:7:"package";s:35:"Multilingual - Internationalization";s:4:"core";s:3:"7.x";s:5:"files";a:3:{i:0;s:21:"i18n_string.admin.inc";i:1;s:15:"i18n_string.inc";i:2;s:16:"i18n_string.test";}s:9:"configure";s:34:"admin/config/regional/i18n/strings";s:7:"version";s:8:"7.x-1.25";s:7:"project";s:4:"i18n";s:9:"datestamp";s:10:"1531342125";s:5:"mtime";i:1537747251;s:3:"php";s:5:"5.2.4";s:9:"bootstrap";i:0;}', )) ->values(array( 'filename' => 'sites/all/modules/i18n/i18n_sync/i18n_sync.module',