1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216
  
     | 
    
      <?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<reference xml:id="class.locale" role="class" 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>
  <section role="changelog">
   &reftitle.changelog;
   <informaltable>
    <tgroup cols="2">
     <thead>
      <row>
       <entry>&Version;</entry>
       <entry>&Description;</entry>
      </row>
     </thead>
     <tbody>
      <row>
       <entry>8.4.0</entry>
       <entry>
        The class constants are now typed.
       </entry>
      </row>
     </tbody>
    </tgroup>
   </informaltable>
  </section>
 </partintro>
 &reference.intl.entities.locale;
</reference>
<!-- 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
-->
 
     |