How We Built Language Progression Levels in Lingua Verbum
A deep dive into Lingua Verbum's vocabulary-based level system and the language-specific thresholds behind each progression milestone.
The Philosophy Behind Our Level System
At Lingua Verbum, we believe that language learning is a journey best measured by real, tangible progress. That’s why our progression system is based on a simple, powerful metric: the number of words you know in your target language.
But what does “knowing a word” mean? In our system, every unique word form you mark as known counts toward your total. For example, “apple” and “apples” are counted as two known words, reflecting the reality that understanding variants is part of true language mastery. This approach recognizes the richness and complexity of each language. Some have many word forms (like Russian or Arabic), while others have fewer (like Chinese or Japanese).
We’ve carefully calibrated our level thresholds for each language, taking into account factors like:
- Morphological complexity: Languages with more inflections and variants require higher word counts for each level.
- Frequency distributions: We analyzed how quickly learners encounter new words in real texts.
- Learner experience: We want each level to feel like a meaningful achievement, not just an arbitrary number.
How Levels Are Determined
Each language has six main levels, from “Beginner 1” to “Advanced 2.” As you mark more words as known, you’ll progress through these levels. The thresholds for each level are different for every language, reflecting the unique structure and vocabulary size of each one.
For example, reaching “Intermediate 1” in Spanish requires knowing 8,978 words, while in Japanese it’s 7,980. This ensures that your progress feels fair and motivating, no matter which language you’re learning.
Why Count Variants?
Counting each word form separately (e.g., “run,” “runs,” “ran,” “running”) gives a more accurate picture of your vocabulary depth. It also encourages you to engage with the real diversity of language, rather than just memorizing dictionary headwords. This method is especially important for languages with rich inflectional systems, where knowing a single root word isn’t enough to understand all its uses.
Level Thresholds for Every Language
Below is a table showing the known word requirements for each level in every language we support. These numbers are based on extensive research and real learner data.
| Language | Beginner 1 | Beginner 2 | Intermediate 1 | Intermediate 2 | Advanced 1 | Advanced 2 |
|---|---|---|---|---|---|---|
| Afrikaans (af) | 530 | 1590 | 6360 | 12720 | 22000 | 32000 |
| Arabic (ar) | 940 | 2821 | 11444 | 22810 | 38486 | 55731 |
| Armenian (hy) | 810 | 2430 | 9720 | 19440 | 32400 | 46800 |
| Asturian (ast) | 700 | 2100 | 8400 | 16800 | 26500 | 38500 |
| Azerbaijani (az) | 920 | 2760 | 11040 | 22100 | 36800 | 52600 |
| Belarusian (be) | 880 | 2640 | 10600 | 21150 | 35500 | 51500 |
| Bosnian (bs) | 820 | 2460 | 9840 | 19750 | 33500 | 48500 |
| Bulgarian (bg) | 830 | 2490 | 9960 | 19950 | 33800 | 49000 |
| Catalan (ca) | 770 | 2310 | 9240 | 18480 | 28500 | 41000 |
| Chinese (zh) | 585 | 1756 | 7122 | 14195 | 23951 | 34683 |
| Croatian (hr) | 840 | 2520 | 10100 | 20250 | 34500 | 49500 |
| Czech (cs) | 850 | 2550 | 10200 | 20400 | 34800 | 50000 |
| Danish (da) | 570 | 1711 | 6940 | 13832 | 23338 | 33795 |
| Dutch (nl) | 560 | 1680 | 6720 | 13440 | 23240 | 33880 |
| English (en) | 600 | 1800 | 7200 | 14500 | 25000 | 37000 |
| Estonian (et) | 950 | 2850 | 11400 | 22500 | 37000 | 52500 |
| Farsi (fa) | 780 | 2340 | 9360 | 18500 | 30800 | 44200 |
| Filipino (fil) | 562 | 1686 | 6840 | 13633 | 23002 | 33309 |
| Finnish (fi) | 1000 | 3000 | 12000 | 24000 | 41000 | 58000 |
| French (fr) | 782 | 2312 | 9112 | 17952 | 28220 | 41140 |
| Galician (gl) | 750 | 2250 | 9000 | 18000 | 28000 | 40500 |
| Georgian (ka) | 970 | 2910 | 11600 | 23200 | 38500 | 54500 |
| German (de) | 660 | 1980 | 8031 | 16006 | 27007 | 39109 |
| Greek (el) | 865 | 2247 | 9114 | 18166 | 30650 | 44384 |
| Hebrew (he) | 900 | 2700 | 10800 | 21500 | 37000 | 53000 |
| Hungarian (hu) | 1000 | 3000 | 12000 | 24000 | 41000 | 58000 |
| Icelandic (is) | 727 | 2181 | 8845 | 17630 | 29746 | 43076 |
| Indonesian (id) | 575 | 1724 | 6992 | 13936 | 23513 | 34049 |
| Irish (ga) | 800 | 2400 | 9600 | 19000 | 32000 | 46000 |
| Italian (it) | 720 | 2160 | 8762 | 17465 | 29468 | 42672 |
| Japanese (ja) | 665 | 1995 | 7980 | 15960 | 27597 | 40232 |
| Kazakh (kk) | 920 | 2760 | 11000 | 22000 | 37000 | 52500 |
| Korean (ko) | 1070 | 3210 | 13020 | 25951 | 43786 | 63406 |
| Kurdish (ku) | 880 | 2640 | 10500 | 21000 | 35500 | 50500 |
| Kyrgyz (ky) | 910 | 2730 | 10900 | 21800 | 36800 | 52500 |
| Latvian (lv) | 840 | 2520 | 10000 | 20000 | 34000 | 49500 |
| Lithuanian (lt) | 870 | 2610 | 10400 | 20800 | 36000 | 51500 |
| Luxembourgish (lb) | 680 | 2040 | 8200 | 16400 | 27500 | 39800 |
| Macedonian (mk) | 830 | 2490 | 9960 | 19800 | 33500 | 48500 |
| Malay (ms) | 575 | 1725 | 6900 | 13800 | 23400 | 34000 |
| Maltese (mt) | 910 | 2730 | 10900 | 21800 | 37000 | 53000 |
| Mongolian (mn) | 930 | 2790 | 11200 | 22400 | 37500 | 53000 |
| Norwegian (no) | 570 | 1710 | 6880 | 13760 | 23200 | 33600 |
| Occitan (oc) | 770 | 2310 | 9240 | 18400 | 29000 | 41000 |
| Pashto (ps) | 850 | 2550 | 10200 | 20400 | 34500 | 49500 |
| Polish (pl) | 845 | 2536 | 10286 | 20501 | 34591 | 50091 |
| Portuguese (pt) | 665 | 1995 | 8092 | 16129 | 27213 | 39407 |
| Romanian (ro) | 760 | 2279 | 9244 | 18425 | 31088 | 45018 |
| Russian (ru) | 856 | 2568 | 10416 | 20761 | 35029 | 50725 |
| Serbian (sr) | 840 | 2520 | 10100 | 20200 | 34500 | 49500 |
| Slovak (sk) | 850 | 2550 | 10200 | 20400 | 34800 | 50000 |
| Slovenian (sl) | 830 | 2490 | 9960 | 19800 | 33500 | 48500 |
| Somali (so) | 800 | 2400 | 9600 | 19000 | 31500 | 45500 |
| Spanish (es) | 771 | 2278 | 8978 | 17688 | 27805 | 40535 |
| Swedish (sv) | 545 | 1635 | 6540 | 13080 | 22618 | 32973 |
| Tajik (tg) | 780 | 2340 | 9360 | 18500 | 30800 | 44200 |
| Turkish (tr) | 950 | 2850 | 11400 | 22800 | 38000 | 54000 |
| Ukrainian (uk) | 910 | 2729 | 11067 | 22058 | 37218 | 53895 |
| Urdu (ur) | 880 | 2640 | 10500 | 21000 | 35500 | 50500 |
| Uzbek (uz) | 920 | 2760 | 11000 | 22000 | 37000 | 52500 |
| Welsh (cy) | 800 | 2400 | 9600 | 19000 | 32000 | 46000 |
| Xhosa (xh) | 900 | 2700 | 10800 | 21500 | 36000 | 51000 |
| Zulu (zu) | 900 | 2700 | 10800 | 21500 | 36000 | 51000 |
| Cantonese (yue) | 575 | 1724 | 6992 | 13936 | 23513 | 34049 |
Happy learning!