OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

xliff message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: RE: [xliff] Call for testers: xliffRoundTrip Tool upgrade to XLIFF 1.2


Title: Message

Hi Bryan,

 

I can spend some time trying out the compiled version.

BTW: xliffRoundTrip is the base for one of the extract-merge module in Drupal :)

 

Cheers,

-ys

 

From: bryan.s.schnabel@tektronix.com [mailto:bryan.s.schnabel@tektronix.com]
Sent: Friday, May 15, 2009 6:04 PM
To: xliff@lists.oasis-open.org
Subject: [xliff] Call for testers: xliffRoundTrip Tool upgrade to XLIFF 1.2

 

Hello,

 

I've finally begun updating my open source xliffRoundTrip Tool. I'm asking for testing help. First, (1) if you have time, please read the explanation of what I've done, and comment on whether you think I'm on the right track. Second, (2) if you have even more time, please volunteer to let me send you a compiled version of my new program, give it a try (test it with some of your samples), and let me know if you think I'm on the right track. Third, (3) if you have even more time, and are comfortable compiling source code, please volunteer to let me send you my new source code, compile it, give it a try (test it with some of your samples), and let me know if you think I'm on the right track. If you volunteer to do either (2) or (3), I will include a list of known bug fixes in the works, so you don't waste your time commenting on them.

 

As for timing, anyone interested in helping at level (1) can do so starting now, by reading the rest of my note. By mid-next-week (maybe May 20) I'll be ready to send compiled beta test versions to those who are interested in helping at level (2). And if you're interested in testing at level (3), I hope to have my source code somewhat presentable by early June.

 

If you don't have any time, that's understandable. If you have time to do at least (1), please read on.

 

Hopefully many of you already know that the xliffRoundTrip Tool works like this:

 

- begin with any well-formed XML source file* - push the "XML to XLIFF" button, and get an XLIFF file

- translate the target strings

- push the "XLIFF to XML" button, and get an identical translated XML file

 

* (at the moment non-namespaced XML source works better - but I hope to handle namespaces in the next version as well)

 

