Difference between revisions of "Converter .po e .ts a .tmx"

From Proxecto Trasno
(Converter varios ficheiros .po a un só ficheiro .tmx)
Line 23: Line 23:
  
 
=== Converter varios ficheiros .po a un só ficheiro .tmx ===
 
=== Converter varios ficheiros .po a un só ficheiro .tmx ===
::<code>find *.po > TodoUbuntu1204.txt</code>
+
Empregamos como exemplo a obtención dun ficheiro.tmx que conteña as traducións do Ubuntu 12.04 Precise
 +
:1.- Imos á páxina:
 +
::https://translations.launchpad.net/ubuntu/precise/+language-packs
 +
::á dereita fixamonos en:
 +
:::Latest language packs
 +
:::Base pack:  '''<font color="#2554C7">2012-05-08 10:57:58 UTC</font>'''
 +
::Premendo na data/hora accedemos á descarga du ficheiro .tar.gz
 +
:2.- Unha vez descargado, descomprimimolo e buscamos o «noso paquete de idioma» e accedemos a el
 +
::<code>cd /rosetta-maverick/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 desde esta localización desde o terminal.
 +
:4.- O primeiro que imos facer é construir un ficheiro cun listado de todos os ficheiros «.po» teñamos
 +
::<code>find LC_MESSAGES/*.po > TodoUbuntu1204.txt</code>
 +
:5.- A seguir construiremos un único ficheiro «.po»
 
::<code>msgcat -f TodoUbuntu1204.txt -u -o TodoUbuntu1204.po</code>
 
::<code>msgcat -f TodoUbuntu1204.txt -u -o TodoUbuntu1204.po</code>
 +
:6.- e pra rematar, constrimos o ficheiro «.tmx» resultante
 
::<code>po2tmx -l gl TodoUbuntu1204.po TodoUbuntu1204.tmx</code>
 
::<code>po2tmx -l gl TodoUbuntu1204.po TodoUbuntu1204.tmx</code>
  

Revision as of 18:36, 16 June 2012

Este como está disponible en
Error creating thumbnail: Unable to save thumbnail to destination
castellano en el wiki de Galpon.
This HowTo is available in
Error creating thumbnail: Unable to save thumbnail to destination
english in the in this wiki.

Traballo básico

Converter un só ficheiro .po a .tmx

Neste caso empregaremos as ferramentas «translate-toolkit», pare elo, se non dispomos delas, teremos que instalalas xunto coas de desenvolvemento «python» e «python-dev»

  • En Debian:
apt-get install translate-toolkit python python-dev

É tan sinxelo como executar, nun terminal, a seguinte orde:

	po2tmx ficheiro.po -l gl ficheiro.tmx

	   ↓        ↓       ↓  ↓      ↓
	   ↓        ↓       ↓  ↓      nome que terá o ficheiro «.tmx» resultante 
	   ↓        ↓       ↓  código do idioma final (ocmo parámetro da opción -l)           
	   ↓        ↓       opción (obrigatoria) para indicar o idioma final (do .tmx) 
	   ↓        nome do ficheiro «.po» orixinal
	   orde de conversión po a(to) 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

1.- Imos á páxina:
https://translations.launchpad.net/ubuntu/precise/+language-packs
á dereita fixamonos en:
Latest language packs
Base pack: 2012-05-08 10:57:58 UTC
Premendo na data/hora accedemos á descarga du ficheiro .tar.gz
2.- Unha vez descargado, descomprimimolo e buscamos o «noso paquete de idioma» e accedemos a el
cd /rosetta-maverick/gl
3.- A fin de traballar nun cartafol no que non teñamos que andar perdidos entre un feixe de ficheiros, faremos todo o traballo desde esta localización desde o terminal.
4.- O primeiro que imos facer é construir un ficheiro cun listado de todos os ficheiros «.po» teñamos
find LC_MESSAGES/*.po > TodoUbuntu1204.txt
5.- A seguir construiremos un único ficheiro «.po»
msgcat -f TodoUbuntu1204.txt -u -o TodoUbuntu1204.po
6.- e pra rematar, constrimos o ficheiro «.tmx» resultante
po2tmx -l gl TodoUbuntu1204.po TodoUbuntu1204.tmx

Operacións complexas

Automatizando o proceso

#!/bin/sh

POdir=LC_MESSAGES
#POdir=PO

if [ ! -f ~/TMXMerger/TMXMerger-1.1.jar ]; then
    echo ""
    echo "AVISO:"
    echo ""
    echo "ten que obter o ficheiro TMXMerger.zip"
    echo "e descomprimilo no seu directorio persoal"
    echo ""
    echo "Pode obtelo en:"
    echo "    http://www.omegat.org/en/resources.html"
    echo ""
    exit
fi


find $POdir/ *.po  > POlist
sed -i "s+$POdir\/++" POlist
sed -i "s+.po++" POlist

[ -d TMX ] || mkdir TMX

cat POlist | while read poname

do
  po2tmx $POdir/$poname.po -l gl TMX/$poname.tmx
done

[ -d TMXmerged ] || mkdir TMXmerged

java -jar ~/TMXMerger/TMXMerger-1.1.jar source=gl TMX/*.tmx TMXmerged/Total.tmx