Project Translator VSCode-Erweiterung zur Projekt-Mehrsprachigen-Lokalisierung

Project Translator ist eine leistungsstarke VSCode-Erweiterung, die auf künstlicher Intelligenz basierende automatische Übersetzungen auf Projektebene durchführt und dabei die Codeintegrität beibehält, um die Dokumentenlokalisierungsarbeit effizient zu erledigen.

Die Project Translator VSCode-Erweiterung bietet Entwicklern eine effiziente Lösung für die mehrsprachige Lokalisierung von Projekten. Die Erweiterung nutzt KI-Technologie, um automatische Übersetzungen von einzelnen Dateien bis hin zu gesamten Projektordnern durchzuführen, und reduziert dabei den Arbeitsaufwand für die Dokumentenlokalisierung erheblich, während die Code- und Formatintegrität erhalten bleibt. Für Open-Source-Projekte oder kommerzielle Software, die sich an ein globales Publikum richten, kann Project Translator die Übersetzungseffizienz und -konsistenz deutlich verbessern. Im Vergleich zu traditionellen manuellen Übersetzungsmethoden können solche automatisierten Tools umfangreiche Dokumentinhalte verarbeiten und eignen sich besonders gut für kontinuierlich aktualisierte Projektdokumentationen.

Kernfunktionen und -merkmale

Die Project Translator-Erweiterung verfügt über eine Reihe leistungsstarker Funktionen, die zusammen eine umfassende Lösung für die mehrsprachige Übersetzung von Projekten bilden. Die Erweiterung unterstützt zwei Übersetzungsmodi: Ordner- und Dateiebene, die je nach Projektanforderungen flexibel gewählt werden können. Im Ordnerübersetzungsmodus kann die Erweiterung Unterordner rekursiv verarbeiten, übersetzbare Inhalte automatisch erkennen und die ursprüngliche Ordnerstruktur und Hierarchie beibehalten. Dieser Batch-Verarbeitungsmechanismus macht die Übersetzungsarbeit für große Projekte machbar und effizient. Die Erweiterung kann kostenlos im VS Code Extensions Marketplace und im Open VSX Registry heruntergeladen und installiert werden.

Die intelligente Übersetzungsfunktion ist einer der Kernvorteile der Erweiterung. Während des Übersetzungsprozesses erhält die Erweiterung automatisch die Codeintegrität, übersetzt nur Codekommentare und Dokumentinhalte und behält die Codelogik unverändert bei. Für Datenstrukturformate wie JSON und XML kann die Erweiterung ebenfalls ihre ursprüngliche Strukturintegrität bewahren. Dieses Design stellt sicher, dass übersetzte Codedateien weiterhin korrekt kompiliert und ausgeführt werden können und vermeidet Probleme durch übersetzungsbedingte Codebeschädigungen. Die Erweiterung bietet zudem eine professionelle Übersetzungsqualität für technische Dokumentationen und kann technische Begriffe und Kontextbeziehungen genau verstehen.

Die Konfigurationsflexibilität ist ein weiteres großes Merkmal von Project Translator. Benutzer können Quellordner und mehrere Zielordner konfigurieren, benutzerdefinierte Dateiübersetzungsintervalle festlegen, bestimmte Dateitypen zum Ignorieren auswählen und mehrere KI-Modelloptionen wählen. Diese Flexibilität ermöglicht es der Erweiterung, sich an verschiedene Projektstrukturen und Übersetzungsanforderungen anzupassen. Die Erweiterung unterstützt mehrere gängige KI-Modelle, darunter OpenAI, DeepSeek und Grok, sodass Benutzer je nach Budget und Übersetzungsqualitätsanforderungen das passende Modell auswählen können. Für Projekte, die Hugo oder andere statische Website-Generatoren verwenden, ist diese ordnerbasierte Konfigurationsmethode besonders benutzerfreundlich.

