У моего клиента 95 сайтов в Drupal 7, использующих единую базу кода. На каждом сайте по умолчанию используется английский sh, но у десятков есть и другие языки. Мы находимся в процессе планирования их перехода на Drupal 8, и одна проблема заключалась в том, как мы используем синхронизацию конфигурации Drupal 8 вместо функций и как это повлияет на языки. Мы хотим, чтобы у каждого сайта был свой уникальный язык.
Наш метод выглядит следующим образом:
1. Установите и включите модуль config_ignore https://www.drupal.org/project/config_ignore
2. Внутри раздела config_ignore добавьте language. * (Который игнорирует все файлы, начинающиеся с language. * Из импортированных в config syn c.)
3. Добавьте в файл gitignore 'config / sync / language' и 'config / sync / language. *' (Чтобы не допустить фиксации переведенных файлов конфигурации, которые теперь находятся в config / language / {lang_code})
Чтобы проверить это, я создал сайт Drupal 8 на Pantheon и вытащил тот же код / db на свой локальный. После внесения вышеуказанных изменений в свой локальный я фиксируюсь на сайте пантеона.
Теперь (после запуска "import all" config syn c) сайт Pantheon D8 имеет набор конфигураций. Я готов добавить новый язык, в данном случае французский, на свой сайт-пантеон.
После завершения настройки нового языка я захожу в config syn c (admin / config / development / configuration), и он показывает внесенные изменения, а также вижу список игнорируемых файлов language. *. Благодаря настройке config_ignore я могу запустить «импортировать все», и он не удалит язык.
Теперь мой сайт Pantheon D8 имеет уникальный второй язык (fr), и я готов к тестированию. На моем локальном я добавляю голландский язык к языкам и фиксирую эти изменения на моем сайте pantheon.
Мой сайт pantheon игнорирует все языковые изменения с local, и fr остается единственным другим языком на моем сайте Drupal 8.
Звучит ли это как solid метод обработки нескольких языков на сайте?