Multilingual Drupal 8

1,185 views
1,069 views

Published on

Слайды доклада «Многоязычные сайты на Drupal 8» для DrupalCamp СНГ 2013.
http://drupalcis.org/node/72

Катя Маршалкина, Licel LLC
24.08.2013

Published in: Technology
1 Comment
5 Likes
Statistics
Notes
  • Пример интеграции с config_translation для перевода конфигурации: http://drupal.stackexchange.com/questions/87922/add-multilingual-support-to-drupal-8-hello-world-module/87923#87923
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
1,185
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
12
Comments
1
Likes
5
Embeds 0
No embeds

No notes for slide

Multilingual Drupal 8

  1. 1. DrupalCIS 2013 Многоязычные сайты на Drupal 8 Катя Маршалкина, Licel LLC
  2. 2. DrupalCIS 2013 Вместо предисловия… DrupalCamp Kyiv 2013 7 докладов про Drupal 8, материалы доступны в сети camp13.drupal.ua Портирование модулей с Drupal 7 на Drupal 8 Константин Комелин, Катя Маршалкина CLI.GS/D8CX-13 DrupalConf Moscow 2011 Многоязычность в Drupal 7, Катя Маршалкина tinyurl.com/DRUPAL-LANG-2011 @kalabro marshalkina@licel.ru twitter.com/kalabro dgo.to/@kalabro 1 2 3 4
  3. 3. DrupalCIS 2013 Для кого этот доклад* Для тех, кто делает сайты на нескольких языках Для тех, кто делает одноязычные сайты на любом языке кроме английского (на русском) Для тех, кто пишет код 1 2 3 * Для тех, кто интересуется Drupal 8
  4. 4. • Сам определит и установит ваш язык • Сам скачает переводы установщика • Сам создаст базу • Сам скачает переводы ядра и контрибов Первое, что вы видите, скачав Drupal 8 / Spark 8
  5. 5. DrupalCIS 2013 Модули из коробки
  6. 6. DrupalCIS 2013 Интерфейс vs Контент Интерфейс ? Контент • t() • format_plural() • watchdog() • @Translation • Twig (trans, plural) Примеры: • 'Save content' • '@count comments' То, что можно скачать при помощи l10n_update. • Ноды • Термины таксономии • Комментарии • Пользователи • … • Название сайта • Словари • Типы материалов • Названия полей • Rules • Настройки Views • Настройки блоков • Роли пользователей • … i18n, i18n_block, i18n_node, i18n_string, i18n_field, i18nviews, rules_i18n, path_breadcr umbs_i18n, …
  7. 7. l10n_update в ядре
  8. 8. DrupalCIS 2013 Функция t() • Не нужны, get_t(), st(), $t. Просто t(). • Реализовано как сервис string_translation: – CustomStrings – FileTranslation – StaticTranslation – LocaleTranslation
  9. 9. DrupalCIS 2013 Английский • Английский можно удалять, если не нужен • Можно менять язык по умолчанию с английского на любой другой (без риска всё сломать) • Английский можно переводить на английский (stringoverrides в ядре)
  10. 10. DrupalCIS 2013 Определение текущего языка
  11. 11. DrupalCIS 2013 Определение текущего языка из URL
  12. 12. DrupalCIS 2013 Контент Drupal 7 Drupal 8 • Content Translation (translation) • Entity Translation (entity_translation) • Content Translation (content_translation) • Content Translation deprecated (translation)
  13. 13. Content Translation (D8) • Все сущности (content entities) поддерживаются
  14. 14. DrupalCIS 2013 Content Translation (D8) • Field Level (метод переводимых полей) • Методы – getTranslation() – getUntranslated() – getTranslationLanguages() – addTranslation() – hasTranslation() – и т.д. // Drupal 7 (bad practice) $value = $entity->field_foo[LANGUAGE_NONE][0]['value']; // Drupal 8 $value = $entity->field_foo->value;
  15. 15. DrupalCIS 2013 Content Translation (D8) • Property Translation API для НЕ-полей (title, status, created, …) Drupal 7 Drupal 8
  16. 16. DrupalCIS 2013 Entities Fieldable EntityNG (DX) Why: deployment, unification Idea: ctools exportables Implementation: plugins + yml new Content Entities Config Entities Examples: Nodes Taxonomy terms Users Comments Files Menu Links … Examples: Block instances Vocabularies User roles Views Menus Display Modes Image Styles … Источник: CLI.GS/D8CX-13, слайд 23
  17. 17. DrupalCIS 2013 Перевод конфигурации Интерфейс Configuration Translation Контент • Название сайта • Словари • Типы материалов • Названия полей • Rules • Настройки Views • Настройки блоков • Роли пользователей • … Contrib: https://drupal.org/project/config_translation
  18. 18. DrupalCIS 2013 Перевод конфигурации File: sites/default/files/config_#HASH#/active/locale.config.ru.views.view.frontpage.yml display: default: display_options: empty: area_text_custom: content: 'Пока нет никаких материалов.' header: area_text_custom: content: 'Лучшие материалы за неделю.'
  19. 19. DrupalCIS 2013 Перевод конфигурации name: 'Smells like Drupal 8' mail: marshalkina8@licel.ru slogan: 'Демо для DrupalCIS 2013' page: 403: '' 404: '' front: node admin_compact_mode: '0' weight_select_max: '100' langcode: ru slogan: 'DrupalCIS 2013 Demo' system.site.yml locale.config.en.system.site.yml
  20. 20. DrupalCIS 2013 Итого • Множественные улучшения в интерфейсе • Переход на Field Level перевод контента • Удобные API для работы с полями и переводами • Универсальная система перевода любых конфигураций • Централизованное хранение переводов (files/translations) • Множество полезных функций в ядре (transliteration, admin_language, l10n_update и т.д.)
  21. 21. DrupalCIS 2013 Drupal 8 Multilingual Initiative — http://www.drupal8multilingual.org/ Change records for Drupal core — https://drupal.org/list-changes Спасибо за внимание! Катя Маршалкина marshalkina@licel.ru licel.ru

×