first commit

This commit is contained in:
2024-07-15 12:33:27 +02:00
commit ce50ae282b
22084 changed files with 2623791 additions and 0 deletions

View File

@@ -0,0 +1,72 @@
id: d6_block_translation
label: Block translations
migration_tags:
- Drupal 6
- Configuration
- Multilingual
source:
plugin: d6_block_translation
constants:
dest_label: 'settings/label'
process:
langcode: language
property: constants/dest_label
translation: title
id:
-
plugin: migration_lookup
migration: d6_block
source:
- module
- delta
-
plugin: skip_on_empty
method: row
plugin:
-
plugin: static_map
bypass: true
source:
- module
- delta
map:
book:
0: book_navigation
comment:
0: views_block:comments_recent-block_1
forum:
0: forum_active_block
1: forum_new_block
locale:
0: language_block
node:
0: node_syndicate_block
search:
0: search_form_block
statistics:
0: statistics_popular_block
system:
0: system_powered_by_block
user:
0: user_login_block
1: system_menu_block:tools
2: views_block:who_s_new-block_1
3: views_block:who_s_online-who_s_online_block
-
plugin: block_plugin_id
-
plugin: skip_on_empty
method: row
theme:
plugin: block_theme
source:
- theme
- default_theme
- admin_theme
destination:
plugin: entity:block
translations: true
migration_dependencies:
required:
- d6_block
- language

View File

@@ -0,0 +1,59 @@
#cspell:ignore objectid
id: d6_field_instance_label_description_translation
label: Field label and description translation
migration_tags:
- Drupal 6
- Configuration
- Multilingual
source:
plugin: d6_field_instance_label_description_translation
constants:
entity_type: node
process:
langcode:
plugin: skip_on_empty
source: language
method: row
translation:
plugin: skip_on_empty
source: translation
method: row
field_name_parts:
plugin: explode
source: objectid
delimiter: '-'
field_name:
plugin: extract
source: '@field_name_parts'
index:
- 1
bundle:
plugin: extract
source: '@field_name_parts'
index:
- 0
exists:
-
plugin: migration_lookup
migration: d6_field_instance
source:
- '@field_name'
- '@bundle'
-
plugin: skip_on_empty
method: row
entity_type: 'constants/entity_type'
property:
plugin: static_map
source: property
bypass: true
map:
widget_label: label
widget_description: description
destination:
plugin: entity:field_config
translations: true
migration_dependencies:
required:
- d6_field_instance
- language

View File

