 Okay. Good evening all. So, I think this is the last presentation of authority. Do we have any? I do not. So, this presentation, we are covering by three people. So, I am talking about quickly about globalization. Then Alex will talk about the Zanata. And then John will talk about globalization. This one session, which I am planning from now, at least from 6 months I am planning for this session. And I think this is the opportunity. So, I will generally say that what is happening in this session. So, this is the slide which I always like to say that when it is a globalization, these things come to that. So, it is, I didn't, there is a localization, there is a Zanata, and an FATG. So, FATG stands for Lions Testing Group. So, that group does the testing, the testing, the testing, that kind of stuff. Then, moving to the next slide. So, here I want to say that if you see this image of the federal, you see, all are closely tied. So, unless actually you don't have freedom, you will not have a friendship. You have friends, then you can get together, develop some features. When you start in features, you can have it first. So, it is like, I want to say here is, it is all closely tied together. If one is missing, it will affect other. On the same line, we started globalization, I think last April 2015, we started this activity. The group is the umbrella group. And why we started it? So, every group has some advantages and minuses. And what we thought that by having this umbrella group, we will try to solve those things. So, if you see, AT&T was good at proposing the changes for each release, having the development for the federal development cycle, that was good happening. From AT&T perspective, localization teams. So, localization teams has more contributors and more languages. There are many active people. So, if you see AT&T, it is like 10 people are active. From the localization, it is like 50 plus people active in each release. From testing part of it. Now, I didn't actually do something. So, testing group has testing expertise that created test cases. And again, transition platform. Transition platform here is Zanata. So, they are serving localization with more stats. So, if you remind the mad term sessions regarding the stats. So, Zanata is the place where we get all the statistics that what is happening. Which language is doing how. So, we try to create umbrella group on the top of this and try to make it as a more strategic group from the language perspective. So, if you want to do anything in federal from the language side, what should we do? If you are planning something, then each group should do. Every group is required what thing and how we can create those things. So, that was the plan behind the globalization. And we did good, I will say. So, these are the snaps. I think there are many, but I just quickly found these four. So, this is the one localization screen in Albania as possible. Second, we had a quick winter interview in 2016. Then, that is the third. Third image is from the fact that we had a jama. And the fourth that many small photos is the spring which we did recently. So, things we did under the globalization is that of course the fact was very successful. I will say it was. In limited amount of like couple of days, we did so many things. We worked, we talked, we planned, we had fun. So, we did so many things and it actually went like a mini-conference. You know, because there were so many people in there. And that planning we used till after the desert. So, if we want to do anything, I quickly say yes. Let's go through that list and see what is missing. So, I was planning to finish my talk at this moment, but I think since we are late. So, we did a test days. We got more contributors for test days because we became a single group with more contributors. We had a regular meeting, more active discussions on the mailing list. More exhibition for the team. I think this thing happened definitely. So, if anyone say that, what happens? I will say recognition. When we started globalization, everyone in the Fedora came to us. Globalization is the globalization. I think, of course, we all, I should thank everyone for this because of the real good work. And that is the thing. Then I will move to the next. Now, here I want to explain you the weak link concept. Do you know well about the, this is more from the system thinking. So, your system strength is not more than the strength of your weak link. That is what. So, like say if you have say, in your team, you have said 10 people and one is like, no, rather than the people perspective, the manufacturing process is a good example. So, if you have manufacturing processes and one process is not doing output or machine is not doing good. It will affect the whole thing. Same way, we have faced some problem in globalization. And the problem I will specifically, which I observe is that the localization team, though the group is very big, but there was not an activity in the localization group. That is the first problem which I have faced. So, whenever we were used to have a globalization meeting, we were mostly Pokemon of localization issues. That is what I observe. And most of the time, the globalization meeting was actually localization meeting. Spring, we started, it went well. So, we did a three-spring for the transition. But right now, if you take an example, like the most of the organizers. So, I was the one, Yonah, Alex helped, John of this help and the many people helped. So, right now, they are going to make tasks. So, gradually, we need more leaders for this and it is not happening. And it is like once we have one lead, other people start to come to support them. So, we need this one lead. Again, the second point is to come to the first one. If we have a lead, we can take care of this kind of thing. Unless, actually, we do not give strength to a candidate, it will not make Jiren possible. So, this is the point which I want to make here. That we need some more strength in localization. Once we have a healthy localization group, it will actually help us to achieve the objective which we tried for localization. And this is the point which I wanted to make today. And we can definitely have more discussion about this. So, any question at this moment? Or maybe we can take question at the end of session. So, John of this is going to talk about the localization. So, I think we will end with something. We will have further discussions. So, I think we will stop here and then we will have more discussion. Okay, so, over to Alice. Thank you. So, for Zanada itself, we mainly concentrating on the automations. Get from the database recently for the past six months. So, one of the main problems that we identified in the Zanada platform and the source repository was about the manual process that's involved in the whole workflow. So, in the current process, that's not a manual. What needs to be done by pushing up the source to Zanada and followed by notification to the translators. Get them to translate it in Zanada. Then package it into full translation from Zanada and push it back into the repository. Then it will continue from there. And those kind of processes usually based around batch of self-scripts or any script on prawn jobs and using Zanada CLI because that's the client that we have. Another problem would be the installation of Zanada CLI because on the Fedora community the item client is preferred over the rest of the client whereas Zanada CLI was developed on Java languages. Although we've got a good wrapper around it so that it can be installed in Fedora, it's still a problem. And usually when it happens, package maintainer usually does the push and pull only a couple of months at a time and by the time next time you want to do it they need to update the client itself and they just forget every command in there already so by then, so that's the main problem. And another downside would be there will be requirements of basic model and knowledge in order to use another CLI manual. What the deep was, initially we know the problems. Then we were trying to develop an application to do the automation. The first time we tried was to develop everything from scratch so we developed new applications, web applications that handles all these things but as soon as we wrote out the first version we found out that there's a lot of problems that's already been solved in a couple of the CLIs applications available in the market. That's why we moved to Jenkins because Jenkins is obviously a widely used and recognized CLI in the DevOps space and it has already a couple of plugins that we are trying to solve so it's already integrated well with it repository it's integrated well with what it has a strong feature of the scheduler it has notification plugins that we are trying to solve at the same time repository integration, that's what I talk about and security modules. All those problems that we face on our first option when we developed the application is already solved in Jenkins so that's why we moved up to instead of creating a new application we just created plugins on top of Jenkins and the good thing about that is we can feedback all those features that's already developed and well maintained in the Jenkins community itself. The last five years we used features from Jenkins so there's a lot of features in Jenkins these are the basic stuff that we were trying to target on our first option when we tried to develop the automations obviously there's a lot more in Jenkins that we can use like integration with RLC, integration with a couple of systems that you can think of so everything is there the downside of using plugins instead of our applications is that obviously you require an agenda server to be up and running also we are restricted with the Jenkins plugin development process so if you are aware Jenkins plugin we need to follow certain workflow and certain criteria if you want to develop a plugin that's available for public community Jenkins so that's one of the limitations that we have we need to work around with also the problem will be access permission to produce an RDI repository so if you want to use what with the plugin itself we will need to input the credentials of the source repository as well as credentials from Zanah server into the Jenkins but like I said Jenkins already got to put security modules in there so I don't think it's a big problem and a lot of the big communities is doing that as well and everything is in one place and also the plugin is limited to Jenkins server environment ties up to the first point where yes you require a server to Jenkins server to run up and running so that's the downside of having the problem developing a whole thing based on Jenkins so that's the base diagram that I can put up so on the left side you've got all the stakeholders on the top yes the package maintainer or the writer which is another spot as well push and pull into GitHub which is the source repository then on the Zanah side again on the lower side left low corner it's a translator push or translate in Zanah and those two entities on the left side will communicate to each other by the Jenkins plus the Jenkins plugin so with the Jenkins plugin every time the GitHub or every time the source files has been updated in the GitHub repository it will file a webbook and from the Jenkins you actually listen to the webbook from there you push the updated source into Zanah straight away or depending on how you configure it and likewise whenever a translation has been updated to Zanah and again depending on the webbook that you configure in Zanah you would be able to push or send a signal to Jenkins and the Jenkins plugin would be able to pull the latest translation and push back into the GitHub repository itself so that whole process you don't even need to install Zanah CLI there's no manual process in there you just need to configure it in the first place and everything will just run automatically every time something updated or depending on how you schedule it so yes now CLI has no way to push and pull manually from command line you just depending on the Jenkins itself to listen and push to all process into both of the entities so for demo let me do a quick one there so in here I've got a Docker Jenkins running on my local machine this is the Zanah plugin which is published so basically if you're familiar with Jenkins you're just going to manage Jenkins and install the plugin yourself and from there you just need to create a job so this is the job that I created so what happened right now is this job is configured with this GitHub repository and it's a proper file type where this is Zanah that I run locally configured based on the Jenkins itself based on the plugins so every time you create that you should do a quick test just to show you all the features that's available in the plugins so obviously the source code management all these things are the source repository modules or plugins that you can configure so for kids yes you can do a GitHub which is what I put in here actually it has all the information the URL this is provided by the plugin itself so what you need to do is you need to copy the URL or web URL put it into Zanah projects which is this one so what happens is that when you put in the URL you can configure one type of web book that you want to fire up when anything happens so there's a couple of them that related to translations 100% translated documents as well as whenever a translation is being updated so every individual string also there's a manual event where you just trigger a manually Bible retainer itself if you don't want to be automated you just need the maintainer to go in every weekly or something just to get on the button in Zanah send a signal to Jenkins and start doing each else so this is how it's being configured go down to the bottom obviously there's a credentials in here which is handled by the Jenkins plugin security modules and moving down this is the part where you go in your Zanah credentials so if you're familiar with Zanah you can see by the way this is Zanah 4.0 Zanah 4.3.0 so it's not being deployed to the Dora instance so with the Zanah credentials obviously you need your APIs and your username in here which is included in here then you get the Zanah and you're going to push the Zanah or pull from Zanah and connect to the given repository on the way back the base general configurations that you need to do also obviously the branch that you want to push to so obviously localizations what happened in Red Hat is they always push to a localization branch instead of master branch because obviously they want to keep master as possible and after reviewing the localization branch they will merge it into master branch so right now with the demo I just push it to master and see the date update and everything straight away but yes you can select whatever branch that you want to push it to so in here what I can do is now because I'm running on localhost I won't be able to get I won't be able to get GitHub to talk to my Jenkins but I can do I can get by Zanah to talk to my Jenkins because we're running on the the same instance localhost so what I can do here let me refresh this let me refresh this so right now yes it's 11 days ago and 6 hours ago and 11 days ago so what I can do here so right now the webboot is being configured so that it sends a signal on every translation being updated so if I change one of this hopefully it works in this course there you go you can see it starts running and yes so after that I refresh this 12 seconds ago and if I open this I would have the latest update at level 1 so all this is automated so again from the source point of view I can't demo it right now because I'm running everything on localhost but if there's any commit up to the give repository itself if the webboot is completed properly it should do the same thing send a signal to the Jenkins and the Jenkins would actually push the updated source into the Zanah straight away yes, yes so in the Jenkins in the job itself you can configure it only to do one job so it's it's very configurable, it's very dynamic so you can do whatever or you can mix and match whatever you want to do you can even set it so that it runs based on cron jobs instead of waiting for the webboot from behind itself or from Zanah now those two tick spots push to Zanah pull from Zanah so here you can be configured according to whatever the maintainer wants some of the project probably you don't want the source to be updated to Zanah that often and you just want the latest translation every day then yes, it's Jenkins you can configure whatever you want, it is pretty powerful so that's for the demo let me bring back nice slides so the last one is about the statistics that I managed to pull up it's very interesting to see what's been happening for the past 6 months so yeah this first graph is about it's all the languages so not a particular language so it's all languages that's activities that have been happening in the photographer instance so January, August, February we've got a spike in there March, I believe April was the sprint 2017 then yeah 2017 the transition sprint the previous yeah so it's considered high compared to the rest of it but somehow in February and March we've got a higher number on that I can show you the more detail on the breakdown of what's happening on February and March so this is for which branch sorry which branch which general general all the projects in the photographer instance I think there was branch February 26th from March yes so probably that's why because every time you branch it off you copy the translations over and create a new one that's why there's a spike there so that explains it it makes me very excited that my there is so much transition in February but it's a good right so this is the breakdown of the top 20 languages that's been translated for the past 6 months Japanese got the highest ones again we've got Spanish and followed by FI I'm not sure about language finish finish finish then French yeah all about so this is just the basic stats obviously I've got the detail breakdown if you guys are interested in each of the languages but yet we've got a couple of APIs that's in 4.0 so we'll probably be able to combine those APIs do a different couple of API calls and probably we can get data from there right now all this is done by Metal without exploring because obviously there's some limitation on here but yeah we probably can do it while we can automate it or even before that if I can run it locally then yes I can mix and match those APIs and automate the process of getting those data but yeah that's about that for automations obviously it's more targeted to package maintainer and for translator if you guys want to make use of the Jenkins plugin to automate the process yes I'm more than happy to help out so to set it up and everything I actually talked to the in-front team if we can use the Jenkins instance to host all these things obviously they are more secure and stuff so perhaps yes it's a possibility that we can use the Jenkins to do that yes Brian I apologize for having walked in I just want to apologize if this is to run Jenkins Shouts to Fire Jenkins and other translations are big we should be able to host those with the simple CI structure so we don't necessarily need to talk to to everybody that's why we're shifting a lot of those Shouts over so that between the two projects we'll collaborate on a simple CI instance to make life hold on each one and that's ready to listen to both webbooks and FAT messages all right it's good to know so yeah we might have a solution there so yeah the only concern was there will be a lot of credentials that we're storing in the Jenkins instance that's why we chose not to host it ourselves because we'll require those credentials from the package maintainer and there's another user so it's best to host it somewhere that the in-front team or someone that's more secure environments compared to us but yeah I'll move on over to Alex there was some discussion to have a Zanada client for mobile as well for mobile was there any discussion well initially we were trying to do it in Android but the problem was we figured out there'll be a lot of maintenance happening because once you've got Android then you need to maintain it in the Apple one as well so what we're trying to focus right now is to instead of creating a client enable the browser itself to support client or different resolutions so you can work on tablets or mobile so that's what we've been trying to do in the editor itself so the thing is that Federa contributed a lot into the GSOC kind of stuff Federa contributed to GSOC and how great the program is there so if you prepare a proper proposal for this you can get some contributions as well from apps not Android apps though the website well that one really included in our design so currently we are working on it but yeah if we can get any help then it's more than welcome to start with you yeah that's fine nothing wrong in the my screen here I think it's there it's there on third so let's think about my name is Jean-Baptiste I'm a translator and team coordinator the slides are already online and you can access it if you want so what do we do in localization? we want to improve the user experience the Federa integrated system by translating application and every document that is related and useful to the end user so there is no limit to what we translate which we are translating on this software that is 100% for Federa we translate whatever that can be used on Federa most of the translators that are in our teams are also involved in the office in Mozilla and you know we are a trans project and the only limit is the translator will ban the availability and availability means our time but it also means that we are tooling to translate so are we currently addressing our actual users? the main difficulty with Federa is we have earners and no stacks the only one I could get is from the get-for-the-roll website and what teaches is there is way more connection from India than from the United States and in India there is at least 20 official languages plus maybe 200 languages that are model tongue native languages so we program it most of the languages that people connect to the website so this is that only for the third semester of 2017 it's not accurate it's only using IP address it's only using number of dates there is a one-third of the dates that you can link it to some but it's the only data that we have we have no statistics about what is the language and operating system so if any of you may have an idea about a source to guess about what are the language that our users are speaking we love to know it so to have success we have to measure it and I've been looking for a way to measure what we are doing so the first one is what the users see we have low software using app data as you can see here it's translating in French and we can translate it in every application so on the left you see some the top 15 locale by package translation there are 4 this means I take every locale available in in federal I take the locale that have the most important number of package that has translation and then I make the top 10 and I take what is the average translation level of each package what we learn from 2004 which was one year ago to federal actually we move slightly more so little by little the biggest thing can have hope to improve but if you go deeper in the statistics you will see that most of the teams are tiny teams they have no hope at all to give a user experience in app data for the end user in known software and this is on top this is the different part of translation because we are talking about the translation level the application itself and some of them can be quite flat in terms of quantity to translate and on the bottom line you see the description just the tool lines that are describing the software and if I am French I don't know English I type in French when I search so if the description is not in French there will be no match so if you take the best teams so again there is the solfice the 15 locale that has the most description translated the best team don't reach even 20% of the translation of the single description in the application so the user experience cannot be very good when you don't speak English on a federal but any other line of distribution so all of these data are from upstream they are insulated in a local file that we may translate the question is if we do something downstream in the federal world you have to find a very easy way to push it upstream if not it is something that should be denied by the federal community so if someone wants to go into this and find a way maybe to translate easily here on the aggregated level in federal and find a way to push it upstream or at least send a message with which one this you can reuse it maybe with a little new introduction a few minutes ago I would love to discuss it and go to dive the subject because I think there is really something you can do so can we go deeper because what we have here is any ad data files there is ad data files or some software what we have to look for is the packages itself when you use dnf there is a command line that enables to create files inside the packages so you can do some sort of query to say dnf please tell me all the packages are at least one file in my local repository for the French language and this brings me to 193 packages maybe with this we can try for every languages to know how many packages at least one file there and maybe we can have a trend of other different releases of federal entity does it improve as a bonus we should also be able to take the file and replace the categories and maybe run some queries we should also be able to go and see the ambassadors and tell them oh we want to reach that country or that kind of community how good are we or how bad are we do we support funds, we can answer this because it supports the timing we can answer this we do not we just don't know we have no answer for this so this is another hint maybe that we can follow if someone has some knowledge in dnf I would love to discuss with them so let's think about coordination this is what we have in our so you can try with this car but the problem is the way we are currently following the way we are currently following is this one so this is trans-pagoreal action which is a very very nice road in Romania which I will go someday but yes, that's awesome so this is really something that exists and it's a perfect idea of the open source road the way is different but at the top of the mountain you are very happy because you are not alone to reach that goal and you are all together on this road the problem is with that car we have very good engine nobody will tell you that that is not good for translation that is very good for translation the problem is there is no feedback to the cockpit like user activity project updates are coming but yet at the moment we just don't have it there is no chorus our communication is quite bad if you go to our weekly page I tried to change it last year but it was just too much work I did what I could but we need to do way better we need to improve the good the people who are having some nice initiative and we need to communicate about it and when we do a sprint we should be able to produce an article two weeks after the sprint to say we were 50 people and this is what we done after that we have some way to move around between us the mailing list it falls sometimes it's good sometimes it's top acumen we are an onboarding process which is very difficult we have to introduce ourselves in places you have to require some technical access to some fast route which totally makes sense for an end user it doesn't it's very complicated reaching the federal project and contributing to the state of it it is difficult do we have toolbox in our main language do we have toolbox do we know how to fix it if we miss if we are meeting someone we start with some issue hey, I have a little project I would like to translate my documentation how do I do hey, I'm okay because we have a toolbox to help do we create a new project I think there is 150 projects in Fedora.senata.org and I think there is more than one for them in translate do we know what those projects are and do we have some people that are missing that we want to take we say you are a good project I want to take you Fedora come here and I want to translate you we do that and do we have some room for friends if a project comes and say that we want to join a new project is there a way to reach it as you know camera connection okay and the last question where is the driver there is no driver I go to that before my before I start translation there were more people doing some great job maybe there were some other people before it but since two years we have a bunch of people it was a project a few minutes ago who are just doing their best that it's you know it's best effort it's one third of the little hour we have to contribute a trick or each night or maybe just from 5 to 6 in the morning because we cannot sleep anymore and we really need a driver so this is the present now we can see the future so this is the future it has closed so it means we will try to improve our communication we should be able to see what's happening inside the machine because we have some windows we have plenty of stuff and we should have some cockpit to drive the car maybe we should have some tools, some ability tools we had a president about 3 minutes ago maybe we should be able to communicate and to regroup the people that does good things for the translation when there is a guy from Czech Republic who is doing a book for the newcomers and say this is the way to translate it and please use it in new countries we should have something to say thank you because you are doing a good path and this is something we don't do now maybe we should have more promotions for the mailings I have a statistic about the mailings language but it's so low it's just not interesting maybe we should have more tools to reach the project why do we have to have so many steps is there some things that projectors can do without having so many obstacles in the way shouldn't we control the project in the event of sanada not controlling like when you are not in the democracy controlling that just welcoming communicating we are welcoming a new project and I think the last point is that in the future are we good enough to have an autonomous car or do we still need to drive so these are the my point of view of the organization coordination objective with what happened 3 minutes ago this is the end of my presentation I would like to discuss it with you now we would like to thank you for your point of view on the coordination provided by