{
  "schema_version": "2.0.0",
  "app": "FT Learn",
  "generated_at": "2026-09-26T01:11:11.192945+00:00",
  "total_languages": 8,
  "total_words": 78782,
  "languages": {
    "en_us": {
      "code": "en_us",
      "name_en": "American English",
      "name_ru": "Американский английский",
      "flag": "🇺🇸",
      "tts_locale": "en-US",
      "audio_accent": "US General American",
      "words_count": 14940,
      "cefr_breakdown": {
        "A1": 1000,
        "C1": 3478,
        "B2": 2690,
        "C2": 4282,
        "B1": 1995,
        "A2": 1495
      },
      "pos_breakdown": {
        "noun": 2581,
        "verb": 336,
        "noun / сущ.": 5325,
        "adj": 1045,
        "verb / гл.": 1504,
        "сущ.": 946,
        "adv": 414,
        "adj / прил.": 2085,
        "prep / предл.": 13,
        "adv / нареч.": 344,
        "прил.": 145,
        "pron / мест.": 30,
        "нареч.": 20,
        "conj / союз": 4,
        "prep": 13,
        "conj": 9,
        "expr": 13,
        "глаг.": 44,
        "interj": 4,
        "adj, verb / прил., гл.": 2,
        "pron": 18,
        "number": 35,
        "phrase": 1,
        "межд.": 7,
        "misc": 2
      },
      "sqlite": {
        "file": "dict_en_us.sqlite",
        "size_bytes": 5935104,
        "sha256": "8072fa6e8549a0fe77f7442f3e9b3da04754cbb47764d8fbc93b975d9e95b2d8"
      },
      "full_json": {
        "file": "en_us.json",
        "size_bytes": 15615116,
        "sha256": "dff357ce19b9ab2e5d1fbd243a131949eb4cc58227ee0ca5163a6e16496bd458"
      },
      "levels": {
        "A1": {
          "level": "A1",
          "file": "en_us/a1.json",
          "words_count": 1000,
          "size_bytes": 992861,
          "sha256": "b50b3c2d7a7c3f9d921680297dda5b9eab3a627c31bbe6c57d9652eab54ddb02"
        },
        "A2": {
          "level": "A2",
          "file": "en_us/a2.json",
          "words_count": 1495,
          "size_bytes": 1547769,
          "sha256": "3225e7b2a502de1656d157d480ddca047d1c34c61ae5e281270bdbf4d0c508b9"
        },
        "B1": {
          "level": "B1",
          "file": "en_us/b1.json",
          "words_count": 1995,
          "size_bytes": 2109557,
          "sha256": "9ded9d86fd484d29b9f242810965c4aeea84d1130d2a920c58ba81c4269657da"
        },
        "B2": {
          "level": "B2",
          "file": "en_us/b2.json",
          "words_count": 2690,
          "size_bytes": 2860567,
          "sha256": "d64586d4c26681de1fc2f7ea42e31ee0e11b89916cb40d4b2fa43be83d0ab385"
        },
        "C1": {
          "level": "C1",
          "file": "en_us/c1.json",
          "words_count": 3478,
          "size_bytes": 3659718,
          "sha256": "f2301998a24a5577713bbd5d23b32665a18987654d9848e1bf9f2a11391fa5d7"
        },
        "C2": {
          "level": "C2",
          "file": "en_us/c2.json",
          "words_count": 4282,
          "size_bytes": 4444659,
          "sha256": "32880ecac2ea58a72dd58b0aa87e3594107830cd8bd90767acca87693ac6b346"
        }
      }
    },
    "en_uk": {
      "code": "en_uk",
      "name_en": "British English",
      "name_ru": "Британский английский",
      "flag": "🇬🇧",
      "tts_locale": "en-GB",
      "audio_accent": "Received Pronunciation",
      "words_count": 14940,
      "cefr_breakdown": {
        "A1": 1000,
        "C1": 3478,
        "B2": 2690,
        "C2": 4282,
        "B1": 1995,
        "A2": 1495
      },
      "pos_breakdown": {
        "noun": 2581,
        "verb": 336,
        "noun / сущ.": 5325,
        "adj": 1045,
        "verb / гл.": 1504,
        "сущ.": 946,
        "adv": 414,
        "adj / прил.": 2085,
        "prep / предл.": 13,
        "adv / нареч.": 344,
        "прил.": 145,
        "pron / мест.": 30,
        "нареч.": 20,
        "conj / союз": 4,
        "prep": 13,
        "conj": 9,
        "expr": 13,
        "глаг.": 44,
        "interj": 4,
        "adj, verb / прил., гл.": 2,
        "pron": 18,
        "number": 35,
        "phrase": 1,
        "межд.": 7,
        "misc": 2
      },
      "sqlite": {
        "file": "dict_en_uk.sqlite",
        "size_bytes": 5931008,
        "sha256": "fc2849de14f3e14ac5707e095807c440a62bdbf988ff249db3700b37a8acb6aa"
      },
      "full_json": {
        "file": "en_uk.json",
        "size_bytes": 15615298,
        "sha256": "b8678a6a4964e63072b8bab4664cac54a5aa4ac65c02a75d6b6262beca7fdd31"
      },
      "levels": {
        "A1": {
          "level": "A1",
          "file": "en_uk/a1.json",
          "words_count": 1000,
          "size_bytes": 992865,
          "sha256": "1dd49d68322d2eba369f3ddf99654d7fcfa26acb05f2558276451f65d299b7d4"
        },
        "A2": {
          "level": "A2",
          "file": "en_uk/a2.json",
          "words_count": 1495,
          "size_bytes": 1547806,
          "sha256": "ff1fe4864c46072818315a74d334779bfa46b7ec84165b32692084445adfa195"
        },
        "B1": {
          "level": "B1",
          "file": "en_uk/b1.json",
          "words_count": 1995,
          "size_bytes": 2109579,
          "sha256": "5ecf90dd5db6dcf4c5aa587fda74982354a93fbf1127c2aaa9a6fc5ce069f2d8"
        },
        "B2": {
          "level": "B2",
          "file": "en_uk/b2.json",
          "words_count": 2690,
          "size_bytes": 2860604,
          "sha256": "f088dbd1e90a77ab18f06dacf48fcee3e8cd612b4611ff57e305132d86f57ab8"
        },
        "C1": {
          "level": "C1",
          "file": "en_uk/c1.json",
          "words_count": 3478,
          "size_bytes": 3659768,
          "sha256": "c58b088a7866f8e160e31e1f1e7b846fb91df4082d38e482ff3d566fbf338d80"
        },
        "C2": {
          "level": "C2",
          "file": "en_uk/c2.json",
          "words_count": 4282,
          "size_bytes": 4444691,
          "sha256": "5a7f4bc53eda565b7fcafa580134914ba8f4af1a9af5927785d5a9b2ccb78b2a"
        }
      }
    },
    "es_latam": {
      "code": "es_latam",
      "name_en": "Latin American Spanish",
      "name_ru": "Испанский (Латинская Америка)",
      "flag": "🇲🇽",
      "tts_locale": "es-MX",
      "audio_accent": "Español Latinoamericano",
      "words_count": 8073,
      "cefr_breakdown": {
        "A1": 702,
        "C2": 2022,
        "C1": 1647,
        "B1": 1273,
        "B2": 1588,
        "A2": 841
      },
      "pos_breakdown": {
        "prep": 36,
        "adv": 238,
        "expr": 1115,
        "adj": 828,
        "conj": 37,
        "noun": 4743,
        "verb": 1021,
        "interj": 4,
        "pron": 24,
        "num": 27
      },
      "sqlite": {
        "file": "dict_es_latam.sqlite",
        "size_bytes": 3321856,
        "sha256": "7957226caab045569283a6636ae28d64a2ee02179020994185d4bbb1f0cb03ad"
      },
      "full_json": {
        "file": "es_latam.json",
        "size_bytes": 8437147,
        "sha256": "1883ab61d48a087c8616d8e7f6e2f919258cde90054e6703a329d77f3a7d8faa"
      },
      "levels": {
        "A1": {
          "level": "A1",
          "file": "es_latam/a1.json",
          "words_count": 702,
          "size_bytes": 618049,
          "sha256": "67639a727d575c13411f657ca8b6a21922ad40cd151d315889bdcf3684995b73"
        },
        "A2": {
          "level": "A2",
          "file": "es_latam/a2.json",
          "words_count": 841,
          "size_bytes": 806490,
          "sha256": "7473e14e3c13d1b98f895d61d9473b91d023aaf5361a8f1762dd2d8629b90c4b"
        },
        "B1": {
          "level": "B1",
          "file": "es_latam/b1.json",
          "words_count": 1273,
          "size_bytes": 1325281,
          "sha256": "662f456caa5ed410b4835b900906587e995c5b6a823b235083ed8fa76403dd39"
        },
        "B2": {
          "level": "B2",
          "file": "es_latam/b2.json",
          "words_count": 1588,
          "size_bytes": 1641711,
          "sha256": "ba025eb4e6d523647f6d3190fa63834b9a3c657adcf983b89825eb16c6d4d01d"
        },
        "C1": {
          "level": "C1",
          "file": "es_latam/c1.json",
          "words_count": 1647,
          "size_bytes": 1765084,
          "sha256": "06082a1e0504e63851b86ac816b2b8135d6848de6b2e78b2a4a36d07c89772c3"
        },
        "C2": {
          "level": "C2",
          "file": "es_latam/c2.json",
          "words_count": 2022,
          "size_bytes": 2280547,
          "sha256": "3fb54144a9f5a701fb303b0fc7b43b0950f92fc4a8703852941d6f31fdb7993c"
        }
      }
    },
    "es_es": {
      "code": "es_es",
      "name_en": "Castilian Spanish",
      "name_ru": "Испанский (Испания)",
      "flag": "🇪🇸",
      "tts_locale": "es-ES",
      "audio_accent": "Español Castellano",
      "words_count": 7936,
      "cefr_breakdown": {
        "A1": 693,
        "C2": 1911,
        "C1": 1635,
        "B1": 1275,
        "B2": 1590,
        "A2": 832
      },
      "pos_breakdown": {
        "prep": 36,
        "adv": 254,
        "expr": 1118,
        "adj": 832,
        "conj": 37,
        "noun": 4714,
        "verb": 886,
        "interj": 5,
        "pron": 27,
        "num": 27
      },
      "sqlite": {
        "file": "dict_es_es.sqlite",
        "size_bytes": 3100672,
        "sha256": "dfc03655dccffa14676054fb7a923a6fca79cfb162a1acab4314ae83b0cf6a6e"
      },
      "full_json": {
        "file": "es_es.json",
        "size_bytes": 8155616,
        "sha256": "10ea0c460663a8bac3182248355bb9a3be3edbeb271d89e3852bc200fd2c9dfd"
      },
      "levels": {
        "A1": {
          "level": "A1",
          "file": "es_es/a1.json",
          "words_count": 693,
          "size_bytes": 603260,
          "sha256": "d7826f1027c7a4d9008a5c5b4d7f1d98bc7b2358ab8950a8f9ef9d940c16adfc"
        },
        "A2": {
          "level": "A2",
          "file": "es_es/a2.json",
          "words_count": 832,
          "size_bytes": 790767,
          "sha256": "997929a350d9be1c0e5b030ca95713f0d721001c365e52690d844966cefe6ce7"
        },
        "B1": {
          "level": "B1",
          "file": "es_es/b1.json",
          "words_count": 1275,
          "size_bytes": 1319847,
          "sha256": "9fcbac7108b7bcd9fd23242a2ce6b60312fdf42b6d60bd46b99c53ae6291bed8"
        },
        "B2": {
          "level": "B2",
          "file": "es_es/b2.json",
          "words_count": 1590,
          "size_bytes": 1630805,
          "sha256": "977dd9be58e84687f3bbf771604bd1f88dac5ebf2c2bba77a701ce7c1493d2e7"
        },
        "C1": {
          "level": "C1",
          "file": "es_es/c1.json",
          "words_count": 1635,
          "size_bytes": 1736313,
          "sha256": "75721cfd5d1e73cb06572643add8ecda72080e3c86e449a7bd0f9b22f4807309"
        },
        "C2": {
          "level": "C2",
          "file": "es_es/c2.json",
          "words_count": 1911,
          "size_bytes": 2074639,
          "sha256": "6b1a37e6fe8ace9c3c2624b52001066f55c3095d9e0ce2fb8184bcf969e703c5"
        }
      }
    },
    "de": {
      "code": "de",
      "name_en": "German",
      "name_ru": "Немецкий",
      "flag": "🇩🇪",
      "tts_locale": "de-DE",
      "audio_accent": "Standarddeutsch",
      "words_count": 8837,
      "cefr_breakdown": {
        "C1": 1421,
        "A2": 1417,
        "B2": 1935,
        "A1": 1066,
        "C2": 1056,
        "B1": 1942
      },
      "pos_breakdown": {
        "сущ.": 6195,
        "глаг.": 1435,
        "прил.": 973,
        "нареч.": 204,
        "межд.": 25,
        "союз": 5
      },
      "sqlite": {
        "file": "dict_de.sqlite",
        "size_bytes": 3002368,
        "sha256": "33ca0866dc94fc7c5146a7d3832f3a6bb90c3e7151a0c9eeee0b04cfc80782ee"
      },
      "full_json": {
        "file": "de.json",
        "size_bytes": 8640068,
        "sha256": "3e9754a39e63de6daa97f5be4476faae2e5897f2f326b3e1f3c4df54fccf1ba4"
      },
      "levels": {
        "A1": {
          "level": "A1",
          "file": "de/a1.json",
          "words_count": 1066,
          "size_bytes": 1021480,
          "sha256": "8c8ffa2e9b5997a3feddc35c91d829f1f36dd691ab400c183114d24870877e45"
        },
        "A2": {
          "level": "A2",
          "file": "de/a2.json",
          "words_count": 1417,
          "size_bytes": 1384312,
          "sha256": "00d7e183c1301637610f83ed8db8556ce8001d751cf5d6cd2c8d4a98d32b85b3"
        },
        "B1": {
          "level": "B1",
          "file": "de/b1.json",
          "words_count": 1942,
          "size_bytes": 1907385,
          "sha256": "83aaa45e505eb4bcb5849cee0bba5dd8a35c30f2ee6354b3d06721dfa4c40f93"
        },
        "B2": {
          "level": "B2",
          "file": "de/b2.json",
          "words_count": 1935,
          "size_bytes": 1896523,
          "sha256": "20f99201c72bc0fe10efb41bd20d0dcff612424c8b66d2a11d1b7004d5007fcd"
        },
        "C1": {
          "level": "C1",
          "file": "de/c1.json",
          "words_count": 1421,
          "size_bytes": 1396814,
          "sha256": "7b153c8da19b7bb814781a760345d57244f9d9e50308c673c65bbacc934707a9"
        },
        "C2": {
          "level": "C2",
          "file": "de/c2.json",
          "words_count": 1056,
          "size_bytes": 1033569,
          "sha256": "e2b0a44109f497a8d93c8e6178aacd1b9d9b986f662dd90702f45fb61841020e"
        }
      }
    },
    "pt": {
      "code": "pt",
      "name_en": "Portuguese",
      "name_ru": "Португальский",
      "flag": "🇧🇷",
      "tts_locale": "pt-BR",
      "audio_accent": "Português",
      "words_count": 8889,
      "cefr_breakdown": {
        "C1": 1419,
        "B1": 1946,
        "B2": 1962,
        "A2": 1416,
        "A1": 1071,
        "C2": 1075
      },
      "pos_breakdown": {
        "сущ.": 8889
      },
      "sqlite": {
        "file": "dict_pt.sqlite",
        "size_bytes": 3026944,
        "sha256": "1d86bca6e6719d09e83457411e0d0782f9246dcb88892045002ba194cb04a0af"
      },
      "full_json": {
        "file": "pt.json",
        "size_bytes": 8692811,
        "sha256": "b483cadeb9d380173dddb3a4d858b887aab595984ad83f88806016f459157c0b"
      },
      "levels": {
        "A1": {
          "level": "A1",
          "file": "pt/a1.json",
          "words_count": 1071,
          "size_bytes": 1028027,
          "sha256": "6c3f3421e397ef38519704717f070f068f3f0e90f1b18b5fe974f4049c336484"
        },
        "A2": {
          "level": "A2",
          "file": "pt/a2.json",
          "words_count": 1416,
          "size_bytes": 1389398,
          "sha256": "abe1b0224ffc95c2857c8f38f8e25a38730f4288e3f0fb8a9416d81798cdb452"
        },
        "B1": {
          "level": "B1",
          "file": "pt/b1.json",
          "words_count": 1946,
          "size_bytes": 1915683,
          "sha256": "3904ef1a5c2685b75cd7bef9e519b67984c41f37eaeb04d6e6eee307ad3f9637"
        },
        "B2": {
          "level": "B2",
          "file": "pt/b2.json",
          "words_count": 1962,
          "size_bytes": 1915334,
          "sha256": "02eda5c9b9435cd8c36c5f75a96fa2e010b2d8bc103e75b77d0affb0e5e5ff4b"
        },
        "C1": {
          "level": "C1",
          "file": "pt/c1.json",
          "words_count": 1419,
          "size_bytes": 1379438,
          "sha256": "cdae76c4f7038f2515bb5c5d9607b8cfe37be61184e5888bb01ce8fa183365d0"
        },
        "C2": {
          "level": "C2",
          "file": "pt/c2.json",
          "words_count": 1075,
          "size_bytes": 1064946,
          "sha256": "108431f09bbecf171694ee90e58954c1153b04fb8fa3ecf57d300f31c3c207fa"
        }
      }
    },
    "ja": {
      "code": "ja",
      "name_en": "Japanese",
      "name_ru": "Японский",
      "flag": "🇯🇵",
      "tts_locale": "ja-JP",
      "audio_accent": "日本語 (Nihongo)",
      "words_count": 6927,
      "cefr_breakdown": {
        "C2": 811,
        "A1": 824,
        "C1": 1113,
        "B1": 1538,
        "A2": 1106,
        "B2": 1535
      },
      "pos_breakdown": {
        "сущ.": 6927
      },
      "sqlite": {
        "file": "dict_ja.sqlite",
        "size_bytes": 2281472,
        "sha256": "3fdafacdffacc92b57eb80ed6a9780c56719b70fd74b723ce639d8ce809db3b8"
      },
      "full_json": {
        "file": "ja.json",
        "size_bytes": 6573166,
        "sha256": "ef2c7d4f92b780e8e82a2f8916bed9658f5e2e6ed5d7489addf4c15b84f0a83e"
      },
      "levels": {
        "A1": {
          "level": "A1",
          "file": "ja/a1.json",
          "words_count": 824,
          "size_bytes": 794663,
          "sha256": "ec058e44115acf94f2fa18cf33224118b1a5b2694169c02c7ab620ffb4b0c0a0"
        },
        "A2": {
          "level": "A2",
          "file": "ja/a2.json",
          "words_count": 1106,
          "size_bytes": 1045432,
          "sha256": "4626f4bd6cee24e9a7d7de75bd9a6a614fe3477eb2851dae3300b13c7ad5cb22"
        },
        "B1": {
          "level": "B1",
          "file": "ja/b1.json",
          "words_count": 1538,
          "size_bytes": 1461371,
          "sha256": "2e4a3d1ebd5697a22fc3363c3cb0cd1dc76b9361bf008f4479f0891a4d8e19fe"
        },
        "B2": {
          "level": "B2",
          "file": "ja/b2.json",
          "words_count": 1535,
          "size_bytes": 1452884,
          "sha256": "da35d2dfcb0dca23cb7432e4e942772e4d9b1face086a1d85c6651bda7847443"
        },
        "C1": {
          "level": "C1",
          "file": "ja/c1.json",
          "words_count": 1113,
          "size_bytes": 1050553,
          "sha256": "66b617d0f3bd09f3377d7bee950730c7a95ac0dea1b90696c56a2113cd0b15cd"
        },
        "C2": {
          "level": "C2",
          "file": "ja/c2.json",
          "words_count": 811,
          "size_bytes": 768278,
          "sha256": "91bd3dcd1dafb1eb8e78ab6592064153eed64ed04a1f3d45cbed54625885949b"
        }
      }
    },
    "it": {
      "code": "it",
      "name_en": "Italian",
      "name_ru": "Итальянский",
      "flag": "🇮🇹",
      "tts_locale": "it-IT",
      "audio_accent": "Italiano",
      "words_count": 8240,
      "cefr_breakdown": {
        "A1": 587,
        "B2": 2431,
        "B1": 2048,
        "C2": 773,
        "C1": 1049,
        "A2": 1352
      },
      "pos_breakdown": {
        "prep": 38,
        "adv": 261,
        "misc": 40,
        "conj": 44,
        "interj": 19,
        "verb": 1717,
        "adj": 1381,
        "noun": 4656,
        "phrase": 28,
        "num": 30,
        "pron": 24,
        "idiom": 2
      },
      "sqlite": {
        "file": "dict_it.sqlite",
        "size_bytes": 3604480,
        "sha256": "7430c4e626446d8974590e4863fa6f2cb3543084e04c848c783ce18e86aad864"
      },
      "full_json": {
        "file": "it.json",
        "size_bytes": 9371655,
        "sha256": "18eca2f9c3f087ed426f3002d5a5f50c7b5ea60f790b83714ef16997dcafda7c"
      },
      "levels": {
        "A1": {
          "level": "A1",
          "file": "it/a1.json",
          "words_count": 587,
          "size_bytes": 540597,
          "sha256": "f1c1d222135dfb952caa3bfdbceae394f01430db99dff940e773c6f27d3e8d90"
        },
        "A2": {
          "level": "A2",
          "file": "it/a2.json",
          "words_count": 1352,
          "size_bytes": 1363247,
          "sha256": "b2414b87c3c1ff5fbdb2c84dde32368e65a125901d7769a5bfbae376685d806e"
        },
        "B1": {
          "level": "B1",
          "file": "it/b1.json",
          "words_count": 2048,
          "size_bytes": 2211264,
          "sha256": "f47121a50040c066fae1dede2896099e75114fb53cc7971e0bac2b43d9eda113"
        },
        "B2": {
          "level": "B2",
          "file": "it/b2.json",
          "words_count": 2431,
          "size_bytes": 2879663,
          "sha256": "f195630f6c8f2849ee7740e613ed8a3d87b0aa78313d0189e34dfabc1d6cf904"
        },
        "C1": {
          "level": "C1",
          "file": "it/c1.json",
          "words_count": 1049,
          "size_bytes": 1356407,
          "sha256": "743570a6106c8aabe2e1bd6c0095d7196c0dcfdc8f42ca7363fb7f5cb1348f87"
        },
        "C2": {
          "level": "C2",
          "file": "it/c2.json",
          "words_count": 773,
          "size_bytes": 1020492,
          "sha256": "e426eff04a18d08b2a87bd9a92f1bdef584a1ebcd05b6ebd6400a1c36e29b643"
        }
      }
    }
  },
  "master_database": {
    "file": null,
    "note": "Per-language databases (dict_{lang}.sqlite) are served for high performance OTA sync",
    "words_count": 78782
  }
}