Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
DRUPAL NORTH
MAKING YOUR ENTITIES AND FIELDS
TRANSLATABLE WITH DRUPAL 8
penyaskitoChristian López Espínola
@ Lingotek
Developer
clopez@lingotek.com
@penyaskito
www.lingotek.com/drupal
@Lingotek
CHRISTIAN LÓPEZ ESPÍNOLA
AGENDA
1. Entity API
2. Adding translatability to our custom
content entities
3. Adding translatability to our custom
fiel...
D7 Multilingual Landscape
akahn akejohaakoe akozma akshay.swnt22 Alan D. Alan Evans alansaviolobo alarcombe alberto56 Albert Volkman alduya alerquea...
LANGUAGE
Base services for all
modules dealing with
data. Not just
multilingual.
INTERFACE
Interface translation
has built...
LANGUAGE
Base services for all
modules dealing with
data. Not just
multilingual.
INTERFACE
Interface translation
has built...
WRITING ENTITIES
(see https://github.com/drupal-entity-training/event)
update.php will not automatically
update entity schemas anymore
https://www.drupal.org/node/2554101
Write update functions...
CONTENT ENTITIES
TRANSLATABILITY
(see https://github.com/drupal-entity-training/event)
(see https://github.com/penyaskito/...
FIELD
TRANSLATABILITY
(see https://github.com/penyaskito/customslider)
CONFIG TRANSLATION
(see https://github.com/penyaskito/customslider)
CONFIG SCHEMA METADATA
(see https://www.drupal.org/node/1905070)
AWESOME,
ISN’T IT?
DRUPAL 7 VS. DRUPAL 8
Language Interface Content Config
L I N
OG
E
T
K LINGOTEK
1.Content entities translation support
2.Configuration translation support
3.Close to feature parity with Drupal 7
4.Contr...
Developer
clopez@lingotek.com
@penyaskito
www.lingotek.com/drupal
@Lingotek
CHRISTIAN LÓPEZ ESPÍNOLA
DRUPAL NORTH
MAKING YOUR ENTITIES AND FIELDS
TRANSLATABLE WITH DRUPAL 8
penyaskitoChristian López Espínola
@ Lingotek
DRUPAL NORTH
MAKING YOUR ENTITIES AND FIELDS
TRANSLATABLE WITH DRUPAL 8
penyaskitoChristian López Espínola
@ Lingotek
MAKING YOUR ENTITIES AND FIELDS TRANSLATABLE WITH DRUPAL 8 (#DrupalDevDays)
MAKING YOUR ENTITIES AND FIELDS TRANSLATABLE WITH DRUPAL 8 (#DrupalDevDays)
MAKING YOUR ENTITIES AND FIELDS TRANSLATABLE WITH DRUPAL 8 (#DrupalDevDays)
MAKING YOUR ENTITIES AND FIELDS TRANSLATABLE WITH DRUPAL 8 (#DrupalDevDays)
MAKING YOUR ENTITIES AND FIELDS TRANSLATABLE WITH DRUPAL 8 (#DrupalDevDays)
MAKING YOUR ENTITIES AND FIELDS TRANSLATABLE WITH DRUPAL 8 (#DrupalDevDays)
MAKING YOUR ENTITIES AND FIELDS TRANSLATABLE WITH DRUPAL 8 (#DrupalDevDays)
MAKING YOUR ENTITIES AND FIELDS TRANSLATABLE WITH DRUPAL 8 (#DrupalDevDays)
MAKING YOUR ENTITIES AND FIELDS TRANSLATABLE WITH DRUPAL 8 (#DrupalDevDays)
MAKING YOUR ENTITIES AND FIELDS TRANSLATABLE WITH DRUPAL 8 (#DrupalDevDays)
MAKING YOUR ENTITIES AND FIELDS TRANSLATABLE WITH DRUPAL 8 (#DrupalDevDays)
MAKING YOUR ENTITIES AND FIELDS TRANSLATABLE WITH DRUPAL 8 (#DrupalDevDays)
MAKING YOUR ENTITIES AND FIELDS TRANSLATABLE WITH DRUPAL 8 (#DrupalDevDays)
MAKING YOUR ENTITIES AND FIELDS TRANSLATABLE WITH DRUPAL 8 (#DrupalDevDays)
MAKING YOUR ENTITIES AND FIELDS TRANSLATABLE WITH DRUPAL 8 (#DrupalDevDays)
MAKING YOUR ENTITIES AND FIELDS TRANSLATABLE WITH DRUPAL 8 (#DrupalDevDays)
MAKING YOUR ENTITIES AND FIELDS TRANSLATABLE WITH DRUPAL 8 (#DrupalDevDays)
MAKING YOUR ENTITIES AND FIELDS TRANSLATABLE WITH DRUPAL 8 (#DrupalDevDays)
MAKING YOUR ENTITIES AND FIELDS TRANSLATABLE WITH DRUPAL 8 (#DrupalDevDays)
MAKING YOUR ENTITIES AND FIELDS TRANSLATABLE WITH DRUPAL 8 (#DrupalDevDays)
MAKING YOUR ENTITIES AND FIELDS TRANSLATABLE WITH DRUPAL 8 (#DrupalDevDays)
MAKING YOUR ENTITIES AND FIELDS TRANSLATABLE WITH DRUPAL 8 (#DrupalDevDays)
MAKING YOUR ENTITIES AND FIELDS TRANSLATABLE WITH DRUPAL 8 (#DrupalDevDays)
MAKING YOUR ENTITIES AND FIELDS TRANSLATABLE WITH DRUPAL 8 (#DrupalDevDays)
MAKING YOUR ENTITIES AND FIELDS TRANSLATABLE WITH DRUPAL 8 (#DrupalDevDays)
MAKING YOUR ENTITIES AND FIELDS TRANSLATABLE WITH DRUPAL 8 (#DrupalDevDays)
Upcoming SlideShare
Loading in …5
×

MAKING YOUR ENTITIES AND FIELDS TRANSLATABLE WITH DRUPAL 8 (#DrupalDevDays)

816 views

Published on

http://milan2016.drupaldays.org/node/95

Making your entities and fields translatable with Drupal 8
Room Donatello room
Date 2016-06-24
Time slot 10:30 - 11:30
Experience level Beginner
Session track Development
Type Standard presentation (40 mins)
Drupal 8's new and improved multilingual tools open a world of translation capabilities for users. In fact, the majority of Drupal 7's contributed multilingual modules have been replaced with just a few Drupal core modules - making D8 more multilingual out of the box.

Drupal 8 is a great platform to work with not only because it is so multilingual capable out-of-the box, but also because you can easily expand while maintaining the translatability of your data. Drupal 8’s multilingual core offers a robust multilingual foundation, making the integration process much more seamless.

The massive improvements of Drupal 8 for multilingual features and APIs allowed us to provide better support than with previous releases of Drupal or any other CMS on the market. In this session, we will show how to build your entities and fields so they can be easily translatable with the Core translation capabilities.

We’ll also touch on a contrib module that expands the multilingual functionality of Drupal 8, the Lingotek Translation contrib module. The Lingotek module integrates Drupal with Lingotek's automated, cloud-based translation management system (TMS) to offer Drupal users professional-grade translation tools from directly within Drupal.

In this presentation, you will learn about:

- how to write an entity,

- how to make your content entities translatable in Drupal 8,

- how to write a field,

- how to make your fields translatable in D8

The session is targeted to developers with some experience with multilingual sites in Drupal 7, but developers without this experience can still find it interesting.

Speaker(s)
Name Christian López Espínola
Drupal.org nickname penyaskito
Twitter nickname penyaskito
Software developer @ Lingotek.
I'm a frequent contributor to the Drupal 8 Multilingual Initiative since Drupal Dev Days in Barcelona in 2012.
I'm a frequent speaker at camps, and proud volunteer of the DrupalCon Barcelona Team acting as Local Track Chair for the Core Conversations track.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

MAKING YOUR ENTITIES AND FIELDS TRANSLATABLE WITH DRUPAL 8 (#DrupalDevDays)

  1. 1. DRUPAL NORTH MAKING YOUR ENTITIES AND FIELDS TRANSLATABLE WITH DRUPAL 8 penyaskitoChristian López Espínola @ Lingotek
  2. 2. Developer clopez@lingotek.com @penyaskito www.lingotek.com/drupal @Lingotek CHRISTIAN LÓPEZ ESPÍNOLA
  3. 3. AGENDA 1. Entity API 2. Adding translatability to our custom content entities 3. Adding translatability to our custom fields 4. Config translation for our config entities and config objects 5. Lingotek integration
  4. 4. D7 Multilingual Landscape
  5. 5. akahn akejohaakoe akozma akshay.swnt22 Alan D. Alan Evans alansaviolobo alarcombe alberto56 Albert Volkman alduya alerquealexanderpas alexh58 alexkb alexpott Alex UA alexweber alex_b on alimac alippai almaudoh aloyrAlumei alvar0hurtad0 alweb amateescu amitaibu amitgoyal amontero amourow anarcat anavarre ancampandrei.dincu andrejsmuzikovs andremolnar Andrew Sch ceo andymartha andypost andythomnzaneek animelion ankitgarg annikaC anrikun Antti J. Salminen Anybody ardas areke arianek aries arkestraarlinsandbulte Aron Novak aroq ars- artem.aryan Artu aseva asb aschiwi AshishK-dupe ashutoshsnghashwinikumar askibinski aspilicious attiks attila.fekete aturetta August1914 Aunion axel.rutz ayelet_Cr a_thakura_webb b0unty babasse05 babruix bad an balintcsaba balintk bannorb BarisW barrapontobasvanderveen batigolix bbinkovitz bechtold beejeebus bendev benjf benjifisher benjy BenK bensemmel Berdirberetta627 BeyersdorferTJ bforchha hle biro.botond bisonbleu bjaspan blackdog bleen18 bluemindsBMDan Bodo Maass bojanz Bojhan Bojhan.core Boobaa bookmarvel boran borisbaldinger boris sondaghbotanic_spark bowersox b wynn brianV BrightBold BrockBoland bserem bshaffer bsherwood Buratino42bwinett c-c-m c4doug c31ck c960657 CaDyMaN caktux calliandra cam8001 Carl Johan carsonevans Carsten Müllerc catch cbiggins cburschka ceardach cesarmiquel cha0s chakrapani Charles Belov charmi cheops90chr.fritsch chrisbloomfield chrischinchilla Chris Dart chrishks chrisjlee chrispomeroy ChristianAd topher James Francis Rodgers chx cilefen cirage cjoy CKoch clashar claudinec Claudis claudiu.cristea clemens.tolboomCMS Dude Cogax colan colbol cordoval corvus_ch cosmicdreams C ntzero cpelham cpj craychee Crellcrispiatico crotown csakiistvan csc4 csg cshuangtw cs_shadow cweagans cwgordon7 Cyberschorsch CyberwolfCyclodex czigor dado Daemon_Byte daffie dagmar d damiankloip DamienMcKenna Damien Tournouddanielnolde danillonunes DanPir danylevskyi das-peter dasjo dasrecht Dave.Ingram Dave Cohen Dave Reiddavid.lukac davidhernandez David Hern d Latapie David Lesieur David Strauss David_Rothsteindawehner dboulet dcam dclavain dcmistry dcmouyard dcrocks dddave deepakaryan1988 delmarr DeNelodenjell derek.deraps derEremit der eers develCuy deveshpal Devin Carlson devuo DickJohnson diego21dileepmaurya dimaro diqidoq disasm dixon_ djdevin DjebbZ djevans dlu dman Dmitriy.trt DmitryDrozdik dobrzynsdocker dod mori donquixote douggreen dpearceMN dpi Dragan Eror drewish Dries drifter droetkerdropcube dropfen droplet drubage drunken monkey drupalninja99 drupleg dsnopek dtarc DuaelFr d durifal Dustin@PI dutchyoda DuttonMa dvinegla dww dysrama Désiré e0ipso e2thex earnie eaton ebeyrent ebrowetEc1ipsis echoz EclipseGc edmoran edrupal edward_or effulgentsia eftimitac ehe tor ekes el7cosmoselachlan elcuco eleisoncruz elfur Eli-T Elijah Lynn EllaTheHarpy emanuelrighetto emarchak emma.maria eojthebraveepari.siva er.pushpinderrana ericduran ericski Eric_A ershov.a nvb eshta estoyausente eugenesia euleEvanDonovan Everett Zufelt evolvingweb ezeedub ezra-g Fabianx fabpot fabsor fago fakingfantastic falcon03Fannon fastangel fenda fgm Fidelix fietserwin fi X fjd Fleshgrinder floretan FMB fmizzell foopangFrancescoQ Frando Frank Ralf fran seva franskuipers franz Freso fubhy fureigh fwalch g3r4 gabriel.achille Gabriel Radic Gaelan gaele gagarine garphy G ght gaspaio gaurav.goyal gaurav26570 gauravkhambhala gausartsgbentley geerlingguy geertvd generalredneck geoffreyr george.echim Georgii Gerhard Killesreiter giorgio79 GiorgosKgloob gnuget athm good_man googletorp gpapadongonas Grayside greenc greenSkin greg.1.andersonGreg Boggs greggles Greg Sims grisendo guillaumev gumanist gusgsm1 guygg guy_schneerson gvso gyuhyon Farnoud hairqles Hanno hansfn hardy99 harrrrrrr hass Haza hbblogger heather heddn hefox Heinehejazee helenkim hellolindsay henribergius herom heyrocker hinikato HnLn holist holly.ross. ermann17 hpzhron84 hswong3i hudo hussainweb Hydra iamEAP ianthomas_uk ibullock IceCreamYou2 icseh. idebr idflood ifrikifux Ignacio Sánchez iliphil iMiksu indytechcook InternetDevels in Dakota itarato ivanchaer ivanjaros Ivan Zugec izmeez izus j.somers j0rd Jacine jackhutton JacobSanford jagalbraith jair Jake081 Jalandhar jamesharvjamesliu78 jamiehollern jamiezeidler janoka jan oder jaredsmith javisr jayboodhun JayMN Jaypan Jazajbrown jcisio jdanthinne jeanfei Jeff Burnz Jeffrey C. jefkin Jelle_S jeni_dc jenlampton jepSter jerdavis jerdnas JeroenJeroenT jesperjb jessebeach j ll jhedstrom jherencia jhodgdon jibran jimyhuang JirkaRybkajiv_e jjcarrion jlbellido jlscott jmauro8ac jmesam jmmarquez jmolivas jnicola joachim joates Jody Lynn joelpittetjoewatkins johanv JohnAlbi r johnheaven johnish johnv jojonmaster JonMcL Jon Pugh joris.verschuerenJose Reyero joshi.rohit100 joshua.boltz JoshuaRogers jpd4nt jrglasgow jsbalsera jstoller jthorson juankvillegasjuhovh JuliaKM D junedkazi jvieille jvns jwilson3 k4v kalabro kalman.hosszu karengreen KarenS KarmenKartagis katbailey kathyh kbasarab kbentham KCarlile kcouch keith.smith keopx kevee Kevin Morse kfr kholloway kid_icarus kika kiliweb killerpoke killes@www.drop.org killua99 kim.pepper Kiphaas7 klausi klonoskmharrell knalstaaf kompressaur konstantin.komelin KRaisor kreatIL KrisBulman Krist aanvandeneyndekristink2 krlucas kscheirer ksenzee kurt.iverson lahoosascoots lambic langworthy lanthaler larowlan LarsKramerlarsmw Lars Toomre LAsan laura.johnson lauriii lazysounds unter leenwebb leeotzu Leeteq legaudinierlegolasbo Leksat Lendude leonrenkema leschekfm Les Lim Letharion LewisNyman lhangea Liam McDermott Liam Morland likin lilou linclark LinL liqu x LittleViking litwol lixiphp lmeurs loganfsmyth lokapujya lokeoke LoMolonelyrobot longwave lostkangaroo lotyrin LoveCharge lpalgarvio lslinnet lsmith77 lucascaro lucaschain luismagrLukas von mikkel Luxian lvbeck lydie m1r1k maciej.zgadzaj MacMladen Mac_Weber maggo magico maijsMalerio manningpete MantasK manu4543 Manuel Garcia marcel66 Marc Hannaford marcingy oscanomarcus7777 marcushenningsen marcusx marcvangend marfillaster mariancalinro mark.labrecque markcarver markieMarkusDBX markus_petrux Mark_L6n marthinal martin107 martin_q mar h mashermike matasonMathieuSpil matsbla matt2000 MattDanger mattyoung Maune mauzeh mavimo maxchock maxterner23 maxtoretembyrnes mcrittenden mdrummond mducharme MegaChriz m nofchaos mesr01 meyertox mfb mgiffordmglaman mgriego mhagedon MHLut MichaelCole michaelfavia michaellenahan michaelmol Michelle michlis micnapmikeryan mikewink mikey_p mikispee 3 minff mioan Mirabuck mirocow miro_dietiker mitchell mitronmitrpaka mitsuroseba Mixologic mjohnq3 mjreich mkapst mlecha mlehner616 mlncn mmilano moe4715 mondrakemon_franco m endk moshe weitzman mparker17 mpdonadio mpg mr.baileys mr.york mradcliffe mrded mrfMrHaroldA mrjmd mrP mrsinguyen msonnabaum mstrelan mtift mtomaizy mustafau MustangGB mv ymyforgedoteu n3or nadavoid nagwani NancyDru natuk naught101 naveenvalecha naveko NaX naxoc nbz neclimdulnedjo neetu morwani nerdstein nevergone nevets ngocketit nicholosophy nick_s _vh nicu nicxvannikhilasrani nikhilsukul nikkubhai Niklas Fiekas niko- NITEMAN Nitesh Sethia nkschaefer nod_ Nomes NonProfitnonsie NotNotCow no_angel no_commit_credit no_longer_acti yvinay nyirocsaba nyleve101 oadaehoheller olli omar omercioglu omers OnkelTem opi oresh oriol_e9g orlitzky oussema Outi Owen Barton pameeelaPancho Paracetamol parasite Paris ipanramesh Pasqualle patrickd paularmand Paul Broon paulmckibbenpbuyle pcambra pdrake Pedro Lozano pedrop pefferen penyaskito perusio peximo pflame pfrenssen phiitphilbar philipnorton42 sdotnet Pinolo pixelite pixelwhip piyuesh23 pjbaert pjonckiere pkiralyplach Plascual plopesc pmackay pmelab podarok Pol pounard pp pplantinga PrabhuG prajaankit Prashant.cprashantgoel prate k60 prodosh psynaptic purabkharat pwieck pwolanin qgil quicksketch quietoneracheldrupal rachel_norfolk rachit_gupta rahul.shinde rahuldolas123 RajeevK Rajesh Ashok rajneeshb rak2008ramesh ev Ranko rasskull ravi.khetri rbayliss rbosscher rbunch rdickert rdrh555 realityloop redndaheadreglogge renat rfay rhabbachi ricardoamaro rickmanelius rickvug rkjha rli rlmumford robertd rtgarrigosRoberto Gerola Robin Millette Robin Monks RobLoach robmc RobW rocket_nova roderik rodrigoaguileraRodrigoBalest ronald_istos rooby RoySegall rpayanm rpsu rszrama rteijeiro rudi anes Rumato ruplrusso79 rvilar rwt ry5n ryanissamson Ryan Weal rych sahain saki007ster salvis Sam152 sandipmkhairnarsandykadam saravananr971 sardara savithac Sborsody Schnitzel scor sd osc SeanBannister SeanKellySebCorbin sebi segi seiplax Sephi77 seranooo5 sergeypavlenko Sethie sethiele seutje sfyn Shai shanethehatSharique Shellingfox shenzhuxi shixish shuklasp Shyamala sid rthap sihv SiliconMind Sill silverdogsilverwing simolokid Simon Georges sinasalek sir_squall skipyT skwashd skyredwang slashrsm slowflyer smiletrlsmithworx smokris snufkin Snugug socketwench 88 SoumyaDas sourcesoft spacereactor spearhead93speely Spleshka Stalski starchild stBorchert stefan.r Stefan Freudenberg stefank Stefan Nagtegaal SteffenR steinmbstella stephen.colson stephr stevepurkiss stijndmd stkrzysiak stpaultim StryKaizer StuartJNCCsubhojit777 Sumeet.Pareek sun sun.core superspring surandesilva surgeonbor sushantpaste sushilkr sushylSutharsan svendecab yen swastik1608 Sweetchuck swentel sxnc Sylvain Lecoy sylvain_a szato T-lo tammo tarmstrong tatarbj te-brian tedbow tetranz thamas thechanceg thedavidmeister thegreatone thehongth nraveler the_phi ThisIsDog thlafon thomas4019 thomastorfs Thomas_Zahreddin ti2m tim-etim.plunkett Tim Bozeman timmillwood timofey tinker tinyrobot tkoleary tky tloudon tobiasb t eavleytomsm TonyScott Tor Arne ... D8’s Huge Multilingual 
 Dev Effort
  6. 6. LANGUAGE Base services for all modules dealing with data. Not just multilingual. INTERFACE Interface translation has built-in update feature, improved usability. CONTENT Field translation in built-in API for all entities. Content translation module provides user interface. CONFIG Common configuration system handles blocks, views, field settings. Unified translation. 8 é (
  7. 7. LANGUAGE Base services for all modules dealing with data. Not just multilingual. INTERFACE Interface translation has built-in update feature, improved usability. CONTENT Field translation in built-in API for all entities. Content translation module provides user interface. CONFIG Common configuration system handles blocks, views, field settings. Unified translation. 8 é (
  8. 8. WRITING ENTITIES (see https://github.com/drupal-entity-training/event)
  9. 9. update.php will not automatically update entity schemas anymore https://www.drupal.org/node/2554101 Write update functions for entity schema updates, automation removed https://www.drupal.org/node/2554097
  10. 10. CONTENT ENTITIES TRANSLATABILITY (see https://github.com/drupal-entity-training/event) (see https://github.com/penyaskito/customslider)
  11. 11. FIELD TRANSLATABILITY (see https://github.com/penyaskito/customslider)
  12. 12. CONFIG TRANSLATION (see https://github.com/penyaskito/customslider)
  13. 13. CONFIG SCHEMA METADATA (see https://www.drupal.org/node/1905070)
  14. 14. AWESOME, ISN’T IT?
  15. 15. DRUPAL 7 VS. DRUPAL 8 Language Interface Content Config L I N OG E T K LINGOTEK
  16. 16. 1.Content entities translation support 2.Configuration translation support 3.Close to feature parity with Drupal 7 4.Contrib: Paragraphs, metatags… + STATUS
  17. 17. Developer clopez@lingotek.com @penyaskito www.lingotek.com/drupal @Lingotek CHRISTIAN LÓPEZ ESPÍNOLA
  18. 18. DRUPAL NORTH MAKING YOUR ENTITIES AND FIELDS TRANSLATABLE WITH DRUPAL 8 penyaskitoChristian López Espínola @ Lingotek
  19. 19. DRUPAL NORTH MAKING YOUR ENTITIES AND FIELDS TRANSLATABLE WITH DRUPAL 8 penyaskitoChristian López Espínola @ Lingotek

×