<html><body>
<p><font size="2" face="sans-serif">Thank you for your sharing, Shaun.</font><br>
<font size="2" face="sans-serif">I'm the author of slicing and merging scripts.</font><br>
<br>
<font size="2" face="sans-serif">ITS looks like a useful standard and ITS tools should be helpful.</font><br>
<font size="2" face="sans-serif">Can you share more about the usage of ITS tools?</font><br>
<font size="2" face="sans-serif">Which on-line translation tools support embedded ITS tools?</font><br>
<font size="2" face="sans-serif">Besides itstool.org, are there any other ITS tools that support po files?</font><br>
<br>
<font size="2" face="sans-serif">Regards<br>
Ying Chun Guo (Daisy)<br>
</font><br>
<tt><font size="2">Shaun McCance <shaunm@gnome.org> wrote on 2013/11/02 09:59:13:<br>
<br>
> Shaun McCance <shaunm@gnome.org> </font></tt><br>
<tt><font size="2">> 2013/11/02 09:59</font></tt><br>
<tt><font size="2">> <br>
> To</font></tt><br>
<tt><font size="2">> <br>
> Tom Fifield <tom@openstack.org>, </font></tt><br>
<tt><font size="2">> <br>
> cc</font></tt><br>
<tt><font size="2">> <br>
> "openstack-i18n@lists.openstack.org" <openstack-<br>
> i18n@lists.openstack.org>, openstack-docs@lists.openstack.org</font></tt><br>
<tt><font size="2">> <br>
> Subject</font></tt><br>
<tt><font size="2">> <br>
> Re: [Openstack-i18n] [Openstack-docs] On translations and ITS</font></tt><br>
<tt><font size="2">> <br>
> On Sat, 2013-11-02 at 09:39 +1100, Tom Fifield wrote:<br>
> > (CC OpenStack-i18n - consider joining!)<br>
> > <br>
> > A very nice lead in discussion to our two sessions related to this at<br>
> > the summit :)<br>
> > <br>
> > Right now, we have some custom code for 1 that has been customised for<br>
> > the OpenStack docs (for example, it excludes screen elements ;)), giving<br>
> > some of the practical benefits of ITS. It's in tools/generatepot.<br>
> <br>
> Thanks Tom. I didn't realize we actually had our own segmentation and<br>
> merging tools in openstack-manuals. That makes it easier to decide on<br>
> each piece of the puzzle separately.<br>
> <br>
> Looking at the scripts, I see they're actually using xml2po for all the<br>
> heavy lifing. xml2po was written around 2003/2004 by Danilo Ĺ egan with<br>
> help from Claude Paroz. I inherited maintainership of it around 2009. I<br>
> tried to bend it to do things it wasn't designed for until I discovered<br>
> ITS. I began rearchitecting xml2po on top of ITS in 2010. itstool is the<br>
> result of that work.<br>
> <br>
> > Looking forward to discussing more next week.<br>
> > <br>
> > Regards,<br>
> > <br>
> > <br>
> > Tom<br>
> > <br>
> > On 02/11/13 05:34, Shaun McCance wrote:<br>
> > > I have some experience (read: bias) in translation tools, so I'm writing<br>
> > > up a synopsis in the hopes in will be useful for the documentation<br>
> > > translation session at the summit next week.<br>
> > > <br>
> > > Document translation generally follows a three-step process:<br>
> > > <br>
> > > 1) Segmentation: A program takes the XML files and breaks it up into<br>
> > > chunks (often paragraphs) that can be individually translated and<br>
> > > tracked. These are usually stored in either PO or XLIFF files, but in<br>
> > > some systems they might be records in a database.<br>
> > > <br>
> > > 2) Translation: Translators translate those segments. They might edit<br>
> > > the PO or XLIFF files directly. They might use a graphical front-end.<br>
> > > They might do it through a web site that hides the files from them, but<br>
> > > still presents the individual segments.<br>
> > > <br>
> > > 3) Merging: A program takes the translated segments, matches them up to<br>
> > > the appropriate nodes in the source document, and writes a localized XML<br>
> > > file.<br>
> > > <br>
> > > Online tools like Transifex, Zanata, and Pootle are really about step 2,<br>
> > > but they often include code for steps 1 and 3 to give you an all-in-one<br>
> > > package. Unfortunately, to my knowledge, none of them use the W3C<br>
> > > Internationalization Tag Set (ITS) to accomplish those steps. Luckily,<br>
> > > they let you provide POT files and can give you PO files, which means<br>
> > > you can plug your own code in for steps 1 and 3.<br>
> > > <br>
> > > ITS is a W3C recommendation that provides a standard way to specify what<br>
> > > parts of a document are translatable, what elements are inline, and<br>
> > > various other things that are really critical for good segmentation. ITS<br>
> > > 2.0 was released this week, and addresses a whole slew of other issues.<br>
> > > <br>
> > > <a href="http://www.w3.org/TR/its20/">http://www.w3.org/TR/its20/</a><br>
> > > <br>
> > > ITS lets you assert things about elements on a global level using XPath<br>
> > > expression. For example, let's say we don't want any of our screen<br>
> > > elements to be translated. We could use a rule like this:<br>
> > > <br>
> > > <its:translateRule translate="no" selector="//db:screen"/><br>
> > > <br>
> > > Magically, hundreds of messages will disappear from translators' view,<br>
> > > allowing them time to have dinner with their families instead. You can<br>
> > > also mark things locally. So for example, if we don't want to exclude<br>
> > > all screen elements from translation, then on the ones we do want to<br>
> > > exclude, we'd write this:<br>
> > > <br>
> > > <screen its:translate="no"><br>
> > > <br>
> > > You can also specify which elements are within text (inline), which are<br>
> > > space-preserving, where there are references to external resources like<br>
> > > images that have to be localized, and lots more.<br>
> > > <br>
> > > Biased opinion: If you have an XML translation process that doesn't<br>
> > > involve ITS, you're doing something wrong. (Disclosure: I was on the<br>
> > > working group that created ITS 2.0, and I'm the developer of itstool.)<br>
> > > <br>
> > > There are a number of tools that support ITS. Many of them work with PO<br>
> > > or XLIFF files, so you can plug them into most online translation tools.<br>
> > > I happen to be fond of my program, itstool, which supports PO files and<br>
> > > has a number of extensions that have been useful for other open source<br>
> > > projects like GNOME. <br>
> > > <br>
> > > <a href="http://itstool.org/">http://itstool.org/</a><br>
> > > <br>
> > > If you want a workflow that uses XLIFF files, you should look into<br>
> > > Okapi, a fantastic open source framework that supports ITS.<br>
> > > <br>
> > > <a href="http://okapi.sourceforge.net/">http://okapi.sourceforge.net/</a><br>
> > > <br>
> > > I do have a dog in this race, so I'm trying not to be too pushy. But<br>
> > > there are a lot of smart people who spent a lot of time figuring this<br>
> > > stuff out. If you have non-ITS segmentation and merging code, you'll<br>
> > > just end up chasing problems that have already been solved.<br>
> > > <br>
> > > If it's not obvious, I love talking about this stuff. So feel free to<br>
> > > ask me questions.<br>
> > > <br>
> > > Thanks,<br>
> > > Shaun<br>
> > > <br>
> > > <br>
> > > <br>
> > > _______________________________________________<br>
> > > Openstack-docs mailing list<br>
> > > Openstack-docs@lists.openstack.org<br>
> > > <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-docs">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-docs</a><br>
> > > <br>
> > <br>
> > <br>
> > _______________________________________________<br>
> > Openstack-docs mailing list<br>
> > Openstack-docs@lists.openstack.org<br>
> > <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-docs">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-docs</a><br>
> <br>
> <br>
> <br>
> _______________________________________________<br>
> Openstack-i18n mailing list<br>
> Openstack-i18n@lists.openstack.org<br>
> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-i18n">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-i18n</a><br>
</font></tt></body></html>