KI-Übersetzung in Access: DeepL oder Google Translate automatisieren

Warum KI-Übersetzung aus Access?

Weil Du Texte hast – Produktbeschreibungen, E-Mails, Memos.
Und weil Copy-Paste nach DeepL nicht skaliert.
Mit ein paar Zeilen VBA holst Du Dir die KI-Übersetzung direkt ins Formular.

Ich zeig Dir beide Varianten:
DeepL (besser) und Google Translate (kostenloser Einstieg).

Was Du brauchst

AnbieterURLAuthentifizierung
DeepL APIhttps://api.deepl.com/v2/translateAPI-Key im Header
Google Translatehttps://translation.googleapis.com/language/translate/v2API-Key in URL

Tabellenstruktur (Beispiel)

TabelleZweck
tblTexteQuelltexte
tblUebersetzungenErgebnisse + Sprache

DeepL per VBA aufrufen

Schritt 1: Text übersetzen

Function UebersetzeMitDeepL(text As String, zielSprache As String) As String
    Dim http As Object
    Dim apiKey As String
    Dim body As String
    Dim result As String

    apiKey = "DEIN_API_KEY"

    body = "auth_key=" & apiKey & _
           "&text=" & URLEncode(text) & _
           "&target_lang=" & zielSprache

    Set http = CreateObject("MSXML2.ServerXMLHTTP")
    http.Open "POST", "https://api.deepl.com/v2/translate", False
    http.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
    http.Send body

    result = http.responseText
    UebersetzeMitDeepL = ExtrahiereDeepLText(result)
End Function

Ergebnis extrahieren (DeepL)

Function ExtrahiereDeepLText(json As String) As String
    Dim sc As Object
    Set sc = CreateObject("ScriptControl")
    sc.Language = "JScript"
    sc.AddCode "function parse(j){return JSON.parse(j).translations[0].text;}"
    ExtrahiereDeepLText = sc.Run("parse", json)
End Function

Google Translate per VBA

Schritt 1: Aufruf vorbereiten

Function UebersetzeMitGoogle(text As String, zielSprache As String) As String
    Dim http As Object
    Dim apiKey As String
    Dim url As String
    Dim response As String

    apiKey = "DEIN_GOOGLE_API_KEY"

    url = "https://translation.googleapis.com/language/translate/v2" & _
          "?q=" & URLEncode(text) & _
          "&target=" & zielSprache & _
          "&format=text" & _
          "&key=" & apiKey

    Set http = CreateObject("MSXML2.ServerXMLHTTP")
    http.Open "GET", url, False
    http.Send

    response = http.responseText
    UebersetzeMitGoogle = ExtrahiereGoogleText(response)
End Function

Ergebnis extrahieren (Google)

Function ExtrahiereGoogleText(json As String) As String
    Dim sc As Object
    Set sc = CreateObject("ScriptControl")
    sc.Language = "JScript"
    sc.AddCode "function parse(j){return JSON.parse(j).data.translations[0].translatedText;}"
    ExtrahiereGoogleText = sc.Run("parse", json)
End Function

URLEncode-Hilfsfunktion

Function URLEncode(text As String) As String
    Dim sc As Object
    Set sc = CreateObject("ScriptControl")
    sc.Language = "JScript"
    sc.AddCode "function enc(x){return encodeURIComponent(x);}"
    URLEncode = sc.Run("enc", text)
End Function

Formular: Übersetzungsbutton

Private Sub btnUebersetzen_Click()
    Dim quelle As String
    Dim ziel As String
    Dim ergebnis As String

    quelle = Me.txtOriginal
    ziel = Me.cboZielsprache

    ergebnis = UebersetzeMitDeepL(quelle, ziel)
    Me.txtUebersetzung = ergebnis

    Call SpeichereUebersetzung(Me.ID, ziel, ergebnis)
End Sub

Ergebnis speichern

Sub SpeichereUebersetzung(textID As Long, sprache As String, inhalt As String)
    CurrentDb.Execute "INSERT INTO tblUebersetzungen (TextID, Sprache, Inhalt, Zeitstempel) VALUES (" & _
                      textID & ", '" & sprache & "', '" & Replace(inhalt, "'", "''") & "', Now())"
End Sub

Welche Sprachen gehen?

ISO-CodeSprache
DEDeutsch
ENEnglisch
FRFranzösisch
ESSpanisch
ITItalienisch
NLNiederländisch
PLPolnisch

Für DeepL: Großbuchstaben (EN, DE)
Für Google: Kleinbuchstaben (en, de)

Was sinnvoll ist

  • Serienübersetzungen für Produkttexte
  • KI-gestützte E-Mail-Erkennung (Sprache + Inhalt)
  • Kombination mit Tabellenfilter: alle offenen Texte → übersetzen lassen
  • Rückübersetzung für Qualitätscheck

Was Du beachten musst

  • API-Limits pro Monat (DeepL Free: 500.000 Zeichen)
  • Bei Google Translate kostenpflichtig ab Start
  • Zeichensatzprobleme bei Sonderzeichen vermeiden
  • Fehlerhandling einbauen (Timeouts, Quoten)

„Access spricht jetzt auch Englisch. Oder was Du willst.“

Wenn Du das sauber integrieren willst – ich helf Dir.
Klar, strukturiert, ohne Cloud-Kuddelmuddel.

Keine Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert