DrupalCon Portland 2013

Sitios web multi-idioma en Drupal 8

Gábor Hojtsy  · 

Transcripción

Extracto de la transcripción automática del vídeo realizada por YouTube.

good afternoon everyone I'm going to kick things off a little bit early I'm Jason E I'm the local community track chair lead here from drupalcon Portland and aside from picking sessions one of the great things that I get to do is introduce the

featured speakers so Gabor is actually one of our featured speakers you may be wondering why the multilingual initiative is part of community and one of the things that I've tried to do this year is reexamine what we what we mean when we talk about community

and that includes contributing code so invited Gabor to come speak tell us about what's going on in the multilingual initiative and particularly what they've done what needs to be done and how you guys can all get involved with that so without further

ado I'll turn it over to get more thank you so yeah so this session is about multilingual Drupal 8 it's going to walk you through every goodie that we did in Drupal 8 and it will explain why we did it and what we are still to do um I would I'm

totally fine if in the middle of it you think it's not for you and you walk out I would love to be at three other sessions at this moment but I hope it's going to be very excited very excited about this topic so i hope it's gonna fire you up because

there's a lot of changes and the way we approached it is is we want to have drupal 8 finally have language as as a core thing not as an afterthought so if you've been if you've been using language stuff in drupal 7 a lot of the cases languages

an afterthought and i have two interesting photos to to explain that actually at this conference so this is my user account on on the site i'm not sure you notice the extended character is not really in the fun that is supposed to be and if you look at

your printed schedule it's even better ah yes so so if we put language as like a core thing and that just doesn't have the thought that it may may work or may not work and we don't really think about it then we can we can do stuff better so I'm

this guy who like always uses his actual name instead of cutting off the X and just to see what happens and this is not picking out drupalcon I've been able to photograph my badge and session prints at multiple conferences so far so that's just how

it goes so although i'm presenting this session this is a huge huge huge team effort so this is the list of people who helped out so if you think you you have no idea how to help out you can probably notice that we have a lot of people who helped out some

so this is all the names of people who ever commented on the issues that we worked on and we got into core or we are about to get into core and there are a few relatively big names but not not many so so there's a there's a there's a core of a

few people who work really hard and then there's a lot of people who just chip in and do their small thing and then then then go on with their life so you don't need to be involved very much in this if you don't want to but we very much love you

to get involved and and help us with tiny tiny changes to big changes so this is a huge team effort there's actual human body's working on this so this is uh this is a sprint we did last summer and or DISA yeah last summer in in Barcelona we've

been mapping out the configuration system there with with all kinds of people from core this is a sprint way that this past weekend and we are continuing to spend this coming weekend as well so we are in town on Friday Saturday and Sunday to work on Drupal

8 multilingual so this is just from this past weekend this is from bad camp last November we are Francesco's working on the entity translation module right here and this is also from Barcelona so we have we have a lot of hard work and we also have a lot

of amazing fun so it's been it's been a great experience and what we came from is the Drupal 7 multilingual experience where you have Drupal core and if you want to do anything with that you need to add up a lot of things so first thing you want to

have languages on your site and you want to translate your site to those languages you need to enable this locale module that provides languages and foreign UI for your site and then if you want to have one make it useful then you need to have the localization

update module because the low calmodulin itself is very painful to maintain with all your translations if you have a hundred modules and five languages you need to manually write down on a piece of paper the hundred version numbers for your hundred modules

and then you go to manually localized rupal an organ download all those files 500 files manually download to your computer and then you upload all those 500 files manually to your website and the localization update module saves you from that hassle it identifies

your versions it downloads everything automatically and imports them so that's the kind of modules that that show that that multi-language enough to thought and we really have these problems that we need to solve with extra things and then there's

the content translation core module which creates copies of your nodes so you can translate them but it's only working four nodes so if you use Drupal commerce or you want to translate taxonomy terms or menus that's not for that um then we have plugging

in the whole we have the i18n module which plugs in a lot of holes so it lets you actually translate menus and taxonomy terms and contact forms and to some degree views but it depends on a lot of other modules so if you want to actually do all the stuff that

I mentioned I 18m has like 20 sub modules and then it requires other modules like variable module and variable realm a module and variable translation module and all kinds of models you need to add on your site so we are like now 20 models by at this point

and then that's that's the variable yeah that's required and then you figure out you want to have Drupal commerce on your site and nothing supports a general entity translation from here so you also need the entity translation module which translates

content in a different way from the core content translation module and now you have two different solutions for the problem it's very painful you don't know which one to use when and it's just a mess so there's a lot of things going on that

you need to be aware and this that's just scratching the surface so there's a lot of other things like Edmund language module or or or translation redirect or there's a lot of other things that you need to think of and we wanted to have language

as a core feature as much as possible we will not be able to resolve all the problems obviously that there are in all the problems that all the use cases that there are for multilingual sites but we wanted to have a solid mod solid mod single based system

that provides all the services that contribute on and make that base system as useful in itself as possible so we have four pillars in Drupal 8 for multilingual support the first pillar is language so the language pillar lets you set up languages on your site

and do all kinds of stuff with language and we'll go through all the details shortly and then we have a pillar for interface which is your software translation so you can use this to translate your software and use a lot of automation and a lot of cool

features there we have a pillar for content which is which is generally up all kinds of entities in Drupal core that is supported across entities and then we have a pillar for configuration which was the most lacking thing in Drupal 7 like translating your

views or your site name or your slogan or your contact category or user roles or whatever else that you have on the system so we wanted to provide native support for language in general and then build three layers on top that are parallel to each other for

your software for your content than for your configuration now you might say that this is still very confusing because now you have three different systems depending on where your content is stored and how when where it's coming from yes it is not be almost

this is not the ultimate ideal system for everybody we are trying to make the user experience of those three solutions unified in a way that users might not even recognize that they are interacting with three different things but internally the storage and

the backend and everything is very different for these three things so we needed to have like individual thinking for them and have solutions for them it's already a huge improvement since Drupal 7 because Drupal 7 for configuration has an unlimited number

of sub of custom solutions like views works totally different from user roles and input formats and interpolate the configuration initiative did a very good job of summarizing all that and distilling that down to one system so we can rely on that by the way

it feel free to come closer i will have screenshots that might not be visible so feel free to move over here and come closer i'm sorry that i might not have the biggest fans possible so the first pillar that i want to talk about is language and that's

very exciting for me because that in itself brings in a lot of new features so first thing we put language step one in the drupal installer so when you encounter a Drupal 8 the first thing you encounter is a drop down with languages and that's about 100

languages that you can install Drupal 8 in and it and it also automatically pre-selects your language from your browser preference so if you have your browser preference to prefer German stuff then you will have German pre-selected you just click the button

to move forward and what it does it downloads the translations live from there are most up-to-date translation from the community and it will import that translation in the next step when you choose your install profile will already be translated so if you

use an arabic language it will also be RTL like just I think that's no way to make language and is simply at that so you just pick language we ought to select your language for you if it's not fine used to pick something else and we just download it

in and you can use it right away now this works it works with all distributions and all future modules because it works with the ability and localization update feature that we put in that identifies all the versions of stuff that you are running and pulls

down translations for them so its future proof as well when you have language module you have language assignment features so you can assign language to a lot of things one of the big problems in Drupal 7 is a lot of things don't have language as an intrinsic

[ ... ]

Nota: se han omitido las otras 5.340 palabras de la transcripción completa para cumplir con las normas de «uso razonable» de YouTube.