@@ -0,0 +1,181 @@
# cspell:ignore filefield imagefield nodereference objectid onoff optionwidgets
# cspell:ignore userreference
id: d6_field_instance_option_translation
label: Field instance option configuration translation
migration_tags:
- Drupal 6
- Configuration
- Multilingual
source:
plugin: d6_field_instance_option_translation
skip_count: true
constants:
entity_type: node
property: settings
process:
# We skip field types that don't exist because they weren't migrated by the
# field migration.
field_type_exists:
-
plugin: migration_lookup
migration: d6_field
source:
- objectid
-
plugin: extract
index:
- 1
-
plugin: skip_on_empty
method: row
# Use the process from d6_field to determine the field type.
type:
plugin: field_type
source:
- type
- widget_type
map:
userreference:
userreference_select: entity_reference
userreference_buttons: entity_reference
userreference_autocomplete: entity_reference
nodereference:
nodereference_select: entity_reference
number_integer:
number: integer
optionwidgets_select: list_integer
optionwidgets_buttons: list_integer
optionwidgets_onoff: boolean
number_decimal:
number: decimal
optionwidgets_select: list_float
optionwidgets_buttons: list_float
optionwidgets_onoff: boolean
number_float:
number: float
optionwidgets_select: list_float
optionwidgets_buttons: list_float
optionwidgets_onoff: boolean
email:
email_textfield: email
filefield:
imagefield_widget: image
filefield_widget: file
fr_phone:
phone_textfield: telephone
be_phone:
phone_textfield: telephone
it_phone:
phone_textfield: telephone
el_phone:
phone_textfield: telephone
ch_phone:
phone_textfield: telephone
ca_phone:
phone_textfield: telephone
cr_phone:
phone_textfield: telephone
pa_phone:
phone_textfield: telephone
gb_phone:
phone_textfield: telephone
ru_phone:
phone_textfield: telephone
ua_phone:
phone_textfield: telephone
es_phone:
phone_textfield: telephone
au_phone:
phone_textfield: telephone
cs_phone:
phone_textfield: telephone
hu_phone:
phone_textfield: telephone
pl_phone:
phone_textfield: telephone
nl_phone:
phone_textfield: telephone
se_phone:
phone_textfield: telephone
za_phone:
phone_textfield: telephone
il_phone:
phone_textfield: telephone
nz_phone:
phone_textfield: telephone
br_phone:
phone_textfield: telephone
cl_phone:
phone_textfield: telephone
cn_phone:
phone_textfield: telephone
hk_phone:
phone_textfield: telephone
mo_phone:
phone_textfield: telephone
ph_phone:
phone_textfield: telephone
sg_phone:
phone_textfield: telephone
jo_phone:
phone_textfield: telephone
eg_phone:
phone_textfield: telephone
pk_phone:
phone_textfield: telephone
int_phone:
phone_textfield: telephone
boolean_type:
-
plugin: static_map
source: '@type'
map:
boolean: boolean
default_value: false
-
plugin: skip_on_empty
method: row
bundle:
-
plugin: migration_lookup
migration: d6_node_type
source: type_name
-
plugin: skip_on_empty
method: row
langcode:
plugin: skip_on_empty
source: language
method: row
field_name: objectid
entity_type: 'constants/entity_type'
results:
plugin: d6_field_instance_option_translation
source:
- '@type'
- global_settings
translation:
-
plugin: extract
source: '@results'
index: [1]
-
plugin: skip_on_empty
method: row
property:
-
plugin: extract
source: '@results'
index: [0]
-
plugin: skip_on_empty
method: row
destination:
plugin: entity:field_config
translations: true
migration_dependencies:
required:
- d6_node_type
- d6_field_instance
- d6_field_option_translation
- language

View File

@@ -0,0 +1,148 @@
# cspell:ignore filefield imagefield nodereference objectid onoff optionwidgets
# cspell:ignore userreference
id: d6_field_option_translation
label: Field option configuration translation
migration_tags:
- Drupal 6
- Configuration
- Multilingual
source:
plugin: d6_field_option_translation
skip_count: true
constants:
entity_type: node
allowed_values: settings
process:
entity_type: 'constants/entity_type'
status: active
langcode:
plugin: skip_on_empty
source: language
method: row
field_name: objectid
# Use the process from d6_field to determine the field type.
type:
plugin: field_type
source:
- type
- widget_type
map:
userreference:
userreference_select: entity_reference
userreference_buttons: entity_reference
userreference_autocomplete: entity_reference
nodereference:
nodereference_select: entity_reference
number_integer:
number: integer
optionwidgets_select: list_integer
optionwidgets_buttons: list_integer
optionwidgets_onoff: boolean
number_decimal:
number: decimal
optionwidgets_select: list_float
optionwidgets_buttons: list_float
optionwidgets_onoff: boolean
number_float:
number: float
optionwidgets_select: list_float
optionwidgets_buttons: list_float
optionwidgets_onoff: boolean
email:
email_textfield: email
filefield:
imagefield_widget: image
filefield_widget: file
fr_phone:
phone_textfield: telephone
be_phone:
phone_textfield: telephone
it_phone:
phone_textfield: telephone
el_phone:
phone_textfield: telephone
ch_phone:
phone_textfield: telephone
ca_phone:
phone_textfield: telephone
cr_phone:
phone_textfield: telephone
pa_phone:
phone_textfield: telephone
gb_phone:
phone_textfield: telephone
ru_phone:
phone_textfield: telephone
ua_phone:
phone_textfield: telephone
es_phone:
phone_textfield: telephone
au_phone:
phone_textfield: telephone
cs_phone:
phone_textfield: telephone
hu_phone:
phone_textfield: telephone
pl_phone:
phone_textfield: telephone
nl_phone:
phone_textfield: telephone
se_phone:
phone_textfield: telephone
za_phone:
phone_textfield: telephone
il_phone:
phone_textfield: telephone
nz_phone:
phone_textfield: telephone
br_phone:
phone_textfield: telephone
cl_phone:
phone_textfield: telephone
cn_phone:
phone_textfield: telephone
hk_phone:
phone_textfield: telephone
mo_phone:
phone_textfield: telephone
ph_phone:
phone_textfield: telephone
sg_phone:
phone_textfield: telephone
jo_phone:
phone_textfield: telephone
eg_phone:
phone_textfield: telephone
pk_phone:
phone_textfield: telephone
int_phone:
phone_textfield: telephone
results:
plugin: d6_field_option_translation
source:
- '@type'
- global_settings
translation:
-
plugin: extract
source: '@results'
index: [1]
-
plugin: skip_on_empty
method: row
property:
-
plugin: extract
source: '@results'
index: [0]
-
plugin: skip_on_empty
method: row
destination:
plugin: entity:field_storage_config
translations: true
migration_dependencies:
required:
- d6_field
- language

View File

@@ -0,0 +1,54 @@
# cspell:ignore objectid
id: d6_profile_field_option_translation
label: Profile field configuration
migration_tags:
- Drupal 6
- Configuration
- Multilingual
source:
plugin: d6_profile_field_option_translation
skip_count: true
constants:
entity_type: user
process:
entity_type: 'constants/entity_type'
status: active
langcode:
plugin: skip_on_empty
source: language
method: row
field_name: objectid
# Use the process from user_profile_field to determine the field type.
type:
plugin: static_map
source: type
map:
selection: list_string
results:
plugin: d6_profile_field_option_translation
source:
- '@type'
- translation
translation:
-
plugin: extract
source: '@results'
index: [1]
-
plugin: skip_on_empty
method: row
property:
-
plugin: extract
source: '@results'
index: [0]
-
plugin: skip_on_empty
method: row
destination:
plugin: entity:field_storage_config
translations: true
migration_dependencies:
required:
- language
- user_profile_field_instance

View File

@@ -0,0 +1,22 @@
id: d6_system_maintenance_translation
label: Maintenance page configuration
migration_tags:
- Drupal 6
- Configuration
- Multilingual
source:
plugin: d6_variable_translation
variables:
- site_offline_message
source_module: i18n
process:
langcode: language
message: site_offline_message
destination:
plugin: config
config_name: system.maintenance
translations: true
migration_dependencies:
required:
- system_maintenance
- language

View File

@@ -0,0 +1,46 @@
id: d6_system_site_translation
label: Site configuration
migration_tags:
- Drupal 6
- Configuration
- Multilingual
source:
plugin: d6_variable_translation
constants:
slash: '/'
variables:
- site_name
- site_mail
- site_slogan
- site_frontpage
- site_403
- site_404
source_module: i18n
process:
langcode: language
name: site_name
mail: site_mail
slogan: site_slogan
'page/front':
plugin: concat
source:
- constants/slash
- site_frontpage
'page/403':
plugin: concat
source:
- constants/slash
- site_403
'page/404':
plugin: concat
source:
- constants/slash
- site_404
destination:
plugin: config
config_name: system.site
translations: true
migration_dependencies:
required:
- system_site
- language

View File

@@ -0,0 +1,32 @@
id: d6_taxonomy_vocabulary_translation
label: Taxonomy vocabularies
migration_tags:
- Drupal 6
- Configuration
- Multilingual
source:
plugin: d6_taxonomy_vocabulary_translation
process:
vid:
-
plugin: machine_name
source: name
-
plugin: substr
length: 30
langcode: language
property:
plugin: static_map
source: property
map:
name: name
description: description
translation: translation
destination:
plugin: entity:taxonomy_vocabulary
destination_module: config_translation
translations: true
migration_dependencies:
required:
- d6_taxonomy_vocabulary
- language

View File

