a whole new world for multilingual sites in drupal 8 - jam's drupal camp session

107

Upload: jeffrey-mcguire

Post on 08-May-2015

3.134 views

Category:

Technology


0 download

DESCRIPTION

Slides from Gábor Hojtsy, Drupal 8 Multilingual Initiative Lead's presentation for jam's Drupal Camp on the incredible work and improvements for translation and localisation that have gone into Drupal 8. Over 800 (yes, eight hundred) people participated in the issues around improving multilingual features and APIs in Drupal 8 for the past two and a half years. Over 500 issues have been resolved making Drupal 8 a truly outstanding release for everybody looking to create even single language non-English sites but especially those making multilingual sites. This session aims to show you around all the great improvements and give tips as to how to best utilise the new solutions. The ideal attendee at this session has some experience in Drupal 6 or 7 multilingual site building, however those who have no experience in foreign/multilingual site building will also get a lot out of it. Want to be involved in this project? See http://hojtsy.hu/multilingual-drupal8 for an article series on the details on what we accomplished. http://www.drupal8multilingual.org/ is our initiative home and we have meetings every other week to discuss and move current efforts forward.

TRANSCRIPT

Page 1: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session
Page 2: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

A WHOLE new world for multilingual sites

in Drupal 8

@gaborhojtsy

Page 3: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session
Page 4: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session
Page 5: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session
Page 6: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

Drupal 8

SERVICES

SPARK!

VIEWSl

CONFIGURATION MGMT

!

MOBILE

5

MULTILINGUAL

!"

"

#

#

p

$

Page 7: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session
Page 8: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session
Page 9: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

973 People contributed

so far

Page 10: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

Photo by Michael Schmid

Page 11: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

Photo by Michael Schmid

Page 12: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

Photo by Michael Schmid

Page 13: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

Photo by Michael Schmid

Page 14: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session
Page 15: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

1000+ Resolved Drupal 8

multilingual issues

Page 16: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

Drupal 7 MULTILINGUAL

Page 17: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

Drupal CORE

Drupal 7 MULTILINGUAL

Page 18: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

Drupal CORE

LOCALELanguages, foreign language website UI.

%

Drupal 7 MULTILINGUAL

Page 19: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

Drupal CORE

L10n UPAvoid tedious manual translation downloads.

LOCALELanguages, foreign language website UI.

%

m

Drupal 7 MULTILINGUAL

Page 20: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

Drupal CORE

L10n UPAvoid tedious manual translation downloads.

CONTENT TRANSLATION

Only for nodes, makes copies of nodes.

LOCALELanguages, foreign language website UI.

%

Ü

m

Drupal 7 MULTILINGUAL

Page 21: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

Drupal CORE

L10n UPAvoid tedious manual translation downloads.

CONTENT TRANSLATION

Only for nodes, makes copies of nodes.

LOCALELanguages, foreign language website UI.

I18NMenus, taxonomy, field labels, views. Oh you also need i18n_views module; and webform_localization, and...

$

%

Ü

m

Drupal 7 MULTILINGUAL

Page 22: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

Drupal CORE

L10n UPAvoid tedious manual translation downloads.

CONTENT TRANSLATION

Only for nodes, makes copies of nodes.

LOCALELanguages, foreign language website UI.

I18NMenus, taxonomy, field labels, views. Oh you also need i18n_views module; and webform_localization, and...

VARIABLEAPI for handling some of the configuration. Settings translations!

&

$

%

Ü

m

Drupal 7 MULTILINGUAL

Page 23: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

Drupal CORE

L10n UPAvoid tedious manual translation downloads.

CONTENT TRANSLATION

Only for nodes, makes copies of nodes.

LOCALELanguages, foreign language website UI.

I18NMenus, taxonomy, field labels, views. Oh you also need i18n_views module; and webform_localization, and...

VARIABLEAPI for handling some of the configuration. Settings translations!

Entity translationFor Drupal Commerce for example. Oh you also need Title module!

'

&

$

%

Ü

m

Drupal 7 MULTILINGUAL

Page 24: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

FOUR PILLARS in DRUPAL 8

Page 25: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

LANGUAGEBase services for all

modules dealing with data. Not just

multilingual.

%

FOUR PILLARS in DRUPAL 8

Page 26: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

LANGUAGEBase services for all

modules dealing with data. Not just

multilingual.

INTERFACEInterface

translation has built-in update

feature, improved usability.

% 8

FOUR PILLARS in DRUPAL 8

Page 27: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

LANGUAGEBase services for all

modules dealing with data. Not just

