# Vocabulary data attribution

The 7,338-entry word bank in `vocabulary-data.json` is adapted from:

- **Wiktionary contributors**, English-language Wiktionary German entries, extracted by Tatu Ylonen's [Kaikki / Wiktextract](https://kaikki.org/dictionary/German/). Each word's feedback links to its [Wiktionary entry and contributors](https://en.wiktionary.org/), whose history records authorship. Dictionary text: [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/).
- **Hermit Dave**, [FrequencyWords](https://github.com/hermitdave/FrequencyWords), German OpenSubtitles 2018 frequency counts. Content: CC BY-SA 4.0.
- **Noos**, [German frequency list](https://noosflashcards.com/resources/frequency-lists/german), used to cross-check primary parts of speech and avoid ranking an uncommon homograph by a common function word's frequency. List: CC BY-SA 4.0.

DeutschLearner's adapted vocabulary data is also **CC BY-SA 4.0**. You may copy and adapt it under that licence, with attribution, a link to the licence and an indication of changes. This data licence applies to the adapted word bank, not as a new licence declaration for unrelated application code.

Changes: selected eligible dictionary lemmas and one sense per spelling; removed routine inflection/alternative-form entries and unsuitable senses/tags; normalized article and plural fields; selected 5,200 base entries, added 1,177 dictionary-verified lemmas for community selections, then 288 foundation cards and 673 everyday cards (433 dictionary-backed words and 240 original lexical expressions); added reviewed concise translations, independently written function-word/number/expression glosses and topic groups. Dictionary sense identifiers or editorial sense markers and source fingerprints are included in the JSON. Original everyday expressions and editorial glosses are authored by DeutschLearner and included under the adapted bank's CC BY-SA 4.0 licence. No example quotations, recordings or images were imported.

This is a general frequency bank extending beyond A2, not an official CEFR or Goethe list. The ranges “first 500” and “first 1,500” refer to the bank's frequency ordering. Topic groups are starter collections, not exhaustive thematic courses. Each question tests one dictionary sense; other meanings can exist.

Built locally on 2026-11-04. To rebuild, run `python scripts/build-vocabulary.py`, then `python scripts/extend-vocabulary-levels.py` from the repository root. Large raw inputs stay in `work/` and are never deployed. The resulting static JSON is loaded only when Vocabulary is opened; answering does not call an external dictionary or an LLM.

Pronunciation media: the `audio` paths point to synthetic German MP3 clips generated for this app at build time using de-DE-KatjaNeural through the same `edge-tts` workflow as the existing conversation audio. They contain only the public dictionary form and, for nouns, its article. These recordings are not imported Wiktionary recordings or quotations. No generation service or build dependency is contacted by normal playback. Browser German speech synthesis is a fallback when a clip cannot load.

## Study selections

Study labels by lemma and part of speech are adapted from **Denis Novikov (voothi)**, [German 5000](https://github.com/voothi/20260716201616-german-5000), commit `d22b4433b45f64c2fe6ed4213e4ca3383c82c051`, under the [MIT licence](VOCABULARY-STUDY-LICENSE.txt). The upstream data originated in community Anki deck 38922074. We retain only normalized headwords, parts of speech and study labels. Dictionary definitions and noun forms continue to come from Wiktionary; no upstream example sentences, translations or audio were copied.

Supported selections: **A1 essentials: 1,081; A1–A2 essentials: 2,129 (1,081 A1 + 1,048 additional A2); B1 focus: 1,553; B2+ focus: 1,476**. The whole bank also includes 2,180 unclassified cards. Beginner essentials are editorial selections checked against the [Goethe A1 reference](https://www.goethe.de/pro/relaunch/prf/de/A1_SD1_Wortliste_02.pdf) and [Goethe A2 reference](https://www.goethe.de/pro/relaunch/prf/de/Goethe-Zertifikat_A2_Wortliste.pdf) headwords and word groups. These references describe approximately 650 A1 words and 1,300 A2 lexical units. Our cards include common derived forms, calendar words and expressions, so counts are not directly equivalent. No Goethe example sentences or PDF pages are redistributed. The 5,000 in the community source name is not an official A2 word count.

B1/B2+ retain community study groupings. B2+ includes words beyond B2. Labels describe headword study selection, not all senses or mastery. Unclassified cards remain available in the whole bank. These are not official Goethe lists, certified CEFR classifications or a claim of complete exam coverage. Frequency is never used to assign levels. Beginner curation and original glosses are included in the adapted word bank's CC BY-SA 4.0 licence.
