[[TOC]] [[Image(/elive/images/tux-mexican.png)]] = How to make Translations in Elive = This document contains some '''important''' things to know in order to not have problems with your translations == Requirements == We have an own made tool that makes the translations very easy, try to run it from the Applications menu or pressing "Alt + Esc" in your desktop. It's called '''eltrans'''. If you don't have it installed, you can install it with the command ''apui eltrans'' == What can I translate ? == When you run the '''eltrans''' tool you can see all the applications of Elive that you can translate. You can also make translations for Enlightenment 17 but you can't send them in the automatized way, for that you need to send your generated translation via email (more instructions in eltrans) Finally, if you want to translate for applications that are not listed (normally, Debian applications), you need to check how Debian does it, which is a different process. If the element that you want to translate is not a part of Debian but a part of Elive and it is NOT available on eltrans, you need to request to support this element in eltrans too, for that, just create a new ticket requesting it (or better talk about this on the #elive-dev IRC channel) == Important things to Know == This is the important section :) * '''Fast commits''': In order to avoid conflicts with the translations happening at the same time (for the same language and application to translate), it is a very good practice to send the translations from time to time, let's say **every 30 minutes** is a good option * If you end up with a conflict, unless you have good svn knowledge, it will be easier to clean up the actual work and download a new copy * To make it easier to avoid, it's also suggested to be connected at the **Elive Chat** when you are going to do translations, and ask if anybody else is doing them at the same time (for the same application and language) * If you want to continue your translations in another moment just send the actual made ones before to close ''eltrans'' or you could have a conflict in the next day, don't be scared to **send them from time to time**, our robots are not tired to work :) * '''Code''': You are translating messages of a source code application, this means that it will contain strange things like: {{{ This is a C %s string This is a BASH $var variable This is another BASH ${var%%/*} type of variable This is a \n newline symbol (escape secuence to reprent an 'Enter') This is a \\n newline too, sometimes is escaped twice (basically you need to kept everything that looks like "code" at the same way you see it in the original message }}} All these messages (and a lot others) are '''NOT''' errors, they are code, so '''do not''' change them, keep them just as they are, if not, the application will not work correctly showing the correct messages, especially the ones like '''%s'''. This is an example of a translation to Spanish for the first line: ''Esto es una C %s frase'' * '''Updated sentences''': Also called ''fuzzy'' or represented as a ''cloud'', this means that the message was auto-generated (automatic translations system) or that the original message was slightly modified, in other words it needs a simple revision/look-up, just a check if the translation is correct and equivalent to the original message, if it doesn't need any modifications click in the '''cloud''' icon in order to mark it as ''OK''. * English original sentences: If the original sentences are modified, it will be needed to translate them again (that's because the sentence is a different one, of course), that's why is important to have as first instance the original sentences to be the best ones (as short as possible and easy to understand, clever and clear). You can also help on that by just selecting to translate to English (en) to improve the original sentences of the application, please make sure that the application automatically updated the next day or contact Thanatermesis to rebuild them. == English Proofreadings == To improve the English sentences is '''needed''' to follow a specific methodology using a reverse-engineering-like trick with '''google translator''': * In the first box select English * In the second box select a common language that you know well, one that you know that their translations works pretty good, like Spanish or French * Paste the sentence in the first box and start modifying it, you will see in real-time the translation to Spanish in the other window, use that ''preview'' to improve the English sentence * If the automated translation looks coherent, your original sentence is well structured and made, but also the optimal one for the automated translations provided by Elive (if there's not a translator that corrects them) * As an extra bonus, if you translate later to Spanish, most of these sentences will be already made in the correct way, you just need to uncheck the ''fuzzy'' state to set it as valid one then. * More info about this topic can be found [https://forum.elivelinux.org/t/eltrans-how-to-proofread-the-original-messages-of-elive/1055 here]. == Tips == **Meanings** If you don't know what is the meaning of a sentence you can check the source code of it, most of the translatable sentences are plain readable files (scripts), so a command like this can be pretty useful: {{{ ~ ❯❯❯ package="eltrans" ; sentence="Result null, please make a better choice" ; for file in $( dpkg -L "$package" | grep -vE "/(locale|doc|var/cache)/" | grep -vE "(\.desktop)" ) ; do if test -f "$file" ; then grep -Hn "$sentence" "$file" ; fi ; done /usr/bin/eltrans:74: $guitool --error --text="$( eval_gettext "Result null, please make a better choice" )" }}} Where you write the "package" and "sentence" variables (or keywords) and it will print on which files are found if any, so you can edit the file on that line and see to what references the source code actions == Control == If you want to have more control to the translations, check [HowtoSVN how to use SVN] to understand how it works internally. You can also check the [http://dev.elivecd.org/timeline timeline] where you can watch the new commits by the other translators in a nice and visually way. You can also have a RSS system in the timeline so that you can watch every commit in your News reader, to which language, and from who, like: {{{ Eltrans: auto-sent for |liveboot| in -|es|- by 'Thanatermesis' }}} You can also check for older versions of the translations since they are saved in the history, that's called ''svn revisions'' * Example: Imagine that someone has sent a wrong translation and has then broken yours, so just browse the versions going back in the history looking oldest versions, get the desired one, and merge it (its recommended to use the tool ''meld'') in the actual updated version (how to use SVN: HowtoSVN) and send it again