My child: Dad, I saw on your computer a mail saying “comment on ITS”. What is ITS?
Me: it stands for “Internationalization Tag Set”. That’s some work I am dealing with every day.
My child: So that’s one of the reasons why you are always home late! Tell us more about it.
Me: Sure. ITS is a good reason to work a little bit more. It helps people in many languages to understand each other.
My child: How does that work?
Me: Imagine you have written a text about your most favorite Mangas in English, and you want to share it with your Japanese friends. Now, it is a long text and you cannot do everything on your own. So you will need help from other people. ITS can help you to work with these people.
My child: You mean with translators?
Me: not only translators, although translation is an important part of what we call “localization.” Now, “localization” means “adapting something (like a text) for people in other languages and cultures”. Let me give you an example:
My most favorite Manga writer is Osamu Tezuka. One of his books is called "Astro Boy".
Me: For a translator, it is important what he should translate – and what not to translate. You know what “Astro Boy” is in Japanese?
My child: oh yes, it is called “Tetsuwan Atom”!
Me: Correct. But a translator might not know that and try to translate the name directly. So to help the translator, you need to give him a hint like “don’t translate this directly”.
My child: I see. But he also needs to know that there is an existing title of the book in Japanese.
Me: Exactly. And this information is different from just saying “translate this” or “do not translate this”. You could call this kind of information more in general “localization notes”, because not the translator, but other people who participate in localization may need it. For example, somebody who checks the whole text about existing names of books.
My child: so how comes ITS into play here?
Me: Today many people use XML to create documents. ITS then gives you a standardized way to express such information in XML – what to translate, or what not to translate, additional localization notes, and various different kinds of information. An XML document with ITS information could look like this:
<text xmlns:its="http://www.w3.org/2005/11/its"> <p>My most favorite Manga writer is Osamu Tezuka. One of his books is called <title its:translate="no" its:locNote="Check if there is an existing title in the target language">"Astro Boy""</title>.</p> </text>
Me: ITS gives you the
its:translate attribute and the
its:locNote attribute to express information about localization and translation. This sounds like no big deal, but having standardized markup to express such things is a big advantage.
Also, assume that you want to express that all titles should not be translated directly and existing titles should be checked. In ITS, you could do the following:
<its:rules its:version="1.0" xmlns:its="http://www.w3.org/2005/11/its"> <its:translaterule selector="//title" translate="no"/> <its:locinforule selector="//title"> <its:locinfo>Check if there is an existing title in the target language</its:locinfo> </its:locinforule> </its:rules>
Me: Here you have the same information expressed about translation and localization. However, it is not part of the XML document, but kept separate in “ITS rules” (the
<its:rules> element). The rules above express translation information and localization notes about all
<title> elements. You see that ITS is very flexible: it can be used by somebody who creates a text like in my first example, or by people who have to deal with many, possibly large portions of texts, using the “rules”.
My child: Dad, I have a very dumb question – why is this called “Internationalization Tag Set”? You are talking about “localization” all the time.
Me: (laughing): “Internationalization” means: Making something ready for its adaptation to another language / culture. In the case of XML, you “internationalize” XML by providing the ITS markup to people who create a document or to localizers. Using then this markup for the preparation of localization is a different step which comes after.
But there are also “internationalization only” parts of ITS which are not directly related to localization preparation. For example Ruby:
<p>My most favorite Manga writer is <its:ruby> <its:rb>????</its:rb> <its:rt>Osamu Tezuka</its:rt> </its:ruby> …</p>
Me: You know ruby from Japanese books, don’t you? With ruby markup, you can give additional information like pronounciation to a base text. In the example, you can write Osamu Tezuka in the original Japanese writing system in the
<its:rb> element, and give the writing in English in the
<its:rt> element. That’s a useful thing for many languages like Japanese or Chinese.
My child: I see. So in working on ITS, you help people in many languages. Could you also help me with my homework?