src/cm/media/js/lib/yui/yui_3.10.3/docs/intl/index.html
author Yves-Marie Haussonne <ymh.work+github@gmail.com>
Fri, 09 May 2014 18:35:26 +0200
changeset 656 a84519031134
parent 525 89ef5ed3c48b
permissions -rw-r--r--
add link to "privacy policy" in the header test
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
525
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     1
<!DOCTYPE html>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     2
<html lang="en">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     3
<head>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     4
    <meta charset="utf-8">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     5
    <title>Internationalization</title>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     6
    <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=PT+Sans:400,700,400italic,700italic">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     7
    <link rel="stylesheet" href="../../build/cssgrids/cssgrids-min.css">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     8
    <link rel="stylesheet" href="../assets/css/main.css">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     9
    <link rel="stylesheet" href="../assets/vendor/prettify/prettify-min.css">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    10
    <link rel="shortcut icon" type="image/png" href="../assets/favicon.png">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    11
    <script src="../../build/yui/yui-min.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    12
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    13
</head>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    14
<body>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    15
<!--
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    16
<a href="https://github.com/yui/yui3"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" alt="Fork me on GitHub"></a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    17
-->
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    18
<div id="doc">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    19
    <div id="hd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    20
        <h1><img src="http://yuilibrary.com/img/yui-logo.png"></h1>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    21
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    22
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    23
        <a href="#toc" class="jump">Jump to Table of Contents</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    24
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    25
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    26
            <h1>Internationalization</h1>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    27
    <div class="yui3-g">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    28
        <div class="yui3-u-3-4">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
            <div id="main">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
                <div class="content"><div class="intro">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
    <p>The Internationalization utility supports the management of localized resources such as strings and formatting patterns.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
