This project is a web-based multilingual dictionary application built with Flask. It allows users to search for words across different languages, add new words (for admins), and manage the dictionary database.
It looks ugly I know.
- Support for multiple language pairs
- User authentication (login/register)
- Word search with fuzzy matching
- Category-based filtering
- Admin panel for managing words and users
- Excel import functionality for bulk word addition
- Responsive design
- Bidirectional word association
dictionary_app/
│
├── static/
│ ├── admin.js
│ ├── scripts.js
│ ├── scripts_old.js
│ ├── styles_old.css
│ └── styles.css
│
├── templates/
│ ├── admin.html
│ ├── import_excel.html
│ ├── index_old.html
│ └── index.html
│
├── uploads/
│
├── app.py
├── dictionary.db
├── excel_to_db.py
├── example_excel.xlsx
└── README.md
***_Old.** files can be used they're just a different theme.
-
Clone the repository:
git clone https://github.com/yourusername/multilingual-dictionary.git cd multilingual-dictionary
-
Create a virtual environment and activate it:
python -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate`
-
Install the required packages:
pip install -r requirements.txt
-
Initialize the database:
python app.py
-
Run the application:
flask run
-
Open your browser and navigate to
http://localhost:5000
Admin Username: Admin
Admin password: admin
- Search for words using the search bar on the homepage
- Filter results by category and language
- Register for an account or log in to access additional features
- Access the admin panel to manage words and users
- Add new words to the dictionary in various languages
- Edit or delete existing words
- Import words from an Excel file
- Manage user accounts (promote to admin or delete)
The application is designed to be language-agnostic. To add support for new languages:
- Update the language options in the admin interface (
admin.html
) - Modify the
add_word
function inapp.py
to handle the new language - Update the search functionality in
app.py
to include the new language
- Backend: Flask (Python)
- Frontend: HTML, CSS, JavaScript
- Database: SQLite
- Additional libraries: Flask-CORS, Flask-Bcrypt, Flask-JWT-Extended, fuzzywuzzy
Contributions are welcome! Please feel free to submit a Pull Request.
This project is open source and available under the MIT License.