So good afternoon everyone. I'm very glad to tell you today about the work on post-quantum key agreement from both idea on generic lattices So my name is Valery Nikolayenko. I'm a PhD student at Stanford University For the most part, I will be focusing on two papers Which is a new hope that builds key agreement from ideal lattices and fraud out it builds on generic lattices So people that worked on new hope are Erdo Malkim, Leo Duka, Thomas Petlman and Peter Schwab and Frodo authors are Yopi Boss, Craig Costello, Leo Duka, Ilya Mironov, Mikhail Nerik, myself, Anantran Kunathan and Douglas Steadlow So we will focus here on protecting currently deployed and widely used cryptography against quantum computers So let's look at the main crypto primitives that are used in TLS. This is public key cryptography including key agreements and signatures And the examples of that would be RSA, Divi Helman and elliptic curve-based analogs then there is Symmetric encryption like IES 128 and hash functions like SHA-256, SHA-3 Unfortunately, quantum computers can break currently used public key crypto meaning there are efficient quantum algorithms that can break RSA, Divi Helman, Divi Helman and the family So they will need to be replaced and in fact NIST is calling for proposals Symmetric key cryptography will need larger keys and hash functions will need longer outputs and that's because of better quantum brute force attacks But we know that quantum computers cannot provide an exponential speed up for such algorithms Thus there is no reason to believe that other symmetric key crypto hash functions will need to be replaced So we're good with the existing primitives and that's why all effort needs to be concentrated on developing and deploying new public key cryptography So let's see how these primitives are used in TLS. Let me very quickly go over the protocol It will be a very high level overview. So the first part is the handshake where Two parties establish a shared symmetric key through a couple rounds of communication Such that any eavesdropper who is listening on this communication will have no idea about the established shared key So it goes as follows the client initiates the connection with the dummy hello message The server replies with a certificate chain and server's key exchange message Then the client sends his portion of the key exchange and they finish the handshake and at this point from two key exchange messages Both the client in the server compute the symmetric shared key K and Onward they will encrypt the rest of the communication using the symmetric shared key and some fast symmetric cipher like IAS for example Roughly the protocol can be subdivided into three parts The first part is where the server authenticates itself to the client The second part is where the client in the server agree on the key and the third part is where the traffic is encrypted using symmetric encryption So we don't worry about protecting the first part against quantum attacks And that's because suddenly in the future when quantum computers are around They will be able to impersonate the server, but this will not compromise the authenticity of today's connections To protect the last part of the symmetric encryption We just need to double the size of the key so that's easy But the protocol we use for key agreement cannot be broken by quantum computer meaning they're efficient quantum algorithms That can recover the symmetric shared key and decrypt the rest of the traffic It's here is an important point to understand if someone records these connections today and gets a quantum computer in the future Then they'll be able to go back and break into the connections that we do today And that's why we need to start moving towards quantum resistant crypto protocols now to protect our today's communications Perhaps most valuable of them from being decrypted by quantum computer in the future So this is the motivation and in this talk, I will discuss works that propose new algorithms for key agreements But first you may wonder should we really expect a quantum computer would ever be built So you'll hear more about that on Friday morning, I guess It's still a highly debatable question But suddenly there was a tremendous progress over the last decade. There are many ways to argue that you should indeed care Let me show you a few of them. So perhaps the most successful groups comes from University of Santa Barbara They're supported by Google and they predict a quantum computer capable of breaking today's keys in 15 years from today for a budget of about one billion dollars The next fact is in 2014 from revelations of Edward Snowden We learned that NSA for example is working building a quantum computer and a year ago They put a notice on their website urging us to move towards quantum secure cryptography and encouraging research in this direction So these two facts coming from an essay might be somewhat worrisome Overall, there is an ever-growing effort and a lot of investment in this area So probably we need to prepare quantum secure alternatives for our crypto keeping in mind that standardization will likely take a long time So now I'm ready to explain you the new proposals for new quantum secure key exchanges The most studied cryptographic assumption that is considered so far to be secure against quantum attacks is Lattice-based assumption called learning with errors This assumption is very easy to explain Essentially, it states that it's hard to find solutions to the system of linear equations if we add some small noise to this equation So let me explain it in pictures. If I give you a square matrix a and a vector a times x Then it's easy to find x From algebra one-on-one. We know that you can find x for example by Gaussian elimination But now instead of giving you the vector a times x I Beforehand I add some small vector e to it. So the elements of this factor e would be very small Then suddenly it's become it becomes really hard to find x and it's not only hard to find x It's also hard to tell whether the vector that I gave you was constructed this way or what they picked It completely and uniformly at random Okay, and this is the assumption. That's it. So for random matrix a small vectors x and e given the matrix a a times x plus e Is indistinguishable from random? So this assumption was introduced by regiff in 2005 And you may notice here that all operations are done modulo q and this will be important later on It's easy to show that the previous assumption can be generalized To the case when x is a matrix So we can blow up the dimension of x a little bit Frodo key exchange exchange is based on this problem It means that if you want to break into the Frodo key exchange, you'll have to break this assumption You might have heard a bit about related assumption called ring LWE It's essentially the same as general LWE except the matrices there instead of being uniformly around the matrices Will have additional structure Namely each row of the matrix will be cyclic shift of the row above and yet when you circle the value around you'll put a negative sign in front of it So enter cryptosystem If you heard of it also builds on lattices with additional structure of similar kind So this modified assumption was specifically introduced to give more efficient protocols in terms of communication and computation So you can see for example that we don't need to transfer the whole matrix to the other party We can just Transfer the first row and then the other party can reconstruct this matrix from the first row by applying this wrapping rule In fact the Computations can be done more efficiently as well. Essentially you can use number theoretic transform to do matrix matrix product So you can think of ring LWE as exact same assumption as general LWE Except we only consider cyclic matrices with this funny wrapping rule So if you remove the word cyclic from the slide you'll get the sum the previous assumption the general LWE and The new hope key agreement is based on this problem Which means if you want to break new hope key agreement you have to break into this problem. You have to build a distinguisher So I will now describe you the key agreement based on these assumptions Before let me briefly remind you how the Diffie-Hellman handshake works Because LWE based handshakes will be very similar and they want to put them side by side So in Diffie-Hellman the server picks random X and sends G to the X over to the client The client chooses random Y and sends G to the Y back to the server And now both the server and the client can compute G to the X Y So for example the server can take client can take client's message Raise it to the secret power X and get G to the XY and from this symmetric shared value They can derive a symmetric key So the Diffie-Hellman assumption in this case will have the following form if you're given G G to the X and G to the Y and that's exactly what the Eavesdropper sees What he observes the communication you can't distinguish G to the X Y from random in other words the adversary Cannot guess the shared key any better than by random guess So LWE based key agreement is very similar except instead of raising G to powers will be multiplying matrix A by other matrices So the server will pick random small matrices X and E and send A times X plus E to the client And remember that LWE assumption guarantees that this message will look uniformly random independent of X The client on his side will pick random matrices Small matrices Y and E prime and send Y times A plus E prime over to the server And notice that the client and the server are doing multiplications on different sides of the matrix Then the server can take client's message multiplied by X on the right and get Something that's close to Y times A times X Because when you multiply the noise vector E by X you multiply two small matrices you'll get something small So this is an approximate key agreement Um At this point both parties can discard least significant bits which will be different between them They can take the most significant bits and this will be the shared key But since we're working moduloq we will need to do something a bit more sophisticated than just taking the most significant bits Namely the client will have to send a few more bits over to the server to make sure that they both do the routing correctly And you can look in the papers for your explanation The important thing to keep in mind here is that the protocol has a non-zero probability of failure When the parties arrive at different keys in which case they need to abort and start all over again But when tuning the parameters we make sure that this probability is very low In fact, that can even be made zero But we can significantly shrink the communication if we allow for it to just be small which we recommend So the the assumption in this case will have the following form given the matrix a and two messages of the handshake The other server can only get the shared key by random guess So in the security proofs from the paper papers, we show that if one can break this then It can be used to break Outwe assumption. So if you're using uniformly random matrices here, you'll be able to break a learning Learning with errors if you're using cyclic matrices, you'll be able to break Ring learning with errors if you can break this So this is the handshake that you've just seen I just want to emphasize a few important points here So in practice instead of fixing a matrix a in a new standard or elsewhere And having the same matrix for all or multiple key exchanges We propose generating a fresh matrix for every key exchange This will defend us against pre-computation attacks on this matrix and will ensure that the matrix is not backdoored Since matrix a is rather big instead of sending it over the network We propose generating it from the seed So the server will sample uniformly random seed apply pseudo random generator to generate his matrix a He will send the seed over to the client and the client will do the same thing For security tasks, we will rely on our learning assumption plus the security of pseudo random generator The x and y secrets and the noise will be coming from distribution that will be a parameter in our system And will be an approximation to a discrete Gaussian A bit of history So the first lattice-based cryptosystem was and true introduced in 1996 with no reductions from hard problems So the lattices in 97 i-tide work gave a first public encryption system based on hardness of finding short short vectors and lattices In 2005 regif introduced the elderly assumption That i've just shown you and five years later lubashevsky, pikert and regif introduced the ring lw version Dina toll gave a key agreement protocol from both problems pikert improved the ring version of the protocol later both At all implemented this protocol selected concrete parameters integrated the protocol into the open ssl and measured the performance i came at all recently improved the parameters distributions and got better performance And for the paper gave a first lw base key agreement breaking the widely accepted presumption that only ring lw systems can be practical And further improvements were made google recently Uh introduced their new hope cypher suits as an option chrome canary And this was a proof of concept google confirmed that we can quickly move to lattice-based cypher suits might deneed a rise A few words about the assumptions before Right so elderly assumption was studied for more than a decade And is considered to be one of the best candidates for being both efficient and quantumly secure Elderly assumption has a very nice property It has what's called worst case to average case reductions What it means is that if there is an adversary that can break the assumption for a random matrix a or in other words can Break a key agreement on average Then this adversary can be used to break the assumption for any matrix Meaning you don't need to worry about hard or easy matrices You can just pick a matrix for your key exchange at random and you would be good And this is not the case for factoring or discrete logarithms Where you need to be really careful when picking your primes your finite groups or your elliptic curves and that's why they're fixed in standards Also, this assumption is something different from the two that we use today Which is hardness of factoring hardness of solving discrete logarithms And potentially this could be a third leg for a crypto to stand on As a side note, you might have heard that lattice based assumptions Give a very rich set of other crypto primitives like for example fully homomorphic encryption Attribute based encryption and even obfuscation So if we make lattice based key agreements efficient, we can start looking into other fun stuff So currently we have two candidate schemes for key agreements the Frodo based on lwe problem It uses uniformly random matrices with no additional structure and a new hope Which is based on ring lwe problem and uses cyclic matrices Currently there is no reason to believe that ring lwe is weaker than lwe We only know exponential time algorithms for both problems So far I didn't really talk about lattices. So here they come It was shown that lwe problem is as hard as gappas vp And gappas vp asks to approximate the length of the shortest factor in an n-dimensional lattice within some polynomial Approximation factor gamma People were working this gappas vp problem For about a century starting with the work of gauss, hermite and minkowski So we have strong confidence that lwe problem is hard Unfortunately, we don't have any strong results of this kind for ring lwe By analogy, we knew that ring lwe is as hard as ideal svp Which asks to find a short vector in an ideal lattice, but recently this problem became nearly broken Cramer duke and waslowski discovered a polynomial term algorithm for a sub exponential gamma Though this result does not affect the security of ring lwe assumption Our confidence in its connection to lattice problems was kind of shaken So perhaps you should be careful when using rings And frodo Gives an alternative protocol that gets rid of ring structure What it means and that's my own opinion is that perhaps frodo key agreement is a more secure one or more conservative in terms of security But you'll see later that the new hope is a lot more efficient So the most important question when designing real world crypto systems, of course, is how do we choose parameters? So our key agreement essentially has is parameterized by three numbers the modulus So all operations will be done module q the dimension n. So our matrix is n by n And the distribution And we'll use approximations to gaussians because gaussians are used to show reductions to the lattice problems So we can search the space of parameters to find the best set that minimizes communication Computation and satisfies the following three requirements So based on state of the art and crypto analysis both classic and quantum attacks should run in time more than two to the one twenty eight To have at least one twenty eight bits of quantum security The probability of failure should be small and we should have enough material at the end to be able to extract a 256 bits shared key to be used in the symmetric encryption of the payload So here on the slide you can see the parameters that they recommended for frodo and the new hope So let's look at the frodo parameters first The modulus q is two to the 15 Which means each number very conveniently fits into two bytes integer And we don't need to worry about more operations essentially get them for free And as in the order of 800 the failure probability is less than once in a billion So in practice the connections get dropped at a significantly higher rate due to various reasons So we perceive this probability Failure probability has been unnoticeable The quantum security for the set based on state of the art is 130 bits And the parameters for frodo were chosen using search scripts because frodo protocol essentially allows for arbitrary q and n The new hope parameters are very similar in size So q is 13 bits prime and n is about a thousand To utilize number theoretic transform based operations the parameters for the new hope have to be picked in a very specific way Namely q should be a prime and should be a power of two and they should satisfy some relation So the parameters for new hope were rather handcrafted The failure probability is also very small and the security for new hope is 255 bits And note that the security levels are different and the new hope is more conservative in this regard But in fact we only need to have 128 bits of quantum security A few more words about the noise distributions. So how exactly do approximate gaussians? By a tall reference at the bottom showed how to substitute a gaussian with another distribution in the lattice based proofs Using renida virgins as the measure of security loss So new hope used the technique to substitute a gaussian for binomial distribution, which is a lot more simpler and efficient to sample from The distribution recommended by new hope requires 32 random bits So you just take these bits and add them up. That's it. And it's naturally constant time in frodo Though through search scripts we found an optimal discrete distribution that would minimize the renida virgins enhance the security loss and will require Few random bits and represent the distribution in frodo with the lookup table So this is on the slide the recommended distribution for frodo It needs only 12 random bits to draw a sample and will need to scan a table of 14 bytes to be constant time Uh, so both protocols have constant time implementations Written in pure C the implementations are based on the okius project that daglas one of the authors and frodo was working on The okius project aggregates the existing quantum resistant implementation enables their fast Comparison and prototyping within open SSL So check it out The protocols were benchmarked against rsa ecdhe and all available implementations for protocols that are claimed to be quantum resistant so both suits are integrated into open SSL where new cipher suits are introduced such as the ones that Do pure ldv handshake and the ones that combine the ldv handshake with Divi helman and i'll explain why this is a good idea in just a second but So let's look at the standalone performance for the protocols. So the protocols i'm Focusing on the highlighted in red We can compare compare against rsa and ecdhe which are the most widely used protocols for handshakes on the internet today Then follows the largest based implementations, which are entro new hope and frodo and two other alternatives, which is Sidh based this is a quantum secure alternative to divi helman and mccleese, which is a code based key exchange And you see that sidh is too slow to be competitive on although maybe michael will Update us on that and mccleese generates too much traffic. So let's concentrate on what's important And you may notice somewhat different security levels Since ecdhe is taking lead today, we compare ourselves primarily against it So keep in mind that the numbers for ecdhe shown here are for the unoptimized p256 curve Lately the default in open ssl was changed to use the optimized lat krasnovs implementation, which is faster So just keep this in mind You may see that the frodo protocol is about two times slower and generates about eight times more traffic than ecdhe If we take into account the certificate, which is for example three kilobytes for google.com The new hope and entro are doing Better new hope is actually faster than unoptimized ecdhe and generates just two times more traffic Both works demonstrate quite surprisingly that key agreements from lattices Are very competitive and you see that they take just milliseconds and the traffic is just in the order of tens of kilobytes So everything is very small and fast It's important to recognize that for the next few years of deployment of new cipher suites They're likely to be used in hybrid modes So we should suggest using both post quantum key agreement protocols in conjunction with traditional ones For example pair up ecdhe and new hope or ecdhe with frodo Then in order to break the protocol the adversary will need to break both assumptions separately The new hope hybrid was recently introduced in the test version of chrome and for a few months you could do Key agreements using lattice based suits Of course for hybrid cipher suits the difference between lattice based protocols becomes less pronounced So perhaps standalone standalone numbers do not reflect the actual cost of switching the cipher suits as well What number really matters is how many more servers will you need to buy to serve your traffic? And to understand that we need to look at the throughput number of connections per second So we're in a server that under heavy load measured throughput with different protocols varying the size of the payload data from one byte to 100 kilobytes And you can see the result on this graph So we compare three lattice cipher suits new hope entrant frodo in hybrid modes and ecdhe And you can see when serving very small pages the difference between frodo and new hope is 1.5 And not surprisingly drops down when we increase the size of the page It's already 1.2 for 100 kilobyte payloads To summarize there exist already key agreements from lwe and rena lwe that are ready to be used or ready to be attacked whichever you prefer Everything has constant time limitations and both algorithms are integrated into open ssl Both papers give very nice alternatives to noise sampling which are constant time Communication remains the main bottleneck in all these protocols Both papers propose various interesting tricks that allow to shrink the communication if you come up with something Some more tricks you would be very welcome All code is open source including the scripts for finding parameters scripts for estimating the cost of known attacks Scripts for choosing error distributions The open ssl with integrated ciphers is also available open source So feel free to check it out And you can find many more benchmarking numbers obtained using the ocus framework in the frodo paper So that's all I have. Thank you Great. Thanks, Lara. So we have time for some questions So actually I'll ask a question. So Hugo brought up this issue that since we're building security for 30 years from now We might 128 bit security might not be enough So do you have a sense of like if you had to go to say, you know, 150 bit security, how would frodo behave in those settings? Well, so our security estimates are very very conservative So it's likely that same parameters will withstand attacks in 50 years from today But that's a valid point Also, the question is how fast will the quantum computers be and that's kind of hard to predict So but that's a very good question. So you say 128 bit security, but really it's probably more than 128 bits Yeah, it's probably more I have kind of a related question um So this presentation in particular but the whole session on quantum cryptography seems to have this assumption Or be based on the notion that we should already be doing something post quantum in the real world so by that And I'm kind of mean I should immediately today basically go start, you know, trying to Create my new super secret system using the stuff that's in open SSL for example already And all the other implementations that are open source And yet I'm seeing that, you know, you mentioned the math and the paper that shook your faith in ring lwe What do we recommend here? I mean, you know, should I actually just increase my key sizes for doing rsa And assume that we won't build a big enough quantum computer In the near future As an immediate real world thing or is it actually realistic that I should start going doing something here with these new protocols Just your opinion I know My I see Dan I see Dan shaking his head in the wings Well, my opinion is that you should definitely start thinking about it at least um, maybe not immediately use it but start researching this direction and then we'll see what the progress is um the current progress and they From physicists who are building quantum computer. So I don't just uh things to think about I have to add to that. So I mean the NIST process is just starting I would say the advice is do nothing just wait for the NIST process to end And then do whatever, uh, whatever is agreed upon Right plan plan to do nothing now plan to do something and wait for the NIST process to run its course Great. I can tell my manager that that works People love this advice do nothing people love this Any other any other questions? All right. Thanks Lara. This is really good


