 So the session starts. Good morning, everyone. Welcome to the first breakout session. It's my honor to introduce OpenStack I-18 team for you here. Before I start the session, I want to ask a simple question. Whose primary language is not English? Please pull up your hands. Oh, thank you. Great. Then I'm sure you'll come to the right session. So we are from OpenStack I-18 team. The mission of I-18 team is to make OpenStack accessible for people, for all the people with different language background. So I'm Ying Chun Guo from IBM China Development Lab. I have a nickname you can call me daily. If it's easy for you. I'm the PTL of I-18 team. This is Carlos. He's from Red Hat. He's the development leader for Zanata. A tool that we are using. Kato-san is from Fujisoku. He's the coordinator of Japanese translation team and also the call member for documentation team. So we three will take you to spend this 40 minutes. We will cover these items. We might spend 30 to 35 minutes depending on how quick we speak. Then we will leave the remain time for Q&A session. So we all know OpenStack is how popular OpenStack it is. So it is used by the people from all the world. When we bring OpenStack to users, we want OpenStack is able to speak their local languages. So that requirement drives the setup of I-18 team. Actually, I-18 team was initiated in two years ago. Two years ago, we started OpenStack dashboard translation since IceHouse officially. So just translators come in and start the translations. Now, in Liberty development cycle, we finally become an official project. We are under the TC governance and the leadership. We have our own IRC channel, mailing list, and we have IRC meetings. I-18 team is a big team. We have 40 languages, 40 language teams, and more than 100 translators. So below picture shows the languages we supported. If the font of your language is not that big, that is because the number of translators is not as many as the languages in big font. So you could join us to make your language bigger. So I will spend a few minutes on the OpenStack. I-18 team construction. So we are a community team. The hierarchy diagram does not show the report line. So I use dot line, not solid line. So we are official team, so we are under the leadership of technical committee. Then there is PTR for I-18 team. The PTR is every release cycle could have PTR. So I'm the PTR for Mitaka development cycle. The PTR is responsible for the day-to-day operations, set up the global translation plans, and the results are disputed within the team. Then there are coordinators of different language teams. So the language team coordinators are responsible for the operation of the language teams, drives the language team to follow up with the global translation plan. Each language team can have their own translation plans also. So then there are the translators and reviewers. So the PTR and the coordinators are the I-18 core team. We work together to set up the translation plan and the translation process. So we have deep closely connection with infrastructure team with helping us to set up the translation platforms. We also have deep connection with documentation team and development team. So their feedback will help us to decide the final translation plans. Also, if we found bugs, we may report to them. If there are translation bugs, they may go to us. So there are close connections. So let's look at what we translate. OpenStack community has a lot of English materials. So you see the user interface. You see when you type command lines, you see the response messages. You see English documentations. And the release is also in... the Wiki is also in English. So the website is in English. So among all these English materials, what should we translate? After... Finally, we decide to translate the user interface as a hyper-reality and the user documents as a hyper-reality. We also translate a few of our wikis. We will translate the release nodes into different languages after each release. We also translate a few of our messages. They may not... They may not the web UI messages, but they are the user messages when you type the command line. So look at what we have done. After, I think... Now, after... After we ran the team for two years or three years, we have a dedicated translation website now. And we have the automatic process. So colors will cover this part after me. So we have translated OpenStack dashboard into 14 languages. So you see that's our achievement. We have six languages, six localized documentation page under the official documentation website. So some documentation are translated. There are six languages available. We also translated some user messages in projects. They are not UI-related projects, but there are some user messages. We translated 10 languages of them, translated them into 10 languages. In total, there are 1 million active words translation in our website now. That's really a big number. So the Mitaka design session is not started, so I can't tell you the exact plan, but these items are in our plans. So in Mitaka, we will continue the translation of dashboard, and we are going to translate the installation guide for liberty into different languages. For the tools enhancement, we will enable the translation check website to improve the quality, and we will enable the translator metric in StackLitics. After that, you will see your contributions, how many words you translated from the StackLitics. So then I will hand over to Carlos. Thank you very much, Daisy. So like Daisy said, my name is Carlos Munoz. I am the lead developer for the Sonata Translation Management Platform. We are the platform of choice for OpenStack to do their translations. First of all, let me give you a little bit of context about the platform and around our relationship with OpenStack. Sonata is a project that started in 2008, I believe, way before my time with the project itself. It began because of an internal need for Red Hat from having an open-source translation platform. Then after that, after some development, some of the communities out there started recognizing Sonata and started using it. Two years ago, back in the Atlanta Summit, that was our first contact with Daisy from the internationalization team. They expressed their want to change translation platforms, and Sonata was one of the candidates. We started working very closely with both the internationalization team and the infrastructure team. Then in Vancouver, six months ago, it was decided that Sonata would be used as the default translation platform. So the work began there, and back in September, finally we released the production instance of Sonata with the help from the infrastructure team from OpenStack. Right there on the slide, you can just see some interesting links if you want to read more about Sonata, if you want to contribute, if you want to submit bugs or requests. There's also a couple of links from the infrastructure team and how they configure Sonata, what the process is like. I'm going to talk a little bit about the process next. So let me just, first of all, I apologize for my very basic PowerPoint skills. But second, this is a process that my team has been supporting the infrastructure team with. This is all the work of the infrastructure team. Some of these guys are present here. Raise your hands, don't be shy. They are really the brains behind all this process, and we simply have been there to support it. And I'm sure that they will scream out in pain if I say something that is not true. So the way the process works in really, really broad terms is it's all tied to the code. As soon as there is a commit to the code, to any of the projects, there is a process that recognizes whether there have been changes to the source messages or not. Excuse me. So once that happens, the data has a command line client, right? And there are some scripts that are using that command line to push all these sources, extract the source files, and push them to Sonat, which is the second kind of row there that you see there. So once that happens, all the translators come in, they see the latest changes to all these source files. They do their work. They translate it very efficiently. And then the arrow that you see going up there is a process that, every day at 6 a.m., it pretty much pulls everything that Sonata has, and it checks any language that has more than 75% translations. And it pulls all of that information from Sonata. I have a diagram there with po-files, that's the translated file. And then it makes sure that it makes a commit instance with all the changes. So basically that assures that at any point in time both the translators are seeing the latest source files that they can translate. And it also assures that all the work that the translators are doing is basically being reflected in the source code. Now, before I hand over to Kato, who has a very interesting demo where you'll see the platform in the next slide, I want to talk a little bit about what we are working on that will not only help OpenStack, but in general all the Sonata users. So in the next release, which should happen in a couple months' time, we're planning on improving the way that Sonata manages glossaries. Before the system was pretty much upload a file with your glossary and that was it, we actually edit the glossary in the platform itself to add entries to add definitions. We're also adding per project permissions. This means that specific projects will be able to determine who they let translate and who they don't if they so choose. Statistics is a topic that we're... It relates a lot to OpenStack. We're in constant discussion with the OpenStack team on how we can develop meaningful statistics, what are the statistics that OpenStack needs to see. Again, in general, this benefits all Sonata users. And the other thing that we're planning on doing is better management of requests. What this means is at the moment, and Kato will talk about this, when you join Sonata to translate an OpenStack, you have to send a request via email to the translation coordinator so that they add you to the team, and it's a very cumbersome process. We're changing that so that it's very easy to join translation teams or project maintainer teams. Now, before I hand over, Alex saying and myself, we're both from the Sonata team, we're going to be for the length of the summit. If you have any questions, if you want to contribute to the summit, please don't hesitate to reach out to us. And, yeah, having said that, Kato, floor is yours. Welcome to Tokyo, Japan. I will show detailed procedure to using translation tool. This is overview. You need two kind of ideas. One is OpenStack foundation ID with ICRL agreement and one more is Sonata ID I will use Wiki. This is OpenStack Wiki page and now we are official project so we have here horizontal team internationalization. Our information is all together here and this is how to procedure. First, OpenStack ID and license agreement is a common procedure of all projects and so you have already agreed this agreement is done. Next, access Sonata. You can log in here. Oh, this is not my account. Continue. If you log in first time Sonata, you need to create an account and after create you can log in here and access to language page and want to contribute such and for example, use the Japanese you can request to join to team here. Oh, here. Join language team after you click here and request is sent to language coordinator and language coordinator receives the notification and add you to the team. After additional you can start translation. Registration you can hear projects and using horizon and summer you can start the translation like this oh oh sorry she is a global coordinator so too many menus usually I don't know this menu and some translation resources show in window and click here. This is a translation window left side show source in English and you can translate this message this way you need to just input your language message and you can save translation and this is the finish this message saved on the server and imported as color state and translation memory feature and see the similar strings this is a complete match use similar string you can you click copy this string appeared here needs some modification the string is long use translation memories very efficiently this is a language especially documentation has very similar strings and long strings go back to presentation here is finally lessons in Japanese team I want to share this is language specific so near language is useful our team first to keep translation quality share some rules with translators like this verbal expression or digital and and second translation grocery not only open stack terminology but general words for translation one word in several ways in Japan so we decided to one by one matching grocery and like this in Japan some kind of express the word filter like this filter and filter both are correct in Japanese but we decided to one way in grocery two main point is as Daisy said we use translation for check site in Japan this is very useful to us translation itself is easy to using but output translated strings sometimes not fit window in horizon sometimes not displayed so we use translation check site correctly this correctly displayed or not we can check but now we are using global dashboard check site for Mitaka Japanese team is the most active translation team in open stack community they have translated a lot of documents and messages so many thanks to Kato-san so there are three remain sessions about I-18 if you have interested welcome to join now we are for the Q&A we are open for the Q&A any questions so how do you do segmentation for the translation memory so if you have a block of text in a paragraph how do you segment that so I will take this one right now the platform the way it does the translation memory is string by string so there is no segmentation of larger paragraphs perhaps so what works is we have an algorithm that pretty much calculates the similarity of two strings the Levenstein algorithm and that algorithm basically gives you the percentage that you saw on screen then what you saw with the differences I don't know if you saw the green highlights and the red highlights we try to show you the differences between the strings that process its issues but to answer your question we don't segment the strings per se now when dealing with pod files which is the format mostly if not completely dealt with on OpenStack it's basically you can do your own segmentation by restructuring the file itself but how won't break it up into smaller pieces at the moment so I'm from IBM and this is one of my colleagues I could ask her privately but I figured I'd ask publicly so couple questions so first is how many languages that you guys now support in horizon we support 14 14 languages okay this is excellent the reason I asked this is because part of IBM we've also contributed internationalization support for Cloud Foundry and what we're seeing is very different not a big uptick we submitted we did a code support here and then we also submitted some translations and I think now we have about four or five and they become stalled so and I'm sure it's not because there's a huge uptake on Cloud Foundry so my question to you is what advice would you give us on keeping the IIT and support going even so when you were doing your own translation OpenStack was it similar was it slow adoption or did it take off immediately or did you do something specific to make it become more interesting to the community I think the most interesting thing is that we have powerful infrastructure so the OpenStack translation platform now we build can support any languages any projects so if translators have interested to any language any projects welcome them to join so we set the project and the platform ready so they could start translation I mean my point is that make your platform ready then you just you can broadcast and wait there so you made it easy for translators to submit in our case we're using GitHub yeah it's not easy maybe that's the problem right there alright thank you my question is mostly for Kato I think I'm curious about your use of the translation check site I'm Doug Fish I work on Horizon and I've seen very few defects come in where you've indicated to us that the translation did not fit in the space we provided is that not your approach what do you do when you find that the translation doesn't fit in the space that's provided how do you address that sorry one more so in your talk you said that when you have the translation check site sometimes you find that the strings don't fit on the screen what do you do I talk to the Horizon team share the situation and request to fix the size of something something's already fixed on your behalf I haven't seen the bugs open but I think you're telling me that bugs do get open to Horizon and it does get fixed super glad to hear it Motoki-san in Japanese team is also Horizon Coa so he's very very coordinated understood thank you any other questions okay so if you have any questions or if you want to join us so contact us through LRC you may or anything else thank you thank you for you attend this thank you for the session thank you