/*
 * Copyright 2012 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 "gd" locale.
 */
public class LocalizedNamesImpl_gd extends LocalizedNamesImpl {

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("001", "An Saoghal");
    namesMap.put("002", "Afraga");
    namesMap.put("003", "Aimeireaga a Tuath");
    namesMap.put("005", "Aimeireaga a Deas");
    namesMap.put("009", "Roinn a’ Chuain Sèimh");
    namesMap.put("011", "Afraga an Iar");
    namesMap.put("013", "Meadhan Aimeireaga");
    namesMap.put("014", "Afraga an Ear");
    namesMap.put("015", "Afraga a Tuath");
    namesMap.put("017", "Meadhan Afraga");
    namesMap.put("018", "Ceann a Deas Afraga");
    namesMap.put("019", "An Dà Aimeireaga");
    namesMap.put("021", "Ceann a Tuath Aimeireaga");
    namesMap.put("029", "Am Muir Caraibeach");
    namesMap.put("030", "Àisia an Ear");
    namesMap.put("034", "Àisia a Deas");
    namesMap.put("035", "Àisia an Ear-dheas");
    namesMap.put("039", "An Roinn-Eòrpa a Deas");
    namesMap.put("053", "Astràilia is Sealainn Nuadh");
    namesMap.put("054", "Na h-Eileanan Dubha");
    namesMap.put("057", "Roinn nam Meanbh-Eileanan");
    namesMap.put("061", "Poilinèis");
    namesMap.put("142", "Àisia");
    namesMap.put("143", "Meadhan Àisia");
    namesMap.put("145", "Àisia an Iar");
    namesMap.put("150", "An Roinn-Eòrpa");
    namesMap.put("151", "An Roinn-Eòrpa an Ear");
    namesMap.put("154", "An Roinn-Eòrpa a Tuath");
    namesMap.put("155", "An Roinn-Eòrpa an Iar");
    namesMap.put("202", "Afraga Deas air an t-Sathara");
    namesMap.put("419", "Aimeireaga Laidinneach");
    namesMap.put("AC", "Eilean na Deasgabhalach");
    namesMap.put("AE", "Na h-Iomaratan Arabach Aonaichte");
    namesMap.put("AF", "Afghanastàn");
    namesMap.put("AG", "Aintìoga is Barbuda");
    namesMap.put("AI", "Anguillia");
    namesMap.put("AL", "Albàinia");
    namesMap.put("AM", "Airmeinea");
    namesMap.put("AO", "Angòla");
    namesMap.put("AQ", "An Antartaig");
    namesMap.put("AR", "An Argantain");
    namesMap.put("AS", "Samotha na h-Aimeireaga");
    namesMap.put("AT", "An Ostair");
    namesMap.put("AU", "Astràilia");
    namesMap.put("AW", "Arùba");
    namesMap.put("AX", "Na h-Eileanan Åland");
    namesMap.put("AZ", "Asarbaideàn");
    namesMap.put("BA", "Bosna is Hearsagobhana");
    namesMap.put("BD", "Bangladais");
    namesMap.put("BE", "A’ Bheilg");
    namesMap.put("BF", "Buirciona Faso");
    namesMap.put("BG", "A’ Bhulgair");
    namesMap.put("BH", "Bachrain");
    namesMap.put("BI", "Burundaidh");
    namesMap.put("BJ", "Beinin");
    namesMap.put("BL", "Saint Barthélemy");
    namesMap.put("BM", "Bearmùda");
    namesMap.put("BN", "Brùnaigh");
    namesMap.put("BO", "Boilibhia");
    namesMap.put("BQ", "Na Tìrean Ìsle Caraibeach");
    namesMap.put("BR", "Braisil");
    namesMap.put("BS", "Na h-Eileanan Bhathama");
    namesMap.put("BT", "Butàn");
    namesMap.put("BV", "Eilean Bouvet");
    namesMap.put("BW", "Botsuana");
    namesMap.put("BY", "A’ Bhealaruis");
    namesMap.put("BZ", "A’ Bheilìs");
    namesMap.put("CC", "Na h-Eileanan Chocos (Keeling)");
    namesMap.put("CF", "Poblachd Meadhan Afraga");
    namesMap.put("CG", "A’ Chongo - Brazzaville");
    namesMap.put("CH", "An Eilbheis");
    namesMap.put("CK", "Eileanan Cook");
    namesMap.put("CL", "An t-Sile");
    namesMap.put("CM", "Camarun");
    namesMap.put("CN", "An t-Sìn");
    namesMap.put("CO", "Coloimbia");
    namesMap.put("CP", "Eilean Clipperton");
    namesMap.put("CR", "Costa Rìcea");
    namesMap.put("CU", "Cùba");
    namesMap.put("CV", "An Ceap Uaine");
    namesMap.put("CX", "Eilean na Nollaig");
    namesMap.put("CY", "Cìopras");
    namesMap.put("CZ", "An t-Seic");
    namesMap.put("DE", "A’ Ghearmailt");
    namesMap.put("DJ", "Diobùtaidh");
    namesMap.put("DK", "An Danmhairg");
    namesMap.put("DM", "Doiminicea");
    namesMap.put("DO", "A’ Phoblachd Dhoiminiceach");
    namesMap.put("DZ", "Aildiria");
    namesMap.put("EA", "Ceuta agus Melilla");
    namesMap.put("EC", "Eacuador");
    namesMap.put("EE", "An Eastoin");
    namesMap.put("EG", "An Èiphit");
    namesMap.put("EH", "Sathara an Iar");
    namesMap.put("ER", "Eartra");
    namesMap.put("ES", "An Spàinnt");
    namesMap.put("ET", "An Itiop");
    namesMap.put("EU", "An t-Aonadh Eòrpach");
    namesMap.put("EZ", "Raon an Eòro");
    namesMap.put("FI", "An Fhionnlann");
    namesMap.put("FJ", "Fìdi");
    namesMap.put("FK", "Na h-Eileanan Fàclannach");
    namesMap.put("FM", "Na Meanbh-eileanan");
    namesMap.put("FO", "Na h-Eileanan Fàro");
    namesMap.put("FR", "An Fhraing");
    namesMap.put("GB", "An Rìoghachd Aonaichte");
    namesMap.put("GD", "Greanàda");
    namesMap.put("GE", "A’ Chairtbheil");
    namesMap.put("GF", "Guidheàna na Frainge");
    namesMap.put("GG", "Geàrnsaidh");
    namesMap.put("GH", "Gàna");
    namesMap.put("GI", "Diobraltar");
    namesMap.put("GL", "A’ Ghraonlann");
    namesMap.put("GM", "A’ Ghaimbia");
    namesMap.put("GN", "Gini");
    namesMap.put("GP", "Guadalup");
    namesMap.put("GQ", "Gini Mheadhan-Chriosach");
    namesMap.put("GR", "A’ Ghreug");
    namesMap.put("GS", "Seòirsea a Deas is na h-Eileanan Sandwich a Deas");
    namesMap.put("GT", "Guatamala");
    namesMap.put("GW", "Gini-Bioso");
    namesMap.put("GY", "Guidheàna");
    namesMap.put("HK", "Hong Kong SAR na Sìne");
    namesMap.put("HM", "Eilean Heard is MhicDhòmhnaill");
    namesMap.put("HN", "Hondùras");
    namesMap.put("HR", "A’ Chròthais");
    namesMap.put("HT", "Haidhti");
    namesMap.put("HU", "An Ungair");
    namesMap.put("IC", "Na h-Eileanan Canàrach");
    namesMap.put("ID", "Na h-Innd-innse");
    namesMap.put("IE", "Èirinn");
    namesMap.put("IL", "Iosrael");
    namesMap.put("IM", "Eilean Mhanainn");
    namesMap.put("IN", "Na h-Innseachan");
    namesMap.put("IO", "Ranntair Breatannach Cuan nan Innseachan");
    namesMap.put("IQ", "Ioràc");
    namesMap.put("IR", "Ioràn");
    namesMap.put("IS", "Innis Tìle");
    namesMap.put("IT", "An Eadailt");
    namesMap.put("JE", "Deàrsaidh");
    namesMap.put("JM", "Diameuga");
    namesMap.put("JO", "Iòrdan");
    namesMap.put("JP", "An t-Seapan");
    namesMap.put("KE", "Ceinia");
    namesMap.put("KG", "Cìorgastan");
    namesMap.put("KH", "Cambuidea");
    namesMap.put("KI", "Ciribeas");
    namesMap.put("KN", "Naomh Crìstean is Nibheis");
    namesMap.put("KP", "Coirèa a Tuath");
    namesMap.put("KR", "Coirèa");
    namesMap.put("KW", "Cuibhèit");
    namesMap.put("KY", "Na h-Eileanan Caimean");
    namesMap.put("KZ", "Casachstàn");
    namesMap.put("LA", "Làthos");
    namesMap.put("LB", "Leabanon");
    namesMap.put("LC", "Naomh Lùisea");
    namesMap.put("LI", "Lichtenstein");
    namesMap.put("LK", "Sri Lanca");
    namesMap.put("LR", "Libèir");
    namesMap.put("LS", "Leasoto");
    namesMap.put("LT", "An Liotuain");
    namesMap.put("LU", "Lugsamburg");
    namesMap.put("LV", "An Laitbhe");
    namesMap.put("LY", "Libia");
    namesMap.put("MA", "Moroco");
    namesMap.put("MD", "A’ Mholdobha");
    namesMap.put("ME", "Am Monadh Neagrach");
    namesMap.put("MF", "Naomh Màrtainn");
    namesMap.put("MG", "Madagasgar");
    namesMap.put("MH", "Eileanan Mharshall");
    namesMap.put("MK", "A’ Mhasadon");
    namesMap.put("ML", "Màili");
    namesMap.put("MM", "Miànmar");
    namesMap.put("MN", "Dùthaich nam Mongol");
    namesMap.put("MO", "Macàthu SAR na Sìne");
    namesMap.put("MP", "Na h-Eileanan Mairianach a Tuath");
    namesMap.put("MQ", "Mairtinic");
    namesMap.put("MR", "Moratàinea");
    namesMap.put("MS", "Montsarat");
    namesMap.put("MU", "Na h-Eileanan Mhoiriseas");
    namesMap.put("MV", "Na h-Eileanan Mhaladaibh");
    namesMap.put("MW", "Malabhaidh");
    namesMap.put("MX", "Meagsago");
    namesMap.put("MY", "Malaidhsea");
    namesMap.put("MZ", "Mòsaimbic");
    namesMap.put("NA", "An Namaib");
    namesMap.put("NC", "Cailleann Nuadh");
    namesMap.put("NE", "Nìgeir");
    namesMap.put("NF", "Eilean Norfolk");
    namesMap.put("NG", "Nigèiria");
    namesMap.put("NI", "Niocaragua");
    namesMap.put("NL", "Na Tìrean Ìsle");
    namesMap.put("NO", "Nirribhidh");
    namesMap.put("NP", "Neapàl");
    namesMap.put("NR", "Nabhru");
    namesMap.put("NZ", "Sealainn Nuadh");
    namesMap.put("OM", "Omàn");
    namesMap.put("PE", "Pearù");
    namesMap.put("PF", "Poilinèis na Frainge");
    namesMap.put("PG", "Gini Nuadh Phaputhach");
    namesMap.put("PH", "Na h-Eileanan Filipineach");
    namesMap.put("PK", "Pagastàn");
    namesMap.put("PL", "A’ Phòlainn");
    namesMap.put("PM", "Saint Pierre agus Miquelon");
    namesMap.put("PN", "Eileanan Pheit a’ Chàirn");
    namesMap.put("PR", "Porto Rìceo");
    namesMap.put("PS", "Ùghdarras nam Palastaineach");
    namesMap.put("PT", "A’ Phortagail");
    namesMap.put("PW", "Palabh");
    namesMap.put("PY", "Paraguaidh");
    namesMap.put("QA", "Catar");
    namesMap.put("QO", "Roinn Iomallach a’ Chuain Sèimh");
    namesMap.put("RO", "Romàinia");
    namesMap.put("RS", "An t-Sèirb");
    namesMap.put("RU", "An Ruis");
    namesMap.put("RW", "Rubhanda");
    namesMap.put("SA", "Aràibia nan Sabhd");
    namesMap.put("SB", "Eileanan Sholaimh");
    namesMap.put("SC", "Na h-Eileanan Sheiseall");
    namesMap.put("SD", "Sudàn");
    namesMap.put("SE", "An t-Suain");
    namesMap.put("SG", "Singeapòr");
    namesMap.put("SH", "Eilean Naomh Eilidh");
    namesMap.put("SI", "An t-Slòbhain");
    namesMap.put("SJ", "Svalbard agus Jan Mayen");
    namesMap.put("SK", "An t-Slòbhac");
    namesMap.put("SL", "Siarra Leòmhann");
    namesMap.put("SN", "Seanagal");
    namesMap.put("SO", "Somàilia");
    namesMap.put("SR", "Suranam");
    namesMap.put("SS", "Sudàn a Deas");
    namesMap.put("ST", "São Tomé agus Príncipe");
    namesMap.put("SV", "An Salbhador");
    namesMap.put("SY", "Siridhea");
    namesMap.put("SZ", "Dùthaich nan Suasaidh");
    namesMap.put("TC", "Na h-Eileanan Turcach is Caiceo");
    namesMap.put("TD", "An t-Seàd");
    namesMap.put("TF", "Ranntairean a Deas na Frainge");
    namesMap.put("TH", "Dùthaich nan Tàidh");
    namesMap.put("TJ", "Taidigeastàn");
    namesMap.put("TM", "Turcmanastàn");
    namesMap.put("TN", "Tuinisea");
    namesMap.put("TR", "An Tuirc");
    namesMap.put("TT", "Trianaid agus Tobago");
    namesMap.put("TV", "Tubhalu");
    namesMap.put("TW", "Taidh-Bhàn");
    namesMap.put("TZ", "An Tansan");
    namesMap.put("UA", "An Ucràin");
    namesMap.put("UM", "Meanbh-Eileanan Iomallach nan SA");
    namesMap.put("UN", "Na Dùthchannan Aonaichte");
    namesMap.put("US", "Na Stàitean Aonaichte");
    namesMap.put("UY", "Uruguaidh");
    namesMap.put("UZ", "Usbagastàn");
    namesMap.put("VA", "Cathair na Bhatacain");
    namesMap.put("VC", "Naomh Bhionsant agus Eileanan Greanadach");
    namesMap.put("VE", "A’ Bheiniseala");
    namesMap.put("VG", "Eileanan Breatannach na Maighdinn");
    namesMap.put("VI", "Eileanan na Maighdinn aig na SA");
    namesMap.put("VN", "Bhiet-Nam");
    namesMap.put("WF", "Uallas agus Futuna");
    namesMap.put("WS", "Samotha");
    namesMap.put("XK", "A’ Chosobho");
    namesMap.put("YE", "An Eaman");
    namesMap.put("ZA", "Afraga a Deas");
    namesMap.put("ZM", "Sàimbia");
    namesMap.put("ZW", "An t-Sìombab");
    namesMap.put("ZZ", "Roinn-dùthcha neo-aithnichte");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "001": "An Saoghal",
        "002": "Afraga",
        "003": "Aimeireaga a Tuath",
        "005": "Aimeireaga a Deas",
        "009": "Roinn a’ Chuain Sèimh",
        "011": "Afraga an Iar",
        "013": "Meadhan Aimeireaga",
        "014": "Afraga an Ear",
        "015": "Afraga a Tuath",
        "017": "Meadhan Afraga",
        "018": "Ceann a Deas Afraga",
        "019": "An Dà Aimeireaga",
        "021": "Ceann a Tuath Aimeireaga",
        "029": "Am Muir Caraibeach",
        "030": "Àisia an Ear",
        "034": "Àisia a Deas",
        "035": "Àisia an Ear-dheas",
        "039": "An Roinn-Eòrpa a Deas",
        "053": "Astràilia is Sealainn Nuadh",
        "054": "Na h-Eileanan Dubha",
        "057": "Roinn nam Meanbh-Eileanan",
        "061": "Poilinèis",
        "142": "Àisia",
        "143": "Meadhan Àisia",
        "145": "Àisia an Iar",
        "150": "An Roinn-Eòrpa",
        "151": "An Roinn-Eòrpa an Ear",
        "154": "An Roinn-Eòrpa a Tuath",
        "155": "An Roinn-Eòrpa an Iar",
        "202": "Afraga Deas air an t-Sathara",
        "419": "Aimeireaga Laidinneach",
        "AC": "Eilean na Deasgabhalach",
        "AE": "Na h-Iomaratan Arabach Aonaichte",
        "AF": "Afghanastàn",
        "AG": "Aintìoga is Barbuda",
        "AI": "Anguillia",
        "AL": "Albàinia",
        "AM": "Airmeinea",
        "AO": "Angòla",
        "AQ": "An Antartaig",
        "AR": "An Argantain",
        "AS": "Samotha na h-Aimeireaga",
        "AT": "An Ostair",
        "AU": "Astràilia",
        "AW": "Arùba",
        "AX": "Na h-Eileanan Åland",
        "AZ": "Asarbaideàn",
        "BA": "Bosna is Hearsagobhana",
        "BD": "Bangladais",
        "BE": "A’ Bheilg",
        "BF": "Buirciona Faso",
        "BG": "A’ Bhulgair",
        "BH": "Bachrain",
        "BI": "Burundaidh",
        "BJ": "Beinin",
        "BL": "Saint Barthélemy",
        "BM": "Bearmùda",
        "BN": "Brùnaigh",
        "BO": "Boilibhia",
        "BQ": "Na Tìrean Ìsle Caraibeach",
        "BR": "Braisil",
        "BS": "Na h-Eileanan Bhathama",
        "BT": "Butàn",
        "BV": "Eilean Bouvet",
        "BW": "Botsuana",
        "BY": "A’ Bhealaruis",
        "BZ": "A’ Bheilìs",
        "CC": "Na h-Eileanan Chocos (Keeling)",
        "CF": "Poblachd Meadhan Afraga",
        "CG": "A’ Chongo - Brazzaville",
        "CH": "An Eilbheis",
        "CK": "Eileanan Cook",
        "CL": "An t-Sile",
        "CM": "Camarun",
        "CN": "An t-Sìn",
        "CO": "Coloimbia",
        "CP": "Eilean Clipperton",
        "CR": "Costa Rìcea",
        "CU": "Cùba",
        "CV": "An Ceap Uaine",
        "CX": "Eilean na Nollaig",
        "CY": "Cìopras",
        "CZ": "An t-Seic",
        "DE": "A’ Ghearmailt",
        "DJ": "Diobùtaidh",
        "DK": "An Danmhairg",
        "DM": "Doiminicea",
        "DO": "A’ Phoblachd Dhoiminiceach",
        "DZ": "Aildiria",
        "EA": "Ceuta agus Melilla",
        "EC": "Eacuador",
        "EE": "An Eastoin",
        "EG": "An Èiphit",
        "EH": "Sathara an Iar",
        "ER": "Eartra",
        "ES": "An Spàinnt",
        "ET": "An Itiop",
        "EU": "An t-Aonadh Eòrpach",
        "EZ": "Raon an Eòro",
        "FI": "An Fhionnlann",
        "FJ": "Fìdi",
        "FK": "Na h-Eileanan Fàclannach",
        "FM": "Na Meanbh-eileanan",
        "FO": "Na h-Eileanan Fàro",
        "FR": "An Fhraing",
        "GB": "An Rìoghachd Aonaichte",
        "GD": "Greanàda",
        "GE": "A’ Chairtbheil",
        "GF": "Guidheàna na Frainge",
        "GG": "Geàrnsaidh",
        "GH": "Gàna",
        "GI": "Diobraltar",
        "GL": "A’ Ghraonlann",
        "GM": "A’ Ghaimbia",
        "GN": "Gini",
        "GP": "Guadalup",
        "GQ": "Gini Mheadhan-Chriosach",
        "GR": "A’ Ghreug",
        "GS": "Seòirsea a Deas is na h-Eileanan Sandwich a Deas",
        "GT": "Guatamala",
        "GW": "Gini-Bioso",
        "GY": "Guidheàna",
        "HK": "Hong Kong SAR na Sìne",
        "HM": "Eilean Heard is MhicDhòmhnaill",
        "HN": "Hondùras",
        "HR": "A’ Chròthais",
        "HT": "Haidhti",
        "HU": "An Ungair",
        "IC": "Na h-Eileanan Canàrach",
        "ID": "Na h-Innd-innse",
        "IE": "Èirinn",
        "IL": "Iosrael",
        "IM": "Eilean Mhanainn",
        "IN": "Na h-Innseachan",
        "IO": "Ranntair Breatannach Cuan nan Innseachan",
        "IQ": "Ioràc",
        "IR": "Ioràn",
        "IS": "Innis Tìle",
        "IT": "An Eadailt",
        "JE": "Deàrsaidh",
        "JM": "Diameuga",
        "JO": "Iòrdan",
        "JP": "An t-Seapan",
        "KE": "Ceinia",
        "KG": "Cìorgastan",
        "KH": "Cambuidea",
        "KI": "Ciribeas",
        "KN": "Naomh Crìstean is Nibheis",
        "KP": "Coirèa a Tuath",
        "KR": "Coirèa",
        "KW": "Cuibhèit",
        "KY": "Na h-Eileanan Caimean",
        "KZ": "Casachstàn",
        "LA": "Làthos",
        "LB": "Leabanon",
        "LC": "Naomh Lùisea",
        "LI": "Lichtenstein",
        "LK": "Sri Lanca",
        "LR": "Libèir",
        "LS": "Leasoto",
        "LT": "An Liotuain",
        "LU": "Lugsamburg",
        "LV": "An Laitbhe",
        "LY": "Libia",
        "MA": "Moroco",
        "MD": "A’ Mholdobha",
        "ME": "Am Monadh Neagrach",
        "MF": "Naomh Màrtainn",
        "MG": "Madagasgar",
        "MH": "Eileanan Mharshall",
        "MK": "A’ Mhasadon",
        "ML": "Màili",
        "MM": "Miànmar",
        "MN": "Dùthaich nam Mongol",
        "MO": "Macàthu SAR na Sìne",
        "MP": "Na h-Eileanan Mairianach a Tuath",
        "MQ": "Mairtinic",
        "MR": "Moratàinea",
        "MS": "Montsarat",
        "MU": "Na h-Eileanan Mhoiriseas",
        "MV": "Na h-Eileanan Mhaladaibh",
        "MW": "Malabhaidh",
        "MX": "Meagsago",
        "MY": "Malaidhsea",
        "MZ": "Mòsaimbic",
        "NA": "An Namaib",
        "NC": "Cailleann Nuadh",
        "NE": "Nìgeir",
        "NF": "Eilean Norfolk",
        "NG": "Nigèiria",
        "NI": "Niocaragua",
        "NL": "Na Tìrean Ìsle",
        "NO": "Nirribhidh",
        "NP": "Neapàl",
        "NR": "Nabhru",
        "NZ": "Sealainn Nuadh",
        "OM": "Omàn",
        "PE": "Pearù",
        "PF": "Poilinèis na Frainge",
        "PG": "Gini Nuadh Phaputhach",
        "PH": "Na h-Eileanan Filipineach",
        "PK": "Pagastàn",
        "PL": "A’ Phòlainn",
        "PM": "Saint Pierre agus Miquelon",
        "PN": "Eileanan Pheit a’ Chàirn",
        "PR": "Porto Rìceo",
        "PS": "Ùghdarras nam Palastaineach",
        "PT": "A’ Phortagail",
        "PW": "Palabh",
        "PY": "Paraguaidh",
        "QA": "Catar",
        "QO": "Roinn Iomallach a’ Chuain Sèimh",
        "RO": "Romàinia",
        "RS": "An t-Sèirb",
        "RU": "An Ruis",
        "RW": "Rubhanda",
        "SA": "Aràibia nan Sabhd",
        "SB": "Eileanan Sholaimh",
        "SC": "Na h-Eileanan Sheiseall",
        "SD": "Sudàn",
        "SE": "An t-Suain",
        "SG": "Singeapòr",
        "SH": "Eilean Naomh Eilidh",
        "SI": "An t-Slòbhain",
        "SJ": "Svalbard agus Jan Mayen",
        "SK": "An t-Slòbhac",
        "SL": "Siarra Leòmhann",
        "SN": "Seanagal",
        "SO": "Somàilia",
        "SR": "Suranam",
        "SS": "Sudàn a Deas",
        "ST": "São Tomé agus Príncipe",
        "SV": "An Salbhador",
        "SY": "Siridhea",
        "SZ": "Dùthaich nan Suasaidh",
        "TC": "Na h-Eileanan Turcach is Caiceo",
        "TD": "An t-Seàd",
        "TF": "Ranntairean a Deas na Frainge",
        "TH": "Dùthaich nan Tàidh",
        "TJ": "Taidigeastàn",
        "TM": "Turcmanastàn",
        "TN": "Tuinisea",
        "TR": "An Tuirc",
        "TT": "Trianaid agus Tobago",
        "TV": "Tubhalu",
        "TW": "Taidh-Bhàn",
        "TZ": "An Tansan",
        "UA": "An Ucràin",
        "UM": "Meanbh-Eileanan Iomallach nan SA",
        "UN": "Na Dùthchannan Aonaichte",
        "US": "Na Stàitean Aonaichte",
        "UY": "Uruguaidh",
        "UZ": "Usbagastàn",
        "VA": "Cathair na Bhatacain",
        "VC": "Naomh Bhionsant agus Eileanan Greanadach",
        "VE": "A’ Bheiniseala",
        "VG": "Eileanan Breatannach na Maighdinn",
        "VI": "Eileanan na Maighdinn aig na SA",
        "VN": "Bhiet-Nam",
        "WF": "Uallas agus Futuna",
        "WS": "Samotha",
        "XK": "A’ Chosobho",
        "YE": "An Eaman",
        "ZA": "Afraga a Deas",
        "ZM": "Sàimbia",
        "ZW": "An t-Sìombab",
        "ZZ": "Roinn-dùthcha neo-aithnichte"
    };
  }-*/;
}