Today we have Steve Saviet from Valeo Pharma. How are you today, Steve? Very good, Tracy, and great to be back on Investor Talk. I have to tell you, I really missed out on this webcast that you had on Tuesday. I heard it was outstanding. It was great. In fact, many people thought it was our best ever. I think we kept it concise. Today, when I say today, not physically today, but just today and this time, what's nice is we can talk more numbers. I think that's what investors want to hear. Before, we couldn't talk numbers because we really didn't have the numbers to talk about. All we could talk about was the benefits of our drugs. They're still clearly there, but I think investors like to say, yes, okay, I understand, great drug, but what is it doing? How is it changing your balance sheet and your income statement? I think we finally can talk about that. I think people gravitate to that more so than just knowing about how this affects your asthma or things of that nature. I think it's positive that we can actually relate more to the retail investor. Steve, I tell you, you've had a lot of news recently, phenomenal news. In addition to incredible Q4 results, your record Q4 results, outstanding 2022 results, 22 results, up over 105%. You've also announced a new treatment of hospitalized COVID-19 patients, which it's my understanding, increased the survival rate by 51%. Did I read that right? That's correct. This drug was developed by a U.S. company called Veru. It's called the chemical name is sabizabulin. It's an antiviral anti-inflammatory. It has gone through one phase three clinical trial, which showed those quite significant results of reduction of deaths by over 50%. It has been filed recently with Health Canada. We have to go through the Health Canada process, which can take time up to a year. We'll see how quickly the Health Canada responds to the application, but we're very encouraged. This is really a backdrop to everything that Valeo does as we look for innovative medicines that really bring value to Canadians. I think sabizabulin certainly checks the boxes there for people that have advanced respiratory distress and are in our hospitalized with COVID-19. I'll tell you, Steve, this really touched my heart. I think all of us have lost someone during COVID-19. Say one of us end up in the hospital for COVID-19. Do we ask for this or how do we get access to this treatment? Well, first off, it's not currently approved in Canada. We have to go through the Health Canada process. That's a necessary process to ensure that the drug complies with our Canadian guidelines. When the product gets approved, it'll be put into the hospital protocols for patients that, as I mentioned earlier, are under some kind of respiratory distress. It'll be up to the various protocols to determine at what time in your illness that you should have sabizabulin administered. It comes in a capsule and it's generally only for hospitalized patients. This is not something you would be taking at home. Again, it's for patients that are clearly in some type of respiratory distress. The results and it has a specific mode of action, which is quite interesting. As I mentioned, the results are quite outstanding in terms of the reduction against standard of care. We were comparing the drug to what you're getting in the hospital today. To see this significant reduction in fatalities and death is quite amazing. I think you'll be hearing more about sabizabulin in the weeks and months to come. Can you tell me how you managed to get this? It seems like it was fast tracked because it sounds like I'm not familiar with this particular treatment before. You're already filing it with Health Canada. You've already done the placebo test and received those results. Can you tell me how you've managed to do this? Is it because of your excellent financial results last quarter? Steve, what has allowed you to fast track this, please? The drug, as I mentioned, was developed by a biotech company at the U.S. called Veru, a very interesting company, very advanced scientifically. They performed the clinical trials and through various business development activities that we continuously undertake, we were able to enter into discussions with Veru. Yes, we'd like to fast track this drug into Canada, but it has to go through a process which takes time. The results are, as I mentioned, are truly outstanding when you look at the effectiveness. This touches all these patients very dramatically. I think the death reduction is one of every five people treated, which is a huge number of patients. It gives, I believe, a significant new advancement in treating these very ill COVID patients. Well, Steve, as always, it's a pleasure to get updates from you and all of the exciting things that Vallejo is currently doing. You actually have six other products which are really leading the charge for revenue for the company right now. In addition to expanding your portfolio, you have six products and treatments that are actually bringing in revenue and taking care of all of us. That's correct. In total, we now commercialized 12 drugs, six of which are undergoing some significant revenue growth and are truly innovative in their various and respective areas, whether it be asthma, whether it be ophthalmology, whether it be in the hospital for treating blood clots or trying to prevent blood clots. It's nice. It's diversified portfolio. It has growth. I think your viewers can look forward to more news as Vallejo continues to try to add to these products and leverage. When I say leverage, our commercial infrastructure, leverage means adding products, adding revenue without adding cost or meaningful cost, significant cost. I think that's where we finally have got our company. Looking forward to being able to talk about new therapies, but certainly not taking anything away from the huge growth. I'll single out one. Enter's there as I've called it our diamond. It truly is a very first-in-class type of therapy. Inhale, asthma therapy. We believe it is growing quite quickly. I'll make one comment about our asthma. We talked about the first quarter a little bit, but our asthma therapies in Q1 compared to Q4, revenue grew 40% in that one quarter. That's a dramatic. We expect that type of growth to continue for years to come. Very exciting times at Vallejo, but as we mentioned off-air, it takes a lot of people. It's a lot of moving parts to run a company with logistics and activities, whether it be medical, regulatory, obviously sales and commercial. It's all the wonderful people in Vallejo that make that happen.  Steve, thank you so much for joining us today. Tracy, wonderful. I look forward to being back in your future with some other good news.


