Skip to content

FBR65/CodeConverter

Repository files navigation

CodeConverter

Ein Tool zur Übersetzung von Code zwischen verschiedenen Programmiersprachen unter Verwendung eines LLM (Large Language Model).

Beschreibung

CodeConverter ist ein leistungsstarkes Tool, das es ermöglicht, vollständige Git-Repositories von einer Programmiersprache in eine andere zu übersetzen. Es verwendet das fortschrittliche LLM freehuntx/qwen3-coder:8b über ollama, um qualitativ hochwertige Übersetzungen durchzuführen, die die Funktionalität des ursprünglichen Codes beibehalten und gleichzeitig die Syntax an die Zielsprache anpassen.

Funktionen

  • Übersetzung von vollständigen Git-Repositories
  • Unterstützung mehrerer Programmiersprachen (Python, JavaScript, Java, C++, C)
  • Beibehaltung der Projektstruktur und Dateiorganisation
  • Automatische Dateinamenumwandlung entsprechend der Zielsprache
  • Integration mit ollama für LLM-basierte Übersetzung

Voraussetzungen

  • Python 3.10 oder höher
  • ollama installiert und laufend
  • Das LLM freehuntx/qwen3-coder:8b muss in ollama verfügbar sein

Installation

  1. Klonen Sie das Repository:

    git clone <repository-url>
    cd codeconverter
    
  2. Installieren Sie die Abhängigkeiten:

    uv sync
    uv pip install -e .
    
  3. Stellen Sie sicher, dass ollama läuft und das Modell freehuntx/qwen3-coder:8b verfügbar ist:

    ollama list
    

Verwendung

python main.py <quell-repo-pfad-oder-url> <ziel-sprache> [-o <ausgabe-pfad>]

Beispiele

# Übersetze ein lokales Python-Projekt in JavaScript
python main.py ./mein-python-projekt javascript

# Übersetze ein GitHub-Repository in Python mit benutzerdefiniertem Ausgabepfad
python main.py https://github.com/user/repo javascript -o ./uebersetztes-repo

# Übersetze ein Java-Projekt in Python mit benutzerdefiniertem Ausgabepfad
python main.py ./mein-java-projekt python -o ./uebersetztes-projekt

Unterstützte Sprachen

  • Python (.py)
  • JavaScript (.js)
  • Java (.java)
  • C++ (.cpp)
  • C (.c)

Funktionsweise

  1. Das Tool kopiert das Quell-Repository in ein neues Verzeichnis
  2. Es durchsucht rekursiv alle Dateien im Repository
  3. Für jede Datei in einer unterstützten Sprache:
    • Die Dateiendung wird entsprechend der Zielsprache angepasst
    • Der Dateiinhalt wird mit dem LLM übersetzt
    • Ein Kommentar wird hinzugefügt, der die Übersetzung kennzeichnet
  4. Das übersetzte Repository wird im angegebenen Ausgabepfad gespeichert

Projektstruktur

codeconverter/
├── main.py              # Haupteinstiegspunkt
├── pyproject.toml       # Projekt-Konfiguration und Abhängigkeiten
├── README.md            # Diese Datei
└── converter/           # Übersetzungskern
    ├── __init__.py      # Paket-Initialisierung
    └── core.py          # Hauptlogik für die Code-Übersetzung

Abhängigkeiten

  • requests: Für die Kommunikation mit der ollama API

Lizenz

Lizenz AGPLv3

About

CodeConverter translates code between programming languages using large language models.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages