Editing Converter traducións preexistentes desde diversos formatos a .po

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:
 
== Introdución ==
 
== Introdución ==
 
Moi a miúdo os ficheiros de tradución non están no formato PO de Gettext. Gettext é o formato de tradución máis empregado na tradución de software libre, e ese gran uso é debido á gran cantidade de ferramentas que facilitan o traballo con dito formato. Pero a maioría deses outros formatos non gozan desta vantaxe. Afortunadamente normalmente é posíbel converter ditos ficheiros ao formato PO de Gettext, pero para sacar o máximo proveito de traducións xa realizadas (tanto neses proxectos como en outros) é necesario recuperar as traducións preexistentes para empregalas como memorias de tradución que fornezan traducións xa realizadas cando se están traducindo novas cadeas e aforrarlle así traballo ao tradutor.
 
Moi a miúdo os ficheiros de tradución non están no formato PO de Gettext. Gettext é o formato de tradución máis empregado na tradución de software libre, e ese gran uso é debido á gran cantidade de ferramentas que facilitan o traballo con dito formato. Pero a maioría deses outros formatos non gozan desta vantaxe. Afortunadamente normalmente é posíbel converter ditos ficheiros ao formato PO de Gettext, pero para sacar o máximo proveito de traducións xa realizadas (tanto neses proxectos como en outros) é necesario recuperar as traducións preexistentes para empregalas como memorias de tradución que fornezan traducións xa realizadas cando se están traducindo novas cadeas e aforrarlle así traballo ao tradutor.
 +
  
  
Line 8: Line 9:
 
O primeiro paso consiste en saber cal é a codificación de caracteres que está empregando o ficheiro que se desexa converter:
 
O primeiro paso consiste en saber cal é a codificación de caracteres que está empregando o ficheiro que se desexa converter:
  
:<code>$ file -bi FICHEIRO</code>
+
<code>$ file -bi FICHEIRO</code>
  
 
A orde anterior indica cal é a codificación de caracteres. Para o galego adoitan ser '''ISO-8859-15''', '''ISO-8859-1''', '''ASCII''' ou '''UTF-8''' (este último caso non nos preocupa). A continuación hai que converter a codificación de caracteres desde a indicada pola orde anterior á codificación de caracteres desexada, que é '''UTF-8''':
 
A orde anterior indica cal é a codificación de caracteres. Para o galego adoitan ser '''ISO-8859-15''', '''ISO-8859-1''', '''ASCII''' ou '''UTF-8''' (este último caso non nos preocupa). A continuación hai que converter a codificación de caracteres desde a indicada pola orde anterior á codificación de caracteres desexada, que é '''UTF-8''':
  
:<code> $ iconv -f ISO-8859-15 -t UTF-8 -o FICHEIRO_UTF8 FICHEIRO</code>
+
<code>
 +
$ iconv -f ISO-8859-15 -t UTF-8 -o FICHEIRO_UTF8 FICHEIRO
  
:<code> $ iconv -f ISO-8859-1 -t UTF-8 -o FICHEIRO_UTF8 FICHEIRO</code>
+
$ iconv -f ISO-8859-1 -t UTF-8 -o FICHEIRO_UTF8 FICHEIRO
  
:<code> $ iconv -f ASCII -t UTF-8 -o FICHEIRO_UTF8 FICHEIRO</code>
+
$ iconv -f ASCII -t UTF-8 -o FICHEIRO_UTF8 FICHEIRO
 +
</code>
  
 
Unha vez convertidos os ficheiros a UTF-8 xa se pode traballar sen problemas con eles.  
 
Unha vez convertidos os ficheiros a UTF-8 xa se pode traballar sen problemas con eles.  
  
 
{{Nota|A veces a conversión non converte ben os caracteres non ASCII, como vogais con tiles ou o ñ. Para saber se a conversión foi correcta hai que abrir o ficheiro resultante e mirar se houbo problemas na conversión (abonda con buscar as primeiras letras con tiles e ver se están ben). En caso de que non se teñan convertido correctamente estes caracteres haberá que resolver este problema, o que pode facerse abrindo o ficheiro resultante cun editor de texto e ir substituíndo os caracteres erróneos polo correspondente carácter.}}
 
{{Nota|A veces a conversión non converte ben os caracteres non ASCII, como vogais con tiles ou o ñ. Para saber se a conversión foi correcta hai que abrir o ficheiro resultante e mirar se houbo problemas na conversión (abonda con buscar as primeiras letras con tiles e ver se están ben). En caso de que non se teñan convertido correctamente estes caracteres haberá que resolver este problema, o que pode facerse abrindo o ficheiro resultante cun editor de texto e ir substituíndo os caracteres erróneos polo correspondente carácter.}}
 +
  
  
Line 26: Line 30:
 
Para converter un ficheiro CSV con tres columnas (localización, orixinal e tradución) a formato PO abonda con executar a seguinte orde:
 
Para converter un ficheiro CSV con tres columnas (localización, orixinal e tradución) a formato PO abonda con executar a seguinte orde:
  
:<code>$ csv2po FICHEIRO.csv FICHEIRO.gl.po</code>
+
<code>$ csv2po FICHEIRO.csv FICHEIRO.gl.po</code>
  
 
En caso de que as tres columnas estean nunha orde diferente hai que indicarlle ao conversor cal é a orde das columnas:
 
En caso de que as tres columnas estean nunha orde diferente hai que indicarlle ao conversor cal é a orde das columnas:
  
:<code>$ csv2po --columnorder=location,target,source FICHEIRO.gl.csv FICHEIRO.gl.po</code>
+
<code>$ csv2po --columnorder=location,target,source FICHEIRO.gl.csv FICHEIRO.gl.po</code>
  
 
{{Nota|Este método serve para converter calquera folla de cálculo a PO, previa conversión da folla de cálculo a CSV o que se pode conseguir abrindo a folla de cálculo e gardándoa como CSV, por exemplo con LibreOffice Calc.}}
 
{{Nota|Este método serve para converter calquera folla de cálculo a PO, previa conversión da folla de cálculo a CSV o que se pode conseguir abrindo a folla de cálculo e gardándoa como CSV, por exemplo con LibreOffice Calc.}}
  
 
{{Nota|é necesario ter instalado o Translate Toolkit: <code>$ apt-get install translate-toolkit python python-dev</code>.}}
 
{{Nota|é necesario ter instalado o Translate Toolkit: <code>$ apt-get install translate-toolkit python python-dev</code>.}}
 +
  
  
Line 40: Line 45:
 
Para converter dous ficheiros PHP (un do inglés e o outro coas correspondentes traducións ao galego) abonda con executar a seguinte orde:
 
Para converter dous ficheiros PHP (un do inglés e o outro coas correspondentes traducións ao galego) abonda con executar a seguinte orde:
  
:<code>$ php2po -t FICHEIRO.en.php FICHEIRO.gl.php FICHEIRO.gl.po</code>
+
<code>$ php2po -t FICHEIRO.en.php FICHEIRO.gl.php FICHEIRO.gl.po</code>
  
 
No caso de que haxa moitos ficheiros PHP para converter pode realizarse unha conversión en lote executando a seguinte orde:
 
No caso de que haxa moitos ficheiros PHP para converter pode realizarse unha conversión en lote executando a seguinte orde:
  
:<code>$ php2po -t english/ galician/ po/</code>
+
<code>$ php2po -t english/ galician/ po/</code>
  
 
onde no directorio ''english'' estarían os ficheiros PHP do inglés, no directorio ''galician'' os do galego, e no ''po'' gardarianse os ficheiros PO resultantes da conversión.
 
onde no directorio ''english'' estarían os ficheiros PHP do inglés, no directorio ''galician'' os do galego, e no ''po'' gardarianse os ficheiros PO resultantes da conversión.
Line 64: Line 69:
 
Para converter un ficheiro XLIFF abonda con executar a seguinte orde:
 
Para converter un ficheiro XLIFF abonda con executar a seguinte orde:
  
:<code>$ xliff2po FICHEIRO.gl.xlf FICHEIRO.gl.po</code>
+
<code>$ xliff2po FICHEIRO.gl.xlf FICHEIRO.gl.po</code>
  
 
No caso de que haxa moitos ficheiros para converter pode realizarse unha conversión en lote executando a seguinte orde:
 
No caso de que haxa moitos ficheiros para converter pode realizarse unha conversión en lote executando a seguinte orde:
  
:<code>$ xliff2po xliff/ po/</code>
+
<code>$ xliff2po xliff/ po/</code>
  
 
onde no directorio ''xliff'' estarían os ficheiros XLIFF, e no ''po'' gardaríanse os ficheiros PO resultantes da conversión.
 
onde no directorio ''xliff'' estarían os ficheiros XLIFF, e no ''po'' gardaríanse os ficheiros PO resultantes da conversión.
  
 
{{Nota|é necesario ter instalado o Translate Toolkit, a poder ser a última versión: <code>$ apt-get install translate-toolkit python python-dev</code>.}}
 
{{Nota|é necesario ter instalado o Translate Toolkit, a poder ser a última versión: <code>$ apt-get install translate-toolkit python python-dev</code>.}}
 
  
 
=== Conversión de traducións preexistentes en formato PROPERTIES de Java a PO ===
 
=== Conversión de traducións preexistentes en formato PROPERTIES de Java a PO ===
 
Para converter dous ficheiros PROPERTIES (un do inglés e o outro coas correspondentes traducións ao galego) abonda con executar a seguinte orde:
 
Para converter dous ficheiros PROPERTIES (un do inglés e o outro coas correspondentes traducións ao galego) abonda con executar a seguinte orde:
  
:<code>$ prop2po --duplicates=msgctxt -t FICHEIRO.en.properties FICHEIRO.gl.properties FICHEIRO.gl.po</code>
+
<code>$ prop2po --duplicates=msgctxt -t FICHEIRO.en.properties FICHEIRO.gl.properties FICHEIRO.gl.po</code>
  
 
{{Nota|O conversor prop2po require que os ficheiros PROPERTIES teñan extensión .properties.}}
 
{{Nota|O conversor prop2po require que os ficheiros PROPERTIES teñan extensión .properties.}}
Line 85: Line 89:
  
 
{{Nota|é necesario ter instalado o Translate Toolkit: <code>$ apt-get install translate-toolkit python python-dev</code>.}}
 
{{Nota|é necesario ter instalado o Translate Toolkit: <code>$ apt-get install translate-toolkit python python-dev</code>.}}
 +
  
  
Line 90: Line 95:
 
Para converter dous ficheiros INI (un do inglés e o outro coas correspondentes traducións ao galego) abonda con executar a seguinte orde:
 
Para converter dous ficheiros INI (un do inglés e o outro coas correspondentes traducións ao galego) abonda con executar a seguinte orde:
  
:<code>$ ini2po -t FICHEIRO.en.ini FICHEIRO.gl.ini FICHEIRO.gl.po</code>
+
<code>$ ini2po -t FICHEIRO.en.ini FICHEIRO.gl.ini FICHEIRO.gl.po</code>
  
 
{{Nota|O conversor ini2po require que os ficheiros INI teñan unha '''sección ao comezo''' do ficheiro.}}
 
{{Nota|O conversor ini2po require que os ficheiros INI teñan unha '''sección ao comezo''' do ficheiro.}}
Line 97: Line 102:
  
 
{{Nota|é necesario ter instalado o Translate Toolkit: <code>$ apt-get install translate-toolkit python python-dev</code>.}}
 
{{Nota|é necesario ter instalado o Translate Toolkit: <code>$ apt-get install translate-toolkit python python-dev</code>.}}
 +
  
  
Line 102: Line 108:
 
Para converter un ficheiro TS abonda con executar a seguinte orde:
 
Para converter un ficheiro TS abonda con executar a seguinte orde:
 
      
 
      
:<code>$ lconvert -i FICHEIRO.gl.ts -o FICHEIRO.gl.po</code>
+
<code>$ lconvert -i FICHEIRO.gl.ts -o FICHEIRO.gl.po</code>
  
 
{{Nota|lconvert é parte do Qt's Linguist tool chain que normalmente non está instalado. O paquete a instalar varía, pero pode estar no paquete de desenvolvemento de Qt.}}
 
{{Nota|lconvert é parte do Qt's Linguist tool chain que normalmente non está instalado. O paquete a instalar varía, pero pode estar no paquete de desenvolvemento de Qt.}}
 +
  
  
Line 110: Line 117:
 
Para converter un ficheiro QM abonda con executar a seguinte orde:
 
Para converter un ficheiro QM abonda con executar a seguinte orde:
 
      
 
      
:<code>$ lconvert -i FICHEIRO.gl.qm -o FICHEIRO.gl.po --source-language en --target-language gl</code>
+
<code>$ lconvert -i FICHEIRO.gl.qm -o FICHEIRO.gl.po --source-language en --target-language gl</code>
  
 
{{Nota|lconvert é parte do Qt's Linguist tool chain que normalmente non está instalado. O paquete a instalar varía, pero pode estar no paquete de desenvolvemento de Qt.}}
 
{{Nota|lconvert é parte do Qt's Linguist tool chain que normalmente non está instalado. O paquete a instalar varía, pero pode estar no paquete de desenvolvemento de Qt.}}
 +
  
  
Line 120: Line 128:
 
Primeiro créase un proxecto novo:
 
Primeiro créase un proxecto novo:
  
:<code>$ sphinx-quickstart</code>
+
<code>$ sphinx-quickstart</code>
  
 
A continuación copianse os ficheiros .rst do inglés ao proxecto, e engádense referencias a estes ficheiros no ficheiro index.rst creado por sphinx-quickstart. Consulte o [http://sphinx-doc.org/tutorial.html#defining-document-structure titorial de Sphinx] se ten dúbidas.
 
A continuación copianse os ficheiros .rst do inglés ao proxecto, e engádense referencias a estes ficheiros no ficheiro index.rst creado por sphinx-quickstart. Consulte o [http://sphinx-doc.org/tutorial.html#defining-document-structure titorial de Sphinx] se ten dúbidas.
Line 126: Line 134:
 
Despois hai que executar a seguinte orde para xerar ficheiros POT para os ficheiros .rst:
 
Despois hai que executar a seguinte orde para xerar ficheiros POT para os ficheiros .rst:
  
:<code>$ make gettext</code>
+
<code>$ make gettext</code>
  
 
Unha vez obtidos os ficheiros POT créanse os correspondentes ficheiros PO para o galego, e vanse copiando manualmente un a un os textos dos ficheiros reStructuredText do galego no campo correspondente dos PO.
 
Unha vez obtidos os ficheiros POT créanse os correspondentes ficheiros PO para o galego, e vanse copiando manualmente un a un os textos dos ficheiros reStructuredText do galego no campo correspondente dos PO.
  
 
{{Nota|Sphinx normalmente non está instalado. Consulta a [http://sphinx-doc.org/install.html páxina de descarga] ou instala o paquete correspondente da túa distribución.}}
 
{{Nota|Sphinx normalmente non está instalado. Consulta a [http://sphinx-doc.org/install.html páxina de descarga] ou instala o paquete correspondente da túa distribución.}}
 +
  
  
Line 136: Line 145:
 
A conversión de TXT a PO non é automática. Para elo primeiro hai que crear o POT do inglés:
 
A conversión de TXT a PO non é automática. Para elo primeiro hai que crear o POT do inglés:
  
:<code>$ txt2po -i FICHEIRO.en.txt -P -o FICHEIRO.pot</code>
+
<code>$ txt2po -i FICHEIRO.en.txt -P -o FICHEIRO.pot</code>
  
 
A continuación hai que crear un ficheiro PO para o galego a partir do POT, e ir copiando manualmente un a un os textos do TXT do galego no campo correspondente do PO.
 
A continuación hai que crear un ficheiro PO para o galego a partir do POT, e ir copiando manualmente un a un os textos do TXT do galego no campo correspondente do PO.
  
 
{{Nota|é necesario ter instalado o Translate Toolkit: <code>$ apt-get install translate-toolkit python python-dev</code>.}}
 
{{Nota|é necesario ter instalado o Translate Toolkit: <code>$ apt-get install translate-toolkit python python-dev</code>.}}
 +
  
  
Line 146: Line 156:
 
A conversión de HTML a PO non é automática. Para elo primeiro hai que crear o POT do inglés:
 
A conversión de HTML a PO non é automática. Para elo primeiro hai que crear o POT do inglés:
  
:<code>$ html2po -i FICHEIRO.en.html -P -o FICHEIRO.pot</code>
+
 
 +
<code>$ html2po -i FICHEIRO.en.html -P -o FICHEIRO.pot</code>
  
 
A continuación hai que crear un ficheiro PO para o galego a partir do POT, e ir copiando manualmente un a un os textos do HTML do galego no campo correspondente do PO.
 
A continuación hai que crear un ficheiro PO para o galego a partir do POT, e ir copiando manualmente un a un os textos do HTML do galego no campo correspondente do PO.
  
 
{{Nota|é necesario ter instalado o Translate Toolkit: <code>$ apt-get install translate-toolkit python python-dev</code>.}}
 
{{Nota|é necesario ter instalado o Translate Toolkit: <code>$ apt-get install translate-toolkit python python-dev</code>.}}
 +
  
  
Line 156: Line 168:
 
Para converter dous ficheiros YAML (un do inglés e o outro coas correspondentes traducións ao galego) abonda con executar a seguinte orde:
 
Para converter dous ficheiros YAML (un do inglés e o outro coas correspondentes traducións ao galego) abonda con executar a seguinte orde:
  
:<code>$ ./yaml2po -l gl -t FICHEIRO.en.yml FICHEIRO.gl.yml FICHEIRO.gl.po</code>
+
<code>$ ./yaml2po -l gl -t FICHEIRO.en.yml FICHEIRO.gl.yml FICHEIRO.gl.po</code>
  
 
{{Nota|yaml2po pode obterse no seguinte [https://github.com/unho/yaml2po repositorio].}}
 
{{Nota|yaml2po pode obterse no seguinte [https://github.com/unho/yaml2po repositorio].}}
  
 
{{Nota|Lembre darlle permisos de execución a yaml2po, por exemplo executando '''chmod +x yaml2po'''.}}
 
{{Nota|Lembre darlle permisos de execución a yaml2po, por exemplo executando '''chmod +x yaml2po'''.}}
 +
  
  
Line 167: Line 180:
  
 
Ademais este tipo de ficheiros adoita requirir unha conversión da codificación de caracteres e a substitución de caracteres, por exemplo '''\r\n''' por '''\n'''.
 
Ademais este tipo de ficheiros adoita requirir unha conversión da codificación de caracteres e a substitución de caracteres, por exemplo '''\r\n''' por '''\n'''.
 +
  
  

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: