Context-aware bidirectional translation between English and Moroccan Darija powered by Google Gemini AI, integrated directly into your browser.
# 🌍 Darija Translate Chrome Extension
Context-aware bidirectional translation between English and Moroccan Darija (Arabic Dialect) powered by Google Gemini AI, integrated directly into your browser.
## 🎥 Demo Video
Watch Full Demo Video
## 📸 Screenshots
### Home Page
### Login Page
### Sign Up Page
### Translation Page
### Other Pages
## Features
- 🌐 **Side Panel Integration** - Translate without leaving your current page
- 🔄 **Bidirectional Translation** - English ⇄ Darija
- 🤖 **AI Context Detection** - Automatic context detection (casual, formal, medical, etc.)
- 🔊 **Text-to-Speech** - Listen to translations in both languages
- 🎯 **Right-Click Translation** - Translate selected text from context menu
- 🔐 **Secure Authentication** - User sessions with JWT
- ⚙️ **Configurable API URL** - Connect to your backend deployment
### Tech Stack
#### **Frontend (Chrome Extension)**
- HTML5, CSS3, JavaScript (ES6+)
- Chrome Manifest V3
- Side Panel API
- Material Design Icons
- Web Speech API
#### **Backend**
- Node.js 18+
- Express.js
- Google Gemini API
- bcrypt (password hashing)
- JSON Web Tokens (JWT)
#### **DevOps**
- Docker & Docker Compose
- Environment configuration
## 🚀 Quick Start
### Prerequisites
- Node.js 18+ installed
- Chrome browser (latest version)
- Google Gemini API key (Get one here)
### 1️⃣ Backend Setup
```bash
# Clone repository
git clone
github.com
cd darija-translate
# Install dependencies
cd backend
npm install
# Configure environment
cp .env.example .env
# Edit .env and add your GEMINI_API_KEY
# Start server
npm start
```
The backend will run on `
localhost`
### 2️⃣ Docker Setup (Alternative)
```bash
# Using Docker Compose
docker-compose up -d
# Or build manually
docker build -t darija-translate-api .
docker run -p 3000:3000 -e GEMINI_API_KEY=your_key darija-translate-api
```
### 3️⃣ Chrome Extension Setup
1. **Load Extension**
- Open Chrome: `chrome://extens …