A Flask-based web application for displaying English technical terms with Arabic translations and explanations. This is an MVP (Minimum Viable Product) that reads terms from local markdown files.
- Bilingual Support: English terms with Arabic translations
- RTL Layout: Proper right-to-left layout for Arabic content
- Search Functionality: Full-text search across English terms, Arabic translations, and explanations
- Responsive Design: Mobile-friendly interface using Tailwind CSS
- Markdown Support: Rich text formatting with images support
- Server-side Rendering: Fast loading with Flask templates
pip install -r requirements.txtpython run.pyThe application will be available at: http://localhost:8000
Add new terms by creating markdown files in the terms/ directory. Each file should follow this format:
# English Term
## Arabic Translation
Explanation content here with markdown formatting support.
You can include:
- **Bold text**
- *Italic text*
- Lists
- Code blocks
- Images
- And more!dict/
├── app/
│ ├── datastore/
│ │ ├── term_loader.py # Loads terms from local directory
│ │ └── term_parser.py # Parses markdown files
│ ├── routes/
│ │ └── main.py # Flask routes
│ ├── templates/
│ │ ├── base.html # Base template with RTL support
│ │ ├── index.html # Home page
│ │ ├── term.html # Term detail page
│ │ ├── search.html # Search results page
│ │ └── 404.html # Error page
│ └── __init__.py
├── terms/ # Directory for markdown term files
│ ├── activation-function.md
│ ├── neural-network.md
│ └── machine-learning.md
├── requirements.txt
└── run.py
GET /- Home page with all termsGET /term/<slug>- Individual term detail pageGET /search?q=<query>- Search termsGET /refresh- Refresh terms cache
The application comes with 3 sample terms:
- Activation Function (دالة التفعيل)
- Neural Network (الشبكة العصبية)
- Machine Learning (تعلم الآلة)
- GitHub integration for community contributions
- User authentication and role management
- Advanced search filters
- Term categories and tags
- Export functionality
- Admin panel for term management
- Backend: Python Flask
- Frontend: HTML, CSS, Tailwind CSS, JavaScript
- Markdown: Python-Markdown library
- Deployment: Ready for Heroku and other cloud platforms
To add new terms:
- Create a new
.mdfile in theterms/directory - Follow the markdown format shown above
- Restart the application or visit
/refreshto load new terms
This project is open source and available under the MIT License.