/*
 * Copyright 2010 Google Inc.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package com.google.gwt.i18n.client.impl.cldr;

import com.google.gwt.core.client.JavaScriptObject;

// DO NOT EDIT - GENERATED FROM CLDR DATA

/**
 * Localized names for the "fa_AF" locale.
 */
public class LocalizedNamesImpl_fa_AF extends LocalizedNamesImpl_fa {

  @Override
  public String[] loadSortedRegionCodes() {
    return new String[] {
        "AW",
        "AU",
        "DE",
        "AN",
        "AI",
        "IE",
        "IS",
        "EU",
        "AT",
        "AR",
        "JO",
        "AM",
        "ER",
        "UZ",
        "EE",
        "IL",
        "ZA",
        "CF",
        "AF",
        "AL",
        "DZ",
        "SV",
        "AE",
        "AG",
        "AD",
        "ID",
        "AO",
        "UG",
        "UA",
        "EC",
        "US",
        "IT",
        "ET",
        "IR",
        "BB",
        "BH",
        "QO",
        "BR",
        "BM",
        "BI",
        "BN",
        "GB",
        "BE",
        "BG",
        "BZ",
        "BD",
        "BJ",
        "BS",
        "BT",
        "BW",
        "BF",
        "BA",
        "BO",
        "TJ",
        "TZ",
        "TH",
        "TW",
        "TM",
        "TR",
        "TA",
        "TT",
        "TN",
        "TO",
        "TV",
        "TK",
        "TG",
        "TL",
        "JM",
        "JP",
        "GI",
        "JE",
        "AC",
        "AX",
        "TC",
        "SB",
        "FO",
        "FK",
        "IC",
        "MH",
        "MP",
        "VI",
        "VG",
        "CP",
        "UM",
        "CK",
        "CC",
        "KY",
        "BV",
        "SJ",
        "IM",
        "NF",
        "HM",
        "CX",
        "GP",
        "AZ",
        "CD",
        "DO",
        "CZ",
        "GS",
        "DJ",
        "DK",
        "DM",
        "DG",
        "RW",
        "RU",
        "BY",
        "RO",
        "RE",
        "ZM",
        "NZ",
        "ZW",
        "ST",
        "CI",
        "WS",
        "AS",
        "SM",
        "LK",
        "SK",
        "SI",
        "BL",
        "LC",
        "MF",
        "SH",
        "VC",
        "PM",
        "KN",
        "SZ",
        "SD",
        "SR",
        "SY",
        "SO",
        "SE",
        "CH",
        "SL",
        "SC",
        "SG",
        "SN",
        "EH",
        "RS",
        "CS",
        "IQ",
        "SA",
        "OM",
        "GH",
        "FR",
        "PS",
        "FI",
        "FJ",
        "PH",
        "CY",
        "KG",
        "KZ",
        "AQ",
        "QA",
        "LA",
        "LV",
        "LB",
        "LT",
        "LU",
        "LR",
        "LY",
        "LI",
        "LS",
        "MG",
        "MQ",
        "MW",
        "MT",
        "MV",
        "ML",
        "MY",
        "MO",
        "YT",
        "HU",
        "MA",
        "IO",
        "TF",
        "EG",
        "MK",
        "MN",
        "MR",
        "MU",
        "MZ",
        "MD",
        "MC",
        "MS",
        "ME",
        "MX",
        "MM",
        "FM",
        "NR",
        "NO",
        "NA",
        "NE",
        "NG",
        "NU",
        "NP",
        "NI",
        "NL",
        "HN",
        "HT",
        "ES",
        "IN",
        "HK",
        "VA",
        "WF",
        "VU",
        "VE",
        "VN",
        "PY",
        "PK",
        "PW",
        "PA",
        "PG",
        "PT",
        "PF",
        "PR",
        "PL",
        "PN",
        "PE",
        "TD",
        "CL",
        "CN",
        "CR",
        "NC",
        "CM",
        "CA",
        "CG",
        "HR",
        "KI",
        "KH",
        "EA",
        "KR",
        "KP",
        "CO",
        "KM",
        "KW",
        "KE",
        "CU",
        "CV",
        "GA",
        "GM",
        "GE",
        "GG",
        "GD",
        "GL",
        "GT",
        "GU",
        "GF",
        "GY",
        "GN",
        "GQ",
        "GW",
        "YE",
        "UY",
        "GR",
    };
  }

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("AD", "اندورا");
    namesMap.put("AG", "انتیگوا و باربودا");
    namesMap.put("AL", "البانیا");
    namesMap.put("AO", "انگولا");
    namesMap.put("AR", "ارجنتاین");
    namesMap.put("AU", "آسترالیا");
    namesMap.put("BA", "بوسنیا و هرزه‌گوینا");
    namesMap.put("BD", "بنگله‌دیش");
    namesMap.put("BE", "بلجیم");
    namesMap.put("BG", "بلغاریا");
    namesMap.put("BN", "برونی");
    namesMap.put("BO", "بولیویا");
    namesMap.put("BR", "برازیل");
    namesMap.put("BS", "بهاماس");
    namesMap.put("BY", "روسیهٔ سفید");
    namesMap.put("CD", "جمهوری دموکراتیک کانگو");
    namesMap.put("CF", "افریقای مرکزی");
    namesMap.put("CG", "کانگو");
    namesMap.put("CH", "سویس");
    namesMap.put("CL", "چلی");
    namesMap.put("CO", "کولمبیا");
    namesMap.put("CR", "کاستریکا");
    namesMap.put("CU", "کیوبا");
    namesMap.put("DK", "دنمارک");
    namesMap.put("EC", "اکوادور");
    namesMap.put("EE", "استونیا");
    namesMap.put("ER", "اریتریا");
    namesMap.put("ES", "هسپانیه");
    namesMap.put("ET", "ایتوپیا");
    namesMap.put("FI", "فنلند");
    namesMap.put("FM", "میکرونزیا");
    namesMap.put("GD", "گرینادا");
    namesMap.put("GN", "گینیا");
    namesMap.put("GQ", "گینیا استوایی");
    namesMap.put("GT", "گواتیمالا");
    namesMap.put("GW", "گینیا بیسائو");
    namesMap.put("GY", "گیانا");
    namesMap.put("HN", "هاندوراس");
    namesMap.put("HR", "کروشیا");
    namesMap.put("HT", "هایتی");
    namesMap.put("ID", "اندونیزیا");
    namesMap.put("IE", "آیرلند");
    namesMap.put("IS", "آیسلند");
    namesMap.put("JP", "جاپان");
    namesMap.put("KE", "کینیا");
    namesMap.put("KG", "قرغزستان");
    namesMap.put("KH", "کمپوچیا");
    namesMap.put("KM", "کومور");
    namesMap.put("KN", "سنت کیتس و نیویس");
    namesMap.put("KP", "کوریای شمالی");
    namesMap.put("KR", "کوریای جنوبی");
    namesMap.put("LK", "سریلانکا");
    namesMap.put("LS", "لیسوتو");
    namesMap.put("LT", "لتوانیا");
    namesMap.put("LV", "لاتویا");
    namesMap.put("LY", "لیبیا");
    namesMap.put("MG", "مادغاسکر");
    namesMap.put("MN", "منگولیا");
    namesMap.put("MR", "موریتانیا");
    namesMap.put("MT", "مالتا");
    namesMap.put("MX", "مکسیکو");
    namesMap.put("MY", "مالیزیا");
    namesMap.put("MZ", "موزمبیق");
    namesMap.put("NG", "نیجریا");
    namesMap.put("NI", "نیکاراگوا");
    namesMap.put("NL", "هالند");
    namesMap.put("NO", "ناروی");
    namesMap.put("NP", "نیپال");
    namesMap.put("NZ", "زیلاند جدید");
    namesMap.put("PA", "پانامه");
    namesMap.put("PE", "پیرو");
    namesMap.put("PG", "پاپوا نیو گینیا");
    namesMap.put("PL", "پولند");
    namesMap.put("PT", "پرتگال");
    namesMap.put("PY", "پاراگوای");
    namesMap.put("RO", "رومانیا");
    namesMap.put("RW", "روآندا");
    namesMap.put("SB", "جزایر سلومون");
    namesMap.put("SE", "سویدن");
    namesMap.put("SG", "سینگاپور");
    namesMap.put("SI", "سلونیا");
    namesMap.put("SK", "سلواکیا");
    namesMap.put("SL", "سیرالیون");
    namesMap.put("SN", "سینیگال");
    namesMap.put("SO", "سومالیه");
    namesMap.put("ST", "سائو تومه و پرینسیپ");
    namesMap.put("SV", "السلوادور");
    namesMap.put("TJ", "تاجکستان");
    namesMap.put("UA", "اکراین");
    namesMap.put("UY", "یوروگوای");
    namesMap.put("VC", "سنت وینسنت و گرینادین");
    namesMap.put("VE", "ونزویلا");
    namesMap.put("WS", "ساموآ");
    namesMap.put("ZW", "زیمبابوی");
  }

  @Override
  protected JavaScriptObject loadNameMapNative() {
    return overrideMap(super.loadNameMapNative(), loadMyNameMap());
  }

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "AD": "اندورا",
        "AG": "انتیگوا و باربودا",
        "AL": "البانیا",
        "AO": "انگولا",
        "AR": "ارجنتاین",
        "AU": "آسترالیا",
        "BA": "بوسنیا و هرزه‌گوینا",
        "BD": "بنگله‌دیش",
        "BE": "بلجیم",
        "BG": "بلغاریا",
        "BN": "برونی",
        "BO": "بولیویا",
        "BR": "برازیل",
        "BS": "بهاماس",
        "BY": "روسیهٔ سفید",
        "CD": "جمهوری دموکراتیک کانگو",
        "CF": "افریقای مرکزی",
        "CG": "کانگو",
        "CH": "سویس",
        "CL": "چلی",
        "CO": "کولمبیا",
        "CR": "کاستریکا",
        "CU": "کیوبا",
        "DK": "دنمارک",
        "EC": "اکوادور",
        "EE": "استونیا",
        "ER": "اریتریا",
        "ES": "هسپانیه",
        "ET": "ایتوپیا",
        "FI": "فنلند",
        "FM": "میکرونزیا",
        "GD": "گرینادا",
        "GN": "گینیا",
        "GQ": "گینیا استوایی",
        "GT": "گواتیمالا",
        "GW": "گینیا بیسائو",
        "GY": "گیانا",
        "HN": "هاندوراس",
        "HR": "کروشیا",
        "HT": "هایتی",
        "ID": "اندونیزیا",
        "IE": "آیرلند",
        "IS": "آیسلند",
        "JP": "جاپان",
        "KE": "کینیا",
        "KG": "قرغزستان",
        "KH": "کمپوچیا",
        "KM": "کومور",
        "KN": "سنت کیتس و نیویس",
        "KP": "کوریای شمالی",
        "KR": "کوریای جنوبی",
        "LK": "سریلانکا",
        "LS": "لیسوتو",
        "LT": "لتوانیا",
        "LV": "لاتویا",
        "LY": "لیبیا",
        "MG": "مادغاسکر",
        "MN": "منگولیا",
        "MR": "موریتانیا",
        "MT": "مالتا",
        "MX": "مکسیکو",
        "MY": "مالیزیا",
        "MZ": "موزمبیق",
        "NG": "نیجریا",
        "NI": "نیکاراگوا",
        "NL": "هالند",
        "NO": "ناروی",
        "NP": "نیپال",
        "NZ": "زیلاند جدید",
        "PA": "پانامه",
        "PE": "پیرو",
        "PG": "پاپوا نیو گینیا",
        "PL": "پولند",
        "PT": "پرتگال",
        "PY": "پاراگوای",
        "RO": "رومانیا",
        "RW": "روآندا",
        "SB": "جزایر سلومون",
        "SE": "سویدن",
        "SG": "سینگاپور",
        "SI": "سلونیا",
        "SK": "سلواکیا",
        "SL": "سیرالیون",
        "SN": "سینیگال",
        "SO": "سومالیه",
        "ST": "سائو تومه و پرینسیپ",
        "SV": "السلوادور",
        "TJ": "تاجکستان",
        "UA": "اکراین",
        "UY": "یوروگوای",
        "VC": "سنت وینسنت و گرینادین",
        "VE": "ونزویلا",
        "WS": "ساموآ",
        "ZW": "زیمبابوی"
    };
  }-*/;
}
