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 XLIFF1.2


Hi Asgeir,

Thanks.  I will send you JAR files early next week (one for the GUI version, one for the command line version). Then once I tidy up the Java, I'll send the source (it will give you a nice opportunity to print the code, display it at your office, and let everyone have a good laugh at my crude Java programming skills - not my strongest asset).

Your question and comments are quite useful. The xliffRoundTrip tool is meant to be a starting point. It is mostly driven by the XSLTs that the compiled JARs invoke. There, the user can (if needed) modify the XSLT for more discriminating trans-unit selection. Out of the box, the tool just selects any text() node in any element it finds, and puts it in a source and target. It nests in groups, and puts inline elements in g elements.

The ITS approach is a brilliant approach (it must be brilliant because it's been strongly recommended by some of the more brilliant people I know, like you, Yves, Christian, Felix, and others - not to say those are the only brilliant members on the TC).

Thanks,

Bryan

________________________________________
From: Asgeir Frimannsson [asgeirf@redhat.com]
Sent: Friday, May 15, 2009 5:23 PM
To: Schnabel, Bryan S
Cc: xliff@lists.oasis-open.org
Subject: Re: [xliff] Call for testers: xliffRoundTrip Tool upgrade to XLIFF 1.2

Hi Bryan,

How does the tool know what is translatable content and not?

It would be nice to have a tool that
1) uses ITS for identifying what is translatable/in-line etc..
2) does Rountrips from XML to XLIFF by using a ITS configuration and a supplied XML file

There are tools such as Yves' Rainbow that can already do this in Java, but it could perhaps be beneficial to have a tool that does *nothing but this*, specifically focusing on XLIFF.

I'm happy to help with testing source and binary.

cheers,
asgeir



----- "bryan s schnabel" <bryan.s.schnabel@tektronix.com> wrote:

> 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]