# Phil Fluent: words in context and Everyday 1,000

Release: 2026-10-13. Languages: Indonesian (`id`), Spanish (`es`), European Portuguese (`pt-PT`).

Each language contains two distinct learning paths:
- Core 1,000: the existing frequency-based, filtered word-form list. See VOCABULARY-SOURCES.md for OpenSubtitles/Wiktionary provenance and the CC BY-SA 4.0 licence. This release corrects a small set of English glosses. Unchanged built-in glosses are updated by exact source-value comparison; personal edits are retained.
- Everyday 1,000: a curated collection of useful utterances, not a statistical top-1,000 sentence ranking. Existing included phrases retain their original card IDs. This preserves learning/review/reset history without copying or fabricating answers. Additional phrases have new stable IDs.

## Example sentences

Each of the 1,000 word entries has two or three natural, bilingual contexts. Sources include existing Phil Fluent teaching phrases, original teaching examples, and selected Tatoeba sentences distributed by ManyThings:

- https://www.manythings.org/anki/ (snapshot available 2026-02-13)
- https://www.manythings.org/anki/ind-eng.zip
- https://www.manythings.org/anki/spa-eng.zip
- https://www.manythings.org/anki/por-eng.zip

The original TSV columns are English, target language, and sentence-specific attribution. Corpus sentences retain attribution to the Tatoeba contributors and original sentence IDs in each example's `attribution` field. The user can open Example sources beneath a word's examples. The data files retain those fields. Tatoeba sentences are licensed under Creative Commons Attribution 2.0 France:
https://creativecommons.org/licenses/by/2.0/fr/

Adaptations, where used, are identified in attribution. Original supplementary teaching examples are distinct from corpus quotations. The licensed vocabulary list is a separate dataset; its share-alike licence remains unchanged. This release received editorial and automated checks, not a complete independent teacher review.

## Implementation and data access

Examples are static public content, fetched in small chunks only after a word's answer is visible. They never block opening a course or advancing a card. Chunk responses are reused within the session. Original examples are shown only when both the word and its English gloss match; a user's edited card keeps its own example.

Files:
- `/data/phrases/{id,es,pt-PT}.json`: 1,000 phrase entries per language, with any attribution and original legacy IDs.
- `/data/contexts/2026-10-13/{language}/{bucket}.json`: word contexts keyed by stable vocabulary card ID. `bucket` is the unfiltered corpus source rank divided by 100, rounded down. Each entry contains `front`, `back`, and `examples`.
- `/data/vocabulary/{id,es,pt-PT}.json`: word lists with exact source ranks and dictionary links.

Run `scripts/import-course-assets.cjs <reviewed-assets-directory>` to prepare source and static assets; `scripts/verify-contexts.cjs`, `scripts/verify-courses.cjs`, and the existing regression checks validate counts, separation, migrations, progress preservation and context loading.