the directory on your file system. When you import a file manually, that's going there too. So basically what you can do with that contributed module that's possible to write is you just pick whatever file was uploaded by mistake, you delete that file, and then you just drop all the transitions, and then you report every pure file that's there. And in that case, we just restore it through the state. But if you also manually change things on a user interface, we do not write that out into pure files, those changes. So there is no direct solution to that. That's also possible to write a module for that, but we don't have that. So if you don't use that interface at all, and you accidentally import a pure file, it's much easier to recover from. Because all the pure files are in the file system that you used to import some time earlier, they're sitting there, and you can only report those. Yes. In the future, the system is possible to fix that. OK, I think I'm running out of time anyway. So if people have questions, please come over. I will be around. I will be at the sprint. So I would love to work with you if you could come over and interested in solving some of the remaining problems that are very interesting. Thanks for coming. Hope you enjoyed it. Totally battery to go forward, at least to the top of the room or something, because the front around the front might not be the problem you had enough. Mm-hmm. Are there sessions that willing to see me next? Is this what I can remember from the behind the scenes? Is that what you were talking about? I think we'll be in one in a minute for those who write late. So I'm Yara Rouchi, and the session is Sukkuch Drupal Eidrim Bahapashi. I do know the steps, right? Practice a lot, which is that everything multilingual in Drupal Eidrim English, the rest of the session is going to be in English. So I am Yara Rouchi, and I have kind of a tendency to test the system of conferences. So this one is from a Drupal Khan. This one is from another Drupal Khan. This one is from Program Drupal Eidrim. And this one is from here. So the problem that we've seen at some events, which is kind of ironic for Drupal Khan Asia, is that full multilingual support is sometimes an afterthought. And here I'm stretching the problem of it's already a multilingual page. But there is always someone else to improve. So we decided in Drupal Eidrim to kind of look at this and see if we can make the system understand that everything may be multilingual, including wings, and try to solve that in a systematic way. And this talk is about the Drupal Eidrim multilingual system only, and we'll have plenty to talk about. It will probably go too fast for some of you. But there is a lot of other things in Drupal Eidrim to be proud about. So there's web services that are not multilingual to some degree as well. There's views that are multilingual as well. There's authoring experience improvements, configuration system. There's mobile improvements, a whole lot of things. But this is just about multilingual. The good news is, however, is that a lot of the other subsystems that have been improved actually added a lot of additional power to what we do in the multilingual system. So you'll see, for example, with views, that views and multilingual, where they intersect, gives you very powerful tools. The other thing that I wanted to leave with is I'm the person doing this session. But obviously, there's a lot more people who work on this. So there is a Drupal Eidrim multilingual initiative, and this is a list of people who worked on the initiative. The bigger names contributed more, the bolder names contributed more recently. And it's not in fact the whole list, that would be the whole list. So it's a result of a whole lot of people working on this. So I think we put in a lot of effort, and across 1,300 of us, we also had a lot of fun building this up for you. So we went to all kinds of events, and sat down and worked with each other, and monitored each other on different issues, and just figured out how to make things happen. We also just sat down alone and worked very hard. And that also had a lot of fun, and celebrated a lot when we figured out our solutions. We also worked on a lot of issues. So if you try to count the issues that we tagged with the Eidrim, Drupal Eidrim multilingual initiative, there's over 1,700 of them. We did not resolve all of the issues. There's got to be Drupal Eidrim 1, Eidrim 2, Eidrim 3, and Drupal Eidrim 9, hopefully sometime. So there's stuff to improve, and we also see that we did a whole lot of things. And the question is, why did all these people come together and do all these crazy improvements on these issues? The reason is, we've had experience with how to build these things, and we've had our own struggles. We've seen that people use Drupal in all kinds of environments. Like for example, Berlin uses it on their city marketing site in Berlin. Also, Canada uses it on keep exploring. There's Canada marketing site, Magic the Gathering uses it if you've been role-playing ever before. There are makers of fun games. There's the banking sector uses it. This time from Lithuania. The public transport sector uses it. And Montreal, the UT sector uses it. These are all multi-lingual triple sites. Interests use it for their business sites, in this case in Japanese. The World Health Organization uses Drupal multi-lingual. UNESCO uses Drupal multi-lingual. If you want to register a domain name in India, you would go by multi-lingual triple sites. If you want to connect with the government in India like after the IM, it's a multi-lingual triple site. If you're interested in some TV, on Sony TV, that's also multi-lingual triple site. So it's kind of hard not to bump into multi-lingual triple sites. So a lot of people already do this. Anybody in the room who had pain doing this? Struggle with issues. Anybody? Okay, a lot of you, yes. So it is possible, but we wanted to make it a lot simpler. And these organizations, they probably have a lot of resources and there's the facts. But what I'm really proud of is the small sites, like this one from Stanford. They have a site in English, Portuguese, and... Okay? So they have a site in three languages and just for a small program for kids to make them learn technology. So it's a site that does not have resources to put in developers and solve all their problems. So they need a system where they can just fire off the multi-lingual site and be happy with that in no time. The problem is we are not really delivering that with Drupal 7. So Drupal 7, you have Drupal Core, then you're able to look how module is great. You can have languages configured on the site. It's kind of nice. You can translate in a face. But then it's all manual. You need to enter everything manually. If you download transitions from the community, you need to manually download them and localize to Drupal.org, import into the site, have them on the site, manual update views module and panel module. There are transitions that are updated. You need to manually go out again, download again, import again. It's very painful. So you would obviously install localization of the module, which automates all of them for you. It downloads all of those translations. When you have these modules, when you operate modules, it's very nice. But that's it for interface translation. You still cannot do any multi-lingual content. You enable the content translation module. That's nice. So now you can have multiple copies of the same content piece on the site, different languages, have relations between them. But now you put them in menus. Menus are translatable. Sorry. So you install the I-89 module. That's nice. It enables you to translate menus. It also enables you to translate a few other things like field labels and block titles and stuff like that.  You want to translate the e-mails that are sent out to users. E-mails are being sent out. They are not translatable at all. None of these modules like to translate the e-mails that are sent out to users. So now you enable the variable modules. That's a whole set of modules. So that's a variable module. The variable I-89 module, there's connecting modules between the two. So it actually enables you to translate those e-mail tests. Okay, now that's fine. Now you have an e-commerce shop on the set. You want to sell stuff. Anything would enable you to translate that? No. So you grab the empty translation module. Okay, empty translation module that allows you to translate whatever entity you want. It also allows you to translate taxonomy terms. But you already installed the I-89 module which does allow you to translate taxonomy terms as well. The content translation module you also have which you use before to translate nodes. So now you have two ways to translate nodes, empty translation and content transitions. Very nice. So even trying to figure out at this point what tool to use for what, like I had a taxonomy term, how do I translate it, where I have a new category to translate it. So I salute you for figuring it out. On Drupal 7. Congrats. Good job. So Drupal 8, we wanted to make this simple. We wanted to have one solution for everything and so that that solution actually works with the other module you've added. If you have rules, if you have e-commerce, if you have whatever like workbench or something else. So, we added a system for managing languages. Those about your languages and that's it. It decides how a language is picked, et cetera and that's a base choice. Again, we have a system for translating the interface of Drupal and that works across everything on the interface. You can translate views without you can translate content types or anything that are built into your code. We have a content translation system that allows you to translate whatever content, content meaning all kinds of things. We'll define that later on. And we have finally a solution for translating all configuration. So these four pieces cover everything in Drupal Core and they are extendable and they allow you to translate every configuration you can fit. Every code that shifts with modules and every base configuration. So let's go through these and see what's in each part. So let's start with language. So language is a separate module now in Drupal Core. It's called the language module. We wanted to really highlight this feature out of the get go from the start. So when you install Drupal, the first screen you see is a language selector. So you go there, it already selects you the language based on your browser preference in my case and here it is. But you can pick whatever else from the 100 or so languages we have. In this case I'm just going to pick a target point up. And then you hit save and continue and it downloads the transitions right away automatically when you install it. The next screen is going to be Arabic. It's a bar that is not right to left. It's going to be right to left soon. So you pick your install profile, you give it your database credentials and it's all Arabic except where it's not translated because it's not on fault. So you hit that and now from that on it's RTL as well and it's working with installation. So basically the first thing you choose when you install Drupal is one of your languages and beyond that you don't need to know anything about English. It's all going to be in your language. And it's all working however you want. So that's the first thing that the language, the new language system does. The second thing is language assignment. So the problem with translating stuff is we can only translate stuff if we know what language is in. Otherwise to make assumptions may or may not be true. Drupal 7 makes a lot of assumptions about language and it makes a lot of mistakes based on those assumptions. So the problem in Drupal 7 is it only supports saying what language a node is in, what language a user is in and what language a path alias is in. If you set up a view in Drupal 7 we have no idea if you set that view up in Hindi or if you set that view up in Spanish or whatever other language we don't know. We need to assume that you probably created that view inside default language. May or may not be true. We don't know what your user emails are set up. What language they are in. We have no idea. So that's kind of a problem. So in 8 we decided to extend this basically infinitely. So in Drupal 8 we know the language of a taxonomy term. We know that taxonomy term was in this language. We know the language of views. So when you create a view you can create a view in Hindi. And then if you need a view that's only available in the English part of the site you can create that view in English.  It's going to work. So we know the language of views. We know the language of your site information like you know what language your site name is, your emails, etc. All of them. And that's basically infinitely extensible. So we can go on and assign language to whatever. We know the language of your menus. We know the language of your menu items. We know the language of the blocks that display your menus with your menu items. And then we need to figure out which language to use. So we have this content language screen for a content language assignment. And by default that's not what I meant. So we have a content language screen for assigning what language to use for a content. Because now we know the language for everything. But it could be very tedious to set up language all the time. Like when you create a view, we kind of hide that language setting behind a separate screen because we make an assumption that you can configure it however you want. When you create a forum post on a site, on a random site, it would be kind of jarring to see the language selected. It's very confusing. So we decided to give you an option to configure language defaults for a content. And the way we do that is by default we create all content in the site default language. And you can set up diversions from that. So you can say you want to create content in a different language and custom blocks in different languages as well. And then you can say, okay, there's articles and basic pages and forum topics. So maybe I want to create forum topics in English all the time. I don't want to multilingual forum. I don't show the language to lecture on forum topics, but for articles, I want to default them to English, but I want to show the language to lecture on them. So basic pages is fine to default to the site default language. Don't show the language to lecture. And then for basic blocks I want to create them in English again and show the language to lecture. So basically it's very flexible in terms of how you want to set up interactions for language assignment for these things. So you can say you can always assume the site default language in which it deals on a check. Or you can diverge from that and say I want to specify the language dynamically whenever I create that type or you can say I want to fix that thing to a specific language. So if you have a single language forum it's very easy to set up. So that's about setting up language defaults for content. And that, I'm not sure you've noticed but it has dynamic defaults like the current pages selected language or the user's preferred language or the site's default language. So like if you take reviews on products then the user would probably submit a review in the language of the page because they always send the rest of the page so you can default the review to the language of the page and you're not sure what I would select to review it. That makes you can get multiple reviews depending on the page it can be in any language but the user is not bothered with specifying the language at all. So you know the data but the user is not bothered with the interaction. Then we brought language to blocks as well. So once you have information about language of content, you have information about language of views, etc. You probably also want to have language for your page building elements. And Drupalite comes with blocks for that still but we don't have a fancy resolution yet. So we put language visibility into core for blocks and that means that when you have language module enabled there's this language selector on blocks and it allows you to select which languages will this block show up on. If you don't check anything it will show up on all the pages. So it's very easy to set up pages for different languages, height, certain things. This can be used to set up multiple menus for example with entirely different menus. Every menu is displayed with a block. So you can say I want a different menu on my Hindi site from a English site so you can set up a menu in Hindi in English and then show them in their block and then show their language visibility based on which menu you want to see on which page. So that's also available with blocks. And now we have all those languages how we decide what's actually used on the page is based on our language selection criteria and this was available in Drupalite as well but we improved this a whole lot. So one of the things is in Drupalite 7 you enable local module and it adds a few languages and nothing happens because there's no defaults there's no sensible defaults for language selection. In Drupalite we have this URL language selection feature enabled by default and then when you go in and configure that the prefix and domain configuration is right in there on one page so you can review all the prefixes and domains for language so you don't need to go to every language and figure out what's set up and how. So it's very easy to set it up here the prefixes and domains the session selection is pretty much the same as before the user configuration is the same for user preferences. The browser set up is very different because now we allow you to map external language codes to internal language codes so Drupalite does not all the language codes are the same across the globe so like Chinese has all kinds of language codes used that we map to our internal language code and you can add whatever mapping you want so that when browser language preferences come in we can map it to internal languages and then we have administration page user preferences so you can browse the administration experience in the prep and input language and we have a selected language fallback which you can configure either to the site default or to some specific language. This solves one of the biggest problems in Drupalite because in Drupalite 7 people change the default language of the site and Drupalite 7 makes a lot of assumptions about the default language as I've said before everything you created assumes to be the default language so when you change that it just breaks everything so here this is totally separate from the site default language you can configure it to however you want and just set it's going to use that so you can build the site in whatever language you want and when you hand it over to the client you just change the language fallback and they can use their favorite language as a default. Then we have a name transliteration so if you type in a name Drupal generates a machine name but that was usually difficult with all kinds of foreign languages so in this case this string contains all the Hungarian special characters it turns out to be a readable English string and that happens to work with so we have a library built in to do transliteration for machine names we don't have transliteration for file uploads, for past releases or for anything else in port at this point I would love if you would come on Sunday and help us build out those things for 8.1 8.2 because that's a very often requested feature but we haven't been able to get around we have this resolved though one thing that at least in Europe is very popular is English can be deleted from the site so in Drupal 7 English is always there you can disable it but then I18N tends to show disabled languages and places it's going to be very confusing to see English all the place where you don't need to have English so in Drupal 8 you can just delete English and the way it works for all the things that are in English like the text in the source code is obviously going to work because it's hard coded in English so there's no way to remove that but the English itself is not going to be and the system is not going to be show up in language selectors or anywhere for the user is very convenient if you actually don't need English so in summary you can delete English there's a very flexible system for selecting language it has sensible defaults now so URL selection is enabled by default there's browser mappings etc we have block visibility for a language so you can hide and show blocks for a language you can place a block multiple times on the page I haven't even talked about that but that allows you to place something at different places for different languages so if you have a special special if you're running for a certain region you can put that up for that specific region and then you can hide it for everything else or you can put it up down on the page for some other region or some other language it's very easy to show the same thing so this place is based on language it's very cool we have flexible configuration for language defaults on content we know language of a lot of things and it's a first-in installer so who's liking all these new things cool so this was one fourth of the improvements in Drupal 8 somebody asked if it's going to be easier in Drupal 8 I hope so next one interface translation so as I said the problem with Drupal 7 interface translation is it's manual a lot of manual work Drupal 8 everything's automated so in the installer you pick the language it downloads right before the next screen appears if you later add languages it downloads translations right away at that point if you install new modules it downloads translations in the installation progress bar it downloads the translations and applies it on the site so by the time it says done it's already translated and downloaded and if the community updates your translations it downloads the updated translations as well automatically now you may be all freaked out because you're going to deploy a site and then it's automatically downloaded things in the background not very good however what we did is we centralized this download stuff into one directory and what you can do is you can use this ultimately download system in your staging or development environment where this just happens then you do the quality assurance and then you push this directory to the live site and you disable the automated updates there and as part of the deployment process you can just import those files in the deployment process and you are done with your updates to the live site so it's very easy to use this on the staging site of course if you don't have the complicated staging you can just run it on the live site on my blog I'm using it on my live site it's not mission critical so for anybody that wants to take care of what words are used then it's very easy to do the other thing where you want to take care of what words are used is you make modifications to those translations because not everybody is happy with the translations that the community does so what we did in 8 was we customized those translations on the site and we know which strings you customized so we track every string that you customize and by default we do not overwrite those customizations from the community so even if the community updates translations to those strings we keep your customizations on the site you can obviously set it up to overwrite it from the community but by default this makes the most sense and because all those strings are marked you can export customized strings and take the same customizations to the next client and then take those customizations to the next client so you can reuse your same favorite translations or you can use these translation files across different markets that you serve or whatever you want so it's very easy to customize and use those customizations across different systems we made it very easy to touch up on translations so who knows this user interface translation search interface from Drupal 7 not a lot of you so probably the reason for that is this is impossible to use in Drupal 7 because you search for something and then you get a table with a summary of languages cross that out where a translation is available then you click in and you have 20 languages on the site and now you have 20 input fields for one string to translate one string to 20 languages at once and you've probably done the whole 20 languages on the site so what you would likely do is you would want to search and then get results and then translate them right away so that's what we do in Drupal 8 so we have a table it supports singular plural pairs we obviously support plurals in many numbers this example is Hungarian we have the same number of plurals in English but it works with whatever number of plurals you have in your language and it marks stuff that you changed in a special color so if you come back from CHI see what you changed and it saves them as customized translations so if I search for only translated strings customized then I will be able to see that those things I customized on the site so these are now protected from community updates they are not going to be overwritten by anything else it's very easy to do on the site another thing that people really want and they use the string overwrite module for that to change the English text on the site so let's make what we say sign in it's not possible in 8 not possible in 7 some people take the string overwrite module other people set up English custom language both have their own problems so what you can do to create is translate to English sci-fi so by default English is not applicable as a translation language but you can go edit English it's a very easy edit form and it has a checkbox at the bottom that says enable translation to English and now English is the translation target and I can say ok I want to search for login in English and I want to change that to sign in and save that save that and then from now on my login button we'll say sign in so if I go to my anonymous content we'll say sign in from the bottom at the bottom so very easy to touch up on interface text no need to set up any other models no need to set up a special English language this is very useful because if you set up a special English language you're going to get confused you have a custom English in English and some content is in this I mean some content is in the other one is a mess so that's interface translation you can translate to English as in change the English interface text we have a whole new interface for an insight translation of your interface we tried your customized translation so you can leverage from the community if you want however we also collect translations from the community automatically download them and update them even for contributed modules using your deployment system and disable this feature on the website and it's a totally separate module so if you don't need interface translation you just want to track languages on files you don't need to enable this module you just use the language model you have here with that one anybody found useful things in there? yeah cool so that's half of what we changed the second half is still left so our next one up so as I said the problem in Drupal 7 with content translation is we have this module in core called content translation it only allows you to translate nodes it also makes copies of nodes that are separate copies we also had this very fancy empty translation module in control that allows you to translate all kinds of entities but it does not allow you to translate the titles of some of the entities you need to have the title module as well the two of them are not directly compatible so you may either use one or the other it's hard to migrate from one to the other and it's even harder to choose between them and the worst part is contributing modules may or may not be compatible with one or the other I think that's the biggest pinpoint so we wanted to have a system where all content entities are supported and all the contributing modules work with that system so that's a huge benefit of having this in core because we can have a solution for everyone so the question is what's a content entity I use this in a pretty broad sense so Drupal 8 has entities which means basically things that have instances of them have multiples of them and there are two types of things that can have multiple items there are content entities which usually take fields but not all of them take fields so for example nodes there are comments that sign in terms contact messages, menu items, etc are content entities so we have language support for them as shown before we can configure language defaults for them and use the interface of how the language is applied but you can also translate all of them into different languages and that's very powerful so we base this on the entity transition module from Drupal 7 to configure it on the same screen where you use to configure language defaults for content and now it's the time to pay special attention so it's the same screen, it's now called content language and translation since I enabled translation it still has a summary of the same content types but now there's a translatable checkbox for every content type so I want articles translatable now I have all the fields for articles one by one all the author is track per language or the publishing status is different per language and for images I can even say I want to have the same file but I want to have a different alt text than the title text and I can decide if I want to have text automators separate or not same for blocks, same for basic pages same for format topics so basically all the fields that are supported on an entity type are exposed here and you can say which fields are in different states so you can say I want to track the author per language I want to publish things per language so I may be publishing the Hindi version of this but not the English version or you can track you can have the same file but different text like if you're selling a product you probably have the same product photo on different languages but you want to have different text on them for alt text and title text but you probably have different language illustrations because they have text on them on the image as well so you can make your own choices here for every field so this is very similar to how entity translation works in 7 it's field-based but if you really like the content translation modeling core in 7 you just check all the checkboxes every single checkbox and that is practically the same thing because now you have a copy of every field and you have a copy of the content in every language so it's easy to reproduce both approaches from 7 and it's possible to reproduce anything in between it matters on what you choose and you don't need to do any migrations because it just happens in the configuration system there's no migrations between the configuration so I think that's kind of powerful it really brings all of these together the translation interface for content the same thing there's a translate tab that was in group 7 you go to translate tab it has a list of languages that are available you pick a language you want to add that translation into two columns a node form in this case for a node and then you can just enter that translation and be happy with the results so that's content translation so now you have that content in all the languages how do you get that content out to people so Drupal 8 includes views and it not just includes views as if you install views on Drupal 7 no it includes views and it makes views the fundamental part of the system so when you go to the front page of Drupal 8 it's a view you can customize the front page and change whatever you want about it what's how it's filtered if it's a table or a list if you go to the recent comments block it's a view so you can customize how many comments are displayed if it has a page or not where does it go if it has a next button whatever if you go to the node admin page the content listing page is a view so you can customize what filters are available in the page you can customize what columns are displayed for your content administration you can clone the page and create a different view for your workflows you can clone the page and create a different view for your translators it's very powerful so if you master views you can do a lot of things views is basically two things it's a query builder so you can tell it what to how to produce results for you it's a query builder so you can tell it how to display those results it's a query builder and a display builder and it has support for language in both areas so in the query builder which is in the first column in views we have a filter criteria for content language and this is the default front page by the way in Drupal 8 it's set up to filter to the translational language or the page so when you switch language on the front page from English to Hindi it's got a filter to only the Hindi translations or only the English translations by default but you can set this up to be filtering to the user's default or not filtering at all or showing multiple languages or showing only translations that were translated more than a month ago and may need to be updated whatever so it's very easy to build up filters there's a rendering site which is in the second column here there's a rendering language setting which decides on how the result is actually going to be rendered so that default front page is content language of view row which is the language that the result was found in so basically render whatever we found but you can configure this to render the original language version of that so you can filter for whatever is not translated to Hindi yet in the language that it's only translated in and then you can translate Hindi from there so it's very easy to build a query and then decide how it's displayed in views and both of them have flexible configurations for language and then of course views the output of views is a block that you put on the page and the block has language visibility so you can use language visibility there to ensure things for the language if you master views you're going to have a very good time the only unfortunate thing here is the migration path for translated content is still pretty much in the works it's not easy to figure out how to migrate from both ways to the new way we have proof of concept patches that need testing and need more help so if you want to help in that area that's the right time Sunday is going to be a sprint we would love to see you there and see you have, the good news however is we've also built a language support to the core search module itself and the search API so it knows about the languages of stuff and whatever language you tried to search in and whatever language the content was in and indexes these translations as separate things so if you use core search you'll find them as separate items access and generally entity access is language support as well so if you use translation you can sell access to the Hindi version separate from the English version because we have access support for language too so that was the third pillar of multilingual support we have now an entity access support for language we are indexing content separate for language search APIs languages the migration path is still in the works thanks to anyone going to help with that it's all views integrated and because a lot of things are views if you want to customize how your load ending page handles language if you want to put a tab on your load ending page for translators just clone that display put on the tab do whatever with the filters with the display it's very easy to do there's no module writing and you can export that into configuration and share that with other sites no coding required it supports all content entities in core and in contrived so if you use rules if you use e-commerce if you use workbench whatever they will work with the system and it has a perv on no field and sometimes a subfield level setting so content types, taxonomy more categories that's the bundle level and then the field level is titled author, publishing status etc and the subfield level is for some of the fields like files where their subfield retails to that's content and we are not done yet so who found this interesting for their work who's going to use this very good finally configuration transitions so the good news for this is it's a totally green field project interblade because 7 had no support for configuration transitions so what people complained about is we actually did our configuration but it was a copy of the transition at the time when you installed something so when you install Drupal in German you would create the content types in kind of German at the time of the installation in the state of the language available at the time and we didn't know what was actually translated and what was not and then later on we never updated that and if you change the site default language from German to Hindi we would never have any idea if it was in German so Drupal 8 we solved that problem all of those problems one by one so let's see what's configuration in the first place I talked about these entities that are the thingies, the items in Drupal 8 and we talked about content entities that are usually created on the front end and they usually have fields on them but not always true and there is configuration as well and some of those are entities like views, vocabularies contact categories, fields menus, etc and some of them are global configuration like the site information user emails, etc so all of these we know the language of so site information and user emails we globally know their language I mean for all the user emails and for all the site information at once and for views, vocabularies, etc each single one we know their language so each view we know which language you created that in each vocabularies, each contact category each field, each menu each block block placement so all those things there is one area that's kind of left over that we did not get around to is half aliases is kind of another circle but the main point here is we have a general solution that's extensible to contributed modules for content and configuration if you have a contributed module you are not in the green or the blue circle you are not using the content API, the entity API and you are not using the configuration API you are doing something like half aliases you are doing your own custom tables your own custom data storage whatever you are on your own ok we have support for you for content we have support for you for configuration if you do something else you are not following the Drupal framework you gotta resolve your own problems so we resolve problems in these areas and finally we solve the problem for configuration because we track language on each config file each view each menu, each block and we store language over writes so anybody heard about the configuration system how it works, how it's deployed not many so the configuration system in Drupal 8 is totally separated from the content system in Drupal 8 and it stores configuration in a way that's easy to deploy to other environments so you can export all of your configuration from your site work on it in your development environment see the changes deploy that to live, review that your changes are fine and deploy those changes to live so very easy to do the way translation works is that our language over writes to configuration so we always store the things that you translated so it works very well with the deployment system for configuration in Drupal 8 and it's also very easy to translate so for everything that is shipped with Drupal Core or a module we have a solution built in the interface translation module so for example this is the website feedback contact category is the category that's shipped with Drupal Core so I'm going to translate that by going to interface translation so user interface translation website feedback was shipped with Drupal Core I'm going there I'm entering my translation saving that there is actually going to be an English on an English site in the case of Hungarian the language I know most is going to be Hungarian so this is a configuration that was already shipped with Drupal Core so I can use the interface translation system for that that's true for all the blocks and all the things all the emails, the views everything that was shipped with Drupal Core the good news about this that's integrated with interface translation is it has built in support for our translation downloads and updates from the community so when you install Drupal every single view that's included every single field, every single permission every single content type that came with Drupal will be translatable by the community we'll get the translations downloaded and later on the translations will also be updated from there so there's no problem like for Drupal 7 where we've installed it in the state of uncertainty and we had no idea later on etc so we keep track of all these things and we update all those translations that works with the built-in features so that we can put up or localize Drupal because we know that everybody has those features because we downloaded Drupal for all the best of the configuration that you make on your site like your site name or your blocks we don't know about so you need to translate it yourself we have a module for that too very easy to use so that's a block it has a translated block tab on it I can just go in there and translate the block label to my own language I can save the block label go back to the page and now that block is translated to Hungarian so it's easily doable with these in place tabs site information, same thing translate site information, there's a tab list of languages it translates, now there's a table of things I can translate I can enter my translations for all the things that are in the same information site name and slogan, save that go back now my site name is translated to Hungarian, the slogan, the block title the compact category all in Hungarian and if I switch back to English it's gonna be in Michigan so everything is translatable with the built-in configuration translation module you can go in and translate all the views that you created, you can translate all the countertypes all the vocabularies, the menus everything is accessible to contribute so this works with standard translation tabs so go to views, there's a translated operation in the list, go to menus translated operation, go to site information translate tab, etc etc it works with configuration overrides, well integrated with the deployment system and configuration it works for anything in configuration in core, in contribute and all the ship configuration that came with Drupal, annual modules, annual themes annual distribution, all those things is already translatable, localized Drupal will be translated for you so who liked this area so in summary, we have four areas where we improved in Drupal in terms of multilingual we have a language subsystem which allows you to assign language to whatever you want on the system including block visibility


