An education app which you can study through out High School!
- C 96.1%
- CSS 2.6%
- CMake 0.5%
- Batchfile 0.5%
- Makefile 0.3%
| .gitignore | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
| sprechen.c | ||
Sprechen.c
A German learning application written in C using GTK 4.
Description
Sprechen.c is an educational program designed for practicing German language skills, targeted at high school and gymnasium students. The application features a beautiful graphical user interface with a gradient background and displays welcome information about the program.
Features
- Beautiful gradient background with modern styling
- Centered welcome message with information about the program
- Resizable window (standard GTK behavior)
- Written in C using GTK 4 for cross-platform compatibility
- CSS-based styling for easy customization
Installation
Prerequisites
To build and run Sprechen.c, you need:
-
GTK 4 Development Libraries
- macOS:
brew install gtk4 - Linux (Debian/Ubuntu):
sudo apt install libgtk-4-dev - Linux (Fedora):
sudo dnf install gtk4-devel - Linux (Arch):
sudo pacman -S gtk4
- macOS:
-
Build Tools
- GCC compiler (or Clang)
- Make utility
- pkg-config (usually comes with GTK installation)
Building the Application
- Clone or download this repository
- Navigate to the project directory
- Build using the provided Makefile:
Or manually:makegcc -o sprechen sprechen.c `pkg-config --cflags --libs gtk4`
Running the Application
make run
or
./sprechen
Usage
Once launched, the application will display a window with:
- Title: "Sprechen.c"
- Welcome message in Czech (as currently implemented)
- Beautiful dark bluish gradient background
- Styled text box with rounded corners and subtle shadow
The window is fully resizable like any standard application window.
To-Do Plans
Future enhancements planned for Sprechen.c:
Short-term Goals
- Add interactive German vocabulary exercises
- Implement basic grammar practice modules
- Add audio pronunciation features
- Create lesson progression system
- Add user settings panel
Medium-term Goals
- Implement spaced repetition system for vocabulary
- Add listening comprehension exercises
- Include reading comprehension texts
- Add writing practice with feedback
- Implement progress tracking and statistics
Long-term Goals
- Add multiple difficulty levels (A1-C2)
- Include cultural information about German-speaking countries
- Implement offline mode with downloadable lessons
- Add teacher/classroom management features
- Implement achievement system and rewards
Technical Improvements
- Separate UI code into multiple files (ui.c, ui.h)
- Move CSS styling to external file
- Implement lesson data loading from JSON/XML
- Add internationalization support (gettext)
- Improve accessibility features
- Add unit testing framework
Contributing
Contributions are welcome! Please feel free to submit pull requests or open issues for:
- Bug fixes
- Feature suggestions
- Translation improvements
- Documentation enhancements
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Created as a learning exercise in C and GTK programming
- Inspired by language learning applications
- Built with GTK 4 for modern GUI development