/** CLDR-sourced locale database for the Locale Explorer tool and locale selectors. */

import type { LocaleData } from "./types";

export const LOCALE_DATABASE: readonly LocaleData[] = [
  // English
  {
    code: "en",
    language: "en",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "English",
    englishName: "English",
    pluralCategories: ["one", "other"],
    speakerPopulation: 1500000000,
  },
  {
    code: "en-US",
    language: "en",
    region: "US",
    script: "Latn",
    direction: "ltr",
    nativeName: "English (United States)",
    englishName: "English (United States)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 310000000,
  },
  {
    code: "en-GB",
    language: "en",
    region: "GB",
    script: "Latn",
    direction: "ltr",
    nativeName: "English (United Kingdom)",
    englishName: "English (United Kingdom)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 67000000,
  },

  // German
  {
    code: "de",
    language: "de",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Deutsch",
    englishName: "German",
    pluralCategories: ["one", "other"],
    speakerPopulation: 130000000,
  },
  {
    code: "de-DE",
    language: "de",
    region: "DE",
    script: "Latn",
    direction: "ltr",
    nativeName: "Deutsch (Deutschland)",
    englishName: "German (Germany)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 83000000,
  },

  // French
  {
    code: "fr",
    language: "fr",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Français",
    englishName: "French",
    pluralCategories: ["one", "many", "other"],
    speakerPopulation: 280000000,
  },

  // Spanish
  {
    code: "es",
    language: "es",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Español",
    englishName: "Spanish",
    pluralCategories: ["one", "many", "other"],
    speakerPopulation: 560000000,
  },

  // Japanese
  {
    code: "ja",
    language: "ja",
    region: null,
    script: "Jpan",
    direction: "ltr",
    nativeName: "日本語",
    englishName: "Japanese",
    pluralCategories: ["other"],
    speakerPopulation: 125000000,
  },
  {
    code: "ja-JP",
    language: "ja",
    region: "JP",
    script: "Jpan",
    direction: "ltr",
    nativeName: "日本語（日本）",
    englishName: "Japanese (Japan)",
    pluralCategories: ["other"],
    speakerPopulation: 125000000,
  },

  // Korean
  {
    code: "ko",
    language: "ko",
    region: null,
    script: "Kore",
    direction: "ltr",
    nativeName: "한국어",
    englishName: "Korean",
    pluralCategories: ["other"],
    speakerPopulation: 80000000,
  },

  // Chinese (Simplified)
  {
    code: "zh",
    language: "zh",
    region: null,
    script: "Hans",
    direction: "ltr",
    nativeName: "中文",
    englishName: "Chinese",
    pluralCategories: ["other"],
    speakerPopulation: 1300000000,
  },
  {
    code: "zh-CN",
    language: "zh",
    region: "CN",
    script: "Hans",
    direction: "ltr",
    nativeName: "中文（中国）",
    englishName: "Chinese (China)",
    pluralCategories: ["other"],
    speakerPopulation: 1000000000,
  },

  // Chinese (Traditional)
  {
    code: "zh-TW",
    language: "zh",
    region: "TW",
    script: "Hant",
    direction: "ltr",
    nativeName: "中文（台灣）",
    englishName: "Chinese (Taiwan)",
    pluralCategories: ["other"],
    speakerPopulation: 23000000,
  },

  // Arabic
  {
    code: "ar",
    language: "ar",
    region: null,
    script: "Arab",
    direction: "rtl",
    nativeName: "العربية",
    englishName: "Arabic",
    pluralCategories: ["zero", "one", "two", "few", "many", "other"],
    speakerPopulation: 420000000,
  },
  {
    code: "ar-SA",
    language: "ar",
    region: "SA",
    script: "Arab",
    direction: "rtl",
    nativeName: "العربية (المملكة العربية السعودية)",
    englishName: "Arabic (Saudi Arabia)",
    pluralCategories: ["zero", "one", "two", "few", "many", "other"],
    speakerPopulation: 35000000,
  },

  // Hindi
  {
    code: "hi",
    language: "hi",
    region: null,
    script: "Deva",
    direction: "ltr",
    nativeName: "हिन्दी",
    englishName: "Hindi",
    pluralCategories: ["one", "other"],
    speakerPopulation: 600000000,
  },

  // Portuguese
  {
    code: "pt",
    language: "pt",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Português",
    englishName: "Portuguese",
    pluralCategories: ["one", "many", "other"],
    speakerPopulation: 260000000,
  },
  {
    code: "pt-BR",
    language: "pt",
    region: "BR",
    script: "Latn",
    direction: "ltr",
    nativeName: "Português (Brasil)",
    englishName: "Portuguese (Brazil)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 215000000,
  },

  // Russian
  {
    code: "ru",
    language: "ru",
    region: null,
    script: "Cyrl",
    direction: "ltr",
    nativeName: "Русский",
    englishName: "Russian",
    pluralCategories: ["one", "few", "many", "other"],
    speakerPopulation: 260000000,
  },

  // Turkish
  {
    code: "tr",
    language: "tr",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Türkçe",
    englishName: "Turkish",
    pluralCategories: ["one", "other"],
    speakerPopulation: 90000000,
  },

  // Italian
  {
    code: "it",
    language: "it",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Italiano",
    englishName: "Italian",
    pluralCategories: ["one", "many", "other"],
    speakerPopulation: 85000000,
  },

  // Dutch
  {
    code: "nl",
    language: "nl",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Nederlands",
    englishName: "Dutch",
    pluralCategories: ["one", "other"],
    speakerPopulation: 30000000,
  },

  // Polish
  {
    code: "pl",
    language: "pl",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Polski",
    englishName: "Polish",
    pluralCategories: ["one", "few", "many", "other"],
    speakerPopulation: 50000000,
  },

  // Swedish
  {
    code: "sv",
    language: "sv",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Svenska",
    englishName: "Swedish",
    pluralCategories: ["one", "other"],
    speakerPopulation: 13000000,
  },

  // Thai
  {
    code: "th",
    language: "th",
    region: null,
    script: "Thai",
    direction: "ltr",
    nativeName: "ภาษาไทย",
    englishName: "Thai",
    pluralCategories: ["other"],
    speakerPopulation: 60000000,
  },

  // Vietnamese
  {
    code: "vi",
    language: "vi",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Tiếng Việt",
    englishName: "Vietnamese",
    pluralCategories: ["other"],
    speakerPopulation: 97000000,
  },

  // Indonesian
  {
    code: "id",
    language: "id",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Bahasa Indonesia",
    englishName: "Indonesian",
    pluralCategories: ["other"],
    speakerPopulation: 270000000,
  },

  // Ukrainian
  {
    code: "uk",
    language: "uk",
    region: null,
    script: "Cyrl",
    direction: "ltr",
    nativeName: "Українська",
    englishName: "Ukrainian",
    pluralCategories: ["one", "few", "many", "other"],
    speakerPopulation: 40000000,
  },

  // Hebrew
  {
    code: "he",
    language: "he",
    region: null,
    script: "Hebr",
    direction: "rtl",
    nativeName: "עברית",
    englishName: "Hebrew",
    pluralCategories: ["one", "two", "many", "other"],
    speakerPopulation: 10000000,
  },

  // Persian (Farsi)
  {
    code: "fa",
    language: "fa",
    region: null,
    script: "Arab",
    direction: "rtl",
    nativeName: "فارسی",
    englishName: "Persian",
    pluralCategories: ["one", "other"],
    speakerPopulation: 110000000,
  },

  // English regional variants
  {
    code: "en-AU",
    language: "en",
    region: "AU",
    script: "Latn",
    direction: "ltr",
    nativeName: "English (Australia)",
    englishName: "English (Australia)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 26000000,
  },
  {
    code: "en-CA",
    language: "en",
    region: "CA",
    script: "Latn",
    direction: "ltr",
    nativeName: "English (Canada)",
    englishName: "English (Canada)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 30000000,
  },
  {
    code: "en-IN",
    language: "en",
    region: "IN",
    script: "Latn",
    direction: "ltr",
    nativeName: "English (India)",
    englishName: "English (India)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 130000000,
  },
  {
    code: "en-IE",
    language: "en",
    region: "IE",
    script: "Latn",
    direction: "ltr",
    nativeName: "English (Ireland)",
    englishName: "English (Ireland)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 5000000,
  },
  {
    code: "en-NZ",
    language: "en",
    region: "NZ",
    script: "Latn",
    direction: "ltr",
    nativeName: "English (New Zealand)",
    englishName: "English (New Zealand)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 5000000,
  },
  {
    code: "en-ZA",
    language: "en",
    region: "ZA",
    script: "Latn",
    direction: "ltr",
    nativeName: "English (South Africa)",
    englishName: "English (South Africa)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 5000000,
  },
  {
    code: "en-SG",
    language: "en",
    region: "SG",
    script: "Latn",
    direction: "ltr",
    nativeName: "English (Singapore)",
    englishName: "English (Singapore)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 4000000,
  },
  {
    code: "en-HK",
    language: "en",
    region: "HK",
    script: "Latn",
    direction: "ltr",
    nativeName: "English (Hong Kong)",
    englishName: "English (Hong Kong)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 2000000,
  },
  {
    code: "en-PH",
    language: "en",
    region: "PH",
    script: "Latn",
    direction: "ltr",
    nativeName: "English (Philippines)",
    englishName: "English (Philippines)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 90000000,
  },

  // French regional variants
  {
    code: "fr-FR",
    language: "fr",
    region: "FR",
    script: "Latn",
    direction: "ltr",
    nativeName: "Français (France)",
    englishName: "French (France)",
    pluralCategories: ["one", "many", "other"],
    speakerPopulation: 68000000,
  },
  {
    code: "fr-CA",
    language: "fr",
    region: "CA",
    script: "Latn",
    direction: "ltr",
    nativeName: "Français (Canada)",
    englishName: "French (Canada)",
    pluralCategories: ["one", "many", "other"],
    speakerPopulation: 10000000,
  },
  {
    code: "fr-BE",
    language: "fr",
    region: "BE",
    script: "Latn",
    direction: "ltr",
    nativeName: "Français (Belgique)",
    englishName: "French (Belgium)",
    pluralCategories: ["one", "many", "other"],
    speakerPopulation: 4500000,
  },
  {
    code: "fr-CH",
    language: "fr",
    region: "CH",
    script: "Latn",
    direction: "ltr",
    nativeName: "Français (Suisse)",
    englishName: "French (Switzerland)",
    pluralCategories: ["one", "many", "other"],
    speakerPopulation: 2000000,
  },

  // German regional variants
  {
    code: "de-AT",
    language: "de",
    region: "AT",
    script: "Latn",
    direction: "ltr",
    nativeName: "Deutsch (Österreich)",
    englishName: "German (Austria)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 9000000,
  },
  {
    code: "de-CH",
    language: "de",
    region: "CH",
    script: "Latn",
    direction: "ltr",
    nativeName: "Deutsch (Schweiz)",
    englishName: "German (Switzerland)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 5000000,
  },

  // Spanish regional variants
  {
    code: "es-MX",
    language: "es",
    region: "MX",
    script: "Latn",
    direction: "ltr",
    nativeName: "Español (México)",
    englishName: "Spanish (Mexico)",
    pluralCategories: ["one", "many", "other"],
    speakerPopulation: 130000000,
  },
  {
    code: "es-AR",
    language: "es",
    region: "AR",
    script: "Latn",
    direction: "ltr",
    nativeName: "Español (Argentina)",
    englishName: "Spanish (Argentina)",
    pluralCategories: ["one", "many", "other"],
    speakerPopulation: 45000000,
  },
  {
    code: "es-CO",
    language: "es",
    region: "CO",
    script: "Latn",
    direction: "ltr",
    nativeName: "Español (Colombia)",
    englishName: "Spanish (Colombia)",
    pluralCategories: ["one", "many", "other"],
    speakerPopulation: 52000000,
  },
  {
    code: "es-CL",
    language: "es",
    region: "CL",
    script: "Latn",
    direction: "ltr",
    nativeName: "Español (Chile)",
    englishName: "Spanish (Chile)",
    pluralCategories: ["one", "many", "other"],
    speakerPopulation: 19000000,
  },
  {
    code: "es-PE",
    language: "es",
    region: "PE",
    script: "Latn",
    direction: "ltr",
    nativeName: "Español (Perú)",
    englishName: "Spanish (Peru)",
    pluralCategories: ["one", "many", "other"],
    speakerPopulation: 33000000,
  },
  {
    code: "es-VE",
    language: "es",
    region: "VE",
    script: "Latn",
    direction: "ltr",
    nativeName: "Español (Venezuela)",
    englishName: "Spanish (Venezuela)",
    pluralCategories: ["one", "many", "other"],
    speakerPopulation: 30000000,
  },

  // Portuguese regional variants
  {
    code: "pt-PT",
    language: "pt",
    region: "PT",
    script: "Latn",
    direction: "ltr",
    nativeName: "Português (Portugal)",
    englishName: "Portuguese (Portugal)",
    pluralCategories: ["one", "many", "other"],
    speakerPopulation: 11000000,
  },

  // Arabic regional variants
  {
    code: "ar-EG",
    language: "ar",
    region: "EG",
    script: "Arab",
    direction: "rtl",
    nativeName: "العربية (مصر)",
    englishName: "Arabic (Egypt)",
    pluralCategories: ["zero", "one", "two", "few", "many", "other"],
    speakerPopulation: 105000000,
  },
  {
    code: "ar-MA",
    language: "ar",
    region: "MA",
    script: "Arab",
    direction: "rtl",
    nativeName: "العربية (المغرب)",
    englishName: "Arabic (Morocco)",
    pluralCategories: ["zero", "one", "two", "few", "many", "other"],
    speakerPopulation: 37000000,
  },
  {
    code: "ar-DZ",
    language: "ar",
    region: "DZ",
    script: "Arab",
    direction: "rtl",
    nativeName: "العربية (الجزائر)",
    englishName: "Arabic (Algeria)",
    pluralCategories: ["zero", "one", "two", "few", "many", "other"],
    speakerPopulation: 45000000,
  },
  {
    code: "ar-AE",
    language: "ar",
    region: "AE",
    script: "Arab",
    direction: "rtl",
    nativeName: "العربية (الإمارات العربية المتحدة)",
    englishName: "Arabic (United Arab Emirates)",
    pluralCategories: ["zero", "one", "two", "few", "many", "other"],
    speakerPopulation: 10000000,
  },
  {
    code: "ar-IQ",
    language: "ar",
    region: "IQ",
    script: "Arab",
    direction: "rtl",
    nativeName: "العربية (العراق)",
    englishName: "Arabic (Iraq)",
    pluralCategories: ["zero", "one", "two", "few", "many", "other"],
    speakerPopulation: 42000000,
  },

  // Chinese regional variants
  {
    code: "zh-HK",
    language: "zh",
    region: "HK",
    script: "Hant",
    direction: "ltr",
    nativeName: "中文（香港）",
    englishName: "Chinese (Hong Kong)",
    pluralCategories: ["other"],
    speakerPopulation: 7000000,
  },
  {
    code: "zh-SG",
    language: "zh",
    region: "SG",
    script: "Hans",
    direction: "ltr",
    nativeName: "中文（新加坡）",
    englishName: "Chinese (Singapore)",
    pluralCategories: ["other"],
    speakerPopulation: 3000000,
  },

  // European languages
  {
    code: "da",
    language: "da",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Dansk",
    englishName: "Danish",
    pluralCategories: ["one", "other"],
    speakerPopulation: 6000000,
  },
  {
    code: "fi",
    language: "fi",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Suomi",
    englishName: "Finnish",
    pluralCategories: ["one", "other"],
    speakerPopulation: 5500000,
  },
  {
    code: "nb",
    language: "nb",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Norsk bokmål",
    englishName: "Norwegian Bokmål",
    pluralCategories: ["one", "other"],
    speakerPopulation: 5000000,
  },
  {
    code: "no",
    language: "no",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Norsk",
    englishName: "Norwegian",
    pluralCategories: ["one", "other"],
    speakerPopulation: 5000000,
  },
  {
    code: "cs",
    language: "cs",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Čeština",
    englishName: "Czech",
    pluralCategories: ["one", "few", "many", "other"],
    speakerPopulation: 13000000,
  },
  {
    code: "sk",
    language: "sk",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Slovenčina",
    englishName: "Slovak",
    pluralCategories: ["one", "few", "many", "other"],
    speakerPopulation: 5500000,
  },
  {
    code: "hu",
    language: "hu",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Magyar",
    englishName: "Hungarian",
    pluralCategories: ["one", "other"],
    speakerPopulation: 13000000,
  },
  {
    code: "ro",
    language: "ro",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Română",
    englishName: "Romanian",
    pluralCategories: ["one", "few", "other"],
    speakerPopulation: 24000000,
  },
  {
    code: "bg",
    language: "bg",
    region: null,
    script: "Cyrl",
    direction: "ltr",
    nativeName: "Български",
    englishName: "Bulgarian",
    pluralCategories: ["one", "other"],
    speakerPopulation: 8000000,
  },
  {
    code: "hr",
    language: "hr",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Hrvatski",
    englishName: "Croatian",
    pluralCategories: ["one", "few", "other"],
    speakerPopulation: 5500000,
  },
  {
    code: "sr",
    language: "sr",
    region: null,
    script: "Cyrl",
    direction: "ltr",
    nativeName: "Српски",
    englishName: "Serbian",
    pluralCategories: ["one", "few", "other"],
    speakerPopulation: 12000000,
  },
  {
    code: "sl",
    language: "sl",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Slovenščina",
    englishName: "Slovenian",
    pluralCategories: ["one", "two", "few", "other"],
    speakerPopulation: 2500000,
  },
  {
    code: "et",
    language: "et",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Eesti",
    englishName: "Estonian",
    pluralCategories: ["one", "other"],
    speakerPopulation: 1100000,
  },
  {
    code: "lv",
    language: "lv",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Latviešu",
    englishName: "Latvian",
    pluralCategories: ["zero", "one", "other"],
    speakerPopulation: 2000000,
  },
  {
    code: "lt",
    language: "lt",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Lietuvių",
    englishName: "Lithuanian",
    pluralCategories: ["one", "few", "many", "other"],
    speakerPopulation: 3000000,
  },
  {
    code: "el",
    language: "el",
    region: null,
    script: "Grek",
    direction: "ltr",
    nativeName: "Ελληνικά",
    englishName: "Greek",
    pluralCategories: ["one", "other"],
    speakerPopulation: 13000000,
  },
  {
    code: "is",
    language: "is",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Íslenska",
    englishName: "Icelandic",
    pluralCategories: ["one", "other"],
    speakerPopulation: 370000,
  },
  {
    code: "ga",
    language: "ga",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Gaeilge",
    englishName: "Irish",
    pluralCategories: ["one", "two", "few", "many", "other"],
    speakerPopulation: 2000000,
  },
  {
    code: "mt",
    language: "mt",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Malti",
    englishName: "Maltese",
    pluralCategories: ["one", "few", "many", "other"],
    speakerPopulation: 520000,
  },
  {
    code: "ca",
    language: "ca",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Català",
    englishName: "Catalan",
    pluralCategories: ["one", "other"],
    speakerPopulation: 10000000,
  },
  {
    code: "eu",
    language: "eu",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Euskara",
    englishName: "Basque",
    pluralCategories: ["one", "other"],
    speakerPopulation: 750000,
  },
  {
    code: "gl",
    language: "gl",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Galego",
    englishName: "Galician",
    pluralCategories: ["one", "other"],
    speakerPopulation: 2400000,
  },

  // Asian languages
  {
    code: "ms",
    language: "ms",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Bahasa Melayu",
    englishName: "Malay",
    pluralCategories: ["other"],
    speakerPopulation: 290000000,
  },
  {
    code: "tl",
    language: "tl",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Tagalog",
    englishName: "Tagalog",
    pluralCategories: ["one", "other"],
    speakerPopulation: 45000000,
  },
  {
    code: "fil",
    language: "fil",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Filipino",
    englishName: "Filipino",
    pluralCategories: ["one", "other"],
    speakerPopulation: 90000000,
  },
  {
    code: "bn",
    language: "bn",
    region: null,
    script: "Beng",
    direction: "ltr",
    nativeName: "বাংলা",
    englishName: "Bengali",
    pluralCategories: ["one", "other"],
    speakerPopulation: 230000000,
  },
  {
    code: "ta",
    language: "ta",
    region: null,
    script: "Taml",
    direction: "ltr",
    nativeName: "தமிழ்",
    englishName: "Tamil",
    pluralCategories: ["one", "other"],
    speakerPopulation: 75000000,
  },
  {
    code: "te",
    language: "te",
    region: null,
    script: "Telu",
    direction: "ltr",
    nativeName: "తెలుగు",
    englishName: "Telugu",
    pluralCategories: ["one", "other"],
    speakerPopulation: 83000000,
  },
  {
    code: "ml",
    language: "ml",
    region: null,
    script: "Mlym",
    direction: "ltr",
    nativeName: "മലയാളം",
    englishName: "Malayalam",
    pluralCategories: ["one", "other"],
    speakerPopulation: 38000000,
  },
  {
    code: "kn",
    language: "kn",
    region: null,
    script: "Knda",
    direction: "ltr",
    nativeName: "ಕನ್ನಡ",
    englishName: "Kannada",
    pluralCategories: ["one", "other"],
    speakerPopulation: 44000000,
  },
  {
    code: "mr",
    language: "mr",
    region: null,
    script: "Deva",
    direction: "ltr",
    nativeName: "मराठी",
    englishName: "Marathi",
    pluralCategories: ["one", "other"],
    speakerPopulation: 83000000,
  },
  {
    code: "gu",
    language: "gu",
    region: null,
    script: "Gujr",
    direction: "ltr",
    nativeName: "ગુજરાતી",
    englishName: "Gujarati",
    pluralCategories: ["one", "other"],
    speakerPopulation: 56000000,
  },
  {
    code: "pa",
    language: "pa",
    region: null,
    script: "Guru",
    direction: "ltr",
    nativeName: "ਪੰਜਾਬੀ",
    englishName: "Punjabi",
    pluralCategories: ["one", "other"],
    speakerPopulation: 130000000,
  },
  {
    code: "ur",
    language: "ur",
    region: null,
    script: "Arab",
    direction: "rtl",
    nativeName: "اردو",
    englishName: "Urdu",
    pluralCategories: ["one", "other"],
    speakerPopulation: 230000000,
  },
  {
    code: "ne",
    language: "ne",
    region: null,
    script: "Deva",
    direction: "ltr",
    nativeName: "नेपाली",
    englishName: "Nepali",
    pluralCategories: ["one", "other"],
    speakerPopulation: 17000000,
  },
  {
    code: "si",
    language: "si",
    region: null,
    script: "Sinh",
    direction: "ltr",
    nativeName: "සිංහල",
    englishName: "Sinhala",
    pluralCategories: ["one", "other"],
    speakerPopulation: 17000000,
  },
  {
    code: "my",
    language: "my",
    region: null,
    script: "Mymr",
    direction: "ltr",
    nativeName: "မြန်မာဘာသာ",
    englishName: "Burmese",
    pluralCategories: ["other"],
    speakerPopulation: 43000000,
  },
  {
    code: "km",
    language: "km",
    region: null,
    script: "Khmr",
    direction: "ltr",
    nativeName: "ភាសាខ្មែរ",
    englishName: "Khmer",
    pluralCategories: ["other"],
    speakerPopulation: 16000000,
  },
  {
    code: "lo",
    language: "lo",
    region: null,
    script: "Laoo",
    direction: "ltr",
    nativeName: "ລາວ",
    englishName: "Lao",
    pluralCategories: ["other"],
    speakerPopulation: 7000000,
  },
  {
    code: "ka",
    language: "ka",
    region: null,
    script: "Geor",
    direction: "ltr",
    nativeName: "ქართული",
    englishName: "Georgian",
    pluralCategories: ["one", "other"],
    speakerPopulation: 4000000,
  },
  {
    code: "hy",
    language: "hy",
    region: null,
    script: "Armn",
    direction: "ltr",
    nativeName: "Հայերեն",
    englishName: "Armenian",
    pluralCategories: ["one", "other"],
    speakerPopulation: 7000000,
  },
  {
    code: "az",
    language: "az",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Azərbaycan",
    englishName: "Azerbaijani",
    pluralCategories: ["one", "other"],
    speakerPopulation: 23000000,
  },
  {
    code: "uz",
    language: "uz",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Oʻzbek",
    englishName: "Uzbek",
    pluralCategories: ["one", "other"],
    speakerPopulation: 35000000,
  },
  {
    code: "kk",
    language: "kk",
    region: null,
    script: "Cyrl",
    direction: "ltr",
    nativeName: "Қазақ",
    englishName: "Kazakh",
    pluralCategories: ["one", "other"],
    speakerPopulation: 13000000,
  },
  {
    code: "mn",
    language: "mn",
    region: null,
    script: "Cyrl",
    direction: "ltr",
    nativeName: "Монгол",
    englishName: "Mongolian",
    pluralCategories: ["one", "other"],
    speakerPopulation: 5000000,
  },

  // African languages
  {
    code: "sw",
    language: "sw",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Kiswahili",
    englishName: "Swahili",
    pluralCategories: ["one", "other"],
    speakerPopulation: 200000000,
  },
  {
    code: "am",
    language: "am",
    region: null,
    script: "Ethi",
    direction: "ltr",
    nativeName: "አማርኛ",
    englishName: "Amharic",
    pluralCategories: ["one", "other"],
    speakerPopulation: 57000000,
  },
  {
    code: "ha",
    language: "ha",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Hausa",
    englishName: "Hausa",
    pluralCategories: ["one", "other"],
    speakerPopulation: 70000000,
  },
  {
    code: "yo",
    language: "yo",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Yorùbá",
    englishName: "Yoruba",
    pluralCategories: ["other"],
    speakerPopulation: 45000000,
  },
  {
    code: "ig",
    language: "ig",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Igbo",
    englishName: "Igbo",
    pluralCategories: ["other"],
    speakerPopulation: 44000000,
  },
  {
    code: "zu",
    language: "zu",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "isiZulu",
    englishName: "Zulu",
    pluralCategories: ["one", "other"],
    speakerPopulation: 12000000,
  },
  {
    code: "af",
    language: "af",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Afrikaans",
    englishName: "Afrikaans",
    pluralCategories: ["one", "other"],
    speakerPopulation: 7500000,
  },

  // Other languages
  {
    code: "sq",
    language: "sq",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Shqip",
    englishName: "Albanian",
    pluralCategories: ["one", "other"],
    speakerPopulation: 7500000,
  },
  {
    code: "mk",
    language: "mk",
    region: null,
    script: "Cyrl",
    direction: "ltr",
    nativeName: "Македонски",
    englishName: "Macedonian",
    pluralCategories: ["one", "other"],
    speakerPopulation: 2000000,
  },
  {
    code: "bs",
    language: "bs",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Bosanski",
    englishName: "Bosnian",
    pluralCategories: ["one", "few", "other"],
    speakerPopulation: 3500000,
  },
  {
    code: "cy",
    language: "cy",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Cymraeg",
    englishName: "Welsh",
    pluralCategories: ["zero", "one", "two", "few", "many", "other"],
    speakerPopulation: 900000,
  },
  {
    code: "be",
    language: "be",
    region: null,
    script: "Cyrl",
    direction: "ltr",
    nativeName: "Беларуская",
    englishName: "Belarusian",
    pluralCategories: ["one", "few", "many", "other"],
    speakerPopulation: 8000000,
  },
  {
    code: "ky",
    language: "ky",
    region: null,
    script: "Cyrl",
    direction: "ltr",
    nativeName: "Кыргызча",
    englishName: "Kyrgyz",
    pluralCategories: ["one", "other"],
    speakerPopulation: 4500000,
  },
  {
    code: "tg",
    language: "tg",
    region: null,
    script: "Cyrl",
    direction: "ltr",
    nativeName: "Тоҷикӣ",
    englishName: "Tajik",
    pluralCategories: ["one", "other"],
    speakerPopulation: 8000000,
  },
  {
    code: "tk",
    language: "tk",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Türkmen",
    englishName: "Turkmen",
    pluralCategories: ["one", "other"],
    speakerPopulation: 7000000,
  },
  {
    code: "ps",
    language: "ps",
    region: null,
    script: "Arab",
    direction: "rtl",
    nativeName: "پښتو",
    englishName: "Pashto",
    pluralCategories: ["one", "other"],
    speakerPopulation: 60000000,
  },
  {
    code: "ku",
    language: "ku",
    region: null,
    script: "Arab",
    direction: "rtl",
    nativeName: "کوردی",
    englishName: "Kurdish (Sorani)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 20000000,
  },

  // Additional English regional variants
  {
    code: "en-NG",
    language: "en",
    region: "NG",
    script: "Latn",
    direction: "ltr",
    nativeName: "English (Nigeria)",
    englishName: "English (Nigeria)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 80000000,
  },
  {
    code: "en-KE",
    language: "en",
    region: "KE",
    script: "Latn",
    direction: "ltr",
    nativeName: "English (Kenya)",
    englishName: "English (Kenya)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 8000000,
  },
  {
    code: "en-GH",
    language: "en",
    region: "GH",
    script: "Latn",
    direction: "ltr",
    nativeName: "English (Ghana)",
    englishName: "English (Ghana)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 25000000,
  },
  {
    code: "en-TZ",
    language: "en",
    region: "TZ",
    script: "Latn",
    direction: "ltr",
    nativeName: "English (Tanzania)",
    englishName: "English (Tanzania)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 4000000,
  },
  {
    code: "en-UG",
    language: "en",
    region: "UG",
    script: "Latn",
    direction: "ltr",
    nativeName: "English (Uganda)",
    englishName: "English (Uganda)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 5000000,
  },
  {
    code: "en-PK",
    language: "en",
    region: "PK",
    script: "Latn",
    direction: "ltr",
    nativeName: "English (Pakistan)",
    englishName: "English (Pakistan)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 20000000,
  },
  {
    code: "en-BD",
    language: "en",
    region: "BD",
    script: "Latn",
    direction: "ltr",
    nativeName: "English (Bangladesh)",
    englishName: "English (Bangladesh)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 4000000,
  },
  {
    code: "en-MY",
    language: "en",
    region: "MY",
    script: "Latn",
    direction: "ltr",
    nativeName: "English (Malaysia)",
    englishName: "English (Malaysia)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 7000000,
  },

  // Additional Spanish regional variants
  {
    code: "es-ES",
    language: "es",
    region: "ES",
    script: "Latn",
    direction: "ltr",
    nativeName: "Español (España)",
    englishName: "Spanish (Spain)",
    pluralCategories: ["one", "many", "other"],
    speakerPopulation: 47000000,
  },
  {
    code: "es-US",
    language: "es",
    region: "US",
    script: "Latn",
    direction: "ltr",
    nativeName: "Español (Estados Unidos)",
    englishName: "Spanish (United States)",
    pluralCategories: ["one", "many", "other"],
    speakerPopulation: 42000000,
  },
  {
    code: "es-EC",
    language: "es",
    region: "EC",
    script: "Latn",
    direction: "ltr",
    nativeName: "Español (Ecuador)",
    englishName: "Spanish (Ecuador)",
    pluralCategories: ["one", "many", "other"],
    speakerPopulation: 17000000,
  },
  {
    code: "es-BO",
    language: "es",
    region: "BO",
    script: "Latn",
    direction: "ltr",
    nativeName: "Español (Bolivia)",
    englishName: "Spanish (Bolivia)",
    pluralCategories: ["one", "many", "other"],
    speakerPopulation: 12000000,
  },
  {
    code: "es-PY",
    language: "es",
    region: "PY",
    script: "Latn",
    direction: "ltr",
    nativeName: "Español (Paraguay)",
    englishName: "Spanish (Paraguay)",
    pluralCategories: ["one", "many", "other"],
    speakerPopulation: 7000000,
  },
  {
    code: "es-UY",
    language: "es",
    region: "UY",
    script: "Latn",
    direction: "ltr",
    nativeName: "Español (Uruguay)",
    englishName: "Spanish (Uruguay)",
    pluralCategories: ["one", "many", "other"],
    speakerPopulation: 3500000,
  },
  {
    code: "es-CR",
    language: "es",
    region: "CR",
    script: "Latn",
    direction: "ltr",
    nativeName: "Español (Costa Rica)",
    englishName: "Spanish (Costa Rica)",
    pluralCategories: ["one", "many", "other"],
    speakerPopulation: 5000000,
  },
  {
    code: "es-GT",
    language: "es",
    region: "GT",
    script: "Latn",
    direction: "ltr",
    nativeName: "Español (Guatemala)",
    englishName: "Spanish (Guatemala)",
    pluralCategories: ["one", "many", "other"],
    speakerPopulation: 17000000,
  },
  {
    code: "es-CU",
    language: "es",
    region: "CU",
    script: "Latn",
    direction: "ltr",
    nativeName: "Español (Cuba)",
    englishName: "Spanish (Cuba)",
    pluralCategories: ["one", "many", "other"],
    speakerPopulation: 11000000,
  },
  {
    code: "es-DO",
    language: "es",
    region: "DO",
    script: "Latn",
    direction: "ltr",
    nativeName: "Español (República Dominicana)",
    englishName: "Spanish (Dominican Republic)",
    pluralCategories: ["one", "many", "other"],
    speakerPopulation: 11000000,
  },

  // Additional French regional variants
  {
    code: "fr-DZ",
    language: "fr",
    region: "DZ",
    script: "Latn",
    direction: "ltr",
    nativeName: "Français (Algérie)",
    englishName: "French (Algeria)",
    pluralCategories: ["one", "many", "other"],
    speakerPopulation: 15000000,
  },
  {
    code: "fr-MA",
    language: "fr",
    region: "MA",
    script: "Latn",
    direction: "ltr",
    nativeName: "Français (Maroc)",
    englishName: "French (Morocco)",
    pluralCategories: ["one", "many", "other"],
    speakerPopulation: 12000000,
  },
  {
    code: "fr-SN",
    language: "fr",
    region: "SN",
    script: "Latn",
    direction: "ltr",
    nativeName: "Français (Sénégal)",
    englishName: "French (Senegal)",
    pluralCategories: ["one", "many", "other"],
    speakerPopulation: 3000000,
  },
  {
    code: "fr-CI",
    language: "fr",
    region: "CI",
    script: "Latn",
    direction: "ltr",
    nativeName: "Français (Côte d'Ivoire)",
    englishName: "French (Ivory Coast)",
    pluralCategories: ["one", "many", "other"],
    speakerPopulation: 8000000,
  },

  // Additional Portuguese regional variants
  {
    code: "pt-AO",
    language: "pt",
    region: "AO",
    script: "Latn",
    direction: "ltr",
    nativeName: "Português (Angola)",
    englishName: "Portuguese (Angola)",
    pluralCategories: ["one", "many", "other"],
    speakerPopulation: 34000000,
  },
  {
    code: "pt-MZ",
    language: "pt",
    region: "MZ",
    script: "Latn",
    direction: "ltr",
    nativeName: "Português (Moçambique)",
    englishName: "Portuguese (Mozambique)",
    pluralCategories: ["one", "many", "other"],
    speakerPopulation: 17000000,
  },

  // Additional Arabic regional variants
  {
    code: "ar-LY",
    language: "ar",
    region: "LY",
    script: "Arab",
    direction: "rtl",
    nativeName: "العربية (ليبيا)",
    englishName: "Arabic (Libya)",
    pluralCategories: ["zero", "one", "two", "few", "many", "other"],
    speakerPopulation: 7000000,
  },
  {
    code: "ar-TN",
    language: "ar",
    region: "TN",
    script: "Arab",
    direction: "rtl",
    nativeName: "العربية (تونس)",
    englishName: "Arabic (Tunisia)",
    pluralCategories: ["zero", "one", "two", "few", "many", "other"],
    speakerPopulation: 12000000,
  },
  {
    code: "ar-SY",
    language: "ar",
    region: "SY",
    script: "Arab",
    direction: "rtl",
    nativeName: "العربية (سوريا)",
    englishName: "Arabic (Syria)",
    pluralCategories: ["zero", "one", "two", "few", "many", "other"],
    speakerPopulation: 22000000,
  },
  {
    code: "ar-JO",
    language: "ar",
    region: "JO",
    script: "Arab",
    direction: "rtl",
    nativeName: "العربية (الأردن)",
    englishName: "Arabic (Jordan)",
    pluralCategories: ["zero", "one", "two", "few", "many", "other"],
    speakerPopulation: 10000000,
  },
  {
    code: "ar-KW",
    language: "ar",
    region: "KW",
    script: "Arab",
    direction: "rtl",
    nativeName: "العربية (الكويت)",
    englishName: "Arabic (Kuwait)",
    pluralCategories: ["zero", "one", "two", "few", "many", "other"],
    speakerPopulation: 4000000,
  },
  {
    code: "ar-QA",
    language: "ar",
    region: "QA",
    script: "Arab",
    direction: "rtl",
    nativeName: "العربية (قطر)",
    englishName: "Arabic (Qatar)",
    pluralCategories: ["zero", "one", "two", "few", "many", "other"],
    speakerPopulation: 300000,
  },
  {
    code: "ar-BH",
    language: "ar",
    region: "BH",
    script: "Arab",
    direction: "rtl",
    nativeName: "العربية (البحرين)",
    englishName: "Arabic (Bahrain)",
    pluralCategories: ["zero", "one", "two", "few", "many", "other"],
    speakerPopulation: 700000,
  },
  {
    code: "ar-LB",
    language: "ar",
    region: "LB",
    script: "Arab",
    direction: "rtl",
    nativeName: "العربية (لبنان)",
    englishName: "Arabic (Lebanon)",
    pluralCategories: ["zero", "one", "two", "few", "many", "other"],
    speakerPopulation: 6000000,
  },

  // Additional Chinese variants
  {
    code: "zh-Hant",
    language: "zh",
    region: null,
    script: "Hant",
    direction: "ltr",
    nativeName: "中文（繁體）",
    englishName: "Chinese (Traditional)",
    pluralCategories: ["other"],
    speakerPopulation: 30000000,
  },
  {
    code: "zh-Hans",
    language: "zh",
    region: null,
    script: "Hans",
    direction: "ltr",
    nativeName: "中文（简体）",
    englishName: "Chinese (Simplified)",
    pluralCategories: ["other"],
    speakerPopulation: 1000000000,
  },

  // Additional German regional variants
  {
    code: "de-LU",
    language: "de",
    region: "LU",
    script: "Latn",
    direction: "ltr",
    nativeName: "Deutsch (Luxemburg)",
    englishName: "German (Luxembourg)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 400000,
  },
  {
    code: "de-BE",
    language: "de",
    region: "BE",
    script: "Latn",
    direction: "ltr",
    nativeName: "Deutsch (Belgien)",
    englishName: "German (Belgium)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 100000,
  },

  // Additional Dutch regional variants
  {
    code: "nl-BE",
    language: "nl",
    region: "BE",
    script: "Latn",
    direction: "ltr",
    nativeName: "Nederlands (België)",
    englishName: "Dutch (Belgium)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 6000000,
  },
  {
    code: "nl-NL",
    language: "nl",
    region: "NL",
    script: "Latn",
    direction: "ltr",
    nativeName: "Nederlands (Nederland)",
    englishName: "Dutch (Netherlands)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 17000000,
  },

  // Additional Italian regional variants
  {
    code: "it-IT",
    language: "it",
    region: "IT",
    script: "Latn",
    direction: "ltr",
    nativeName: "Italiano (Italia)",
    englishName: "Italian (Italy)",
    pluralCategories: ["one", "many", "other"],
    speakerPopulation: 60000000,
  },
  {
    code: "it-CH",
    language: "it",
    region: "CH",
    script: "Latn",
    direction: "ltr",
    nativeName: "Italiano (Svizzera)",
    englishName: "Italian (Switzerland)",
    pluralCategories: ["one", "many", "other"],
    speakerPopulation: 700000,
  },

  // Additional Russian regional variants
  {
    code: "ru-RU",
    language: "ru",
    region: "RU",
    script: "Cyrl",
    direction: "ltr",
    nativeName: "Русский (Россия)",
    englishName: "Russian (Russia)",
    pluralCategories: ["one", "few", "many", "other"],
    speakerPopulation: 145000000,
  },
  {
    code: "ru-KZ",
    language: "ru",
    region: "KZ",
    script: "Cyrl",
    direction: "ltr",
    nativeName: "Русский (Казахстан)",
    englishName: "Russian (Kazakhstan)",
    pluralCategories: ["one", "few", "many", "other"],
    speakerPopulation: 8000000,
  },
  {
    code: "ru-BY",
    language: "ru",
    region: "BY",
    script: "Cyrl",
    direction: "ltr",
    nativeName: "Русский (Беларусь)",
    englishName: "Russian (Belarus)",
    pluralCategories: ["one", "few", "many", "other"],
    speakerPopulation: 7000000,
  },

  // Additional Turkish regional variants
  {
    code: "tr-TR",
    language: "tr",
    region: "TR",
    script: "Latn",
    direction: "ltr",
    nativeName: "Türkçe (Türkiye)",
    englishName: "Turkish (Turkey)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 85000000,
  },
  {
    code: "tr-CY",
    language: "tr",
    region: "CY",
    script: "Latn",
    direction: "ltr",
    nativeName: "Türkçe (Kıbrıs)",
    englishName: "Turkish (Cyprus)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 300000,
  },

  // Additional Hindi regional variants
  {
    code: "hi-IN",
    language: "hi",
    region: "IN",
    script: "Deva",
    direction: "ltr",
    nativeName: "हिन्दी (भारत)",
    englishName: "Hindi (India)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 600000000,
  },

  // Additional Korean regional variants
  {
    code: "ko-KR",
    language: "ko",
    region: "KR",
    script: "Kore",
    direction: "ltr",
    nativeName: "한국어 (대한민국)",
    englishName: "Korean (South Korea)",
    pluralCategories: ["other"],
    speakerPopulation: 52000000,
  },
  {
    code: "ko-KP",
    language: "ko",
    region: "KP",
    script: "Kore",
    direction: "ltr",
    nativeName: "한국어 (조선민주주의인민공화국)",
    englishName: "Korean (North Korea)",
    pluralCategories: ["other"],
    speakerPopulation: 26000000,
  },

  // Additional Japanese regional variants
  {
    code: "ja-JP-u-ca-japanese",
    language: "ja",
    region: "JP",
    script: "Jpan",
    direction: "ltr",
    nativeName: "日本語（日本、和暦）",
    englishName: "Japanese (Japan, Japanese Calendar)",
    pluralCategories: ["other"],
    speakerPopulation: null,
  },

  // Additional Swedish regional variants
  {
    code: "sv-SE",
    language: "sv",
    region: "SE",
    script: "Latn",
    direction: "ltr",
    nativeName: "Svenska (Sverige)",
    englishName: "Swedish (Sweden)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 10000000,
  },
  {
    code: "sv-FI",
    language: "sv",
    region: "FI",
    script: "Latn",
    direction: "ltr",
    nativeName: "Svenska (Finland)",
    englishName: "Swedish (Finland)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 300000,
  },

  // Additional Norwegian variants
  {
    code: "nn",
    language: "nn",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Nynorsk",
    englishName: "Norwegian Nynorsk",
    pluralCategories: ["one", "other"],
    speakerPopulation: 700000,
  },

  // Additional Danish regional variants
  {
    code: "da-DK",
    language: "da",
    region: "DK",
    script: "Latn",
    direction: "ltr",
    nativeName: "Dansk (Danmark)",
    englishName: "Danish (Denmark)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 6000000,
  },

  // Additional Finnish regional variants
  {
    code: "fi-FI",
    language: "fi",
    region: "FI",
    script: "Latn",
    direction: "ltr",
    nativeName: "Suomi (Suomi)",
    englishName: "Finnish (Finland)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 5500000,
  },

  // Additional Polish regional variants
  {
    code: "pl-PL",
    language: "pl",
    region: "PL",
    script: "Latn",
    direction: "ltr",
    nativeName: "Polski (Polska)",
    englishName: "Polish (Poland)",
    pluralCategories: ["one", "few", "many", "other"],
    speakerPopulation: 45000000,
  },

  // Additional Ukrainian regional variants
  {
    code: "uk-UA",
    language: "uk",
    region: "UA",
    script: "Cyrl",
    direction: "ltr",
    nativeName: "Українська (Україна)",
    englishName: "Ukrainian (Ukraine)",
    pluralCategories: ["one", "few", "many", "other"],
    speakerPopulation: 40000000,
  },

  // Additional Thai regional variants
  {
    code: "th-TH",
    language: "th",
    region: "TH",
    script: "Thai",
    direction: "ltr",
    nativeName: "ภาษาไทย (ประเทศไทย)",
    englishName: "Thai (Thailand)",
    pluralCategories: ["other"],
    speakerPopulation: 60000000,
  },

  // Additional Vietnamese regional variants
  {
    code: "vi-VN",
    language: "vi",
    region: "VN",
    script: "Latn",
    direction: "ltr",
    nativeName: "Tiếng Việt (Việt Nam)",
    englishName: "Vietnamese (Vietnam)",
    pluralCategories: ["other"],
    speakerPopulation: 97000000,
  },

  // Additional Indonesian regional variants
  {
    code: "id-ID",
    language: "id",
    region: "ID",
    script: "Latn",
    direction: "ltr",
    nativeName: "Bahasa Indonesia (Indonesia)",
    englishName: "Indonesian (Indonesia)",
    pluralCategories: ["other"],
    speakerPopulation: 270000000,
  },

  // Additional Hebrew regional variants
  {
    code: "he-IL",
    language: "he",
    region: "IL",
    script: "Hebr",
    direction: "rtl",
    nativeName: "עברית (ישראל)",
    englishName: "Hebrew (Israel)",
    pluralCategories: ["one", "two", "many", "other"],
    speakerPopulation: 9000000,
  },

  // Additional Persian regional variants
  {
    code: "fa-IR",
    language: "fa",
    region: "IR",
    script: "Arab",
    direction: "rtl",
    nativeName: "فارسی (ایران)",
    englishName: "Persian (Iran)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 70000000,
  },
  {
    code: "fa-AF",
    language: "fa",
    region: "AF",
    script: "Arab",
    direction: "rtl",
    nativeName: "دری (افغانستان)",
    englishName: "Dari (Afghanistan)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 10000000,
  },

  // Additional Bengali regional variants
  {
    code: "bn-BD",
    language: "bn",
    region: "BD",
    script: "Beng",
    direction: "ltr",
    nativeName: "বাংলা (বাংলাদেশ)",
    englishName: "Bengali (Bangladesh)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 170000000,
  },
  {
    code: "bn-IN",
    language: "bn",
    region: "IN",
    script: "Beng",
    direction: "ltr",
    nativeName: "বাংলা (ভারত)",
    englishName: "Bengali (India)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 90000000,
  },

  // Additional Tamil regional variants
  {
    code: "ta-IN",
    language: "ta",
    region: "IN",
    script: "Taml",
    direction: "ltr",
    nativeName: "தமிழ் (இந்தியா)",
    englishName: "Tamil (India)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 70000000,
  },
  {
    code: "ta-LK",
    language: "ta",
    region: "LK",
    script: "Taml",
    direction: "ltr",
    nativeName: "தமிழ் (இலங்கை)",
    englishName: "Tamil (Sri Lanka)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 3500000,
  },
  {
    code: "ta-SG",
    language: "ta",
    region: "SG",
    script: "Taml",
    direction: "ltr",
    nativeName: "தமிழ் (சிங்கப்பூர்)",
    englishName: "Tamil (Singapore)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 100000,
  },

  // Additional Malay regional variants
  {
    code: "ms-MY",
    language: "ms",
    region: "MY",
    script: "Latn",
    direction: "ltr",
    nativeName: "Bahasa Melayu (Malaysia)",
    englishName: "Malay (Malaysia)",
    pluralCategories: ["other"],
    speakerPopulation: 22000000,
  },
  {
    code: "ms-SG",
    language: "ms",
    region: "SG",
    script: "Latn",
    direction: "ltr",
    nativeName: "Bahasa Melayu (Singapura)",
    englishName: "Malay (Singapore)",
    pluralCategories: ["other"],
    speakerPopulation: 500000,
  },
  {
    code: "ms-BN",
    language: "ms",
    region: "BN",
    script: "Latn",
    direction: "ltr",
    nativeName: "Bahasa Melayu (Brunei)",
    englishName: "Malay (Brunei)",
    pluralCategories: ["other"],
    speakerPopulation: 300000,
  },

  // Additional Urdu regional variants
  {
    code: "ur-PK",
    language: "ur",
    region: "PK",
    script: "Arab",
    direction: "rtl",
    nativeName: "اردو (پاکستان)",
    englishName: "Urdu (Pakistan)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 170000000,
  },
  {
    code: "ur-IN",
    language: "ur",
    region: "IN",
    script: "Arab",
    direction: "rtl",
    nativeName: "اردو (بھارت)",
    englishName: "Urdu (India)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 60000000,
  },

  // Additional Punjabi script variants
  {
    code: "pa-Arab",
    language: "pa",
    region: null,
    script: "Arab",
    direction: "rtl",
    nativeName: "پنجابی",
    englishName: "Punjabi (Shahmukhi)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 80000000,
  },
  {
    code: "pa-IN",
    language: "pa",
    region: "IN",
    script: "Guru",
    direction: "ltr",
    nativeName: "ਪੰਜਾਬੀ (ਭਾਰਤ)",
    englishName: "Punjabi (India)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 32000000,
  },

  // Additional Serbian script variant
  {
    code: "sr-Latn",
    language: "sr",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Srpski (latinica)",
    englishName: "Serbian (Latin)",
    pluralCategories: ["one", "few", "other"],
    speakerPopulation: 12000000,
  },
  {
    code: "sr-RS",
    language: "sr",
    region: "RS",
    script: "Cyrl",
    direction: "ltr",
    nativeName: "Српски (Србија)",
    englishName: "Serbian (Serbia)",
    pluralCategories: ["one", "few", "other"],
    speakerPopulation: 7000000,
  },
  {
    code: "sr-BA",
    language: "sr",
    region: "BA",
    script: "Cyrl",
    direction: "ltr",
    nativeName: "Српски (Босна и Херцеговина)",
    englishName: "Serbian (Bosnia and Herzegovina)",
    pluralCategories: ["one", "few", "other"],
    speakerPopulation: 1300000,
  },

  // Additional Azerbaijani script variants
  {
    code: "az-Cyrl",
    language: "az",
    region: null,
    script: "Cyrl",
    direction: "ltr",
    nativeName: "Азәрбајҹан",
    englishName: "Azerbaijani (Cyrillic)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 2000000,
  },
  {
    code: "az-AZ",
    language: "az",
    region: "AZ",
    script: "Latn",
    direction: "ltr",
    nativeName: "Azərbaycan (Azərbaycan)",
    englishName: "Azerbaijani (Azerbaijan)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 10000000,
  },

  // Additional Uzbek script variants
  {
    code: "uz-Cyrl",
    language: "uz",
    region: null,
    script: "Cyrl",
    direction: "ltr",
    nativeName: "Ўзбек",
    englishName: "Uzbek (Cyrillic)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 5000000,
  },
  {
    code: "uz-UZ",
    language: "uz",
    region: "UZ",
    script: "Latn",
    direction: "ltr",
    nativeName: "Oʻzbek (Oʻzbekiston)",
    englishName: "Uzbek (Uzbekistan)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 30000000,
  },

  // Additional Kazakh regional variants
  {
    code: "kk-KZ",
    language: "kk",
    region: "KZ",
    script: "Cyrl",
    direction: "ltr",
    nativeName: "Қазақ (Қазақстан)",
    englishName: "Kazakh (Kazakhstan)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 13000000,
  },

  // Additional Swahili regional variants
  {
    code: "sw-KE",
    language: "sw",
    region: "KE",
    script: "Latn",
    direction: "ltr",
    nativeName: "Kiswahili (Kenya)",
    englishName: "Swahili (Kenya)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 40000000,
  },
  {
    code: "sw-TZ",
    language: "sw",
    region: "TZ",
    script: "Latn",
    direction: "ltr",
    nativeName: "Kiswahili (Tanzania)",
    englishName: "Swahili (Tanzania)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 55000000,
  },

  // Additional Afrikaans regional variants
  {
    code: "af-ZA",
    language: "af",
    region: "ZA",
    script: "Latn",
    direction: "ltr",
    nativeName: "Afrikaans (Suid-Afrika)",
    englishName: "Afrikaans (South Africa)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 7000000,
  },

  // Additional Zulu regional variants
  {
    code: "zu-ZA",
    language: "zu",
    region: "ZA",
    script: "Latn",
    direction: "ltr",
    nativeName: "isiZulu (iNingizimu Afrika)",
    englishName: "Zulu (South Africa)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 12000000,
  },

  // Additional Greek regional variants
  {
    code: "el-GR",
    language: "el",
    region: "GR",
    script: "Grek",
    direction: "ltr",
    nativeName: "Ελληνικά (Ελλάδα)",
    englishName: "Greek (Greece)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 10000000,
  },
  {
    code: "el-CY",
    language: "el",
    region: "CY",
    script: "Grek",
    direction: "ltr",
    nativeName: "Ελληνικά (Κύπρος)",
    englishName: "Greek (Cyprus)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 900000,
  },

  // Additional Romanian regional variants
  {
    code: "ro-RO",
    language: "ro",
    region: "RO",
    script: "Latn",
    direction: "ltr",
    nativeName: "Română (România)",
    englishName: "Romanian (Romania)",
    pluralCategories: ["one", "few", "other"],
    speakerPopulation: 20000000,
  },
  {
    code: "ro-MD",
    language: "ro",
    region: "MD",
    script: "Latn",
    direction: "ltr",
    nativeName: "Română (Republica Moldova)",
    englishName: "Romanian (Moldova)",
    pluralCategories: ["one", "few", "other"],
    speakerPopulation: 3000000,
  },

  // Additional Croatian regional variants
  {
    code: "hr-HR",
    language: "hr",
    region: "HR",
    script: "Latn",
    direction: "ltr",
    nativeName: "Hrvatski (Hrvatska)",
    englishName: "Croatian (Croatia)",
    pluralCategories: ["one", "few", "other"],
    speakerPopulation: 4000000,
  },

  // Additional Czech regional variants
  {
    code: "cs-CZ",
    language: "cs",
    region: "CZ",
    script: "Latn",
    direction: "ltr",
    nativeName: "Čeština (Česká republika)",
    englishName: "Czech (Czech Republic)",
    pluralCategories: ["one", "few", "many", "other"],
    speakerPopulation: 10000000,
  },

  // Additional Slovak regional variants
  {
    code: "sk-SK",
    language: "sk",
    region: "SK",
    script: "Latn",
    direction: "ltr",
    nativeName: "Slovenčina (Slovensko)",
    englishName: "Slovak (Slovakia)",
    pluralCategories: ["one", "few", "many", "other"],
    speakerPopulation: 5000000,
  },

  // Additional Hungarian regional variants
  {
    code: "hu-HU",
    language: "hu",
    region: "HU",
    script: "Latn",
    direction: "ltr",
    nativeName: "Magyar (Magyarország)",
    englishName: "Hungarian (Hungary)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 10000000,
  },

  // Additional Bulgarian regional variants
  {
    code: "bg-BG",
    language: "bg",
    region: "BG",
    script: "Cyrl",
    direction: "ltr",
    nativeName: "Български (България)",
    englishName: "Bulgarian (Bulgaria)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 7000000,
  },

  // Additional Catalan regional variants
  {
    code: "ca-ES",
    language: "ca",
    region: "ES",
    script: "Latn",
    direction: "ltr",
    nativeName: "Català (Espanya)",
    englishName: "Catalan (Spain)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 9000000,
  },

  // Additional Albanian regional variants
  {
    code: "sq-AL",
    language: "sq",
    region: "AL",
    script: "Latn",
    direction: "ltr",
    nativeName: "Shqip (Shqipëri)",
    englishName: "Albanian (Albania)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 3000000,
  },
  {
    code: "sq-XK",
    language: "sq",
    region: "XK",
    script: "Latn",
    direction: "ltr",
    nativeName: "Shqip (Kosovë)",
    englishName: "Albanian (Kosovo)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 2000000,
  },

  // Additional Macedonian regional variants
  {
    code: "mk-MK",
    language: "mk",
    region: "MK",
    script: "Cyrl",
    direction: "ltr",
    nativeName: "Македонски (Македонија)",
    englishName: "Macedonian (North Macedonia)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 2000000,
  },

  // Additional Georgian regional variants
  {
    code: "ka-GE",
    language: "ka",
    region: "GE",
    script: "Geor",
    direction: "ltr",
    nativeName: "ქართული (საქართველო)",
    englishName: "Georgian (Georgia)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 4000000,
  },

  // Additional Armenian regional variants
  {
    code: "hy-AM",
    language: "hy",
    region: "AM",
    script: "Armn",
    direction: "ltr",
    nativeName: "Հայերեն (Հայաuτan)",
    englishName: "Armenian (Armenia)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 3000000,
  },

  // Additional Mongolian regional variants
  {
    code: "mn-MN",
    language: "mn",
    region: "MN",
    script: "Cyrl",
    direction: "ltr",
    nativeName: "Монгол (Монгол Улс)",
    englishName: "Mongolian (Mongolia)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 3000000,
  },

  // Additional Nepali regional variants
  {
    code: "ne-NP",
    language: "ne",
    region: "NP",
    script: "Deva",
    direction: "ltr",
    nativeName: "नेपाली (नेपाल)",
    englishName: "Nepali (Nepal)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 16000000,
  },
  {
    code: "ne-IN",
    language: "ne",
    region: "IN",
    script: "Deva",
    direction: "ltr",
    nativeName: "नेपाली (भारत)",
    englishName: "Nepali (India)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 3000000,
  },

  // Additional Sinhala regional variants
  {
    code: "si-LK",
    language: "si",
    region: "LK",
    script: "Sinh",
    direction: "ltr",
    nativeName: "සිංහල (ශ්‍රී ලංකාව)",
    englishName: "Sinhala (Sri Lanka)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 17000000,
  },

  // Additional Khmer regional variants
  {
    code: "km-KH",
    language: "km",
    region: "KH",
    script: "Khmr",
    direction: "ltr",
    nativeName: "ភាសាខ្មែរ (កម្ពុជា)",
    englishName: "Khmer (Cambodia)",
    pluralCategories: ["other"],
    speakerPopulation: 16000000,
  },

  // Additional Lao regional variants
  {
    code: "lo-LA",
    language: "lo",
    region: "LA",
    script: "Laoo",
    direction: "ltr",
    nativeName: "ລາວ (ລາວ)",
    englishName: "Lao (Laos)",
    pluralCategories: ["other"],
    speakerPopulation: 7000000,
  },

  // Additional Burmese regional variants
  {
    code: "my-MM",
    language: "my",
    region: "MM",
    script: "Mymr",
    direction: "ltr",
    nativeName: "မြန်မာဘာသာ (မြန်မာ)",
    englishName: "Burmese (Myanmar)",
    pluralCategories: ["other"],
    speakerPopulation: 43000000,
  },

  // Additional Welsh regional variants
  {
    code: "cy-GB",
    language: "cy",
    region: "GB",
    script: "Latn",
    direction: "ltr",
    nativeName: "Cymraeg (Y Deyrnas Unedig)",
    englishName: "Welsh (United Kingdom)",
    pluralCategories: ["zero", "one", "two", "few", "many", "other"],
    speakerPopulation: 900000,
  },

  // Additional Irish regional variants
  {
    code: "ga-IE",
    language: "ga",
    region: "IE",
    script: "Latn",
    direction: "ltr",
    nativeName: "Gaeilge (Éire)",
    englishName: "Irish (Ireland)",
    pluralCategories: ["one", "two", "few", "many", "other"],
    speakerPopulation: 2000000,
  },

  // Additional Basque regional variants
  {
    code: "eu-ES",
    language: "eu",
    region: "ES",
    script: "Latn",
    direction: "ltr",
    nativeName: "Euskara (Espainia)",
    englishName: "Basque (Spain)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 750000,
  },

  // Additional Galician regional variants
  {
    code: "gl-ES",
    language: "gl",
    region: "ES",
    script: "Latn",
    direction: "ltr",
    nativeName: "Galego (España)",
    englishName: "Galician (Spain)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 2400000,
  },

  // Additional Kurdish regional variants
  {
    code: "ku-TR",
    language: "ku",
    region: "TR",
    script: "Latn",
    direction: "ltr",
    nativeName: "Kurdî (Tirkiye)",
    englishName: "Kurdish (Turkey)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 15000000,
  },
  {
    code: "ku-IQ",
    language: "ku",
    region: "IQ",
    script: "Arab",
    direction: "rtl",
    nativeName: "کوردی (عێراق)",
    englishName: "Kurdish (Iraq)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 6000000,
  },

  // Additional Pashto regional variants
  {
    code: "ps-AF",
    language: "ps",
    region: "AF",
    script: "Arab",
    direction: "rtl",
    nativeName: "پښتو (افغانستان)",
    englishName: "Pashto (Afghanistan)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 13000000,
  },
  {
    code: "ps-PK",
    language: "ps",
    region: "PK",
    script: "Arab",
    direction: "rtl",
    nativeName: "پښتو (پاکستان)",
    englishName: "Pashto (Pakistan)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 27000000,
  },

  // Additional Amharic regional variants
  {
    code: "am-ET",
    language: "am",
    region: "ET",
    script: "Ethi",
    direction: "ltr",
    nativeName: "አማርኛ (ኢትዮጵያ)",
    englishName: "Amharic (Ethiopia)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 57000000,
  },

  // Additional Hausa regional variants
  {
    code: "ha-NG",
    language: "ha",
    region: "NG",
    script: "Latn",
    direction: "ltr",
    nativeName: "Hausa (Najeriya)",
    englishName: "Hausa (Nigeria)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 50000000,
  },
  {
    code: "ha-GH",
    language: "ha",
    region: "GH",
    script: "Latn",
    direction: "ltr",
    nativeName: "Hausa (Ghana)",
    englishName: "Hausa (Ghana)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 5000000,
  },

  // Additional Yoruba regional variants
  {
    code: "yo-NG",
    language: "yo",
    region: "NG",
    script: "Latn",
    direction: "ltr",
    nativeName: "Yorùbá (Nàìjíríà)",
    englishName: "Yoruba (Nigeria)",
    pluralCategories: ["other"],
    speakerPopulation: 45000000,
  },

  // Additional Igbo regional variants
  {
    code: "ig-NG",
    language: "ig",
    region: "NG",
    script: "Latn",
    direction: "ltr",
    nativeName: "Igbo (Naịjịrịa)",
    englishName: "Igbo (Nigeria)",
    pluralCategories: ["other"],
    speakerPopulation: 44000000,
  },

  // Minority and regional European languages
  {
    code: "lb",
    language: "lb",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Lëtzebuergesch",
    englishName: "Luxembourgish",
    pluralCategories: ["one", "other"],
    speakerPopulation: 600000,
  },
  {
    code: "br",
    language: "br",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Brezhoneg",
    englishName: "Breton",
    pluralCategories: ["one", "two", "few", "many", "other"],
    speakerPopulation: 200000,
  },
  {
    code: "oc",
    language: "oc",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Occitan",
    englishName: "Occitan",
    pluralCategories: ["one", "other"],
    speakerPopulation: 150000,
  },
  {
    code: "fo",
    language: "fo",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Føroyskt",
    englishName: "Faroese",
    pluralCategories: ["one", "other"],
    speakerPopulation: 70000,
  },

  // South Asian additional languages
  {
    code: "as",
    language: "as",
    region: null,
    script: "Beng",
    direction: "ltr",
    nativeName: "অসমীয়া",
    englishName: "Assamese",
    pluralCategories: ["one", "other"],
    speakerPopulation: 15000000,
  },
  {
    code: "or",
    language: "or",
    region: null,
    script: "Orya",
    direction: "ltr",
    nativeName: "ଓଡ଼ିଆ",
    englishName: "Odia",
    pluralCategories: ["one", "other"],
    speakerPopulation: 38000000,
  },
  {
    code: "sd",
    language: "sd",
    region: null,
    script: "Arab",
    direction: "rtl",
    nativeName: "سنڌي",
    englishName: "Sindhi",
    pluralCategories: ["one", "other"],
    speakerPopulation: 33000000,
  },

  // Southeast Asian additional languages
  {
    code: "jv",
    language: "jv",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Basa Jawa",
    englishName: "Javanese",
    pluralCategories: ["other"],
    speakerPopulation: 98000000,
  },
  {
    code: "su",
    language: "su",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Basa Sunda",
    englishName: "Sundanese",
    pluralCategories: ["other"],
    speakerPopulation: 40000000,
  },
  {
    code: "ceb",
    language: "ceb",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Binisaya",
    englishName: "Cebuano",
    pluralCategories: ["other"],
    speakerPopulation: 25000000,
  },

  // Additional Turkic languages
  {
    code: "tt",
    language: "tt",
    region: null,
    script: "Cyrl",
    direction: "ltr",
    nativeName: "Татарча",
    englishName: "Tatar",
    pluralCategories: ["one", "other"],
    speakerPopulation: 5500000,
  },
  {
    code: "ba",
    language: "ba",
    region: null,
    script: "Cyrl",
    direction: "ltr",
    nativeName: "Башҡортса",
    englishName: "Bashkir",
    pluralCategories: ["one", "other"],
    speakerPopulation: 1500000,
  },
  {
    code: "ug",
    language: "ug",
    region: null,
    script: "Arab",
    direction: "rtl",
    nativeName: "ئۇيغۇرچە",
    englishName: "Uyghur",
    pluralCategories: ["one", "other"],
    speakerPopulation: 11000000,
  },

  // Additional East African languages
  {
    code: "so",
    language: "so",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Soomaali",
    englishName: "Somali",
    pluralCategories: ["one", "other"],
    speakerPopulation: 22000000,
  },
  {
    code: "ti",
    language: "ti",
    region: null,
    script: "Ethi",
    direction: "ltr",
    nativeName: "ትግርኛ",
    englishName: "Tigrinya",
    pluralCategories: ["one", "other"],
    speakerPopulation: 7000000,
  },
  {
    code: "om",
    language: "om",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Afaan Oromoo",
    englishName: "Oromo",
    pluralCategories: ["one", "other"],
    speakerPopulation: 45000000,
  },
  {
    code: "rw",
    language: "rw",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Kinyarwanda",
    englishName: "Kinyarwanda",
    pluralCategories: ["one", "other"],
    speakerPopulation: 12000000,
  },
  {
    code: "lg",
    language: "lg",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Luganda",
    englishName: "Ganda",
    pluralCategories: ["one", "other"],
    speakerPopulation: 6000000,
  },
  {
    code: "xh",
    language: "xh",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "isiXhosa",
    englishName: "Xhosa",
    pluralCategories: ["one", "other"],
    speakerPopulation: 8000000,
  },
  {
    code: "st",
    language: "st",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Sesotho",
    englishName: "Southern Sotho",
    pluralCategories: ["one", "other"],
    speakerPopulation: 6000000,
  },
  {
    code: "sn",
    language: "sn",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "chiShona",
    englishName: "Shona",
    pluralCategories: ["one", "other"],
    speakerPopulation: 14000000,
  },

  // Additional Central Asian languages
  {
    code: "tk-TM",
    language: "tk",
    region: "TM",
    script: "Latn",
    direction: "ltr",
    nativeName: "Türkmen (Türkmenistan)",
    englishName: "Turkmen (Turkmenistan)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 6000000,
  },
  {
    code: "tg-TJ",
    language: "tg",
    region: "TJ",
    script: "Cyrl",
    direction: "ltr",
    nativeName: "Тоҷикӣ (Тоҷикистон)",
    englishName: "Tajik (Tajikistan)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 8000000,
  },
  {
    code: "ky-KG",
    language: "ky",
    region: "KG",
    script: "Cyrl",
    direction: "ltr",
    nativeName: "Кыргызча (Кыргызстан)",
    englishName: "Kyrgyz (Kyrgyzstan)",
    pluralCategories: ["one", "other"],
    speakerPopulation: 4500000,
  },

  // Pacific languages
  {
    code: "mi",
    language: "mi",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Te Reo Māori",
    englishName: "Maori",
    pluralCategories: ["one", "other"],
    speakerPopulation: 150000,
  },
  {
    code: "haw",
    language: "haw",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "ʻŌlelo Hawaiʻi",
    englishName: "Hawaiian",
    pluralCategories: ["one", "other"],
    speakerPopulation: 24000,
  },
  {
    code: "sm",
    language: "sm",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Gagana Samoa",
    englishName: "Samoan",
    pluralCategories: ["one", "other"],
    speakerPopulation: 400000,
  },

  // Latin American indigenous / creole
  {
    code: "qu",
    language: "qu",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Runasimi",
    englishName: "Quechua",
    pluralCategories: ["one", "other"],
    speakerPopulation: 10000000,
  },
  {
    code: "gn",
    language: "gn",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Avañe'ẽ",
    englishName: "Guaraní",
    pluralCategories: ["one", "other"],
    speakerPopulation: 12000000,
  },
  {
    code: "ay",
    language: "ay",
    region: null,
    script: "Latn",
    direction: "ltr",
    nativeName: "Aymar aru",
    englishName: "Aymara",
    pluralCategories: ["other"],
    speakerPopulation: 2000000,
  },

  // Additional South Asian languages
  {
    code: "mai",
    language: "mai",
    region: null,
    script: "Deva",
    direction: "ltr",
    nativeName: "मैथिली",
    englishName: "Maithili",
    pluralCategories: ["one", "other"],
    speakerPopulation: 34000000,
  },
  {
    code: "sat",
    language: "sat",
    region: null,
    script: "Olck",
    direction: "ltr",
    nativeName: "ᱥᱟᱱᱛᱟᱲᱤ",
    englishName: "Santali",
    pluralCategories: ["one", "two", "other"],
    speakerPopulation: 7600000,
  },
] as const;

/** All locale codes for route generation */
export const ALL_LOCALE_CODES: readonly string[] = LOCALE_DATABASE.map(
  (l) => l.code,
);

/** Look up a locale by code */
export function getLocaleByCode(code: string): LocaleData | undefined {
  return LOCALE_DATABASE.find((l) => l.code === code);
}

/** Get related locales (same language, different region) */
export function getRelatedLocales(code: string): readonly LocaleData[] {
  const locale = getLocaleByCode(code);
  if (!locale) return [];
  return LOCALE_DATABASE.filter(
    (l) => l.language === locale.language && l.code !== code,
  );
}
