From 24fb63442ff8df4903df8e822fc9f97e4db08e47 Mon Sep 17 00:00:00 2001 From: Carl Manson <506508+cmanson@users.noreply.github.com> Date: Mon, 23 Dec 2024 13:42:41 +0000 Subject: [PATCH] GFORMS-3066 - Add country code and updated CSV (#2359) --- app/uk/gov/hmrc/gform/LookupLoader.scala | 24 +- app/uk/gov/hmrc/gform/lookup/LookupInfo.scala | 1 + .../gov/hmrc/gform/lookup/LookupOptions.scala | 6 +- conf/lookup/BCD-Nationality.csv | 445 +++++++++--------- 4 files changed, 241 insertions(+), 235 deletions(-) diff --git a/app/uk/gov/hmrc/gform/LookupLoader.scala b/app/uk/gov/hmrc/gform/LookupLoader.scala index 6095b772c..46ce14480 100644 --- a/app/uk/gov/hmrc/gform/LookupLoader.scala +++ b/app/uk/gov/hmrc/gform/LookupLoader.scala @@ -100,6 +100,7 @@ class LookupLoader { priority: String, priorityUk: String, region: String, + countryCode: String, mkLookupType: LocalisedLookupOptions => LookupType ): LookupType = { @@ -111,7 +112,8 @@ class LookupLoader { LookupKeywords, LookupPriority, LookupPriority, - LookupRegion + LookupRegion, + LookupCountryCode ) val headerDecoder: HeaderDecoder[ColumnData] = @@ -122,7 +124,8 @@ class LookupLoader { keywords, priority, priorityUk, - region + region, + countryCode )( ( _: LookupLabel, @@ -131,16 +134,17 @@ class LookupLoader { _: LookupKeywords, _: LookupPriority, _: LookupPriority, - _: LookupRegion + _: LookupRegion, + _: LookupCountryCode ) ) val csvWithColumns = CsvUtils.readCsvWithColumns(filename) def processData(columnData: ColumnData)(index: Int): (LookupDetails, LookupDetails) = { - val (enLabel, cyLabel, id, keywords, priority, priorityUk, region) = columnData + val (enLabel, cyLabel, id, keywords, priority, priorityUk, region, countryCode) = columnData val columns = csvWithColumns.find(_(idColumn) == id.id).get - val li = NationalityLookupInfo(id, index, keywords, priority, priorityUk, region, columns) + val li = NationalityLookupInfo(id, index, keywords, priority, priorityUk, region, countryCode, columns) ((enLabel, li), (cyLabel, li)) } @@ -401,7 +405,7 @@ class LookupLoader { private val origin = read("BCD-Origin.csv", "Id", "En", "Cy", mkAjaxLookup(ShowAll.Enabled)) private val agentComplaintCategories = readAgentComplaintCategories("BCD-AgentComplaintCategories.csv", "Code", "Name", "Name-cy", "KeyWords", mkAjaxLookup(ShowAll.Enabled)) private val country = readCountries("BCD-Country.csv", "CountryCode", "Name", "Name-cy", "KeyWords", "Priority", "PriorityUK", "Region", "InGibraltarEuEeaEfta", mkAjaxLookup(ShowAll.Enabled)) - private val nationality = readNationalities("BCD-Nationality.csv", "NationalityId", "Name", "Name-cy", "Keywords", "Priority", "PriorityUK", "Region", mkAjaxLookup(ShowAll.Enabled)) + private val nationality = readNationalities("BCD-Nationality.csv", "NationalityId", "Name", "Name-cy", "Keywords", "Priority", "PriorityUK", "Region", "CountryCode", mkAjaxLookup(ShowAll.Enabled)) private val currency = readCurrencies("BCD-Currency.csv", "CurrencyCode", "Name", "Name-cy", "KeyWords", "Priority", "CountryCode", mkAjaxLookup(ShowAll.Disabled)) private val port = readPorts("BCD-Port.csv", "PortCode", "Name", "Name-cy", "KeyWords", "Priority", "Region", "PortType", "CountryCode", "PortCode", mkAjaxLookup(ShowAll.Disabled)) private val sicCode = readSicCode("SicCode.csv", "SicCode", "Name", "Name-cy", "Section", mkAjaxLookup(ShowAll.Disabled)) @@ -449,10 +453,10 @@ object LookupLoader { m.options map { case (ll, DefaultLookupInfo(_, _)) => engine.add(new LookupRecord(ll.label, LookupPriority(1), LookupKeywords(None))) - case (ll, CountryLookupInfo(_, _, k, p, _, _, _, _)) => engine.add(new LookupRecord(ll.label, p, k)) - case (ll, NationalityLookupInfo(_, _, k, p, _, _, _)) => engine.add(new LookupRecord(ll.label, p, k)) - case (ll, CurrencyLookupInfo(_, _, k, p, _)) => engine.add(new LookupRecord(ll.label, p, k)) - case (ll, PortLookupInfo(_, _, k, p, _, _, _, _)) => engine.add(new LookupRecord(ll.label, p, k)) + case (ll, CountryLookupInfo(_, _, k, p, _, _, _, _)) => engine.add(new LookupRecord(ll.label, p, k)) + case (ll, NationalityLookupInfo(_, _, k, p, _, _, _, _)) => engine.add(new LookupRecord(ll.label, p, k)) + case (ll, CurrencyLookupInfo(_, _, k, p, _)) => engine.add(new LookupRecord(ll.label, p, k)) + case (ll, PortLookupInfo(_, _, k, p, _, _, _, _)) => engine.add(new LookupRecord(ll.label, p, k)) case (ll, AgentComplaintCategoriesLookupInfo(_, _, k, _)) => engine.add(new LookupRecord(ll.label, LookupPriority(1), k)) case (ll, SicCodeLookupInfo(_, _, _)) => diff --git a/app/uk/gov/hmrc/gform/lookup/LookupInfo.scala b/app/uk/gov/hmrc/gform/lookup/LookupInfo.scala index 488ade7a8..5864813d9 100644 --- a/app/uk/gov/hmrc/gform/lookup/LookupInfo.scala +++ b/app/uk/gov/hmrc/gform/lookup/LookupInfo.scala @@ -44,6 +44,7 @@ final case class NationalityLookupInfo( priority: LookupPriority, priorityUk: LookupPriority, region: LookupRegion, + countryCode: LookupCountryCode, columns: Map[String, String] ) extends LookupInfo diff --git a/app/uk/gov/hmrc/gform/lookup/LookupOptions.scala b/app/uk/gov/hmrc/gform/lookup/LookupOptions.scala index 186d65e3f..4fcaadd77 100644 --- a/app/uk/gov/hmrc/gform/lookup/LookupOptions.scala +++ b/app/uk/gov/hmrc/gform/lookup/LookupOptions.scala @@ -45,7 +45,7 @@ case class LookupOptions(options: Map[LookupLabel, LookupInfo]) extends AnyVal { case Some(priorityType) => if (priorityType === Uk) (priorityUk, label) else (priority, label) case _ => (priority, label) } - case (_, NationalityLookupInfo(LookupId(id), _, _, priority, priorityUk, _, _)) => + case (_, NationalityLookupInfo(LookupId(id), _, _, priority, priorityUk, _, _, _)) => priorityType match { case Some(priorityType) => if (priorityType === Uk) (priorityUk, LookupLabel(id)) else (priority, LookupLabel(id)) @@ -70,8 +70,8 @@ object LookupOptions { case (CountryLookupInfo(_, _, _, _, _, _, inGibraltarEuEeaEfta, _), CsvColumnName.inGibraltarEuEeaEfta) => Some(inGibraltarEuEeaEfta.inGibraltarEuEeaEfta) case (CountryLookupInfo(_, _, _, _, _, _, _, columns), column) => Some(columns.getOrElse(column, throw new Exception(s"Invalid column name $column"))) - case (NationalityLookupInfo(_, _, _, _, _, region, _), CsvColumnName.region) => Some(region.region) - case (NationalityLookupInfo(_, _, _, _, _, _, columns), column) => + case (NationalityLookupInfo(_, _, _, _, _, region, _, _), CsvColumnName.region) => Some(region.region) + case (NationalityLookupInfo(_, _, _, _, _, _, _, columns), column) => Some(columns.getOrElse(column, throw new Exception(s"Invalid column name $column"))) case (CurrencyLookupInfo(id, _, _, _, _), CsvColumnName.currencyCode) => Some(id.id) case (CurrencyLookupInfo(_, _, _, _, countryCode), CsvColumnName.countryCode) => Some(countryCode.countryCode) diff --git a/conf/lookup/BCD-Nationality.csv b/conf/lookup/BCD-Nationality.csv index 8dd67f7c1..ba517cb21 100644 --- a/conf/lookup/BCD-Nationality.csv +++ b/conf/lookup/BCD-Nationality.csv @@ -1,222 +1,223 @@ -NationalityId,Keywords,Name,Name-cy,Priority,PriorityUK,Region -N0010,,Afghan,Affganaidd,,,4 -N0020,,Albanian,Albanaidd,,,4 -N0030,,Algerian,Algeraidd,,,4 -N0040,,American,Americanaidd,,,4 -N0050,,Andorran,Andorraidd,,,4 -N0060,,Angolan,Angolaidd,,,4 -N0070,,Anguillan,Un o Anguilla,,,4 -N0080,,Citizen of Antigua and Barbuda,Dinesydd o Antigua a Barbuda,,,4 -N0090,,Argentine,Archentwr,,,4 -N0100,,Armenian,Armenaidd,,,4 -N0110,,Australian,Awstraliaidd,,,4 -N0120,,Austrian,Awstriaidd,,,3 -N0130,,Azerbaijani,Un o Azerbaijan,,,4 -N0140,,Bahamian,Bahamaidd,,,4 -N0150,,Bahraini,Bahrainaidd,,,4 -N0160,,Bangladeshi,Bangladeshaidd,,,4 -N0170,,Barbadian,Barbadaidd,,,4 -N0180,,Belarusian,Belarwsaidd,,,4 -N0190,,Belgian,Belgaidd,,,3 -N0200,,Belizean,Belizeaidd,,,4 -N0210,,Beninese,Beninaidd,,,4 -N0220,,Bermudian,Bermudaidd,,,4 -N0230,,Bhutanese,Bhutanaidd,,,4 -N0240,,Bolivian,Boliviaidd,,,4 -N0250,,Botswanan,Botswanaidd,,,4 -N0260,,Brazilian,Brasilaidd,,,4 -N0270,UK United Kingdom,British,Prydeinig,,100,1 -N0280,,British Virgin Islander,Un o Ynysoedd Prydeinig y Wyryf,,,4 -N0290,,Bruneian,Bruneiaidd,,,4 -N0300,,Bulgarian,Bwlgaraidd,,,3 -N0310,,Burkinan,Burkinaidd,,,4 -N0320,,Burmese,Byrmanaidd,,,4 -N0330,,Burundian,Burundaidd,,,4 -N0340,,Cambodian,Cambodiaidd,,,4 -N0350,,Cameroonian,Cameroonaidd,,,4 -N0360,,Canadian,Canadaidd,,,4 -N0370,,Cape Verdean,Un o Ynysoedd Cape Verde,,,4 -N0380,,Cayman Islander,Un o Ynysoedd Cayman,,,4 -N0390,,Central African,Un o Weriniaeth Canolbarth Affrica,,,4 -N0400,,Chadian,Tsiadaidd,,,4 -N0410,,Chilean,Chileaidd,,,4 -N0420,,Chinese,Tsieineaidd,,,4 -N0430,,Colombian,Colombiaidd,,,4 -N0440,,Comoran,Comoraidd,,,4 -N0450,,Congolese (Congo),Congolaidd (Congo),,,4 -N0460,,Congolese (DRC),Congolaidd (DRC),,,4 -N0470,,Cook Islander,Un o Ynysoedd Cook,,,4 -N0480,,Costa Rican,Un o Gosta Rica,,,4 -N0490,,Croatian,Croataidd,,,3 -N0500,,Cuban,Ciwbaidd,,,4 -N0510,,Cypriot,Cypraidd,,,3 -N0520,,Czech,Tsiecaidd,,,3 -N0530,,Danish,Danaidd,,,3 -N0540,,Djiboutian,Djiboutiaidd,,,4 -N0550,,Dominican,Dominicaidd,,,4 -N0560,,Citizen of the Dominican Republic,Dinesydd o Weriniaeth Dominica,,,4 -N0570,,Dutch,Iseldiraidd,,,3 -N0580,,East Timorese,Dwyrain Timoraidd,,,4 -N0590,,Ecuadorean,Ecuadoraidd,,,4 -N0600,,Egyptian,Eifftiad,,,4 -N0610,,Emirati,Emiratiaidd,,,4 -N0620,,English,Seisnig,,,2 -N0630,,Equatorial Guinean,Un o Guinea Gyhydeddol,,,4 -N0640,,Eritrean,Eritreaidd,,,4 -N0650,,Estonian,Estonaidd,,,3 -N0660,,Ethiopian,Ethiopiad,,,4 -N0670,,Faroese,Ffaroaidd,,,4 -N0680,,Fijian,Ffijïaidd,,,4 -N0690,,Filipino,Ffilipinaidd,,,4 -N0700,,Finnish,Ffinnaidd,,,3 -N0710,,French,Ffrengig,,,3 -N0720,,Gabonese,Gabonaidd,,,4 -N0730,,Gambian,Gambiaidd,,,4 -N0740,,Georgian,Georgiaidd,,,4 -N0750,,German,Almaenaidd,,,3 -N0760,,Ghanaian,Ghanaidd,,,4 -N0770,,Gibraltarian,Gibraltaraidd,,,4 -N0780,,Greek,Groegaidd,,,3 -N0790,,Greenlandic,Un o’r Ynys Las,,,4 -N0800,,Grenadian,Grenadaidd,,,4 -N0810,,Guamanian,Guamaidd,,,4 -N0820,,Guatemalan,Guatemalaidd,,,4 -N0830,,Citizen of Guinea-Bissau,Dinesydd o Guinea-Bissau,,,4 -N0840,,Guinean,Guinïaidd,,,4 -N0850,,Guyanese,Guyanaidd,,,4 -N0860,,Haitian,Haitïaidd,,,4 -N0870,,Honduran,Un o Honduras,,,4 -N0880,,Hong Konger,Un o Hong Kong,,,4 -N0890,,Hungarian,Hwngaraidd,,,3 -N0900,,Icelandic,Un o Wlad yr Iâ,,,5 -N0910,,Indian,Indiaidd,,,4 -N0920,,Indonesian,Indonesaidd,,,4 -N0930,,Iranian,Iranaidd,,,4 -N0940,,Iraqi,Iracaidd,,,4 -N0950,,Irish,Gwyddelig,,,3 -N0960,,Israeli,Israelaidd,,,4 -N0970,,Italian,Eidalaidd,,,3 -N0980,,Ivorian,Iforaidd,,,4 -N0990,,Jamaican,Jamaicaidd,,,4 -N1000,,Japanese,Japanaidd,,,4 -N1010,,Jordanian,Iorddonaidd,,,4 -N1020,,Kazakh,Kazakh,,,4 -N1030,,Kenyan,Un o Kenya,,,4 -N1040,,Kittitian,Un o Saint Kitts a Nevis,,,4 -N1050,,Citizen of Kiribati,Dinesydd o Kiribati,,,4 -N1060,,Kosovan,Un o Kosovo,,,4 -N1070,,Kuwaiti,Un o Kuwait,,,4 -N1080,,Kyrgyz,Un o Kyrgyzstan,,,4 -N1090,,Lao,Un o Laos,,,4 -N1100,,Latvian,Latfiaidd,,,3 -N1110,,Lebanese,Libanaidd,,,4 -N1120,,Liberian,Liberaidd,,,4 -N1130,,Libyan,Libiaidd,,,4 -N1140,,Liechtenstein citizen,Dinesydd o Liechtenstein,,,5 -N1150,,Lithuanian,Lithwaniaidd,,,3 -N1160,,Luxembourger,Lwcsembwrgiad,,,3 -N1170,,Macanese,Macanaidd,,,4 -N1180,,Macedonian,Macedoniaidd,,,4 -N1190,,Malagasy,Malagasaidd,,,4 -N1200,,Malawian,Malawaidd,,,4 -N1210,,Malaysian,Malaysiaidd,,,4 -N1220,,Maldivian,Un o’r Maldives,,,4 -N1230,,Malian,Maliaidd,,,4 -N1240,,Maltese,Maltaidd,,,3 -N1250,,Marshallese,Un o Ynysoedd Marshall,,,4 -N1260,,Martiniquais,Martiniquais,,,4 -N1270,,Mauritanian,Mauritaniaidd,,,4 -N1280,,Mauritian,Un o Mauritius,,,4 -N1290,,Mexican,Mecsicanaidd,,,4 -N1300,,Micronesian,Micronesaidd,,,4 -N1310,,Moldovan,Moldofaidd,,,4 -N1320,,Monegasque,Monegasque,,,4 -N1330,,Mongolian,Mongolaidd,,,4 -N1340,,Montenegrin,Montenegroaidd,,,4 -N1350,,Montserratian,Montserrataidd,,,4 -N1360,,Moroccan,Morocaidd,,,4 -N1370,,Mosotho,Mosotho,,,4 -N1380,,Mozambican,Mozambicaidd,,,4 -N1390,,Namibian,Namibiaidd,,,4 -N1400,,Nauruan,Un o Nauru,,,4 -N1410,,Nepalese,Nepalaidd,,,4 -N1420,,New Zealander,Un o Seland Newydd,,,4 -N1430,,Nicaraguan,Nicaragwaidd,,,4 -N1440,,Nigerian,Nigeriaidd,,,4 -N1450,,Nigerien,Nigerien,,,4 -N1460,,Niuean,Niueaidd,,,4 -N1470,,North Korean,Gogledd Koreaidd,,,4 -N1480,,Northern Irish,Un o Ogledd Iwerddon,,,2 -N1490,,Norwegian,Norwyaidd,,,5 -N1500,,Omani,Omanaidd,,,4 -N1510,,Pakistani,Pacistanaidd,,,4 -N1520,,Palauan,Un o Palau,,,4 -N1530,,Palestinian,Palesteinaidd,,,4 -N1540,,Panamanian,Panamaidd,,,4 -N1550,,Papua New Guinean,Un o Papua Guinea Newydd,,,4 -N1560,,Paraguayan,Un o Paraguay,,,4 -N1570,,Peruvian,Periwaidd,,,4 -N1580,,Pitcairn Islander,Un o Ynys Pitcairn,,,4 -N1590,,Polish,Pwylaidd,,,3 -N1600,,Portuguese,Portiwgeaidd,,,3 -N1610,,Puerto Rican,Puerto Ricaidd,,,4 -N1620,,Qatari,Qataraidd,,,4 -N1630,,Romanian,Rwmanaidd,,,3 -N1640,,Russian,Rwsiad,,,4 -N1650,,Rwandan,Rwandaidd,,,4 -N1660,,Salvadorean,Salvadoraidd,,,4 -N1670,,Sammarinese,Sammarinaidd,,,4 -N1680,,Samoan,Samoaidd,,,4 -N1690,,Sao Tomean,Un o Sao Tome a Principe,,,4 -N1700,,Saudi Arabian,Un o Saudi Arabia,,,4 -N1710,,Scottish,Albanaidd,,,2 -N1720,,Senegalese,Senegalaidd,,,4 -N1730,,Serbian,Serbaidd,,,4 -N1740,,Citizen of Seychelles,Dinesydd o’r Seychelles,,,4 -N1750,,Sierra Leonean,Sierra Leonaidd,,,4 -N1760,,Singaporean,Singaporaidd,,,4 -N1770,,Slovak,Slofacaidd,,,3 -N1780,,Slovenian,Slofenaidd,,,3 -N1790,,Solomon Islander,Un o Ynysoedd Solomon,,,4 -N1800,,Somali,Somalïaidd,,,4 -N1810,,South African,De Affricanaidd,,,4 -N1820,,South Korean,De Koreaidd,,,4 -N1830,,South Sudanese,De Sudanaidd,,,4 -N1840,,Spanish,Sbaenaidd,,,3 -N1850,,Sri Lankan,Un o Sri Lanka,,,4 -N1860,,St Helenian,Un o St Helena,,,4 -N1870,,St Lucian,Un o St Lucia,,,4 -N1880,,Stateless,Heb wladwriaeth,,,4 -N1890,,Sudanese,Un o Sudan,,,4 -N1900,,Surinamese,Surinamaidd,,,4 -N1910,,Swazi,Un o Eswatini,,,4 -N1920,,Swedish,Swedaidd,,,3 -N1930,,Swiss,Swisaidd,,,5 -N1940,,Syrian,Syriaidd,,,4 -N1950,,Taiwanese,Taiwanaidd,,,4 -N1960,,Tajik,Tajik,,,4 -N1970,,Tanzanian,Un o Tanzania,,,4 -N1980,,Thai,Un o Wlad Thai,,,4 -N1990,,Togolese,Togoaidd,,,4 -N2000,,Tongan,Tongaidd,,,4 -N2010,,Trinidadian,Trinidadaidd,,,4 -N2020,,Tristanian,Tristanaidd,,,4 -N2030,,Tunisian,Un o Tunisia,,,4 -N2040,,Turkish,Twrcaidd,,,4 -N2050,,Turkmen,Un o Turkmenistan,,,4 -N2060,,Turks and Caicos Islander,Un o Ynysoedd Turks a Caicos,,,4 -N2070,,Tuvaluan,Un o Tuvalu,,,4 -N2080,,Ugandan,Un o Uganda,,,4 -N2090,,Ukrainian,Wcreinaidd,,,4 -N2100,,Uruguayan,Un o Uruguay,,,4 -N2110,,Uzbek,Un o Uzbekistan,,,4 -N2120,,Vatican citizen,Dinesydd o’r Fatican,,,4 -N2130,,Citizen of Vanuatu,Dinesydd o Vanuatu,,,4 -N2140,,Venezuelan,Un o Venezuela,,,4 -N2150,,Vietnamese,Fietnamaidd,,,4 -N2160,,Vincentian,Un o St Vincent,,,4 -N2170,,Wallisian,Un o Wallis a Futuna,,,4 -N2180,,Welsh,Cymreig,,,2 -N2190,,Yemeni,Yemeni,,,4 -N2200,,Zambian,Un o Zambia,,,4 -N2210,,Zimbabwean,Un o Zimbabwe,,,4 +NationalityId,Keywords,Name,Name-cy,Priority,PriorityUK,Region,CountryCode,Country,Country-cy +N0010,,Afghan,Affganaidd,,,4,AF,Afghanistan,Afghanistan +N0020,,Albanian,Albanaidd,,,4,AL,Albania,Albania +N0030,,Algerian,Algeraidd,,,4,DZ,Algeria,Algeria +N0040,,American,Americanaidd,,,4,US,United States,Yr Unol Daleithiau +N0050,,Andorran,Andorraidd,,,4,AD,Andorra,Andorra +N0060,,Angolan,Angolaidd,,,4,AO,Angola,Angola +N0070,,Anguillan,Un o Anguilla,,,4,AI,Anguilla,Anguilla +N0080,,Citizen of Antigua and Barbuda,Dinesydd o Antigua a Barbuda,,,4,AG,Antigua and Barbuda,Antigua a Barbuda +N0090,,Argentine,Archentwr,,,4,AR,Argentina,Yr Ariannin +N0100,,Armenian,Armenaidd,,,4,AM,Armenia,Armenia +N0110,,Australian,Awstraliaidd,,,4,AU,Australia,Awstralia +N0120,,Austrian,Awstriaidd,,,3,AT,Austria,Awstria +N0130,,Azerbaijani,Un o Azerbaijan,,,4,AZ,Azerbaijan,Azerbaijan +N0140,,Bahamian,Bahamaidd,,,4,BS,Bahamas,Bahamas +N0150,,Bahraini,Bahrainaidd,,,4,BH,Bahrain,Bahrain +N0160,,Bangladeshi,Bangladeshaidd,,,4,BD,Bangladesh,Bangladesh +N0170,,Barbadian,Barbadaidd,,,4,BB,Barbados,Barbados +N0180,,Belarusian,Belarwsaidd,,,4,BY,Belarus,Belarus +N0190,,Belgian,Belgaidd,,,3,BE,Belgium,Gwlad Belg +N0200,,Belizean,Belizeaidd,,,4,BZ,Belize,Belize +N0210,,Beninese,Beninaidd,,,4,BJ,Benin,Benin +N0220,,Bermudian,Bermudaidd,,,4,BM,Bermuda,Bermuda +N0230,,Bhutanese,Bhutanaidd,,,4,BT,Bhutan,Bhutan +N0240,,Bolivian,Boliviaidd,,,4,BO,Bolivia,Bolivia +N0250,,Citizen of Bosnia and Herzegovina,Dinesydd Bosnia a Herzegovina,,,4,BA,Bosnia and Herzegovina,Bosnia-Herzegovina +N0260,,Botswanan,Botswanaidd,,,4,BW,Botswana,Botswana +N0270,,Brazilian,Brasilaidd,,,4,BR,Brazil,Brasil +N0280,UK United Kingdom,British,Prydeinig,,100,1,UK,United Kingdom,Y Deyrnas Unedig +N0290,,British Virgin Islander,Un o Ynysoedd Prydeinig y Wyryf,,,4,VG,"Virgin Islands, British","Ynysoedd y Wyryf, Prydeinig" +N0300,,Bruneian,Bruneiaidd,,,4,BN,Brunei,Brunei +N0310,,Bulgarian,Bwlgaraidd,,,3,BG,Bulgaria,Bwlgaria +N0320,,Burkinan,Burkinaidd,,,4,BF,Burkina Faso,Bwrcina Faso +N0330,,Burmese,Byrmanaidd,,,4,MM,Myanmar (Burma),Myanmar +N0340,,Burundian,Burundaidd,,,4,BI,Burundi,Bwrwndi +N0350,,Cambodian,Cambodiaidd,,,4,KH,Cambodia,Cambodia +N0360,,Cameroonian,Cameroonaidd,,,4,CM,Cameroon,Camerwn +N0370,,Canadian,Canadaidd,,,4,CA,Canada,Canada +N0380,,Cape Verdean,Un o Ynysoedd Cape Verde,,,4,CV,Cape Verde,Cabo Verde +N0390,,Cayman Islander,Un o Ynysoedd Cayman,,,4,KY,Cayman Islands,Ynysoedd Caiman +N0400,,Central African,Un o Weriniaeth Canolbarth Affrica,,,4,CF,Central Africa Republic,Gweriniaeth Canol Affrica +N0410,,Chadian,Tsiadaidd,,,4,TD,Chad,Tchad +N0420,,Chilean,Chileaidd,,,4,CL,Chile,Chile +N0430,,Chinese,Tsieineaidd,,,4,CN,China,Tsieina +N0440,,Colombian,Colombiaidd,,,4,CO,Colombia,Colombia +N0450,,Comoran,Comoraidd,,,4,KM,Comoros,Comoros +N0460,,Congolese (Congo),Congolaidd (Congo),,,4,CG,Congo,Congo +N0470,,Congolese (DRC),Congolaidd (DRC),,,4,CG,Congo,Congo +N0480,,Cook Islander,Un o Ynysoedd Cook,,,4,CK,Cook Islands,Ynysoedd Cook +N0490,,Costa Rican,Un o Gosta Rica,,,4,CR,Costa Rica,Costa Rica +N0500,,Croatian,Croataidd,,,3,HR,Croatia,Croatia +N0510,,Cuban,Ciwbaidd,,,4,CU,Cuba,Cuba +N0520,,Cypriot,Cypraidd,,,3,CY,Cyprus,Cyprus +N0530,,Czech,Tsiecaidd,,,3,CZ,Czech Republic,Y Weriniaeth Tsiec +N0540,,Danish,Danaidd,,,3,DK,Denmark,Denmarc +N0550,,Djiboutian,Djiboutiaidd,,,4,DJ,Djibouti,Djibouti +N0560,,Dominican,Dominicaidd,,,4,DM,Dominica,Dominica +N0570,,Citizen of the Dominican Republic,Dinesydd o Weriniaeth Dominica,,,4,DO,Dominican Republic,Gweriniaeth Dominica +N0580,,Dutch,Iseldiraidd,,,3,NL,Netherlands,Yr Iseldiroedd +N0590,,East Timorese,Dwyrain Timoraidd,,,4,TP,East Timor,Timor-Leste +N0600,,Ecuadorean,Ecuadoraidd,,,4,EC,Ecuador,Ecuador +N0610,,Egyptian,Eifftiad,,,4,EG,Egypt,Yr Aifft +N0620,,Emirati,Emiratiaidd,,,4,AE,United Arab Emirates,Yr Emiraethau Arabaidd Unedig +N0630,,English,Seisnig,,,2,UK,United Kingdom,Y Deyrnas Unedig +N0640,,Equatorial Guinean,Un o Guinea Gyhydeddol,,,4,GQ,Equatorial Guinea,Guinea Gyhydeddol +N0650,,Eritrean,Eritreaidd,,,4,ER,Eritrea,Eritrea +N0660,,Estonian,Estonaidd,,,3,EE,Estonia,Estonia +N0670,,Ethiopian,Ethiopiad,,,4,ET,Ethiopia,Ethiopia +N0680,,Faroese,Ffaroaidd,,,4,FO,Faroe Islands,Ynysoedd Føroyar +N0690,,Fijian,Ffijïaidd,,,4,FJ,Fiji,Ffiji +N0700,,Filipino,Ffilipinaidd,,,4,PH,Philippines,Pilipinas +N0710,,Finnish,Ffinnaidd,,,3,FI,Finland,Y Ffindir +N0720,,French,Ffrengig,,,3,FR,France,Ffrainc +N0730,,Gabonese,Gabonaidd,,,4,GA,Gabon,Gabon +N0740,,Gambian,Gambiaidd,,,4,GM,The Gambia,Gambia +N0750,,Georgian,Georgiaidd,,,4,GE,Georgia,Georgia +N0760,,German,Almaenaidd,,,3,DE,Germany,Yr Almaen +N0770,,Ghanaian,Ghanaidd,,,4,GH,Ghana,Ghana +N0780,,Gibraltarian,Gibraltaraidd,,,4,GI,Gibraltar,Gibraltar +N0790,,Greek,Groegaidd,,,3,GR,Greece,Gwlad Groeg +N0800,,Greenlandic,Un o’r Ynys Las,,,4,GL,Greenland,Yr Ynys Las +N0810,,Grenadian,Grenadaidd,,,4,GD,Grenada,Grenada +N0820,,Guamanian,Guamaidd,,,4,GU,Guam,Gwam +N0830,,Guatemalan,Guatemalaidd,,,4,GT,Guatemala,Gwatemala +N0840,,Citizen of Guinea-Bissau,Dinesydd o Guinea-Bissau,,,4,GW,Guinea Bissau,Guinea-Bissau +N0850,,Guinean,Guinïaidd,,,4,GN,Guinea,Guinée +N0860,,Guyanese,Guyanaidd,,,4,GY,Guyana,Guyana +N0870,,Haitian,Haitïaidd,,,4,HT,Haiti,Haiti +N0880,,Honduran,Un o Honduras,,,4,HN,Honduras,Honduras +N0890,,Hong Konger,Un o Hong Kong,,,4,HK,Hong Kong,Hong Kong +N0900,,Hungarian,Hwngaraidd,,,3,HU,Hungary,Hwngari +N0910,,Icelandic,Un o Wlad yr Iâ,,,5,IS,Iceland,Gwlad yr Iâ +N0920,,Indian,Indiaidd,,,4,IN,India,India +N0930,,Indonesian,Indonesaidd,,,4,ID,Indonesia,Indonesia +N0940,,Iranian,Iranaidd,,,4,IR,Iran,Iran +N0950,,Iraqi,Iracaidd,,,4,IQ,Iraq,Irac +N0960,,Irish,Gwyddelig,,,3,IE,Ireland,Iwerddon +N0970,,Israeli,Israelaidd,,,4,IL,Israel,Israel +N0980,,Italian,Eidalaidd,,,3,IT,Italy,Yr Eidal +N0990,,Ivorian,Iforaidd,,,4,CI,Cote D'Ivoire,Côte D'Ivoire +N1000,,Jamaican,Jamaicaidd,,,4,JM,Jamaica,Jamaica +N1010,,Japanese,Japanaidd,,,4,JP,Japan,Japan +N1020,,Jordanian,Iorddonaidd,,,4,JO,Jordan,Gwlad yr Iorddonen +N1030,,Kazakh,Kazakh,,,4,KZ,Kazakhstan,Kazakhstan +N1040,,Kenyan,Un o Kenya,,,4,KE,Kenya,Kenya +N1050,,Kittitian,Un o Saint Kitts a Nevis,,,4,KN,St Kitts and Nevis,St Kitts a Nevis +N1060,,Citizen of Kiribati,Dinesydd o Kiribati,,,4,KI,Kiribati,Kiribati +N1070,,Kosovan,Un o Kosovo,,,4,XK,Kosovo,Kosovo +N1080,,Kuwaiti,Un o Kuwait,,,4,KW,Kuwait,Kuwait +N1090,,Kyrgyz,Un o Kyrgyzstan,,,4,KG,Kyrgyzstan,Kyrgyzstan +N1100,,Lao,Un o Laos,,,4,LA,Laos,Laos +N1110,,Latvian,Latfiaidd,,,3,LV,Latvia,Latvia +N1120,,Lebanese,Libanaidd,,,4,LB,Lebanon,Libanus +N1130,,Liberian,Liberaidd,,,4,LR,Liberia,Liberia +N1140,,Libyan,Libiaidd,,,4,LY,Libya,Libya +N1150,,Liechtenstein citizen,Dinesydd o Liechtenstein,,,5,LI,Liechtenstein,Liechtenstein +N1160,,Lithuanian,Lithwaniaidd,,,3,LT,Lithuania,Lithuania +N1170,,Luxembourger,Lwcsembwrgiad,,,3,LU,Luxembourg,Lwcsembwrg +N1180,,Macanese,Macanaidd,,,4,MO,Macao,Macau +N1190,,Macedonian,Macedoniaidd,,,4,MK,North Macedonia,Macedonia +N1200,,Malagasy,Malagasaidd,,,4,MG,Madagascar,Madagascar +N1210,,Malawian,Malawaidd,,,4,MW,Malawi,Malawi +N1220,,Malaysian,Malaysiaidd,,,4,MY,Malaysia,Malaysia +N1230,,Maldivian,Un o’r Maldives,,,4,MV,Maldives,Maldives +N1240,,Malian,Maliaidd,,,4,ML,Mali,Mali +N1250,,Maltese,Maltaidd,,,3,MT,Malta,Malta +N1260,,Marshallese,Un o Ynysoedd Marshall,,,4,MH,Marshall Islands,Ynysoedd Marshall +N1270,,Martiniquais,Martiniquais,,,4,MQ,Martinique,Martinique +N1280,,Mauritanian,Mauritaniaidd,,,4,MR,Mauritania,Mauritania +N1290,,Mauritian,Un o Mauritius,,,4,MU,Mauritius,Mauritius +N1300,,Mexican,Mecsicanaidd,,,4,MX,Mexico,Mecsico +N1310,,Micronesian,Micronesaidd,,,4,FM,Micronesia,Micronesia +N1320,,Moldovan,Moldofaidd,,,4,MD,Moldova,Moldova +N1330,,Monegasque,Monegasque,,,4,MC,Monaco,Monaco +N1340,,Mongolian,Mongolaidd,,,4,MN,Mongolia,Mongolia +N1350,,Montenegrin,Montenegroaidd,,,4,ME,Montenegro,Montenegro +N1360,,Montserratian,Montserrataidd,,,4,MS,Montserrat,Montserrat +N1370,,Moroccan,Morocaidd,,,4,MA,Morocco,Moroco +N1380,,Mosotho,Mosotho,,,4,LS,Lesotho,Lesotho +N1390,,Mozambican,Mozambicaidd,,,4,MZ,Mozambique,Moçambique +N1400,,Namibian,Namibiaidd,,,4,NA,Namibia,Namibia +N1410,,Nauruan,Un o Nauru,,,4,NR,Nauru,Nauru +N1420,,Nepalese,Nepalaidd,,,4,NP,Nepal,Nepal +N1430,,New Zealander,Un o Seland Newydd,,,4,NZ,New Zealand,Seland Newydd +N1440,,Nicaraguan,Nicaragwaidd,,,4,NI,Nicaragua,Nicaragua +N1450,,Nigerian,Nigeriaidd,,,4,NE,Niger,Niger +N1460,,Nigerien,Nigerien,,,4,NG,Nigeria,Nigeria +N1470,,Niuean,Niueaidd,,,4,NU,Niue,Niue +N1480,,North Korean,Gogledd Koreaidd,,,4,KP,North Korea,Gogledd Korea +N1490,,Northern Irish,Un o Ogledd Iwerddon,,,2,UK,United Kingdom,Y Deyrnas Unedig +N1500,,Norwegian,Norwyaidd,,,5,NO,Norway,Norwy +N1510,,Omani,Omanaidd,,,4,OM,Oman,Oman +N1520,,Pakistani,Pacistanaidd,,,4,PK,Pakistan,Pakistan +N1530,,Palauan,Un o Palau,,,4,PW,Palau,Palau +N1540,,Palestinian,Palesteinaidd,,,4,PS,Occupied Palestinian Territories,Tiriogaeth Palesteina +N1550,,Panamanian,Panamaidd,,,4,PA,Panama,Panamá +N1560,,Papua New Guinean,Un o Papua Guinea Newydd,,,4,PG,Papua New Guinea,Papua Guinea Newydd +N1570,,Paraguayan,Un o Paraguay,,,4,PY,Paraguay,Paraguay +N1580,,Peruvian,Periwaidd,,,4,PE,Peru,Periw +N1590,,Pitcairn Islander,Un o Ynys Pitcairn,,,4,PN,Pitcairn,Pitcairn +N1600,,Polish,Pwylaidd,,,3,PL,Poland,Gwlad Pwyl +N1610,,Portuguese,Portiwgeaidd,,,3,PT,Portugal,Portiwgal +N1620,,Puerto Rican,Puerto Ricaidd,,,4,PR,Puerto Rico,Puerto Rico +N1630,,Qatari,Qataraidd,,,4,QA,Qatar,Qatar +N1640,,Romanian,Rwmanaidd,,,3,RO,Romania,România +N1650,,Russian,Rwsiad,,,4,RU,Russia,Rwsia +N1660,,Rwandan,Rwandaidd,,,4,RW,Rwanda,Rwanda +N1670,,Salvadorean,Salvadoraidd,,,4,SV,El Salvador,El Salvador +N1680,,Sammarinese,Sammarinaidd,,,4,SM,San Marino,San Marino +N1690,,Samoan,Samoaidd,,,4,WS,Samoa,Samoa +N1700,,Sao Tomean,Un o Sao Tome a Principe,,,4,ST,Sao Tome and Principe,São Tomé a Príncipe +N1710,,Saudi Arabian,Un o Saudi Arabia,,,4,SA,Saudi Arabia,Saudi Arabia +N1720,,Scottish,Albanaidd,,,2,UK,United Kingdom,Y Deyrnas Unedig +N1730,,Senegalese,Senegalaidd,,,4,SN,Senegal,Senegal +N1740,,Serbian,Serbaidd,,,4,RS,Serbia,Serbia +N1750,,Citizen of Seychelles,Dinesydd o’r Seychelles,,,4,SC,Seychelles,Seychelles +N1760,,Sierra Leonean,Sierra Leonaidd,,,4,SL,Sierra Leone,Sierra Leone +N1770,,Singaporean,Singaporaidd,,,4,SG,Singapore,Singapôr +N1780,,Slovak,Slofacaidd,,,3,SK,Slovakia,Slovakia +N1790,,Slovenian,Slofenaidd,,,3,SI,Slovenia,Slovenia +N1800,,Solomon Islander,Un o Ynysoedd Solomon,,,4,SB,Solomon Islands,Ynysoedd Solomon +N1810,,Somali,Somalïaidd,,,4,SO,Somalia,Somalia +N1820,,South African,De Affricanaidd,,,4,ZA,South Africa,De Affrica +N1830,,South Korean,De Koreaidd,,,4,KR,South Korea,De Korea +N1840,,South Sudanese,De Sudanaidd,,,4,SS,South Sudan,De Swdan +N1850,,Spanish,Sbaenaidd,,,3,ES,Spain,Sbaen +N1860,,Sri Lankan,Un o Sri Lanka,,,4,LK,Sri Lanka,Sri Lanka +N1870,,St Helenian,Un o St Helena,,,4,SH,"St Helena, Ascension and Tristan da Cunha","Saint Helena, Ynys y Dyrchafael a Tristan da Cunha" +N1880,,St Lucian,Un o St Lucia,,,4,LC,St Lucia,St Lucia +N1890,,Stateless,Heb wladwriaeth,,,4,ZZ,Stateless,Stateless +N1900,,Sudanese,Un o Sudan,,,4,SD,Sudan,Swdan +N1910,,Surinamese,Surinamaidd,,,4,SR,Suriname,Suriname +N1920,,Swazi,Un o Eswatini,,,4,SZ,Eswatini,Eswatini +N1930,,Swedish,Swedaidd,,,3,SE,Sweden,Sweden +N1940,,Swiss,Swisaidd,,,5,CH,Switzerland,Y Swistir +N1950,,Syrian,Syriaidd,,,4,SY,Syria,Syria +N1960,,Taiwanese,Taiwanaidd,,,4,TW,Taiwan,Taiwan +N1970,,Tajik,Tajik,,,4,TJ,Tajikistan,Tajikistan +N1980,,Tanzanian,Un o Tanzania,,,4,TZ,Tanzania,Tanzania +N1990,,Thai,Un o Wlad Thai,,,4,TH,Thailand,Gwlad Thai +N2000,,Togolese,Togoaidd,,,4,TG,Togo,Togo +N2010,,Tongan,Tongaidd,,,4,TO,Tonga,Tonga +N2020,,Trinidadian,Trinidadaidd,,,4,TT,Trinidad and Tobago,Trinidad a Thobago +N2030,,Tristanian,Tristanaidd,,,4,SH,"St Helena, Ascension and Tristan da Cunha","Saint Helena, Ynys y Dyrchafael a Tristan da Cunha" +N2040,,Tunisian,Un o Tunisia,,,4,TN,Tunisia,Tunisia +N2050,,Turkish,Twrcaidd,,,4,TR,Turkey,Twrci +N2060,,Turkmen,Un o Turkmenistan,,,4,TM,Turkmenistan,Turkmenistan +N2070,,Turks and Caicos Islander,Un o Ynysoedd Turks a Caicos,,,4,TC,Turks and Caicos Islands,Ynysoedd Turks a Caicos +N2080,,Tuvaluan,Un o Tuvalu,,,4,TV,Tuvalu,Tuvalu +N2090,,Ugandan,Un o Uganda,,,4,UG,Uganda,Uganda +N2100,,Ukrainian,Wcreinaidd,,,4,UA,Ukraine,Ukrain +N2110,,Uruguayan,Un o Uruguay,,,4,UY,Uruguay,Uruguay +N2120,,Uzbek,Un o Uzbekistan,,,4,UZ,Uzbekistan,Uzbekistan +N2130,,Vatican citizen,Dinesydd o’r Fatican,,,4,VA,Vatican City State,Gwladwriaeth Dinas y Fatican +N2140,,Citizen of Vanuatu,Dinesydd o Vanuatu,,,4,VU,Vanuatu,Vanuatu +N2150,,Venezuelan,Un o Venezuela,,,4,VE,Venezuela,Venezuela +N2160,,Vietnamese,Fietnamaidd,,,4,VN,Vietnam,Viet Nam +N2170,,Vincentian,Un o St Vincent,,,4,VC,St Vincent and the Grenadines,Saint Vincent a’r Grenadines +N2180,,Wallisian,Un o Wallis a Futuna,,,4,WF,Wallis and Futuna,Wallis a Futuna +N2190,,Welsh,Cymreig,,,2,UK,United Kingdom,Y Deyrnas Unedig +N2200,,Yemeni,Yemeni,,,4,YE,Yemen,Yemen +N2210,,Zambian,Un o Zambia,,,4,ZM,Zambia,Zambia +N2220,,Zimbabwean,Un o Zimbabwe,,,4,ZW,Zimbabwe,Zimbabwe