Here's the track I'm taking. The first modest goal is to update the xliffRoundTrip Tool to use XLIFF 1.2 instead of 1.1 (if I'm going to ask tool makers to keep up-to-date with current XLIFF versions, the least I can do is keep my tool up-to-date). The second goal is to incorporate a minimalist approach. i.e., embed the XML source file structure in the XLIFF header (unfortunately I cannot embed XML in the skl element, so it must be embedded into the closest extensible place in the header, which is adjacent to the skl). The third goal is to modify (and debug) the GUI a little bit; pretty it up. Future goals include adding support for ITS, xml:tm, and to make a DITA-specific version.

 

Here's how far I've gotten with my update.

 

Start with any well-formed XML, like this:

(intentionally used a file with very exaggerated nesting, and mixed content)

 

<rooty sort="o12345">
 <just_wrappin id="gabbagabbahey">
  <intro_para id="kickoutthejams">And here's <icon src=""my-pic.png"" alt="hello" /> some <b>text <i>that has</i> some nested</b> texts.</intro_para>
  <wrapped_wrapper2>
   <just_wrappin3>
    <mixed>And here's some more
      <wrap4>
       <inner_wrap5>
        <p id="allalongthewatchtower">Hello world.</p>
        <p1>It's just a beautiful day.</p1>
       </inner_wrap5>
       <one_out>Loose text</one_out>
      </wrap4>
    </mixed>
   </just_wrappin3>
  </wrapped_wrapper2>
 </just_wrappin>
</rooty>

 

Push the "XML to XLIFF" button, and get this:

 

<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2"

        xmlns:xmrk="urn:xmarker" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance

        xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2          xliff-core-1.2-strict.xsd     urn:xmarker      xmarker.xsd" version="1.1">
  <file datatype="plaintext" source-language="en" original="rooty">
   <header>
     <xmrk:nest>
      <rooty xmlns="urn:xmarker" sort="o12345" xmarker_idref="rooty-0">
        <just_wrappin id="gabbagabbahey" xmarker_idref="just_wrappin-1">
         <intro_para id="kickoutthejams" xmarker_idref="intro_para-2">
           <icon src=""my-pic.png"" alt="hello" xmarker_idref="icon-3"/>
           <b xmarker_idref="b-4">
            <i xmarker_idref="i-5"/>
           </b>
         </intro_para>
         <wrapped_wrapper2 xmarker_idref="wrapped_wrapper2-6">
           <just_wrappin3 xmarker_idref="just_wrappin3-7">
            <mixed xmarker_idref="mixed-8">
              <wrap4 xmarker_idref="wrap4-9">
               <inner_wrap5 xmarker_idref="inner_wrap5-10">
                 <p id="allalongthewatchtower" xmarker_idref="p-11"/>
                 <p1 xmarker_idref="p1-12"/>
               </inner_wrap5>
               <one_out xmarker_idref="one_out-13"/>
              </wrap4>
            </mixed>
           </just_wrappin3>
         </wrapped_wrapper2>
        </just_wrappin>
      </rooty>
     </xmrk:nest>
   </header>
   <body>
     <group id="d0e1axmarkrooty-0">
      <group id="d0e2bxmarkjust_wrappin-1">
        <trans-unit id="intro_para-2">
         <source>And here's <x id="icon-3"/> some <g id="b-4">text <g id="i-5">that has</g> some nested</g> texts.</source>
         <target>And here's <x id="icon-3"/> some <g id="b-4">text <g id="i-5">that has</g> some nested</g> texts.</target>
        </trans-unit>
        <group id="d0e13bxmarkwrapped_wrapper2-6">
         <group id="d0e14bxmarkjust_wrappin3-7">
           <trans-unit id="mixed-8">
            <source>And here's some more
              <g id="wrap4-9">
               <g id="inner_wrap5-10">
                 <g id="p-11">Hello world.</g>
                 <g id="p1-12">It's just a beautiful day.</g>
               </g>
               <g id="one_out-13">Loose text</g>
              </g>
            </source>
            <target>And here's some more
              <g id="wrap4-9">
               <g id="inner_wrap5-10">
                 <g id="p-11">Hello world.</g>
                 <g id="p1-12">It's just a beautiful day.</g>
               </g>
               <g id="one_out-13">Loose text</g>
              </g>
            </target>
           </trans-unit>
         </group>
        </group>
      </group>
     </group>
   </body>
  </file>
</xliff>

 

Translate the target strings, like this:

 

<body>
     <group id="d0e1axmarkrooty-0">
      <group id="d0e2bxmarkjust_wrappin-1">
        <trans-unit id="intro_para-2">
         <source>And here's <x id="icon-3"/> some <g id="b-4">text <g id="i-5">that has</g> some nested</g> texts.</source>
         <target>Amw sviv'h <x id="icon-3"/> hlnv <g id="b-4">gvcg <g id="i-5">gszg szh</g> hlnv mvhgvw</g> gvcgh.</target>
        </trans-unit>
        <group id="d0e13bxmarkwrapped_wrapper2-6">
         <group id="d0e14bxmarkjust_wrappin3-7">
           <trans-unit id="mixed-8">
            <source>And here's some more
             <g id="wrap4-9">
               <g id="inner_wrap5-10">
                 <g id="p-11">Hello world.</g>
                 <g id="p1-12">It's just a beautiful day.</g>
               </g>
               <g id="one_out-13">Loose text</g>
              </g>
            </source>
            <target>Amw sviv'h hlnv nliv
              <g id="wrap4-9">
               <g id="inner_wrap5-10">
                 <g id="p-11">Hvool dliow.</g>
                 <g id="p1-12">Ig'h qfhg z xvzfgrufo wzb.</g>
               </g>
               <g id="one_out-13">Lllhv gvcg</g>
              </g>
            </target>
           </trans-unit>
         </group>
        </group>
      </group>
     </group>
   </body>

 

Press the XLIFF to XML button, and get this

 

<rooty xmlns:xmrk="urn:xmarker" xmlns:xlf="urn:oasis:names:tc:xliff:document:1.2" sort="o12345">
 <just_wrappin id="gabbagabbahey">
  <intro_para id="kickoutthejams">Amw sviv'h <icon src=""my-pic.png"" alt="hello"/> hlnv <b>gvcg <i>gszg szh</i> hlnv mvhgvw</b> gvcgh.</intro_para>
  <wrapped_wrapper2>
   <just_wrappin3>
    <mixed>Amw sviv'h hlnv nliv
      <wrap4>
       <inner_wrap5>
        <p id="allalongthewatchtower">Hvool dliow.</p>
        <p1>Ig'h qfhg z xvzfgrufo wzb.</p1>
       </inner_wrap5>
       <one_out>Lllhv gvcg</one_out>
      </wrap4>
     </mixed>
    </just_wrappin3>
   </wrapped_wrapper2>
 </just_wrappin>
</rooty>

 

Believe it or not, upgrading to XLIFF 1.2 was not as trivial as one might expect. In order to support the embedded skl file, a separate XML schema is required (because we have the processContents="strict" set in the schema - I personally think we should set it to "skip" or "lax" for XLIFF 2.0).

 

Anyway, please let me know if you'd like to help me test.

 

Thanks,

 

Bryan

 

 



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]