Skip to content

Commit a0e1c50

Browse files
committed
Add ISO 3166-1 user-assigned code elements
ISO 3166-1 reserves certain alpha-2 codes for user assignment: - AA - QM to QZ - XA to XZ - ZZ These codes are part of the ISO 3166-1 standard and are reserved for users who need to add further code elements for their own purposes. They will never be assigned to actual country names by ISO. Common uses include: - XX: Unknown or Unspecified Country - XY: Anonymous Country (for privacy) - XK: Kosovo (used by European Commission) - ZZ: Unknown or International Reference: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#User-assigned_code_elements
1 parent c1272aa commit a0e1c50

1 file changed

Lines changed: 46 additions & 0 deletions

File tree

server/tx/tx_countrycode.pas

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -440,6 +440,52 @@ procedure TCountryCodeServices.load;
440440
doLoad('ZM', 'Zambia');
441441
doLoad('ZW', 'Zimbabwe');
442442

443+
// ISO 3166-1 User-assigned code elements
444+
// These codes are reserved for user assignment and will never be used for country names
445+
// See: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#User-assigned_code_elements
446+
doLoad('AA', 'User-assigned');
447+
doLoad('QM', 'User-assigned');
448+
doLoad('QN', 'User-assigned');
449+
doLoad('QO', 'User-assigned');
450+
doLoad('QP', 'User-assigned');
451+
doLoad('QQ', 'User-assigned');
452+
doLoad('QR', 'User-assigned');
453+
doLoad('QS', 'User-assigned');
454+
doLoad('QT', 'User-assigned');
455+
doLoad('QU', 'User-assigned');
456+
doLoad('QV', 'User-assigned');
457+
doLoad('QW', 'User-assigned');
458+
doLoad('QX', 'User-assigned');
459+
doLoad('QY', 'User-assigned');
460+
doLoad('QZ', 'User-assigned');
461+
doLoad('XA', 'User-assigned');
462+
doLoad('XB', 'User-assigned');
463+
doLoad('XC', 'User-assigned');
464+
doLoad('XD', 'User-assigned');
465+
doLoad('XE', 'User-assigned');
466+
doLoad('XF', 'User-assigned');
467+
doLoad('XG', 'User-assigned');
468+
doLoad('XH', 'User-assigned');
469+
doLoad('XI', 'User-assigned');
470+
doLoad('XJ', 'User-assigned');
471+
doLoad('XK', 'User-assigned'); // Note: XK is also used for Kosovo by the European Commission
472+
doLoad('XL', 'User-assigned');
473+
doLoad('XM', 'User-assigned');
474+
doLoad('XN', 'User-assigned');
475+
doLoad('XO', 'User-assigned');
476+
doLoad('XP', 'User-assigned');
477+
doLoad('XQ', 'User-assigned');
478+
doLoad('XR', 'User-assigned');
479+
doLoad('XS', 'User-assigned');
480+
doLoad('XT', 'User-assigned');
481+
doLoad('XU', 'User-assigned');
482+
doLoad('XV', 'User-assigned');
483+
doLoad('XW', 'User-assigned');
484+
doLoad('XX', 'User-assigned'); // Commonly used for "Unknown" or "Unspecified"
485+
doLoad('XY', 'User-assigned'); // Commonly used for "Anonymous" (privacy)
486+
doLoad('XZ', 'User-assigned');
487+
doLoad('ZZ', 'User-assigned'); // Commonly used for "Unknown" or "International"
488+
443489
doLoad('ABW', 'Aruba');
444490
doLoad('AFG', 'Afghanistan');
445491
doLoad('AGO', 'Angola');

0 commit comments

Comments
 (0)