Die Benutzeroberfläche der Erweiterung ist auf eine gute Benutzererfahrung ausgelegt. Während des Übersetzungsprozesses wird eine Echtzeit-Fortschrittsanzeige bereitgestellt, und Benutzer können Übersetzungsaufgaben jederzeit anhalten, fortsetzen oder abbrechen. Die Erweiterung verwaltet die Zielordnerstruktur automatisch und unterstützt inkrementelle Übersetzungen, um Doppelarbeit zu vermeiden. Wenn Übersetzungsaufgaben längere Zeit in Anspruch nehmen, ist diese Steuerbarkeit besonders wichtig. Darüber hinaus bietet die Erweiterung eine experimentelle Diff-Übersetzungsfunktion, die nur geänderte Inhalte übersetzt, um die API-Nutzung zu reduzieren und die Versionshistorie besser zu erhalten.

Übersetzungs-Workflow

Der Übersetzungs-Workflow von Project Translator ist sorgfältig Designed, um den gesamten Prozess sowohl effizient als auch zuverlässig zu gestalten. Nachdem der Benutzer eine Übersetzungsaufgabe über die Befehlspalette auslöst, verarbeitet die Erweiterung die Quellinhalte schrittweise gemäß einem vordefinierten Workflow und generiert die Zielsprachversionen.

flowchart TD
    A[Benutzer löst Übersetzungsbefehl aus] e1@--> B{Konfiguration prüfen}
    B e2@-->|Nicht konfiguriert| C[Ordnerauswahldialog anzeigen]
    C e3@--> D[Ausgewählte Quell- und Zielpfade speichern]
    D e4@--> E[Quelldateien und -ordner scannen]
    B e5@-->|Konfiguriert| E
    E e6@--> F[Zu übersetzende Dateien identifizieren]
    F e7@--> G[Übersetzungsaufgaben nach Priorität sortieren]
    G e8@--> H{Benutzer wählt Übersetzungsmodus}
    H e9@-->|Standardübersetzung| I[Quelldateiinhalt lesen]
    H e10@-->|Diff-Übersetzung| J[Quell- und Zieldateiinhalt lesen]
    I e11@--> K[KI-Modell zur Übersetzung aufrufen]
    J e12@--> K
    K e13@--> L[Übersetzungsergebnis generieren]
    L e14@--> M{Übersetzungsqualität validieren}
    M e15@-->|Validierung erfolgreich| N[In Zieldatei schreiben]
    M e16@-->|Validierung fehlgeschlagen| O[Zurücksetzen oder wiederholen]
    N e17@--> P[Übersetzungsfortschritt aktualisieren]
    P e18@--> Q{Gibt es noch zu übersetzende Dateien?}
    Q e19@-->|Ja| I
    Q e20@-->|Nein| R[Übersetzungsaufgabe abschließen]
    R e21@--> S[Übersetzungszusammenfassung anzeigen]

    classDef start fill:#E3F2FD,stroke:#1565C0,stroke-width:1px,color:#0D47A1;
    classDef work fill:#E8F5E9,stroke:#2E7D32,stroke-width:1px,color:#1B5E20;
    classDef check fill:#FFF8E1,stroke:#EF6C00,stroke-width:1px,color:#E65100;
    classDef done fill:#F3E5F5,stroke:#6A1B9A,stroke-width:1px,color:#4A148C;
    classDef animate stroke:#EF6C00,stroke-width:2px,stroke-dasharray: 9\,5,stroke-dashoffset: 900,animation: dash 25s linear infinite;
    class A start;
    class e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,e11,e12,e13,e14,e15,e16,e17,e18,e19,e20,e21 animate;
    class B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S work;
    class B,H,M,Q check;
    class S done;

Der Workflow beginnt, wenn der Benutzer über die Befehlspalette einen Übersetzungsbefehl auslöst. Die Erweiterung prüft zunächst, ob Quell- und Zielpfade bereits konfiguriert sind. Wenn nicht, wird ein Ordnerauswahldialog angezeigt, in dem der Benutzer die Pfade angeben kann. Nach der Konfiguration beginnt die Erweiterung, alle Dateien und Unterordner im Quellordner zu scannen und die Dateitypen zu identifizieren, die übersetzt werden müssen. Die Erweiterung filtert Dateien, die nicht verarbeitet werden müssen, basierend auf konfigurierten Dateierweiterungen und Pfadregeln.

