TABLE OF CONTENTS


Data Type Format

Data TypeFormatExample
monthDayMM-DD--12-31
dateTimeYYYY-MM-DDThh:mm:ss2017-12-31T13:05:15
Timehh:mm:ss15:30:00
Booleantrue or falseTRUE
Stringcontain characters, line feeds, carriage returns, and tab charactersJohn Smith
Language2-letter language code that conforms to ISO 639, followed by a hyphen and a two-letter, country code that conforms to ISO 3166EN-US
DateYYYY-MM-DD2009-03-31
nonNegativeIntegerany whole number greater than or equal to zero (0)17
YearYYYY2012
positiveIntegerany whole number greater than zero (0)35
Decimalnn or nn.nnn (up to 18 decimal digits unless stated otherwise)10.25
Alphaa sequence of letters of the alphabetXYZ
PercentageDecimal10.25
DateOrMonthDayYYYY-MM-DD or --MM-DD2010-07-11
anyURIa valid URLhttps://www.w3schools.com/images/smiley.gif
FormattedTextTextTypeString
TimeOrDateTimehh:mm:ss or YYYY-MM-DDThh:mm:ss2017-12-31T13:05:15
NumericInteger15
AmountDeterminationTypeString - enumeration values of Inclusive, Exclusive and CumulativeInclusive
StateProvCodeTypeStringLength1to8 (min length 2) - standard state code or abbreviation for state, province or regionCA
OTA_CodeTypenumeric code from the specified code list (see OTA_CodeType tab)5



Error Code Description

