Editing Introdución á tradución de software

From Proxecto Trasno

Warning: The database has been locked for maintenance, so you will not be able to save your edits right now. You may wish to copy and paste your text into a text file and save it for later.

The system administrator who locked it offered this explanation: Esta wiki está temporalmente en modo de só lectura

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
'''Faltan puntos por rematar. Antento ao ler a páxina'''
 
 
 
 
== Conceptos previos ==
 
== Conceptos previos ==
=== O inglés como lingua da computación ===
+
=== O Inglés como lingua da computación ===
O fin do [http://en.wikipedia.org/wiki/Second_European_colonization_wave_(19th_century-20th_century) período colonial] e o resultado das [http://en.wikipedia.org/wiki/World_war1 grandes guerras do século XX] fixeron que a lingua de uso internacional, que ata ven entrado o pasado século fora o francés, pasara a ser o inglés, pois os Estados Unidos de Norte América colócanse coma a nova gran potencia mundial. Se a finais do século XIX e comezos do XX os primeiros grandes [http://en.wikipedia.org/wiki/History_of_computing_hardware avances na enxeñaría e informática] comezaron no mundo anglo-xermano, despois da primeira gran guerra os avances prodúcense no lado dos EUA. O resultado da segunda guerra mundial, que pon na quebra as economías europeas, e o resultado da guerra fría, permítenlle aos EUA consolidarse coma un potencia tecnolóxica. Con isto, non é de estrañar que o inglés sexa a lingua estándar na computación.
+
O fin do [http://en.wikipedia.org/wiki/Second_European_colonization_wave_(19th_century-20th_century)| período colonial] e o resultado das [http://en.wikipedia.org/wiki/World_war1 grandes guerras do século XX] fixeron que a lingua de uso internacional, que ata ven entrado o pasado século fora o francés, pasara a ser o inglés, pois os Estados Unidos de Norte América colócanse coma a nova gran potencia mundial. Se a finais do século XIX e comezos do XX os primeiros grandes [http://en.wikipedia.org/wiki/History_of_computing_hardware| avances na enxeñaría e informática] comezaron no mundo anglo-xermano, despois da primeira gran guerra os avances prodúcense no lado dos EUA. O resultado da segunda guerra mundial, que pon na quebra as economías europeas, e o resultado da guerra fría, permítenlle aos EUA consolidarse coma un potencia tecnolóxica. Con isto, non é de estrañar que o inglés sexa a lingua estándar na computación.
  
 
=== Internacionalización e localización ===
 
=== Internacionalización e localización ===
Line 12: Line 9:
  
 
O proceso de axustar o software xa internacionalizado a unha lingua ou rexión cultural concreta chámase '''localización''' e abreviase como '''l10n'''.  
 
O proceso de axustar o software xa internacionalizado a unha lingua ou rexión cultural concreta chámase '''localización''' e abreviase como '''l10n'''.  
A i18n das aplicacións é un requisito previo á localización. Por medio da localización créanse versión da aplicación sen necesidade de cambiar o [http://en.wikipedia.org/wiki/Source_code código fonte] da aplicación. Isto conséguese externalizando as mensaxes de texto ou imaxes específicas que logo os localizadores se encargarán de cambialos segundo a lingua ou os convenios culturais de cada rexión.  
+
A i18n das aplicacións é un requisito previo á localización. Por medio da localización créanse versión da aplicación sen necesidade de cambiar o [http://en.wikipedia.org/wiki/Source_code| código fonte] da aplicación. Isto conséguese externalizando as mensaxes de texto ou imaxes específicas que logo os localizadores se encargarán de cambialos segundo a lingua ou os convenios culturais de cada rexión.  
  
 
O proceso de '''globalización''' (g11n) emprégase habitualmente para englobar os procesos de internacionalización e localización. O proceso abrangue ao deseño, implementación e localización. Nalgún momento dado empregouse a abreviatura g11n para referirse á ''galeguización'', mais a coincidencia da abreviatura coa de globalization fai desaconsellable o seu emprego.
 
O proceso de '''globalización''' (g11n) emprégase habitualmente para englobar os procesos de internacionalización e localización. O proceso abrangue ao deseño, implementación e localización. Nalgún momento dado empregouse a abreviatura g11n para referirse á ''galeguización'', mais a coincidencia da abreviatura coa de globalization fai desaconsellable o seu emprego.
  
  
=== O identificador ''locale'' ===
+
=== O "locale" ===
As linguas están recollidas nunha serie de estándares internacionais co fin de identificalas. A serie [http://en.wikipedia.org/wiki/ISO_639 ISO 639] recolle asignan códigos identificacións cada lingua descrita. Estes códigos son empregados en varios ámbitos informáticos.
+
As linguas están recollidas nunha serie de estándares internacionais co fin de identificalas. A serie [http://en.wikipedia.org/wiki/ISO_639| ISO 639] recolle asignan códigos identificacións cada lingua descrita. Estes códigos son empregados en varios ámbitos informáticos.
  
 
A ISO 639 consiste da 639-1, 639-2, 639-3 e 639-5. Foron redactados en diferentes momentos con variacións debido a unha ou outra necesidade, como a de ampliar  sistema de codificación ata poder acoller as arredor de 6000 linguas vivas que se estima existen, ademais de linguas extintas e artificias. A ISO 639 identifica a cada idioma cun código de dúas letras mentres que a 639-2 define un código de tres letras. Así o galego recibe os identificadores gl e glg na 639-1 e 639-2, respectivamente. Outros exemplos importantes a ter en conta son:  
 
A ISO 639 consiste da 639-1, 639-2, 639-3 e 639-5. Foron redactados en diferentes momentos con variacións debido a unha ou outra necesidade, como a de ampliar  sistema de codificación ata poder acoller as arredor de 6000 linguas vivas que se estima existen, ademais de linguas extintas e artificias. A ISO 639 identifica a cada idioma cun código de dúas letras mentres que a 639-2 define un código de tres letras. Así o galego recibe os identificadores gl e glg na 639-1 e 639-2, respectivamente. Outros exemplos importantes a ter en conta son:  
  
 
{| class="wikitable" style="text-align:left; margin: 1em auto 1em auto"
 
{| class="wikitable" style="text-align:left; margin: 1em auto 1em auto"
!ISO 639-1 !!ISO 639-2 !! Name  
+
!ISO 639-1!!ISO 639-2!!Name
 
|-
 
|-
 
|gl||glg||Galician||
 
|gl||glg||Galician||
Line 55: Line 52:
 
|inglés británico||en_GB||
 
|inglés británico||en_GB||
 
|-
 
|-
|portugués continental  ||pt_ES||
+
|portugués continental||pt_ES||
 
|-
 
|-
 
|portugués brasileiro||pt_BR||
 
|portugués brasileiro||pt_BR||
Line 64: Line 61:
 
O locale en_US actúa habitualmente como predefinido na maioría dos sistemas, pois é o de orixe.  
 
O locale en_US actúa habitualmente como predefinido na maioría dos sistemas, pois é o de orixe.  
  
Cada lingua ten ademais un sistema de escritura que pode variar. As linguas poden ter sistemas alfabéticos, coas súas diferentes tipografías, ou sistemas iconográficos pero os ordenadores traballan con díxitos. Con isto, cada carácter tipográfico leva un número asociado nun estándar de representación específico. Esta asociación chámase código de caracteres. '''Códigos de caracteres''' (''eng''. charset) hai múltiples, coma o ASCII ou a ISO-8859-1. O sistema [http://en.wikipedia.org/wiki/Unicode Unicode] é un estándar industrial de representación de códigos de caracteres deseñado para acoller a todos os símbolos e textos posibles te todos os sistemas de escritura do mundo. O ''Unicode Transformation Format'' (UTF) é de amplo uso en programas internacionalizados. Os formatos UTF-8 e UTF-16 son probablemente os máis empregados. O UTF-8 recolle correctamente o código de caracteres do galego pois é compatible coas escrituras latinas e o ASCII.
+
Cada lingua ten ademais un sistema de escritura que pode variar. As linguas poden ter sistemas alfabéticos, coas súas diferentes tipografías, ou sistemas iconográficos pero os ordenadores traballan con díxitos. Con isto, cada carácter tipográfico leva un número asociado nun estándar de representación específico. Esta asociación chámase código de caracteres. '''Códigos de caracteres''' (''eng''. charset) hai múltiples, coma o ASCII ou a ISO-8859-1. O sistema [http://en.wikipedia.org/wiki/Unicode| Unicode] é un estándar industrial de representación de códigos de caracteres deseñado para acoller a todos os símbolos e textos posibles te todos os sistemas de escritura do mundo. O ''Unicode Transformation Format'' (UTF) é de amplo uso en programas internacionalizados. Os formatos UTF-8 e UTF-16 son probablemente os máis empregados. O UTF-8 recolle correctamente o código de caracteres do galego pois é compatible coas escrituras latinas e o ASCII.
  
 
== Ciclo de desenvolvemento e Sistemas de control de versións ==
 
== Ciclo de desenvolvemento e Sistemas de control de versións ==
Here goes some rough intro to CVS, and some very brief intro to basic svn and git commands
 
 
En moitos casos, senón en todos, os ficheiros de tradución hai que obtelos directamente dende os repositorios do proxecto empregando e logo remitilos mediante algún  sistema de control de versións. Inda que algúns proxectos están a implantar sistemas para xestionar isto por medio da web, é máis que recomendable coñecer o básico dos principais CVS e así poder entender as instruccións que se nos poidan dar.
 
 
Sistemas amplamente empregados nos proxectos son SVN e Git, inda que é posible que nos encontremos con outros sistemas coma Bazaar ou Mercurial.
 
 
 
=== SVN ===
 
=== SVN ===
É imperativo afacerse cunha copia de SVN e instalala. Dependendo do sistema operativo, o proceso pode variar lixeiramente.
 
 
* En Windows e Mac OSX, descárguese o executable dende o [http://subversion.tigris.org/getting.html proxecto SVN]
 
* En Debian
 
<pre>
 
aptitude install subversion
 
</pre>
 
* En openSUSE
 
<pre>
 
zypper install subversion
 
</pre>
 
* En Fedora
 
<pre>
 
yum install subversion
 
</pre>
 
 
Todas as distribucións Linux e BSD inclúen nos repositorios subversion.
 
 
 
=== Git ===
 
=== Git ===
* [http://git-scm.com/book/en/Getting-Started-Git-Basics Getting Started - Git Basics] (tutorial)
 
  
 
== Fluxo da localización e Gettext ==
 
== Fluxo da localización e Gettext ==
 
'''{POT TEMPLATES YET TO BE MENTIONED}'''
 
 
 
  
 
Poderíase pensar que o fluxo de localización segue un patrón no que o desenvolvedor envía as traducións a un ficheiro que logo o localizador de cada idioma traduce, tendo como resultado tantos paquetes de programa cun ficheiro de lingua asociado como o número de linguas ás que se localizara. Isto ben pode ser o caso da tradución dun documento de texto ou unha páxina HTML, que produce un ficheiro completo para cada lingua. Porén, as tradución de software non se realizan dun xeito estático senón que se fan de xeito ''dinámico''. As traducións dun programa debúxanse en tempo de execución. En realidade as aplicacións prográmanse para que escollan as ''cadeas'' de texto que aparecen en cada momento dende un ficheiro coas traducións a lingua (hai un por lingua) que o usuario especificou nas súas preferencias. Isto é o que se chama ''tradución dinámica'''.
 
Poderíase pensar que o fluxo de localización segue un patrón no que o desenvolvedor envía as traducións a un ficheiro que logo o localizador de cada idioma traduce, tendo como resultado tantos paquetes de programa cun ficheiro de lingua asociado como o número de linguas ás que se localizara. Isto ben pode ser o caso da tradución dun documento de texto ou unha páxina HTML, que produce un ficheiro completo para cada lingua. Porén, as tradución de software non se realizan dun xeito estático senón que se fan de xeito ''dinámico''. As traducións dun programa debúxanse en tempo de execución. En realidade as aplicacións prográmanse para que escollan as ''cadeas'' de texto que aparecen en cada momento dende un ficheiro coas traducións a lingua (hai un por lingua) que o usuario especificou nas súas preferencias. Isto é o que se chama ''tradución dinámica'''.
Line 105: Line 73:
 
Independentemente de que a tradución se faca dun xeito dinámico ou estático, hai un ficheiro de cadeas en inglés para ser traducidas. Inda que este ficheiro simplemente contén texto precisase que todos os localizadores empreguen o mesmo formato de texto e poidan eles e os desenvolvedores manter o sistema de tradución continuamente ao longo do desenvolvemento da aplicación. Para evitar estes problemas no software libre desenvolveuse un formato de ficheiro específico para o proceso. Existen varias ferramentas, independentes, que se programaron para traducir, validar e converter este formato a outros formatos, independentemente de que sexa texto da interface gráfica, documentación, páxinas man, notas de lanzamento ou contido web.  
 
Independentemente de que a tradución se faca dun xeito dinámico ou estático, hai un ficheiro de cadeas en inglés para ser traducidas. Inda que este ficheiro simplemente contén texto precisase que todos os localizadores empreguen o mesmo formato de texto e poidan eles e os desenvolvedores manter o sistema de tradución continuamente ao longo do desenvolvemento da aplicación. Para evitar estes problemas no software libre desenvolveuse un formato de ficheiro específico para o proceso. Existen varias ferramentas, independentes, que se programaron para traducir, validar e converter este formato a outros formatos, independentemente de que sexa texto da interface gráfica, documentación, páxinas man, notas de lanzamento ou contido web.  
  
No sistema de tradución [http://en.wikipedia.org/wiki/Gettext Gettext] este formato é o PO, que é o formato máis amplamente empregado para a localización de software libre.Este formato está pensado para  
+
No sistema de tradución [http://en.wikipedia.org/wiki/Gettext| Gettext] este formato é o PO, que é o formato máis amplamente empregado para a localización de software libre.Este formato está pensado para  
  
 
* '''Tradución estáticas intermedias''': datos de texto estático, como a documentación de software, que se converte do formato orixinal a PO, tradúcese e convertese de novo ao formato orixinal. Co este resultado prodúcense os documentos finais que o usuario vaia a ver.
 
* '''Tradución estáticas intermedias''': datos de texto estático, como a documentación de software, que se converte do formato orixinal a PO, tradúcese e convertese de novo ao formato orixinal. Co este resultado prodúcense os documentos finais que o usuario vaia a ver.
Line 277: Line 245:
  
 
==== Marcado de texto ====
 
==== Marcado de texto ====
As aplicación ás veces mostran texto en texto non simple; isto é, con negriñas, cursivas, tamaños de letra máis grande etc. O tradutor este texto encóntrao cun determinado tipo de marcadok, con as palabras, frases ou paragrafos enteiros están incluídos dentro de etiquetas especiais. Exemplos disto:
 
 
<pre>
 
msgid "<b>Name:</b>"
 
msgstr ""
 
</pre>
 
⁠<pre>
 
msgid "<qt>Current map:<br/><b>%1</b></qt>"
 
msgstr ""
 
</pre>
 
 
Neste caso o marcado é do tipo XML as etiquetas están para nun formato do estilo <etiqueta>...</etiqueta>, onde ... é o texto que é etiquetado. As etiquetas <b>...</b> poñen o texto en negriña, por exemplo.
 
 
Outros marcados habituais da documentación son do estilo <title>...</title> e pertencen ai formato XML Docbook.
 
 
Polo xeral, hai que reproducir exactamente o tipo de etiquetas tal que aparecen na cadea de orixe e baixo ningunha circunstancia traducir a etiqueta en si (ese <title> ou <emphasis>). Pódese, iso si, modificar o marcado do texto, sempre e cando se saiba correctamente o que se fai.
 
 
Nos PO de interfaces gráficas aparecen partes no texto orixinal que semellan marcado do tipo XML:
 
 
<pre>
 
#: utils/katecmds.cpp:180
 
#, kde-format
 
msgid "Missing argument. Usage: %1 <value>"
 
msgstr ""
 
</pre>
 
 
Ese <value> non é unha etiqueta senón que texto que o usuario ve. En realidade é unha marca de substitución que lle indica ao usuario que argumento debería ir nese lugar. As marcas de substitución son susceptibles de ser traducidas máis hai que ter tino de non traducir unha etiqueta de marcado de texto cando por confundila cunha marca de substitución.
 
 
Cando se atopen marcas que non se coñecen deberíase buscar información para saber que función teñen e que uso se lle dá.
 
 
== XLIFF stuff and translation memories ==
 
All about XLIFF... tough not relevant in FLOSS l10n *yet*(?). So very very brief intro; then it's all 'bout memories coz ya know, we all use 'em
 
  
 
== Aplicacións para a tradución ==
 
== Aplicacións para a tradución ==
 
Editores de texto vs ferramentas especializadas
 
Editores de texto vs ferramentas especializadas
 
=== Aplicacións de escritorio ===
 
=== Aplicacións de escritorio ===
* [http://translate.sourceforge.net/wiki/virtaal/index Virtaal]
+
* Poedit
* [http://userbase.kde.org/Lokalize Lokalize]
+
* Virtaal
* [http://projects.gnome.org/gtranslator/ GTranslator]
+
* Lokalize
* [http://www.omegat.org/ OmegaT]
 
 
 
 
=== Aplicacións en liña ===
 
=== Aplicacións en liña ===
 
* Pootle
 
* Pootle
* [https://www.transifex.com/ Transifex]
 
* [https://launchpad.net/ Launchpad]
 

Please note that all contributions to Proxecto Trasno are considered to be released under the Attribution-Share Alike 3.0 Unported (see Proxecto Trasno:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

Cancel Editing help (opens in new window)