Nach der Identifizierung sortiert die Erweiterung die Übersetzungsaufgaben nach einer bestimmten Priorität, um sicherzustellen, dass wichtige Dateien zuerst übersetzt werden. Benutzer können zwischen dem Standardübersetzungsmodus und dem Diff-Übersetzungsmodus wählen. Der Standardübersetzungsmodus übersetzt den gesamten Dateiinhalt, während der Diff-Übersetzungsmodus nur geänderte Teile übersetzt, was sich besser für Updates bereits übersetzter Inhalte eignet. Nachdem die Erweiterung den Quelldateiinhalt gelesen hat, ruft sie das konfigurierte KI-Modell zur Übersetzung auf.

Nachdem das KI-Modell das Übersetzungsergebnis zurückgibt, validiert die Erweiterung die Übersetzungsqualität. Der Validierungsprozess umfasst die Überprüfung der Formatintegrität, der Terminologiekonsistenz und der Beibehaltung notwendiger Code-Strukturen. Wenn die Validierung erfolgreich ist, wird das Übersetzungsergebnis in die Zieldatei geschrieben, wobei die gleiche Verzeichnisstruktur wie in der Quelldatei beibehalten wird. Bei einem Validierungsfehler versucht die Erweiterung, einen Rollback durchzuführen oder erneut zu übersetzen. Nach Abschluss der Übersetzung jeder Datei aktualisiert die Erweiterung den Übersetzungsfortschritt, bis alle zu übersetzenden Dateien verarbeitet sind. Schließlich zeigt die Erweiterung eine Zusammenfassung der Übersetzungsaufgabe an, einschließlich der Anzahl erfolgreich übersetzter Dateien, einer Liste fehlgeschlagener Dateien und Statistiken wie der Übersetzungsdauer.

Konfigurationsmethoden im Detail

Das Konfigurationssystem der Project Translator-Erweiterung ist sowohl flexibel als auch intuitiv gestaltet. Benutzer können das Verhalten der Erweiterung über die VSCode-Einstellungsseite oder durch direkte Bearbeitung der Konfigurationsdatei anpassen. Die Kernkonfigurationsoptionen umfassen Quell- und Zielpfade für Übersetzungen, KI-Modellparameter, Filterregeln und mehr.

Die Konfigurationsoptionen sind in mehrere Kategorien unterteilt. Die Ordner- und Dateikonfiguration definiert die Eingabe- und Ausgabepfade für Übersetzungen. Benutzer können mehrere Quellordner und die entsprechenden Zielordner angeben. Für jeden Quell- und Zielordner muss ein Sprachcode angegeben werden. Die Erweiterung unterstützt 28 Sprachen, darunter vereinfachtes Chinesisch, traditionelles Chinesisch, Japanisch, Koreanisch, Englisch, Französisch, Deutsch, Spanisch, Portugiesisch, Russisch und andere gängige Sprachen. Diese Multi-Zielsprachenkonfiguration ermöglicht es, in einem einzigen Übersetzungsvorgang mehrere Sprachversionen gleichzeitig zu generieren, was die Übersetzungseffizienz erheblich steigert.

Die KI-Modellkonfiguration erlaubt es Benutzern, verschiedene Übersetzungsdienstanbieter und -modelle auszuwählen. Standardmäßig verwendet die Erweiterung das DeepSeek-Modell, unterstützt aber auch andere Dienste wie OpenAI und Grok. Benutzer können API-Endpunkte, API-Schlüssel, Modellnamen, Anfragen pro Minute, maximale Token pro Segment, Timeout-Zeit, Temperaturparameter und mehr konfigurieren. Um die Sicherheit zu erhöhen, unterstützt die Erweiterung die Verwaltung von API-Schlüsseln über Umgebungsvariablen, um zu vermeiden, dass sensible Informationen direkt in die Konfigurationsdatei geschrieben werden.

Die Konfiguration von Filter- und Skip-Regeln ermöglicht es Benutzern, präzise zu steuern, welche Dateien übersetzt werden sollen und welche ignoriert werden sollen. Die ignore-Konfiguration erlaubt es Benutzer, Pfade und Dateierweiterungen anzugeben, die vollständig ignoriert werden sollen. Standardmäßig werden das node_modules-Verzeichnis und .log-Dateien ignoriert. Die copyOnly-Konfiguration wird verwendet, um Dateitypen anzugeben, die kopiert, aber nicht übersetzt werden sollen. Die skipFrontMatterMarkers-Konfiguration erlaubt es Benutzern, basierend auf den Front-Matter-Metadaten von Markdown-Dateien Übersetzungen zu überspringen, z. B. das Überspringen von Dokumenten, die als Entwurf markiert sind.

