Break Language Barriers Instantly!
AI-powered translation between Egyptian Arabic and English with text and speech support.
- Bidirectional Translation: Seamlessly translate between Egyptian Arabic and English
- Real-time Translation: Instant translation as you type
- AI-Powered Accuracy: Advanced neural machine translation for precise results
- Voice Recording: Record audio directly in the browser
- Audio File Upload: Support for various audio formats (WAV, MP3, OGG)
- Custom Voice Cloning: Add and use custom speaker voices
- Text-to-Speech: Generate natural-sounding speech from translated text
- Real-time Transcription: Live speech-to-text conversion
- Live Translation: Real-time speech translation with WebSocket support
- Speaker Diarization: Automatic speaker identification and separation
- Configurable Modes: Choose between transcription-only or translation modes
- User Authentication: Secure login and registration system
- Translation History: Save and manage translation history
- Favorites: Mark important translations as favorites
- Personalized Experience: User-specific settings and preferences
- RTL Support: Full right-to-left language support for Arabic
- Bilingual Interface: Switch between English and Arabic UI
- Responsive Design: Optimized for all device sizes
- React 18.3.1 - Modern React with hooks and functional components
- TypeScript - Type-safe development
- Redux Toolkit - State management
- React Router - Client-side routing
- Tailwind CSS - Utility-first CSS framework
- Framer Motion - Smooth animations and transitions
- React i18next - Internationalization framework
- Node.js (v18 or higher)
- npm or yarn package manager
-
Clone the repository
git clone https://github.com/NileLingo/frontend cd frontend -
Install dependencies
npm install
-
Configure environment
- Update the API URL in
src/utils/constants.ts
export const api_url = "your-backend-api-url";
- Update the API URL in
-
Start development server
npm run dev
-
Open your browser at
http://localhost:5173
src/
├── components/ # Reusable UI components
│ └── ui/ # Base UI components
├── features/ # Feature-based modules
│ ├── auth/ # Authentication logic
│ └── translation/ # Translation logic
├── i18n/ # Internationalization
│ └── locales/ # Translation files
├── pages/ # Page components
├── services/ # API services
├── store/ # Redux store configuration
├── types/ # TypeScript type definitions
└── utils/ # Utility functions
- Navigate to the Translation Page (
/translate) - Type your text in the source language area
- Press Enter or click the send button
- Click the speaker icon to hear the translation
- Click the microphone icon to start recording
- Click again to stop and process
- View both transcription and translation
- Click play to hear the translated speech
- Click the voice selector in translation mode
- Click "Add New Voice"
- Upload a clear audio sample (WAV, MP3, OGG)
- Name your custom voice
- Select and use the custom voice
- Click "Join room" from the translation page
- Configure settings:
- Select target language
- Adjust chunk size and WebSocket URL
- Click record to begin
- See real-time transcription and translation with speaker identification
- English (ENG) – Full support for text and speech
- Egyptian Arabic (EGY) – Native dialect support with cultural context
NileLingo is fully responsive and optimized for:
- Desktop
- Tablet
- Mobile
- Fork the repository
- Create a new branch:
git checkout -b feature/your-feature-name
- Commit your changes:
git commit -m "Add your feature" - Push to your branch:
git push origin feature/your-feature-name
- Open a pull request