• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE html><!-- This page is a placeholder for generated extensions api doc. Note:
2    1) The <head> information in this page is significant, should be uniform
3       across api docs and should be edited only with knowledge of the
4       templating mechanism.
5    3) All <body>.innerHTML is genereated as an rendering step. If viewed in a
6       browser, it will be re-generated from the template, json schema and
7       authored overview content.
8    4) The <body>.innerHTML is also generated by an offline step so that this
9       page may easily be indexed by search engines.
10--><html xmlns="http://www.w3.org/1999/xhtml"><head>
11    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
12    <link href="css/ApiRefStyles.css" rel="stylesheet" type="text/css">
13    <link href="css/print.css" rel="stylesheet" type="text/css" media="print">
14    <script type="text/javascript" src="../../../third_party/jstemplate/jstemplate_compiled.js">
15    </script>
16    <script type="text/javascript" src="js/api_page_generator.js"></script>
17    <script type="text/javascript" src="js/bootstrap.js"></script>
18    <script type="text/javascript" src="js/sidebar.js"></script>
19  <title>Formats: Locale-Specific Messages - Google Chrome Extensions - Google Code</title></head>
20  <body>  <div id="gc-container" class="labs">
21      <div id="devModeWarning">
22        You are viewing extension docs in chrome via the 'file:' scheme: are you expecting to see local changes when you refresh? You'll need run chrome with --allow-file-access-from-files.
23      </div>
24      <!-- SUBTEMPLATES: DO NOT MOVE FROM THIS LOCATION -->
25      <!-- In particular, sub-templates that recurse, must be used by allowing
26           jstemplate to make a copy of the template in this section which
27           are not operated on by way of the jsskip="true" -->
28      <div style="display:none">
29
30        <!-- VALUE -->
31        <div id="valueTemplate">
32          <dt>
33            <var>paramName</var>
34              <em>
35
36                <!-- TYPE -->
37                <div style="display:inline">
38                  (
39                    <span class="optional">optional</span>
40                    <span class="enum">enumerated</span>
41                    <span id="typeTemplate">
42                      <span>
43                        <a> Type</a>
44                      </span>
45                      <span>
46                        <span>
47                          array of <span><span></span></span>
48                        </span>
49                        <span>paramType</span>
50                        <span></span>
51                      </span>
52                    </span>
53                  )
54                </div>
55
56              </em>
57          </dt>
58          <dd class="todo">
59            Undocumented.
60          </dd>
61          <dd>
62            Description of this parameter from the json schema.
63          </dd>
64          <dd>
65            This parameter was added in version
66            <b><span></span></b>.
67            You must omit this parameter in earlier versions,
68            and you may omit it in any version.  If you require this
69            parameter, the manifest key
70            <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a>
71            can ensure that your extension won't be run in an earlier browser version.
72          </dd>
73
74          <!-- OBJECT PROPERTIES -->
75          <dd>
76            <dl>
77              <div>
78                <div>
79                </div>
80              </div>
81            </dl>
82          </dd>
83
84          <!-- OBJECT METHODS -->
85          <dd>
86            <div></div>
87          </dd>
88
89          <!-- OBJECT EVENT FIELDS -->
90          <dd>
91            <div></div>
92          </dd>
93
94          <!-- FUNCTION PARAMETERS -->
95          <dd>
96            <div></div>
97          </dd>
98
99        </div> <!-- /VALUE -->
100
101        <div id="functionParametersTemplate">
102          <h5>Parameters</h5>
103          <dl>
104            <div>
105              <div>
106              </div>
107            </div>
108          </dl>
109        </div>
110      </div> <!-- /SUBTEMPLATES -->
111
112  <a id="top"></a>
113    <div id="skipto">
114      <a href="#gc-pagecontent">Skip to page content</a>
115      <a href="#gc-toc">Skip to main navigation</a>
116    </div>
117    <!-- API HEADER -->
118    <table id="header" width="100%" cellspacing="0" border="0">
119      <tbody><tr>
120        <td valign="middle"><a href="http://code.google.com/"><img src="images/code_labs_logo.gif" height="43" width="161" alt="Google Code Labs" style="border:0; margin:0;"></a></td>
121        <td valign="middle" width="100%" style="padding-left:0.6em;">
122          <form action="http://www.google.com/cse" id="cse" style="margin-top:0.5em">
123            <div id="gsc-search-box">
124              <input type="hidden" name="cx" value="002967670403910741006:61_cvzfqtno">
125              <input type="hidden" name="ie" value="UTF-8">
126              <input type="text" name="q" value="" size="55">
127              <input class="gsc-search-button" type="submit" name="sa" value="Search">
128              <br>
129              <span class="greytext">e.g. "page action" or "tabs"</span>
130            </div>
131          </form>
132
133          <script type="text/javascript" src="http://www.google.com/jsapi"></script>
134          <script type="text/javascript">google.load("elements", "1", {packages: "transliteration"});</script>
135          <script type="text/javascript" src="http://www.google.com/coop/cse/t13n?form=cse&amp;t13n_langs=en"></script>
136          <script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=cse&amp;lang=en"></script>
137        </td>
138      </tr>
139    </tbody></table>
140
141    <div id="codesiteContent" class="">
142
143      <a id="gc-topnav-anchor"></a>
144      <div id="gc-topnav">
145        <h1>Google Chrome Extensions (<a href="http://code.google.com/labs/">Labs</a>)</h1>
146        <ul id="home" class="gc-topnav-tabs">
147          <li id="home_link">
148            <a href="index.html" title="Google Chrome Extensions home page">Home</a>
149          </li>
150          <li id="docs_link">
151            <a href="docs.html" title="Official Google Chrome Extensions documentation">Docs</a>
152          </li>
153          <li id="faq_link">
154            <a href="faq.html" title="Answers to frequently asked questions about Google Chrome Extensions">FAQ</a>
155          </li>
156          <li id="samples_link">
157            <a href="samples.html" title="Sample extensions (with source code)">Samples</a>
158          </li>
159          <li id="group_link">
160            <a href="http://groups.google.com/a/chromium.org/group/chromium-extensions" title="Google Chrome Extensions developer forum">Group</a>
161          </li>
162        </ul>
163      </div> <!-- end gc-topnav -->
164
165    <div class="g-section g-tpl-170">
166      <!-- SIDENAV -->
167      <div class="g-unit g-first" id="gc-toc">
168        <ul>
169          <li><a href="getstarted.html">Getting Started</a></li>
170          <li><a href="overview.html">Overview</a></li>
171          <li><a href="whats_new.html">What's New?</a></li>
172          <li><h2><a href="devguide.html">Developer's Guide</a></h2>
173            <ul>
174              <li>Browser UI
175                <ul>
176                  <li><a href="browserAction.html">Browser Actions</a></li>
177                  <li><a href="contextMenus.html">Context Menus</a></li>
178                  <li><a href="notifications.html">Desktop Notifications</a></li>
179                  <li><a href="omnibox.html">Omnibox</a></li>
180                  <li><a href="options.html">Options Pages</a></li>
181                  <li><a href="override.html">Override Pages</a></li>
182                  <li><a href="pageAction.html">Page Actions</a></li>
183                </ul>
184              </li>
185              <li>Browser Interaction
186                <ul>
187                  <li><a href="bookmarks.html">Bookmarks</a></li>
188                  <li><a href="cookies.html">Cookies</a></li>
189                  <li><a href="events.html">Events</a></li>
190                  <li><a href="history.html">History</a></li>
191                  <li><a href="management.html">Management</a></li>
192                  <li><a href="tabs.html">Tabs</a></li>
193                  <li><a href="windows.html">Windows</a></li>
194                </ul>
195              </li>
196              <li>Implementation
197                <ul>
198                  <li><a href="a11y.html">Accessibility</a></li>
199                  <li><a href="background_pages.html">Background Pages</a></li>
200                  <li><a href="content_scripts.html">Content Scripts</a></li>
201                  <li><a href="xhr.html">Cross-Origin XHR</a></li>
202                  <li><a href="idle.html">Idle</a></li>
203                  <li><a href="i18n.html">Internationalization</a></li>
204                  <li><a href="messaging.html">Message Passing</a></li>
205                  <li><a href="npapi.html">NPAPI Plugins</a></li>
206                </ul>
207              </li>
208              <li>Finishing
209                <ul>
210                  <li><a href="hosting.html">Hosting</a></li>
211                  <li><a href="external_extensions.html">Other Deployment Options</a></li>
212                </ul>
213              </li>
214            </ul>
215          </li>
216          <li><h2><a href="apps.html">Packaged Apps</a></h2></li>
217          <li><h2><a href="tutorials.html">Tutorials</a></h2>
218            <ul>
219              <li><a href="tut_debugging.html">Debugging</a></li>
220              <li><a href="tut_analytics.html">Google Analytics</a></li>
221              <li><a href="tut_oauth.html">OAuth</a></li>
222            </ul>
223          </li>
224          <li><h2>Reference</h2>
225            <ul>
226              <li>Formats
227                <ul>
228                  <li><a href="manifest.html">Manifest Files</a></li>
229                  <li><a href="match_patterns.html">Match Patterns</a></li>
230                </ul>
231              </li>
232              <li><a href="permission_warnings.html">Permission Warnings</a></li>
233              <li><a href="api_index.html">chrome.* APIs</a></li>
234              <li><a href="api_other.html">Other APIs</a></li>
235            </ul>
236          </li>
237          <li><h2><a href="samples.html">Samples</a></h2></li>
238          <div class="line"> </div>
239          <li><h2>More</h2>
240            <ul>
241              <li><a href="http://code.google.com/chrome/webstore/docs/index.html">Chrome Web Store</a></li>
242              <li><a href="http://code.google.com/chrome/apps/docs/developers_guide.html">Hosted Apps</a></li>
243              <li><a href="themes.html">Themes</a></li>
244            </ul>
245          </li>
246        </ul>
247      </div>
248      <script>
249        initToggles();
250      </script>
251
252    <div class="g-unit" id="gc-pagecontent">
253      <div id="pageTitle">
254        <h1 class="page_title">Formats: Locale-Specific Messages</h1>
255      </div>
256        <!-- TABLE OF CONTENTS -->
257        <div id="toc">
258          <h2>Contents</h2>
259          <ol>
260            <li>
261              <a href="#overview"> Field summary </a>
262              <ol>
263                <li style="display: none; ">
264                  <a>h3Name</a>
265                </li>
266              </ol>
267            </li><li>
268              <a href="#example"> Example </a>
269              <ol>
270                <li style="display: none; ">
271                  <a>h3Name</a>
272                </li>
273              </ol>
274            </li><li>
275              <a href="#H2-2">Field details</a>
276              <ol>
277                <li>
278                  <a href="#name">name</a>
279                </li><li>
280                  <a href="#message">message</a>
281                </li><li>
282                  <a href="#description">description</a>
283                </li><li>
284                  <a href="#placeholders">placeholders</a>
285                </li>
286              </ol>
287            </li>
288              <li style="display: none; ">
289                <a href="#apiReference">API reference</a>
290                <ol>
291                  <li>
292                    <a href="#properties">Properties</a>
293                    <ol>
294                      <li>
295                        <a href="#property-anchor">propertyName</a>
296                      </li>
297                    </ol>
298                  </li>
299                  <li>
300                    <a>Methods</a>
301                    <ol>
302                      <li>
303                        <a href="#method-anchor">methodName</a>
304                      </li>
305                    </ol>
306                  </li>
307                  <li>
308                    <a>Events</a>
309                    <ol>
310                      <li>
311                        <a href="#event-anchor">eventName</a>
312                      </li>
313                    </ol>
314                  </li>
315                  <li>
316                    <a href="#types">Types</a>
317                    <ol>
318                      <li>
319                        <a href="#id-anchor">id</a>
320                      </li>
321                    </ol>
322                  </li>
323                </ol>
324              </li>
325          </ol>
326        </div>
327        <!-- /TABLE OF CONTENTS -->
328
329        <!-- Standard content lead-in for experimental API pages -->
330        <p id="classSummary" style="display: none; ">
331          For information on how to use experimental APIs, see the <a href="experimental.html">chrome.experimental.* APIs</a> page.
332        </p>
333
334        <!-- STATIC CONTENT PLACEHOLDER -->
335        <div id="static"><div id="pageData-name" class="pageData">Formats: Locale-Specific Messages</div>
336<div id="pageData-showTOC" class="pageData">true</div>
337
338<p>
339Each internationalized extension has at least one
340file named <code>messages.json</code>
341that provides locale-specific strings for the extension.
342This page describes the format of <code>messages.json</code> files.
343For information on how to internationalize and localize your extension,
344see the <a href="i18n.html">Internationalization</a> page.
345</p>
346
347<h2 id="overview"> Field summary </h2>
348
349<p>
350The following code shows the supported fields for
351<code>messages.json</code>.
352Only the "<em>name</em>" and "message" fields are required.
353</p>
354
355<pre>{
356  "<a href="#name"><em>name</em></a>": {
357    "<a href="#message">message</a>": "<em>Message text, with optional placeholders.</em>",
358    "<a href="#description">description</a>": "<em>Translator-aimed description of the message.</em>",
359    "<a href="#placeholders">placeholders</a>": {
360      "<em>placeholder_name</em>": {
361        "content": "<em>A string to be placed within the message.</em>",
362        "example": "<em>Translator-aimed example of the placeholder string.</em>"
363      },
364      ...
365    }
366  },
367  ...
368}
369</pre>
370
371<h2 id="example"> Example </h2>
372
373<p>
374Here's a <code>messages.json</code> file
375that defines three messages
376named "prompt_for_name", "hello", and "bye":
377</p>
378
379<pre>{
380  "prompt_for_name": {
381    "message": "What's your name?",
382    "description": "Ask for the user's name"
383  },
384  "hello": {
385    "message": "Hello, $USER$",
386    "description": "Greet the user",
387    "placeholders": {
388      "user": {
389        "content": "$1",
390        "example": "Cira"
391      }
392    }
393  },
394  "bye": {
395    "message": "Goodbye, $USER$. Come back to $OUR_SITE$ soon!",
396    "description": "Say goodbye to the user",
397    "placeholders": {
398      "our_site": {
399        "content": "Example.com",
400      },
401      "user": {
402        "content": "$1",
403        "example": "Cira"
404      }
405    }
406  }
407}
408</pre>
409
410
411<a name="H2-2"></a><h2>Field details</h2>
412
413<p>
414This section describes each field
415that can appear in a <code>messages.json</code> file.
416For details on how the messages file is used —
417for example, what happens when a locale doesn't define
418all the messages —
419see <a href="i18n.html">Internationalization</a>.
420</p>
421
422
423<h3 id="name">name</h3>
424
425<p>
426Actually, there's no field called "name".
427This field's name is the name of the message —
428the same <em>name</em> that you see in
429<code>__MSG_<em>name</em>__</code>
430or <code>getMessage("<em>name</em>")</code>.
431</p>
432
433<p>
434The name is a case-insensitive key
435that lets you retrieve the localized message text.
436The name can include the following characters:
437</p>
438
439<ul>
440  <li> A-Z </li>
441  <li> a-z </li>
442  <li> 0-9 </li>
443  <li> _ (underscore) </li>
444  <li> @ </li>
445</ul>
446
447<p class="note">
448<b>Note:</b>
449Don't define names that begin with "@@".
450Those names are reserved for
451<a href="i18n.html#overview-predefined">predefined messages</a>.
452</p>
453
454<p>
455Here are three examples of names,
456taken from the <a href="#example">Example</a> section:
457</p>
458
459<pre>"prompt_for_name": {
460  ...
461},
462"hello": {
463  ...
464},
465"bye": {
466  ...
467}
468</pre>
469
470<p>
471For more examples of using names, see the
472<a href="i18n.html">Internationalization</a> page.
473</p>
474
475
476<h3 id="message">message</h3>
477
478<p>
479The translated message,
480in the form of a string that can contain
481<a href="#placeholders">placeholders</a>.
482Use <code>$<em>placeholder_name</em>$</code>
483(case insensitive)
484to refer to a particular placeholder.
485For example, you can refer to a placeholder named "our_site" as
486<code>$our_site$</code>, <code>$OUR_SITE$</code>, or <code>$oUR_sITe$</code>.
487</p>
488
489<p>
490Here are three examples of messages,
491taken from the <a href="#example">Example</a> section:
492</p>
493
494<pre>"message": "What's your name?"
495...
496"message": "Hello, $USER$"
497...
498"message": "Goodbye, $USER$. Come back to $OUR_SITE$ soon!"
499</pre>
500
501<p>
502To put a dollar sign (<code>$</code>) into the string,
503use <code>$$</code>.
504For example, use the following code to specify the message
505<b>Amount (in $)</b>:
506
507</p><pre>"message": "Amount (in $$)"
508</pre>
509
510<p>
511Although placeholders such as <code>$USER$</code> are
512the preferred way of referring to <em>substitution strings</em>
513(strings specified using the <em>substitutions</em> parameter of
514<a href="i18n.html#method-getMessage"><code>getMessage()</code></a>)
515you can also refer to substitution strings directly
516within the message.
517For example, the following message
518refers to the first three substitution strings passed into
519<code>getMessage()</code>:
520</p>
521
522<pre>"message": "Params: $1, $2, $3"
523</pre>
524
525<p>
526Despite that example,
527we recommend that you stick to using placeholders
528instead of <code>$<em>n</em></code> strings
529within your messages.
530Think of placeholders as good variable names.
531A week after you write your code,
532you'll probably forget what <code>$1</code> refers to,
533but you'll know what your placeholders refer to.
534For more information on placeholders and substitution strings, see
535the <a href="#placeholders">placeholders</a> section.
536</p>
537
538<h3 id="description">description</h3>
539
540<p>
541<em>Optional.</em>
542A description of the message,
543intended to give context
544or details to help the translator
545make the best possible translation.
546</p>
547
548<p>
549Here are three examples of descriptions,
550taken from the <a href="#example">Example</a> section:
551</p>
552
553<pre>"description": "Ask for the user's name"
554...
555"description": "Greet the user"
556...
557"description": "Say goodbye to the user"
558</pre>
559
560<h3 id="placeholders">placeholders</h3>
561
562<p>
563<em>Optional.</em>
564Defines one or more substrings
565to be used within the message.
566Here are two reasons you might want to use a placeholder:
567</p>
568
569<ul>
570  <li>
571    To define the text
572    for a part of your message
573    that shouldn't be translated.
574    Examples: HTML code, trademarked names, formatting specifiers.
575  </li>
576  <li>
577    To refer to a substitution string passed into
578    <code>getMessage()</code>.
579    Example: <code>$1</code>.
580  </li>
581</ul>
582
583<p>
584Each placeholder has a name,
585a "content" item,
586and an optional "example" item.
587A placeholder's name is case-insensitive
588and can contain the same characters
589as a <a href="#name">message name</a>.
590</p>
591
592<p>
593The "content" item's value is a string
594that can refer to substitution strings, which are
595specified using the
596<a href="i18n.html#method-getMessage"><code>getMessage()</code></a> method's
597<em>substitutions</em> parameter.
598The value of a "content" item is typically something like
599"Example.com" or "$1".
600If you refer to
601a substitution string that doesn't exist,
602you get an empty string.
603The following table shows how
604<code>$<em>n</em></code> strings correspond to
605strings specified by the <em>substitutions</em> parameter.
606</p>
607
608<table>
609<tbody><tr>
610<th> <em>substitutions</em> parameter </th>
611<th> Value of $1</th>
612<th> Value of $2</th>
613<th> Value of $3</th>
614</tr>
615<tr>
616  <td> <code>userName</code> </td>
617  <td> value of <code>userName</code> </td>
618  <td> <code>""</code> </td>
619  <td> <code>""</code> </td>
620</tr>
621<tr>
622  <td> <code>["Cira", "Kathy"]</code> </td>
623  <td> <code>"Cira"</code> </td>
624  <td> <code>"Kathy"</code> </td>
625  <td> <code>""</code> </td>
626</tr>
627</tbody></table>
628
629<p>
630The "example" item
631(optional, but highly recommended)
632helps translators by showing how the content appears to the end user.
633For example, a placeholder
634for a dollar amount
635should have an example like <code>"$23.45"</code>.
636</p>
637
638<p>
639The following snippet,
640taken from the <a href="#example">Example</a> section,
641shows a "placeholders" item that contains two placeholders
642named "our_site" and "user".
643The "our_site" placeholder has no "example" item
644because its value is obvious from the "content" field.
645</p>
646
647<pre>"placeholders": {
648  "our_site": {
649    "content": "Example.com",
650  },
651  "user": {
652    "content": "$1",
653    "example": "Cira"
654  }
655}
656</pre>
657
658
659
660</div>
661
662        <!-- API PAGE -->
663        <div class="apiPage" style="display: none; ">
664        <a name="apiReference"></a>
665        <h2>API reference: chrome.apiname </h2>
666
667          <!-- PROPERTIES -->
668          <div class="apiGroup">
669            <a name="properties"></a>
670            <h3 id="properties">Properties</h3>
671
672            <div>
673              <a></a>
674              <h4>getLastError</h4>
675              <div class="summary">
676                <!-- Note: intentionally longer 80 columns -->
677                <span>chrome.extension</span><span>lastError</span>
678              </div>
679              <div>
680              </div>
681            </div>
682
683          </div> <!-- /apiGroup -->
684
685          <!-- METHODS -->
686          <div id="methodsTemplate" class="apiGroup">
687            <a></a>
688            <h3>Methods</h3>
689
690            <!-- iterates over all functions -->
691            <div class="apiItem">
692              <a></a> <!-- method-anchor -->
693              <h4>method name</h4>
694
695              <div class="summary"><span>void</span>
696                  <!-- Note: intentionally longer 80 columns -->
697                  <span>chrome.module.methodName</span>(<span><span>, </span><span></span>
698                      <var><span></span></var></span>)</div>
699
700              <div class="description">
701                <p class="todo">Undocumented.</p>
702                <p>
703                  A description from the json schema def of the function goes here.
704                </p>
705
706                <!-- PARAMETERS -->
707                <h4>Parameters</h4>
708                <dl>
709                  <div>
710                    <div>
711                    </div>
712                  </div>
713                </dl>
714
715                <!-- RETURNS -->
716                <h4>Returns</h4>
717                <dl>
718                  <div>
719                    <div>
720                    </div>
721                  </div>
722                </dl>
723
724                <!-- CALLBACK -->
725                <div>
726                  <div>
727                  <h4>Callback function</h4>
728                  <p>
729                    The callback <em>parameter</em> should specify a function
730                    that looks like this:
731                  </p>
732                  <p>
733                    If you specify the <em>callback</em> parameter, it should
734                    specify a function that looks like this:
735                  </p>
736
737                  <!-- Note: intentionally longer 80 columns -->
738                  <pre>function(<span>Type param1, Type param2</span>) <span class="subdued">{...}</span>;</pre>
739                  <dl>
740                    <div>
741                      <div>
742                      </div>
743                    </div>
744                  </dl>
745                  </div>
746                </div>
747
748                <!-- MIN_VERSION -->
749                <p>
750                  This function was added in version <b><span></span></b>.
751                  If you require this function, the manifest key
752                  <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a>
753                  can ensure that your extension won't be run in an earlier browser version.
754                </p>
755              </div> <!-- /description -->
756
757            </div>  <!-- /apiItem -->
758
759          </div>  <!-- /apiGroup -->
760
761          <!-- EVENTS -->
762          <div id="eventsTemplate" class="apiGroup">
763            <a></a>
764            <h3>Events</h3>
765            <!-- iterates over all events -->
766            <div class="apiItem">
767              <a></a>
768              <h4>event name</h4>
769
770              <div class="summary">
771                <!-- Note: intentionally longer 80 columns -->
772                <span class="subdued">chrome.bookmarks</span><span>onEvent</span><span class="subdued">.addListener</span>(function(<span>Type param1, Type param2</span>) <span class="subdued">{...}</span>);
773              </div>
774
775              <div class="description">
776                <p class="todo">Undocumented.</p>
777                <p>
778                  A description from the json schema def of the event goes here.
779                </p>
780
781                <!-- PARAMETERS -->
782                <div>
783                  <h4>Parameters</h4>
784                  <dl>
785                    <div>
786                      <div>
787                      </div>
788                    </div>
789                  </dl>
790                </div>
791              </div> <!-- /decription -->
792
793            </div> <!-- /apiItem -->
794
795          </div> <!-- /apiGroup -->
796
797          <!-- TYPES -->
798          <div class="apiGroup">
799            <a name="types"></a>
800            <h3 id="types">Types</h3>
801
802            <!-- iterates over all types -->
803            <div class="apiItem">
804              <a></a>
805              <h4>type name</h4>
806
807              <div>
808              </div>
809
810            </div> <!-- /apiItem -->
811
812          </div> <!-- /apiGroup -->
813
814        </div> <!-- /apiPage -->
815      </div> <!-- /gc-pagecontent -->
816    </div> <!-- /g-section -->
817  </div> <!-- /codesiteContent -->
818    <div id="gc-footer" --="">
819      <div class="text">
820  <p>
821  Except as otherwise <a href="http://code.google.com/policies.html#restrictions">noted</a>,
822  the content of this page is licensed under the <a rel="license" href="http://creativecommons.org/licenses/by/3.0/">Creative Commons
823  Attribution 3.0 License</a>, and code samples are licensed under the
824  <a rel="license" href="http://code.google.com/google_bsd_license.html">BSD License</a>.
825  </p>
826  <p>
827  ©2011 Google
828  </p>
829
830<!-- begin analytics -->
831<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>
832<script src="http://www.google-analytics.com/ga.js" type="text/javascript"></script>
833
834<script type="text/javascript">
835  // chrome doc tracking
836  try {
837    var engdocs = _gat._getTracker("YT-10763712-2");
838    engdocs._trackPageview();
839  } catch(err) {}
840
841  // code.google.com site-wide tracking
842  try {
843    _uacct="UA-18071-1";
844    _uanchor=1;
845    _uff=0;
846    urchinTracker();
847  }
848  catch(e) {/* urchinTracker not available. */}
849</script>
850<!-- end analytics -->
851      </div>
852    </div> <!-- /gc-footer -->
853  </div> <!-- /gc-container -->
854</body></html>
855