Erweiterte Konfigurationen umfassen die System-Prompt-Sprache, den Debug-Modus, die Protokolldateikonfiguration und den Diff-Übersetzungsmodus. Die System-Prompt-Sprache steuert die Sprache der von der Erweiterung intern verwendeten Prompts und ist standardmäßig Englisch. Bei aktiviertem Debug-Modus werden alle API-Anfragen und -Antworten protokolliert, was die Fehlerbehebung erleichtert. Die Protokolldateikonfiguration erlaubt es Benutzern, Debug-Protokolle in eine Datei zu schreiben, mit Unterstützung für benutzerdefinierte Pfade, Dateigrößenlimits und Dateianzahllimits. Der Diff-Übersetzungsmodus ist eine experimentelle Funktion, die bei Aktivierung nur geänderte Inhalte übersetzt und so unnötige API-Aufrufe reduziert.

Die Benutzer-Prompt-Konfiguration ist eine besondere Funktion der Erweiterung. Benutzer können eine Reihe von Prompts anpassen, die nach den System-Prompts an das KI-Modell gesendet werden. Auf diese Weise können Benutzer das Übersetzungsmodell anweisen, bestimmte Übersetzungsstile, Terminologiestandards oder Formatierungsanforderungen einzuhalten. Zum Beispiel können Benutzer festlegen, dass Markdown-Dateien mit draft: true in ihrem Front Matter nicht übersetzt werden sollen, oder verlangen, dass Pfade wie ./readmes/ durch ./ ersetzt werden.

Im Folgenden finden Sie ein typisches Konfigurationsbeispiel:

{
  "projectTranslator.specifiedFolders": [
    {
      "sourceFolder": {
        "path": "${workspaceFolder}/content/en",
        "lang": "en-us"
      },
      "targetFolders": [
        {
          "path": "${workspaceFolder}/content/zh-cn",
          "lang": "zh-cn"
        },
        {
          "path": "${workspaceFolder}/content/ja-jp",
          "lang": "ja-jp"
        }
      ]
    }
  ],
  "projectTranslator.currentVendor": "deepseek",
  "projectTranslator.vendors": [
    {
      "name": "deepseek",
      "apiEndpoint": "https://api.deepseek.com/v1",
      "apiKeyEnvVarName": "DEEPSEEK_API_KEY",
      "model": "deepseek-chat",
      "rpm": 20,
      "maxTokensPerSegment": 3000,
      "timeout": 300,
      "temperature": 0.1
    }
  ],
  "projectTranslator.ignore": {
    "paths": ["**/node_modules/**", "**/.git/**"],
    "extensions": [".log", ".min.js"]
  },
  "projectTranslator.userPrompts": [
    "1. Should return no need translate if the markdown file has 'draft' set to 'true' in the front matter.",
    "2. Maintain technical terminology consistency across all translated files."
  ]
}

Praktische Anwendungsfälle

Die Project Translator-Erweiterung wurde bereits in mehreren realen Projekten validiert und eingesetzt. Die Project Translation-Organisation unterhält mehrere Übersetzungsprojektbeispiele, die verschiedene Bereiche wie Algorithmusvisualisierung, Programmiersprachdokumentation und Entwicklungswerkzeughandbücher abdecken. Durch diese praktischen Fälle kann man die Anwendungsfälle und Effekte der Erweiterung besser verstehen.

Das Projekt algorithm-visualizer ist eine interaktive Plattform zur Visualisierung von Algorithmen. Das ursprüngliche Projekt hat auf GitHub über 47.000 Sterne. Nach der Verwendung der Project Translator-Erweiterung wurde die Dokumentation des Projekts in mehrere Sprachen übersetzt, was globalen Entwicklern hilft, Algorithmusprinzipien und Visualisierungseffekte besser zu verstehen. Das Projekt gobyexample ist eine Sammlung von Go-Sprachbeispiel-Tutorials mit über 7.500 Sternen. Nach der Übersetzung durch die Erweiterung können Lernende die Go-Sprachbeispielcodes und -erklärungen in ihrer Muttersprache lesen.

