Debian GNU/Linux, organizada a través do Proxecto Debian, é unha distribución de Software Libre moi empregada e desenvolvida a través da colaboración de voluntarios de todo o mundo. Dende os seus comezos, o sistema GNU/Linux, baséase no Kernel de Linux, con moitas tarefas básicas do sistema operativo realizadas co software do Proxecto GNU. Debian é coñecida polo seu seguimento da filosofía de Unix e do Software Libre e pola abundancia de opcións —a versión actual inclúe sobre quince mil paquetes de software para once arquitectura]]s de computador. Debian GNU/Linux é a base de moitas outras distribucións como Knoppix, Ubuntu Linux, a galega Triquel, ou a desenvolvida pola Asociación Galega de Usuarios de Linux (AGNIX).
Grupo de traballo
A tradución de Debian GNU/linux está sendo coordinada por Marce Villarino.
Historia das traducións de Debian
Ao iniciar o Proxecto Trasno decidiuse que non se ía facer unha distribución en galego, senón que se ían empregar os esforzos en que as distribucións existentes estiveran traducidas ao galego. Pouco despois, Mandrake foi a primeira distribución de Linux cun instalador en galego, e a esta distribución pronto a seguiron outras.
A tradución do instalador de Debian iniciouna Jacobo Tarrío no ano 2001; a seguinte versión de Debian, 3.0 "woody" xa se podía instalar en galego. A tradución da seguinte versión do instalador iniciouna Héctor Fernández e rematouna Jacobo Tarrío a mediados de 2004; para a próxima versión de Debian, "etch", ha ser posible instalar Debian vendo todos os textos en galego. Isto non había ser posible sen a tradución de diversos compoñentes de Debian, coma dpkg e apt (traducidos inicialmente por Alberto García).
Ata setembro do 2008, Jacobo Tarrío adicouse a traducir varios compoñentes do sistema Debian, coma o instalador e os programas que se empregan durante a instalación, as utilidades de xestión de paquetes de Debian e as pantallas de configuración de algúns dos paquetes máis empregados. Dende entón, mantéñense as traducións coa coordinación de Marce Villarino.
Como traducir Debian GNU/Linux
A información está en inglés pois foi publicada orixinalmente por J. Tarrío no seu weblog, mais quen queira pode traducila. ESTA INFORMACIÓN, INDA QUE ÚTIL, PODERÍA ESTAR DESACTUALIZADA ASÍ QUE PREGUNTA PRIMEITO!
Translating the Debian installer
The Debian installer system (d-i, for short) is made up of several components. Some of these components were written especially for the Debian installer; others, however, are standalone applications which are used during the installation of Debian. The translations of many of these components are managed separately; however, an effort is being made to keep track of them, providing a single dashboard where a translator can see the status of the d-i translations, get files to translate, instructions for submitting the translations, etc. This dashboard resides at http://d-i.alioth.debian.org/l10n-stats/.
There is [translation guide] for d-i, explaining what components are in each level, how to retrieve the files to translate or update, and how to submit the translated files. I’m giving here a short summary in this post.
For translation purposes, d-i is divided in five levels. Level 1 contains the strings everyone sees when installing Debian — the following levels contain components whose translation is less user-visible. Therefore, when translating d-i you should prioritize level 1 translations, then level 2 translations and so on. However, this doesn’t mean that they are any less important; you should try to always keep them up to date!
You can see the status of every language in each level by going to the [page]. If you click on a language you can see a text file with a more detailed report on the translations for that level and language. You can also opt in to receive emails every morning when the status in a level for your language changes — you’ll have to ask Christian Perrier to subscribe you to the websec-txt notifications for your language.
Level 1 translations are maintained on Alioth, so you should get an Alioth account and request to be added to the d-i project as translator. Then, you’ll be able to download and upload the translations using Subversion. There are lots of programs and packages that comprise level 1; however, to make translation easier and more efficient, the translations are consolidated in only 5 files (called sublevels). In this way, if the same string appears several times in several programs, you only need to translate it once. It’s 5 files instead of a single one so that it’s easier to distribute work, assign priorities, etc.
The other levels consist of translations of individual programs, which are maintained in many different ways. The particular methods you have to use for each package are detailed in the translation guide. For most of them, it involves downloading the .POT or .PO file from a read-only version control repository, and uploading the translation using the Debian BTS.
Translating debconf templates
You can approach debconf translation work in two ways: you can be active and seek out packages to translate and update, or you can be reactive and translate and update packages when someone requests it to be done. Usually, nobody takes a purely active or reactive stance; for example, lately I used to react to calls for translation updates, but when I had some spare time I would go translate a couple of new packages.
When you work actively, the web page whose URL you need to know is http://www.debian.org/intl/l10n/po-debconf/. There you have links to all languages for which there are translations. Click on yours, and you’ll see a page listing the state of every source package’s debconf template translations for your language. First, you see the partially-translated packages, then the fully translated packages, and finally a list of packages which are not translated to your language. For each package in the first two sections you can download the .POT and .PO files; the names of the packages in the last section just link to a big webpage from which you can download every package’s .POT file.
In the top part of the page you have links to other useful pages. An interesting one is the [] page, which lists all the languages in order of completeness.
For working reactively, you need to subscribe to the [mailing list], because when there is a call for updates or for translations it is always sent to that mailing list. Also, if there already is a translation for your language, another email will be sent to the translation group’s mailing list, as well as to the file’s latest translator.
Calls for translations include information on the deadline and the package maintainer’s preferred methods for submitting the translation. There may also be some notes from the package maintainer. Finally, the .POT file is attached to the call for translations sent to debian-i18n, while the old .PO file is attached to the call for translations sent to the group and the latest translator.
Calls for translations can be sent by the package maintainer when the debconf templates have been modified and the translations need to be updated, but they can also be sent by other people for many other reasons. For example, for the last months there’s been a campaign to upload packages for which there were newer translations that hadn’t been uploaded yet, so NMUs for these packages (non-maintainer uploads) were announced, including a call for translations. Also, there was a campaign to review all packages’ debconf templates, make them more consistent, improve their grammar, etc., and a call for translations was issued for every package after the review.
Galician debconf template translation workflow
I have a compendium with almost all strings in all debconf templates I translated, and several scripts I use to maintain that compendium, apply it to translations, etc. It is available at http://darcs.tarrio.org/gl-templates/, and can be downloaded with Darcs using this command:
$ darcs get http://darcs.tarrio.org/gl-templates/
In my local machine I keep it in $HOME/pos.
(You may use this compendium and scripts freely, if you want, but be sure to change all appearances of “gl.po” into the appropriate file name for your language.)
Nowadays I’m mostly driven by bubulle’s NMU announcements. Whenever he announces a NMU for a package I haven’t translated or whose Galician translation is outdated, I work on it.
This is what I do to start a new translation for a package called “example":
- Extract the attached templates.pot file into $HOME/pos/example_templates.pot.
- Bootstrap the translation with my compendium, using this command:
$ ./bootstrap-po example_templates.pot > gl.poThe script is smart enough to know that a file called example_templates.pot is a templates file for a package called example. However, I can specify a different package name as its second argument:
$ ./bootstrap-po nonsensicalfilename.pot example > gl.po
- The generated gl.po file is UTF-8 encoded. However, I use xemacs to translate, which cannot read that, so I encode it into iso-8859-1:
$ msgconv -t iso-8859-1 gl.po -o gll.po
- Edit the file.
- Encode the edited file into utf-8:
$ msgconv -t utf-8 gll.po -o gl.po
- Add the translations to my compendium:
$ ./add-total-po(My compendium is the total.po.txt file, hence the name.)
- Optional: edit the compendium to remove obsolete strings or strings which may be ambiguous so I don’t want them in the compendium.
- Send the translated file to the package maintainer using the BTS:
$ ./send-po example
- Record and push the changes to the compendium:
$ darcs record -a $ darcs push -a
This is how I update an existing, outdated translation:
- Extract the file into $HOME/pos/gl.po.
- Most likely, it’s UTF-8 encoded. Encode it into iso-8859-1:
$ msgconv -t iso-8859-1 gl.po -o gll.po
- Edit the file, fix only the fuzzy translations.
- Encode it back into UTF-8:
$ msgconv -t utf-8 gll.po -o gl.po
- Update the translation using the existing translated strings and the compendium:
$ ./refresh-po gl.po | msgconv -t iso-8859-1 -o gll.po
- Open the file. Hopefully you’ll have new fuzzy translations. Edit the translation and complete it, or do some strings then refresh again and edit and refresh again until the file is completed. If the file contains lots of similar sentences you can just translate a couple of them, refresh, and the other ones will then be all fuzzy. Magic!
3 When I’m done, encode into UTF-8, update the compendium, send to maintainer, submit changes to compendium.
Reviewing Galician debconf template translations
Running the Galician debconf template translation as an one-man show has an obvious problem: translations don’t get reviewed. Being only one, I would only catch typos, and the odd thinko, which is not very useful. The real use of reviews is to see if the grammar is sound, see if the translation sounds natural or forced, etc., and it has to be someone else who does it. If I review my own translations, of course they’ll be perfect.
When someone else picks those translations up after I stop doing them, it would be useful to make a full review. Fortunately, I’ve been keeping a compendium of (almost) all debconf template translations, so doing the review is as simple as downloading that single file and reading it.
I’d recommend that one single person read the full document and makes notes of grammatical/orthographic mistakes, common patterns, vocabulary choices, etc., and then those notes should be used to go through the compendium again and fix and update everything. The result would be useful for two things:
First, it is a very big collection of examples you can point people to when they don’t know what style to use to translate. So, when someone asks in the mailing list about the best way to translate “Couldn’t create temporary file”, you can search for similar sentences, see how they were translated and suggest the same solution.
Second, you can use that compendium to apply the results of the review to all translated packages very quickly. The idea is to regenerate the .PO file from the compendium. You can do it actively (see what packages have had their debconf templates translated into Galician, download .POT files, apply compendium, upload .PO files) or reactively (when you have to update a .PO file, download the .POT instead and apply the compendium, then update the resulting .PO file).
A información do estado das traducións pódese atopar aquí: