odf2xliff doesn't extract all the text #3239

Closed
shaforostoff opened this Issue Dec 15, 2014 · 5 comments

Comments

Projects
None yet
3 participants
@shaforostoff

shaforostoff commented Dec 15, 2014

i use 1.12 (had problems installing 1.13rc on osx)

odf2xliff test.odt test.xlf

creates xliff files with only one translation unit containing the title (Chile)
test.odt: http://nekaka.com/d/6wo0qeVi8O
created by libreoffice 4.1.2.3 (win)

@siabefei

This comment has been minimized.

Show comment
Hide comment
@siabefei

siabefei Sep 1, 2015

I confirm this issue.
LibreOffice: Version: 4.2.8.2 Build ID: 420m0(Build:2) (Ubuntu 14.04)
I use ODF1.1, because of [1]. Proved with several docs.... all of them miss some text.

[1] http://translate-toolkit.readthedocs.org/en/latest/formats/odf.html

siabefei commented Sep 1, 2015

I confirm this issue.
LibreOffice: Version: 4.2.8.2 Build ID: 420m0(Build:2) (Ubuntu 14.04)
I use ODF1.1, because of [1]. Proved with several docs.... all of them miss some text.

[1] http://translate-toolkit.readthedocs.org/en/latest/formats/odf.html

@claudep

This comment has been minimized.

Show comment
Hide comment
@claudep

claudep Sep 1, 2015

Member

I think that there is a problem when a normally translatable unit contains only inline elements, like <text:p><text:span>One</text:span><text:span>Two</text:span></text:p>. The Translatable.has_translatable_text property returns false because there aren't any direct text content. It's a guess however...

Member

claudep commented Sep 1, 2015

I think that there is a problem when a normally translatable unit contains only inline elements, like <text:p><text:span>One</text:span><text:span>Two</text:span></text:p>. The Translatable.has_translatable_text property returns false because there aren't any direct text content. It's a guess however...

@siabefei

This comment has been minimized.

Show comment
Hide comment
@siabefei

siabefei Sep 2, 2015

This is an example:
From content.xml:

<text:p text:style-name="Normal">A partir de ahora se detallan las actividades llevadas a cabo en 2014, comenzando a describir la nueva dirección del proyecto a la que se hace referencia en la tabla 4. En este 2014
  <text:span text:style-name="Fuente_20_de_20_párrafo_20_predeter.">
    <text:span text:style-name="T1"> el trabajo de los investigadores ha sido el siguiente:</text:span>
  </text:span>
</text:p>
<text:p text:style-name="P3">Partiendo <text:s/>del estado actual del proyecto en enero de 2014 (Fin Fase V) comenzar con la Fase VI y Fase VII del proyecto. Estas fases son nuevas, debidas al cambio del proyecto. </text:p>
<text:h text:style-name="Título_20_4" text:outline-level="4"><text:span text:style-name="Fuente_20_de_20_párrafo_20_predeter."><text:span text:style-name="T1">Nueva dirección del proyecto</text:span></text:span></text:h>
<text:p text:style-name="Normal">A finales de 2013 el equipo de investigación de X detectó una necesidad de cambio en el prototipo desarrollado, a raíz de la realización de las pruebas de Safe-Health, al probar con personas <text:s/>físicas el proyecto (Subfase “pruebas con Personal Hospitalario”), y vio que el proyecto original del test no iba a ser posible porque el nuevo prototipo no encajaba dentro del “Workflow” o sistema de trabajo de un hospital. </text:p>

An this is odf2xliff created output:

<trans-unit xml:space="preserve" id="office:document-content[0]/office:body[0]/office:text[0]/text:p[6]">
  <source>A partir de ahora se detallan las actividades llevadas a cabo en 2014, comenzando a describir la nueva dirección del proyecto a la que se hace referencia en la tabla 4. En este 2014<g id="33"><g id="34"> el trabajo de los investigadores ha sido el siguiente:</g></g></source>
</trans-unit>
<trans-unit xml:space="preserve" id="office:document-content[0]/office:body[0]/office:text[0]/text:p[7]">
  <source>Partiendo <g id="35"/>del estado actual del proyecto en enero de 2014 (Fin Fase V) comenzar con la Fase VI y Fase VII del proyecto. Estas fases son nuevas, debidas al cambio del proyecto. </source>
</trans-unit>
<trans-unit xml:space="preserve" id="office:document-content[0]/office:body[0]/office:text[0]/text:p[8]">
  <source>A finales de 2013 el equipo de investigación de X detectó una necesidad de cambio en el prototipo desarrollado, a raíz de la realización de las pruebas de Safe-Health, al probar con personas <g id="36"/>físicas el proyecto (Subfase “pruebas con Personal Hospitalario”), y vio que el proyecto original del test no iba a ser posible porque el nuevo prototipo no encajaba dentro del “Workflow” o sistema de trabajo de un hospital. </source>
</trans-unit>

Thnx

siabefei commented Sep 2, 2015

This is an example:
From content.xml:

<text:p text:style-name="Normal">A partir de ahora se detallan las actividades llevadas a cabo en 2014, comenzando a describir la nueva dirección del proyecto a la que se hace referencia en la tabla 4. En este 2014
  <text:span text:style-name="Fuente_20_de_20_párrafo_20_predeter.">
    <text:span text:style-name="T1"> el trabajo de los investigadores ha sido el siguiente:</text:span>
  </text:span>
</text:p>
<text:p text:style-name="P3">Partiendo <text:s/>del estado actual del proyecto en enero de 2014 (Fin Fase V) comenzar con la Fase VI y Fase VII del proyecto. Estas fases son nuevas, debidas al cambio del proyecto. </text:p>
<text:h text:style-name="Título_20_4" text:outline-level="4"><text:span text:style-name="Fuente_20_de_20_párrafo_20_predeter."><text:span text:style-name="T1">Nueva dirección del proyecto</text:span></text:span></text:h>
<text:p text:style-name="Normal">A finales de 2013 el equipo de investigación de X detectó una necesidad de cambio en el prototipo desarrollado, a raíz de la realización de las pruebas de Safe-Health, al probar con personas <text:s/>físicas el proyecto (Subfase “pruebas con Personal Hospitalario”), y vio que el proyecto original del test no iba a ser posible porque el nuevo prototipo no encajaba dentro del “Workflow” o sistema de trabajo de un hospital. </text:p>

An this is odf2xliff created output:

<trans-unit xml:space="preserve" id="office:document-content[0]/office:body[0]/office:text[0]/text:p[6]">
  <source>A partir de ahora se detallan las actividades llevadas a cabo en 2014, comenzando a describir la nueva dirección del proyecto a la que se hace referencia en la tabla 4. En este 2014<g id="33"><g id="34"> el trabajo de los investigadores ha sido el siguiente:</g></g></source>
</trans-unit>
<trans-unit xml:space="preserve" id="office:document-content[0]/office:body[0]/office:text[0]/text:p[7]">
  <source>Partiendo <g id="35"/>del estado actual del proyecto en enero de 2014 (Fin Fase V) comenzar con la Fase VI y Fase VII del proyecto. Estas fases son nuevas, debidas al cambio del proyecto. </source>
</trans-unit>
<trans-unit xml:space="preserve" id="office:document-content[0]/office:body[0]/office:text[0]/text:p[8]">
  <source>A finales de 2013 el equipo de investigación de X detectó una necesidad de cambio en el prototipo desarrollado, a raíz de la realización de las pruebas de Safe-Health, al probar con personas <g id="36"/>físicas el proyecto (Subfase “pruebas con Personal Hospitalario”), y vio que el proyecto original del test no iba a ser posible porque el nuevo prototipo no encajaba dentro del “Workflow” o sistema de trabajo de un hospital. </source>
</trans-unit>

Thnx

@siabefei

This comment has been minimized.

Show comment
Hide comment
@siabefei

siabefei Sep 2, 2015

And here another example:

<office:body>
  <office:text text:use-soft-page-breaks="true">
    <text:sequence-decls>
      <text:sequence-decl text:display-outline-level="0" text:name="Illustration"/>
      <text:sequence-decl text:display-outline-level="0" text:name="Table"/>
      <text:sequence-decl text:display-outline-level="0" text:name="Text"/>
      <text:sequence-decl text:display-outline-level="0" text:name="Drawing"/>
    </text:sequence-decls>
    <table:table table:name="Table1" table:style-name="Table1">
      <table:table-column table:style-name="Table1.A"/>
      <table:table-row table:style-name="Table1.1">
        <table:table-cell table:style-name="Table1.A1" office:value-type="string">
          <text:p text:style-name="P2">[NUEVO LOGO]</text:p></table:table-cell>
      </table:table-row>
    </table:table>
    <text:p text:style-name="P3">
      <text:span text:style-name="Fuente_20_de_20_párrafo_20_predeter.">
        <text:span text:style-name="T2">CONDICIONES GENERALES DE SERVICIO<text:line-break/></text:span>
      </text:span>
      <text:span text:style-name="Fuente_20_de_20_párrafo_20_predeter.">
        <text:span text:style-name="T1">Agosto 2015</text:span>
      </text:span>
    </text:p>
    <text:p text:style-name="P4">PARTE I<text:line-break/>DISPOSICIONES GENERALES</text:p>
    <text:p text:style-name="P5">1.- ÁMBITO OBJETIVO, SUBJETIVO Y ACEPTACIÓN</text:p>
    <text:p text:style-name="P7">
      <text:span text:style-name="Fuente_20_de_20_párrafo_20_predeter.">
        <text:span text:style-name="T3">1.1. </text:span>
      </text:span>
      <text:span text:style-name="Fuente_20_de_20_párrafo_20_predeter.">
        <text:span text:style-name="T4">Condiciones Generales.-</text:span>
      </text:span>
      <text:span text:style-name="Fuente_20_de_20_párrafo_20_predeter.">
        <text:span text:style-name="T3"> Las presentes condiciones generales (las </text:span>
      </text:span>
      <text:span text:style-name="Fuente_20_de_20_párrafo_20_predeter.">
        <text:span text:style-name="T5">Condiciones Generales</text:span>
      </text:span>

      [many other lines...]

      <text:p text:style-name="P8">(i) El Cliente deberá suministrar sus datos...</text:p>

odf2xliff output:

<?xml version='1.0' encoding='utf-8'?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.1" version="1.1">
  <file original="CG apartado en web ago 15.odt" source-language="en" datatype="plaintext">
    <body>
      <trans-unit xml:space="preserve" id="office:document-content[0]/office:body[0]/office:text[0]/table:table[0]/table:table-row[0]/table:table-cell[0]/text:p[0]">
        <source>[NUEVO LOGO]</source>
      </trans-unit>
      <trans-unit xml:space="preserve" id="office:document-content[0]/office:body[0]/office:text[0]/text:p[1]">
        <source>PARTE I<g id="0"/>DISPOSICIONES GENERALES</source>
      </trans-unit>
      <trans-unit xml:space="preserve" id="office:document-content[0]/office:body[0]/office:text[0]/text:p[2]">
        <source>1.-<g id="1"/>ÁMBITO<g id="2"/>OBJETIVO,<g id="3"/>SUBJETIVO Y<g id="4"/>ACEPTACIÓN</source>
      </trans-unit>
      <trans-unit xml:space="preserve" id="office:document-content[0]/office:body[0]/office:text[0]/text:p[23]">
        <source>(i)<g id="5"/>El Cliente deberá suministrar sus datos...</source>
      </trans-unit>

Thnx

siabefei commented Sep 2, 2015

And here another example:

<office:body>
  <office:text text:use-soft-page-breaks="true">
    <text:sequence-decls>
      <text:sequence-decl text:display-outline-level="0" text:name="Illustration"/>
      <text:sequence-decl text:display-outline-level="0" text:name="Table"/>
      <text:sequence-decl text:display-outline-level="0" text:name="Text"/>
      <text:sequence-decl text:display-outline-level="0" text:name="Drawing"/>
    </text:sequence-decls>
    <table:table table:name="Table1" table:style-name="Table1">
      <table:table-column table:style-name="Table1.A"/>
      <table:table-row table:style-name="Table1.1">
        <table:table-cell table:style-name="Table1.A1" office:value-type="string">
          <text:p text:style-name="P2">[NUEVO LOGO]</text:p></table:table-cell>
      </table:table-row>
    </table:table>
    <text:p text:style-name="P3">
      <text:span text:style-name="Fuente_20_de_20_párrafo_20_predeter.">
        <text:span text:style-name="T2">CONDICIONES GENERALES DE SERVICIO<text:line-break/></text:span>
      </text:span>
      <text:span text:style-name="Fuente_20_de_20_párrafo_20_predeter.">
        <text:span text:style-name="T1">Agosto 2015</text:span>
      </text:span>
    </text:p>
    <text:p text:style-name="P4">PARTE I<text:line-break/>DISPOSICIONES GENERALES</text:p>
    <text:p text:style-name="P5">1.- ÁMBITO OBJETIVO, SUBJETIVO Y ACEPTACIÓN</text:p>
    <text:p text:style-name="P7">
      <text:span text:style-name="Fuente_20_de_20_párrafo_20_predeter.">
        <text:span text:style-name="T3">1.1. </text:span>
      </text:span>
      <text:span text:style-name="Fuente_20_de_20_párrafo_20_predeter.">
        <text:span text:style-name="T4">Condiciones Generales.-</text:span>
      </text:span>
      <text:span text:style-name="Fuente_20_de_20_párrafo_20_predeter.">
        <text:span text:style-name="T3"> Las presentes condiciones generales (las </text:span>
      </text:span>
      <text:span text:style-name="Fuente_20_de_20_párrafo_20_predeter.">
        <text:span text:style-name="T5">Condiciones Generales</text:span>
      </text:span>

      [many other lines...]

      <text:p text:style-name="P8">(i) El Cliente deberá suministrar sus datos...</text:p>

odf2xliff output:

<?xml version='1.0' encoding='utf-8'?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.1" version="1.1">
  <file original="CG apartado en web ago 15.odt" source-language="en" datatype="plaintext">
    <body>
      <trans-unit xml:space="preserve" id="office:document-content[0]/office:body[0]/office:text[0]/table:table[0]/table:table-row[0]/table:table-cell[0]/text:p[0]">
        <source>[NUEVO LOGO]</source>
      </trans-unit>
      <trans-unit xml:space="preserve" id="office:document-content[0]/office:body[0]/office:text[0]/text:p[1]">
        <source>PARTE I<g id="0"/>DISPOSICIONES GENERALES</source>
      </trans-unit>
      <trans-unit xml:space="preserve" id="office:document-content[0]/office:body[0]/office:text[0]/text:p[2]">
        <source>1.-<g id="1"/>ÁMBITO<g id="2"/>OBJETIVO,<g id="3"/>SUBJETIVO Y<g id="4"/>ACEPTACIÓN</source>
      </trans-unit>
      <trans-unit xml:space="preserve" id="office:document-content[0]/office:body[0]/office:text[0]/text:p[23]">
        <source>(i)<g id="5"/>El Cliente deberá suministrar sus datos...</source>
      </trans-unit>

Thnx

shaforostoff pushed a commit to shaforostoff/translate that referenced this issue Apr 16, 2016

@shaforostoff

This comment has been minimized.

Show comment
Hide comment
@shaforostoff

shaforostoff Apr 16, 2016

@claudep: thank you for the code hint, it was easy enough to fix the issue once i knew where to start. my first python experience in the last 5 years, wow ))

@claudep: thank you for the code hint, it was easy enough to fix the issue once i knew where to start. my first python experience in the last 5 years, wow ))

shaforostoff pushed a commit to shaforostoff/translate that referenced this issue May 5, 2016

shaforostoff pushed a commit to shaforostoff/translate that referenced this issue May 6, 2016

@unho unho closed this in c9ff48a May 6, 2016

unho added a commit that referenced this issue May 6, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment