Skip to main content

CSV Format Issues

Fix CSV encoding, formatting, and column issues for successful translation.

CSV Requirements​

WooTUI expects:

  • Encoding: UTF-8 (not ANSI, ISO-8859-1, or Windows-1252)
  • Delimiter: Comma , (not semicolon ;)
  • Line breaks: LF or CRLF (not CR only)
  • WPML columns: Meta: _wpml_import_source_language_code, Meta: _wpml_import_language_code, Meta: _wpml_import_translation_group

Encoding Issues​

Garbled Characters (ñ, é, ü, etc.)​

Problem: Special characters appear as ñ, é, or question marks

Cause: CSV not in UTF-8 encoding

Solution:

Google Sheets (Recommended):

  1. Upload CSV to Google Sheets
  2. File → Download → Comma-separated values (.csv)
  3. Google Sheets always exports UTF-8

LibreOffice Calc:

  1. Open CSV in LibreOffice Calc
  2. File → Save As
  3. File type: "Text CSV (.csv)"
  4. Character set: Unicode (UTF-8)
  5. Field delimiter: , (comma)
  6. Save

Windows Notepad:

  1. Open CSV in Notepad
  2. File → Save As
  3. Encoding: UTF-8
  4. Save
Don't Use Excel

Microsoft Excel often breaks UTF-8 encoding. Use Google Sheets or LibreOffice instead!


Missing WPML Columns​

"Missing required columns" Error​

Problem: WooTUI needs WPML columns but they're not in CSV

Solution:

  1. Verify WPML is installed:

    • Go to WordPress → Plugins
    • Check "WPML Multilingual CMS" and "WPML WooCommerce Multilingual" are active
  2. Check WPML WooCommerce integration:

    • WPML → WooCommerce Multilingual
    • Ensure integration is enabled
  3. Re-export with all columns:

    • WooCommerce → Products → Export
    • Select "All columns"
    • Download CSV
    • Open in text editor and verify columns starting with Meta: _wpml_import_* are present

Attribute Column Issues​

Attribute Names or Values Not Translating​

Problem: Attributes appear incorrectly after translation

Causes & Solutions:

Inconsistent Formatting:

# Bad - mixed delimiters
Attribute 1 Value(s)
"Red, Blue; Green"

# Good - consistent commas
Attribute 1 Value(s)
"Red, Blue, Green"

Extra Spaces:

# Bad
"Red , Blue , Green"

# Good
"Red, Blue, Green"

Wrong Column Count:

  • Each attribute needs 4 columns: Name, Value(s), Visible, Default
  • Missing columns will cause errors

Empty vs NULL Values​

How WooTUI Handles Empty Fields​

Empty string (""):

  • Column exists but has no value
  • WooTUI preserves as empty in translation

NULL placeholder (NULL_columnName):

  • WooTUI uses this internally to maintain CSV structure
  • You shouldn't see these in output (if you do, it's a bug)
Empty Fields

Empty fields in source CSV will remain empty in translated CSV. This is intentional—don't translate what doesn't exist!


Delimiter Issues​

Semicolon Delimiters​

Problem: CSV uses ; instead of ,

Solution:

  1. Open CSV in Google Sheets or LibreOffice
  2. Import with semicolon delimiter
  3. Export as CSV with comma delimiter

Quotes and Escaping​

Broken Quotes in Descriptions​

Problem: Product descriptions with quotes cause parsing errors

CSV Standard: Quotes inside quoted fields must be doubled

Example:

# Bad
Description
"This is a "premium" product"

# Good
Description
"This is a ""premium"" product"

Solution:

  • Don't manually edit CSVs with complex quotes
  • Let Google Sheets or LibreOffice handle escaping
  • Or use a CSV validator tool

Validating Your CSV​

Online Validators​

Manual Check​

Open CSV in text editor (not Excel) and verify:

  1. First line has column headers
  2. Each row has same number of columns
  3. Special characters display correctly
  4. No random line breaks in middle of fields

Best Practices​

1. Always Use UTF-8​

Before translating:

  • Export from WooCommerce
  • Open in Google Sheets
  • Re-export as CSV (ensures UTF-8)

2. Don't Edit in Excel​

Excel breaks:

  • UTF-8 encoding
  • Leading zeros in SKUs
  • Date formats

Use Google Sheets or LibreOffice Calc instead.

3. Keep Backups​

Before any CSV editing:

products_original_2025-01-20.csv
products_edited_2025-01-20.csv

4. Test with Small Sample​

Before translating 1000 products:

  • Extract 5 rows to test CSV
  • Translate test CSV
  • Verify format is correct
  • Then translate full catalog

Next Steps​