 So, hello everybody, I hope you had all a good lunch. Next presentation called translation management of this guy over here, Christof and me. Let me first ask you one question. Who have you learned a second language in school? Okay, who can still speak it? Okay, good, awesome. And who of you needs to drive, let's say, around 200 kilometers that there is another language you need to speak to buy a beer, let's say? Okay, so for us both, we are from Switzerland, it's around 50 kilometers. So 50 kilometers in either direction and you need to speak another language. In Switzerland we have four official languages and whenever you do a website for anything government, anything public, it needs to be at least in one or two, better in four languages. And as we do websites with Drupal, we need to do a lot of translated websites. So this, the question is, why do we need translation management? And we want to explain you this today and let's start with the current situation we have. We all use Drupal and we use Drupal to translate, to have a website which is translated. Let's see this as Drupal Translateability. And I can say that you can today translate a website with Drupal 100 percent in another language fully completed, everything. Every mail, every message, every pop-up, everything is translatable. But honestly, that's really, really nice because this allows us to be ready for the future, to do even now today and even more in the future to do websites which spend globally all over the world. There are a lot of people here sitting now in here which worked on this. I tell you, it's not easy. We're working on this for Drupal 8 even more. But there was a lot of effort for Drupal 7, that's really, really nice. But now let's see, you have 100 nodes, not really big Drupal website, and you do this for five languages. So you end up in 500 nodes, which all contain the same content, but different languages. And as you can imagine, this does not happen from one second to the other. So you create nodes, you translate them, they change, their realization has to change, etc. So there is one big lack of overview. There is no way currently that you can see what is translated on my website. Is this still active? How is the status of the translations? There's also no management of these translations. You cannot say, okay, this is now not active anymore or whatever. There is no such thing. And even more problem, there is no workflow. You cannot assign a node to somebody else to only translate it. Of course, you can't assign the author, but not a translator. There is no way to assign nodes to external services that they can log in. Currently it happens that users need to log in on your website and translate it. The problem is with Drupal Core itself, you need a lot of permissions to translate the node, even so much that you actually can change configuration or delete the node. And I tell you, this happened for us. So you let the translator on your website and suddenly the stuff is gone because he thought he'd delete only his translation because he realized it was wrong and then your whole node is gone and a lot of different things. So you can end up really easily in a chaos. That's the current situation. Let's actually see this on the left screen. Okay, to visualize what Michael just said, we would like to show you a real site that the Maze did. Model is a company who does carton packaging. And Switzerland is not only small for languages, but also for geography. So there's a lot of exporting going on. So this company exports to several different countries and you see all these languages up here. Some I can't even decipher. And the state of DR today is that if you look at a content and this is only for news articles, so things that change frequently, you see there are there in German, German, German, French, German, Polish, whatever. And apart from this view, there's actually no way of understanding what has been translated and what not, what is there and what not. If you go in, you can obviously look at one side of this thing. Okay, you see this note has been translated into no language. So we have to do something, but there's no overview on that. And this is what translation management was invented for. I would like to emphasize here that we do not change anything in I-18N or in the work that Gabor Hoici is doing has been shown. We augment the whole system with the management layer. So we have these issues in a couple of years. And there are multiple companies in Switzerland, but also in whole Europe. We've had this issue every day and we said, let's fix this. So we came together around two and a half years ago in January in cold winter. Sit together for one week and had a sprint with a lot of different interested people and we searched for a solution and we have one. So the solution is called translation management tool. And let me explain you how it is, what it does. In the middle, we have a thing called the TMGMT, which is a short term for translation management, and it's the TMGMT core. It is responsible of handling all the different translation stuff we will see. On the left side, we have a lot of different sources. We talked about nodes, but beside of nodes, we have a lot of other text. We would like to translate text whenever it is. So there are entities, especially important for Drupal 8, as even more entities exist. And we have IATN strings. So if you enable IATN module, you have menus to translate. You have taxonomy terms to translate and a lot of other things. So we want to translate them as well. And as we build cool code, the whole thing is pluggable. So you can do whatever you want to translate. For example, if you have a tweet, you want to translate or even a WordPress site or whatever, it needs to be text. And you can write your own plug-in to be a source and then translation management tool can work with it. On the right side, we have the translators. And these are the things that actually allow you to translate whatever you selected in the sources. One of them are machine translators. These are fully automated. We will see them later. At the end, yes, they are not super good. But sometimes, translator actually uses this as a starting point to let something through a machine translator run, take this translation, and adapt it, and fine tune it. Then we have the local user translator, which is basically that the user can log in on your site, but with only the permissions he really needs to translate. He has unified interfaces to only do what he needs to do, which is translate from one to the other side. And then we have different kind of services. So there are companies which provide you with language and translation services. And of course, you need to pay them, but the quality is really, really good. And we integrated them directly in their API. So this means Drupal talks directly to their API of the services. And they can then directly use the text, send it to translator or whatever they have to do their services. Now, let's see the lifetime of a node. On the top left, we have the node ID one. And you select, you as an administrator, you select this and say, I need to translate this. It goes to the sources plugin module to the translation management core. And here, it's changed into a job. So the node is put inside the job and is now a job item. It's only text anymore. So we extract all the text out of this node and put it in a job. This job then goes to the checkout form we see later. And you can select a translator. And the system is clever enough to automatically suggest you the translators which work because you have a lot of different ways. You can, you have for example, German to English translation. And you have English to French translation. And TMGMT knows about this and suggests you which translators you actually can use to translate this piece of text. In this point, we selected any service and it goes via the API to the service. Now they do whatever magic they do to translate this. Of the couple of seconds, days or whatever, it comes back. And you see there's a blue thing in there and that's the translation. So we have the translation now inside this job. The job comes back to transition management core. There you can review this. You can do whatever you need to do to verify this translation. You can send it also back, whatever is necessary. And at one point when you're happy, you give it back to the source. And now a cool thing happens that actually the source plugin is now responsible to do whatever it needs to do. And in this case, it's a node. We use content translation. So we split this up in two single nodes and they're connected to each other. But that's a lot of things here, a lot of talking. Let's see this. One thing I want to say as well here is the whole thing has views and rules integration. So this means you can fully automate this to whatever extent you need. If you're used to commerce, we use exactly the same system in there to fully automate everything and make everything customer. But as I said, let's see this. Okay, this is a standard Drupal 7 site with translation management installed. And when you go into a node and click on the translate tab, you still have the same possibility of adding a translation manually and translating the text manually. But in addition to that, we have this part here on the left side. You have the possibility to choose a target language for your translation and to request a translation. Once you do that, we get into the checkout pane of the translation management. Here you can give this job a label, the target language selector. And here I can, as Michael mentioned before, choose what translate I want to use. For this demo here at the moment, I'm going to use the automatic Microsoft translator. You can get an account there and you get a key pair and you can identify yourself and then you can up to, I think, two million characters or so translate for free. And the plug-in or the checkout form automatically checks where the language pair I'm looking for, English to German is available. And if it is, it is ready to go and I can submit this job to the translator, okay? This goes out to Microsoft, it's being translated by the machine and eventually comes back, okay? Now, this has happened in the meantime. We see here the German part of this node has been translated and is ready for review. Let's go into the review pane. I have the source left and the machine translation is right. You know the quality of machine translation is so-so. Nonetheless, we can decide here to tick off one item after the other. We have checked it. We can save this job for later rework or we can say, okay, save is completed and when I do this, the German translation is added to the node. So if I go back to my node list, look at the first node, translate. You see there is now a German part of this node with the German title. So that's the flow. How can we look at this flow? There is an overview of jobs at the moment I have two. This was something from yesterday. This job has just been done. I can always go back and look at the job. I can look at the messages, what has happened, step by step by step. So I get an overview of what has been done and what is going on. That's a very simple use case, node by node. That is not going to be used very often. But there's another way of choosing nodes. I can go into translation sources and on top, I'm sorry, this is a bit over, it's a bit small screen. But on top, you see all the kinds of different sources we have. We have a normal node content. We have entities. This is the entity of type node, block files, menu, many link taxonomy term. The whole thing that is being provided by IATN can be used as source into translation management. Now here I can select a bunch of nodes and I can send them to the translator as a bundle. So let's take three nodes here and request translation for all of them. By the way, here is the node we just translated. And there's a color coding up here. What the different nodes are? This has been translated. This is the source. This is not translated. So I choose three that are not translated yet. Let's go. Now a job is being created not with just one node inside, but we will create a job with three job items, the three separate nodes. This time I will send it to the local translator. I can select which user at the local translator I want to add it. We have called it the translator. And I will submit this job to translator. So my translator is my body Michael here. And he will go in and check if you have some work to do. Good. So I log in on the exactly same website, but with another user. And as you see, this user cannot edit this single nodes. So it's really strict on what I can really do. But I see on the top right, I see the translate. And if I go here, I have a full overview of all the jobs I need to do. And below here at my tasks, I see there is a new job. It's pending. I see the title. I see which language there is and how big it is. So I can decide if I still want to do this or not. So I can click on view. I see in there three different items. So each node was created as an item. And I can say now I want to translate the first one. So I have the normal translation display on the left, the resource language on the right, the destination language. And I see here I just enter now something. The fourth thing it is, I will not finish this now. But let's say I'm finished. And I can save this as completed. I can also just save it for later on. But I save it as completed. And what will happen now, we see on the other screen. Now while Michael was working on my nodes here, the three that I've sent out are in status in progress. Let's go and see what happened to these jobs. Ah, I see this MD system and two more has part of it still in blue, which is pending, and part of it in yellow, which means needs review. So let's go and see. And we see one of the items is ready for review. And then the process is the same as we've seen before. That's what Michael put in. And I'll add it to the node and the node is there. The job remains still open with the two items that have not been translated. So it really gives you a good overview. If you go back to the content source, you see we have two nodes now translated. Two are still in progress. They would shine up yellow if they were ready for review and so on and so on. So it's really a tool to give you a good picture of what is going on. Good. So before Michael mentioned the integration of rules, rules is a very big tool, as anybody has used it knows. And the TMGMT module core is completely compatible with rules. I would like to show you a little trick because what we did is I built a rule that does auto translate with Google to German. So for all of you that understand rules, when a new content is saved, new node, and it's of this content type and it's in English and so on, a job is automatically created, sent out to Google, and put into the node. So let's try this. I add a content of TMGMT. I put TMGMT into the title. That was one of the conditions. I said, let's see. Prang. Oh, good. That was my phone. I put it onto language English and I save it. And ta-da, the translation job has been submitted. Translation has been accepted because Google translates it on auto except translation job is finished and has been created. And if I look, this automatically German stuff is here. Now this may not be a sensible workflow in the real world, but if you imagine that if you work for a company or an organization like Unicef that creates dozens of nodes every day which have to be translated into several language, you could imagine to set up a rule that says, whenever we save a node of this language, create a job for this and this translate and send it out automatically. And this guy would then even receive a mail or so there is something to be translated. So the organization, the process could be started through the rules integration. Thank you, Christof. So one thing we want to show you is what kind of translator plugins exist. We already worked on the source plugins because they are pretty obvious which or who of them needs to exist, but there are so many different translation services out there, so let's see a short overview of what exists right now. First of all, there are two services plugins. One of them is Gango and one of them is Supertext. They are both supporters of the module itself, so they helped us from the first beginning on to first providers with money, which was really nice, but also with knowledge because we know Drupal, but we don't know the translation world out there, what is necessary, what kind of different things exist. So we worked closely together with them and they helped us in getting the whole thing running. And currently, it's possible, you just need to download TMGMT and these two modules, whatever you want, and you can send them translations and they will translate it. I actually heard a rumor outside in the hall that there may be a Lingo Tech plugin soon. So we have other ones which are automated on a machine, how we call them. Currently, there is Microsoft and Google. We saw them both already. They are fully automated, they're machine. As I said, they're not very good, but they can be a starting point and they're free. It depends on how many translations you want to do. I guess with Microsoft, it's 2 million of words or so and Google actually starts really early and you have to pay already. It was free in the past, they changed now, but if you just need something, you can do it via there. Then we have the human translator, the local user translator we already saw, which we think will be used a lot to actually have people only log in on the website and do translation jobs and not breaking your site. And we have data exchange systems. One of the things that we learned from the translation services is that some of them have APIs, some of them not, but there are two systems where one of them is actually XLIF, which is a data transfer format widely used in translation services. So it's a format where you can save translations and all the source and the destination. There's information in there, which language, source and target language, and we can export this and we can also import this again. And the same thing also for HTML because it's still widely used, so we can export HTML and import this as well. But we need more. As I said, there are a lot of different systems out there, so if you're interested in either doing a new automated system, or actually if you are a service provider and interested in providing a module, talk to us, we would like to help you on how the whole thing works. And if you don't have Tupel programmers, there's even a program that some people can program this for you. So we're really interested in getting more and more and building a whole translation management ecosystem around the whole thing. But there's even more. One thing we would like to introduce you is the translation management server. So let's see, we already have a translation management site, a translation management installed on our Drupal with resources and a translator. On the right side, we have another Drupal installation with another translation management and just one additional thingy, the server module installed. So this means you can send jobs between them. So let's go back to our example system. We have the job with the node in there and when you go to the translator, you can select where it should go. And one of them is the server over there. So the job is sent to the server and then inside of the server, there is a translation management, the core, then he decides, okay, to which translator this should go. Most probably the local user translator. The user logs in on the server, translates it there, then the job is added with the translation. It goes back via the server module and comes back to the translator to the client and there, the normal thing happens. You have a review process and you can do this. So what does this really bring us? One thing you can build with this is an in-house translation service. Right after we did translation management and we showed it at the last Drupal con, a lot of people asked us like, but how can I do this and this? And one of them was big companies, they have a translation service in-house or schools, they have translation people working, but they have a lot of different sides. So you can actually send all these sites, can send the translation jobs to this single department, they translate it and send it back and they don't need to know any logins of all the different sites. So you can also do this as an external service. So for example, if you wanna build a translation service, you just take Drupal, you install the translation management server and you're good to go. So you can have all the clients you will translate to. But you can also do this on the other way because you're not fixed to having one server, you can have multiple servers. So let's say you're a big company and you need to do translations really fast and sometimes even in the night. So you maybe have different translation offices all over the world that the people can work during the day and if you need to translate something, you can choose the one which are up right now which can provide you with translation and you just send it to there. And the good thing is that the people over there, they don't need to log in to your client side as well. So at the end, it provides you with higher security because the translator does not need to log in on the client side at all. He doesn't even need to know this. So let's see this as well. Okay, there is on Drupal.org an installation profile called Hermes because Hermes is the God of languages and that sets up everything that you need for a translation server. We will see the translation server in action later on but let me see how these two machines are connected because we did a lot for security as well. If I go into my translation management translators that's basically all the translators that Michael mentioned before. There is direct Swiss translator and when we open this, there's description, et cetera, et cetera. It's based on a thing called Drupal translator and it is connected to a server which is called swiss.ukus.ch and it's connected by a key pair. So the whole transfer of information is encrypted. And you have to set up this yourself with translation management server but it's not that difficult. The same key pair is generated by the server itself. So let's have a look at how this works in practice. I'll go back to see what sources that I have that have not been translated yet. Okay, to our program, so let's take this one here, request a translation. I choose the TMGMT direct Swiss that we saw. Now at this moment, the system went out to the server, brought back the language pairs that exist up there and compared with our job can be done. If it was not possible, it would say here, this server cannot translate these languages. I can add here also a job comment because very often you want to give the translator some instructions, some vocabulary, some whatever kind of information. All right, and I will send this to translate. On my side, I'm logging in on the swiss.ukus.ch and as you see, it's another server, it's another Drupal but also translation management installed and again here I only have the translate tab on top right and I see that there is a job in came in there. I can now assign this to myself because it's a workflow system so I need to say, okay, I assign this to myself, I check here and say, okay, I'm the translator, I assign this and now I see it in my tasks. I see the same information as the whole thing would run on the same system so that all the information are exchanged. I can view this now and I can translate this single item which is Drupal is open source. I select this and I have the same system again so I say Drupal is open source and now maybe I start reading this body and think, why, what is this actually? And that's what the comment is for so it's really important to be able to provide context information about this text because I have no possibility to know where this text is coming from so this allows the sender to tell the translator what is really the text about so I can think about this and that's like one thing really important for services which you pay actually money because they wanna know what is the text about, who is the people who read it, et cetera. So I add it here, blah, blah, so I say this is completed as well and now magic happens, the whole thing is sent back to the client via the server and on the left screen you see. Imagine that with rules we would have set up a message when the job comes back then I would go into my overview of jobs and see ah, there's something has come back, let's have a look at this. Now, mm, that shouldn't be, Martin. Okay, same thing here, review, add, that's the stuff that Michael put in, save as completed and goes back to the node. Good, so that's the translation management server but we go even further. One of them is the translation management directory and let me explain it to you as the same things. So we first have the client, it's a normal translation management tool. On the right side we have not only one server, we actually have two servers and this can be endless amount of servers. So there are a lot of services out there which provide you and you as a website owner, you don't wanna go to Google and find all of them. You just wanna know who is there, what works. So we introduced the directory and basically what it allows you, the client connects to the directory, that's it and the servers connect to the directory, that's it. The servers don't need to know about the clients and vice versa. So if now a job is sent from the client, you can go to the checkout form and you will see all servers which are available right now, what they cost, what type of service they provide to you and then you select one, the job is sent to the directory so the directory knows exactly what happens and the directory sends it then to the server. The server does all this stuff, we already saw this, it's translating, maybe they have a local user translator installed and it's coming back and now the server just sends it back where it came from which is the directory. So the directory knows the job is finished and then the job is sent back to the client and the client can do whatever it's needed, let's see this. Okay, this is the TMGMT directory. It's technically very well worked out, the front end still needs some love so don't look too closely at the front end. What we do here is on the directory we register clients so then they can authenticate themselves, we know who they are, they get a key. We register translation servers as well with the Hermes profile that we've seen before. We dig at keys, they give us the language capabilities and then we can send them jobs. The directory itself is basically a list of all the translation servers which have been registered. Let's just have a look at them, that's the one we saw before. There's a lot of things, I'm the admin here, that's why I have all this stuff up here. You have specializations, you have language pairs that work, you have cost information, et cetera, et cetera. So let's see, I go back to my original site, take the next node which has not yet been translated, request a translation, and this time I choose the TMGMT directory here. So the system goes in and scans the directory for all translation servers which have the capabilities that I'm looking for. I could ask for specializations here and but down here in this list it shows all the servers that are available. Now the UI of this has still been worked on and there's only one so it's pretty easy to see but I can now say, okay, let's try this whisper.tukus.ch, choose this, then I have again the possibility to add a comment and send it out to the translator. Now let's, before we do this, let's assume that I am the owner of this Swiss thing done and have logged in, ah, look, I just got a message. Let's have a look at what this message is. Oh, a new translation has been submitted to your translation server. So I can go in and see what the hell is going on. So let's do this. I log in on the same site but this one is now connected by the directory and I see again it's a whole new job. I see the title, we know all this stuff. I assign this to me, I work on this, I read it, I translate it, I see the comment which is here then I just sort of translate whatever, I don't read it. And I send it back and now it goes back to the directory, the directory sends it to the client. If I'm the owner of this Swiss.tukus.ch I'm logged in into the translation management directory. I get a list of all my servers and I also get a list of all the jobs which are here. So let's reload this and see what happens. It is on the next page. No, that was before. Here we are, huh? Oh, yeah. That's the job we just committed. It went through my thing, I can go into jobs, look at messages, look at what the status is, et cetera, et cetera. So this is planned to become a directory of Drupal capable translation servers which would really help your users or yourself to translate things and to find the right language service providers for you. So what we don't stop, Drupal 8 is coming and Drupal 8 has a lot of improvements in multilingual but there are still no management solutions in there for translations and that's okay. That's okay. We are working on this. So we will port translation management also to Drupal 8 and some work is already done with some people actually sitting in here and we can show it. You know, we have the big advantage that among many others, one of the main creators of this is a very heavy core contributor. He sits back there, his name is Sasha and he did this port already. So TMGMT core has been ported to Drupal 8. The Google Translate and Microsoft Translators have been migrated as well and I would just like to give you a little demonstration. So I need to add a node here. This is a D8 thing, I can take this one, this node here. I want to translate this node, translate to German. I choose the Google Translator, submit it and I hope it comes back. Yes, it does. It's okay. It's ready for review here and we have the same process. So we are already pretty far in there. Good. That's it. Are there any questions right now? Gabor. You should need to take the microphone, Gabor. Maybe you come up front here. Yeah, we stole the microphone. So basically as you've explained, Drupal has multilingual support but the main problem is if you really want to take that seriously, there are different silos and areas of stuff. And there are basically two solutions now in the Drupal space for this, TMGMT and Lingotack. And you are an open ecosystem. Lingotack is a well-integrated ecosystem. Both of them have their advantages. What would you say? What is your differentiators? What are your differentiators? And if you plan or think this would be possible with Lingotack or the other way around or something like that? Yeah, good question. So we met Lingotack in Drupal, in Portland and we showed them how our system works and they showed us how their system works. And we saw some interesting things that they do something we never would have thought about that actually they allow you to save the translations you once did. And that's not something that we provide currently but it's definitely possible to extend it because you see the translator plugin that's fully blockable and when a job is submitted, you can hook in there and do whatever you want to do. So if you need additional information or whatever you can show the user a form and do this. And we showed them the system and they were interested and we are actually checking out today what is really possible because as you correctly say it doesn't make sense that we have two different systems and that they're not compatible with each other and we're definitely interested to check with them to make one unified system which works for Drupal 7 and also Drupal 8. I think it would be really helpful if Lingotack could provide a translator plugin for TMGMT so that we could use the open standard of translation management as the management tool on the Drupal site and then let Lingotack like Gengo like anybody else do whatever they want with their translation services on the back end. Would be helpful. Okay, so I'm Sasha, the maintainer that I mentioned and I just want to add that the main advantage of our system is that there's one simple interface for the translator to integrate. So Lingotack probably spent a lot of money building their system, their module and it's going to cost a lot of money to port it to Drupal 8 because all those different translation systems change and work differently and so on and if our own API to translators doesn't change so it's much, much easier to port an integration into the translation management tool to Drupal 8 than porting a complete own framework. So we're really hoping to put on the standard for such management tools. So basically we do the hard work for you. Yeah, there has been, excuse me, there has been a development in America somewhere which basically not Lingotack, something who reinvented even reused some code to build a custom module that is based on the same principles. If you think of efficiency and effectiveness, I mean, this money or time would better have been spent on evolving TMGMT and just doing their part that they need because as Sacha said, I mean, porting to Drupal 8 is a difficult task, we tried it with little things and it takes a lot of resources and a lot of knowledge so we should really as an open source community use our energy to establish the maximum we can in common systems and then add commercial, reliable plugins on either side that we want. By the way, this is Martin, he developed the directory. So yeah, I have one comment on the directory server. So the presentation show that the content of the translation goes through the directory server but we don't really want to be the next NSA. The directory server just mediates the connection through it from client to the translation server that does the heavy lifting but then these two communicate directly to each other. Oh, well, there is the option that you can send out the data but in default, you opt out and you don't actually send your content to the directory server. Hi, aside from the directory server and is it easily configurable? The workflow that you showed in the workflow states are they configurable by sources? I mean if you have to translate menus, maybe you don't want people to review because you will deliver that to some very well-staffed people otherwise for views and entities you have to make a much more complicated workflow and I also have a second question and the second question will be can you configure certain rules only to be assigned with certain language pairs? Yeah, you basically answered your questions yourself. Any job in any status can hooked up by rules and you can do whatever you want. So if you say like for menus they should be translated all the time by a specific translator and you want to auto accept this that's possible with rules. So you can do this and the same for language pairs. So you have full access for the job item in rules and can do whatever you want because we use full entity API and the rules has full integration into entity API so you come up with an idea if it doesn't work we can see if it works but this definitely works. This is the Swiss tattoo user site that Michael used for translation and this is the translator that he used and you can see the language pairs are actually added to the person and there are two different permissions. There is one permission to translate and there's one permission to manage the translation thing so you would probably have on a large organization a manager that signs the jobs of different people depending on skills but you can do that as ever you want. I guess Linkotech wants to say something. Thank you Gabor for asking that question and first off I just want to say you guys are doing great work on TMGMT so give us a round of applause for all these guys you're doing an awesome job. So I know there's been some questions kind of about what's Linkotech's strategy with regard to TMGMT wanted to just speak briefly about the history of Linkotech with regard to Drupal. When Linkotech started building its Drupal module two and a half years ago there weren't any options inside of Drupal 7 for doing translation. TMGMT did not yet exist and so what we were trying to do is bring into the Drupal community the ability to manage translation both using a translation management system which is a common industry software tool as well as the ability to get translation services done and so Linkotech is a software company some people don't realize that we are a software company we make a cloud based translation management system and we also provide translation services as an additional service. So the Linkotech module the way it works today is it connects Drupal to the Linkotech translation management system and in addition as an optional add-on you can purchase translation services. So as we've been talking to these gentlemen with regard to how we can work with TMGMT the challenge that we've had and I think it's a challenge we can overcome we're still trying to figure out what the strategy is but the challenge is we want to be able to bring to TMGMT more than just the ability to send us your translation jobs but also the ability to make use of our industry expertise around managing translation projects. So we'll continue to work together and figure out what the strategy is we wanna make it obviously easier and not harder and be good contributors to the community so I don't wanna take up any more time because this isn't our show but we'd be happy to answer any questions you guys have afterwards with regard to the future. Hi, is it compatible with Deploy module and do you use sort of central UUids to identify the content? Oh, hard question. Well, I guess it really depends what you mean with Deploy module like if you deploy new content well at the end Deploy module also uses entities and the rules integration basically allows you that whenever an entity is saved we saw this before so this basically hooks into when entity is created then do something and as Deploy module also calls all this stuff you can definitely do something there. If you have a specific use case we you should talk and but maybe while we're doing this because we have maybe five minutes more if you wanna know more and we can still answer some questions here there is a TMGM debuff right after this one here from in well how an hour in the dressing room Congress hall one, two, three and so if you wanna know more we can show you there if you have a site you wanna try to install it we can do it there together if there is any other companies wanna talk to us we are there and I know it's a lot of stuff we showed you right now so if you have any more questions we can meet there and maybe also your specific question yes but if there's more so maybe this is more of a buff question because it's quite specific the definition of a job is from one language to one other language or not one to many yes it's a question we get a lot and it is so you can have inside of there you can have a lot of items but it's all the time from one language to another and the reason it's quite simple because there are it's depending on the service translator services and some of them they don't allow you to translate two to three languages they have different prices and actually if you wanna get a really good translation in translation world you're only allowed to translate to your mother language and so it will never be that a person actually have two of them so that is why one job one source one that's in these languages but internally a lot of different items and one last thing in terms of comments so you showed how you can send one comment have you thought about more granular comments maybe attached to specific fields oh yeah okay so we can talk about it not to your language job you can in the source list choose several different target languages and it will go through the process of creating one job after the other per language is there any thought about expanding the management tool to actually include translation tools natively in the same platform what do you mean well what I'm saying here is essentially a an export tool that exports it to an external service and this would possibly make it a little easier for our use case where our vendor also sells a translation tool that we don't love but they're gonna bolt it on for free so but it provides an API right probably hopefully so the services we showed is basically a plugin which connects to TMGMT and at the same time to the API of the translation service so it just converts the stuff that's it so you would need to write a translation plugin and which works with the API of your translation service sure the challenge for us is our translators are in-house they're part of the web content team and so we would like to keep them in the same environment instead of having to send them out to a new environment to do the translation and then bring it back in okay then you just need the first example we showed the local user translator that's running on the same Drupal itself you don't need to use the server to send it out you can just create a job and the translator on the same user can log in do you have many questions to show the translators where their translation will end up in like a sort of preview on the node page itself so maybe they need to adjust lengths yeah that was one thing we discussed a lot about it's like how that the translators they want to know where it is coming from also like picture decision issue etc and when we talk to the translation services they have this issue every day and basically they told us look the easiest this one is to comment but the interesting thing is that like for example supertext which provide high quality services in the checkout form where with the local user translator where he selected the translator each translation plugin is able to ask you more questions so they can ask you like what type of text this is how fast you need to do it etc and there it could also be possible that you post in some links where the content actually will be shown so that when the translator then is because he logs in then on the website or the management service of the translation service this is probably not a Drupal and there he could click on the link see it whatever so yes it's possible but it's not automatically handled by the system because we don't want to send around like I mean how can you send a node preview over there when you don't have access to the site because the node could for example be unpublished I mean one idea you could do is we have been thinking about that careful with Sasha, Miro where the lengthy discussion it is technically feasible but it's very difficult it's free because you would actually have to send in a lot more information about the context and then to be able to model somehow what it would look like but MD Systems which is the main sponsor of this module they are really thinking about it so yes we're fine coming back to the moving content around and using deploy module and some of the new workflows that are people looking in having a staging server or a translation server one idea might be to have a server where people are doing the translation in place then to see all the context and everything in a safe environment yes but that would be already when it comes back just not on production server that's in the workflow of the user itself but that's not, I know what you mean and you would like to push a button say show me the translation in the environment in the field it's going to look like is it going to break correctly is it going to be longer than the field etc etc that's the thing but it's a challenge we have been thinking about it we have to finish thanks very much just one short pledge there was a lot of time which went into the presentation so if you have short time go there and take the server link and if you want to know more come and see us at the booth now right now thank you