Module:Countries/Europe

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search
Lua

CodeDiscussionEditHistoryLinksLink count Subpages:DocumentationTestsResultsSandboxLive code All modules

This documentation is transcluded from Module:Countries/Africa/doc.

The countries and text displayed for a particular region are defined in a subpage of Module:Countries. For example, Module:Countries/Africa lists the countries in Africa and defines text such as "Countries of Africa" that is displayed if the user's language is en, and "Staaten in Afrika" if it is de. Country names are obtained from Wikidata.

How to create data modules

[edit]

Translated section titles

[edit]

Each section under titles defines text that depends on the current user's language. The procedures that apply to {{Fallback}} are used to determine which language should be used.

TODO: Standard titles should be defined in one module so they do not need to be duplicated for each countries submodule. Only items listed in each section are translated once from Wikidata labels. This may require adding also Wikidata entries for them (or locating existing Wikidata items for their topic), and being able to select their plural form when needed.

Pattern or ordered list of subpatterns

[edit]

Module:Countries/Africa defines pattern twice. The first is a pattern for the text that is normally displayed by {{Countries of Africa}}, while the second applies when the parameter |simple=yes is used.

Each occurrence of {name} in the pattern is replaced with appropriate text. The names used for Africa when simple does not apply are:

Name Description
{lang} User's language from {{Int:Lang}} such as "en" or "de".
{dir} Direction "ltr" or "rtl" selected using lang.
{colon} Equivalent of ": " from {{Colon|lang={{Int:Lang}}}}; do not insert any space after it.
{maintitle} Title from titles.main selected using lang.
{othertitle} Title from titles.other selected using lang.
{mainlist} List of country codes from lists.main selected using lang.
{otherlist} List of country codes from lists.other selected using lang.
{partlylist} List of country codes from lists.partly used to render a note only (this list is not sorted by languages as it is not displayed, but it provides the condition for which the note will be added, i.e. when one of the other lists includes a country which is displayed with an extra mark calling for this note).

You can specify patterns in various ways, the simplest one being a single string containing all the layout wikitext and {name} placeholders described above. This will only generate a static list with a single layout.

But you can also split the pattern into multiple "conditional supatterns" (all of them containing arbitrary wikitext or {name} placeholders), and put them in an ordered table, in the order in which they must appear on the result. This allows some fragments of the layout to be removed (for example dropping the section title if the list after it in the same section is empty, or dropping the static separators between sections).

Each "conditional subpattern" is represented either:

  • as a simple string like 'subpattern with {name} placeholders' when there's no condition (this unconditional pattern will be always added to the result), or
  • as an ordered table, where:
    • first element is a string for the subpattern, and
    • the other elements represent an union of several (non-exclusive) "conditions"
    for example, { 'subpattern with {name} placeholders', condition1, condition2, ... }
    (if any one of the listed conditions evaluates to true (OR), the conditional subpattern will be used).

Each "condition" listed in a array after the initial subpattern may itself be represented either:

  • as a simple string for "simple conditions", or
  • as an ordered table of "subconditions", i.e. a conjunction of several (non-exclusive) simple conditions
    for example, { 'subpattern with {name} placeholders', { subcondition1, subcondition2, ... }, ... }
    (if any one of the subconditions evaluates to false (AND), the conditional subpattern will NOT be used according to this condition, but may be used if other conditions part of the union allow it).

Each "simple condition" is used to evaluate tests based on names of variables (usable in placeholders of patterns or subpatterns). A simple condition is represented by a string and can currently take one the following forms:

  • 'name'  : the simple condition is true if the variable with that name is non-empty (i.e. the subpattern {name} would be replaced by an actual text);
  • '!name' : the simple condition is true if the variable with that name is empty (i.e. the subpattern {name} would be replaced by nothing);

The variable names used in simple conditions don't need to be present within the "conditional subpattern" string to which the condition applies (indicated at start of the table describing the conditional subpattern). This means for example that a subpattern continaining only static wikitext and no {name} placeholder, can be conditional. This is useful notably

  • to generate static wikitext (for example breaks or punctuation or other presentational elements), that will be present in the result only if other conditional patterns actually generate text (depending on their own placeholders).
  • to suppress every layout elements surrounding the inner content, when there's nothing useful to display: the result can then be entirely empty.

Simple presentation in a single section

[edit]

If the template that invokes the module has |simple=yes, the simple section is used.

  • simple.pattern replaces pattern
  • simple.sections specifies which sections from titles and lists will be processed.

In Module:Countries/Africa, simple.sections has

main = { EH = true, },

The fact that main is defined means that titles.main and lists.main will be used. The fact that other is not defined means that titles.other and lists.other will be ignored.

EH = true is used when simple does not apply. When the template is used normally (without |simple=yes), the country identified by EH is ignored. That is done because EH is included in the other section. However, with |simple=yes, EH will appear in the main section.

The simple version can also use a single pattern, or multiple conditional subpatterns like previously.

Orderable lists of items, one for each section

[edit]

Each section under lists defines the list of country codes that will be used to display country names. Similarly to titles, the list depends on the current user's language.

Countries are listed in the order specified. If the default order is unsatisfactory for a particular language, an entry for the language can be added. The entry should include all the country codes in a suitable order.

For example, lists.main may include the following (... replaces some text omitted for simplicity).

main = {
    english   = 'automatic',
    default   = 'automatic sorted',
    en        = 'automatic sorted',
    mk        = 'DZ AO BJ BW BF BI CM CAVE CF TD KM CI ... SADR EH ZM ZW',
    automatic = 'DZ AO BJ BW BF BI CM CAVE CF TD KM CD ...   UG EH ZM ZW',
},

Each country code such as DZ is defined under countries. All lists should contain the same codes, only ordered differently depending on language; every localized list (keyed by language code) should then have exactly the same length as the one given for the 'automatic' list (which is required), or should be one of 'automatic sorted' or 'automatic'.

The following keys have special meaning when used before =.

automatic Must be defined if any other parameter is set to 'automatic' or 'automatic sorted'. The listed codes should be ordered according to the English names, so that they don't need sorting (see below).
default The fallback entry used if the user's language is not defined ({{Fallback}} falls back to en if it is defined and no more applicable entry is defined).
english The entry used if the user's language is en. This is an optimization to avoid the overhead of automatic processing for a commonly used language.

The following values have special meaning when used after =.

'automatic' This entry will use the list of country codes defined in the automatic = '...' parameter.
'automatic sorted' Same as 'automatic' but (unless option all is set) the country names will be reordered using a crude sorting algorithm.

A module is not able to properly collate names for a language other than en. However, Module:Countries can satisfactorily collates some names that use letters with diacritics which sort after their equivalent letters.

The collation (performed only when the option all is not set when calling the main function Module:Countries) is based on a function, defined in Module:MakeSortKey, creating sort keys from a translated label and the target language code (this language code could be later used to tailor the collation according to sorting rules for specific languages, but for now the sort order is locale-neutral). Generally, this sorting works for most languages, but the localisation may be needed to take into account ignorable prefixes, or for complex scripts that still have no support for a basic collation order.

Definitions of each list item

[edit]

Several examples from a countries table follow:

countries = {
    CI    = { 'Ivory Coast', "Côte d'Ivoire",  qid = 'Q1008', },
    DZ    = { 'Algeria',                       qid = 'Q262', },
    EG    = { 'Egypt',                         qid = 'Q79', mark = '‡', },
    GM    = { 'Gambia',                        qid = 'Q1005', the = true, },
    XBRTW = { 'Bir Tawil',                     qid = 'Q620634', },
}

CI, DZ, EG, and GM are country codes that identify a particular country. Where available, ISO 3166-2 codes are used, but any code can be used as they only have a meaning within the module (you should use a private extension, starting by "X", of ISO 3166-1 if the territory is part of another recognized country but has no ISO 3166-2 code, or use one of the prefixes reserved in ISO 3166-1 for private use, like "AA", "QM" to "QZ", "X", or "ZZ").

Note that Module:Countries is generic and is not restricted for listing only countries, it can process any list of up to 200 known items; the key defined as countries = {...} above can be alternatively named infos = {...} with the same content for list items.

The country names Algeria and Gambia are the titles of pages which should exist at Commons, and where the category page generally also exists. English names should be used but need to match names used in titles of titles in Commons. If several alternative names are used in Commons to refer to the same country in related page titles (such as "Côte d'Ivoire"), you may list these alternate names.

The qid codes identify the corresponding item at Wikidata. It allows translating the displayed label in the user's language (when option all is not set to render the box). For example,

  • d:Q262 on Wikidata is associated to Algeria on Commons, and will also be used to get the translated label for other related pages like Category:Algeria
  • d:Q1005 on Wikidata is associated to Gambia on Commons, and will also be used to get the translated label for other related pages like Category:Gambia

If the |all=yes option is not set to render the box, or if qid is not defined, or if qid is not found in Wikidata, or Wikidata does not define a label for it, then the first name listed in the data defining the country (normally in English and used in page titles in Commons) will be used as a default (untranslated) label.

Normally, a link is shown in the rendered bulleted lists only if the page exists.

But when rendering the list with |all=yes option, all possible page titles will be listed, without testing their existence, and without translating the displayed labels (this will frequently generate red links, but it allows the maintenance of page names on Commons, to find those that redirect to unexpected pages, or to facilitate the creation of missing pages with coherent titles that will be found and used when the |all=yes option will be removed to hide all possible aliases from the list and to get translated and sorted labels).

The entry for Gambia illustrates use of the optional the in country's data, whose effect is that the Gambia is tested for existence before Gambia: if a page exists in Commons using the in its title, this page will be selected as the target of the link.

The wikitext for each link has the following form:

[[PrefixTitleSuffix|<bdi>Label</bdi>]]
Prefix Consists of the specified prefix and separator (or space).
Title The name specified in the countries table, possibly prefixed by the (only if the data defining a country code includes the = true).
Suffix Consists of the specified separator (or space) and suffix.
bdi bidirectional isolation in HTML
Label The label from Wikidata for the specified qid in the current user's language.

The entry for Egypt illustrates use of the optional mark in country's data, whose effect is that a superscripted mark will be added after the label. This is used as a note call, which will be rendered at bottom of the table. If you use such marks, you should create a conditional section (such as "partly") which lists all concerned codes (in arbitrary code order); this list will not be rendered, but will appear conditionally if any one of the listed codes is displayed from the other lists.

[edit]

This list (currently maintained in Module:Convert/tester) is partial but contains the most frequently used modules. It autodetects differences between the normal modules and templates and their sandbox version, and list their associated testcases and talk pages (when they exist).

It also shows that the main module is not necessarily used for listing countries (or territories), it could be used as well to create navigation boxes for lists of cities, chemical elements, and so on, provided that these lists are bounded, wellknown and stable over years (and not overlong) : if a list contains more than 200 items, consider generated separate modules and navbox for sublists using some criteria). New data modules also don't necessarily have to be created and named as subpages of Module:Countries.

The sandbox versions of modules should be identical, except temporarily for testing changes (rendered with the sandbox template, in their comparative test cases)

The sandbox versions of these templates should be different as they use the sandbox version of the modules.

How to make changes and preview them using sandboxes

[edit]

For example, {{Countries of Africa/sandbox}} displays:

If the user's language is en, Module:Countries/Africa/sandbox could be edited and

en = 'Countries of Africa',

changed to

en = 'African countries',

Do not save the change. Instead, under "Preview page with this template" enter the title of this page

Module:Countries/Africa/doc

then click "Show preview". That will display this documentation page including the output from the above {{Countries of Africa/sandbox}} template. The output will start with "African countries" instead of "Countries of Africa". In the same manner, other changes could be made and previewed before saving the changes. Close the current browser window without saving the changes to discard them (or get back to a previous page using the button of the browser navigating in the session history).

Before updating the main data module, changes should be made in the sandbox data module and tested with the sandbox template.

Code

--[=[
Data defining countries for {{#invoke:Countries|main|Europe}}.

Output is pattern after making these substitutes:
	{lang}		User's language from {{int:lang}} such as 'en' or 'de'.
	{dir}		Language direction 'ltr' or 'rtl'.
	{colon}		Language equivalent of ": " from {{colon|lang}}.
	{XYZtitle}	Title for lang from XYZ section of defined titles.
	{XYZlist}	List of countries for lang from XYZ section of defined lists.
Where XYZ must consist of en alphabetic characters [A-Za-z].
]=]
return {
	titles = {
		main = {
			default = 'Countries of Europe',
			af = 'Lande van Europa',
			am = 'የአውሮፓ ሀገሮች',
			ar = 'بلدان أوروبا',
			az = 'Avropa ölkələri',
			be = 'Краіны Еўропы',
			['be-tarask'] = 'Краіны Эўропы',
			bg = 'Европейски държави',
			bn = 'ইউরোপের দেশসমূহ',
			br = 'Stadoù Europa',
			bs = 'Države u Evropi',
			ca = 'Països d’Europa',
			ceb = 'Mga nasud sa Europe',
			co = 'Paesi d’Europa',
			crh = 'Avropadaki memleketler',
			cs = 'Státy Evropy',
			cy = 'Gwledydd Ewrop',
			da = 'Lande i Europa',
			de = 'Staaten in Europa',
			-- dsb = '',
			el = 'Ευρωπαϊκά κράτη',
			en = 'Countries of Europe',
			eo = 'Landoj de Eŭropo',
			es = 'Países de Europa',
			et = 'Euroopa maad',
			eu = 'Europako herrialdeak',
			fa = 'کشورهای اروپا',
			fi = 'Euroopan maat',
			fr = 'Pays d’Europe',
			fy = 'Lannen fan Europa',
			ga = 'Tíortha na hEorpa',
			gd = 'Dùthchannan na Roinn Eòrpa',
			gl = 'Países de Europa',
			gu = 'યુરોપના દેશો',
			ha = 'Kasashen Turai',
			haw = 'Nā’āina oʻEulopa',
			he = 'מדינות אירופה',
			hi = 'यूरोप के देश',
			hmn = 'Lub teb chaws Europe',
			hr = 'Države u Europi',
			hsb = 'Staty w Europje',
			ht = 'Peyi nan Ewòp',
			hu = 'Európa országai',
			hy = 'Եվրոպայի երկրներ',
			id = 'Negara-negara Eropa',
			ig = 'Mba Europe',
			is = 'Lönd Evrópu',
			it = 'Paesi d’Europa',
			ja = 'ヨーロッパ諸国',
			jv = 'Negara-negara Eropah',
			ka = 'ევროპის ქვეყნები',
			kk = 'Еуропа елдері',
			km = 'បណ្តាប្រទេសអឺរ៉ុប។',
			kn = 'ಯುರೋಪ್ನ ದೇಶಗಳು',
			ko = '유럽 국가',
			ku = 'Welatên Ewropayê',
			ky = 'Европа Өлкөлөр',
			la = 'Terris in Europa',
			lb = 'Länner vun Europa',
			lo = 'ປະເທດຂອງເອີຣົບ',
			lt = 'Europos valstybės',
			lv = 'Eiropas valstis',
			mg = 'Firenena Eoropa',
			mi = 'Tuhinga o mua',
			mk = 'Земји во Европа',
			ml = 'യൂറോപ്പിലെ രാജ്യങ്ങൾ',
			mn = 'Европын улсууд',
			mr = 'युरोप देश',
			ms = 'Negara-negara Eropah',
			mt = 'Pajjiżi t ’al-Ewropa',
			mwl = 'Paízes de la Ouropa',
			my = 'ဥရောပနိုင်ငံများ',
			nb = 'Land i Europa',
			ne = 'युरोपका देशहरू',
			nl = 'Land in Europa',
			nn = 'Land i Europa',
			no = 'Land i Europa',
			ny = 'Mayiko a ku Europe',
			pa = 'ਯੂਰਪ ਦੇ ਦੇਸ਼',
			pl = 'Państwa Europy',
			ps = 'د اروپا هیوادونه',
			pt = 'Países da Europa',
			ro = 'Țări în Europa',
			ru = 'Страны Европы',
			sd = 'يورپ جي ملڪن',
			sh = 'Države Evrope',
			si = 'යුරෝපීය රටවල්',
			sk = 'Štáty v Európe',
			sl = 'Države v Evropi',
			sn = 'Nyika dzeEurope',
			so = 'dalalka Yurub',
			sq = 'Shtete në Evropë',
			sr = 'Државе у Европи',
			['sr-latn'] = 'Države u Evropi',
			st = 'Linaha tsa Europe',
			su = 'Nagara Éropa',
			sv = 'Europas länder',
			sw = 'Nchi za Ulaya',
			ta = 'ஐரோப்பாவின் நாடுகள்',
			te = 'ఐరోపా దేశాలు',
			tg = 'Кишварҳои Аврупо',
			th = 'ประเทศในยุโรป',
			tl = 'Mga bansa sa Europa',
			tok = 'ma mute pi ma Elopa',
			tr = 'Avrupa ülkeleri',
			uk = 'Країни Європи',
			ur = 'یورپ کے ممالک',
			uz = 'Evropa mamlakatlari',
			vi = 'Các nước châu Âu',
			xh = 'Amazwe aseYurophu',
			yi = 'לענדער פון אייראָפּע',
			['zh-hans'] = '欧洲国家',
			['zh-hant'] = '歐洲國家',
			zu = 'Amazwe aseYurophu',
		},
		uknations = {
			default = 'Nations of the United Kingdom',
			bn = 'যুক্তরাজ্যের দেশসমূহ',
			en = 'Nations of the United Kingdom',
		},
		specific = {
			default = 'Specific status',
			af = 'Spesifieke status',
			am = 'የተወሰነ ሁኔታ',
			ar = 'حالة محددة',
			az = 'Xüsusi status',
			be = 'Асаблівы статус',
			['be-tarask'] = 'Асаблівы статус',
			bg = 'Специфичен статус',
			bn = 'বিশেষ মর্যাদা',
			-- br = '',
			bs = 'Specifičan status',
			ca = 'Estatut específic',
			ceb = 'Piho nga kahimtang',
			co = 'Statutu identitariu',
			-- crh = '',
			cs = 'Specifický status',
			cy = 'Statws penodol',
			da = 'Specifikke status',
			de = 'Spezifischer Status',
			-- dsb = '',
			el = 'Συγκεκριμένη κατάσταση',
			en = 'Specific status',
			eo = 'Specifa statuso',
			es = 'Estatus específicos',
			et = 'Konkreetne staatus',
			eu = 'Status espezifikoa',
			fa = 'وضعیت خاص',
			fi = 'Erityisstatus',
			fr = 'Statuts particuliers',
			fy = 'Spesifike status',
			ga = 'Stádas ar leith',
			gd = 'Sònraichte inbhe',
			gl = 'Estatuto específico',
			gu = 'ચોક્કસ સ્થિતિ',
			ha = 'Musamman matsayi',
			haw = 'Kekahi kūlana',
			he = 'מצב ספציפי',
			hi = 'विशिष्ट स्थिति',
			hr = 'Specifičnih statusa',
			-- hsb = '',
			ht = 'Sitiyasyon espesifik',
			hu = 'Különleges státuszú terület',
			hy = 'հատուկ կարգավիճակը',
			id = 'Status tertentu',
			ig = 'Kpọmkwem ọnọdụ',
			is = 'Sérstakar staðsetningar',
			it = 'Entità particolari',
			ja = '特定のステータス',
			jv = 'Status tartamtu',
			ka = 'სპეციფიკური სტატუსი',
			kk = 'нақты мәртебесі',
			km = 'ស្ថានភាពជាក់លាក់',
			kn = 'ನಿರ್ದಿಷ್ಟ ಸ್ಥಿತಿ',
			ko = '특정 상태',
			ku = 'Statûya taybet',
			ky = 'Конкреттүү бир абалы',
			la = 'Certis statum',
			lb = 'Spezifesch Status',
			lo = 'ສະຖານະພາບສະເພາະໃດຫນຶ່ງ',
			lt = 'Konkrečias statusas',
			lv = 'Īpašais statuss',
			mg = 'Sata manokana',
			mi = 'Te tūnga motuhake',
			mk = 'Посебен статус',
			ml = 'നിർദ്ദിഷ്ട പദവി',
			mn = 'Онцгой байдал',
			mr = 'विशिष्ट स्थिती',
			ms = 'Status tertentu',
			mt = 'Status speċifiku',
			mwl = 'Statuto specífico',
			my = 'သတ်သတ်မှတ်မှတ်အဆင့်အတန်း',
			nb = 'Spesifikk status',
			ne = 'विशिष्ट स्थिति',
			nl = 'Specifieke status',
			nn = 'Spesifikk status',
			no = 'Spesifikk status',
			ny = 'Udindo specific',
			pa = 'ਖਾਸ ਸਥਿਤੀ',
			pl = 'Konkretnych statusów',
			ps = 'ځانګړی حیثیت',
			pt = 'Estatuto específico',
			ro = 'Statute specifice',
			ru = 'Специальный статус',
			sd = 'مخصوص حيثيت',
			sh = 'Poseban status',
			si = 'විශේෂිත තත්ත්වය',
			sk = 'Špecifických stavov',
			sl = 'Poseben status',
			sm = 'Tulaga faapitoa',
			sn = 'Chaizvo chinzvimbo',
			so = 'Xaaladda gaarka ah',
			sq = 'Statuse specifike',
			sr = 'Посебан статус',
			['sr-latn'] = 'Poseban status',
			st = 'Boemo ba itseng',
			su = 'Status husus',
			sv = 'Specifik status',
			sw = 'Hali kwa maalum',
			ta = 'குறிப்பிட்ட நிலை',
			te = 'నిర్దిష్ట స్థితి',
			tg = 'Мақоми махсус',
			th = 'สถานะเฉพาะ',
			tl = 'Tiyak na kalagayan',
			tr = 'Özel durum',
			uk = 'Спеціальний статус',
			ur = 'مخصوص کی حیثیت',
			uz = "O'ziga xos holati",
			vi = 'Tình trạng cụ thể',
			xh = 'Isimo ethile',
			yi = 'ספּעציפיש סטאַטוס',
			yo = 'Kan pato ipo',
			['zh-hans'] = '特定状态',
			['zh-hant'] = '特定狀態',
			zu = 'Isimo ethize',
		},
		limited = {
			default = 'Limited recognition',
			af = 'Beperkte erkenning',
			am = 'የተገደበ እውቅና',
			ar = 'اعتراف محدود',
			az = 'Məhdud tanınma',
			be = 'Абмежаваную прызнанне',
			['be-tarask'] = 'Абмежаванае прызнаньне',
			bg = 'Ограничено признаване',
			bn = 'সীমিত স্বীকৃতি',
			bs = 'Ograničeno priznanje',
			ca = 'Reconeixement limitat',
			ceb = 'Limitado nga pagkilala',
			co = 'Recunerazione limitata',
			cs = 'Omezené uznání',
			cy = 'Cydnabyddiaeth gyfyngedig',
			da = 'Begrænset anerkendelse',
			de = 'Begrenzte Anerkennung',
			el = 'Περιορισμένη αναγνώριση',
			en = 'Limited recognition',
			eo = 'Limigita rekono',
			es = 'Reconocimiento limitado',
			et = 'Osaliselt tunnustatud',
			eu = 'Onarpen mugatua',
			fa = 'شناخت محدود',
			fi = 'Osittain tunnustettu',
			fr = 'Reconnaissance limitée',
			fy = 'Begrűde erkenning',
			ga = 'Aitheantas teoranta',
			gd = 'Aitheantas cuibhrichte',
			gl = 'Recoñecemento limitado',
			gu = 'મર્યાદિત માન્યતા',
			ha = 'Ƙididdigar iyaka',
			haw = 'Kaʻike kūpono',
			he = 'הכרה מוגבלת',
			hi = 'सीमित मान्यता',
			hmn = 'Tsuas paub ntau dua',
			hr = 'Ograničeno priznanje',
			ht = 'Rekonesans limite',
			hu = 'Korlátozott elismerés',
			hy = 'Սահմանափակ ճանաչում',
			id = 'Pengakuan terbatas',
			ig = 'Njirimara ole na ole',
			is = 'Takmarkaður viðurkenning',
			it = 'Entità a riconoscimento limitato',
			ja = '限定認識',
			jv = 'Pangenalan sing winates',
			ka = 'ნაწილობრივ აღიარება',
			kk = 'Шектеулі тану',
			km = 'ការទទួលស្គាល់មានកម្រិត។',
			kn = 'ಸೀಮಿತ ಮಾನ್ಯತೆ',
			ko = '제한된 인정',
			ku = 'Nasnameyê sînor e',
			ky = 'Чектелген деп таануу',
			la = 'Stricto agnitio',
			lb = 'Begrenzter Unerkennung',
			lo = 'ການຈໍາກັດການຈໍາກັດ',
			lt = 'Ribotas pripažinimas',
			lv = 'Ierobežota atzīšana',
			mg = 'Fankasitrahana voafetra',
			mi = 'Ko te mohiotanga iti',
			mk = 'Делумно признаени',
			ml = 'പരിമിതമായ അംഗീകാരം',
			mn = 'Хязгаарлагдмал хүлээн зөвшөөрөлт',
			mr = 'मर्यादित ओळख',
			ms = 'Pengiktirafan terhad',
			mt = 'Rikonoxximent limitat',
			mwl = 'Recoincimiento lhemitado',
			my = 'ကန့်သတ်အသိအမှတ်ပြုမှု',
			nb = 'Begrenset anerkjennelse',
			ne = 'सीमित पहिचान',
			nl = 'Beperkte erkenning',
			nn = 'Avgrensa anerkjenning',
			no = 'Begrenset anerkjennelse',
			pa = 'ਸੀਮਿਤ ਮਾਨਤਾ',
			pl = 'Ograniczone uznanie',
			ps = 'محدود پېژندل',
			pt = 'Reconhecimento limitado',
			ro = 'Recunoaștere limitată',
			ru = 'Частичное признание',
			sd = 'محدود تسليم',
			sh = 'Ograničeno priznanje',
			si = 'සීමිත පිළිගැනීමක්',
			sk = 'Obmedzené uznanie',
			sl = 'Omejeno priznanje',
			sm = 'Faʻatapulaʻaina le aloaia',
			sn = 'Kuchengetedzwa kwemadiki',
			so = 'Aqoonsi xadidan',
			sq = 'Njohja e kufizuar',
			sr = 'Ограничено признање',
			['sr-latn'] = 'Ograničeno priznanje',
			st = 'Ho amoheloa ka molao',
			su = 'Pangakuan kawates',
			sv = 'Begränsat erkännande',
			sw = 'Utambuzi mdogo',
			ta = 'வரையறுக்கப்பட்ட அங்கீகாரம்',
			te = 'లిమిటెడ్ గుర్తింపు',
			tg = 'Қабули маҳдуд',
			th = 'การรับรู้ที่ จำกัด',
			tl = 'Limitadong pagkilala',
			tr = 'Sınırlı tanınma',
			uk = 'Обмежене визнання',
			ur = 'محدود شناخت',
			uz = 'Cheklangan tan olinishi',
			vi = 'Nhận dạng hạn chế',
			xh = 'Ukuqaphela okukodwa',
			yi = 'לימיטעד דערקענונג',
			yo = 'Ilana ti a lopin',
			['zh-hans'] = '有限承认',
			['zh-hant'] = '有限承認',
			zu = 'Ukuqaphela okulinganiselwe',
		},
		partly = {
			default = 'partly located in Europe',
			ar = 'تقع جزئيا في أوروبا',
			['be-tarask'] = 'часткова знаходзяцца ў Эўропе',
			bn = 'আংশিকভাবে ইউরোপে অবস্থিত',
			ca = 'parcialment a Europa',
			cs = 'částečně v Evropě',
			de = 'teilweise in Europa',
			en = 'partly located in Europe',
			eo = 'parte en Eŭropo',
			es = 'parcialmente ubicado en Europa',
			eu = 'neurri batean Europan kokatua',
			fa = 'تا حدودی در اروپا قرار دارد',
			fi = 'sijainti vain osittain Euroopassa',
			fr = 'situé partiellement en Europe',
			he = 'הממוקם בחלקו באירופה',
			hu = 'részben európai',
			is = 'að hluta til í Evrópu',
			it = 'in parte situato in Europa',
			ja = '一部ヨーロッパにある',
			kk = 'ішінара Еуропада орналасқан',
			ko = '유럽에 부분적으로 위치',
			lv = 'daļēji atrodas Eiropā',
			mk = 'делумно во Европа',
			ml = 'ഭാഗികമായി യൂറോപ്പിൽ സ്ഥിതി ചെയ്യുന്നവ',
			nb = 'delvis i Europa',
			nl = 'deels gelegen in Europa',
			nn = 'delvis i Europa',
			no = 'delvis i Europa',
			pl = 'częściowo położone w Europie',
			pt = 'parcialmente localizado na Europa',
			ru = 'частично находится в Европе',
			sh = 'djelomično u Evropi',
			si = 'යුරෝපය තුළ අර්ධ වශයෙන් පිහිටා ඇත',
			sl = 'delno v Evropi',
			sr = 'делимично смештене у Европи',
			['sr-latn'] = 'delimično smeštene u Evropi',
			tr = 'kısmen Avrupa’da bulunan',
			uk = 'частково розташовані в Європі',
			['zh-hans'] = '部分位于欧洲',
			['zh-hant'] = '部分位於歐洲',
			zu = 'ingxenye eyatholakala eYurophu',
		},
	},
	pattern = {
		{	'<div lang="{lang}" dir="{dir}" class="catlinks navigation-not-searchable"' ..
			' style="clear:none;margin:2px 0;padding:2px;font-size:88%;line-height:normal">',
				'mainlist',
				'specificlist',
				'limitedlist',
		},
		{	'<em>{maintitle}{colon}</em>',
				{ 'maintitle','mainlist', },
		},
			'{mainlist}',
				{	'<br /> ',
				{ 'mainlist', 'specificlist', },
				{ 'mainlist', 'limitedlist', },
		},
		{	'<em>{specifictitle}{colon}</em>',
				{ 'specifictitle', 'specificlist', },
		},
			'{specificlist}',
		{	'&nbsp;– ',
				{ 'specificlist', 'limitedlist', },
		},
		{	'<em>{limitedtitle}{colon}</em>',
				{ 'limitedtitle', 'limitedlist', },
		},
			'{limitedlist}',
		{	'<br /> <small style="font-size:87%"><sup>‡</sup></small>{colon}<em>{partlytitle}</em>',
				'partlylist',
		},
		{
			'</div>',
				'mainlist',
				'specificlist',
				'limitedlist',
		},
	},
	lists = {
		-- List of countries in an order suitable for display in the specified language.
		main = {
			default       = 'automatic sorted',
			english       = 'automatic',
			automatic     = 'AL AD AM AT AZ BY BE BA BG HR CY CZ DK EE FI FR GE DE GR HU IS IE IT KZ LV LI LT LU MT MD MC ME NL MK NO PL PT RO RU SM RS SK SI ES SE CH TR UA GB VA',
			az            = 'AL DE AD AT AZ GB BE BY BG BA CZ DK AM EE FI FR GE IE IS ES SE CH IT KZ CY LU LV LT LI HU MK MT MD MC ME NL NO PL PT RO RU SM RS SK SI TR UA VA HR GR',
			['be-tarask'] = 'AZ AL AD AM AT BG BY BA BE VA HU GB ES GE GR DK IE IS IT KZ CY LV LT LI LU MK MD MT MC NO NL DE PT PL RU RO SM SK SI RS TR UA FI FR HR ME CZ CH SE EE',
			be            = 'AZ AL AD AM AT BG BY BE BA VA HU GB DE GE GR DK EE IE IS ES IT KZ CY LV LT LI LU MK MD MT MC NO NL PT PL RU RO SM RS SK SI TR UA FR FI HR ME CZ CH SE',
			bg            = 'AT AZ AL AD AM BY BE BA BG VA DE GE GR DK EE IE IS ES IT KZ CY LV LT LI LU MT MD MC NL NO GB PL PT RO RU SM MK SK SI RS TR UA HU FI FR HR ME CZ CH SE',
			br            = 'DE AL AD AT AM AZ BY BE BA FR BG DK EE FI GR HU IE IS IT NL GE KZ CY HR LV LI LT LU MK MT MD MC ME NO PL PT GB RO RU SM RS SK SI ES SE CH CZ TR UA VA',
			bs            = 'AL AD AT AZ BE BY BA BG ME CZ DK AM EE FI FR GR GE NL HR IE IS IT KZ CY LV LI LT LU HU MK MT MD MC DE NO PL PT RO RU SM SK SI ES RS CH SE TR GB UA VA',
			ca            = 'AL DE AD AM AT AZ BE BY BA BG HR DK SK SI ES EE FI FR GE GR HU IE IS IT KZ LV LI LT LU MK MT MD MC ME NO NL PL PT GB RO RU SM RS SE CH TR CZ UA VA CY',
			crh           = 'DE AD AL AT AZ BY BE BA BG GB CZ DK AM EE NL FI FR GE HR IE IS ES SE CH IT KZ KY LV PL LI LT LU HU MK MT MD MC ME NO PT RO RU SM RS SK SI TR UA VA GR',
			cs            = 'AL AD AM AZ BE BY BA BG ME CZ DK EE FI FR GE HR IE IS IT KZ CY LI LT LV LU HU MT MD MC DE NL NO PL PT AT GR RO RU SM MK SK SI GB RS ES SE CH TR UA VA',
			csb           = 'AL AD AM AT AZ BE BY BA BG HR CY ME CZ DK EE FI FR GR GE IE IS IT KZ LT LI LU LV MK HU MT DE MD MC NL NO PL PT RO RU SM RS SK SI ES CH SE TR UA VA GB',
			da            = 'AL AD AM AZ BE BA BG CY DK EE FI FR GE GR BY IE IS IT KZ HR LV LI LT LU MT MD MC ME NL MK NO AT PL PT RO RU SM CH RS SK SI ES GB SE CZ TR DE UA HU VA',
			de            = 'AL AD AM AZ BY BE BA BG DK DE EE FI FR GE GR IE IS IT KZ HR LV LI LT LU MT MD MC ME NL MK NO AT PL PT RO RU SM SE CH RS SK SI ES CZ TR UA HU VA GB CY',
			el            = 'AZ AL AD AM AT BE MK BA BG FR DE GE DK CH GR EE GB IE IS ES IT KZ HR CY LV BY LT LI LU MT ME MD MC NO NL HU UA VA PL PT RO RU SM RS SK SI SE TR CZ FI',
			en            = 'AL AD AM AT AZ BY BE BA BG HR CY CZ DK EE FI FR GE DE GR HU IS IE IT KZ LV LI LT LU MT MD MC ME NL MK NO PL PT RO RU SM RS SK SI ES SE CH TR UA GB VA',
			eo            = 'AL AD AM AZ AT BE BY BA BG CZ DK EE FI FR DE GR ES HU IE IS IT KZ GE CY HR LV LI LT LU MT MD MC ME NL MK NO PL PT RO RU SM RS SK SI SE CH TR UA GB VA',
			es            = 'AL DE AD AM AT AZ BE BY BA BG CZ CY HR DK SK SI ES EE FI FR GE GR HU IE IS IT KZ LV LI LT LU MK MT MD MC ME NO NL PL PT GB RO RU SM RS SE CH TR UA VA',
			et            = 'AL AD AM AZ AT BE BA BG EE GE ES NL HR IE IS IT KZ GR CY LT LI LU LV MT MD MC ME NO MK PL PT FR SE RO DE SM RS SK SI FI GB CH DK CZ TR UA HU BY VA RU',
			eu            = 'AL DE AD AM AT AZ BE BY BA BG DK GB RO RU SK SI ES EE FI FR GE GR NL HU MK IE IS IT KZ HR LV LI LT LU MT MD MC ME NO PL PT SM RS SE CH TR CZ UA VA CY',
			fi            = 'NL AL AD AM AZ BE BA BG ES GE IE IS IT KZ AT GR HR CY LV LI LT LU MT MD MC ME NO MK PT PL FR RO SE DE SM RS SK SI FI CH DK CZ TR UA HU BY VA RU EE GB',
			fr            = 'AL DE AD AM AT AZ BE BY BA BG HR CY DK ES EE FI FR GE GR HU IE IS IT KZ LV LI LT LU MK MT MD MC ME NO NL PL PT RO GB RU SM RS SK SI SE CH CZ TR UA VA',
			ga            = 'AM AL AD AZ BY BE BA BG CY HR DK EE CH IE FI FR DE GR IT KZ NO IS NL LV LI LT LU MK MT MD MC ME AT PL PT GB RO RU SM CZ ES RS GE SI SK SE TR UA HU VA',
			gl            = 'AL DE AD AM AT AZ BE BY BA BG CZ CY HR DK SK SI ES EE FI FR GE GR HU IE IS IT KZ LV LI LT LU MK MT MD MC ME NO NL PL PT GB RO RU SM RS SE CH TR UA VA',
			he            = 'AT UA AZ IT IS IE AL AD EE AM BG BA BY BE GE DE DK NL HU GB TR GR LU LV LT LI MC ME MT MK NO SI SK SM ES RS PL PT FI FR KZ CZ CY HR VA RO RU MD SE CH',
			hr            = 'AL AD AM AT AZ BE BY BA BG CY ME CZ DK EE FI FR GE GR HR IE IS IT KZ LV LI LT LU HU MT MD MC NL DE NO PL PT RO RU SM MK SK SI ES RS SE CH TR GB UA VA',
			hsb           = 'AL AD AM AT AZ BE BY BG BA CZ HR ME CY DK EE FI FR GE GR IE IS IT KZ LV LI LT LU HU MT MD MC DE NL NO PL PT RO RU SM RS MK SK SI ES SE CH TR UA VA GB',
			hu            = 'AL AD AT AZ BE BA BG CY CZ DK GB MK EE BY FI FR GR GE NL HR IE IS KZ PL LV LI LT LU HU MT MD MC ME DE NO IT RU AM PT RO SM ES CH SE RS SK SI TR UA VA',
			hy            = 'AZ AL AD AT BY BE BA BG DE DK EE TR IE IS ES IT LV PL LI LT LU KZ HR CY AM GR HU MT MK GB MD MC ME NL NO SE CH UA CZ PT RO RU SM RS SK SI VA GE FI FR',
			is            = 'AL AD AM AZ AT BE BA GB BG DK EE FI FR GE GR NL BY IE IS IT KZ HR CY LV LI LT LU MT MD MC MK NO PT PL RO RU SM RS SK SI ES ME CH SE CZ TR HU UA VA DE',
			it            = 'AL AD AM AT AZ BE BY BA BG CY HR DK EE FI FR GE DE GR IE IS IT KZ LV LI LT LU MK MT MD MC ME NO NL PL PT GB CZ RO RU SM RS SK SI ES SE CH TR UA HU VA',
			ka            = 'AT AZ AL AD BY BE BA BG GB DE DK ES EE VA TR IE IS IT KZ CY LV LT LI LU MK MT MD MC ME NL NO PL PT RO RU GR SM FR GE RS SK SI AM UA HU FI SE CH CZ HR',
			lt            = 'IE AL AD AM AT AZ BY BE BA BG CZ DK EE GR GE IS ES IT GB ME KZ CY HR LV PL LI LT LU MT MD MC NO NL PT FR RO RU SM RS SK SI FI MK SE CH TR UA VA HU DE',
			lv            = 'AL AD GB AM AT AZ BY BE BA BG CZ DK FR GR GE HR EE IT IE IS KZ CY RU LV LT LI LU MT ME MD MC NL NO PL PT RO SM RS SK SI FI ES CH TR UA HU DE VA MK SE',
			mk            = 'AT AZ AL AD BE BY BA BG VA DE GE GR DK AM EE IE IS IT KZ CY LV LT LI LU MK MT MD MC NO GB PL PT RO RU SM SK SI RS TR UA HU FI FR NL HR ME CZ CH SE ES',
			mt            = 'AL AD AM AT AZ BE BY BA BG CZ CY DK EE FI FR GE DE GR IT IE IS KZ HR LV LI LT LU MK MT MD MC ME NO NL PL PT GB RO RU SM RS SK SI ES TR UA HU VA SE CH',
			nb            = 'AL AD AM AZ BY BE BA BG DK EE FI FR GE GR IE IS IT KZ HR CY LV LI LT LU MT MD MC ME NL MK NO PL PT RO RU SM RS SK SI ES GB CH SE CZ TR DE UA HU VA AT',
			nl            = 'AL AD AM AZ BE BA BG CY DK DE EE FI FR GE GR HU IE IS IT KZ HR LV LI LT LU MT MD MC ME NL MK NO UA AT PL PT RO RU SM RS SI SK ES CZ TR VA GB BY SE CH',
			nn            = 'AL AD AM AT AZ BY BE BA BG DK EE FI FR GE GR IE IS IT KZ HR CY LV LI LT LU MT MD MC ME NL MK NO PL PT RO RU SM RS SK SI ES GB CH SE CZ TR DE UA HU VA',
			no            = 'AL AD AM AZ BY BE BA BG DK EE FI FR GE GR IE IS IT KZ HR CY LV LI LT LU MT MD MC ME NL MK NO PL PT RO RU SM RS SK SI ES GB CH SE CZ TR DE UA HU VA AT',
			pl            = 'AL AD AM AT AZ BE BY BA BG HR CY ME CZ DK EE FI FR GR GE ES NL IE IS KZ LI LT LU LV MK MT MD MC DE NO PL PT RU RO SM RS SK SI CH SE TR UA VA HU GB IT',
			pt            = 'AL DE AD AM AT AZ BE BY BA BG CZ CY HR DK SK SI ES EE FI FR GE GR HU IE IS IT KZ LV LI LT LU MK MT MD MC ME NO NL PL PT GB RO RU SM RS SE CH TR UA VA',
			ro            = 'AL AD AM AT AZ BE BY BA BG CZ CY HR DK CH EE FI FR GE DE GR IE IS IT KZ LV LI LT LU MK MT MD MC ME NO NL PL PT GB RO RU SM RS SK SI ES SE TR UA HU VA',
			ru            = 'AT AZ AL AD AM BY BE BG BA VA GB HU DE GR GE DK IE IS ES IT KZ CY LV LT LI LU MT MD MC NL NO PL PT RU RO SM RS MK SK SI TR UA FI FR HR ME CZ CH SE EE',
			sh            = 'AL AD AM AT AZ BE BY BA BG ME CZ DK EE FI FR GE GR HR IE IS IT KZ CY LV LI LT LU HU MT MD MC NL DE NO PL PT RO RU SM MK SK SI RS ES SE CH TR GB UA VA',
			sk            = 'AL AD AM AZ BE BY BA BG CY CZ HR ME DK EE FI FR GR GE NL IE IS KZ LI LT LV LU HU MT MD MC DE NO PL PT AT RO RU SM MK SK SI GB RS ES CH SE IT TR UA VA',
			sl            = 'AL AD AM AT AZ BE BY BG BA CZ CY ME DK EE FI FR GE GR HR IE IS IT KZ LV LI LT LU HU MT MD MC DE NL NO PL PT RO RU SM MK SK SI ES RS SE CH TR UA VA GB',
			sq            = 'AD AM AT AZ BE BY BA GB BG CZ DK EE FI FR GE DE GR NL HU IE IS IT KZ HR LV LI LT LU ME MT MK MD MC NO PL PT CY RO RU SM RS AL SK SI ES SE TR UA VA CH',
			sr            = 'AZ AL AD AT BE BY BA BG VA GE GR DK EE IE IS IT KZ AM CY LV LT LI LU HU MK MT MD MC DE NO PL PT RO RU SM SK SI RS TR GB UA FI FR NL HR ME CZ CH SE ES',
			['sr-ec']     = 'AZ AL AD AT BE BY BA BG VA GE GR DK EE IE IS IT KZ AM CY LV LT LI LU HU MK MT MD MC DE NO PL PT RO RU SM SK SI RS TR GB UA FI FR NL HR ME CZ CH SE ES',
			['sr-cyrl']   = 'AZ AL AD AT BE BY BA BG VA GE GR DK EE IE IS IT KZ AM CY LV LT LI LU HU MK MT MD MC DE NO PL PT RO RU SM SK SI RS TR GB UA FI FR NL HR ME CZ CH SE ES',
			['sr-el']     = 'AZ AL AD AT BE BY BA BG CZ ME DK ES EE FI FR GR GE NL HR IE IS IT KZ AM CY LV LT LI LU HU MK MT MD MC DE NO PL PT RO RU SM SK SI RS CH SE TR GB UA VA',
			['sr-latn']   = 'AZ AL AD AT BE BY BA BG CZ ME DK ES EE FI FR GR GE NL HR IE IS IT KZ AM CY LV LT LI LU HU MK MT MD MC DE NO PL PT RO RU SM SK SI RS CH SE TR GB UA VA',
			sv            = 'AL AD AM AZ BE BA BG CY DK EE FI FR GE GR IE IS IT KZ HR LV LI LT LU MT MD MC ME NL MK NO PL PT RO RU SM CH RS SK SI ES GB SE CZ TR DE UA HU VA BY AT',
			tr            = 'DE AD AL AT AZ BE BY GB BA BG CZ DK AM EE FI FR GE HR NL IE ES SE CH IT IS KZ CY ME LU LV LI LT HU MK MT MD MC NO PL PT RO RU RS SM SK SI TR UA VA GR',
			uk            = 'AT AZ AL AD BE BY BG BA VA GB AM GR GE DK EE IE IS ES IT KZ CY LV LT LI LU MT MD MC NL DE NO MK PL PT RU RO SM RS SK SI TR HU UA FI FR HR CZ ME CH SE',
			['zh-hans']   = 'AL AZ IE EE AD AT BY BG MK BE IS PL BA DK DE RU FR VA FI GE KZ NL ME CZ HR LV LT LI LU RO MT MD MC NO PT SE CH RS CY SM SK SI TR UA ES GR HU AM IT GB',
			['zh-hant']   = 'AL IE EE AD AT BY BG MK BE IS PL BA DK DE RU FR VA FI KZ NL CZ HR LV LT LI LU RO MT ME MD MC NO PT GE SE CH RS CY SM SK SI TR UA ES GR HU AM AZ IT GB',
			['zh-hk']     = 'AL AZ IE EE AD AT BY BG MK BE IS PL BA DK DE RU FR VA FI GE KZ NL ME CZ HR LV LT LI LU RO MT MD MC NO PT SE CH RS CY SM SK SI TR UA ES GR HU AM IT GB',
		},
		uknations = {
			default       = 'automatic sorted',
			english       = 'automatic',
			automatic     = 'GBXEN GBXNI GBXSC GBXWL',
			bn            = 'GBXEN GBXNI GBXWL GBXSC',
			en            = 'GBXEN GBXNI GBXSC GBXWL',
		},
		specific = {
			default       = 'automatic sorted',
			english       = 'automatic',
			automatic     = 'GBXSB FO GI GG IM JE SV',
			az            = 'GBXSB FO JE GG GI IM SV',
			['be-tarask'] = 'GBXSB FO GG GI JE IM SV',
			be            = 'GBXSB FO GG JE IM GI SV',
			bg            = 'GBXSB FO GG JE IM GI SV',
			bn            = 'IM GBXSB GG JE GI FO SV',
			br            = 'GBXSB FO GI GG JE IM SV',
			bs            = 'GBXSB FO GI GG JE IM SV',
			ca            = 'GBXSB FO GI GG JE IM SV',
			cs            = 'GBXSB FO GI GG JE IM SV',
			crh           = 'GBXSB FO JE GG GI IM SV',
			da            = 'GBXSB FO GI GG IM JE SV',
			de            = 'GBXSB FO GI GG JE IM SV',
			el            = 'GBXSB FO GI GG IM JE SV',
			en            = 'GBXSB FO GI GG IM JE SV',
			eo            = 'GBXSB FO GG JE GI IM SV',
			es            = 'GBXSB FO GI GG JE IM SV',
			et            = 'GBXSB FO GI GG JE IM SV',
			eu            = 'GBXSB FO GI GG JE IM SV',
			fi            = 'GBXSB FO GI GG JE IM SV',
			fr            = 'GBXSB GI GG JE IM FO SV',
			ga            = 'GBXSB FO GG JE GI IM SV',
			gl            = 'GBXSB FO GI GG JE IM SV',
			he            = 'GBXSB FO GG JE GI IM SV',
			hr            = 'GBXSB FO GI GG JE IM SV',
			hsb           = 'GBXSB FO GI GG JE IM SV',
			hu            = 'GBXSB FO GI GG JE IM SV',
			hy            = 'GBXSB FO GI GG IM JE SV',
			is            = 'GBXSB FO GI GG JE IM SV',
			it            = 'GBXSB FO GI GG JE IM SV',
			ka            = 'GBXSB FO GI GG IM JE SV',
			lt            = 'GBXSB FO JE GI GG IM SV',
			lv            = 'GBXSB FO JE GI GG IM SV',
			mk            = 'GBXSB FO GG GI IM JE SV',
			mt            = 'GBXSB FO GI GG JE IM SV',
			nb            = 'GBXSB FO GI GG JE IM SV',
			nl            = 'GBXSB FO GI GG JE IM SV',
			nn            = 'GBXSB FO GI GG JE IM SV',
			no            = 'GBXSB FO GI GG JE IM SV',
			pl            = 'GBXSB FO GG GI JE SV IM',
			pt            = 'GBXSB FO GI GG JE IM SV',
			ro            = 'GBXSB FO GI GG JE IM SV',
			ru            = 'GBXSB GG GI JE IM FO SV',
			sk            = 'GBXSB FO GI GG JE IM SV',
			sl            = 'GBXSB FO GI GG JE IM SV',
			sq            = 'GBXSB FO GI GG JE IM SV',
			sr            = 'GBXSB FO JE GG GI IM SV',
			['sr-ec']     = 'GBXSB FO JE GG GI IM SV',
			['sr-cyrl']   = 'GBXSB FO JE GG GI IM SV',
			['sr-el']     = 'GBXSB FO JE GG GI IM SV',
			['sr-latn']   = 'GBXSB FO JE GG GI IM SV',
			sv            = 'GBXSB FO GI GG IM JE SV',
			tr            = 'GBXSB FO GI GG JE IM SV',
			uk            = 'GBXSB FO GI GG JE IM SV',
			['zh-hans']   = 'GBXSB FO GG IM JE GI SV',
			['zh-hant']   = 'FO GG IM GBXSB JE GI SV',
			['zh-hk']     = 'GBXSB FO GG IM JE GI SV',
		},
		limited = {
			default       = 'automatic sorted',
			english       = 'automatic',
			automatic     = 'GEAB MDGA RSKM GEXSO MDSN CYXNO CYXUN',
			['be-tarask'] = 'GEAB MDGA RSKM GEXSO CYXNO MDSN CYXUN',
			en            = 'GEAB MDGA RSKM GEXSO MDSN CYXNO CYXUN',
			fr            = 'GEAB CYXNO MDGA RSKM GEXSO MDSN CYXUN',
			tr            = 'GEAB MDGA GEXSO RSKM CYXNO MDSN CYXUN',
			mk            = 'GEAB MDGA GEXSO MDSN RSKM CYXNO CYXUN',
			ru            = 'GEAB MDGA CYXUN RSKM MDSN CYXNO GEXSO',
			['zh-hans']   = 'GEAB CYXNO MDSN MDGA RSKM GEXSO CYXUN',
			['zh-hant']   = 'GEAB CYXNO MDGA RSKM GEXSO MDSN CYXUN',
			['zh-hk']     = 'GEAB CYXNO MDSN MDGA RSKM GEXSO CYXUN',
		},
		partly = {
			-- Not rendered as a list, conditionally rendered as a note (marked by '‡') after each country (see pattern).
			-- So no need to sort the list for each language, just ordered by code here
			default       = 'automatic',
			automatic     = 'AZ CY CYXNO CYXUN ES GBXSB GE GEAB GEXSO KZ RU TR',
		},
	},
	countries = {
		-- Most codes are from ISO 3166-1, possibly extended (without separator) by ISO3166-2
		-- The codes CYXNO, CYXUN, GBXSB, GEXSO are private local extensions.
		AD    = { 'Andorra',                               qid = 'Q228', },
		AL    = { 'Albania',                               qid = 'Q222', },
		AM    = { 'Armenia',                               qid = 'Q399', mark = '‡', },
		AT    = { 'Austria',                               qid = 'Q40', },
		AZ    = { 'Azerbaijan',                            qid = 'Q227', mark = '‡', },
		BA    = { 'Bosnia and Herzegovina',                qid = 'Q225', },
		BE    = { 'Belgium',                               qid = 'Q31', },
		BG    = { 'Bulgaria',                              qid = 'Q219', },
		BY    = { 'Belarus',                               qid = 'Q184', },
		CH    = { 'Switzerland',                           qid = 'Q39', },
		CY    = { 'Cyprus',                                qid = 'Q229', mark = '‡', },
		CYXNO = { 'Northern Cyprus',                       qid = 'Q23681', mark = '‡', },
		CYXUN = { 'UN Buffer Zone in Cyprus',
		          'United Nations Buffer Zone in Cyprus',  qid = 'Q116970', mark = '‡', the = true, fop = 'United Nations Buffer Zone in Cyprus', },
		CZ    = { 'Czech Republic',
		          'Czechia',
		          'Česko',                                 qid = 'Q213', the = true, fop = 'Czech Republic', },
		DE    = { 'Germany',
		          'Federal Republic of Germany',           qid = 'Q183', fop = 'Germany', },
		DK    = { 'Denmark',                               qid = 'Q35', },
		EE    = { 'Estonia',                               qid = 'Q191', },
		ES    = { 'Spain',                                 qid = 'Q29', mark = '‡', },
		FI    = { 'Finland',                               qid = 'Q33', },
		FO    = { 'Faroe Islands',                         qid = 'Q4628', the = true, },
		FR    = { 'France',                                qid = 'Q142', mark = '‡', },
		GB    = { 'United Kingdom',                        qid = 'Q145', the = true, },
		GBXEN = { 'England',                               qid = 'Q21', },
		GBXNI = { 'Northern Ireland',                      qid = 'Q26', },
		GBXSB = { 'Akrotiri and Dhekelia',                 qid = 'Q37362', mark = '‡', },
		GBXSC = { 'Scotland',                              qid = 'Q22', },
		GBXWL = { 'Wales',                                 qid = 'Q25', },
		GE    = { 'Georgia (country)',
		          'Georgia',
		          'საქართველო',                             qid = 'Q230', mark = '‡', fop = 'Georgia', },
		GEAB  = { 'Abkhazia',                              qid = 'Q23334', mark = '‡', },
		GEXSO = { 'South Ossetia',                         qid = 'Q23427', mark = '‡', },
		GG    = { 'Bailiwick of Guernsey',
			      'Guernsey',                              qid = 'Q25230', the = true, fop = 'Bailiwick of Guernsey', },
		GI    = { 'Gibraltar',                             qid = 'Q1410', },
		GR    = { 'Greece',                                qid = 'Q41', },
		HR    = { 'Croatia',                               qid = 'Q224', },
		HU    = { 'Hungary',                               qid = 'Q28', },
		IE    = { 'Republic of Ireland',
		          'Ireland',
		          'Ireland - Éire',                        qid = 'Q27', the = true, fop ='Ireland', },
		IM    = { 'Isle of Man',                           qid = 'Q9676', the = true, },
		IS    = { 'Iceland',                               qid = 'Q189', },
		IT    = { 'Italy',                                 qid = 'Q38', },
		JE    = { 'Jersey',
			      'Bailiwick of Jersey',                   qid = 'Q785', the = true, fop ='Jersey', },
		KZ    = { 'Kazakhstan',                            qid = 'Q232', mark = '‡', },
		LI    = { 'Liechtenstein',                         qid = 'Q347', },
		LT    = { 'Lithuania',                             qid = 'Q37', },
		LU    = { 'Luxembourg',
		          'Grand Duchy of Luxembourg',             qid = 'Q32', fop = 'Luxembourg', },
		LV    = { 'Latvia',                                qid = 'Q211', },
		MC    = { 'Monaco',                                qid = 'Q235', },
		MD    = { 'Moldova',                               qid = 'Q217', },
		MDGA  = { 'Gagauzia',                              qid = 'Q164819', fop = 'EXCLUDE', },
		MDSN  = { 'Transnistria',                          qid = 'Q907112', },
		ME    = { 'Montenegro',                            qid = 'Q236', },
		MK    = { 'North Macedonia',
		          'Republic of Macedonia',
		          'Former Yugoslav Republic of Macedonia', qid = 'Q221', },
		MT    = { 'Malta',                                 qid = 'Q233', },
		NL    = { 'Netherlands',                           qid = 'Q55', the = true, mark = '‡', },
		NO    = { 'Norway',                                qid = 'Q20', },
		PL    = { 'Poland',                                qid = 'Q36', },
		PT    = { 'Portugal',                              qid = 'Q45', mark = '‡', },
		RO    = { 'Romania',                               qid = 'Q218', },
		RS    = { 'Serbia',                                qid = 'Q403', },
		RSKM  = { 'Kosovo',                                qid = 'Q1246', },
		RU    = { 'Russia',                                qid = 'Q159', mark = '‡', },
		SE    = { 'Sweden',                                qid = 'Q34', },
		SI    = { 'Slovenia',                              qid = 'Q215', },
		SK    = { 'Slovakia',                              qid = 'Q214', },
		SM    = { 'San Marino',                            qid = 'Q238', },
		SV    = { 'Svalbard',							   qid = 'Q25231', },
		TR    = { 'Turkey',
		          'Turkiye',
		          'Türkiye',                               qid = 'Q43', mark = '‡', },
		UA    = { 'Ukraine',                               qid = 'Q212', },
		VA    = { 'Vatican City',
		          'Vatican City State',
		          'Holy See',                              qid = 'Q237', the = true, fop = 'Vatican City', },
	},
}