#Http StstusCan be found inLevelCodeError MessageExampleError DescriptionNotes
1400 Bad RequestHotelSearchRS / HotelDescriptiveInfoRSErrorN/A (no error node)N/AN/AIf the SOAP/XML request is malformed, incomplete or unreadable, the XML envelope cannot be parsed (BadRequestException).Thrown by ChainRequestContextSupport.parseEnvelope(). Corresponds to old sheet row #1 "Client / Malformed XML request format", but unlike the old description, NO XML error node is returned - HTTP 400 with empty body.
2500 Internal Server ErrorHotelSearchRS / HotelDescriptiveInfoRSErrorSOAP-ENV:ServerSAAJ SOAP message has no body<SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>SAAJ SOAP message has no body</faultstring></SOAP-ENV:Fault>If the SOAP envelope parses but the Body contains neither OTA_HotelSearchRQ nor OTA_HotelDescriptiveInfoRQ (RequestBodyNotFoundException).Thrown by ChainRequestContextSupport.validateSoapRequest().
3500 Internal Server ErrorHotelSearchRS / HotelDescriptiveInfoRSErrorSOAP-ENV:ServerInvalidParam<SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>InvalidParam</faultstring></SOAP-ENV:Fault>If the RQ exists but has no query items (empty criteria / invalid request parameters) (BusinessException with code InvalidParam).Thrown by ChainRequestContextSupport.validateSoapRequest() with ErrorCodeEnum.INVALID_REQUEST ("Invalid request parameter(s). Please check the parameters and try again."). NOTE: faultstring currently carries the error CODE, not the message.
4500 Internal Server ErrorHotelSearchRS / HotelDescriptiveInfoRSErrorSOAP-ENV:ServerInternal Server Error.<SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Internal Server Error.</faultstring></SOAP-ENV:Fault>Any other unexpected exception occurs in DerbySoft server (catch-all handler).Handled by ControllerExceptionAdvice.handleException(). Corresponds to old sheet row #9 "ResponseError".
5200 OKHotelSearchRS / HotelDescriptiveInfoRSErrorInvalidUsernameUsername or password is not correct or either is empty.<Errors><Error Code="InvalidUsername" ShortText="Username or password is not correct or either is empty."/></Errors>1) If user does not provide username value; 2) If user does not provide password value; 3) If user provides username+password but they are not correct (authorization against DerbySoft association service fails).Thrown by AuthorizationHandler as XmlRequestException. Corresponds to old sheet row #2 "InvalidUsernameToken" - code name differs (InvalidUsername vs InvalidUsernameToken).
6200 OKHotelSearchRS / HotelDescriptiveInfoRSErrorInvalidParamHotelCodeContext is not correct or either is empty.<Errors><Error Code="InvalidParam" ShortText="HotelCodeContext is not correct or either is empty."/></Errors>If all requested items have no HotelCodeContext (attribute not given or value empty).Thrown by ContextPermissionHandler. Corresponds to old sheet row #11 "HotelCodeContextNotFound".
7200 OKHotelSearchRS / HotelDescriptiveInfoRSErrorHotelContextErrorEither there are no results to return or you do not have access rights to {0}. Please contact your DerbySoft client manager if you need further assistance<Errors><Error Code="HotelContextError" ShortText="Either there are no results to return or you do not have access rights to [HILTON]. Please contact your DerbySoft client manager if you need further assistance"/></Errors>1) If the requested context cannot be found in GHR; 2) If the requested context has not been authorized to the account. {0} is replaced with the requested context code(s).Thrown by ContextPermissionHandler. Corresponds to old sheet row #13 "ContextUnauthorized" (old Level=Warning, now returned as an Error).
8200 OKHotelSearchRSErrorHotelContextNoChangesErrorThese suppliers {0} No changes found for the selected time range. Please adjust the time range and try again.<Errors><Error Code="HotelContextNoChangesError" ShortText="These suppliers [HILTON] No changes found for the selected time range. Please adjust the time range and try again."/></Errors>If the contexts are authorized but no hotel content changes are found for the selected LastModify date time range. {0} is replaced with the requested context code(s).Thrown by SearchHotelHandler (HotelSearch flow only). New code - not present in the old sheet.
9200 OKHotelDescriptiveInfoRSErrorHotelCodeErrorEither there is no content to return or you do not have access rights to HotelCodeContext [{0}], HotelCode [{1}]. Please contact your DerbySoft client manager if you need further assistance.<Errors><Error Code="HotelCodeError" ShortText="Either there is no content to return or you do not have access rights to HotelCodeContext [HILTON], HotelCode [NYCDT]. Please contact your DerbySoft client manager if you need further assistance."/></Errors>1) If the requested hotel cannot be found in GHR; 2) If the requested hotel has not been authorized to the account. One Error node is returned per requested hotel.Thrown by SearchHotelHandler / RequestHandler.buildSearchHotelInfosError() (HotelDescriptiveInfo flow only, multiple sub-errors supported). Corresponds to old sheet rows #10 "HotelCodeNotFound" and #12 "HotelUnauthorized" (old Level=Warning, now returned as an Error).


OTA Codes

To view the OTA Codes, please download the attached file at the bottom of the article.



Tags

CategoryTagDescription
PeopleBackpackBackpackers
 BusinesspersonBusinessman/Businesswoman
 CouplesCouples
 FamilyFamily
 FemaleFemale
 GroupGroups
 InfantInfants
 LGBTLGBT
 MaleMale
 MiddleAgeMiddle Age
 MilitaryMilitary
 Over65Over 65
 SchoolSchool Group
 SingleParentSingle Parent
 SinglesSingles
 SportsTeamSports Team
 StudentStudents
 TeenTeenagers
 YoungAdultYoung Adults
 YoungChildYoung Children
InterestsAdventureAdventure
 AmusementParkAmusement Parks
 ArchitectureArchitecture
 ArtsCultureArts & Culture
 BudgetTravelBudget Travel
 CatsCats
 CookingCooking & Culinary
 DogsDogs
 EcoFriendlyEco-Friendly
 EducationalEducational
 ExperientialLocalExperiential / Local Culture
 FarmFarming
 FoodWineFood & Wine
 GambleGambling
 GardenGardens
 HealthHealth & Well Being
 HistoryHistory
 HorsesHorses
 LuxuryTravelLuxury Travel
 MountainsMountains
 MuseumsMuseums
 MusicMusic
 NationalParksNational Parks
 NightlifeNightlife
 PhotographyPhotography
 PopCulturePop Culture
 ProfSportsProfessional Sports
 RomanceRomance
 ShoppingShopping
 SightseeSightseeing
 TrendyTrendy
 WineTastingVinyards/Winetasting
SeasonFallFall
 SpringSpring
 SummerSummer
 WinterWinter
Trip PurposeBusinessBusiness
 CollegeCollege Visit
 ConferenceConference
 EscapeEscape
 FamilyVacFamily Vacation
 HoneymoonHoneymoon
 HousehuntHousehunting
 JobJob Interview
 LeisureLeisure
 MedicalMedical
 ReligiousReligious Pilgrimage
 SpecialEventSpecial Event
 TeamTravelTeam Travel
 VisitFamFriendVisit Family/Friends
 WeddingWedding
ActivitiesBicyclingBicycling
 BirdWatchBird Watching
 BoatingBoating
 CampCamping
 FishFishing
 GeocacheGeocaching
 GolfGolf
 HikeHiking
 HorsebackRideHorseback Riding
 RockClimbRock Climbing
 RunRunning
 ShopShopping
 SkiSkiing
 SnowSportsSnow Sports
 SwimSwimming
 TennisTennis
 WaterSportsWater Sports
 WhaleWatchWhale Watching



Language Codes

Langauge CodeLangauge Name

TI-ET

Tigrinya (Ethiopia)

TA-SG

Tamil (Singapore)

EN-NU

English (Niue)

EN-JM

English (Jamaica)

ES-BO

Spanish (Bolivia)

DZ-BT

Dzongkha (Bhutan)

BS-BA

Bosnian (Bosnia & Herzegovina)

EN-LR

English (Liberia)

AR-TD

Arabic (Chad)

SW-UG

Swahili (Uganda)

TK-TM

Turkmen (Turkmenistan)

AR-EG

Arabic (Egypt)

YO-NG

Yoruba (Nigeria)

SE-NO

Northern Sami (Norway)

EN-PW

English (Palau)

PL-PL

Polish (Poland)

SR-CS

Serbian (Serbia and Montenegro)

NE-IN

Nepali (India)

AR-EH

Arabic (Western Sahara)

NB-SJ

Norwegian Bokmål (Svalbard & Jan Mayen)

ES-US

Spanish (United States)

PT-MO

Portuguese (Macao SAR China)

LB-LU

Luxembourgish (Luxembourg)

SO-KE

Somali (Kenya)

FR-PM

French (St. Pierre & Miquelon)

AR-KM

Arabic (Comoros)

TR-TR

Turkish (Turkey)

AR-MR

Arabic (Mauritania)

ES-DO

Spanish (Dominican Republic)

KL-GL

Kalaallisut (Greenland)

EN-NR

English (Nauru)

EN-AU

English (Australia)

EN-CY

English (Cyprus)

TI-ER

Tigrinya (Eritrea)

EN-RW

English (Rwanda)

LN-CD

Lingala (Congo - Kinshasa)

AR-IL

Arabic (Israel)

OR-IN

Odia (India)

AR-SY

Arabic (Syria)

TT-RU

Tatar (Russia)

OM-KE

Oromo (Kenya)

EN-AS

English (American Samoa)

FR-VU

French (Vanuatu)

ZH-TW

Chinese (Taiwan)

SD-IN

Sindhi (India)

PT-MZ

Portuguese (Mozambique)

FR-NE

French (Niger)

EN-JE

English (Jersey)

LN-CF

Lingala (Central African Republic)

UZ-AF

Uzbek (Afghanistan)

EN-CX

English (Christmas Island)

EN-AT

English (Austria)

KN-IN

Kannada (India)

EN-TZ

English (Tanzania)

EN-PR

English (Puerto Rico)

FR-NC

French (New Caledonia)

GD-GB

Scottish Gaelic (United Kingdom)

FR-CM

French (Cameroon)

EN-NL

English (Netherlands)

LN-CG

Lingala (Congo - Brazzaville)

AZ-AZ

Azerbaijani (Azerbaijan)

EL-CY

Greek (Cyprus)

MR-IN

Marathi (India)

KU-TR

Kurdish (Turkey)

ES-HN

Spanish (Honduras)

HU-HU

Hungarian (Hungary)

FF-SN

Fulah (Senegal)

SQ-MK

Albanian (North Macedonia)

ET-EE

Estonian (Estonia)

AR-OM

Arabic (Oman)

FY-NL

Western Frisian (Netherlands)

TR-CY

Turkish (Cyprus)

DE-IT

German (Italy)

FR-TN

French (Tunisia)

SR-RS

Serbian (Serbia)

DE-CH

German (Switzerland)

FR-PF

French (French Polynesia)

PT-GQ

Portuguese (Equatorial Guinea)

EN-TV

English (Tuvalu)

EN-PN

English (Pitcairn Islands)

NL-NL

Dutch (Netherlands)

EN-GY

English (Guyana)

NL-CW

Dutch (Curaçao)

AR-DZ

Arabic (Algeria)

PT-CH

Portuguese (Switzerland)

FR-GQ

French (Equatorial Guinea)

EN-NG

English (Nigeria)

FR-CI

French (Côte d’Ivoire)

KI-KE

Kikuyu (Kenya)

EN-PK

English (Pakistan)

ZH-CN

Chinese (China)

EN-LC

English (St. Lucia)

GV-IM

Manx (Isle of Man)

MK-MK

Macedonian (North Macedonia)

EN-TT

English (Trinidad & Tobago)

SL-SI

Slovenian (Slovenia)

XH-ZA

Xhosa (South Africa)

FR-BE

French (Belgium)

ES-VE

Spanish (Venezuela)

EN-BM

English (Bermuda)

NB-NO

Norwegian Bokmål (Norway)

VI-VN

Vietnamese (Vietnam)

EN-US

English (United States)

FR-BF

French (Burkina Faso)

IT-SM

Italian (San Marino)

FR-YT

French (Mayotte)

GU-IN

Gujarati (India)

FI-FI

Finnish (Finland)

CA-FR

Catalan (France)

FR-DJ

French (Djibouti)

HA-GH

Hausa (Ghana)

DE-BE

German (Belgium)

ZH-MO

Chinese (Macao SAR China)

MS-MY

Malay (Malaysia)

TA-LK

Tamil (Sri Lanka)

TG-TJ

Tajik (Tajikistan)

QU-PE

Quechua (Peru)

ES-EC

Spanish (Ecuador)

LG-UG

Ganda (Uganda)

ZU-ZA

Zulu (South Africa)

RU-RU

Russian (Russia)

EN-DM

English (Dominica)

GA-IE

Irish (Ireland)

EN-BI

English (Burundi)

EN-WS

English (Samoa)

FR-LU

French (Luxembourg)

MI-NZ

Maori (New Zealand)

AR-ER

Arabic (Eritrea)

SN-ZW

Shona (Zimbabwe)

ES-EA

Spanish (Ceuta & Melilla)

GA-GB

Irish (United Kingdom)

FR-SC

French (Seychelles)

EN-SL

English (Sierra Leone)

NO-NO

Norwegian (Norway)

EN-SH

English (St. Helena)

DE-LU

German (Luxembourg)

DE-DE

German (Germany)

EN-DK

English (Denmark)

SO-DJ

Somali (Djibouti)

LT-LT

Lithuanian (Lithuania)

PS-PK

Pashto (Pakistan)

EN-UM

English (U.S. Outlying Islands)

EN-SI

English (Slovenia)

LO-LA

Lao (Laos)

AR-LB

Arabic (Lebanon)

AF-ZA

Afrikaans (South Africa)

FF-GN

Fulah (Guinea)

ES-BZ

Spanish (Belize)

AR-AE

Arabic (United Arab Emirates)

HR-HR

Croatian (Croatia)

KS-IN

Kashmiri (India)

MY-MM

Burmese (Myanmar (Burma))

MN-MN

Mongolian (Mongolia)

UR-PK

Urdu (Pakistan)

DA-DK

Danish (Denmark)

EN-FM

English (Micronesia)

EN-BE

English (Belgium)

FR-WF

French (Wallis & Futuna)

EN-SG

English (Singapore)

EN-SD

English (Sudan)

ES-SV

Spanish (El Salvador)

PT-BR

Portuguese (Brazil)

ML-IN

Malayalam (India)

EN-FK

English (Falkland Islands)

IS-IS

Icelandic (Iceland)

EN-DG

English (Diego Garcia)

PT-ST

Portuguese (São Tomé & Príncipe)

AK-GH

Akan (Ghana)

EN-SE

English (Sweden)

ES-IC

Spanish (Canary Islands)

AR-TN

Arabic (Tunisia)

BM-ML

Bambara (Mali)

KW-GB

Cornish (United Kingdom)

PA-PK

Punjabi (Pakistan)

UG-CN

Uyghur (China)

ES-BR

Spanish (Brazil)

EN-SB

English (Solomon Islands)

RW-RW

Kinyarwanda (Rwanda)

AR-IQ

Arabic (Iraq)

EN-DE

English (Germany)

RO-MD

Romanian (Moldova)

EN-FI

English (Finland)

UZ-UZ

Uzbek (Uzbekistan)

EN-SC

English (Seychelles)

EN-UG

English (Uganda)

EN-NZ

English (New Zealand)

ES-UY

Spanish (Uruguay)

RU-UA

Russian (Ukraine)

SG-CF

Sango (Central African Republic)

EN-FJ

English (Fiji)

DE-LI

German (Liechtenstein)

EN-BB

English (Barbados)

HR-BA

Croatian (Bosnia & Herzegovina)

DE-AT

German (Austria)

LU-CD

Luba-Katanga (Congo - Kinshasa)

SO-SO

Somali (Somalia)

LV-LV

Latvian (Latvia)

AR-KW

Arabic (Kuwait)

EN-LS

English (Lesotho)

EN-HK

English (Hong Kong SAR China)

CE-RU

Chechen (Russia)

KA-GE

Georgian (Georgia)

SW-TZ

Swahili (Tanzania)

FR-RW

French (Rwanda)

MG-MG

Malagasy (Madagascar)

OS-RU

Ossetic (Russia)

KY-KG

Kyrgyz (Kyrgyzstan)

AR-JO

Arabic (Jordan)

AM-ET

Amharic (Ethiopia)

FR-DZ

French (Algeria)

BO-CN

Tibetan (China)

QU-EC

Quechua (Ecuador)

EN-MS

English (Montserrat)

EN-GG

English (Guernsey)

SR-ME

Serbian (Montenegro)

SV-SE

Swedish (Sweden)

EN-ZM

English (Zambia)

FR-ML

French (Mali)

HA-NG

Hausa (Nigeria)

AR-SA

Arabic (Saudi Arabia)

FA-AF

Persian (Afghanistan)

OS-GE

Ossetic (Georgia)

EN-MT

English (Malta)

EN-GH

English (Ghana)

EN-IL

English (Israel)

SW-CD

Swahili (Congo - Kinshasa)

IT-VA

Italian (Vatican City)

ES-PH

Spanish (Philippines)

ES-ES

Spanish (Spain)

ES-CO

Spanish (Colombia)

BG-BG

Bulgarian (Bulgaria)

EN-VC

English (St. Vincent & Grenadines)

AR-SD

Arabic (Sudan)

HA-NE

Hausa (Niger)

EN-KN

English (St. Kitts & Nevis)

RO-RO

Romanian (Romania)

ES-GT

Spanish (Guatemala)

FR-MG

French (Madagascar)

ES-CL

Spanish (Chile)

FA-IR

Persian (Iran)

EN-MO

English (Macao SAR China)

EN-BZ

English (Belize)

SQ-AL

Albanian (Albania)

EN-MP

English (Northern Mariana Islands)

EN-GD

English (Grenada)

EN-BW

English (Botswana)

HE-IL

Hebrew (Israel)

TA-MY

Tamil (Malaysia)

SV-FI

Swedish (Finland)

ND-ZW

North Ndebele (Zimbabwe)

EN-IE

English (Ireland)

ZH-SG

Chinese (Singapore)

EN-KI

English (Kiribati)

OM-ET

Oromo (Ethiopia)

JA-JP

Japanese (Japan)

FR-MF

French (St. Martin)

MS-ID

Malay (Indonesia)

SA-IN

Sanskrit (India)

EN-SZ

English (Eswatini)

ES-PE

Spanish (Peru)

EN-GB

English (United Kingdom)

KK-KZ

Kazakh (Kazakhstan)

ES-PA

Spanish (Panama)

AR-PS

Arabic (Palestinian Territories)

FR-MC

French (Monaco)

UR-IN

Urdu (India)

ES-GQ

Spanish (Equatorial Guinea)

AR-YE

Arabic (Yemen)

EN-SX

English (Sint Maarten)

RU-KZ

Russian (Kazakhstan)

KO-KP

Korean (North Korea)

NL-SR

Dutch (Suriname)

EN-BS

English (Bahamas)

NL-BQ

Dutch (Caribbean Netherlands)

EN-KE

English (Kenya)

FR-SN

French (Senegal)

FR-MA

French (Morocco)

PT-LU

Portuguese (Luxembourg)

FR-BL

French (St. Barthélemy)

KO-KR

Korean (South Korea)

ES-MX

Spanish (Mexico)

EN-SS

English (South Sudan)

BO-IN

Tibetan (India)

EN-MG

English (Madagascar)

FR-BI

French (Burundi)

BN-BD

Bangla (Bangladesh)

EN-ZA

English (South Africa)

FR-FR

French (France)

PA-IN

Punjabi (India)

EN-MH

English (Marshall Islands)

FR-BJ

French (Benin)

PS-AF

Pashto (Afghanistan)

SK-SK

Slovak (Slovakia)

WO-SN

Wolof (Senegal)

FR-HT

French (Haiti)

TE-IN

Telugu (India)

NL-SX

Dutch (Sint Maarten)

FR-CG

French (Congo - Brazzaville)

MT-MT

Maltese (Malta)

EN-VU

English (Vanuatu)

TO-TO

Tongan (Tonga)

SU-ID

Sundanese (Indonesia)

II-CN

Sichuan Yi (China)

FR-RE

French (Réunion)

BN-IN

Bangla (India)

FR-GP

French (Guadeloupe)

UK-UA

Ukrainian (Ukraine)

FR-CH

French (Switzerland)

EN-NF

English (Norfolk Island)

AR-SS

Arabic (South Sudan)

EN-GU

English (Guam)

NL-AW

Dutch (Aruba)

EN-AI

English (Anguilla)

EN-CM

English (Cameroon)

CS-CZ

Czech (Czechia)

CA-ES

Catalan (Spain)

RM-CH

Romansh (Switzerland)

RU-MD

Russian (Moldova)

EN-TO

English (Tonga)

EN-PG

English (Papua New Guinea)

FR-CF

French (Central African Republic)

PT-TL

Portuguese (Timor-Leste)

EN-ER

English (Eritrea)

SR-BA

Serbian (Bosnia & Herzegovina)

ES-PY

Spanish (Paraguay)

FR-TG

French (Togo)

EN-PH

English (Philippines)

IG-NG

Igbo (Nigeria)

FR-GN

French (Guinea)

SE-FI

Northern Sami (Finland)

EN-CK

English (Cook Islands)

AR-MA

Arabic (Morocco)

EN-AG

English (Antigua & Barbuda)

FR-TD

French (Chad)

FR-CD

French (Congo - Kinshasa)

RN-BI

Rundi (Burundi)

EN-NA

English (Namibia)

CA-IT

Catalan (Italy)

ID-ID

Indonesian (Indonesia)

CA-AD

Catalan (Andorra)

QU-BO

Quechua (Bolivia)

FR-CA

French (Canada)

SQ-XK

Albanian (Kosovo)

EN-KY

English (Cayman Islands)

IT-CH

Italian (Switzerland)

SI-LK

Sinhala (Sri Lanka)

EN-AE

English (United Arab Emirates)

IT-IT

Italian (Italy)

AR-SO

Arabic (Somalia)

EN-ZW

English (Zimbabwe)

NN-NO

Norwegian Nynorsk (Norway)

FR-MU

French (Mauritius)

SE-SE

Northern Sami (Sweden)

EN-TK

English (Tokelau)

PT-GW

Portuguese (Guinea-Bissau)

MS-SG

Malay (Singapore)

EE-TG

Ewe (Togo)

LN-AO

Lingala (Angola)

BE-BY

Belarusian (Belarus)

PT-CV

Portuguese (Cape Verde)

ES-PR

Spanish (Puerto Rico)

RU-BY

Russian (Belarus)

FO-DK

Faroese (Denmark)

EE-GH

Ewe (Ghana)

AR-BH

Arabic (Bahrain)

HI-IN

Hindi (India)

EN-CH

English (Switzerland)

FO-FO

Faroese (Faroe Islands)

YO-BJ

Yoruba (Benin)

FR-KM

French (Comoros)

FR-MQ

French (Martinique)

ES-AR

Spanish (Argentina)

EN-MY

English (Malaysia)

HY-AM

Armenian (Armenia)

EN-GM

English (Gambia)

NE-NP

Nepali (Nepal)

TA-IN

Tamil (India)

FR-GF

French (French Guiana)

PT-AO

Portuguese (Angola)

JV-ID

Javanese (Indonesia)

RU-KG

Russian (Kyrgyzstan)

FR-MR

French (Mauritania)

AS-IN

Assamese (India)

ZH-HK

Chinese (Hong Kong SAR China)

SW-KE

Swahili (Kenya)

TH-TH

Thai (Thailand)

EN-MW

English (Malawi)

EN-IO

English (British Indian Ocean Territory)

AR-QA

Arabic (Qatar)

EN-CC

English (Cocos (Keeling) Islands)

PT-PT

Portuguese (Portugal)

ES-CU

Spanish (Cuba)

EN-VI

English (U.S. Virgin Islands)

EU-ES

Basque (Spain)

EL-GR

Greek (Greece)

DA-GL

Danish (Greenland)

KM-KH

Khmer (Cambodia)

ES-CR

Spanish (Costa Rica)

FR-GA

French (Gabon)

AR-LY

Arabic (Libya)

EN-MU

English (Mauritius)

GL-ES

Galician (Spain)

EN-IM

English (Isle of Man)

EN-GI

English (Gibraltar)

EN-CA

English (Canada)

FR-SY

French (Syria)

SO-ET

Somali (Ethiopia)

NL-BE

Dutch (Belgium)

AR-DJ

Arabic (Djibouti)

CY-GB

Welsh (United Kingdom)

EN-VG

English (British Virgin Islands)

EN-TC

English (Turks & Caicos Islands)

SV-AX

Swedish (Åland Islands)

AF-NA

Afrikaans (Namibia)

EN-IN

English (India)

ES-NI

Spanish (Nicaragua)

SD-PK

Sindhi (Pakistan)

MS-BN

Malay (Brunei)

BR-FR

Breton (France)