@@ -0,0 +1,76 @@
id: d6_user_mail_translation
label: User mail configuration
migration_tags:
- Drupal 6
- Configuration
- Multilingual
source:
plugin: d6_variable_translation
variables:
- user_mail_status_activated_subject
- user_mail_status_activated_body
- user_mail_password_reset_subject
- user_mail_password_reset_body
- user_mail_status_deleted_subject
- user_mail_status_deleted_body
- user_mail_register_admin_created_subject
- user_mail_register_admin_created_body
- user_mail_register_no_approval_required_subject
- user_mail_register_no_approval_required_body
- user_mail_register_pending_approval_subject
- user_mail_register_pending_approval_body
- user_mail_status_blocked_subject
- user_mail_status_blocked_body
source_module: i18n
process:
langcode: language
'status_activated/subject':
plugin: convert_tokens
source: user_mail_status_activated_subject
'status_activated/body':
plugin: convert_tokens
source: user_mail_status_activated_body
'password_reset/subject':
plugin: convert_tokens
source: user_mail_password_reset_subject
'password_reset/body':
plugin: convert_tokens
source: user_mail_password_reset_body
'cancel_confirm/subject':
plugin: convert_tokens
source: user_mail_status_deleted_subject
'cancel_confirm/body':
plugin: convert_tokens
source: user_mail_status_deleted_body
'register_admin_created/subject':
plugin: convert_tokens
source: user_mail_register_admin_created_subject
'register_admin_created/body':
plugin: convert_tokens
source: user_mail_register_admin_created_body
'register_no_approval_required/subject':
plugin: convert_tokens
source: user_mail_register_no_approval_required_subject
'register_no_approval_required/body':
plugin: convert_tokens
source: user_mail_register_no_approval_required_body
'register_pending_approval/subject':
plugin: convert_tokens
source: user_mail_register_pending_approval_subject
'register_pending_approval/body':
plugin: convert_tokens
source: user_mail_register_pending_approval_body
'status_blocked/subject':
plugin: convert_tokens
source: user_mail_status_blocked_subject
'status_blocked/body':
plugin: convert_tokens
source: user_mail_status_blocked_body
destination:
plugin: config
config_name: user.mail
translations: true
migration_dependencies:
required:
- d6_user_mail
- language

View File

@@ -0,0 +1,42 @@
id: d6_user_profile_field_instance_translation
label: User profile field instance configuration
migration_tags:
- Drupal 6
- Configuration
- Multilingual
source:
plugin: d6_profile_field_translation
constants:
entity_type: user
bundle: user
process:
langcode: language
entity_type: 'constants/entity_type'
bundle: 'constants/bundle'
field_name:
-
plugin: migration_lookup
migration: user_profile_field
source: fid
-
plugin: skip_on_empty
method: row
-
plugin: extract
index:
- 1
property:
plugin: static_map
source: property
map:
title: label
options: options
explanation: description
translation: translation
destination:
plugin: entity:field_config
translations: true
migration_dependencies:
required:
- language
- user_profile_field_instance

View File

@@ -0,0 +1,37 @@
id: d6_user_settings_translation
label: User configuration
migration_tags:
- Drupal 6
- Configuration
- Multilingual
source:
plugin: d6_variable_translation
variables:
- user_mail_status_blocked_notify
- user_mail_status_activated_notify
- user_email_verification
- user_register
- anonymous
source_module: i18n
process:
langcode: language
'notify/status_blocked': user_mail_status_blocked_notify
'notify/status_activated': user_mail_status_activated_notify
verify_mail: user_email_verification
register:
plugin: static_map
source: user_register
default_value: visitors_admin_approval
map:
2: visitors_admin_approval
1: visitors
0: admin_only
anonymous: anonymous
destination:
plugin: config
config_name: user.settings
translations: true
migration_dependencies:
required:
- d6_user_settings
- language

View File

@@ -0,0 +1,80 @@
id: d7_block_translation
label: Block translation
migration_tags:
- Drupal 7
- Configuration
- Multilingual
source:
plugin: d7_block_translation
constants:
dest_label: 'settings/label'
process:
multilingual:
plugin: skip_on_empty
source: i18n_mode
method: row
langcode: language
property: constants/dest_label
translation: translation
id:
-
plugin: migration_lookup
migration: d7_block
source:
- module
- delta
-
plugin: skip_on_empty
method: row
# The plugin process is copied from d7_block.yml
plugin:
-
plugin: static_map
bypass: true
source:
- module
- delta
map:
book:
navigation: book_navigation
comment:
recent: views_block:comments_recent-block_1
forum:
active: forum_active_block
new: forum_new_block
# locale:
# 0: language_block
node:
syndicate: node_syndicate_block
search:
form: search_form_block
statistics:
popular: statistics_popular_block
system:
main: system_main_block
'powered-by': system_powered_by_block
user:
login: user_login_block
# 1: system_menu_block:tools
new: views_block:who_s_new-block_1
online: views_block:who_s_online-who_s_online_block
-
plugin: block_plugin_id
-
plugin: skip_on_empty
method: row
# The theme process is copied from d7_block.yml
theme:
plugin: block_theme
source:
- theme
- default_theme
- admin_theme
destination:
plugin: entity:block
translations: true
migration_dependencies:
required:
- d7_block
- language

