{ "type": "class",
  "qname": "mx.resources.Locale",
  "baseClassname": ""
  ,
    "description": "The Locale class can be used to parse a locale String such as <code>&quot;en_US_MAC&quot;</code> into its three parts: a language code, a country code, and a variant.  <p>The localization APIs in the IResourceManager and IResourceBundle interfaces use locale Strings rather than Locale instances, so this class is seldom used in an application.</p>",
  "tags": [
  {  "tagName": "see",
         "values": ["mx.resources.IResourceBundle", "mx.resources.IResourceManager"]},
      {  "tagName": "playerversion",
         "values": ["Flash 9", "AIR 1.1"]},
      {  "tagName": "productversion",
         "values": ["Flex 3"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "mx.resources.Locale",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor.  such as <code>&quot;en&quot;</code>, <code>&quot;en_US&quot;</code>, or <code>&quot;en_US_MAC&quot;</code>. The parts are separated by underscore characters. The first part is a two-letter lowercase language code as defined by ISO-639, such as <code>&quot;en&quot;</code> for English. The second part is a two-letter uppercase country code as defined by ISO-3166, such as <code>&quot;US&quot;</code> for the United States. The third part is a variant String, which can be used to optionally distinguish multiple locales for the same language and country. It is sometimes used to indicate the operating system that the locale should be used with, such as <code>&quot;MAC&quot;</code>, <code>&quot;WIN&quot;</code>, or <code>&quot;UNIX&quot;</code>.",
        "tags": [
        {  "tagName": "param",
               "values": ["localeString A 1-, 2-, or 3-part locale String,"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": [{ "name": "localeString", "type": "String"}]}
      ,
      { "type": "accessor",
        "access": "read-only",
        "return": "String",
        "qname": "language",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The language code of this Locale instance. [Read-Only]  <pre>\\n var locale:Locale = new Locale(&quot;en_US_MAC&quot;);\\n trace(locale.language); // outputs &quot;en&quot;\\n </pre>",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "String",
        "qname": "country",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The country code of this Locale instance. [Read-Only]  <pre>\\n var locale:Locale = new Locale(&quot;en_US_MAC&quot;);\\n trace(locale.country); // outputs &quot;US&quot;\\n </pre>",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "String",
        "qname": "variant",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The variant part of this Locale instance. [Read-Only]  <pre>\\n var locale:Locale = new Locale(&quot;en_US_MAC&quot;);\\n trace(locale.variant); // outputs &quot;MAC&quot;\\n </pre>",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "toString",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns the locale String that was used to construct this Locale instance. For example:  <pre>\\n var locale:Locale = new Locale(&quot;en_US_MAC&quot;);\\n trace(locale.toString()); // outputs &quot;en_US_MAC&quot;\\n </pre>  construct this Locale instance.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "return",
               "values": ["Returns the locale String that was used to"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "String",
          "params": []}
      ]
  }
