function ViewDuplicateForm::copyTranslations
Same name in other branches
- 10 core/modules/views_ui/src/ViewDuplicateForm.php \Drupal\views_ui\ViewDuplicateForm::copyTranslations()
Copies all translations that existed on the original View.
Parameters
string $original_id: The original View ID.
1 call to ViewDuplicateForm::copyTranslations()
- ViewDuplicateForm::submitForm in core/
modules/ views_ui/ src/ ViewDuplicateForm.php - Form submission handler for the 'clone' action.
File
-
core/
modules/ views_ui/ src/ ViewDuplicateForm.php, line 123
Class
- ViewDuplicateForm
- Form controller for the Views duplicate form.
Namespace
Drupal\views_uiCode
private function copyTranslations(string $original_id) : void {
if (!$this->moduleHandler
->moduleExists('config_translation')) {
return;
}
$current_langcode = $this->languageManager
->getConfigOverrideLanguage()
->getId();
$languages = $this->languageManager
->getLanguages();
$original_name = 'views.view.' . $original_id;
$duplicate_name = 'views.view.' . $this->entity
->id();
foreach ($languages as $language) {
$langcode = $language->getId();
if ($langcode !== $current_langcode) {
$original_translation = $this->languageManager
->getLanguageConfigOverride($langcode, $original_name)
->get();
if ($original_translation) {
$duplicate_translation = $this->languageManager
->getLanguageConfigOverride($langcode, $duplicate_name);
$duplicate_translation->setData($original_translation);
$duplicate_translation->save();
}
}
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.