View File

@@ -0,0 +1,65 @@
# cspell:ignore objectid
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
translations: true
migration_dependencies:
required:
- language
- d7_field_instance
optional:
- d7_node_type
- d7_comment_type
- d7_taxonomy_vocabulary

View File

@@ -0,0 +1,58 @@
id: d7_field_instance_option_translation
label: Field instance option configuration translation
migration_tags:
- Drupal 7
- Configuration
- Multilingual
source:
plugin: d7_field_option_translation
constants:
status: true
process:
langcode:
plugin: skip_on_empty
source: language
method: row
type:
plugin: process_field
source: type
method: getFieldType
entity_type: entity_type
field_name: field_name
# The bundle needs to be statically mapped in order to support comment types
# that might already exist before this migration is run. See
# d7_comment_type.yml for more information.
bundle:
plugin: static_map
source: bundle
bypass: true
map:
comment_node_forum: comment_forum
results:
plugin: d7_field_instance_option_translation
source:
- '@type'
- data
translation:
-
plugin: extract
source: '@results'
index: [1]
-
plugin: skip_on_empty
method: row
property:
-
plugin: extract
source: '@results'
index: [0]
-
plugin: skip_on_empty
method: row
destination:
plugin: entity:field_config
translations: true
migration_dependencies:
required:
- language
- d7_field_instance

View File

@@ -0,0 +1,48 @@
id: d7_field_option_translation
label: Field option configuration translation
migration_tags:
- Drupal 7
- Configuration
- Multilingual
field_plugin_method: alterFieldMigration
source:
plugin: d7_field_option_translation
process:
langcode:
plugin: skip_on_empty
source: language
method: row
entity_type: entity_type
field_name: field_name
type:
plugin: process_field
source: type
method: getFieldType
results:
plugin: d7_field_option_translation
source:
- '@type'
- data
translation:
-
plugin: extract
source: '@results'
index: [1]
-
plugin: skip_on_empty
method: row
property:
-
plugin: extract
source: '@results'
index: [0]
-
plugin: skip_on_empty
method: row
destination:
plugin: entity:field_storage_config
translations: true
migration_dependencies:
required:
- language
- d7_field

View File

@@ -0,0 +1,33 @@
id: d7_menu_translation
label: Menu translation
migration_tags:
- Drupal 7
- Configuration
- Multilingual
source:
plugin: d7_menu_translation
process:
id:
-
plugin: migration_lookup
migration: d7_menu
source: menu_name
-
plugin: skip_on_empty
method: row
langcode: language
property:
plugin: static_map
source: property
map:
title: label
description: description
translation: translation
destination:
plugin: entity:menu
destination_module: config_translation
translations: true
migration_dependencies:
required:
- language
- d7_menu

View File

@@ -0,0 +1,21 @@
id: d7_system_maintenance_translation
label: Maintenance page configuration
migration_tags:
- Drupal 7
- Configuration
- Multilingual
source:
plugin: d7_variable_translation
variables:
- maintenance_mode_message
process:
langcode: language
message: maintenance_mode_message
destination:
plugin: config
config_name: system.maintenance
translations: true
migration_dependencies:
required:
- language
- system_maintenance

View File

@@ -0,0 +1,23 @@
id: d7_system_site_translation
label: Site configuration translation
migration_tags:
- Drupal 7
- Configuration
- Multilingual
source:
plugin: d7_variable_translation
variables:
- site_name
- site_slogan
process:
langcode: language
name: site_name
slogan: site_slogan
destination:
plugin: config
config_name: system.site
translations: true
migration_dependencies:
required:
- language
- system_site

