 So, I was supposed to go to this PO5 and show you a very neat utility, actually, which can be used to just show how a translated PO5 may look like in some languages. This is mainly a tool dedicated for translator, not for package maintainer. Assume you are a translator, you have the source code of this very nice hello package. You are the Swedish translator. You want to see how your templates will look like after you have translated them. And yet you just use this neat PO.com display PO utility, very well named by Denis, and just use it. You just see the note. Why is it in English, by the way? It should be in Swedish. That's not good. Of course, I'm using an English locale. So it's in English. So let's be neat. Not seeing my display is very annoying and I'm afraid it will be even worse here. And it won't work. Let's bet it. And no more. Yes. It works. It doesn't work. I think the presentation was completely screwed because it was supposed to happen before I first did translation. If you remember, I corrected a few typos in the original file. Then the translation went screwed and then it only displays English and not Swedish anymore. Because something is broken in the Swedish translation. Okay. We'll fix it. I'll use VI because I will do exactly what you shouldn't do. Ooh. Nice. Fuzzy. Fuzzy. Go away. DD. Bluff. No fuzzy. I think this is that one. And of course, no, the note is still configured. Very nice demo, by the way. But I think you get the point. The point was showing you how it may work. I actually have no idea why this note is not translated, frankly speaking. Of course, I'm trying to display French translation with a Swedish locale, which is not a very good idea. But the point is, you have, as translators of PODepcon templates, all the tools needed to check that the translation are correct and fit correct in a screen, for instance, which is a good idea if the original strings are not too long. Okay. I hope some of the package maintainers have read this note. Please don't use silly notes in your packages. Please, gentlemen and ladies, don't do. Okay. Let's go back to the topic and try to talk about man pages, because I wanted to show it to you. Okay. This was supposed man page. We have it. Everyone is here waiting for me to talk about man pages translation. Okay. The problem with man pages translation now, what is so painful? Mostly because many translation projects are made outside the projects. So you have upstream, very far away, you have the translation projects. They don't work very close together. Traditional model, the maintenance is painful. Traditional model, what it is, it is just picking up the original page with a .fr or .fi for finish and just translate inside the man page. Very painful and actually impossible to maintain because there is no way to see when there is a difference. If I show you and I've come back to my man stuff, okay, and I should be supposed to show you the man page of CHSH, which is a very nice tool in the shadow. Okay. Nice man page, well written, and now I show you the Indonesian translation. Okay. One strange, okay. There's only one argument here and now we have a lot of arguments. So here is a bad translation because it's not up to date. But actually we have it in the shadow package because there is absolutely no way to know that this man page is outdated, okay. There is no relation between original and translation. This is the main problem with the original man pages. Okay. So you shall use PO, all translators like PO, and there are good tools by the way. We have several tools. We have PO4A. PO4A is packaged in Debian. It has been written by a few Debian developers. There is a project on Elliott, and this is the thing I will try to sell you. We have XML2PO, which is in the packaged NOMDoc utils, and we have the POXML package. Why am I talking about XML? Because mainly XML is often used as a source for a man package in several software, okay. So let's talk about PO4A because I told you this is what I will try to sell you. So Martin and Denis, Martin Kinson, Martin Kinson, if you want to pronounce it the English way. Martin Kinson and Denis Barbier. Did he left? Denis? Raise your hand. Is that here? Okay. He left. The strings are extracted from the original files. They are translated into the PO file, and they are re-injected into newly created man pages. The point is, when the PO file is not up-to-date, you have the opportunity to get the original English. So the man page is always up-to-date, even if it's a mix of English and the original language. This is not very good, but this is better than what you saw for Indonesian, because the man page is always the same than the original one. It has the same structure. So yes. So let's try the journey of a translated man page. I have to say that all of these things have been written not only by me, but by Nicolas François, who just sits over here, who always happens to be our deep, please raise your hand. Yes. Thank you, Nicolas. And is the French specialist of man page translation. The point is, we reuse an existing translation. And I will show you one of these neat tools we have, PO4A get text ties. Wow, nice. Then we update the PO file with the original, with another neat tool from the PO4A package. Then we complete, this is just a translator's work, complete, correct. And of course, break the PO file just like I did with the Klingon a few minutes ago. And from this profile, generate the translated man page with yet another tool. Let's try to do it and let's fail, of course. I should have here a very nice command line because I knew I would be unable to type it anyway. So I have a go, okay. It uses PO4A get text ties with a few command lines, utility, basically. I have in this directory a few files, most of them are useless. The main point is I have a unique man page and the current translation in German. Okay. They are supposed to have the same, I will remove the PO file and I just run this utility. Wow. Not very impressive, yeah. But now in German, but this man page, okay, typical man page stuff. So very cryptic things, of course, which are barely to left untranslated. But all the translation are over here. Everything, everything is fuzzy. Why? Because it has to be checked. Currently, we don't know if this translation is correct, but we have the material to update it. Okay. This comes back. So we update with the original and then complete, then generate the translated man page. So originally, it was not meant to be a full demo, so I'm not sure I can do it. Can I? Yeah. You're sure of what you send me, okay. So I was supposed to update the PO file. So PO file A, yeah, update PO. It won't work. Yes. Oh yes. Oh yes. Yeah. He's the specialist. I'm the dumb user, you know. So yeah, PO file A, this is a nice tutorial. Okay. The format is supposed to be man, right? The master document is supposed to be unique. And the translated, the PO file is the dot PO. Am I right, Nicolas? Completely right. So it should work. You blame it if it doesn't work. Well, thank you, Nicolas. So barely we have generated a unique dot one, okay. And of course it seems to speak German at least. No, it doesn't. This wasn't prepared. I was supposed to skip over all these things and just say they are very nice utility to do all the stuff and go to Nicolas after this to know the deep details. So I will skip over and stop being ridiculous. Okay. There are very nice utilities to make all this stuff very well. And believe me, it works. Oh, yeah, PO file A works. I don't work, but PO file A works. So currently, we have very few packages using PO file A. We have, as far as we know, APT show versions and PO file A itself, of course. It's internally used by people translating man pages in the French team. They pick up the man page to translate and with PO file A, then we work. I don't really do man page translation, but we work with generate PO files and work on it to review the profiles and then regenerate the translated man pages and we send them to the original author. Very soon, I was supposed to talk of this with Scott Remnant. Very soon we shall, we will PO file A, deep package and APT. This is a project currently running and very soon deep package man pages, all deep package man pages will be translatable using PO file A and of course PO file A works. So, well, this was supposed to be lesson number five. We had four of them before. I think I keep thinking that this tool PO file A is the right tool, the tool well suited for man pages translation. We have on the DBN Internet, how to say, DBN I-18N mailing list. This is why abbreviations are meant for. Very clueful people to help software authors, especially those who maintain DBN native packages to write in their man pages and make them translatable. Okay. That's a bit advertisements. So barely the main point of this whole talk was not only making you laughing on my critical attempt to make all things work, but just say to you that translators love PO. This is the base of our work. This is how we like working and we are trying to bring everyone to PO. So it was obvious for PO Debcons three years ago. It's obvious for software for a long time, for new utilities are very well get textized. This is a running process for other things such as documentation. If those of you who were in the DBN installer talk yesterday may remember Frans Pop talking about the installation guide translation. And he said that we had a lot of new languages after switching to PO format because it's very well suited for maintenance. So the main point is just for it and, of course, PO for a works. So now I am finished with my talk. Okay. It's a very rude and yes, my battery is now completely charged. As you may see, I'm a translator. So I use my translation. I use translation made by my translators of my team. This is interesting because Marga yesterday said just use the software your user will use. I do use translation. My locale is a French locale. Oh, okay. I'm not a geek. I'm not a deep hacker. That's maybe why. But please think about it. Use your language in your software and use it with your language. And the comment was never. Okay. If there are more questions about PO for a, I think we will be happy to answer them. There are questions, actually, more than a question is just a comment. I mean, one of my feet, it supports PO and so it's done in Python. And for example, I found that in Python's locale is not, it does not support Catalan Basque on Anglician. So I mean, there are some places where some languages cannot be internationalized because of the, because the software does not support them yet. But do you have an idea of the reasons which makes this software? Yeah, of course. It's a file, a Python file called locale.py that doesn't have those languages in the list. I think it doesn't have also Norwich, whatever, Doc Norway and some more. And there are two languages in Norway, sir, to make things very clear. Well, typical Debian answer, fight a bug. I did some months ago. Yeah. But this is the only way. If in a list of languages, your language is for whatever reason not listed. The only way to do it is fighting a bug and deal with upstream outer, if this is a problem with upstream outer, I have no other answer, I guess. You mentioned that more and more people use DocBook XML for main pages, which I think is a great idea and should be done. Could you elaborate on the two tools you mentioned before handling PO with XML? You want me to compare, I guess, PO4A and POXML and all these kind of tools? You have a list with three tools, PO4A and two XML-related tools that you maybe say two or three sentences about the two XML-related tools. As I'm very much interested in it and I write all my main pages in DocBook XML. So I'm very much interested how or can I help translators? And which tools to choose, for instance? Until now none. So that's why I ask. I don't have a definitive advice. France Pop chose POXML for the installation guide translation with very good reason. I would hope he would be here to give his reason because I'm not sure I'm aware of his reason. There are some differences in the way, for instance, to split the strings in paragraph sentence to deal with XML tags, either you have to keep them in translations or not. The idealistic way would be to get rid of XML tags in translation because this is very risky for translators to make mistakes in these tags. So this will be the point for choosing the right translation tool. I know there have been some efforts to use an XML module in PO4A. I don't know, Nicola, if it is completely perfect. I think Nicola is saying that talking with France Pop, the problem of PO4A was it split the paragraph in two small sentences, bringing them out of context. This is a problem of getting the sentences in context for documentation. This is very important to avoid errors because of missing context. So this is a challenge for all these tools to use the right formatting, not too long strings, not too short strings, and deal, for instance, with XML tags. And this was the reason, and we talked, yes, with France about this was the reason of the choice for POXML. Anyway, Nicola, you want to add something? No. Okay. I don't know if this answers your question. Probably not. Because if you expect me to give you the... It has to be discussed, for instance, with the international people in the DB and I18 mailing list. This is also the point of this. I will talk to give pointer that this list is the place you have people to talk with, the real specialist, not me, please. There was a project some years ago to translate the package descriptions. What happened to that and what are the plans for that? As far as I know, but Grisou would better answer than me. This effort is to be revived. And there has been some work during DevConf, yes, to bring it back to life. And Grisou will talk. Yeah, go ahead. Okay. We have some problems in the past, and we start again with the DB and translation, a description translation project. I hope I can mail some mails in two weeks or so. I will start some tests on my computer, and after that I will make an announcement. Today I wait for FTP master to take all translations on FTP master, and after that the app team will include the patch in app so that we have translation support in Edge and in SID. And then we will start again with the translation to catch up the changes from the last year. And the IDs are floating around this DDTP revival thing. Another problem we have, and several people told me about this, we have many, many places where translation work occurs in Debian. We have a website translation, PODebcom stuff, PO stuff for native packages. We have packages, descriptions, and all these are in various places. We have to converge to some kind of common tool, maybe online tool, making it very easy for translators to pick up for material to translate. As someone told yesterday, I don't remember if it's here, it has to be as easy as possible for translators to pick up work. Translators should not be SVN or CVS or BAS without, they just don't. Some of them are using Windows, so it has to be as easy as possible. Related to what you just said, how does it work with a man-page translation for if you translate this unique man-page to German, and then the man-page is updated, how does the translators know to update the translation with man-page? Currently, for Unique, for instance, which is part of the file-utils package, there is no way because this package and the software has not been converted to PO4A. What we need to set up is to set up a status page for things which already worked. I mentioned APT-show versions, PO4A, those are the only two that actually work. It's not really true what I'm saying. For those ones, this translation already appeared on the PO, general PO status page. This is a thing made by Denis Barbier, which collects all the PO files in all translations, which are not PO-deadcom stuff. So, for instance, the human pages translated that way into the Indian package appear somewhere here, so we barely have some kind of framework, yes. But not very perfect, far from perfect, far from what you can see in web-based translation things such as Rosetta or Putol, for instance. So the idea is to make a status page with these things and then people who want to work on translating can see there what needs to be done. At the minimum, yes. Idealistically, I have some kind of web-based translation tool. So I would be delighted to use, for instance, Rosetta for Debian as soon as we deal with the licensing problem with Rosetta. So the main goal currently is more to set up a Putol server, Putol, P-O-O-T-L-E. This is a free project about web-based translation made by translate.org people. It is packaged for Debian. I just discovered it a few days ago because the guy who did the package forgot to announce it. Oh, yeah. So there are ideas floating around but not very well formalized. I think that the work made by Grisou and Otavio Salvador this week will end up in something quite nice. I don't know what exactly. I hope so, yeah. Any more questions? Again, thank you people to attend this very nice presentation.