<h2 id="scenarios">Usage Scenarios for the Internationalization Utility</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
<p>The YUI Internationalization utility supports externalization, that is,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
separating data that needs to change for different languages or markets
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
from the code of a software product, so that the same code can be used
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
worldwide.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
<p>Depending on the kind of software you create with YUI, you will interact
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
with the Internationalization utility in different ways.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
<h3 id="monolingualApps">Monolingual Applications</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
<p>Many applications using YUI are not internationalized themselves; they
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
use one user interface language to target one market.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
However, such applications still want language-sensitive modules that
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
they rely on to be internationalized and localized for their language.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
For example, an application using Chinese to target Hong Kong wants dates
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
to be displayed in a Chinese format appropriate for Hong Kong, and so
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
relies on the DataType utility to provide such formats.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
<p>If the modules that such an application uses support the language of
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
the application, the problem is solved by simply
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
<a href="#prefLang">requesting preferred languages</a>. Otherwise, the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
application may be able to fill the gap by
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
<a href="#appResources">providing resources to modules</a>.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
<h3 id="multilingualApps">Multilingual Applications</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
<p>An application that's intended for users in different markets or
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
using different languages has to be internationalized.<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
<p>Primarily, this means developing its code in the form of
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
<a href="#intlModules">internationalized modules</a>, determining
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
the preferred user interface language(s),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
<a href="#prefLang">requesting preferred languages</a>, and possibly
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
<a href="#appResources">providing resources to modules</a>.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    70
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
<p>Optionally, an application can provide a user interface element
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
that lets the user <a href="#switchingLangs">switch languages</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    73
on the fly.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    74
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    75
<h3 id="intlModules">Internationalized Modules</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    76
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    77
<p>A module whose functionality is sensitive to different markets and
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    78
languages and that's intended for use by multilingual applications
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    79
or by different monolingual applications
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    80
has to be <a href="#modules">internationalized</a>.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    81
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    82
<h2 id="getting-started">Getting Started</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    83
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    84
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    85
To include the source files for Internationalization and its dependencies, first load
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    86
the YUI seed file if you haven't already loaded it.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    87
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    88
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    89
<pre class="code prettyprint">&lt;script src=&quot;http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.10.3&#x2F;build&#x2F;yui&#x2F;yui-min.js&quot;&gt;&lt;&#x2F;script&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    90
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    91
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    92
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    93
Next, create a new YUI instance for your application and populate it with the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    94
modules you need by specifying them as arguments to the <code>YUI().use()</code> method.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    95
YUI will automatically load any dependencies required by the modules you
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    96
specify.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    97
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    98
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    99
<pre class="code prettyprint">&lt;script&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   100
&#x2F;&#x2F; Create a new YUI instance and populate it with the required modules.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   101
YUI().use(&#x27;intl&#x27;, function (Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   102
    &#x2F;&#x2F; Internationalization is available and ready for use. Add implementation
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   103
    &#x2F;&#x2F; code here.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   104
});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   105
&lt;&#x2F;script&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   106
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   107
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   108
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   109
For more information on creating YUI instances and on the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   110
<a href="http://yuilibrary.com/yui/docs/api/classes/YUI.html#method_use"><code>use()</code> method</a>, see the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   111
documentation for the <a href="../yui/index.html">YUI Global Object</a>.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   112
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   113
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   114
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   115
<h2 id="using">Using the Internationalization Utility</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   116
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   117
<h3 id="bcp47">Using BCP 47 Language Tags</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   118
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   119
<p>BCP 47 language tags are the identifiers for languages used on the internet.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   120
BCP stands for IETF Best Current Practice, and BCP 47 is currently the combination
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   121
of <a href="http://tools.ietf.org/html/rfc5646">RFC 5646</a> and
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   122
<a href="http://tools.ietf.org/html/rfc4647">RFC 4647</a>.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   123
These tags allow the description of languages in varying levels of detail, from
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   124
"Chinese" ("zh") to "Chinese written in traditional characters as used in Taiwan"
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   125
("zh-Hant-TW") and more. Typical components ("subtags") are ISO 639 language codes,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   126
ISO 15924 script codes, and ISO 3166 country codes. Subtags are separated by
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   127
hyphens.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   128
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   129
<p>Here are the language tags for some popular languages:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   130
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   131
<table>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   132
<tr><th>Language Tag<th>Description
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   133
<tr><td>zh-Hans-CN<td>Chinese, simplified characters, China
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   134
<tr><td>es<td>Spanish
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   135
<tr><td>en<td>English
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   136
<tr><td>hi-IN<td>Hindi, India
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   137
<tr><td>ar<td>Arabic
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   138
<tr><td>en-US<td>English, U.S.A.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   139
<tr><td>id-ID<td>Indonesian, Indonesia
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   140
<tr><td>pt-BR<td>Portuguese, Brazil
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   141
<tr><td>ru-RU<td>Russian, Russia
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   142
<tr><td>fr<td>French
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   143
<tr><td>ja-JP<td>Japanese, Japan
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   144
<tr><td>es-MX<td>Spanish, Mexico
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   145
</table>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   146
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   147
<p>BCP 47 also defines a "Lookup" algorithm, which is commonly used to determine
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   148
the best language for a user interface. Its input is an ordered list of
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   149
languages that the user prefers, and the list of languages that the software
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   150
supports. When looking for a language, the algorithm uses a fallback that
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   151
successively simplifies a language tag. For example, when looking for
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   152
a requested "zh-Hans-CN", it also checks whether "zh-Hans" or "zh" are
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   153
available.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   154
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   155
<p>The Internationalization utility provides the Lookup algorithm as the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   156
<code>Intl.lookupBestLang</code> method, and the YUI loader uses it to determine
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   157
the best language based on an application's request and a module's language
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   158
support.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   159
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   160
<p>When requesting a language, it's generally a good idea to be specific and
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   161
include the country, because in some cases the differences between countries
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   162
are significant. For example, "3/5/10" means "March 5, 2010" in U.S. English,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   163
but "3 May 2010" in British English.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   164
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   165
<p>When providing language support, on the other hand, you should also support
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   166
the less specific variant without country ("en", "es", "zh-Hans", etc.), so that
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   167
the fallback finds something when a request includes a country that you don't
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   168
support. Where the usage in different countries using the same language diverges
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   169
siginificantly, try to be neutral, e.g., by formatting dates in ISO notation
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   170
as 2010-03-05.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   171
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   172
<h3 id="applications">Internationalizing Applications</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   173
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   174
<h4 id="prefLang">Requesting Preferred Languages</h4>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   175
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   176
<p>When creating a YUI instance, you can specify a list of preferred languages.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   177
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   178
<p>For a monolingual application, this list starts with the user interface
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   179
language of the application, but it may include other languages that
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   180
users are likely to understand, in case a module doesn't support the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   181
preferred language. For example, an application in Arabic for Morocco might
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   182
specify French as a second choice since French is widely spoken in Morocco.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   183
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   184
<p>A multilingual application might maintain user language preferences as part of
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   185
the application, derive the preference list from the <code>Accept-Language</code>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   186
header provided by the browser, or determine the list in some other fashion.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   187
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   188
<p>The preference list is specified as the <code>lang</code> property of the YUI
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   189
instance's config object. The YUI instance uses it to select the best available
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   190
language for each module and load the necessary resource bundles.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   191
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   192
<pre class="code prettyprint">&#x2F;&#x2F; Create new YUI instance, specify preferred languages,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   193
&#x2F;&#x2F; and populate it with the required modules
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   194
YUI({lang:&quot;ar-MA,fr-FR&quot;}).use(&#x27;datatype-date&#x27;, function(Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   195
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   196
    &#x2F;&#x2F; DataType available, and hopefully localized into one of the preferred languages
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   197
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   198
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   199
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   200
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   201
<h4 id="appResources">Providing Resources to Modules</h4>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   202
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   203
<p>In some cases, a module is internationalized, but doesn't have a resource
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   204
bundle for the desired language. It may however have specified the contents
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   205
of the resource bundle needed. In such a case, the application can register
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   206
a resource bundle for its language with the Internationalization utility and
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   207
set the language of that module.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   208
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   209
<p>For example, date formatting in the DataType utility has support for a
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   210
large number of languages built in, but Punjabi is not one of them. If
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   211
you need date formatting for Punjabi, you can provide a resource bundle for this
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   212
language (see the <a href="../datatype/index.html#addDateFormat">DataType</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   213
documentation for information on the contents of the resource bundle):</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   214
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   215
<pre class="code prettyprint">YUI().use(&quot;intl&quot;, &quot;datatype-date-format&quot;, function(Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   216
    &#x2F;&#x2F; provide data for Punjabi in India
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   217
    Y.Intl.add(&quot;datatype-date-format&quot;, &quot;pa-IN&quot;, {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   218
            &quot;a&quot;:[&quot;ਐਤ.&quot;,&quot;ਸੋਮ.&quot;,&quot;ਮੰਗਲ.&quot;,&quot;ਬੁਧ.&quot;,&quot;ਵੀਰ.&quot;,&quot;ਸ਼ੁਕਰ.&quot;,&quot;ਸ਼ਨੀ.&quot;],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   219
            &quot;A&quot;:[&quot;ਐਤਵਾਰ&quot;,&quot;ਸੋਮਵਾਰ&quot;,&quot;ਮੰਗਲਵਾਰ&quot;,&quot;ਬੁਧਵਾਰ&quot;,&quot;ਵੀਰਵਾਰ&quot;,&quot;ਸ਼ੁੱਕਰਵਾਰ&quot;,&quot;ਸ਼ਨੀਚਰਵਾਰ&quot;],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   220
            &quot;b&quot;:[&quot;ਜਨਵਰੀ&quot;,&quot;ਫ਼ਰਵਰੀ&quot;,&quot;ਮਾਰਚ&quot;,&quot;ਅਪ੍ਰੈਲ&quot;,&quot;ਮਈ&quot;,&quot;ਜੂਨ&quot;,&quot;ਜੁਲਾਈ&quot;,&quot;ਅਗਸਤ&quot;,&quot;ਸਤੰਬਰ&quot;,&quot;ਅਕਤੂਬਰ&quot;,&quot;ਨਵੰਬਰ&quot;,&quot;ਦਸੰਬਰ&quot;],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   221
            &quot;B&quot;:[&quot;ਜਨਵਰੀ&quot;,&quot;ਫ਼ਰਵਰੀ&quot;,&quot;ਮਾਰਚ&quot;,&quot;ਅਪ੍ਰੈਲ&quot;,&quot;ਮਈ&quot;,&quot;ਜੂਨ&quot;,&quot;ਜੁਲਾਈ&quot;,&quot;ਅਗਸਤ&quot;,&quot;ਸਤੰਬਰ&quot;,&quot;ਅਕਤੂਬਰ&quot;,&quot;ਨਵੰਬਰ&quot;,&quot;ਦਸੰਬਰ&quot;],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   222
            &quot;c&quot;:&quot;%a, %Y %b %d %l:%M:%S %p %Z&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   223
            &quot;p&quot;:[&quot;ਸਵੇਰੇ&quot;,&quot;ਸ਼ਾਮ&quot;],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   224
            &quot;P&quot;:[&quot;ਸਵੇਰੇ&quot;,&quot;ਸ਼ਾਮ&quot;],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   225
            &quot;x&quot;:&quot;%d&#x2F;%m&#x2F;%Y&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   226
            &quot;X&quot;:&quot;%l:%M:%S %p&quot;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   227
        });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   228
    &#x2F;&#x2F; switch to Punjabi
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   229
    Y.Intl.setLang(&quot;datatype-date-format&quot;, &quot;pa-IN&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   230
    &#x2F;&#x2F; now dates are formatted in Punjabi
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   231
    alert(Y.DataType.Date.format(new Date(), {format:&quot;%A %x %X&quot;}));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   232
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   233
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   234
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   235
<h4 id="switchingLangs">Switching Languages</h4>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   236
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   237
<p>Some applications let the user change the user interface language on the fly.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   238
The Internationalization utility offers some low-level support for this:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   239
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   240
<ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   241
    <li>Applications that want to make the languages offered reflect the actually
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   242
        available languages in one or more modules can obtain the necessary
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   243
        information from <code>Intl.getAvailableLangs</code>.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   244
    <li>Once a new language has been selected, the application can load the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   245
        required resource bundles and call <code>Intl.setLang</code> to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   246
        switch localizable modules to the new language.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   247
    <li>Modules that have language sensitive behavior, whether relying on
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   248
        their own resource bundles or on other modules', can listen to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   249
        <code>intl:langChange</code> events to find out about language changes.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   250
</ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   251
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   252
<p>The <a href="../datatype/datatype-dateformat-lang.html">Formatting
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   253
Dates Using Language Resource Bundles</a> example shows how to use these interfaces.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   254
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   255
<h3 id="modules">Internationalizing Modules</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   256
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   257
<h4 id="externalizing">Externalizing Resources</h4>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   258
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   259
<p>Externalization means moving all language-sensitive data into external data files,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   260
also known as "resource bundles". Most of this data will be user interface strings
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   261
that have to be translated, but there may also be patterns strings, font names, or
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   262
other items. Resource bundles store this data as simple key-value pairs.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   263
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   264
<p>The first resource bundle you always have to provide for an internationalized module
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   265
is the root bundle, identified by the empty language tag "" and using the bundle name
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   266
<code>lang/<i>module</i></code>.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   267
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   268
This is the bundle that will be used when an application requests a language that your module does
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   269
not support. Additional languages are identified by their BCP 47 language tags, and their resource
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   270
bundles use the names <code>lang/<i>module</i>_<i>language</i></code>.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   271
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   272
<p>If you've used resource bundles in Java or other internationalization libraries,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   273
you may be familiar with the fallback mechanisms in their ResourceBundle classes.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   274
These do not exist in YUI, so that the loader doesn't have to load multiple bundles.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   275
As a consequence, each YUI resource bundle must provide the complete set of key-value
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   276
pairs that the module needs.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   277
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   278
<p>YUI currently supports two source formats for resource bundles: JSON-style
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   279
JavaScript source files, and Yahoo Resource Bundle format.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   280
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   281
<p>In JSON-style format, a resource bundle is a simple object whose properties
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   282
represent the bundle's key-value pairs. Source files use the JavaScript suffix
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   283
".js" and can contain comments, so that you can provide localizers with the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   284
information they need for correct localization.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   285
Here is a family of JSON files providing the same set of strings in English,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   286
German, and simplified Chinese:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   287
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   288
<table>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   289
<tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   290
    <th></th>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   291
    <th>English <span style="text-transform:none">(root)</span></th>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   292
    <th>German<th>Simplified Chinese</th>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   293
</tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   294
<tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   295
    <th>File</th>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   296
    <td>greetings.js</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   297
    <td>greetings_de.js</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   298
    <td>greetings_zh-Hans.js</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   299
</tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   300
<tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   301
    <th>Contents</th>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   302
    <td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   303
<pre class="code prettyprint">{
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   304
  HELLO: &quot;Hello!&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   305
  GOODBYE: &quot;Goodbye!&quot;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   306
}</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   307
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   308
    </td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   309
    <td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   310
<pre class="code prettyprint">{
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   311
  HELLO: &quot;Hallo!&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   312
  GOODBYE: &quot;Tschüß!&quot;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   313
}</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   314
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   315
    </td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   316
    <td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   317
<pre class="code prettyprint">{
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   318
  HELLO: &quot;你好!&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   319
  GOODBYE: &quot;再见!&quot;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   320
}</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   321
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   322
    </td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   323
</table>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   324
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   325
<p>The <a href="#yrb">Yahoo Resource Bundles format</a> is a simple
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   326
text format for resource bundles that Yahoo open-sourced in 2009.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   327
It uses the file name suffix ".pres".
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   328
Here are the same resource bundles as above in YRB format:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   329
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   330
<table>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   331
<tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   332
    <th></th>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   333
    <th>English <span style="text-transform:none">(root)</span></th>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   334
    <th>German</th>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   335
    <th>Simplified Chinese</th>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   336
</tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   337
<tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   338
    <th>File</th>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   339
    <td>greetings.pres</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   340
    <td>greetings_de.pres</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   341
    <td>greetings_zh-Hans.pres</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   342
</tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   343
<tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   344
    <th>Contents</th>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   345
    <td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   346
<pre class="code prettyprint">HELLO = Hello!
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   347
GOODBYE = Goodbye!</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   348
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   349
    </td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   350
    <td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   351
<pre class="code prettyprint">HELLO = Hallo!
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   352
GOODBYE = Tschüß!</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   353
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   354
    </td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   355
    <td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   356
<pre class="code prettyprint">HELLO = 你好!
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   357
GOODBYE = 再见!</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   358
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   359
    </td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   360
</tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   361
</table>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   362
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   363
<h4 id="packaging">Packaging Resources</h4>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   364
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   365
<p>The YUI loader expects resource bundles in a specific format. If you use <a href="http://yui.github.com/shifter/">Shifter</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   366
to build your module, resource bundles in JSON or YRB format will be automatically
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   367
converted into the format expected by the loader. All you have to do is provide the source
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   368
files in the <code>src/<i>module</i>/lang/</code> directory and add the <code>lang</code> keys
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   369
to the JSON file under <code>src/<i>module</i>/meta/</code>.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   370
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   371
<p>If you use some other build process, you have to produce JavaScript files in the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   372
following format:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   373
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   374
<pre class="code prettyprint">YUI.add(&quot;lang&#x2F;greetings_zh-Hans&quot;, function(Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   375
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   376
    Y.Intl.add(
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   377
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   378
        &quot;greetings&quot;,     &#x2F;&#x2F; associated module
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   379
        &quot;zh-Hans&quot;,       &#x2F;&#x2F; BCP 47 language tag
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   380
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   381
        &#x2F;&#x2F; key-value pairs for this module and language
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   382
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   383
            HELLO: &quot;你好!&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   384
            GOODBYE: &quot;再见!&quot;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   385
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   386
    );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   387
}, &quot;3.10.3&quot;);</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   388
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   389
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   390
<h4 id="specifying">Specifying Available Languages</h4>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   391
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   392
<p>The YUI loader also needs to be told that your module uses resource bundles,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   393
and for which languages it has resource bundles available. You provide this
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   394
information as the <code>lang</code> property of the module meta data:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   395
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   396
<pre class="code prettyprint">modules: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   397
    &quot;greetings&quot;: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   398
        lang: [&quot;de&quot;, &quot;zh-Hans&quot;]
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   399
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   400
}</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   401
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   402
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   403
<h4 id="obtaining">Obtaining Resources</h4>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   404
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   405
<p>To access its resources, a module simply calls <code>Intl.get</code> with its
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   406
module name. When instantiating YUI, the application will have requested its
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   407
user interface language, so <code>Intl.get</code> will return the appropriate
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   408
localized resource bundle.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   409
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   410
<pre class="code prettyprint">function Greetings() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   411
    &#x2F;&#x2F; Get localized strings in the current language
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   412
    this.resources = Y.Intl.get(&quot;greetings&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   413
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   414
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   415
Greetings.prototype = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   416
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   417
    hello: function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   418
        return this.resources.HELLO;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   419
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   420
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   421
    goodbye: function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   422
        return this.resources.GOODBYE;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   423
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   424
}</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   425
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   426
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   427
<h3 id="yrb">Yahoo Resource Bundle Format</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   428
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   429
<p>The Yahoo Resource Bundle (YRB) format is a simple text format for
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   430
resource bundles. It's similar to Java properties files, but based
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   431
on UTF-8 and with additional heredoc support.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   432
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   433
<ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   434
    <li>Files are encoded in UTF-8. The first line may be prefixed with a byte order mark (BOM).</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   435
    <li>Lines whose first non-whitespace character is “#” are comment lines and are ignored.</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   436
    <li>Lines that contain only whitespace characters and are not part of a heredoc string are ignored.</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   437
    <li>Key-value definitions come in two forms:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   438
        <ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   439
            <li>The simple form has a key string, followed by “=”, followed by the value, all on one line.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   440
                The tokens may or may not be surrounded by whitespace characters. Leading and trailing
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   441
                whitespace is trimmed from both key and value. The value cannot start with "<<<";
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   442
                for values starting with this character sequence, use the heredoc form.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   443
            </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   444
            <li>The heredoc form starts with a key string, followed by “=”, followed by “<<<”,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   445
                followed by an identifier, all on one line.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   446
                The tokens may or may not be surrounded by whitespace characters
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   447
                Leading and trailing whitespace is trimmed from both key and identifier.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   448
                The heredoc form ends with a termination line that contains only the identifier,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   449
                possibly followed by a semicolon.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   450
                The lines between these two lines, except comment lines, form the heredoc string.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   451
                The line break before the termination line is removed, all other line breaks are preserved.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   452
            </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   453
        </ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   454
    </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   455
    <li>Lines that are not comment lines, whitespace lines, or part of a key-value definition are illegal.</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   456
    <li>The following escape sequences are recognized in values:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   457
        <ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   458
            <li>“\\” stands for “\”.</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   459
            <li>“\n” stands for the newline character, U+000A.</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   460
            <li>“\t” stands for the horizontal tab character, U+0009.</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   461
            <li>“\ ” stands for the space character, U+0020. This is only needed if the value of a key-value
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   462
                pair starts or ends with a space character.</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   463
            <li>“\#” stands for the number sign character, U+0023. This is only needed if a line within a
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   464
                heredoc string starts with this character.</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   465
        </ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   466
    </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   467
    <li>A sequence of “\” followed by a character not listed above is illegal.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   468
        A “\” immediately preceding the end of the file is illegal.</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   469
    <li>Only the characters horizontal tab, U+0009, and space, U+0020, are considered whitespace.</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   470
</ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   471
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   472
            </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   473
        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   474
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   475
        <div class="yui3-u-1-4">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   476
            <div class="sidebar">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   477
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   478
                    <div id="toc" class="sidebox">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   479
                        <div class="hd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   480
                            <h2 class="no-toc">Table of Contents</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   481
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   482
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   483
                        <div class="bd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   484
                            <ul class="toc">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   485
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   486
<a href="#scenarios">Usage Scenarios for the Internationalization Utility</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   487
<ul class="toc">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   488
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   489
<a href="#monolingualApps">Monolingual Applications</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   490
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   491
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   492
<a href="#multilingualApps">Multilingual Applications</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   493
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   494
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   495
<a href="#intlModules">Internationalized Modules</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   496
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   497
</ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   498
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   499
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   500
<a href="#getting-started">Getting Started</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   501
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   502
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   503
<a href="#using">Using the Internationalization Utility</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   504
<ul class="toc">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   505
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   506
<a href="#bcp47">Using BCP 47 Language Tags</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   507
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   508
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   509
<a href="#applications">Internationalizing Applications</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   510
<ul class="toc">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   511
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   512
<a href="#prefLang">Requesting Preferred Languages</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   513
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   514
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   515
<a href="#appResources">Providing Resources to Modules</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   516
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   517
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   518
<a href="#switchingLangs">Switching Languages</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   519
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   520
</ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   521
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   522
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   523
<a href="#modules">Internationalizing Modules</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   524
<ul class="toc">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   525
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   526
<a href="#externalizing">Externalizing Resources</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   527
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   528
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   529
<a href="#packaging">Packaging Resources</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   530
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   531
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   532
<a href="#specifying">Specifying Available Languages</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   533
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   534
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   535
<a href="#obtaining">Obtaining Resources</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   536
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   537
</ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   538
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   539
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   540
<a href="#yrb">Yahoo Resource Bundle Format</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   541
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   542
</ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   543
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   544
</ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   545
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   546
                    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   547
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   548
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   549
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   550
                    <div class="sidebox">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   551
                        <div class="hd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   552
                            <h2 class="no-toc">Examples</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   553
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   554
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   555
                        <div class="bd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   556
                            <ul class="examples">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   557
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   558
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   559
                                        <li data-description="How to create components which use language resource bundles.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   560
                                            <a href="intl-basic.html">Language Resource Bundles</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   561
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   562
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   563
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   564
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   565
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   566
                            </ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   567
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   568
                    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   569
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   570
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   571
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   572
                    <div class="sidebox">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   573
                        <div class="hd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   574
                            <h2 class="no-toc">Examples That Use This Component</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   575
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   576
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   577
                        <div class="bd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   578
                            <ul class="examples">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   579
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   580
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   581
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   582
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   583
                                        <li data-description="Formatting dates into strings using pre-packaged language resource bundles.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   584
                                            <a href="../datatype/datatype-dateformat-lang.html">Formatting Dates Using Language Resource Bundles</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   585
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   586
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   587
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   588
                            </ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   589
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   590
                    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   591
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   592
            </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   593
        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   594
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   595
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   596
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   597
<script src="../assets/vendor/prettify/prettify-min.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   598
<script>prettyPrint();</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   599
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   600
<script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   601
YUI.Env.Tests = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   602
    examples: [],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   603
    project: '../assets',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   604
    assets: '../assets/intl',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   605
    name: 'intl',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   606
    title: 'Internationalization',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   607
    newWindow: '',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   608
    auto:  false 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   609
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   610
YUI.Env.Tests.examples.push('intl-basic');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   611
YUI.Env.Tests.examples.push('datatype-dateformat-lang');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   612
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   613
</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   614
<script src="../assets/yui/test-runner.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   615
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   616
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   617
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   618
</body>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   619
</html>