View File

@@ -0,0 +1,33 @@
id: d7_taxonomy_vocabulary_translation
label: Taxonomy vocabulary translations
migration_tags:
- Drupal 7
- Configuration
- Multilingual
source:
plugin: d7_taxonomy_vocabulary_translation
process:
vid:
-
plugin: migration_lookup
migration: d7_taxonomy_vocabulary
source: vid
-
plugin: skip_on_empty
method: row
langcode: language
property:
plugin: static_map
source: property
map:
name: name
description: description
translation: translation
destination:
plugin: entity:taxonomy_vocabulary
destination_module: config_translation
translations: true
migration_dependencies:
required:
- language
- d7_taxonomy_vocabulary

View File

@@ -0,0 +1,83 @@
id: d7_user_mail_translation
label: User mail configuration translation
migration_tags:
- Drupal 7
- Configuration
- Multilingual
source:
plugin: d7_variable_translation
variables:
- user_mail_cancel_confirm_subject
- user_mail_cancel_confirm_body
- user_mail_password_reset_subject
- user_mail_password_reset_body
- user_mail_register_admin_created_subject
- user_mail_register_admin_created_body
- user_mail_register_no_approval_required_subject
- user_mail_register_no_approval_required_body
- user_mail_register_pending_approval_subject
- user_mail_register_pending_approval_body
- user_mail_status_activated_subject
- user_mail_status_activated_body
- user_mail_status_blocked_subject
- user_mail_status_blocked_body
- user_mail_status_canceled_subject
- user_mail_status_canceled_body
process:
langcode: language
'cancel_confirm/subject':
plugin: convert_tokens
source: user_mail_cancel_confirm_subject
'cancel_confirm/body':
plugin: convert_tokens
source: user_mail_cancel_confirm_body
'password_reset/subject':
plugin: convert_tokens
source: user_mail_password_reset_subject
'password_reset/body':
plugin: convert_tokens
source: user_mail_password_reset_body
'register_admin_created/subject':
plugin: convert_tokens
source: user_mail_register_admin_created_subject
'register_admin_created/body':
plugin: convert_tokens
source: user_mail_register_admin_created_body
'register_no_approval_required/subject':
plugin: convert_tokens
source: user_mail_register_no_approval_required_subject
'register_no_approval_required/body':
plugin: convert_tokens
source: user_mail_register_no_approval_required_body
'register_pending_approval/subject':
plugin: convert_tokens
source: user_mail_register_pending_approval_subject
'register_pending_approval/body':
plugin: convert_tokens
source: user_mail_register_pending_approval_body
'status_activated/subject':
plugin: convert_tokens
source: user_mail_status_activated_subject
'status_activated/body':
plugin: convert_tokens
source: user_mail_status_activated_body
'status_blocked/subject':
plugin: convert_tokens
source: user_mail_status_blocked_subject
'status_blocked/body':
plugin: convert_tokens
source: user_mail_status_blocked_body
'status_canceled/subject':
plugin: convert_tokens
source: user_mail_status_canceled_subject
'status_canceled/body':
plugin: convert_tokens
source: user_mail_status_canceled_body
destination:
plugin: config
config_name: user.mail
translations: true
migration_dependencies:
required:
- language
- d7_user_mail

View File

@@ -0,0 +1,21 @@
id: d7_user_settings_translation
label: User settings configuration translation
migration_tags:
- Drupal 7
- Configuration
- Multilingual
source:
plugin: d7_variable_translation
variables:
- anonymous
process:
langcode: language
anonymous: anonymous
destination:
plugin: config
config_name: user.settings
translations: true
migration_dependencies:
required:
- language
- d7_user_settings

View File

@@ -0,0 +1,18 @@
finished:
6:
i18n: config_translation
i18nblocks: config_translation
i18ncck: config_translation
i18nprofile: config_translation
i18nstrings: config_translation
i18ntaxonomy: config_translation
locale: language
7:
i18n: config_translation
i18n_block: config_translation
i18n_field: config_translation
i18n_menu: config_translation
i18n_string: config_translation
i18n_taxonomy: config_translation
i18n_variable: config_translation
locale: language