A modern, fast, and beautiful keyword translation tool built with React and Node.js. Translate multiple keywords simultaneously into 77+ languages with a clean, intuitive interface.
This helps you make sure your keywords are accurate and appropriate in the target language. You can easily remove unnecessary terms and quickly copy the refined list for your work
- 🎯 Batch Translation - Translate multiple keywords at once
- 😁 Quick Copy - Quickly copy the refined list for your keywords
- 🌐 77+ Languages - Support for major world languages
- 🔍 Searchable Language Dropdown - Quickly find your target language
- 🎨 Modern UI - Clean green and white theme with smooth animations
- 🏷️ Tag-Based Input - Each keyword becomes a removable tag
- ⚡ Real-time Translation - Fast parallel processing
- 🎭 Synchronized Highlighting - Hover over keywords to see their translations
- 📱 Responsive Design - Works on desktop and mobile
- 🚀 Deployed on Vercel - Fast global CDN delivery
Frontend: https://keyword-translator.vercel.app
- React 18.3.1 - UI library
- Vite 5.4.21 - Build tool & dev server
- Tailwind CSS 3.4.18 - Utility-first CSS framework
- Node.js - Runtime environment
- Express 4.x - Web framework
- translate-google 1.5.0 - Translation service
- CORS - Cross-origin resource sharing
- dotenv - Environment variable management
- Vercel - Hosting & deployment
- Git - Version control
- Concurrently - Run frontend & backend together
- Node.js (v16 or higher)
- npm or yarn
- Git
git clone https://github.com/Danidu-Muhandiram/Keyword-Translator.git
cd Keyword-TranslatorRoot (for concurrent dev mode):
npm installFrontend:
cd frontend
npm installBackend:
cd backend
npm installCreate frontend/.env:
VITE_API_URL=http://localhost:3000Create backend/.env:
PORT=3000npm run dev- Frontend: http://localhost:5173
- Backend: http://localhost:3000
Terminal 1 - Backend:
cd backend
npm startTerminal 2 - Frontend:
cd frontend
npm run dev- Enter Keywords: Type keywords separated by commas or press Enter after each or just copy set of keywords separated by commas
- Select Language: Choose your target language from the searchable dropdown (default: Sinhala 🇱🇰)
- Translate: Automaticaly translated to your target language, just choose your langauge from dropdown
- Hover to Highlight: Hover over any keyword to see its translation highlighted
- Remove Keywords: Click the ❌ on individual tags or use "Clear All"
Afrikaans, Albanian, Arabic, Armenian, Azerbaijani, Basque, Belarusian, Bengali, Bosnian, Bulgarian, Catalan, Chinese, Croatian, Czech, Danish, Dutch, English, Estonian, Finnish, French, Galician, Georgian, German, Greek, Gujarati, Haitian Creole, Hebrew, Hindi, Hungarian, Icelandic, Indonesian, Irish, Italian, Japanese, Kannada, Kazakh, Korean, Kyrgyz, Lao, Latin, Latvian, Lithuanian, Macedonian, Malay, Malayalam, Maltese, Marathi, Mongolian, Nepali, Norwegian, Persian, Polish, Portuguese, Punjabi, Romanian, Russian, Serbian, Sinhala, Slovak, Slovenian, Spanish, Swahili, Swedish, Tagalog, Tamil, Telugu, Thai, Turkish, Ukrainian, Urdu, Uzbek, Vietnamese, Welsh, Xhosa, Yiddish, Yoruba, Zulu
- Go to vercel.com
- Import your repository
- Configure:
- Root Directory:
backend - Framework Preset: Other
- Environment Variables:
PORT=3000
- Root Directory:
- Deploy and copy the URL
- Import the same repository again
- Configure:
- Root Directory:
frontend - Framework Preset: Vite
- Build Command:
npm run build - Output Directory:
dist - Environment Variables:
VITE_API_URL=https://your-backend-url.vercel.app
- Root Directory:
- Deploy
# Build frontend
cd frontend
npm run build
# The dist folder is ready for deploymentKeyword-Translator/
├── frontend/
│ ├── src/
│ │ ├── App.jsx # Main React component
│ │ ├── index.css # Tailwind styles
│ │ └── main.jsx # Entry point
│ ├── .env # Environment variables
│ ├── index.html
│ ├── package.json
│ ├── tailwind.config.js
│ └── vite.config.js
├── backend/
│ ├── index.js # Express server
│ ├── .env # Environment variables
│ ├── package.json
│ └── vercel.json # Vercel config
├── package.json # Root package for dev scripts
└── README.md
Translate multiple keywords to a target language.
Request Body:
{
"keywords": ["hello", "world", "translate"],
"targetLanguage": "si"
}Response:
{
"success": true,
"translations": ["හෙලෝ", "ලෝකය", "පරිවර්තනය"],
"targetLanguage": "si"
}Check if the API is running.
Response:
{
"status": "OK",
"message": "Translation API is running"
}- Translation Delay: First request may take 2-5 seconds due to Vercel cold starts
- Rate Limiting: Using free translation scraper may hit rate limits with heavy use
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- translate-google - Free Google Translate API
- Tailwind CSS - Styling framework
- Vite - Build tool
- Vercel - Hosting platform
This project is licensed under the MIT License.
Built by Danidu Muhandiram (@Danidu-Muhandiram)
⭐ If you found this project helpful, please give it a star! ⭐
