/*
 * Copyright 2014 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:
//  cldrVersion=25
//  date=$Date: 2013-08-29 04:32:04 +0200 (Thu, 29 Aug 2013) $
//  number=$Revision: 9287 $
//  type=rn

/**
 * Localized names for the "rn" locale.
 */
public class LocalizedNamesImpl_rn extends LocalizedNamesImpl {

  @Override
  public String[] loadLikelyRegionCodes() {
    return new String[] {
        "BI",
    };
  }

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("AD", "Andora");
    namesMap.put("AE", "Leta Zunze Ubumwe z'Abarabu");
    namesMap.put("AF", "Afuganisitani");
    namesMap.put("AG", "Antigwa na Baribuda");
    namesMap.put("AI", "Angwila");
    namesMap.put("AL", "Alubaniya");
    namesMap.put("AM", "Arumeniya");
    namesMap.put("AN", "Antiye y'Abaholandi");
    namesMap.put("AR", "Arijantine");
    namesMap.put("AS", "Samowa nyamerika");
    namesMap.put("AT", "Otirishe");
    namesMap.put("AU", "Ositaraliya");
    namesMap.put("AZ", "Azerubayijani");
    namesMap.put("BA", "Bosiniya na Herigozevine");
    namesMap.put("BB", "Barubadosi");
    namesMap.put("BD", "Bangaladeshi");
    namesMap.put("BE", "Ububiligi");
    namesMap.put("BF", "Burukina Faso");
    namesMap.put("BG", "Buligariya");
    namesMap.put("BH", "Bahareyini");
    namesMap.put("BI", "Uburundi");
    namesMap.put("BJ", "Bene");
    namesMap.put("BM", "Berimuda");
    namesMap.put("BN", "Buruneyi");
    namesMap.put("BO", "Boliviya");
    namesMap.put("BR", "Burezili");
    namesMap.put("BS", "Bahamasi");
    namesMap.put("BT", "Butani");
    namesMap.put("BY", "Belausi");
    namesMap.put("CA", "Kanada");
    namesMap.put("CD", "Repubulika Iharanira Demokarasi ya Kongo");
    namesMap.put("CF", "Repubulika ya Santarafurika");
    namesMap.put("CG", "Kongo");
    namesMap.put("CH", "Ubusuwisi");
    namesMap.put("CI", "Kotedivuware");
    namesMap.put("CK", "Izinga rya Kuku");
    namesMap.put("CL", "Shili");
    namesMap.put("CM", "Kameruni");
    namesMap.put("CN", "Ubushinwa");
    namesMap.put("CO", "Kolombiya");
    namesMap.put("CR", "Kositarika");
    namesMap.put("CU", "Kiba");
    namesMap.put("CV", "Ibirwa bya Kapuveri");
    namesMap.put("CY", "Izinga rya Shipure");
    namesMap.put("CZ", "Repubulika ya Ceke");
    namesMap.put("DE", "Ubudage");
    namesMap.put("DJ", "Jibuti");
    namesMap.put("DK", "Danimariki");
    namesMap.put("DM", "Dominika");
    namesMap.put("DO", "Repubulika ya Dominika");
    namesMap.put("DZ", "Alijeriya");
    namesMap.put("EC", "Ekwateri");
    namesMap.put("EE", "Esitoniya");
    namesMap.put("EG", "Misiri");
    namesMap.put("ER", "Elitereya");
    namesMap.put("ES", "Hisipaniya");
    namesMap.put("ET", "Etiyopiya");
    namesMap.put("FI", "Finilandi");
    namesMap.put("FK", "Izinga rya Filikilandi");
    namesMap.put("FM", "Mikoroniziya");
    namesMap.put("FR", "Ubufaransa");
    namesMap.put("GA", "Gabo");
    namesMap.put("GB", "Ubwongereza");
    namesMap.put("GD", "Gerenada");
    namesMap.put("GE", "Jeworujiya");
    namesMap.put("GF", "Gwayana y'Abafaransa");
    namesMap.put("GH", "Gana");
    namesMap.put("GI", "Juburalitari");
    namesMap.put("GL", "Gurunilandi");
    namesMap.put("GM", "Gambiya");
    namesMap.put("GN", "Guneya");
    namesMap.put("GP", "Gwadelupe");
    namesMap.put("GQ", "Gineya Ekwatoriyali");
    namesMap.put("GR", "Ubugereki");
    namesMap.put("GT", "Gwatemala");
    namesMap.put("GU", "Gwamu");
    namesMap.put("GW", "Gineya Bisawu");
    namesMap.put("GY", "Guyane");
    namesMap.put("HN", "Hondurasi");
    namesMap.put("HR", "Korowasiya");
    namesMap.put("HT", "Hayiti");
    namesMap.put("HU", "Hungariya");
    namesMap.put("ID", "Indoneziya");
    namesMap.put("IE", "Irilandi");
    namesMap.put("IL", "Isiraheli");
    namesMap.put("IN", "Ubuhindi");
    namesMap.put("IO", "Intara y'Ubwongereza yo mu birwa by'Abahindi");
    namesMap.put("IQ", "Iraki");
    namesMap.put("IR", "Irani");
    namesMap.put("IS", "Ayisilandi");
    namesMap.put("IT", "Ubutaliyani");
    namesMap.put("JM", "Jamayika");
    namesMap.put("JO", "Yorudaniya");
    namesMap.put("JP", "Ubuyapani");
    namesMap.put("KG", "Kirigisitani");
    namesMap.put("KH", "Kamboje");
    namesMap.put("KM", "Izinga rya Komore");
    namesMap.put("KN", "Sekitsi na Nevisi");
    namesMap.put("KP", "Koreya y'amajaruguru");
    namesMap.put("KR", "Koreya y'amajepfo");
    namesMap.put("KW", "Koweti");
    namesMap.put("KY", "Ibirwa bya Keyimani");
    namesMap.put("KZ", "Kazakisitani");
    namesMap.put("LA", "Layosi");
    namesMap.put("LB", "Libani");
    namesMap.put("LC", "Selusiya");
    namesMap.put("LI", "Lishyitenshitayini");
    namesMap.put("LK", "Sirilanka");
    namesMap.put("LR", "Liberiya");
    namesMap.put("LS", "Lesoto");
    namesMap.put("LT", "Lituwaniya");
    namesMap.put("LU", "Lukusamburu");
    namesMap.put("LV", "Lativa");
    namesMap.put("LY", "Libiya");
    namesMap.put("MA", "Maroke");
    namesMap.put("MC", "Monako");
    namesMap.put("MD", "Moludavi");
    namesMap.put("MG", "Madagasikari");
    namesMap.put("MH", "Izinga rya Marishari");
    namesMap.put("MK", "Masedoniya");
    namesMap.put("MM", "Birimaniya");
    namesMap.put("MN", "Mongoliya");
    namesMap.put("MP", "Amazinga ya Mariyana ryo mu majaruguru");
    namesMap.put("MQ", "Maritiniki");
    namesMap.put("MR", "Moritaniya");
    namesMap.put("MS", "Monteserati");
    namesMap.put("MT", "Malita");
    namesMap.put("MU", "Izinga rya Morise");
    namesMap.put("MV", "Moludave");
    namesMap.put("MX", "Migizike");
    namesMap.put("MY", "Maleziya");
    namesMap.put("MZ", "Mozambiki");
    namesMap.put("NA", "Namibiya");
    namesMap.put("NC", "Niyukaledoniya");
    namesMap.put("NE", "Nijeri");
    namesMap.put("NF", "izinga rya Norufoluke");
    namesMap.put("NG", "Nijeriya");
    namesMap.put("NI", "Nikaragwa");
    namesMap.put("NL", "Ubuholandi");
    namesMap.put("NO", "Noruveji");
    namesMap.put("NP", "Nepali");
    namesMap.put("NR", "Nawuru");
    namesMap.put("NU", "Niyuwe");
    namesMap.put("NZ", "Nuvelizelandi");
    namesMap.put("OM", "Omani");
    namesMap.put("PF", "Polineziya y'Abafaransa");
    namesMap.put("PG", "Papuwa Niyugineya");
    namesMap.put("PH", "Amazinga ya Filipine");
    namesMap.put("PK", "Pakisitani");
    namesMap.put("PL", "Polonye");
    namesMap.put("PM", "Sempiyeri na Mikeloni");
    namesMap.put("PN", "Pitikeyirini");
    namesMap.put("PR", "Puwetoriko");
    namesMap.put("PS", "Palesitina Wesitibanka na Gaza");
    namesMap.put("PT", "Porutugali");
    namesMap.put("PW", "Palawu");
    namesMap.put("PY", "Paragwe");
    namesMap.put("QA", "Katari");
    namesMap.put("RE", "Amazinga ya Reyiniyo");
    namesMap.put("RO", "Rumaniya");
    namesMap.put("RU", "Uburusiya");
    namesMap.put("RW", "u Rwanda");
    namesMap.put("SA", "Arabiya Sawudite");
    namesMap.put("SB", "Amazinga ya Salumoni");
    namesMap.put("SC", "Amazinga ya Seyisheli");
    namesMap.put("SD", "Sudani");
    namesMap.put("SE", "Suwedi");
    namesMap.put("SG", "Singapuru");
    namesMap.put("SH", "Sehelene");
    namesMap.put("SI", "Siloveniya");
    namesMap.put("SK", "Silovakiya");
    namesMap.put("SL", "Siyeralewone");
    namesMap.put("SM", "Sanimarino");
    namesMap.put("SN", "Senegali");
    namesMap.put("SO", "Somaliya");
    namesMap.put("ST", "Sawotome na Perensipe");
    namesMap.put("SV", "Eli Saluvatori");
    namesMap.put("SY", "Siriya");
    namesMap.put("SZ", "Suwazilandi");
    namesMap.put("TC", "Amazinga ya Turkisi na Cayikosi");
    namesMap.put("TD", "Cadi");
    namesMap.put("TH", "Tayilandi");
    namesMap.put("TJ", "Tajikisitani");
    namesMap.put("TK", "Tokelawu");
    namesMap.put("TL", "Timoru y'iburasirazuba");
    namesMap.put("TM", "Turukumenisitani");
    namesMap.put("TN", "Tuniziya");
    namesMap.put("TR", "Turukiya");
    namesMap.put("TT", "Tirinidadi na Tobago");
    namesMap.put("TW", "Tayiwani");
    namesMap.put("TZ", "Tanzaniya");
    namesMap.put("UA", "Ikerene");
    namesMap.put("UG", "Ubugande");
    namesMap.put("US", "Leta Zunze Ubumwe za Amerika");
    namesMap.put("UY", "Irigwe");
    namesMap.put("UZ", "Uzubekisitani");
    namesMap.put("VA", "Umurwa wa Vatikani");
    namesMap.put("VC", "Sevensa na Gerenadine");
    namesMap.put("VE", "Venezuwela");
    namesMap.put("VG", "Ibirwa by'isugi by'Abongereza");
    namesMap.put("VI", "Amazinga y'Isugi y'Abanyamerika");
    namesMap.put("VN", "Viyetinamu");
    namesMap.put("VU", "Vanuwatu");
    namesMap.put("WF", "Walisi na Futuna");
    namesMap.put("WS", "Samowa");
    namesMap.put("YE", "Yemeni");
    namesMap.put("YT", "Mayote");
    namesMap.put("ZA", "Afurika y'Epfo");
    namesMap.put("ZM", "Zambiya");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "AD": "Andora",
        "AE": "Leta Zunze Ubumwe z'Abarabu",
        "AF": "Afuganisitani",
        "AG": "Antigwa na Baribuda",
        "AI": "Angwila",
        "AL": "Alubaniya",
        "AM": "Arumeniya",
        "AN": "Antiye y'Abaholandi",
        "AR": "Arijantine",
        "AS": "Samowa nyamerika",
        "AT": "Otirishe",
        "AU": "Ositaraliya",
        "AZ": "Azerubayijani",
        "BA": "Bosiniya na Herigozevine",
        "BB": "Barubadosi",
        "BD": "Bangaladeshi",
        "BE": "Ububiligi",
        "BF": "Burukina Faso",
        "BG": "Buligariya",
        "BH": "Bahareyini",
        "BI": "Uburundi",
        "BJ": "Bene",
        "BM": "Berimuda",
        "BN": "Buruneyi",
        "BO": "Boliviya",
        "BR": "Burezili",
        "BS": "Bahamasi",
        "BT": "Butani",
        "BY": "Belausi",
        "CA": "Kanada",
        "CD": "Repubulika Iharanira Demokarasi ya Kongo",
        "CF": "Repubulika ya Santarafurika",
        "CG": "Kongo",
        "CH": "Ubusuwisi",
        "CI": "Kotedivuware",
        "CK": "Izinga rya Kuku",
        "CL": "Shili",
        "CM": "Kameruni",
        "CN": "Ubushinwa",
        "CO": "Kolombiya",
        "CR": "Kositarika",
        "CU": "Kiba",
        "CV": "Ibirwa bya Kapuveri",
        "CY": "Izinga rya Shipure",
        "CZ": "Repubulika ya Ceke",
        "DE": "Ubudage",
        "DJ": "Jibuti",
        "DK": "Danimariki",
        "DM": "Dominika",
        "DO": "Repubulika ya Dominika",
        "DZ": "Alijeriya",
        "EC": "Ekwateri",
        "EE": "Esitoniya",
        "EG": "Misiri",
        "ER": "Elitereya",
        "ES": "Hisipaniya",
        "ET": "Etiyopiya",
        "FI": "Finilandi",
        "FK": "Izinga rya Filikilandi",
        "FM": "Mikoroniziya",
        "FR": "Ubufaransa",
        "GA": "Gabo",
        "GB": "Ubwongereza",
        "GD": "Gerenada",
        "GE": "Jeworujiya",
        "GF": "Gwayana y'Abafaransa",
        "GH": "Gana",
        "GI": "Juburalitari",
        "GL": "Gurunilandi",
        "GM": "Gambiya",
        "GN": "Guneya",
        "GP": "Gwadelupe",
        "GQ": "Gineya Ekwatoriyali",
        "GR": "Ubugereki",
        "GT": "Gwatemala",
        "GU": "Gwamu",
        "GW": "Gineya Bisawu",
        "GY": "Guyane",
        "HN": "Hondurasi",
        "HR": "Korowasiya",
        "HT": "Hayiti",
        "HU": "Hungariya",
        "ID": "Indoneziya",
        "IE": "Irilandi",
        "IL": "Isiraheli",
        "IN": "Ubuhindi",
        "IO": "Intara y'Ubwongereza yo mu birwa by'Abahindi",
        "IQ": "Iraki",
        "IR": "Irani",
        "IS": "Ayisilandi",
        "IT": "Ubutaliyani",
        "JM": "Jamayika",
        "JO": "Yorudaniya",
        "JP": "Ubuyapani",
        "KG": "Kirigisitani",
        "KH": "Kamboje",
        "KM": "Izinga rya Komore",
        "KN": "Sekitsi na Nevisi",
        "KP": "Koreya y'amajaruguru",
        "KR": "Koreya y'amajepfo",
        "KW": "Koweti",
        "KY": "Ibirwa bya Keyimani",
        "KZ": "Kazakisitani",
        "LA": "Layosi",
        "LB": "Libani",
        "LC": "Selusiya",
        "LI": "Lishyitenshitayini",
        "LK": "Sirilanka",
        "LR": "Liberiya",
        "LS": "Lesoto",
        "LT": "Lituwaniya",
        "LU": "Lukusamburu",
        "LV": "Lativa",
        "LY": "Libiya",
        "MA": "Maroke",
        "MC": "Monako",
        "MD": "Moludavi",
        "MG": "Madagasikari",
        "MH": "Izinga rya Marishari",
        "MK": "Masedoniya",
        "MM": "Birimaniya",
        "MN": "Mongoliya",
        "MP": "Amazinga ya Mariyana ryo mu majaruguru",
        "MQ": "Maritiniki",
        "MR": "Moritaniya",
        "MS": "Monteserati",
        "MT": "Malita",
        "MU": "Izinga rya Morise",
        "MV": "Moludave",
        "MX": "Migizike",
        "MY": "Maleziya",
        "MZ": "Mozambiki",
        "NA": "Namibiya",
        "NC": "Niyukaledoniya",
        "NE": "Nijeri",
        "NF": "izinga rya Norufoluke",
        "NG": "Nijeriya",
        "NI": "Nikaragwa",
        "NL": "Ubuholandi",
        "NO": "Noruveji",
        "NP": "Nepali",
        "NR": "Nawuru",
        "NU": "Niyuwe",
        "NZ": "Nuvelizelandi",
        "OM": "Omani",
        "PF": "Polineziya y'Abafaransa",
        "PG": "Papuwa Niyugineya",
        "PH": "Amazinga ya Filipine",
        "PK": "Pakisitani",
        "PL": "Polonye",
        "PM": "Sempiyeri na Mikeloni",
        "PN": "Pitikeyirini",
        "PR": "Puwetoriko",
        "PS": "Palesitina Wesitibanka na Gaza",
        "PT": "Porutugali",
        "PW": "Palawu",
        "PY": "Paragwe",
        "QA": "Katari",
        "RE": "Amazinga ya Reyiniyo",
        "RO": "Rumaniya",
        "RU": "Uburusiya",
        "RW": "u Rwanda",
        "SA": "Arabiya Sawudite",
        "SB": "Amazinga ya Salumoni",
        "SC": "Amazinga ya Seyisheli",
        "SD": "Sudani",
        "SE": "Suwedi",
        "SG": "Singapuru",
        "SH": "Sehelene",
        "SI": "Siloveniya",
        "SK": "Silovakiya",
        "SL": "Siyeralewone",
        "SM": "Sanimarino",
        "SN": "Senegali",
        "SO": "Somaliya",
        "ST": "Sawotome na Perensipe",
        "SV": "Eli Saluvatori",
        "SY": "Siriya",
        "SZ": "Suwazilandi",
        "TC": "Amazinga ya Turkisi na Cayikosi",
        "TD": "Cadi",
        "TH": "Tayilandi",
        "TJ": "Tajikisitani",
        "TK": "Tokelawu",
        "TL": "Timoru y'iburasirazuba",
        "TM": "Turukumenisitani",
        "TN": "Tuniziya",
        "TR": "Turukiya",
        "TT": "Tirinidadi na Tobago",
        "TW": "Tayiwani",
        "TZ": "Tanzaniya",
        "UA": "Ikerene",
        "UG": "Ubugande",
        "US": "Leta Zunze Ubumwe za Amerika",
        "UY": "Irigwe",
        "UZ": "Uzubekisitani",
        "VA": "Umurwa wa Vatikani",
        "VC": "Sevensa na Gerenadine",
        "VE": "Venezuwela",
        "VG": "Ibirwa by'isugi by'Abongereza",
        "VI": "Amazinga y'Isugi y'Abanyamerika",
        "VN": "Viyetinamu",
        "VU": "Vanuwatu",
        "WF": "Walisi na Futuna",
        "WS": "Samowa",
        "YE": "Yemeni",
        "YT": "Mayote",
        "ZA": "Afurika y'Epfo",
        "ZM": "Zambiya"
    };
  }-*/;
}
