Обновление многоязычного Drupal 6 до Drupal 8
На этой странице документации представлен обзор многоязычных обновлений Drupal 6 до Drupal 8. Аналогичная страница для Drupal 7 для Drupal 8 будет создана в ближайшее время. В ожидании этой страницы обратитесь к мета-проблеме многоязычных миграций.
Прежде чем начать: Включите модули D8
Drupal 8 имеет обширную многоязычную поддержку в Core. Как объясняется в Многоязычном руководстве по Drupal 8, многоязычные возможности предоставляются следующими основными модулями:
- Language
- Interface Translation
- Content Translation
- Configuration Translation.
Убедитесь, что у вас все эти основные модули включены на вашем сайте Drupal 8 перед запуском обновления. В дополнение к четырем модулям, перечисленным выше, убедитесь, что у вас включен основной многоязычный модуль Migrate Drupal.
Многоязычные узлы
Предоставленный модуль i18n предоставляет многоязычные возможности для узлов в Drupal 6. Аналогичные возможности есть в ядре Drupal 8.
Языковые настройки типов контента
- Поддерживается миграция языковых настроек типа контента с Drupal 6 на Drupal 8.
Языковые узлы без переводов
- Узлы могут иметь язык в Drupal 6 без перевода.
- Результат в Drupal 8 будет концептуально таким же, как и в Drupal 6. Будет два отдельных объекта-узла, и язык каждого узла будет перенесен автоматически.
- Рисунок ниже иллюстрирует эту миграцию.
Узловые переводы
Концепция перевода в Drupal 6 и Drupal 8 принципиально отличается.
В Drupal 6 у нас есть два узла, один для английского и один для финского. Обе языковые версии являются отдельными объектами узла с их собственными идентификаторами узла. Узлы связаны как переводы друг друга.
Концепция перевода Drupal 8 принципиально иная. Существует только одна сущность узла, которая является «общей» для всех языковых версий узла, и переводы выполняются на уровне поля.
На рисунке ниже показана миграция. Содержимое обоих узлов (на английском и финском языках) переносится на один и тот же узел, так что на уровне полей имеются языковые версии. Перенаправления с node/2 на node/1 будут автоматически созданы во время миграции.
Многоязычные версии узлов
ВНИМАНИЕ: Многоязычные версии узлов еще не перенесены!Остальные задачи:
Многоязычные пункты меню
Предоставленный модуль i18n имеет подмодуль перевода меню, который предоставляет возможность Drupal 6
- Определите язык для пунктов меню
- Переведите пункты меню, используя пользовательский интерфейс перевода строк.
Подобные возможности есть в ядре Drupal 8. Поддерживается перенос языков пунктов меню и их переводов из Drupal 6.
Многоязычные комментарии
ВНИМАНИЕ: Миграция комментариев еще не завершена!Остальные задачи
- # 2981393: Переносить языковые настройки типа комментария. Обходной путь: этот параметр может быть легко изменен вручную в настройках типа комментариев Drupal 8 после обновления.
Многоязычные словари и термины таксономии
Предоставленный модуль i18n имеет подмодуль перевода таксономии, который предоставляет многоязычные возможности для словарей и терминов таксономии в Drupal 6. Подобные возможности есть в ядре Drupal 8.
Предупреждение: миграция для многоязычных словарей еще не завершена!
Drupal 6 имеет две разные концепции многоязычного словаря. Смотрите оставшиеся задачи для них ниже.
Миграция лексики, перевод названия и описания
- Миграция переводы словаря имени и описания поддерживаются
Справочная информация: Drupal 6 словарных режимов перевода
Drupal 6 поддерживает различные многоязычные понятия для словарей, как показано на рисунке ниже.
Понятия «локализованные термины» и «для каждого языка» объясняются ниже. «Язык» словаря применим только в том случае, если словарь имеет фиксированный язык (настройка «установить язык в словарь»). В фиксированной языковой концепции все термины словаря получают этот язык.
Локализованные понятия
Оставшиеся задачи для миграции «Локализованные термины»
Временное решение: языковые настройки можно изменить вручную на сайте Drupal 8.
Обходного пути нет (кроме перевода терминов вручную в Drupal 8).
Обходного пути нет (кроме как связать термины вручную с переводами узлов в Drupal 8).
Концепция «локализованных терминов» в Drupal 6 показана на рисунке ниже.
- У нас есть два узла, один на английском (nid 1) и один на финском (nid 2). Эти узлы связаны как переводы друг друга.
- У нас есть единица термина таксономии (tid 1). И финский, и английский узлы указывают на один и тот же термин.
- Термин «заголовок и описание» можно перевести с помощью модуля перевода i18n / String.
Drupal 8 имеет эквивалент для концепции «локализованных терминов».
- Как объяснялось выше, переводы узлов переносятся в Drupal 8, поэтому у нас есть только один узел для обеих языковых версий.
- У нас есть один термин таксономии, такой же, как в Drupal 6.
- Версии узла на финском и английском языках указывают на один и тот же термин.
По языковым терминам
Остальные задачи для миграций «По языковым условиям»
Временное решение: языковые настройки можно изменить вручную на сайте Drupal 8.
Обходного пути нет (кроме как связать термины вручную с переводами узлов в Drupal 8).
Концепция D6 «По языковым терминам» показана на рисунке ниже.
- У нас есть два узла, один на английском и один на финском. Они могут быть связаны как переводы друг друга.
- У нас есть отдельные объекты таксономического термина, один для английского языка и один для финского языка. У них есть свои собственные идентификаторы терминов. Термины могут быть связаны как переводы друг друга.
Ближайший Drupal 8, эквивалентный понятию «Для языковых терминов», показан на рисунке ниже.
- Как объяснялось выше, переводы узлов переносятся в Drupal 8, так что у нас есть только один узел, но есть переводимые поля.
- Здесь поле для ссылки на термин таксономии устанавливается как переводимое, так что английская версия узла может указывать на английский термин (term/1), а финская версия узла может указывать на финский термин term/2).
- Обратите внимание, что в Drupal 8 оба термина не могут быть связаны как переводы друг друга.
Другие многоязычные миграции
Другие поддерживаемые миграции:
- Поддерживается миграция включенных языков из Drupal 6 в Drupal 8.
- Поддерживается перенос настроек согласования языков из Drupal 6 в Drupal 8.
- Перенос блочных переводов с Drupal 6 на Drupal 8 поддерживается.
Другие оставшиеся задачи миграции D6-D8:
# 2845975: Перенести опцию перевода значения поля профиля пользователя Drupal 6
Нашли ошибку? Нужна поддержка? Хотите внести свой вклад в миграцию?
Если вы обнаружили ошибку, связанную с многоязычными миграциями, сообщите о них как о дочерних проблемах multilingual meta issue.
Если вам нужна поддержка, присоединяйтесь к активному каналу #migration на Drupal Slack или отправьте свой вопрос в Drupal Stack Exchange.
Если вы хотите внести свой вклад в вопросы миграции, добро пожаловать! Посетите страницу «Содействие миграции».
Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.