<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<phpdoc:classref xml:id="class.locale" xmlns:phpdoc="http://php.net/ns/phpdoc" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
 <title>The Locale class</title>
 <titleabbrev>Locale</titleabbrev>

 <partintro>

  <!-- {{{ Locale intro -->
  <section xml:id="locale.intro">
   &reftitle.intro;
   <simpara>
    A "Locale" is an identifier used to get language, culture, or
    regionally-specific behavior from an API. PHP locales are organized and
    identified the same way that the CLDR locales used by ICU (and many
    vendors of Unix-like operating systems, the Mac, Java, and so forth) use.
    Locales are identified using RFC 4646 language tags (which use hyphen, not
    underscore) in addition to the more traditional underscore-using
    identifiers. Unless otherwise noted the functions in this class are
    tolerant of both formats.
   </simpara>
   <para>
    Examples of identifiers include:
    <simplelist>
     <member>en-US (English, United States)</member>
     <member>zh-Hant-TW (Chinese, Traditional Script, Taiwan)</member>
     <member>fr-CA, fr-FR (French for Canada and France respectively)</member>
    </simplelist>
   </para>
   <simpara>
    The Locale class (and related procedural functions) are used to interact
    with locale identifiers--to verify that an ID is well-formed, valid, etc.
    The extensions used by CLDR in UAX #35 (and inherited by ICU) are valid
    and used wherever they would be in ICU normally.
   </simpara>
   <simpara>
    Locales cannot be instantiated as objects. All of the functions/methods
    provided are static.
   </simpara>
   <simpara>
    The null or empty string obtains the "root" locale. The "root" locale is
    equivalent to "en_US_POSIX" in CLDR. Language tags (and thus locale
    identifiers) are case insensitive. There exists a canonicalization
    function to make case match the specification.
   </simpara>
  </section>
  <!-- }}} -->

  <section xml:id="locale.synopsis">
   &reftitle.classsynopsis;

   <!-- {{{ Synopsis -->
   <classsynopsis class="class">
    <ooclass>
     <classname>Locale</classname>
    </ooclass>

    <classsynopsisinfo role="comment">&Constants;</classsynopsisinfo>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="locale.constants.actual-locale">Locale::ACTUAL_LOCALE</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="locale.constants.valid-locale">Locale::VALID_LOCALE</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>null</type>
     <varname linkend="locale.constants.default-locale">Locale::DEFAULT_LOCALE</varname>
     <initializer>null</initializer>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>string</type>
     <varname linkend="locale.constants.lang-tag">Locale::LANG_TAG</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>string</type>
     <varname linkend="locale.constants.extlang-tag">Locale::EXTLANG_TAG</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>string</type>
     <varname linkend="locale.constants.script-tag">Locale::SCRIPT_TAG</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>string</type>
     <varname linkend="locale.constants.region-tag">Locale::REGION_TAG</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>string</type>
     <varname linkend="locale.constants.variant-tag">Locale::VARIANT_TAG</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>string</type>
     <varname linkend="locale.constants.grandfathered-lang-tag">Locale::GRANDFATHERED_LANG_TAG</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>string</type>
     <varname linkend="locale.constants.private-tag">Locale::PRIVATE_TAG</varname>
    </fieldsynopsis>

    <classsynopsisinfo role="comment">&Methods;</classsynopsisinfo>
    <xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.locale')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[@role='Locale'])">
     <xi:fallback/>
    </xi:include>
   </classsynopsis>
   <!-- }}} -->

  </section>

  <!-- {{{ Locale properties
   <section xml:id="locale.props">
   &reftitle.properties;
   <variablelist>
   <varlistentry xml:id="locale.props.name">
   <term><varname>name</varname></term>
   <listitem>
   <para>Prop description</para>
   </listitem>
   </varlistentry>
   </variablelist>
   </section>
   }}} -->

  &reference.intl.locale-constants;
  <section xml:id="locale.seealso">
   &reftitle.seealso;
   <para>
    <simplelist>
     <member>
      <link xlink:href="&url.rfc;4646">RFC 4646 - Tags for Identifying Languages</link>
     </member>
     <member>
      <link xlink:href="&url.rfc;4647">RFC 4647 - Matching of Language Tags</link>
     </member>
     <member>
      <link xlink:href="&url.cldr.locale;">Unicode CLDR Project:Common Locale Data Repository</link>
     </member>
     <member>
      <link xlink:href="&url.iana.locale.subtags;">IANA Language Subtags Registry</link>
     </member>
     <member>
      <link xlink:href="&url.icu.locale.guide;">ICU User Guide - Locale</link>
     </member>
     <member>
      <link xlink:href="&url.icu.locale.api;">ICU Locale api</link>
     </member>
    </simplelist>
   </para>
  </section>
 </partintro>

 &reference.intl.entities.locale;

</phpdoc:classref>
<!-- Keep this comment at the end of the file
 Local variables:
 mode: sgml
 sgml-omittag:t
 sgml-shorttag:t
 sgml-minimize-attributes:nil
 sgml-always-quote-attributes:t
 sgml-indent-step:1
 sgml-indent-data:t
 indent-tabs-mode:nil
 sgml-parent-document:nil
 sgml-default-dtd-file:"~/.phpdoc/manual.ced"
 sgml-exposed-tags:nil
 sgml-local-catalogs:nil
 sgml-local-ecat-files:nil
 End:
 vim600: syn=xml fen fdm=syntax fdl=2 si
 vim: et tw=78 syn=sgml
 vi: ts=1 sw=1
-->
