From f860eb66e610fb28110c1e0e7d2cd00b997ef38d Mon Sep 17 00:00:00 2001 From: Benjamin Admin Date: Wed, 25 Mar 2026 22:18:20 +0100 Subject: [PATCH] Add German IPA support (wiki-pronunciation-dict + epitran) Hybrid approach mirroring English IPA: - Primary: wiki-pronunciation-dict (636k entries, CC-BY-SA, Wiktionary) - Fallback: epitran rule-based G2P (MIT license) IPA modes now use language-appropriate dictionaries: - auto/en: English IPA (Britfone + eng_to_ipa) - de: German IPA (wiki-pronunciation-dict + epitran) - all: EN column gets English IPA, other columns get German IPA - none: disabled Frontend shows CC-BY-SA attribution when German IPA is active. Co-Authored-By: Claude Opus 4.6 --- .../components/grid-editor/GridToolbar.tsx | 31 +- .../components/grid-editor/useGridEditor.ts | 2 +- klausur-service/backend/cv_ipa_german.py | 135 + klausur-service/backend/cv_vocab_types.py | 32 + klausur-service/backend/data/de_ipa.tsv | 636901 +++++++++++++++ klausur-service/backend/grid_editor_api.py | 53 +- klausur-service/backend/requirements.txt | 3 + 7 files changed, 637123 insertions(+), 34 deletions(-) create mode 100644 klausur-service/backend/cv_ipa_german.py create mode 100644 klausur-service/backend/data/de_ipa.tsv diff --git a/admin-lehrer/components/grid-editor/GridToolbar.tsx b/admin-lehrer/components/grid-editor/GridToolbar.tsx index 2fde08e..3484298 100644 --- a/admin-lehrer/components/grid-editor/GridToolbar.tsx +++ b/admin-lehrer/components/grid-editor/GridToolbar.tsx @@ -22,6 +22,7 @@ interface GridToolbarProps { const IPA_LABELS: Record = { auto: 'IPA: Auto', en: 'IPA: nur EN', + de: 'IPA: nur DE', all: 'IPA: Alle', none: 'IPA: Aus', } @@ -93,16 +94,26 @@ export function GridToolbar({ {/* IPA mode */} - +
+ + {(ipaMode === 'de' || ipaMode === 'all') && ( + + CC-BY-SA + + )} +
{/* Syllable mode */}