Kerciu/csv-translation-tool

CSV Translation Tool | AI-assisted web app for semi-automatic translation of text datasets

TypeScript

3

798 commits

updated Dec 16, 2025

See the code
csv
django
django-rest-framework
full-stack
huggingface
ml
mongodb
nextjs
reactjs
redis
rust
shadcn-ui
tailwindcss
three-layer-architecture
transformer
translation
typescript
web-application

README

🌍 Semi-Automatic AI-Powered CSV Translation Tool

A web-based platform for semi-automatic CSV translation powered by AI (MarianMT) and enhanced with human validation.

License: MIT


📑 Table of Contents


✨ Features

CategoryDescription
📁 File HandlingUpload CSV files, select rows/columns, validate content
🤖 Smart TranslationAI-based translation (MarianMT via Rust), error highlighting, Redis caching
🔐 AuthenticationJWT/OAuth2 login, MongoDB-based session persistence
⬇️ ExportDownload translated CSV files

🖼️ Screenshots


Home Page


Sign Dialog


Dashboard Page


Tips Dialog


Translation Example


🛠️ Tech Stack

LayerTechnologies
FrontendNext.js, React, TypeScript, Tailwind CSS, shadcn/ui
BackendDjango, Django REST Framework, Python, JWT, OAuth2
AI/MLRust, PyO3, MarianMT, Hugging Face
DataMongoDB, Redis
InfrastructureDocker, GitHub Actions, Postman

🧱 Architecture

Architecture Diagram
System architecture of the CSV Translation Tool


🚀 Quick Start

Prerequisites

Setup Instructions

  1. Clone the repository

    git clone https://github.com/Kerciu/csv-translation-tool.git
    cd csv-translation-tool
    
  2. Ensure Docker Desktop is running

  3. Build and run the application

    docker-compose build
    docker-compose up
    
  4. Access the app Navigate to http://localhost:3000 Use test_data/example.csv to try it out!


📚 Documentation

🧠 General Overview

  • Project documentation available here

🧪 API Documentation

🛠️ Building with Sphinx (Python)

  1. Install development dependencies

    pip install -r requirements-dev.txt
    
  2. Generate HTML docs From inside server/docs:

    Linux:

    make html
    xdg-open build/html/index.html
    

    Windows:

    .\make.bat html
    Start-Process .\build\html\index.html
    

🧹 Linting & Formatting

Tools Used

  • Python: black, isort, flake8
  • React: ESLint, Prettier
  • Rust: clippy, rustfmt
  • Pre-commit: For unified code quality enforcement

How to Run

Python + React

pip install -r requirements-dev.txt
pre-commit install
pre-commit run --all-files

Rust

cd model
cargo fmt
cargo clippy

🧪 Testing

Python

  1. Run the app:

    docker-compose up
    
  2. Open shell inside the backend container:

    docker exec -it translator-server bash
    
  3. Run tests:

    python manage.py test
    

Rust

  1. Navigate to model directory:

    cd model
    
  2. Ensure Redis is running on port 6379, then:

    cargo test
    

📬 Contact

For questions, feedback, or collaboration:

Authors

Contributors

Kerciu

630 commits

RudyKarpus

168 commits

Kerciu/csv-translation-tool

CSV Translation Tool | AI-assisted web app for semi-automatic translation of text datasets

TypeScript

3

798 commits

updated Dec 16, 2025

See the code
csv
django
django-rest-framework
full-stack
huggingface
ml
mongodb
nextjs
reactjs
redis
rust
shadcn-ui
tailwindcss
three-layer-architecture
transformer
translation
typescript
web-application

README

🌍 Semi-Automatic AI-Powered CSV Translation Tool

A web-based platform for semi-automatic CSV translation powered by AI (MarianMT) and enhanced with human validation.

License: MIT


📑 Table of Contents


✨ Features

CategoryDescription
📁 File HandlingUpload CSV files, select rows/columns, validate content
🤖 Smart TranslationAI-based translation (MarianMT via Rust), error highlighting, Redis caching
🔐 AuthenticationJWT/OAuth2 login, MongoDB-based session persistence
⬇️ ExportDownload translated CSV files

🖼️ Screenshots


Home Page


Sign Dialog


Dashboard Page


Tips Dialog


Translation Example


🛠️ Tech Stack

LayerTechnologies
FrontendNext.js, React, TypeScript, Tailwind CSS, shadcn/ui
BackendDjango, Django REST Framework, Python, JWT, OAuth2
AI/MLRust, PyO3, MarianMT, Hugging Face
DataMongoDB, Redis
InfrastructureDocker, GitHub Actions, Postman

🧱 Architecture

Architecture Diagram
System architecture of the CSV Translation Tool


🚀 Quick Start

Prerequisites

Setup Instructions

  1. Clone the repository

    git clone https://github.com/Kerciu/csv-translation-tool.git
    cd csv-translation-tool
    
  2. Ensure Docker Desktop is running

  3. Build and run the application

    docker-compose build
    docker-compose up
    
  4. Access the app Navigate to http://localhost:3000 Use test_data/example.csv to try it out!


📚 Documentation

🧠 General Overview

  • Project documentation available here

🧪 API Documentation

🛠️ Building with Sphinx (Python)

  1. Install development dependencies

    pip install -r requirements-dev.txt
    
  2. Generate HTML docs From inside server/docs:

    Linux:

    make html
    xdg-open build/html/index.html
    

    Windows:

    .\make.bat html
    Start-Process .\build\html\index.html
    

🧹 Linting & Formatting

Tools Used

  • Python: black, isort, flake8
  • React: ESLint, Prettier
  • Rust: clippy, rustfmt
  • Pre-commit: For unified code quality enforcement

How to Run

Python + React

pip install -r requirements-dev.txt
pre-commit install
pre-commit run --all-files

Rust

cd model
cargo fmt
cargo clippy

🧪 Testing

Python

  1. Run the app:

    docker-compose up
    
  2. Open shell inside the backend container:

    docker exec -it translator-server bash
    
  3. Run tests:

    python manage.py test
    

Rust

  1. Navigate to model directory:

    cd model
    
  2. Ensure Redis is running on port 6379, then:

    cargo test
    

📬 Contact

For questions, feedback, or collaboration:

Authors

Contributors

Kerciu

630 commits

RudyKarpus

168 commits

Languages

TypeScript

59.6%

Python

27.4%

Rust

10.8%

CSS

1.2%