Editing Converter .po e .ts a .tmx

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:
 
<center>
 
<center>
Este como está disponible en [[File:flag_es.png]] castellano en el [http://www.galpon.org/wiki/index.php/Convertir_.po_y_.ts_a_.tmx ''wiki'' de '''Galpon'''].<br>
+
Este como está disponible en [[File:flag_es.png]] castellano en el [http://www.galpon.org/wiki/index.php/Convertir_.po_a_.tmx ''wiki'' de '''Galpon'''].<br>
This HowTo is available in [[File:flag_en.png]] english in the [[Convert .po and .ts to .tmx|''in '''this''' wiki'']].
+
This HowTo is available in [[File:flag_en.png]] english in the [[Convert .po to .tmx|''in '''this''' wiki'']].
 
</center>
 
</center>
 
  
 
== Traballo básico ==
 
== Traballo básico ==
Line 17: Line 16:
 
  ↓        ↓      ↓  ↓      ↓
 
  ↓        ↓      ↓  ↓      ↓
 
  ↓        ↓      ↓  ↓      nome que terá o ficheiro «.tmx» resultante  
 
  ↓        ↓      ↓  ↓      nome que terá o ficheiro «.tmx» resultante  
  ↓        ↓      ↓  código do idioma final (como parámetro da opción -l)           
+
  ↓        ↓      ↓  código do idioma final (ocmo parámetro da opción -l)           
 
  ↓        ↓      opción (obrigatoria) para indicar o idioma final (do .tmx)  
 
  ↓        ↓      opción (obrigatoria) para indicar o idioma final (do .tmx)  
 
  ↓        nome do ficheiro «.po» orixinal
 
  ↓        nome do ficheiro «.po» orixinal
 
  orde de conversión po a(to) tmx
 
  orde de conversión po a(to) tmx
 
</pre>
 
</pre>
 
 
=== Traballando con ficheiros .ts como orixinais ===
 
Ás veces atopamonos con que os ficheiros de tradución teñen o formato de '''QtLinguist''', o formato '''.ts'''. Este formato, para poder convertelo a TMX debe pasar antes polo formato .po (eu non coñezo outro método fiábel).
 
 
Normalmente os que traballamos con ese formato, xa temos instalado o '''Qt 4 Linguist''' de non ser así, para seguir estes pasos terás que instalalo. En debian:
 
: <code>apt-get install qt4-dev-tools</code>.
 
 
Para converter un ficheiro '''.ts''' a un ficheiro '''.po''' abrimos nun terminal o cartafol no que temos o ficheiro '''.ts''', e nel (no terminal) executamos:
 
: <code>lconvert -i ficheiro.ts -o ficheiro.po</code>
 
Con isto obteremos un ficheiro '''.po''', mais debemos ter coidado cos seguintes pasos, o máis importante '''non''' abrilo con '''POEdit''', xa que faise un lío coa codificación UTF-8 e veremos que os tiles e demais están en ''ascii''. Vaiamos a modo e fagamos o seguinte:
 
* Abrimos o ficheiro cun editor de texto simple como Vi(m), Nano, Leafpad, Gedit, Kate. etc, no principio, onde as cabeceiras, veremos esta entrada:
 
#, fuzzy
 
msgid ""
 
msgstr ""
 
"X-Virgin-Header: remove this line if you change anything in the header.\n"
 
"X-Language: gl\n"
 
* Substituimos/borramos esas liñas para que nos queden así:
 
#, fuzzy
 
msgid ""
 
msgstr ""
 
""
 
* Unha vez gardado, poderemos abrilo co Virtaal co que xeraranse as cabeceiras oportunas (supoño que outros aplicativos de CAT como Lokalize ou OmegaT tamén o farán, mais non puiden comprobalo)
 
* Temos outra alternativa, modificar directamente co editor de texto simple e substituir por:
 
#, fuzzy
 
msgid ""
 
msgstr "" 
 
"Last-Translator: Pepe Perez <pepe@perez.com>\n"
 
"Language-Team: proxecto@trasno.net\n"
 
"Language: gl\n"
 
"Content-Type: text/plain; charset=UTF-8\n"
 
"Content-Transfer-Encoding: 8bit\n"
 
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
: Con isto xa poderemos abrilo coa ferramenta CAT que nos pete, para axustar calquera dos datos das cabeceiras.
 
* A partires de aquí tratámolo como un ficheiro '''.po''' calquera.
 
 
  
 
=== Converter varios ficheiros .po a un só ficheiro .tmx ===
 
=== Converter varios ficheiros .po a un só ficheiro .tmx ===
 
Empregamos como exemplo a obtención dun ficheiro «.tmx» que conteña as traducións do Ubuntu 12.04 Precise
 
Empregamos como exemplo a obtención dun ficheiro «.tmx» que conteña as traducións do Ubuntu 12.04 Precise
:'''1.''' Imos á páxina:
+
:'''1.-''' Imos á páxina:
 
::https://translations.launchpad.net/ubuntu/precise/+language-packs
 
::https://translations.launchpad.net/ubuntu/precise/+language-packs
::á dereita fixámonos en:
+
::á dereita fixamonos en:
 
:::Latest language packs
 
:::Latest language packs
 
:::Base pack:  '''<font color="#2554C7">2012-05-08 10:57:58 UTC</font>'''
 
:::Base pack:  '''<font color="#2554C7">2012-05-08 10:57:58 UTC</font>'''
::Premendo na data/hora accedemos á descarga do ficheiro .tar.gz
+
::Premendo na data/hora accedemos á descarga du ficheiro .tar.gz
:'''2.''' Unha vez descargado, descomprimímolo e buscamos o «noso paquete de idioma» e accedemos a el
+
:'''2.-''' Unha vez descargado, descomprimimolo e buscamos o «noso paquete de idioma» e accedemos a el
 
::<code>cd /rosetta-precise/gl</code>
 
::<code>cd /rosetta-precise/gl</code>
:'''3.''' A fin de traballar nun cartafol no que non teñamos que andar perdidos entre un feixe de ficheiros, faremos todo o traballo nesta localización desde o terminal.
+
:'''3.-''' A fin de traballar nun cartafol no que non teñamos que andar perdidos entre un feixe de ficheiros, faremos todo o traballo nesta localización desde o terminal.
:'''4.''' O primeiro que imos facer é construír un ficheiro cun listado de todos os ficheiros «.po» que teñamos
+
:'''4.-''' O primeiro que imos facer é construir un ficheiro cun listado de todos os ficheiros «.po» que teñamos
::<code>find LC_MESSAGES/ -name "*.po" > lista_ficheiros_Ubuntu1204.gl.txt</code>
+
::<code>find LC_MESSAGES/*.po > TodoUbuntu1204.txt</code>
:'''5.''' A seguir construiremos un único ficheiro «.po»  
+
:'''5.-''' A seguir construiremos un único ficheiro «.po»  
::<code>msgcat -f lista_ficheiros_Ubuntu1204.gl.txt -u -o TM_TodoUbuntu1204.gl.po</code>
+
::<code>msgcat -f TodoUbuntu1204.txt -u -o TodoUbuntu1204.po</code>
:'''6.''' E, para rematar, construímos o ficheiro «.tmx» resultante
+
:'''6.-''' E, para rematar, constrimos o ficheiro «.tmx» resultante
::<code>po2tmx -l gl TM_TodoUbuntu1204.gl.po TM_TodoUbuntu1204.gl.tmx</code>
+
::<code>po2tmx -l gl TodoUbuntu1204.po TodoUbuntu1204.tmx</code>
 
{{Nota|Nestes pasos anteriores só empregamos as ferramentas «''translate-toolkit''» indicadas no paso anterior}}
 
{{Nota|Nestes pasos anteriores só empregamos as ferramentas «''translate-toolkit''» indicadas no paso anterior}}
  
 
== Operacións complexas ==
 
== Operacións complexas ==
Documentación de referencia:
 
*http://code.google.com/p/sgarlatur/wiki/MergingTMXs
 
 
 
=== Facer un só .tmx a partir de varios ficheiros .tmx ===
 
Para este proceso necesitamos dispor dun complemento de OmegaT chamado '''TMXMerger''', para obtelo imos á páxina:
 
::http://www.omegat.org/en/resources.html
 
Premendo na entrada '''TMXMerger''' (á dereita), lévanos á descarga dun ficheiro .zip
 
 
ou
 
::<code>wget http://www.omegat.org/resources/TMXMerger.zip</code>
 
Unha vez descargado, descomprimímolo en ~/ (o noso «Cartafol persoal», así o recomendo, aínda que poderemos descomprimilo onde nos pete)
 
::<code>unzip TMXMerger.zip -d ~/</code>
 
Executamos:
 
::<code>java -jar ~/TMXMerger/TMXMerger-1.1.jar source=gl TMXorixe1.tmx TMXorixe2.tmx [TMXorixe3.tmx]Final.tmx</code>
 
 
 
=== Automatizar o proceso ===
 
Cando como no exemplo anterior co Ubuntu 12.04 Precise atopámonos con máis de1.600 ficheiros, temos que buscar algunha solución máis práctica. A min a mellor que se me ocorreu foi a de facer un «script» que automatice todo o proceso.
 
 
Para elo, copiade o seguinte contido nun editor de texto simple como Vi(m), Nano, Leafpad, Gedit, Kate. etc... e dádelle o nome que vos pareza mellor, e gardádeo nun cartafol, nun nivel superior a aquel no que teñades os «.po»
 
 
Dádelle permiso de execución con <code>chmod +x nome-script</code>
 
 
Executade o script (<code>./nome-script</code>), e tomadeo con paciencia.
 
{{Nota|'''MOI IMPORTANTE''', o traballo con este paquete de Ubuntu 12.04 Precise, precisa, para el só '''1GB''' de memoria, polo que en equipos cortiños de memoria pode levarlle moito tempo.}}
 
 
  
==== Código do script ====
+
=== Automatizando o proceso ===
 
<pre>
 
<pre>
 
#!/bin/sh
 
#!/bin/sh

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)

Template used on this page: