Transifex
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Bessas, Apostolos
Transifex is an open-source localization platform. It helps developers manage the localization process for their software. Especially in the open-source world, localizing the software is very important. This talk will explain briefly what localization is, what are the issues that arise and how Transifex can help projects manage the translation workflow. Transifex is an open-source localization platform. It is already used by a lot of open-source projects, including fedora and meego, with great success. The talk will focus on explaining what localization is and why it is important. It will also describe how Transifex works and how it can help the developers integrate translations in their workflow and the translators to cooperate better to help with the translations.
 Hi everyone, I am Apostos Bezos. I'm going to talk to you about Transfix and how to localize your application. So we are in Europe in Belgium and as you all know there are so many languages spoken just in Europe. However, yeah, however as developers we write software and we use mainly use English. There are two processes, the internationalization localization, these two, anyway, these two processes which are about adapting your software to multiple languages and cultures. We all know how important this is since very few people speak English actually in the general population. Sorry, okay. So for internationalization there are many forms that are used in the in the software world. These are just some examples. The most popular one, especially for open source software, is the first one, the POPOT files. But for Qt software there are TS files and other languages and platforms use their own formats like Java, Android and Apple. The process to localize your application is actually very straightforward. First of all you need to mark your strings accordingly, your user visible strings. The specific samples I use are for Python and for the POPO format. So in Python, generally for the GetX format, you need to input, anyway, to use the GetX functions, family of functions, and you mark your strings with the user annotations with the underscore and the brackets. So the first step is to mark your strings accordingly in your source code. The second step is to extract all those strings. In the GetX world you use the GetX program over your source code. The third step is just to translate all those files in the in each language you wanted to translate it to. The fourth step is to create the binary files for the translations and the fifth step is just to release the whole thing, the source code along with the localization files. However, in these five steps, there is one that is very tricky. How are you going to translate them? I mean, we are developers. It's easy for us to just mark the strings and run GetX and MSGFMT over the source code. But how are you going to translate them? First of all, you need to translate and yeah, okay. First of all, you need translators. The user process is just to have the profile somewhere in the rep and maybe send emails to your translators and let all your translators coordinate, talk with each other, who's going to work on what, when, and then send those emails back and the whole thing is a mess. And this is a process which has to be done for every release. So it's not very nice. This is where Transfix actually fits in. Transfix itself is an open source project and supports quite a lot of features that are target for this thing. Transfix is best described as an open source localization management tool. It offers various features for both developers and translators. For example, it offers features for developers to manage their teams and for the members of the teams to communicate with each other. It supports the management of the workflow, the whole workflow of the releasing a new version of your software with respect to translations. It offers features for cold control like reviews. You can review strings and have only the reviewed ones accepted. It also provides tools for translators like an online web editor to edit translations. It can also pull from your rep automatically. So you just set up Transfix, you point it to your repository like in GitHub or whatever, and have Transfix pull your profiles automatically and update all those resources. You can also use many forms in the same project. And with Transfix, it is very easy for developers to contribute to your translations. The process is very easy. It also offers a translation memory which allows you to use previously matched translations for the strings you want. Anyway, for translators, the whole process is very easy. First of all, you create a new project. You set up the slug, the name of the project is more description, and you choose the language and the source language. The source language is the language that is used in your source code, I guess mostly English for us. Anyway, as soon as you create your project, then the whole process of doing the translations, of managing the translations, is quite simple. On the one hand, you are the developer, on the other hand, on the other side, there are the translators. So the first thing you do is to upload your source file to Transfix. Transfix will automatically extract your profile, I mean, there. Transfix will automatically extract the strings from there and will not file all your translators to start contributing to that particular project, to start translating. Translators start translating and whenever they are ready, the translation is 100% complete. You just put the translations to your repository and release your software. There's also a CLI client, a command line client for this to help developers automate the process, where you just push a resource, push a file, like in this example, this is for the Transfix project itself, where you, for example, you push the Django.po file and when you are done, you just pull a particular language or main languages, whatever you want. For translators, there's also a web editor, where you, I'm not sure, okay, for translators, they can use a particular web editor to start translating things. It offers various features, like searching for a particular string or using an auto-complete, there are also suggestions and stuff. Or, of course, they can use their own favorite tool, like localize for TS projects, for Qt projects. Transfix itself is written in Python, so it is just a web application for now. To install it, you just do a Python, set a Python install. It's also, yeah, okay. Transfix itself is used by many open source projects. The most prominent ones are Fedora, Django, and Migo. It's also used by the Jumla Open Translators community to translate the Jumla extensions. It all started with Fedora, actually. Okay. That was fast. This is about, these are the main links for the project. The code itself is open source, so you can just, it is, right now, it is costing a bit back it, so you can just download it from code.intvix.com, slash transfix. Transfix service is an open source project, so you can set it up on your own server. There's a community edition for that, but it's also offered as a software service project in a 3W.transfix.net. If you use it for your project or want to contribute or whatever and have questions, want to hang out, we are in the Transfix channel on Free Note. There's also a mailing list in Google Groups, and there's also the head to transfix.net. Okay. So to sum up, Transfix is an open source tool. It can be used by developers to ease the whole translation management process. You can set it up yourselves, or you can just use the 3W.transfix.net version, which is free for open source projects, but can be used by close source projects as well. Okay. That was it. Any questions? Okay. So, sorry. Yeah. Okay. Currently, the main focus is one of the areas that I have focused right now is the process of making the whole website, at least the Transfix.net, easier to use, because there are many things that are a bit tricky, especially for new users and for developers. Okay. In the long-term roadmap, we plan to rewrite a lot of the online translation editor to make it easier for translators and be more powerful and have way more features. There's also an update coming in the next few days, probably, after FOSDM is done, and we have time, which was mostly about the format's handling code, many performance improvements, especially for the larger the file is, the translation files are, more powerful, what else? Let me think. There's also a whole redesign, exactly, a way to make the whole process easier for developers of how you want to define your translation files and how you are going to communicate with your users that you want to start translating now and how can I say this? Anyway, to notify your users that right now we are ready, let's start translating and have translators come and start translating stuff and for you to get all those translations back. Mainly for the next month's at least, also the client, the client will receive some work quite soon because right now it's in a very good state regarding its code. Okay. You're welcome. Anything else? Okay. Thank you for coming.
 Hi everyone, I am Apostos Bezos. I'm going to talk to you about  Transfix and how to localize your application. So we are in Europe in  Belgium and as you all know there are so many languages spoken just in Europe.  However, yeah, however as developers we write software and we use mainly use  English. There are two processes, the internationalization localization, these  two, anyway, these two processes which are about adapting your software to  multiple languages and cultures. We all know how important this is since very  few people speak English actually in the general population.  Sorry, okay. So for internationalization there are many forms that are used in  the in the software world. These are just some examples. The most popular one,  especially for open source software, is the first one, the POPOT files. But for  Qt software there are TS files and other languages and platforms use their own  formats like Java, Android and Apple. The process to localize your application is  actually very straightforward. First of all you need to mark your strings  accordingly, your user visible strings. The specific samples I use are for Python  and for the POPO format. So in Python, generally for the GetX format, you need to  input, anyway, to use the GetX functions, family of functions, and you mark your  strings with the user annotations with the underscore and the brackets. So the  first step is to mark your strings accordingly in your source code. The  second step is to extract all those strings. In the GetX world you use the  GetX program over your source code. The third step is just to translate all  those files in the in each language you wanted to translate it to. The fourth  step is to create the binary files for the translations and the fifth step is  just to release the whole thing, the source code along with the localization  files. However, in these five steps, there is one that is very tricky. How are  you going to translate them? I mean, we are developers. It's easy for us to just  mark the strings and run GetX and MSGFMT over the source code. But how are you  going to translate them? First of all, you need to translate and yeah, okay. First  of all, you need translators. The user process is just to have the profile  somewhere in the rep and maybe send emails to your translators and let all  your translators coordinate, talk with each other, who's going to work on what,  when, and then send those emails back and the whole thing is a mess. And this is a  process which has to be done for every release. So it's not very nice. This is  where Transfix actually fits in. Transfix itself is an open source project and  supports quite a lot of features that are target for this thing. Transfix is  best described as an open source localization management tool. It offers  various features for both developers and translators. For example, it offers  features for developers to manage their teams and for the members of the teams  to communicate with each other. It supports the management of the workflow,  the whole workflow of the releasing a new version of your software with respect  to translations. It offers features for cold control like reviews. You can review  strings and have only the reviewed ones accepted. It also provides tools for  translators like an online web editor to edit translations. It can also pull from  your rep automatically. So you just set up Transfix, you point it to your  repository like in GitHub or whatever, and have Transfix pull your  profiles automatically and update all those resources. You can also use many  forms in the same project. And with Transfix, it is very easy for developers  to contribute to your translations. The process is very easy. It also offers a  translation memory which allows you to use previously matched translations for  the strings you want. Anyway, for translators, the whole process is very  easy. First of all, you create a new project. You set up the slug, the name of  the project is more description, and you choose the language and the source  language. The source language is the language that is used in your source  code, I guess mostly English for us. Anyway, as soon as you create your  project, then the whole process of doing the  translations, of managing the translations, is quite simple. On the one hand, you are  the developer, on the other hand, on the other side, there are the translators. So  the first thing you do is to upload your source file to Transfix. Transfix will  automatically extract your profile, I mean, there. Transfix will automatically  extract the strings from there and will not file all your translators to  start contributing to that particular project, to start translating.  Translators start translating and whenever they are ready, the translation is  100% complete. You just put the translations to your repository and  release your software. There's also a CLI client, a command line client for this  to help developers automate the process, where you just push a resource, push a  file, like in this example, this is for the Transfix project itself, where you,  for example, you push the Django.po file and when you are done, you just pull a  particular language or main languages, whatever you want. For translators, there's  also a web editor, where you, I'm not sure, okay, for translators, they can use a  particular web editor to start translating things. It offers various  features, like searching for a particular string or using an auto-complete,  there are also suggestions and stuff. Or, of course, they can use their own  favorite tool, like localize for TS projects, for Qt projects. Transfix  itself is written in Python, so it is just a web application for now. To install it,  you just do a Python, set a Python install. It's also, yeah, okay. Transfix itself  is used by many open source projects. The most prominent ones are Fedora, Django,  and Migo. It's also used by the Jumla Open Translators community to translate  the Jumla extensions. It all started with Fedora, actually. Okay. That was fast.  This is about, these are the main links for the project. The code itself is  open source, so you can just, it is, right now, it is costing a bit back it, so you  can just download it from code.intvix.com, slash transfix. Transfix service is an  open source project, so you can set it up on your own server. There's a community  edition for that, but it's also offered as a software service project in a 3W.transfix.net.  If you use it for your project or want to contribute or whatever and have questions,  want to hang out, we are in the Transfix channel on Free Note. There's also a mailing  list in Google Groups, and there's also the head to transfix.net. Okay. So to sum up,  Transfix is an open source tool. It can be used by developers to ease the whole  translation management process. You can set it up yourselves, or you can just use the  3W.transfix.net version, which is free for open source projects, but can be used by  close source projects as well. Okay. That was it. Any questions? Okay. So, sorry. Yeah.  Okay. Currently, the main focus is one of the areas that I have focused right now is  the process of making the whole website, at least the Transfix.net, easier to use, because  there are many things that are a bit tricky, especially for new users and for developers.  Okay. In the long-term roadmap, we plan to rewrite a lot of the online translation editor  to make it easier for translators and be more powerful and have way more features. There's  also an update coming in the next few days, probably, after FOSDM is done, and we have  time, which was mostly about the format's handling code, many performance improvements,  especially for the larger the file is, the translation files are, more powerful, what  else? Let me think. There's also a whole redesign, exactly, a way to make the whole  process easier for developers of how you want to define your translation files and how you  are going to communicate with your users that you want to start translating now and how  can I say this? Anyway, to notify your users that right now we are ready, let's start translating  and have translators come and start translating stuff and for you to get all those translations  back. Mainly for the next month's at least, also the client, the client will receive some  work quite soon because right now it's in a very good state regarding its code. Okay.  You're welcome. Anything else? Okay. Thank you for coming.
Transifex_DoUAGw_G-us_2_0_479.png Transifex_DoUAGw_G-us_2_480_1283.png Transifex_DoUAGw_G-us_2_1284_1883.png Transifex_DoUAGw_G-us_2_1884_4367.png Transifex_DoUAGw_G-us_2_4368_7211.png Transifex_DoUAGw_G-us_2_7212_7655.png Transifex_DoUAGw_G-us_2_7656_7739.png Transifex_DoUAGw_G-us_2_7740_7823.png Transifex_DoUAGw_G-us_2_7824_8399.png Transifex_DoUAGw_G-us_2_8400_9947.png Transifex_DoUAGw_G-us_2_9948_16499.png Transifex_DoUAGw_G-us_2_16500_16691.png Transifex_DoUAGw_G-us_2_16692_17027.png Transifex_DoUAGw_G-us_2_17028_17099.png