multilingual.

INTERFACEInterface

translation has built-in update

feature, improved usability.

CONTENTField translation in built-in API for all entities. Content

translation module provides user

interface.

% 8 é

FOUR PILLARS in DRUPAL 8

Page 28: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

LANGUAGEBase services for all

modules dealing with data. Not just

multilingual.

INTERFACEInterface

translation has built-in update

feature, improved usability.

CONTENTField translation in built-in API for all entities. Content

translation module provides user

interface.

CONFIGCommon

configuration system handles

blocks, views, field settings. Unified

translation.

(% 8 é

FOUR PILLARS in DRUPAL 8

Page 29: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session
Page 30: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

LANGUAGEBase services for all modules dealing with data. Not just multilingual.

%I

@

Page 31: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

Language IS STEP ONE

Page 32: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

Language IS STEP ONE

Page 33: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

Language ASSIGNMENT

Page 34: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

NODES

é

USERS%

ALIASES(

Language ASSIGNMENT

Page 35: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

NODES

é

TERMS)

USERS%

ALIASES(

Language ASSIGNMENT

Page 36: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

NODES

é

TERMS)

USERS%

ALIASES(

VIEWS*

Language ASSIGNMENT

Page 37: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

NODES

é

TERMS)

USERS%

ALIASES(

VIEWS*

Language ASSIGNMENT

SITE INFO

#

Page 38: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

NODES

é

TERMS)

USERS%

ALIASES(

VIEWS*

Language ASSIGNMENT

SITE INFO

#

LANGUAGE SELECTOR NOT ALWAYS EXPOSED

Page 39: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

NODES

é

TERMS)

USERS%

ALIASES(

VIEWS*

Language ASSIGNMENT

SITE INFO

#

LANGUAGE SELECTOR NOT ALWAYS EXPOSED

........&

Page 40: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

FLEXIBLE Language SETUP

Page 41: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

FLEXIBLE Language SETUP

Page 42: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

Language VISIBILITY

Page 43: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

Language VISIBILITY

BLOCKS CAN SHOW/HIDE BASED ON LANGUAGE

VIEWS ALREADY HAS LANGUAGE FILTERING FEATURES FOR CONTENT LISTS

DRUPAL BUILT-IN PAGES ARE CONVERTED TO VIEWS

Page 44: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

Language SELECTION

Page 45: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

Language SELECTION

Page 46: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

NAME TRANSLITERATION

Page 47: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

NAME TRANSLITERATION

Page 48: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

ENGLISH CAN BE DELETED

Page 49: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session
Page 50: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

LANGUAGE

%

DELETE ENGLISH FLEXIBLE SELECTION

BLOCK VISIBILITY VIEWS

FLEXIBLE CONFIG WIDER ASSIGNMENT

FIRST IN INSTALLER@

Page 51: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session
Page 52: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

INTERFACE TRANSLATIONInterface translation has built-in update feature, improved usability.

8

m

II

Page 53: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

AUTOMATED DOWNLOADS

Page 54: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

AUTOMATED DOWNLOADS

MODULE ENABLED AUTOMATICALLY IN FOREIGN INSTALL

NOT REQUIRED IF YOU WANT LANGUAGE ASSIGNMENT ONLY

AUTOMATED TRANSLATION DOWNLOADS

Page 55: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

CENTRALIZED TRANSLATION FILE

LOCATION

Page 56: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

CUSTOMization TRACKING

Page 57: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

CUSTOMization TRACKING

Customized translations are tracked

May be protected from community translation overwrites

import will not time out, reads in pieces

Page 58: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

WHOLE NEW INTERFACE

Page 59: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

WHOLE NEW INTERFACE

Page 60: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

TRANSLATE TO ENGLISH

Page 61: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

TRANSLATE TO ENGLISH

Page 62: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session
Page 63: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

INTERFACE

8

TRANSLATE TO ENGLISH WHOLE New INTERFACE

CUSTOM translation tracked Centralized file dir

auto-download separate module

Page 64: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session
Page 65: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

CONTENT TRANSLATIONField translation in built-in API for all entities. Content translation module provides user interface.

é

+

III

Page 66: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

ALL CONTENT ENTITIES ARE SUPPORTED

Page 67: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

CONTENT ENTITIES?

Page 68: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

Entities

CONTENT ENTITIES?

Page 69: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

Entities

CONTENT ENTITIES?

Content

NODES users

comments TERMS

contact messages

menu items

Page 70: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

INTEGRATED CONFIGURATION

Page 71: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

INTEGRATED CONFIGURATION

Page 72: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

TRANSLATIOn INTERFACE

Page 73: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

TRANSLATIOn INTERFACE

TRANSLATION TABS ON CONtent

add translations for each language

possible to take different source language

Can edit “all language” values with permission

Page 74: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

TRANSLATIOn INTERFACE

TRANSLATION TABS ON CONtent

add translations for each language

possible to take different source language

Can edit “all language” values with permission

Page 75: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

TRANSLATIOn INTERFACE

TRANSLATION TABS ON CONtent

add translations for each language

possible to take different source language

Can edit “all language” values with permission

Page 76: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

PROPERTY TRANSLATION IN THE

WORKS

Page 77: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

UPGRADE MIGRATION PATH WILL BE CONTRIB

Page 78: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

CORE SEARCH AND API HAS LANGUAGE SUPPORT

Page 79: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

NODE ACCESS API HAS LANGUAGE SUPPORT

Page 80: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session
Page 81: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

CONTENT

é

NODE ACCESS API SUPPORTED Search index as separate

Search APIs updated FOR ALL content entities

PER BUNDLE + FIELD + SUB-FIELD properties TODO

MIGRATION PATH

Page 82: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session
Page 83: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

CONFIG TRANSLATIONCommon configuration system handles blocks, views, field settings. Unified translation.

(t

IV

Page 84: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

CONFIG VS. CONTENT

Page 85: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

Entities

CONFIG VS. CONTENT

Page 86: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

Entities

CONFIG VS. CONTENT

Content

NODES users

comments TERMS

contact messages

menu items

Page 87: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

Entities

CONFIG VS. CONTENT

Content

NODES users

comments TERMS

contact messages

menu items

CONFIGURATION

views

vocabularies

CONTACT CATEGORIES

FIELDS

SITE INFO

USER MAILS

Page 88: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

Entities

CONFIG VS. CONTENT

Content

NODES users

comments TERMS

contact messages

menu items

CONFIGURATION

views

vocabularies

CONTACT CATEGORIES

FIELDS

SITE INFO

USER MAILS

OTHERS

PATH ALIASES

MENUS

Page 89: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

LANGUAGE TRACKED ON EACH CONFIG FILE

Page 90: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

LANGUAGE OVERRIDES STORED WITH CONFIG

Page 91: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

FOR SHIPPED CONFIGURATION

Page 92: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

FOR SHIPPED CONFIGURATION

Page 93: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

LOCALIZE.d.o INTEGRATION TODO

Page 94: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

FOR ANY CONFIGURATION

Page 95: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

FOR ANY CONFIGURATION

Page 96: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session
Page 97: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

CONFIG

(

FULL TRANSLATION MODULE standard translation tabs

config overrides works for any config

SHIPPED CONFIg translated

Page 98: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

FOUR PILLARS in DRUPAL 8

Page 99: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

LANGUAGEBase services for all

modules dealing with data. Not just

multilingual.

%

FOUR PILLARS in DRUPAL 8

Page 100: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

LANGUAGEBase services for all

modules dealing with data. Not just

multilingual.

INTERFACEInterface

translation has built-in update

feature, improved usability.

% 8

FOUR PILLARS in DRUPAL 8

Page 101: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

LANGUAGEBase services for all

modules dealing with data. Not just

multilingual.

INTERFACEInterface

translation has built-in update

feature, improved usability.

CONTENTField translation in built-in API for all entities. Content

translation module provides user

interface.

% 8 é

FOUR PILLARS in DRUPAL 8

Page 102: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

LANGUAGEBase services for all

modules dealing with data. Not just

multilingual.

INTERFACEInterface

translation has built-in update

feature, improved usability.

CONTENTField translation in built-in API for all entities. Content

translation module provides user

interface.

CONFIGCommon

configuration system handles

blocks, views, field settings. Unified

translation.

(% 8 é

FOUR PILLARS in DRUPAL 8

Page 103: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

https://twitter.com/tstoeckler/status/402410686359158784

Page 104: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

GET INVOLVED

Page 105: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

WEBSITEdrupal8multilingual.org / localize.drupal.org

Twitter twitter.com/d8mi

SPRINT IN SZEGEDszeged2014.drupaldays.org (March 24-30)

SPRINT IN AUSTINaustin2014.drupal.org/sprints (May 30-June 8)

t

!

!

"

GET INVOLVED

Page 106: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session

TRY IT OUT AT DRUPAL.oRG/8

Page 107: A whole new world for multilingual sites in Drupal 8 - jam's Drupal Camp session