View
612
Download
4
Category
Preview:
Citation preview
DRUPAL NORTH
MAKING YOUR ENTITIES AND FIELDS TRANSLATABLE
WITH DRUPAL 8
Christian López Espínola “penyaskito”clopez@lingotek.com
TMDRUPAL NORTH
Developer clopez@lingotek.com
@penyaskito
www.lingotek.com/drupal @Lingotek
CHRISTIAN LÓPEZ ESPÍNOLA
DRUPAL NORTH
TM DRUPAL NORTH
AGENDA1. Entity API2. Adding translatability to our
custom content entities 3. Adding translatability to our
custom fields4. Config translation for our config
entities and config objects5. Lingotek integration
TM DRUPAL NORTH
D7 Multilingual Landscape
DRUPAL NORTH
aitiba ajeverson AjitS akahn akejohaakoe akozma akshay.swnt22 Alan D. Alan Evans alansaviolobo alarcombe alberto56 Albert Volkman alduya alerquealexanderpas alexh58 alexkb alexpott Alex UA alexweber alex_b Alice Heaton alimac alippai almaudoh aloyrAlumei alvar0hurtad0 alweb amateescu amitaibu amitgoyal amontero amourow anarcat anavarre ancampandrei.dincu andrejsmuzikovs andremolnar Andrew Schulman andyceo andymartha andypost andythomnzaneek animelion ankitgarg annikaC anrikun Antti J. Salminen Anybody ardas areke arianek aries arkestraarlinsandbulte Aron Novak aroq ars- artem.aryan Artusamak arunaseva asb aschiwi AshishK-dupe ashutoshsnghashwinikumar askibinski aspilicious attiks attila.fekete aturetta August1914 Aunion axel.rutz ayelet_Cr a_thakura_webb b0unty babasse05 babruix badrange balagan balintcsaba balintk bannorb BarisW barrapontobasvanderveen batigolix bbinkovitz bechtold beejeebus bendev benjf benjifisher benjy BenK bensemmel Berdirberetta627 BeyersdorferTJ bforchhammer bfroehle biro.botond bisonbleu bjaspan blackdog bleen18 bluemindsBMDan Bodo Maass bojanz Bojhan Bojhan.core Boobaa bookmarvel boran borisbaldinger boris sondaghbotanic_spark bowersox boztek brantwynn brianV BrightBold BrockBoland bserem bshaffer bsherwood Buratino42bwinett c-c-m c4doug c31ck c960657 CaDyMaN caktux calliandra cam8001 Carl Johan carsonevans Carsten Müllercarwin casey catch cbiggins cburschka ceardach cesarmiquel cha0s chakrapani Charles Belov charmi cheops90chr.fritsch chrisbloomfield chrischinchilla Chris Dart chrishks chrisjlee chrispomeroy ChristianAdamski Christopher James Francis Rodgers chx cilefen cirage cjoy CKoch clashar claudinec Claudis claudiu.cristea clemens.tolboomCMS Dude Cogax colan colbol cordoval corvus_ch cosmicdreams Cottser Countzero cpelham cpj craychee Crellcrispiatico crotown csakiistvan csc4 csg cshuangtw cs_shadow cweagans cwgordon7 Cyberschorsch CyberwolfCyclodex czigor dado Daemon_Byte daffie dagmar dagmita dags damiankloip DamienMcKenna Damien Tournouddanielnolde danillonunes DanPir danylevskyi das-peter dasjo dasrecht Dave.Ingram Dave Cohen Dave Reiddavid.lukac davidhernandez David Hernández David Latapie David Lesieur David Strauss David_Rothsteindawehner dboulet dcam dclavain dcmistry dcmouyard dcrocks dddave deepakaryan1988 delmarr DeNelodenjell derek.deraps derEremit dermario desbeers develCuy deveshpal Devin Carlson devuo DickJohnson diego21dileepmaurya dimaro diqidoq disasm dixon_ djdevin DjebbZ djevans dlu dman Dmitriy.trt DmitryDrozdik dobrzynsdocker dodorama dokumori donquixote douggreen dpearceMN dpi Dragan Eror drewish Dries drifter droetkerdropcube dropfen droplet drubage drunken monkey drupalninja99 drupleg dsnopek dtarc DuaelFr dudycz duelljdurifal Dustin@PI dutchyoda DuttonMa dvinegla dww dysrama Désiré e0ipso e2thex earnie eaton ebeyrent ebrowetEc1ipsis echoz EclipseGc edmoran edrupal edward_or effulgentsia eftimitac ehegedus eigentor ekes el7cosmoselachlan elcuco eleisoncruz elfur Eli-T Elijah Lynn EllaTheHarpy emanuelrighetto emarchak emma.maria eojthebraveepari.siva er.pushpinderrana ericduran ericski Eric_A ershov.andrey esbenvb eshta estoyausente eugenesia euleEvanDonovan Everett Zufelt evolvingweb ezeedub ezra-g Fabianx fabpot fabsor fago fakingfantastic falcon03Fannon fastangel fenda fgm Fidelix fietserwin filijonka FiNeX 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 Garrett Albright gaspaio gaurav.goyal gaurav26570 gauravkhambhala gausartsgbentley geerlingguy geertvd generalredneck geoffreyr george.echim Georgii Gerhard Killesreiter giorgio79 GiorgosKgloob gnuget gobilo gobinathm good_man googletorp gpapadongonas Grayside greenc greenSkin greg.1.andersonGreg Boggs greggles Greg Sims grisendo guillaumev gumanist gusgsm1 guygg guy_schneerson gvso gyuhyonh3rj4n Hadi Farnoud hairqles Hanno hansfn hardy99 harrrrrrr hass Haza hbblogger heather heddn hefox Heinehejazee helenkim hellolindsay henribergius herom heyrocker hinikato HnLn holist holly.ross.drupal holtzermann17 hpzhron84 hswong3i hudo hussainweb Hydra iamEAP ianthomas_uk ibullock IceCreamYou2 icseh. idebr idflood ifrikifux Ignacio Sánchez iliphil iMiksu indytechcook InternetDevels intuited IshaDakota itarato ivanchaer ivanjaros Ivan Zugec izmeez izus j.somers j0rd Jacine jackhutton JacobSanford jagalbraith jair Jake081 Jalandhar jamesharvjamesliu78 jamiehollern jamiezeidler janoka janusman japicoder 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 jessehs jgSnell jhedstrom jherencia jhodgdon jibran jimyhuang JirkaRybkajiv_e jjcarrion jlbellido jlscott jmauro8ac jmesam jmmarquez jmolivas jnicola joachim joates Jody Lynn joelpittetjoewatkins johanv JohnAlbin John Bickar johnheaven johnish johnv jojonmaster JonMcL Jon Pugh joris.verschuerenJose Reyero joshi.rohit100 joshua.boltz JoshuaRogers jpd4nt jrglasgow jsbalsera jstoller jthorson juankvillegasjuhovh JuliaKM julien JulienD junedkazi jvieille jvns jwilson3 k4v kalabro kalman.hosszu karengreen KarenS KarmenKartagis katbailey kathyh kbasarab kbentham KCarlile kcouch keith.smith keopx kevee Kevin Morse kfritsche kgoelkholloway kid_icarus kika kiliweb killerpoke killes@www.drop.org killua99 kim.pepper Kiphaas7 klausi klonoskmharrell knalstaaf kompressaur konstantin.komelin KRaisor kreatIL KrisBulman Kristen Pol kristiaanvandeneyndekristink2 krlucas kscheirer ksenzee kurt.iverson lahoosascoots lambic langworthy lanthaler larowlan LarsKramerlarsmw Lars Toomre LAsan laura.johnson lauriii lazysoundsystem LeeHunter leenwebb leeotzu Leeteq legaudinierlegolasbo Leksat Lendude leonrenkema leschekfm Les Lim Letharion LewisNyman lhangea Liam McDermott Liam Morland likin lilou linclark LinL liquidcms lisarex LittleViking litwol lixiphp lmeurs loganfsmyth lokapujya lokeoke LoMolonelyrobot longwave lostkangaroo lotyrin LoveCharge lpalgarvio lslinnet lsmith77 lucascaro lucaschain luismagrLukas von Blarer lund.mikkel Luxian lvbeck lydie m1r1k maciej.zgadzaj MacMladen Mac_Weber maggo magico maijsMalerio manningpete MantasK manu4543 Manuel Garcia marcel66 Marc Hannaford marcingy marco marcoscanomarcus7777 marcushenningsen marcusx marcvangend marfillaster mariancalinro mark.labrecque markcarver markieMarkusDBX markus_petrux Mark_L6n marthinal martin107 martin_q maryedith mas0h mashermike matasonMathieuSpil matsbla matt2000 MattDanger mattyoung Maune mauzeh mavimo maxchock maxterner23 maxtoretembyrnes mcrittenden mdrummond mducharme MegaChriz memoo merlinofchaos mesr01 meyertox mfb mgiffordmglaman mgriego mhagedon MHLut MichaelCole michaelfavia michaellenahan michaelmol Michelle michlis micnapmikeryan mikewink mikey_p mikispeed mikl Mile23 minff mioan Mirabuck mirocow miro_dietiker mitchell mitronmitrpaka mitsuroseba Mixologic mjohnq3 mjreich mkapst mlecha mlehner616 mlncn mmilano moe4715 mondrakemon_franco mooffie mortendk moshe weitzman mparker17 mpdonadio mpg mr.baileys mr.york mradcliffe mrded mrfMrHaroldA mrjmd mrP mrsinguyen msonnabaum mstrelan mtift mtomaizy mustafau MustangGB mvc my-familymyforgedoteu n3or nadavoid nagwani NancyDru natuk naught101 naveenvalecha naveko NaX naxoc nbz neclimdulnedjo neetu morwani nerdstein nevergone nevets ngocketit nicholosophy nick_schuch Nick_vh nicu nicxvannikhilasrani nikhilsukul nikkubhai Niklas Fiekas niko- NITEMAN Nitesh Sethia nkschaefer nod_ Nomes NonProfitnonsie NotNotCow no_angel no_commit_credit no_longer_active_13 nvinayvinay nyirocsaba nyleve101 oadaehoheller olli omar omercioglu omers OnkelTem opi oresh oriol_e9g orlitzky oussema Outi Owen Barton pameeelaPancho Paracetamol parasite ParisLiakos parthipanramesh Pasqualle patrickd paularmand Paul Broon paulmckibbenpbuyle pcambra pdrake Pedro Lozano pedrop pefferen penyaskito perusio peximo pflame pfrenssen phiitphilbar philipnorton42 philipz pillarsdotnet Pinolo pixelite pixelwhip piyuesh23 pjbaert pjonckiere pkiralyplach Plascual plopesc pmackay pmelab podarok Pol pounard pp pplantinga PrabhuG prajaankit Prashant.cprashantgoel prateek479 pratik60 prodosh psynaptic purabkharat pwieck pwolanin qgil quicksketch quietoneracheldrupal rachel_norfolk rachit_gupta rahul.shinde rahuldolas123 RajeevK Rajesh Ashok rajneeshb rak2008rameshbabu.g ramlev Ranko rasskull ravi.khetri rbayliss rbosscher rbunch rdickert rdrh555 realityloop redndaheadreglogge renat rfay rhabbachi ricardoamaro rickmanelius rickvug rkjha rli rlmumford robertdbailey robertgarrigosRoberto Gerola Robin Millette Robin Monks RobLoach robmc RobW rocket_nova roderik rodrigoaguileraRodrigoBalest ronald_istos rooby RoySegall rpayanm rpsu rszrama rteijeiro rudiedirkx rudivanes Rumato ruplrusso79 rvilar rwt ry5n ryanissamson Ryan Weal rych sahain saki007ster salvis Sam152 sandipmkhairnarsandykadam saravananr971 sardara savithac Sborsody Schnitzel scor sdboyer sdelbosc SeanBannister
D8’s Huge Multilingual Dev Effort
TM DRUPAL NORTH
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 é (
DRUPAL NORTH
WRITING ENTITIES (see https://github.com/drupal-entity-training/event)
DRUPAL NORTH
DRUPAL NORTH
DRUPAL NORTH
DRUPAL NORTH
DRUPAL NORTH
DRUPAL NORTH
DRUPAL NORTH
DRUPAL NORTH
DRUPAL NORTH
DRUPAL NORTH
DRUPAL NORTH
DRUPAL NORTH
TM DRUPAL NORTH
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
DRUPAL NORTH
CONTENT ENTITIES TRANSLATABILITY
(see https://github.com/drupal-entity-training/event) (see https://github.com/penyaskito/customslider)
DRUPAL NORTH
DRUPAL NORTH
DRUPAL NORTH
DRUPAL NORTH
DRUPAL NORTH
FIELD TRANSLATABILITY
(see https://github.com/penyaskito/customslider)
DRUPAL NORTH
DRUPAL NORTH
DRUPAL NORTH
DRUPAL NORTH
DRUPAL NORTH
DRUPAL NORTH
DRUPAL NORTH
CONFIG TRANSLATION (see https://github.com/penyaskito/customslider)
DRUPAL NORTH
CONFIG SCHEMA METADATA (see https://www.drupal.org/node/1905070)
DRUPAL NORTH
AWESOME, ISN’T IT?
DRUPAL NORTH
DRUPAL 7 VS. DRUPAL 8
Language Interface Content Config
L I NOG
ET
K LINGOTEK
TMDRUPAL NORTH
1.Content entities translation support
2.Configuration translation support
3.Close to feature parity with Drupal 7
4.Contrib: Paragraphs, metatags…
+ STATUS
TMDRUPAL NORTH
TMDRUPAL NORTH
TMDRUPAL NORTH
TMDRUPAL NORTH
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
Christian López Espínola “penyaskito”clopez@lingotek.com
Recommended