5 CSV translation mistakes that break your import (and how to avoid them)

5 CSV translation mistakes that break your import (and how to avoid them)

May 7, 2026

The Bottom Line: CSV import failure is usually caused by structural corruption rather than poor translation: by using a tool that protects IDs, handles, and HTML tags while enforcing UTF-8 encoding, you eliminate the technical friction of bulk localization.

The CSV looks identical to the original. The import fails anyway. This is how most bulk translation projects waste a weekend. It’s often because the team didn’t use the best website translation software for their specific technical needs.

A broken CSV import almost never throws a clear error. Instead, you get a Shopify product with a missing SKU, a Webflow CMS item with a 404 slug, or a SaaS app where every German label is suddenly twice as long as the button that holds it. The damage is done quietly, and you only notice it once a customer does. This highlights why website translation is important and why you must understand the benefits of multilingual SEO before scaling.

I’ve watched this happen on real projects more times than I can count. The five mistakes below are the ones that come back over and over, and the good news is they are all preventable with the right CSV translation workflow. Following a proper SEO website translation guide and understanding the definition of multilingual SEO will help you avoid these technical pitfalls.

Reviewing a CSV before launching translation

Mistake 1: Translating columns that must stay untouched

This is the single most common breakage, and it usually happens when someone hands a full CSV to ChatGPT or DeepL and lets the model decide what is “text,” which is one of the many reasons generic AI tools fail at structured localization.

The trap: an ID, a handle, an SKU, a URL, or a price column gets translated alongside the actual content. The file imports without errors, but every row now points to the wrong product, the wrong page, or a broken link.

Real examples I’ve seen:

  • A Shopify export where vendor was translated from “Nike” to “Nique” in French. Every Nike product disappeared from the brand filter overnight.
  • A Webflow CMS where the slug column was translated, breaking 400 internal links and every backlink the company had earned.
  • A SaaS app strings file where the key column (the developer-facing identifier) was translated, so the app loaded with literally zero matching strings and every UI label fell back to English.

How to avoid it: never use a tool that translates “everything by default.” With AI Glot, the Selected Columns mode forces you to explicitly tick which columns are translatable. IDs, handles, prices, URLs, and SKUs stay byte-for-byte identical to the source. The structure your CMS or store expects is guaranteed.

Mistake 2: Mangling HTML tags inside translated text

This one hurts the most because it looks fine until you preview the page.

When a website translation tool like Weglot exports its CSV, the content cells are rarely plain text. They are full of inline tags: <wg-1>, <wg-2>, <strong>, <a href="...">. These tags wrap a span of words for styling or linking. The translator’s job is not just to translate the words, but to move the tags so they still wrap the equivalent span in the target language.

This is where DeepL, generic AI tools, and yes, even human freelancers, struggle:

  • English “Click here to learn more” becomes German “Klicken Sie hier, um mehr zu erfahren,” but the model loses the tag, wraps the wrong word, or duplicates it.
  • When an English phrase becomes two German words, or vice versa, the tag boundary has to shift. A naive translator either keeps the tag in the wrong place (wrong word is now linked) or removes it (the link is gone entirely).

I’ve personally been through this headache: a translation pass that looked perfect in the spreadsheet but, once re-imported, produced pages where the call-to-action was no longer linked, or where the bold styling landed on the wrong half of the sentence.

How to avoid it: use a tool that understands tag preservation as a first-class feature. AI Glot is built around CSV-native translation, so it treats inline tags as structural elements that must wrap the semantic equivalent in the target language. And if you have a one-off rule for a specific batch (like “never break <wg-cta> tags”), you can add it directly via per-batch instructions before launching, on top of the workspace glossary.

Export the localized CSV

Mistake 3: Losing UTF-8 encoding (a.k.a. the ”?” character disaster)

If you have ever opened a translated CSV in Excel and seen a row of ? or é where French accents should be, you have met this mistake.

CSV files are sensitive to character encoding. When a file moves between Excel, Google Sheets, an LLM chat window, and back, encoding can silently switch from UTF-8 to a regional default (Windows-1252, ISO-8859-1, you name it). Once that happens, every accented character in your German, French, Spanish, or Polish translations gets mangled.

How to avoid it:

  • Always export and re-import as UTF-8 with BOM where your platform supports it.
  • Avoid round-tripping through Excel for languages with non-ASCII characters; prefer Google Sheets or a CSV-native editor.
  • Use a translation platform that explicitly preserves UTF-8 throughout the pipeline. AI Glot reads, processes, and writes UTF-8 by default, so the file you download is import-ready.

