Project Language Courses Cheat Sheet
Sidebar
AI ยท Project Language Courses Cheat Sheet
How language lessons, Basic Conversation courses, grammar courses, script courses, songs and kanji are generated. From rules/language_rules.md (L1-L6), language_courses.md (L7-L9), language_syllabus.md, language_topic.md and kanji_rules.md (K1-K4).
Languages and accents (L1)
JapaneseRed #d64550. Beginner; kana known, kanji introduced gently with furigana or romaji.HungarianGreen #5aa469. Beginner-plus for lessons; complete beginner for Basic courses.FrenchBlue #4f8ef7. Complete beginner for Basic courses.GermanGold #e0a82e. Complete beginner; the template for every Basic course.KoreanFlag red #f87171. Complete beginner; casual and drama speech matters.SpanishWarm orange #f2762e. Spain (Castilian) by default, with Latin America notes.new language (L5)Claude first asks: add it? level and goal? accent colour? script or dialect needs?Single lessons (L2-L4)
<language>:<topic>One lesson. No outline step.topical lesson6 dialog cards, then exactly 20 vocabulary rows, then tip boxes.grammar lessonFor tense and conjugation topics: conjugation cards, two demo verbs, 6 dialogs, 20 vocabulary rows.vdd:<language>:<verb>A verb deep dive: all pronouns, 3-4 mini-dialogues, 10-15 related verbs.PDFpy scripts/python/build_language_lesson_pdf.py <file.html>; the accent and flag come from the language.filename<language>_lesson_<topic>.html, lowercase with underscores.Where files go (L3)
japan/japanese-language/japanese-lessons/Japanese lessons. Courses: japan/japanese-basic-<n>/.hungary/hungarian-lessons/Courses: hungary/hungarian-basic-<n>/.france/french-lessons/Courses: france/french-basic-<n>/.germany/german-lessons/Courses: germany/german-basic-<n>/.korea/ and spain/Courses only so far: korean-basic-<n>/ and spanish-basic-<n>/.new languageSame pattern, plus an entry in the site's navigation list under Languages.Basic Conversation (L8)
<language>_basic<n>-<m>Chapter m of course n. Chapter lists are language-neutral, in rules/language_topic.md.Courses 1-36 dialogs with a pronunciation line under each, key-phrases table, 3-verb conjugation table, 20-row vocabulary with a "Say it" column, 1-3 tip boxes, "Try It Yourself" with answers in <details>.Course 4 onwardLonger dialogs with no pronunciation line, plus a short reading text with true/false questions.long chaptersSplit into Part 1/2/3 inside one file so numbering stays fixed.last chapterA "Course Complete" recap table and a pointer to the next course.file<language>_basic_conversation_<course>_<chapter>.html.Levels and grammar track
levelsBasic (A1-A2), Intermediate (B1), Advanced (B2); a soft target of about 8 courses each.numberingRestarts at 1 for each level: german_intermediate1.moving upYour decision. Claude recommends stay or move up when outlining.<language>_grammar<n>Reference style: rule box, example tables, "Watch out" tip boxes, short exchanges, quick-reference table, 8-10 practice items.grammar namesFolder <language>-grammar-<n>/, files <language>_grammar_<n>_<m>.html.checklistsA language's Basic is done when every syllabus item is ticked in some course.Script courses (L9)
hiragana1, katakana1Chapters hiragana1-1; folder japan/hiragana-1/.<language>_alphabet<n>For Latin-script languages whose spelling needs teaching.sizeUp to 3 new characters (or sounds) per chapter, inside one sound row where possible.romajiShown for every kana in the early courses, then faded.formatCharacters with memory hooks, look-alike warnings, a cumulative word list, drills in <details>, a Coming-Up box. No scripts.kanji courseskanji1, kanji2...: one kanji per chapter, about 20 chapters per course, following the school grade list.Songs (L7)
song:<title>:<artist>:<language>Only for copyright-free lyrics (public domain, folk, or original). You are responsible for supplying only those.linesGroups of 2-3: target line, transliteration for non-Latin scripts, English.vocabularyAfter the last line, grouped by part of speech.songvocab:...Vocabulary only: no line translation, no romanised lines, no quoted fragments.multi-part songsGenerated in parts, then combined into one page and one PDF.file<language>_lesson_song_<title>.html or ..._songvocab_<title>.html.Kanji pages (K1-K4)
/new-kanji <char> [number]Builds the page, the tile and the badge in one step.animation (K1)AnimCJK with self-hosted data. No CDN script.two copies (K2)Write identical files to the archive folder under reference-materials/kanji/ and to the live website/resources/japanese/kanji/.tiles page (K3)Add or update the entry in kanjiList in kanji_tiles_cms_content.html. The back link on each page points to /japan/kanji-tiles/.World of Kanji (K4)A non-zero number adds a ๐ World of Kanji #n badge. 0 means omit it. If no number is given, Claude asks.PDFsNot generated for kanji pages.Snapshot
Snapshot of the rule files as at 2026-11-08, summarised by reading them. Nothing was run to test it. If this sheet and a rule file ever disagree, the rule file wins, and the sheet needs regenerating. The Japanese-lesson example files Claude copies from are in rules/examples/language-lessons/.