Der Google Style Guide ist ein von Google stammender Open-Source-Projektstilguide mit über 38.000 Sternen, der Codierungsstandards für mehrere Programmiersprachen abdeckt. Durch die Project Translator-Erweiterung wurden diese Stilguides in mehrere Sprachen übersetzt, sodass globale Entwickler Best Practices für die Codierung in vertrauten Sprachen lernen können. Das Projekt reference-en-us ist eine Sammlung von Schnellreferenz-Cheatsheets für Entwickler mit über 7.800 Sternen, die schnelle Referenzinformationen für verschiedene Tools und Sprachen wie awk, bash, CSS, Golang, Python und Vim bietet.

Diese praktischen Anwendungsfälle zeigen die Eignung der Project Translator-Erweiterung für verschiedene Projekttypen. Ob technische Dokumentation, Tutorials oder Referenzhandbücher – die Erweiterung kann hochwertige Übersetzungsergebnisse liefern. Sie kann nicht nur reinen Text verarbeiten, sondern auch komplex formatierte Markdown-Dateien mit Codeblöcken, Tabellen und Links korrekt behandeln. Bei Projekten mit vielen technischen Begriffen kann die intelligente Übersetzungsfähigkeit der Erweiterung die Konsistenz und Genauigkeit der Terminologie bewahren. Das Designkonzept der Erweiterung steht im Einklang mit den offenen Prinzipien der VS Code-Ökosystem und bietet Entwicklern durch Erweiterungsmechanismen maßgeschneiderte Funktionalitäten.

Zusammenfassung

Die Project Translator VSCode-Erweiterung bietet eine effiziente und zuverlässige Lösung für die mehrsprachige Lokalisierung von Projekten. Die Erweiterung kombiniert fortschrittliche KI-Technologie mit praktischem Engineering-Design und ermöglicht einen automatisierten Übersetzungs-Workflow, während die Codeintegrität erhalten bleibt. Sie unterstützt Übersetzungen auf Ordner- und Dateiebene, bietet flexible Konfigurationsoptionen und verfügt über eine benutzerfreundliche Oberfläche – diese Merkmale machen sie zum idealen Werkzeug für Projekte, die sich an ein globales Publikum richten.

Der Hauptvorteil der Erweiterung liegt in ihrer intelligenten Übersetzungsfähigkeit, die Code- und Dokumentinhalte genau identifizieren kann und nur die zu übersetzenden Teile übersetzt, ohne die Ausführbarkeit des Codes zu beeinträchtigen. Die Einführung der Diff-Übersetzungsfunktion steigert die Übersetzungseffizienz weiter und ist besonders wertvoll für die kontinuierliche Aktualisierung großer Projekte. Das Konfigurationssystem der Erweiterung ist durchdacht Designed: Es bietet umfangreiche Anpassungsoptionen, bleibt dabei aber übersichtlich, sodass Benutzer mit unterschiedlichem technischem Wissen schnell damit zurechtkommen.

Die Project Translator-Erweiterung wurde bereits in mehreren bekannten Open-Source-Projekten validiert, darunter algorithm-visualizer, gobyexample und Google Style Guide. Diese Erfolgsfälle belegen den praktischen Wert und die Zuverlässigkeit der Erweiterung. Für Projekte, die Mehrsprachigkeit unterstützen müssen, insbesondere dokumentationslastige Open-Source-Projekte, kann die Project Translator-Erweiterung den Lokalisierungsaufwand erheblich reduzieren und die Übersetzungsqualität und -konsistenz verbessern.

Der Open-Source-Charakter der Erweiterung verleiht ihr zudem eine gute Erweiterbarkeit und Potenzial für Community-Unterstützung. Benutzer können sie nach ihren Bedürfnissen anpassen und erweitern, und Community-Mitwirkende können an der Verbesserung und Weiterentwicklung der Erweiterung mitwirken. Mit dem kontinuierlichen Fortschritt der KI-Technologie und dem anhaltenden Wachstum der Mehrsprachigkeitsanforderungen hat die Project Translator-Erweiterung das Potenzial, im Bereich der Projektlokalisierung eine noch größere Rolle zu spielen.