 All right, I think we're ready to go and we'll get started so that everything go out and have some fun This is the multi-lingual makeover session we're going to compare Drupal 7 and Drupal 8 and Just want to say hello in whatever language that you would like to choose today and Yeah, hi, we're at hook 42 and My name is Amy Degnan. I'm the CEO and Drupal architect from hook 42 I've been doing Drupal for a little over eight years now in many many years in multi-lingual and other content management systems and This is Kristen. I'm Kristen and I've Been working with Drupal since 2004 and doing architecture and multi-lingual since Drupal 5 I wrote the Drupal 7 multi-lingual sites book and Amy's working on the Drupal 8 one and she's almost done, almost done before this all right So before we get further into this we want to know a little bit about the audience here before actually we asked this Who is in the last session? Okay, so there will be a little bit of overlap for some of that But hopefully you'll still pick up some new things Who here is a newbie to Drupal? Maybe the last year ish or so, okay? Intermediate maybe been doing Drupal for a couple years or so Okay, quite a number Veteran been doing Drupal for a long time. All right great Who's more on the site building site? Click clicking through the interface a lot of you project management Oh good fair number theming more the theming site a few of you More on back-end developer coding. Whoa, okay big lots of hands So a lot of you if you miss this previous session you should check that out And then who kind of does everything you're maybe freelancing or just you do all the wow lots of you It's amazing and who here speaks more than one language Whoa impressive actually twice in what I speak English Sometimes not that well. Amy speaks a little bit of other things. I shouldn't see those things up here Exactly. All right So now we want to get a sense of what Drupal you're using so Drupal seven show the hands. I Would imagine if your hands not up that would be interesting All right, there we go Drupal eight fair number Yeah, and so it looks like a lot of people here are looking to use Drupal eight correct All right, and we're planning there And for those who were in Gabor session We're gonna cover the four pillars of multi-lingual quickly again, but we'll get into those First of all, there's language Then there's the user interface then content and Then config and we'll go into detail through the deck on all of these different areas So let's talk about language So what's language? I think they're like little codes and stuff Well, first of all language is not just the language itself But it's also defined as both language and region Because you can be speaking French in Canada and you can be speaking French in France and it could be two very different things so in Both systems in Drupal seven and Drupal eight There's gonna be some similarities between the systems and there's gonna be some differences So we'll go over some of some of both of those things So for language you're gonna find some similar things between Drupal seven and Drupal eight You're gonna build the ad languages edit languages Remove them. They'll be already Pre-configured languages like French and English and German so forth and then you can create custom languages like if you needed a front France specific French Or you know Australian version of English You can also associate to content with the language So you can have a node in Spanish and a node in English and a node in German And then there are things called detection and selection which basically lets you let's Drupal know How to determine the language that should be shown So these are very similar Conceptually between Drupal seven and Drupal eight and there are ways of configuring both systems so that you can detect Based on the URL which is typically the most common but you can also detect based on a user session or The user object itself or the browser and then there's some defaults that are you know, it can fall back to So it's the nomenclature is a little different between the two systems But essentially at the end you have this kind of default language or selected language that you can choose And what are the differences? So for those that were in the previous session You saw that, you know, you could really tell that Drupal seven language wasn't over an afterthought And it was just really bolted on There's a locale module that is part of core in Drupal seven and that has the language Capability the the naming's a little funny But that's the way it was because it was just kind of an afterthought And in Drupal eight it's language first and language everywhere You have the language module. It's it's basically split from the locale module historically The language is in the installer so it truly is language first and it really helps Helps user after like user adoption of Drupal and it helps Administrators who don't understand English to be able to install in their own language You can remove English if you need to which is awesome and You can also translate in English so your login can be sign-in and The URL detection is enabled And by default. Yes, and also the administration language is also there And it's also provides better browser detection better administration UX and enhanced view support It's pretty awesome. You've got a lot of stuff and this is just at the base language support And we didn't include everything and so the dot dot dot dots, you know, there's a lot more stuff going on It's amazingly exciting All right, so, you know, so language is an afterthought in Drupal seven and to give you an idea of how that works Here's a a short video of the installer in Drupal seven So if you're installing in Drupal seven and you Try to figure out what's going on. It's saying. Oh, well, there's English, but what about me? You try to figure out what I'm supposed to do and it gives you kind of some text and you're kind of confused Cuz maybe you've never even used Drupal before and it's telling I have to go someplace else and do some things and I don't speak English and I don't even speak English and maybe I don't even know how to read this So it's a little frustrating and not the best user experience. So that is Drupal seven and Languages first in Drupal eight So you can see here the first thing that you do on install is choose the in the language that you're installing to and The languages all of the languages are in the native language. You can find it so we're going to choose French and save and continue and at this point It's thinking. Okay, so we're going to choose the standard installation, but look at what it did It said you have chosen a French. I'm going to switch the interface right at the upfront moment so I can make informed choices in my own language and Okay, so at this point I've chosen to do the installation it's going to install modules, but right after this it's going to actually go out to localization and And and pull in all of the different translated strings like the Gabor was talking in the previous session And notice how many modules it's it's loading. It's 42, which is the answer to everything We're going to hook into that Yeah, so what this is it really bootstraps non-English users adoption to Drupal and It really those hand-in-hand and you don't have to have English to have a Drupal site Which is amazing for those that are not just English speakers, right and to play into The removing English if you do just install in a different language It will actually remove English by default because you might want to just a language specific site So you can just install in French and just only deal with French and you know if it has it has a translation Then that's what it's going to show you right now. This at this point It's actually it's talking to localized dot Drupal dot or and it's grabbing additional translations at this point Right, and it's all about making it easy and clear about managing the language that you want to manage All right, and it's almost done. It's almost done But what happens is if you do install in a different language a couple of modules are enabled beyond just the base label language support And it will by default select choose automatic updates for it because that will help The system go out and download the translations from localized dot triple dot award All right, so we now we have a new new Drupal 8 site and it's all the interfaces in French just like we wanted it. So it's just way way better say my name Okay So basically if we think about it, we've got language in Drupal 8 a Drupal 7 and It was an afterthought and so basically you took Drupal 7 and you kind of speared on this language stuff on top You're like, yeah And it's a little spotty and whatever but you know it kind of works and we're going to just call that good enough It's technically there Just a little smearing But in Drupal 8 When you add language, it's seamless and you know it's Drupal 8, but you have language and it all goes together It's very smooth Okay, so that's your foundation you've got your language support and it's just a lot better In Drupal 8 versus Drupal 7 now we're going to talk about something. That's called the interface in Drupal And this might seem a little strange because these these four buckets of things that we talk about and they're all handled slightly differently for translation And localization and that's why they're they're bucketed out so for an interface what is an interface and In terms of Drupal, we're talking about text that is coming from code so that code might be a module or a theme or distribution and When you take in that text from that code that Text is shown somewhere on the site in this case, you know, maybe it's the Tab text or the field label that kind of thing so in Drupal 7 this was done with the t-function and You just pass it and so if you're a module developer and there were a lot of developers in the house Even if you don't think your site is going to be multi-lingual it's always good best practice to Pass your text through a t-function when you're developing in Drupal 7 you do that Just with the t-function in Drupal 8 things have changed with dependency injection And we do something slightly different but the conceptually it's pretty much the same So what are the similarities? So first of all Like Kristen just covered the t-function is pretty similar to the new Drupal 8 version As you apply it in most common use cases the import process of The translations is also very similar The export process goes with the import process is also very similar and And we they also heavily use community translation from localized at triple.org All right, so now a bit about the differences between the two In Drupal 7 in order to handle the interface there tended to be several modules involved Locale like we mentioned is a core module and so we'd always install that localization update is a contrib module or community module and that one You should install because it makes things much easier if you don't install it You have to do a lot of manual processing in order to get your interface strings Translated to these you know pretty standard Translations that are available on this other website the localized at triple org Optionally, there's string overrides, which you don't have to use on a multilingual site But you can and that lets you translate from English to English if you would like log in to sign out that cut Yeah log out to sign out that kind of thing Or it actually you can use it for multilingual as well And then there's this admin interface module, which again is an optional thing But a lot of people use it Which if I'm managing a Japanese site, and I don't know anything about Japanese I can use admin language to say I speak English Please show whatever you can in English to me because I don't speak this other language and in Drupal 8 One module one One and you get so much more You get automated automatic map. I can't talk. It's the end of the day. Whoo. Okay, you get automatic updates and also The updates are done with batch processing so you don't have any timeouts or anything you get translatable English Which replaces the string overrides? You have your admin language which replaces the admin language module you have a better Translate page, so who's familiar with the translate page? Yeah, and I call it the translate page because it's last translate, right? So Yeah, and is that it? Oh, yeah, well, there's more but this is all right, so Handling these interface strings so the text coming from these the code It's a little bit cumbersome in Drupal 7 you have this, you know page You can go to and you can search for strings One thing to keep in mind for both Drupal 7 and Drupal 8 is its case sensitive and that actually gets a lot of people Make sure you always do case sensitive text when you're searching so This can also throughput people off if in your theme Your themeer has changed your case Maybe to all lowercase or all uppercase and that kind of thing So you're gonna probably want to right-click inspect element actually grab that text exactly as it is when you're searching but If I needed to change all of the you know translate all of the text that was related to the word log LOG capital LOG You know I could search for that and I would end up with a number of Strings and then I'd have to go in one by one and Edit each one Now in Drupal 8 you have a lot less clicking and it's a lot more elegant So here you can see everything that comes up for log Comes up without having to click an edit button So you can quickly apply many many translations that apply to your search results Also this This is a view and so you can extend out your translation searches through not just the Everything but you can really isolate it to your customized translations The translations from localized at Drupal.org and things that are not translated at all Okay, so if we you know we start off with our language support in D7 It's a little bit smeary and not so great and D8. It's much more unified and now we're gonna add on our interface Well, you know well, I kind of like the 80s. I was kind of you know teenager in the 80s So for D7 I'm gonna go with the brick phone because you know it works I can communicate and interface with the world and it's but Maybe it's not the best, but it's functional But you know we're in the present and toward the future and I have a smart phone It is strong It is sleek and powerful and boy is it far less heavy than your brick phone But it does so much more and it is amazing and that's Drupal 8 multi-level All right, so that's a bit about The differences and similarities for interface between Drupal 7 and Drupal 8 So a lot of what's gonna happen is content. So let's talk about content in Drupal 7 there are lots of things called content nodes comments users taxonomy turns and custom entities and So what happened was in previous versions of Drupal Drupal 6 and before we had nodes and then people would be like Oh, well nodes can use cck and they could have fields. I really like fields I want my users to have fields and that's so awesome And so they would use user node and make their users nodes so they can add fields and then in D7 They're like wow We should be able to start making people add fields to things so then they introduced entities in Drupal 7 But it was you know kind of not fully baked, you know So some things were entities and other things were just what they were before So basically, you know, these are the types of things that are considered content in Drupal 7 But content in Drupal 8 is far more unified. It's the same as Drupal 7, but plus Blocks are now content instead of this weird thing that it used to be menu items contact messages and your custom content entities So those custom content entities we saw before and creation of with your API You can set them up to be configurably translated and it just surfaces to the content translation translation system So there are some similarities between the two systems So we have this idea of a translate tab where it's pretty obvious, you know If you set things up so that you can translate there's a tab But you're you know looking at a particular piece a piece of content and there's a translate tab And that's where you go to do the translations so that concept has as is the same between the two and the other thing is in Drupal 7 there were two ways to be able to translate nodes in particular There was the core way of doing it which was no translation or content translation however You want to call it and then there was entity translation was a you know a contrived module, but it was heavily used as well so Conceptually you can think of the D8 Method for translating content is very similar to the way D7 was doing it with entity translation plus a few other modules to tack on to there and the differences on So in D7 lots of hunting and pecking a Lot of modules, and I haven't even listened them all So like I mentioned content translation, which is in core There's this whole suite of internationalization modules that you know you you know tend to use that have You know there's a I don't know 20 modules in there or something like that And then you could also use entity translation and sometimes people use both content trace Content translation and any translation at the same time, which is super confusing Yeah, and then the title module is interesting because the way that D7 is set up titles of nodes in D7 are Properties They're not fields. So if you were to use entity translation for node content in D7 By itself, you would not be able to translate the title Which is kind of important So you tack on this other module called the title module just because that's just the way we roll And you know once you add enough modules and configure enough thing, then you know, it's pretty much going to work so Yeah In Drupal 8 there's one config page to rule them all So your hunting and pecking is focused. There is no hunting and pecking The clicking is lighter and my wrist is better There's one module one module. It's the content translation module and it is in core You don't have to go through all of the contrib and figure out which modules do I need which ones are relevant and You also comes with inline editing. It's amazing and it makes it so much easier for your translation team to jump in You have block visibility so blocks can have multiple blocks on the page But also visible you can have one block on multiple times on the page And you can have visibility based on language and you can have fallback per entity, which is amazingly powerful All right, so basically you get carpal tunnel in Drupal 7 because you're going to be clicking a lot So here's an example We're going to start off. We're going to do entity translation So we go to the entity translation configuration page and we're going to translate nodes so we make sure that that's selected then We have to actually go to a particular content type that we want to use We want to be able to translate and make sure that we enable it with field translation Which is the same as any translation and then we save that Then we need to go to every single field that we would like to be able to translate and I didn't even talk why I mentioned the title module if you and install the title module You'll see that little replace at the corner there that you have to click that and make sure that you click that so that the title is Translatable, but then for every single field for your content type You need to go in and make sure that you do field translation and enable it if you have big a lot of content types And a lot of fields. This is a pretty tedious process repeat repeat repeat and you're going to be in a lot of pain Kristen your fingers strong Wrists are strong. Who else has strong fingers and wrists in here. All right Everybody You can click a lot in Drupal and you know a little clicking is not so bad But you know people they've done features Configuration, you know very well our permissions, you know, you know all about the clicky click Oh, but Drupal 8 is so Much easier and it's a breath of fresh air you go to one place You see all of the different configurable content types for translation at the end at the top You click a content type enable translation. You can see Pretty much everything by best use cases are selected as default for translation also image was The image file itself was not selected to be translated because it's not an often you can use case It's it's not the default use case to actually switch the image But it's all in one page and you can see You can select all the different types of content and this is actually a great summary of all the types of content that are Available and then there's more it depends on which modules you enable on your core site All right, so Basically, we've got our language in Drupal 7. It's a little smeary We got our brick phone, you know so that we can interface with the outside world and then we've got To put on some multilingual clothes for our content, right? Yeah, our content is our body. Yeah, so our goal for our Multilingual content clothes is we want long pants and long sleeves. All right That's our goal in order to be fully clothed and be able to translate all of our content so Given it's Drupal 7 why not put some you know put some shorts on first Because you have to and you have to install the shorts module. Yeah, sure. That sounds good Okay, and we'll put our you know We'll put our short sleeves on because well, I guess we have to well the short sleeves are required, right? By the shorts or the short. Okay. Yes. Okay. All right. Okay. Well, I guess it kind of makes sense. They're short sleeve short Okay, fine Well, you know, we're gonna put some shoes on they don't quite match, but you know they sort of work So we'll do that and then we're gonna actually you know put our long pants on because Well, you have to install the long pants module to make sure that you have long pants and that is extends the short pants module Let our sleeves on Our long sleeves. Okay. I'm getting kind of cold. Okay. Well, you have to actually go and find the right Well, I looked around I think this one might be the right one. Okay So now we've got I forgot my catch. Yeah, well, it means a catch on them. Oh here. Let me help you with that Okay, thanks. Thank you. Okay. Good. Okay. Great. So wait wait. I think I forgot one thing the title module Okay, I need to where is Larry Garfield? We need a vest. I Don't have a vest. Well, we'll pretend this is a okay. That'll work. All right. Okay. Ah I got my phone. I've got now. I've got my long pants and my long sleeves, right? Okay. We got there Yeah, but you're ready. You're ready to translate your content, right? Okay, but boy that was hard for a triple eight It's sleek. It's one module It's one outfit. It's the future. It's not the red shirt It will survive, but you can see we install one module. It's sleek. It's elegant. It's functional. It's it's the future Our boy was that faster? This is the last session of the day. So hopefully we're keeping you away. All right, so that was content We're gonna now we're gonna talk about kind of the last bucket less pillar of multilingual and we're gonna talk a bit about config So config is a lot of things. It's like all the other stuff Which is not a great technical answer, but if you're understanding that the content theory and and interface then it is Contact categories content type settings It's like the labels around the settings. It's the field settings menus roles site info user mails Vocabularies it's the structure to your content So you're it's not the terms. It's the vocabulary So it's anything that's not the interface or content Okay, so in terms of the similarities in this config bucket Not a lot and we'll see why in a minute A difference on the differences between them So in Drupal 7 we have a a lot of inconsistent handling of config and that's Because config is handled in a lot of different ways So that requires a lot of different types of modules in order to handle the Configuration and there's a lot of dots I could have added to this because it just goes on and on and on but if you want to Translate blocks blocks are not content in Drupal 7 use the block languages module Which is from the internationalization suite if you want to translate menus use the menu Translation module from the internationalization suite And so forth and so on so You know site configuration like the the site name or the site slogan then you use the variable translation module Which has several sub modules you have to stall like variable and variable schema and so forth So it's it's quite daunting. There's a lot of modules going on But in triple 8 there's one unified configuration page Previously it was so hard to find where all these things you had to dig down deep and The interface to actually get to the the places where you do configuration translation wasn't consistent Here you have one one module that you have to enable That's glorious There's so many and it's so consistent. It makes it faster and easier to learn and faster to translate and manage yours you store language in each Ammo file and the really cool thing about this is you can Export it and check it into your git and Then you have backups and you can deploy it through multiple like production environment multiple environments for testing So, you know basically configuration translation is consistent with the rest of the system So for content we have a translate tab and so when we see that we know we can click on it We can go and translate content For configuration you go and you have to go find where that configuration lives and then there is another type of interface which is Different so in this case, you know, we've got three languages installed So we're seeing the three languages side-by-side on the same page If you had 40 languages installed you would see all 40 languages side-by-side on this page And you can get a little bit overwhelming and it's also inconsistent with how the The content translation is handled In Drupal 8 the team the Drupal 8 team the UI and the Multilingual initiative really focused on making sure that the interfaces are consistent So you can actually find where all the translation system The translation systems are so you'll see that the the interface is far more consistent and it's easier to train yourself and constant translators and The configuration Translation page has one unified page in D8. So perhaps You can see here You can either have list all the fields for config translation or you can go directly to the translate page for Those things that just have one those config translations that just have one item like the system information And so you can just quickly Click translate you update the translation save translation And there it goes and you can see that you have now had your system configuration Without hunting and pecking without trying to find all the different Things and without trying to find like oh the variable information is tucked in this like node area Like how do I know to look there? I look at my like my navigation menus for this So it's completely consistent and and so much easier All right, so we have our language. We've got our interface. We've got our Clothing of our content with whatever patches we needed to add to make sure we're all good And then we want to start adding our configuration support on top of that I don't have a fanny pack Maybe boxed up somewhere in my you know 80s gear So, you know, we add a fanny pack to make sure we're we can store stuff and you know Couldn't find a divo hat either, but okay, we're gonna Add on some more configuration support and then we're good to go. Okay, but wow look at that in true boy I just accessorize That's easy. I have one page It's strong All right So we'll talk a bit about extensions and This falls outside of the core realm So so far we've been talking except for Drupal 7 which you had to add on a gazillion things all of the Drupal 8 stuff We've been talking about is in core and that's super important to understand. It's all baked in So now we'll talk a little bit about the things that aren't baked in Right, so some of the common extensions are search media management SEO support analytics integrations to Translation management systems like lingo tech and then also the translation management tool the TM GMT module I always have to make sure I get the right TM GM GM GMT Which we nicknamed the Tina teenage mutant ninja turtle module and our clients call it the turtle module now Yeah, so it's it's quite handy All right, and then TM GMT will give you plugins to other vendors that have Translation services and they'll allow additional exports of different files like both versions of Drupal by default use PO files For importing exporting, but then you can support XLIF and HTML and other types of exports using the TM GMT module and then whether or not these you know community modules have Support in D7 or D8 Really depends on you know the state of the module So best practice at least for Drupal 7 for now would be you go into the issue queue You can search for I-18n or multi lingual or translation and you'll typically come across something If maybe on the project page actually says it supports it, which is great But if you're not sure it's some obscure module you can go in and try to do some some hunting pecking so here's a real example of a Drupal 7 multi lingual site that we have done very recently This was done in the last few months and I did an inventory to see well what's going on like how much stuff are we using? This was a fairly complex site. So this is you know your mileage will vary. This is not a just a brochure site This is pretty complex. We're using things like field collections, which should make you shudder a little bit if you're doing multi lingual So in this case for Drupal 7 we had 28 community or contrib modules To custom multi lingual modules that we did in order to support some things that weren't really Probably something we would contribute back. They were very particular to the site and we actually had to use at least 12 I kind of lost. I mean we had them all there, but you know last count. It was 12 patches three of which I think three or four of which we had actually contributed to and got back to Drupal.org and For field collections and entity translation and TMGMT Translation of nested field collections Yeah, so just to get an idea of what kind of modules we're using. There's a laundry list here lots of you know IIT and N modules. We've got the TMGMT stuff Some SEO related things and that kind of stuff So, you know, this was a pretty rich, you know site gives you an idea of the complexity that you can run into. But we haven't even extended it with search yet. Doesn't it? Yeah, this is not how you even have search yet. But if it was Drupal 8, 18 out of those 23 community modules are Already handled by core. So just think of the wonderful impact to your site like in performance You don't have to have all that overhead running One is in contrib and five are roughly to be determined and to get a snapshot of what that looks like click the button Yep, awesome. Thank you So you can take a you can see now These are the the 18 out of 23 that are actually handled by core all the gray ones There are some things like language domains and XML site map is moving and what's going on Those are all basically to be determined and then One is actually in contrib right now, which is the language fall back support All right, so if we look, you know at these So if you go to the modules page on Drupal.org you can search for multi-lingual modules and you'll get over a hundred I don't even remember last count hundred thirty hundred fifty There's a lots of modules that you know that they say that they're somehow related to multi-lingual not all of them are Specifically multi-lingual, but maybe they support multi-lingual that kind of thing But I looked and I tried to say okay if we pair this down to ones that are really really supporting multi-lingual and there's at least 38 Drupal seven modules that are out there in this community contrib land and They are obsolete it by a gun either they're handled or they're obsolete it by triple eight core So I mean that's pretty amazing Right so Drupal eight is sleek and powerful Check it out. Bam all taken care of within Drupal core So it's a powerful system. It makes it much easier to manage And using the language first approach it helps your contrib work and your extension your custom extension within your own site be much more powerful and stable on the multi-lingual front and This was made possible by the fact that we had this wonderful initiative and Gabor is here who helped spearhead that Thank you very much but as We know this was a huge joint effort between 1500 I don't know what the count is at the moment, but more than a thousand people have been involved Specifically in the d8 mi and you know, so Drupal eight multi-lingual initiative that have helped out and adding patch reviews adding code testing UX, you know all aspects you do not have to be a coder to help out with that type of project And we welcome you definitely to to to take part in that but it's been a huge thing Spin in my opinion and many people's opinion one of the most successful initiatives in Drupal eight And I was very happy to be we both were very happy to be part of that Still going Wednesday. Yes, this this Wednesday. He's still going. Yeah. All right And how can you learn more? There's lots of resources out here. You're here at Drupal con you're here in this room That's amazing. So we've had buffs and sessions, but you can also go to groups dot Drupal word for both the internationalizations and the translations groups if you'd like to join Join the the IR the IRC meeting for our multiple initiative meeting Check Drupal dot org docs. There's a whole bunch of information there the multi-lingual guide and And I would I'm I would like to be more involved to make sure that Drupal eight document notation is stronger And that's a big win if we get that stronger as well So also there's a So in Drupal you can make distributions install profiles to showcase, you know for people to leverage or also to showcase functionality and one thing that Amy and I and Some other of the hook 42 team Jeff and and and others And Gabor have helped out with is to make a little demo Install profiles, so if you want to check out some of the features a multilingual and how they're configured You can go to Drupal org slash project multilingual underscore demo and you can you don't have to install it locally There's a link on there. You can do simply test me you click there. It builds it for you. It's all you know In the cloud it's awesome And then you can go and click around and see how things were built that is a very very simple Site, but it gives you an idea of menus and blocks and contents and views and all sorts of things Another thing is for the D8 in my project Gabor has made this great landing site basically this Showcase site that it'll showcase Tickets that we want, you know issues in the issue queue We want to focus on talks about the you know involvement from the community and who's working on things and Does that one also have the? Examples of sites in the wild. Yeah that are actually using triple eight things like that So that's a great place to be and there's also a Twitter account as well So on that note Any questions And if you do come to the mic So if anyone does have any questions, I know it's end of the day people are tired They want to go to dinner, but just use a microphone or we'll yell it out and we'll repeat it We were so clear You're so hungry All right, what's for dinner? All right. Thanks everyone. Thank you. Oh Before I forget Sprints Friday and this weekend if you're around would be great and if you could do the feedback on the session Even if it's bad, that's okay. Go ahead and go to the to the page itself Where the session is and you can provide feedback there. All right. Thank you