← Prev in month ← Prev in thread
Next in thread → Next in month →

draft version of xliffRoundTrip Tool is posted and ready fortesting (RE: Call for testers: xliffRoundTrip Tool upgrade to XLIFF 1.2)

From
<>
Date
2009-06-01T18:01:46+00:00
ID
Thread
draft version of xliffRoundTrip Tool is posted and ready fortesting (RE: Call for testers: xliffRoundTrip Tool upgrade to XLIFF 1.2)
Title: Message

Hello 
all,

 

Thanks 
to the many TC members who indicated they will help test my new rev (0.7). I 
went ahead and posted the newest draft version on my project page at sourceforge 
(http://sourceforge.net/projects/xliffroundtrip/). 
Perhaps I should have waited to post my draft version until I got a little more 
"private" feedback, but I succumbed to a sentimental discovery. Friday (May 29) 
was the 5 year anniversary of my first release of the xliffRoundTrip Tool. So 
nostalgia got the better of me, and I posted the new rev to mark the 5 year 
anniversary.

 

Asgeir, Yves, Rodolfo, and Lucia have indicated they will help with 
testing, thanks - and anyone else who wants to test, feel free. 

 

Please 
grab the latest draft version at the URL listed above and let me know your 
thoughts. Feel free to comment on any aspect (the Java, the command line 
version, the GUI version, the XSLTs, the documentation, the color, wording, 
etc.) My goal is to get a suitable version worked up (based on your comments), 
and remove the "draft" status. I figure it's better to get a version released 
that uses XLIFF 1.2, even if it has a few warts. As long as my .07 rev is as 
good or better than my 0.6 rev, the fine-tuning can follow.

 

Since 
you'll be evaluating a draft, don't worry about "hurting my feelings" if you 
have brutally honest feedback.

 

Note: 
you can just test the compiled JARs (the PDF file should explain how - please 
not the "known bugs" section), or you can test the source code and try compiling 
yourself (dependencies and instructions are included in the PDF 
file).

 

Thanks,

 

Bryan

  

  
-----Original Message-----
From: 
   [mailto:] 
  
Sent: Friday, May 15, 2009 5:04 PM
To: 
  
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
← Prev in month ← Prev in thread
Next in thread → Next in month →