Как мне на самом деле изменить имя сайта на локализованном сайте?
Даже после изменения настроек в /admin/config/system/site-information
заголовок страницы по-прежнему содержит "Drupal".
Все внешние проверки конфигурации сайта (таблица конфигурации и экспортированные файлы) показывают новое имя.
Я исследовал функцию template_preprocess_html()
в theme.inc
(где значение конфигурации должно быть загружено и введено в переменные темы) и вставил следующие переменные var_dumps:
var_dump(\Drupal::config('system.site')->getRawData()['name']);
var_dump(\Drupal::config('system.site')->get('name'));
var_dump(\Drupal::config('system.site')->getOriginal('name'));
Результирующий результат равен string(12) "My Site Name" string(6) "Drupal" string(6) "Drupal"
.
Конфигурация значение также нигде не переопределяется в файлах настроек сайта. Все кэши очищены.
Почему ->get('name')
возвращает неверное значение, хотя ->getRawData()
содержит правильное?
Редактировать: Я, вероятно, должен добавить, что это сайт с неанглийским языком по умолчанию. Это, по-видимому, является причиной почти всех ошибок ядра, связанных с конфигурацией. Однако код языка объекта конфигурации sytem.site
задан правильно.
Редактировать: Дальнейшее изучение показывает, что язык модуль действительно отвечает за переопределение настроенного имени именем по умолчанию.
Правка3: Похоже, что нет способа установить локализованную информацию о сайте без внешнего редактирования конфигурации. Я экспортировал его, удалил файл language/de/system.site.yml
и повторно импортировал, что исправило его. (На производственном сайте импорт не удалил объект удаленной конфигурации; мне пришлось удалить language.de/system.site запись непосредственно из таблицы конфигурации.)
1 answers
Ключом к переводу сущностей и объектов конфигурации является основной модуль config_translation
(Перевод конфигурации).
Это предоставляет дополнительные маршруты для каждой формы, которая редактирует настройки сайта или объекты конфигурации, которые позволяют редактировать переводы строк конфигурации с поддержкой перевода.