Mistake 4: Translating the column headers when you didn’t mean to

Headers are field identifiers your import system reads to know which column means what. If title becomes titre or body_html becomes corps_html, your CMS won’t recognize the file and the import will either fail outright or, worse, drop the data into the wrong fields.

This is exactly what happens when someone pastes a CSV into ChatGPT and asks “translate this to French.” The model has no way of knowing that row 1 is structural and rows 2 onward are content.

How to avoid it:

  • Be explicit about scope. AI Glot’s Selected Columns mode translates the values in the columns you pick and leaves headers alone. The Full CSV mode is a deliberate choice for files where headers genuinely should be translated (a public-facing data table, for example).
  • When in doubt, run the file through the review step first. Seeing “headers will be preserved” before you launch costs nothing and saves the import.

The silent killer: the file looks fine and the row count is right, but somewhere in the middle a translation introduced a comma, a quote character, or a line break that wasn’t escaped properly. From that row onward, every cell is shifted one column to the left or right. The CMS imports the file without complaining and your product titles are now in the price column.

This happens because:

  • AI tools sometimes “improve” punctuation when they translate (turning " into " or «), which breaks CSV escaping rules.
  • Translations can naturally introduce commas where the source had none (“Hello world” → “Bonjour, le monde”).
  • Long translations occasionally include line breaks that the writer didn’t notice.

How to avoid it: use a tool that handles CSV escaping at the structural level rather than treating it as plain text. AI Glot writes properly escaped output (quoted fields, escaped quotes, preserved line breaks within cells) so what you re-import is byte-correct.

The bigger picture: why translation modes matter

If you’ve read this far, you’ve probably noticed a pattern: every one of these mistakes comes from a tool that doesn’t know which parts of your CSV are content and which parts are structure. Generic AI chat tools don’t make this distinction. Even some translation platforms blur it.

This is exactly why AI Glot is built around explicit CSV translation modes:

  • Single Column: translate one source column into a new or existing target column. Perfect for a glossary file or a paired-language CSV.
  • Multi-language Columns: translate one source column into several existing language columns. Perfect for spreadsheets with headers like English, Spanish, French, and German.
  • Selected Columns: translate a chosen subset of columns in place, leaving everything else untouched. The right mode for Webflow CMS, Shopify, WordPress, or any CMS export where most columns are structural metadata.
  • Full CSV: translate every cell and every header. Reserved for files where the entire content is genuinely translatable (a flat app strings file, for example).

Pair this with per-batch instructions (like “preserve these tags” or “do not translate this brand name”) and a workspace glossary that applies automatically across language pairs, and the five mistakes above become structurally impossible rather than mistakes you have to remember to avoid.

When CSVs are the tool of choice

A quick honest note before we close. CSV-based bulk translation is not the right answer for everything.

  • For a press release, a homepage, or a flagship product page, hire a professional human translator. They bring brand and industry knowledge, and the linguistic skill to carry the message in the target language. No AI will replicate that for the highest-stakes copy.
  • For a few paragraphs of one-off text, ChatGPT or Claude works fine. You’ll do some manual glossary setup and copy-paste the output, but for punctual tasks that’s perfectly reasonable.
  • For batch translation work, hundreds or thousands of rows of catalog, CMS, blog, or app content, that’s where AI Glot fits. Paying €1,000 per piece for a thousand pieces is not a workflow; learning how to do bulk translations is.

A checklist you shouldn’t need to memorize

The five mistakes above account for the vast majority of broken CSV imports I’ve seen in real localization projects. They’re not obscure edge cases, they’re predictable, and every one of them disappears when the tool understands the structure of the file it’s translating.

If you’d rather not memorize a checklist every time you translate a file, start a free batch in AI Glot. Translation modes, glossary protection, per-batch instructions, and a review step before you spend a single credit. Your re-import will thank you.

Continue reading

What are the benefits of multilingual SEO?

What are the benefits of multilingual SEO?

January 7, 2026
Weglot best practices to nail translation quality and multilingual SEO

Weglot best practices to nail translation quality and multilingual SEO

April 6, 2026
How to translate my website into Spanish?

How to translate my website into Spanish?

April 2, 2026

500 monthly credits + 2,000 signup bonus

Ready to translate your CSVs at scale?