W3C logo
slanted W3C logo

Cover page images (keys)

Internationalization and Localization Markup

Overview

Overview

What's ITS?

Targets of ITS

<!ELEMENT p ...>
<!ATTLIST p its:translate (yes|no) #IMPLIED>

Targets of ITS

<resources>
 <section id="Homepage">
[...]
  <keyvalue_pairs>
   <string>Page</string>
   <string>ABC Corporation - Policy Repository</string>
   <string>Footer_Last</string>
   <string>Pages</string>
   <string>bgColor</string>
   <string>NavajoWhite</string>  
   <string>title</string>
   <string>List of Available Policies</string>
  </keyvalue_pairs>
 </section>
</resources>

Overview

User: Schema Developers

User: Schema Developers

<its:rules its:version="1.0" ...>
 <its:ns prefix="myns" uri="http://www.example.com/myschema"/>
 <its:translateRule translate="yes" selector="//myns:p"/>
<!-- All p elements should be translated -->
</its:rules>

User: Content Producers

Users: Content Producers

<its:rules xmlns:its="http://www.w3.org/2005/11/its" its:version="1.0">
 <its:translateRule translate="no" selector="//dt"/>
<its:rules>
<text> ...
 <body> ...
  <p> ... <dl><dt>...</dt><dd>...</dd></dl></p>
 </body>
</text>

Target: What kind of XML?

Overview

Basic Concepts of ITS: Summary

Notion of "Data Categories"

The data category translatability expresses information about
whether the content of an element or attribute should be
translated or not. The values of this data category are "yes" (translatable)
or "no" (not translatable).

Selection of Nodes

Selection of Nodes

<article xmlns="http://docbook.org/ns/docbook"
 ... its:version="1.0">
 <info id="a001">
  <title>An example article</title>
  <author>
   <personname>
    <firstname>John</firstname>
    <surname>Doe</surname>
   </personname>
   <address>...</address>   
  </author>
 </info>
</article>

Selection of Nodes

<article xmlns="http://docbook.org/ns/docbook"
 ... its:version="1.0">
 <info id="a001">
  <title>An example article</title>
  <author its:translate="no">
   <personname>
    <firstname>John</firstname>
    <surname>Doe</surname>
   </personname>
   <address>...</address>   
  </author>
 </info>
</article>

Selection of Nodes

<its:rules ... its:version="1.0">
 <its:ns prefix="my" uri="myvocabulary.com"/>
 <its:translateRule selector="//my:term" translate="no"/>
 <its:translateRule selector="//my:term/@desc" translate="yes"/>
</its:rules>
<topic id="myTopic" xmlns="myvocabulary.com">
 <title>Using ITS</title>
 <prolog>...</prolog>
 <body>
  <p>An 
<term id="t001" desc="Some translatable text">ITS 
  <termRef loc="t002">namespace</termRef></term>
definition exists ...</p>
 </body>
</topic>

Selection of Nodes

Adding ITS information vs. Pointing

<its:rules its:version="1.0">
 <its:locInfoRule locInfoType="alert" selector="//body/p[1]">
  <its:locNote>This p element has to be handled carefully"</its:locNote>
 </its:locInfoRule>
</its:rules>

Adding ITS information vs. Pointing

<its:rules its:version="1.0" ...>
 <its:locInfoRule locInfoType="alert"
  locNotePointer="@locn-alert" selector="//*"/>
 <its:locInfoRule locInfoType="description"
  locNotePointer="//@locn-note" selector="//*"/>
</its:rules>

Overview

Overview of ITS Data Categories

Terminology

<its:rules its:version="1.0">
 <its:termRule selector="//body/p[1]/span"
termInfoRef="http://example.com/termdatabase/#x142539"/>
</its:rules>

Terminology

<its:rules its:version="1.0">
 <its:termRule selector="//body/p[1]/span"
termInfoRefPointer="@myTermRef"/>
</its:rules>
<myDoc ...>
 <p>The definition of <def its:term="yes" 
  its:termInfoRef="http://example.com/termdatabase/#x142539">X</def>...</p>
</myDoc>

Directionality

<its:rules its:version="1.0">
 <its:dirRule dir="rtl" selector="/body/p[1]/quote[myns:dir='rtl']"/>
</its:rules>
<myDoc ...>
 <p>... <quote  its:dir="rtl"> ...
<!-- Some Hebrew quotation -->
 </quote>...</p>
</myDoc>

Ruby

<text its:version="1.0">
 <head> ... </head>
 <body>
  <p>This is about the
   <its:ruby>
    <its:rb>W3C</its:rb>
    <its:rt>World Wide Web Consortium</its:rt>
   </its:ruby>
  </p>
 </body>
</text>

Ruby

<its:rules its:version="1.0">
 <its:rubyRule rubyText="World Wide Web Consortium"
  selector="//p[1]/span[@class='ruby']"/>
</its:rules>

Language Information

<its:rules its:version="1.0">
 <its:langRule selector="//p" langPointer="@mylangattribute"/>
</its:rules>

Elements Within Text

<its:rules its:version="1.0">
 <its:withinTextRule withinText="yes" selector="//b | //em | //i"/>
 <its:withinTextRule withinText="no" selector="//p"/>
 <its:withinTextRule withinText="nested" selector="//p/footnote/p"/>
</its:rules>

Overview

Future of this work