shiping
면접·시험 도우미, AI가 실시간으로 풀이 아이디어를 제공
Urdu·Hindi·English로 일상 독일어를 배우고, 사진 플래시카드·단어 목록·진도 추적·PDF 보고서를 만들 수 있습니다
Learn everyday German from Urdu, Hindi or English. Flashcards with pictures, your own word lists, progress tracking and printable PDF reports. Private: your data stays on your device.
교육JavaScript · CSSGitHub @FizzaMubeen온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Live: https://wortzi.fizzamubeen.com · Version: 1.12.0 · Changelog
Learn everyday German from Urdu, Hindi or English. Picture flashcards, your own word lists, daily practice that adapts to you, and printable PDFs of everything you learn. Private by design: no account, no tracking, all data stays on the learner's phone.
Built for people who just moved to Germany and need German for real life: the bakery, the U-Bahn, the Bürgeramt, the doctor and work.
| Your mother tongue is the bridge | Every card and lesson is in Urdu (Nastaliq), Hindi (Devanagari), Roman script and English. The grammar guide shows where Urdu and Hindi already work like German: verbs at the end after weil and dass, mujhe = mir. |
| Two personal lists | ☆ I want to learn and ✓ I learned. Tap ☆ or ✓ on any word, add your own words and sentences, and watch words move from one list to the other as you master them. |
| Your own words become flashcards | A sentence for your job interview or your street name is practised exactly like the built-in cards. |
| Learning on paper | One tap makes a PDF: a progress report for your teacher, a personal word book, cut-out flashcards with pictures (fold or double-sided), or a full A1/A2 course book with your status next to every word. |
| Private and safe | Nothing leaves the device. No sign-up, cookies, analytics or outside fonts. Backups can be encrypted with a password (AES-256). |
| Daily-life method | Spaced repetition (1, 2, 4, 7, 15, 30 days), a 10-minute daily plan, active recall, listen-and-repeat, and sentences before grammar. See Guide → How to learn German for daily life. |
wortzi, and upload all files from this folder (keep the folder structure, including .github/).main (or run the workflow from the Actions tab). The workflow downloads the fonts and publishes the site.https://FizzaMubeen.github.io/wortzi/.Every push to main updates the site automatically.
bash scripts/build-wp-plugin.sh → dist/wortzi-wp.zip, or[wortzi]
Options: [wortzi height="900" link="no"]. Works in the block editor and in Elementor's Shortcode widget.The app runs inside an iframe, so your theme's CSS cannot break it and it cannot affect your theme. It stores nothing on your server.
Upload the folder to any HTTPS web space (e.g. yoursite.com/german/). Run bash scripts/get-fonts.sh once first so the fonts are included.
python3 scripts/build-standalone.py → dist/wortzi-standalone.html. Open it with a double-click or send it to someone. (No offline install or encrypted backup from a local file; everything else works.)
Opening
index.htmldirectly from your computer does not work, because browsers block loadingdata/deck.txtfrom disk. Use one of the options above, or for testing runpython3 -m http.serverin this folder and openhttp://localhost:8000.
data/deck.txt## food|A1|🍽️|Food & drink
🍞|روٹی|roti|रोटी|the bread|das Brot
## id|level|emoji|title starts a unit. Units appear in the order of the file.picture|Urdu|Roman|Hindi|English|Germander/die/das get their gender color automatically.id or the German text of an existing card: progress is linked to them. Fixing Urdu, Hindi or English is always safe.B1 as the level; it gets its own section.data/guide.htmlEach lesson is a <section data-id="…" data-title="…" data-level="A1" data-sum="…">. Copy an existing one and change the text.
Raise VERSION at the top of sw.js (e.g. wortzi-1.4.1) so phones that installed the app download the new files. On GitHub Pages, just commit and push.
localStorage on the learner's device.unsafe-eval only because the offline listening engine compiles itself in the browser.)scripts/get-stt.sh) runs entirely on the phone. The German model is downloaded from this site once, when the learner asks.audio/, made by the Make audio workflow). The device's own voice is a fallback. Nothing is sent to any speech service when listening.Because nothing is collected, no cookie banner is needed for the app itself. (If you embed it on WordPress, your site's own cookies and analytics still apply to the surrounding page.)
index.html app shell
assets/css/app.css all styles (mobile-first, print styles for PDFs)
assets/css/fonts.css self-hosted fonts (SIL Open Font License)
assets/js/app.js the app (plain JavaScript, no build step)
assets/fonts/ filled by scripts/get-fonts.sh
assets/icons/ app icons
data/deck.txt all flashcards
data/guide.html grammar lessons
audio/ recorded German audio (made automatically, do not edit)
sw.js offline support
manifest.webmanifest install as app
wordpress-plugin/ WordPress shortcode plugin
scripts/ fonts, WordPress zip, single-file build
.github/workflows/ automatic deploy to GitHub Pages
© 2026 Fizza Mubeen. All rights reserved. Wortzi is proprietary: the code, the learning content, the audio, the design, the name and the mascot. You may use the app at wortzi.fizzamubeen.com for your own learning, but you may not copy, modify, publish or reuse any part of it without written permission. See LICENSE.
Third-party parts keep their own licences: fonts (SIL Open Font License 1.1), offline listening (Vosk, Apache 2.0), voice (Piper "thorsten").