Wie man eine CSV-Datei übersetzt
TABLE OF CONTENTS
CSV sieht einfach aus, aber die Übersetzung kann schnell schiefgehen: Spalten verschieben sich, Anführungszeichen brechen, nicht-lateinische Zeichen werden unleserlich oder IDs werden in etwas Unbrauchbares „übersetzt“. Dieser Leitfaden zeigt einen sicheren, praxisnahen Workflow, um eine CSV-Datei zu übersetzen und dabei die Struktur zu erhalten, sowie eine QA-Checkliste und Lösungen für häufige Probleme.
Wenn Sie die einfachste Option möchten, verwenden Sie einen CSV-bewussten Übersetzer (Methode 1) anstelle des Kopierens von CSV-Text in einen generischen Textübersetzer.
Bevor Sie die übersetzte Datei importieren, führen Sie die QA-Checkliste in diesem Leitfaden aus, um Spalten-/Kodierungsprobleme frühzeitig zu erkennen.
Was macht die Übersetzung von CSV schwierig
CSV ist reiner Text, enthält aber Strukturregeln:
- Trennzeichen: normalerweise Komma (
,), manchmal Semikolon (;) in einigen Regionen. - Anführungszeichen: Textwerte können in doppelte Anführungszeichen (
") eingeschlossen sein. Anführungszeichen innerhalb von Werten müssen maskiert werden (häufig""). - Zeilenumbrüche innerhalb von Zellen: erlaubt, aber nur, wenn die Zelle korrekt in Anführungszeichen steht.
- Kodierung: Ihre Datei könnte UTF-8, UTF-8 mit BOM oder eine ältere Kodierung sein.
- Gemischte Datentypen: Zahlen, Datumsangaben, SKUs, IDs, URLs und Platzhalter müssen oft unverändert bleiben.
Übersetzungstools, die CSV als „nur Text“ behandeln, können versehentlich Strukturzeichen (Trennzeichen/Anführungszeichen/Zeilenumbrüche) ändern oder Datentypen (Datum/Zahlen) umwandeln, was zu fehlerhaften Importen führt.
Bevor Sie beginnen
Diese schnellen Schritte verhindern die meisten Fehler bei der CSV-Übersetzung:
-
Erstellen Sie eine Sicherungskopie
- Speichern Sie
file.csv→file.original.csv. - Wenn die CSV Kundendaten enthält, entfernen oder anonymisieren Sie sensible Felder, bevor Sie sie irgendwo hochladen.
- Speichern Sie
-
Identifizieren Sie Felder, die nicht übersetzt werden dürfen Lassen Sie diese unverändert:
- IDs, Schlüssel, SKUs, Bestellnummern
- URLs, E-Mails, Dateipfade
- Platzhalter und Variablen (
{name},{{amount}},%s,:count) - Tags, Enum-Werte, interne Statuscodes (
PAID,REFUNDED) - Jedes Feld, das von Code verwendet wird (API-Schlüssel, JSON-Blobs, HTML-Snippets)
- Wenn Sie unsicher sind, siehe: /what-not-to-translate
-
Bestätigen Sie Trennzeichen, Anführungsregeln und Zeilenenden
- Wenn Sie die CSV öffnen und sie „wie eine einzige Spalte aussieht“, ist das Trennzeichen wahrscheinlich falsch.
- Typische CSV-Dateien verwenden das Trennzeichen
,und Anführungszeichen"(siehe RFC 4180: https://www.rfc-editor.org/rfc/rfc4180).
-
Bestätigen Sie die Kodierung
- Bevorzugen Sie UTF‑8 für mehrsprachige Inhalte.
- Wenn Sie die übersetzte CSV in Excel unter Windows öffnen möchten, benötigen Sie möglicherweise UTF‑8 mit BOM, um fehlerhafte Zeichen zu vermeiden.
- Hintergrund zu BOM: https://unicode.org/faq/utf_bom.html
-
Optional, aber empfohlen: Fügen Sie eine stabile
row_idhinzu Für CSVs, die später erneut importiert oder abgeglichen werden, fügen Sie eine eindeutige Schlüsselspalte (z. B.row_id) hinzu, damit Sie überprüfen können, ob die Zeilen nicht neu angeordnet wurden.
Methode 1 — CSV-bewusste Online-Übersetzer (empfohlen)
CSV-bewusste Übersetzer behandeln CSV als strukturierte Daten, nicht „nur als Text“, und sind daher weniger anfällig dafür, Trennzeichen, Anführungen oder Zeilen-/Spaltenlayout zu beschädigen. Führen Sie immer die QA-Checkliste durch, bevor Sie importieren.
Neutraler Optionsvergleich
| Option | Stärken | Kompromisse | Am besten geeignet für |
|---|---|---|---|
| OpenL CSV Translator Online | Für CSV-Struktur entwickelt; schneller Upload/Download | Upload-basierter Workflow; nicht ideal für sensible Daten | Schnelle, zuverlässige CSV-Entwürfe |
| DeepL / Google Cloud / AWS Translate (API) | Automatisierbar; gute Qualität; geeignet für Batch-Prozesse | Erfordert technische Umsetzung + sorgfältige CSV-Verarbeitung | Teams, die viele Dateien übersetzen |
| CAT-Tools (Smartling, Lokalise, Phrase, etc.) | Terminologie/QA, Zusammenarbeit | Mehr Einrichtung + Kosten | Produkt-/UI-Lokalisierung im großen Maßstab |
| Tabellenformeln (Sheets/Excel) | Keine zusätzliche Software notwendig | CSV kann leicht automatisch formatiert oder beschädigt werden | Nur kleine, risikoarme Dateien |
Grenzen und Hinweise
- Laden Sie keine sensiblen Daten hoch, die Sie nicht teilen dürfen. Exportieren Sie bei Bedarf zuerst eine bereinigte CSV.
- Wenn Ihr System bestimmte Kopfzeilennamen benötigt, übersetzen Sie die Kopfzeile nicht.
- Führen Sie immer die QA-Checkliste durch, bevor Sie die übersetzte CSV importieren.
- Wenn Sie ein Online-Tool verwenden, prüfen Sie auf der Tool-Seite die Upload-Limits und unterstützten Formate.
Schritt-für-Schritt-Anleitung
-
Öffnen Sie das Tool
- Beispiel: https://doc.openl.io/translate/csv
-
Wählen Sie die Sprachen aus
- Wählen Sie Ihre Zielsprachen.
-
Laden Sie Ihre CSV hoch
- Laden Sie Ihre
.csv-Datei hoch oder ziehen Sie sie per Drag-and-Drop hinein. - Wenn Ihre CSV mehrere Textspalten enthält, übersetzt der Übersetzer den Inhalt und behält dabei Trennzeichen und Anführungszeichen sicher bei.
- Laden Sie Ihre
-
Laden Sie die übersetzte CSV herunter
- Speichern Sie sie mit einem eindeutigen Namen wie
products_es.csv.
- Speichern Sie sie mit einem eindeutigen Namen wie
Best Practices für bessere Ergebnisse
- Übersetzen Sie nur benutzerorientierte Spalten: Produkttitel, Beschreibungen, UI-Strings, kundenorientierte Hinweise.
- Halten Sie Codes stabil: Übersetzen Sie nicht
status,type,sku,category_id,url,handle.
Methode 2 — Google Sheets oder Excel
Dieser Workflow kann funktionieren, aber es ist einfacher, versehentlich das Format, die Trennzeichen oder die Typen zu verändern.
Google Sheets (kleine Dateien)
-
Importieren Sie die CSV
- Google Sheets → Datei → Importieren → Hochladen.
- Wenn Ihre Daten in einer Spalte erscheinen, wählen Sie das richtige Trennzeichen (Komma vs. Semikolon).
-
Schützen Sie „nicht zu übersetzende“ Spalten
- Formatieren Sie ID-Spalten zuerst als Nur Text (z. B. SKU, Bestellnummer), um zu verhindern, dass
00123→123wird.
- Formatieren Sie ID-Spalten zuerst als Nur Text (z. B. SKU, Bestellnummer), um zu verhindern, dass
-
Übersetzen Sie nur die Zielspalten
- Verwenden Sie
=GOOGLETRANSLATE(A2,"en","es")in einer neuen Spalte, dann Kopieren → Speziell einfügen → Nur Werte. - Führen Sie keine Übersetzungsformeln in Spalten mit URLs, Platzhaltern, Codes oder Formeln aus.
- Verwenden Sie
-
Exportieren
- Datei → Herunterladen → Kommagetrennte Werte (.csv) (Google Sheets exportiert UTF‑8).
Excel (Windows) — wie man UTF‑8 korrekt importiert und exportiert
Excel ist der Ort, an dem Kodierungsfehler am häufigsten auftreten. Verwenden Sie diese Schritte, um Zeichenwirrwarr und Trennzeichenprobleme zu vermeiden.
A) CSV importieren, ohne Zeichen zu verstümmeln
- Daten → Aus Text/CSV
- Im Import-Dialog:
- Dateiursprung / Kodierung: Wählen Sie 65001: Unicode (UTF‑8) (die Bezeichnung variiert je nach Version)
- Trennzeichen: Komma (
,) oder Semikolon (;), passend zu Ihrer Datei
- Klicken Sie auf Laden (oder Daten transformieren, wenn Sie ID-Spalten auf Text erzwingen müssen)
B) Exportieren als UTF‑8 (und wann BOM verwendet wird)
- Datei → Speichern unter
- Für Dateityp speichern unter wählen Sie:
- CSV UTF‑8 (durch Kommas getrennt) (*.csv) (empfohlen für mehrsprachigen Text)
- Wenn Ihr nachgelagertes System BOM ablehnt, exportieren Sie UTF‑8 ohne BOM mit einem Skript (siehe „Stapelverarbeitung“) oder speichern Sie mit einem Code-Editor erneut ab.
Häufige Fallstricke
- Automatische Formatierung: Tabellenkalkulationen können IDs wie
00123in123umwandeln. - Datumsumwandlung:
2026-01-09kann unterschiedlich angezeigt und inkonsistent exportiert werden. - Trennzeichenwechsel: Exporte können je nach Ländereinstellung auf
;wechseln.
Wenn Sie diese Methode verwenden, ist der QA-Abschnitt unten obligatorisch.
Erweiterter Workflow — Übersetzungstabelle
Wenn Ihre CSV eine Mischung aus „übersetzen“ und „nicht übersetzen“-Daten ist, erstellen Sie eine separate Übersetzungstabelle, damit die Übersetzung nie sensible Felder berührt.
Schritt 1: Übersetzungstabelle erstellen
Erstellen Sie eine neue CSV (oder ein neues Tabellenblatt) wie:
| row_id | field | source_text | context | translated_text |
|---|---|---|---|---|
| 101 | product_title | Wireless Mouse | E-commerce product title | Kabellose Maus |
| 101 | product_desc | Silent clicks, 2-year battery | Short description | Geräuschlose Klicks, 2 Jahre Batterielaufzeit |
| 102 | product_title | USB-C Charger | E-commerce product title | USB-C Ladegerät |
| 102 | product_desc | Fast charging for phones and tablets | Short description | Schnelles Laden für Smartphones und Tablets |
| 103 | product_title | Stainless Steel Water Bottle | Product title | Trinkflasche aus Edelstahl |
| 103 | product_desc | BPA-free, keeps drinks cold 24h | Short description | BPA-frei, hält Getränke 24 Stunden kalt |
| 104 | product_title | Noise-Canceling Headphones | Product title | Geräuschunterdrückende Kopfhörer |
| 104 | product_desc | Over-ear, Bluetooth 5.3 | Short description | Over-Ear, Bluetooth 5.3 |
Schritt 2: Übersetzen Sie nur source_text
Übersetzen Sie die Spalte source_text mit Ihrem gewählten Workflow und tragen Sie das Ergebnis in translated_text ein. (Ein CSV-kompatibler Online-Übersetzer ist meist sicherer als Tabellenkalkulationen.)
Schritt 3: Übersetzungen zurückführen
Verbinden Sie nach row_id + field und schreiben Sie den übersetzten Text zurück in Ihren Originaldatensatz. So wird sichergestellt, dass IDs, Preise und Systemfelder nie übersetzt werden.
Beispiel (Python + pandas)
import pandas as pd
# Originaldaten (Typen stabil halten; IDs als Strings behandeln)
orig = pd.read_csv("products.csv", dtype=str, keep_default_na=False)
# Übersetzungstabelle nach der Übersetzung
tt = pd.read_csv("translation_table_es.csv", dtype=str, keep_default_na=False)
# Umwandlung in ein breites Format (eine Zeile pro row_id)
wide = (
tt.pivot(index="row_id", columns="field", values="translated_text")
.add_suffix("__translated")
.reset_index()
)
merged = orig.merge(wide, on="row_id", how="left")
# Zurückschreiben (Beispielfelder)
merged["product_title"] = merged["product_title__translated"].where(
merged["product_title__translated"].ne(""), merged["product_title"]
)
merged["product_desc"] = merged["product_desc__translated"].where(
merged["product_desc__translated"].ne(""), merged["product_desc"]
)
merged.drop(columns=[c for c in merged.columns if c.endswith(“__translated”)], inplace=True) merged.to_csv(“products_es.csv”, index=False, encoding=“utf-8-sig”)
#### Beispiel (SQL Join/Update-Muster)
```sql
-- translation_table(row_id, field, translated_text)
-- products(row_id, product_title, product_desc, ...)
UPDATE products p
SET product_title = t.translated_text
FROM translation_table t
WHERE p.row_id = t.row_id
AND t.field = 'product_title'
AND t.translated_text IS NOT NULL
AND t.translated_text <> '';
Batch-Verarbeitung (mehrere CSV-Dateien)
Wenn Sie viele CSV-Dateien übersetzen müssen, vermeiden Sie manuelle Tabellenkalkulationsschritte und verwenden Sie eine wiederholbare Pipeline:
-
Eingaben standardisieren
- Normalisieren Sie auf UTF‑8 (oder UTF‑8 mit BOM, falls Ihr Importer dies benötigt).
- Stellen Sie sicher, dass jede Datei einen stabilen Schlüssel (
row_id/id) zur Zuordnung hat.
-
Übersetzungstabellen pro Datei generieren
- Extrahieren Sie nur übersetzbare Felder in
translation_table_<file>.csv. - Fügen Sie eine
source_file-Spalte hinzu, wenn Sie eine kombinierte Tabelle für alle Dateien bevorzugen.
- Extrahieren Sie nur übersetzbare Felder in
-
Tabellen übersetzen
- Verwenden Sie einen API-Workflow oder ein CSV-fähiges Tool, Datei für Datei.
-
Ergebnisse zurückführen + exportieren
- Zuordnung nach
row_id + field(undsource_file, falls verwendet). - Exportieren Sie mit der Kodierung, die Ihr nachgelagertes System erwartet.
- Zuordnung nach
Minimaler Starter-Loop (verarbeitet viele Dateien konsistent):
for f in ./input/*.csv; do
base="$(basename "$f" .csv)"
# 1) Extrahiere Übersetzungstabelle (implementieren Sie dies entsprechend Ihrem Schema)
# 2) Übersetze translation_table_${base}.csv -> translation_table_${base}_translated.csv
# 3) Fügen Sie zusammen und exportieren Sie ${base}_translated.csv
echo "Processed: $base"
done
QA-Checkliste nach der Übersetzung
Nachdem Sie die übersetzte CSV heruntergeladen haben, führen Sie diese Prüfungen durch, bevor Sie importieren:
Schnellüberprüfungen
- Zeilenanzahl vergleichen (macOS/Linux):
wc -l file.original.csv file.translated.csv - Überprüfen Sie die Konsistenz der Trennzeichen, indem Sie die Datei in einem einfachen Texteditor öffnen und bestätigen, dass die Separatoren gleich aussehen.
- Optional: Überprüfen Sie die Konsistenz der Spaltenanzahl mit Python:
python -c "import csv,sys; p=sys.argv[1]; r=list(csv.reader(open(p,newline='',encoding='utf-8'))); print('rows',len(r),'max_cols',max(len(x) for x in r))" file.translated.csv
Wenn Sie einen Unicode-Decode-Fehler erhalten, konvertieren Sie die CSV zuerst in UTF-8 oder versuchen Sie utf-8-sig:
python -c "import csv,sys; p=sys.argv[1]; r=list(csv.reader(open(p,newline='',encoding='utf-8-sig'))); print('rows',len(r),'max_cols',max(len(x) for x in r))" file.translated.csv
Strukturprüfungen
- Zeilenanzahl unverändert: gleiche Anzahl an Datenzeilen wie im Original.
- Spaltenanzahl unverändert: jede Zeile hat die gleiche Anzahl an Spalten.
- Trennzeichen unverändert: Komma vs. Semikolon ist mit Ihrem Importer konsistent.
- Anführungszeichen gültig: Felder mit Kommas/Zeilenumbrüchen bleiben korrekt in Anführungszeichen gesetzt.
Datenintegritätsprüfungen
- IDs und Schlüssel unverändert: vergleichen Sie
sku,id,row_id,handle. - URLs/E-Mails unverändert: keine hinzugefügten Leerzeichen, keine übersetzten Domains.
- Zahlen erhalten: Preise, Mengen, Dezimalzahlen bleiben gleich.
- Platzhalter erhalten:
{name},{{count}},%s,:valuebleiben unverändert.
Qualitätsprüfungen der Übersetzung
- Terminologie konsistent: Wichtige Produktbegriffe werden in allen Zeilen gleich übersetzt.
- Längenbeschränkungen eingehalten: UI-Beschriftungen sind nicht zu lang (wichtig für Apps).
- Keine gemischten Sprachreste: Suchen Sie nach häufigen Quellwörtern, die übersetzt werden sollten.
Fehlerbehebung bei häufigen CSV-Übersetzungsproblemen
1) Spalten sind nach der Übersetzung verschoben
Symptome
- Ihr Importer meldet „falsche Spaltenanzahl“
- Werte erscheinen unter den falschen Überschriften
Wahrscheinliche Ursachen
- Ein übersetztes Feld enthält ein nicht maskiertes Anführungszeichen (
") - Ein übersetztes Feld enthält ein Komma/Zeilenumbruch, ist aber nicht korrekt in Anführungszeichen gesetzt
Lösung
- Stellen Sie sicher, dass die CSV die korrekten Anführungszeichen-Regeln verwendet (Doppelte Anführungszeichen um Felder; interne Anführungszeichen als
""maskiert). - Übersetzen Sie mit einem CSV-bewussten Workflow (anstatt rohen CSV-Text zu übersetzen).
2) Verunstaltete Zeichen (Mojibake) wie ???? oder é
Wahrscheinliche Ursachen
- Falsche Codierung beim Export/Import (UTF‑8 vs. Legacy)
Lösung
- Exportieren Sie als UTF‑8.
- Falls Excel unter Windows verwendet wird, versuchen Sie UTF‑8 mit BOM.
- Vermeiden Sie manuelles Kopieren/Einfügen, da dies die Codierung verändern kann.
3) Führende Nullen verschwunden (00123 → 123)
Wahrscheinliche Ursachen
- Automatische Formatierung durch Tabellenkalkulation (Excel/Sheets)
Lösung
- Behandeln Sie ID-Spalten als Text vor der Bearbeitung/dem Export.
- Übersetzen Sie bevorzugt mit einem CSV-bewussten Workflow, der Ihre Daten nicht neu typisiert.
4) Datums- oder Dezimalformate wurden geändert
Beispiele
1,234.56wird zu1.234,562026-01-09wird zu09/01/2026
Lösung
- Übersetzen Sie keine numerischen/Datums-Spalten.
- Halten Sie Werte maschinenlesbar; lokalisieren Sie Anzeigeformate in Ihrer UI-Schicht, nicht in den Rohdaten.
5) Sicherheitsproblem: CSV-Injection (Excel-Formeln)
Wenn eine übersetzte Zelle mit =, +, - oder @ beginnt, kann Excel die Datei beim Öffnen als Formel auswerten.
Lösung
- Für CSVs, die in Tabellenkalkulationen geöffnet werden, riskante Zellen durch ein vorangestelltes einfaches Anführungszeichen (
') maskieren oder beim Export bereinigen. - Erwägen Sie, führende Formelzeichen aus vom Benutzer bereitgestelltem Text vor der Übersetzung/dem Import zu entfernen.
- Referenz: https://owasp.org/www-community/attacks/CSV_Injection
FAQ
Wie kann ich eine CSV übersetzen, ohne die Spaltenstruktur zu beschädigen?
Verwenden Sie einen CSV-bewussten Workflow und prüfen Sie die Struktur vor dem Import:
- Übersetzen Sie mit einer CSV-bewussten Methode (Methode 1)
- Führen Sie die „Schnellchecks“ + QA-Checkliste durch, um Zeilen-/Spaltenanzahl und gültige Anführungszeichen zu bestätigen
- Wenn Ihre CSV sensible Felder und benutzerorientierten Text mischt, verwenden Sie den „Erweiterten Workflow — Translation Table“
Kann ich nur eine Spalte in einer CSV übersetzen?
Ja. Die sicherste Methode ist, eine Übersetzungstabelle zu erstellen (row_id + source_text + context), nur diese zu übersetzen und dann zurückzumappen. So werden versehentliche Änderungen an IDs und numerischen Feldern vermieden.
Sollte ich die Kopfzeile übersetzen?
Das hängt von Ihrem Anwendungsfall ab:
- Übersetzen Sie die Kopfzeilen, wenn die CSV von Menschen gelesen wird (Berichte, Exporte).
- Übersetzen Sie die Kopfzeilen nicht, wenn Ihr System/Importer bestimmte Feldnamen erwartet (E-Commerce-Importe, Datenbanken, Apps).
Meine CSV verwendet Semikolons (;) statt Kommas. Ist das in Ordnung?
Ja, aber stellen Sie sicher, dass Ihr Tool/Importer durchgehend denselben Trenner verwendet. In vielen europäischen Regionen wird standardmäßig das Semikolon genutzt. Ein Unterschied beim Trenner ist ein häufiger Grund für fehlgeschlagene CSV-Importe.
Wie gehe ich mit mehrzeiligem Text (Zeilenumbrüchen) in Zellen um?
Mehrzeilige Zellen sind in CSV erlaubt, müssen aber korrekt in Anführungszeichen gesetzt werden. Wenn Ihr übersetzter Inhalt Zeilenumbrüche enthält, wird ein CSV-kompatibles Übersetzungstool dringend empfohlen, um Zeilenbrüche zu vermeiden.
Tools
- OpenL CSV Translator Online (Beispiel für ein CSV-kompatibles Tool): https://doc.openl.io/translate/csv
- Für Excel-Workflows: siehe auch „How to Translate Excel Online“: /how-to-translate-excel-online
- Für Markdown-Inhalte: „How to Translate Markdown“: /how-to-translate-markdown
- Wenn Sie Regeln benötigen, was unverändert bleiben soll: „What Not to Translate“: /what-not-to-translate
Zusammenfassung
Um eine CSV-Datei sicher zu übersetzen, bewahren Sie die Struktur (Trenner, Anführungszeichen, Kodierung) und schützen Sie „nicht zu übersetzende“ Felder (IDs, URLs, Platzhalter, Zahlen). Bevorzugen Sie CSV-kompatible Workflows und prüfen Sie die Datei vor dem Import mit der QA-Checkliste.