On its website, the UNHCR or the UN Refugee Agency says it is dedicated to saving lives, protecting rights and building a better future for refugees, forcibly displaced communities and stateless people. The situation in the agency's office in New Delhi, Vasanth Vihar, however, paints a different picture. Over the past several weeks, refugees from Afghanistan, Iraq, Congo, Sudan, Myanmar and many other countries have been camping on the street outside the office. They say that the agency has turned a blind eye to their complaints and refused to hold a dialogue with them. On Tuesday, the 2nd of November, the protesters began raising slogans seeking a response. The authorities called the police who beat up several protesters severely hurting some and detained three, a man from Iraq, a woman from Congo and another woman from Afghanistan. News click talked to the refugees at the scene. Four months, we are sleeping here. No food, no money, no shelter. And in the rain, in the sun and in the cold, we are here. And when we ask for food, nobody gives us food, nobody gives us shelter, nobody gives anything. We try to talk to them. We call the UNHCR to come and talk to us because we have been here since one week. We are sleeping here down. So please tell us even hope. When I come here to find peace, the corporates to tear my clothes. I did not do anything. I just want to talk to UN office to know what is happening and to fight for my life, my life. I'm a refugee since 2014. We came here to protesting in front of the UNHCR to get one of the office to speak with us. But since four months, we are here. Nobody come to talk with us and that give us just full hope. All the appointment come in this there is no action, just word. We want the action. So today we was, you know, the people here four months. There is people for us stating because COVID-19 has started and there is no job, no work, no money is hit on the all of the earth. So we understand that but the frustrating which we, it's on the people, boost them to rise our voice to let them hear what they want to talk them. What we want to say for them. So that reason they are starting like this and all this happening, the police came and they talk us and they use violence against our sister and against our brothers and they took him to police station. That reason we are protesting here to let Oscar, he is the protection officer. He should come and talk with us. UNHCR has some provision and there are rules for protection of the refugees. But this office, they are not following, they are coming for four months, for several months asking them that the Dharna is for four months and they are not listening. They told us that India country is a safe country. That is why we came here. But on the wrong run what they told us is not what we saw. I am asking for recitalment because I have been here seven years without any nationality and any document. I cannot work. I used to open one salon in sector 39 in Gurgaon. But the police, when they asked me about my visa, I showed them my UNHCR card and they just threw it on me and just kicked me out from the shop and they took all my stuff. Now that's why I don't have any hope to go anywhere and I need help from them. But there is no hope. They are not giving any hope. They asked us to go and work. How can we work? We have no legal documents. We are not speaking the language of the country and we are black. Nobody can accept us anyway. Racism is my own problem up to now. Like I can't get a job if I want to work. I have my two arms. I am healthy. I have my two legs.  Some of them have got guards. Their stipends have been blocked for some time. They are not even paying them and they should take care of this. At least they should listen to them. They are not listening. They are not talking to them. They just show off in the media and the international conference to protect the Afghan refugee, to ask for women rights for Afghan women. But here in India, I'm here. I'm Afghan woman under their control. I asked for education, right? They laugh at me. They said your expectation is high. They are ready to debate with Taliban more than six months. But they are not ready to come to me just for five minutes. Talk to me. Indian government also have a duty, not only UNHCR, since they are here in India. Indian government must prevail upon this UNHCR to do something for them. We have done so many help, so many refugees during the 80s, 70s. There's Afghan war there. Afghans were there. Iraqis had been there. We were helping them. But now for some time for seven, eight years, these people have just wandering in wilderness that even the Indian government, which must do something for them, they are not doing. Our demand was very simple and clear. That we want to meet the chief mission because we have no trust in Indian officers because they are not humanitarian officers. They are only officers working for salary, like a robot. You have to treat us like human and give us help.  The dogs have rights. The dogs without speak, they are given them food. They give them like treatment in the street. We are lower than dogs. We are lower than animals. We are sitting here. Nobody talked to us. Nobody responded to us. Who called the police? It's a big question. So from here, we want to know the relation between UNHCR and Indian government. Where is the Indian government? Where is the solution? Where is the solution? They have to talk to the police, not touch the refugee, ladies or gents, nobody. We are human being. We are here for our rights, our families in our country that are dying like nothing in Congo, Sudan, South Sudan, Myanmar, Iraq. We are dying. UN, if they don't want to use, let them take us back home because right now, I don't have a house. Right now, I don't have a way to sleep. Right now, I don't have what to eat. Right now, I don't have anything. Only what I get is insult. And this is not the first time I went there. This is the fifth time that they talk me from this place because I'm protesting here. And they always talk me to the police station without any reason. The reason just because I need my right, that's what I need. And I'm not a criminal to catch me like that and put me on the car like any criminal they did with them. Please, I am refugee. Under Article 21, all persons, that is the duty of the Indian government to protect their lives, liberties, their dignity. Every human foreigners are entitled to this. So, Delhi government or Indian government, they have a duty to do this. But they are abdicating their duty. We came just to speak with officer like my brother already said, but they didn't come out. Instead, they called the police. And the police was not here to protect us. They were here to beat us down. They kicked me. I have one kidney. And I am little blind. They kicked me.  What gulley butt did you? I cannot say here. News click tried to contact the UNHCR India office and the Delhi police for a response, but has not received any yet.


Mr. Herzog, distinguished guest, Shalom. I'm very pleased and honored to extend a warm welcome to you, Mr. President, to Mrs. Herzog on this historic occasion, the first state visit ever by a president of the state of Israel to the White House. Your visit is also a special event because it takes place during the 40th anniversary year of the independence of the state of Israel. Americans are proud indeed that on May 15, 1948, the United States was the first country to extend diplomatic recognition to the state of Israel. Your visit emphasizes the close and special relationship between our two countries. Mr. President, modern Israel was born in the aftermath of the tragedy of the Holocaust and the calamity of the Second World War. It was created to fulfill the long-standing dream of the Jewish people to return to the home of their biblical origins. This dream came true because of the courage and determination of the Jewish people, both those already resident in Palestine and those who survived the Nazi death camps in Europe. The hopes for freedom, for independence, for an end to centuries of persecution were instilled in the state of Israel. Mr. President, Israel and the United States have been partners for 40 years. We're brought together by a shared commitment to democracy, to an open society, to individual achievement and economic progress, and to dignity and worth of each and every individual.  Our strategic cooperation is proof of that. Today, these values are reflected in the search for a just and lasting peace in the Middle East. We share the conviction that Israel can be secure and realize its full promise and genius only when security and lasting peace are achieved. The United States remains undeterred in a quest for such a peace and negotiated settlement of the Arab-Israeli conflict that would assure the security and well-being of the people of Israel and its Arab neighbors. That goal will be realized when people of good will from all sides find a way to bridge a crevasse of hatred and distrust. The United States is ready as ever to help build that bridge. We're encouraged the progress that has been made in this noble endeavor. It was 10 years ago this month that President Sadat visited Jerusalem. Peace between Israel and Egypt created new reality, proving that reconciliation between former enemies is possible. The past decade has shown the benefits of this peace to the peoples of Egypt and Israel. We want to work with Israel and its other neighbors to expand the horizon of peace and find a just solution for the Palestinian people. We want to see an end to the scourge of international terrorism. We want to see an end to the conflict in the Persian Gulf and to the war between Iran and Iraq. Mr. President, we know that the people of Israel share these desires with the people of the United States. Together we also share a commitment to create better lives for all peoples of the world. Israel has provided leadership in harnessing science and technology to human needs as is reflected in the great strides you've made in agriculture and industry. We're united by a common commitment to the universality of human rights. This is why America has championed the cause of Soviet Jews in their struggle for religious freedom and right, if they wish, to emigrate. We have rejoiced with you in the release of Nathan Sharansky, Ida Nudel, Vladimir Slapak, and others. Yet we know that many others less well known but equally entitled to enjoy these basic liberties remain behind, still constrained by the Soviet system. I pledge to you that we will persevere in our efforts to persuade the Soviet Union to meet its international obligations on the Helsinki Accords, not just to Soviet Jews, but to all the citizens of the Soviet Union. Mr. President, we cannot meet on this day without noting the special significance it has for the Jewish people. On November 10th, 1983, a half century ago, a 1938, I should say, a half century ago, the Nazis let loose a reign of terror against the German Jewry that is remembered as the infamous Crystal Knight. And on November 10th, 1975, the General Assembly of the United Nations passed an obscene resolution equating Zionism and racism. Both of these ugly actions share a common denominator, anti-Semitism. But there is a major difference between them. In 1938, the State of Israel did not yet exist. In 1975, a proud and resolute Israeli ambassador rose up in the United Nations to uphold the honor of Israel and the high principles on which the United Nations is founded. The ambassador, of course, was you, sir. And it will always be a source of pride for all Americans that on that day our own ambassador to the United Nations stood squarely at your side. That's how it was, Mr. President, and that's how it will be for the people of Israel and America, our historic partners in the global quest for human dignity and freedom. We will always remain at each other's side. Mr. President, it is a special honor and privilege to welcome you to the White House. Mr. President, as I stand here on this momentous occasion, I can sense the movement of the wings of history. I arrive here on the occasion of the 40th anniversary year of our establishment as a free and independent state, an event which righted an historic wrong to our people over the centuries. Surely, Mr. President, at moments such as these, words are inadequate in which to express the sense of gratitude which the citizens of Israel feel towards this great country for its ongoing support in our struggle. Like the United States, our small country, too, acquired its independence in bloody battle and gained its strength by providing a haven for the poor, the downtrodden, and the homeless. Despite the enormous differences in size and population, we are bound together in a partnership of such profound significance, a partnership which transcends the normal friendship existing between friendly nations. For ours is an alliance born of an identity of purpose and the principles of democracy, which are the cornerstones of our two societies. I stand here and see the work of the hand of Providence. For this year, as you have mentioned, sir, marks the anniversary 49 years ago of the Nazi onslaught on the Jewish people in Germany in Kristallnacht, the night of the crystals, in which synagogues throughout Germany were put to fire. The Holy Bible and the scrolls of our Holy Torah, according to five books of Moses, bearing the message of civilization and humanity, were burnt in bonfires ignited by barbarians outside the burning synagogues. The streets of Germany were covered in a film of crystals created by the broken glass of Jewish synagogues, schools, homes, and stores, marking the headlong rush of Europe towards the Abbas, which led to the darkest years of the eclipse of civilization. In those nightmare years, one-third of the Jewish people was destroyed in the most terrifying Holocaust ever seen in the history of mankind. I stood moments ago and received the honors, accorded me as head of the State of Israel, and thought of the day of infamy at the United Nations 12 years ago today. I had the privilege then, as you mentioned, sir, of defending my people against the scurrilous and despicable attack on Zionism, which was mounted by a contemptible coalition of totalitarian states, not only against our small country, but against all that the Jewish people and their traditions stand for in human dignity and experience. As one recalls these events, which occurred on this very day, on this solemn and moving occasion, marking the first state visit of an Israeli head of state to the United States of America, with all that it implies, the significance of the reemergence of Israel must surely be in the forefront of our consciousness. Mr. President, at this moment, as I stand here as the President of a country born of the prayers of a nation over the centuries, and a 2,000-year-old struggle against adversity, and view this event in its true perspective against the background of our long history, I cannot but give expression to the age-old Jewish prayer, Shechianu, Vikimanu, Vigianu, Lazman HaZeh, thanks to the Almighty for having kept us alive and maintained us to reach this time. Mr. President, Israel has been devoted to the cause of peace since we held out our hand to our Arab neighbours in our Declaration of Independence, and has over the years exerted every effort to achieve it. Under your inspired leadership and with the active support of your administration, we continue these efforts to achieve the peace for which we, and I believe all the peoples in the Middle East year in. Ten years ago next week, we crossed a major watershed with the historic arrival of President Sadat in Jerusalem, and the enthusiastic and warm welcome accorded him by the then government of Israel, by the Knesset, and by the people of Israel. That visit led, thanks to the active involvement in subsequent negotiations of the President and the Administration of the United States, to the First Peace Treaty signed by Israel with an Arab state, indeed the leading state in the Arab world. That treaty, which concluded the first phase of the peacemaking process in the Middle East, was signed here on this very site. Israel is prepared, as you are well aware, Mr. President, to move forward with your involvement to a further phase of this process. I thank you, Mr. President, for your invitation and your welcome. I come to you representing a friend and an ally. Our two peoples are committed to the same principles and values which our Bible gave to the world. We acknowledge and appreciate the generous support of the American people, extended to us in the mutual interest of our two countries, to ensure the advancement of the cause of people in the Middle East and the Middle East. We are a close ally, which is committed to the defense of the cause of freedom and democracy in an area in which the longest war in this century is taking place.  A glance at the map of our area and a realization of the implications of the waves of fanaticism which are sweeping across it must surely give added emphasis to the significance of your alliance with Israel with all that it implies. Mr. President, on behalf of the people of Israel, I salute you, the leader of the free world and Mrs. Regan, and I extend to the people of the United States of America our prayers and profound wishes for the welfare of these great people and this unique country. Thank you, Mr. President.