Excel round-trip workflow

Hand a single XLSX to a translator and import it back without losing context.

Last updated:

The Excel round-trip is the load-bearing workflow for most localization teams. This guide covers the export, what translators see, and the safety nets on re-import.

Export #

With the model open, File → Export translations…. Pick CSV or XLSX, choose the destination, and save.

The export contains:

  • A schema-version marker (cell A1 on XLSX, a #-prefixed comment line on CSV)
  • Four fixed informational columns: Object ID, Type, Parent, Name
  • Two columns per culture: Caption ({culture}) and Description ({culture})
  • One row per translatable object (tables, columns, measures, hierarchies, hierarchy levels)

The model columns follow the grid’s VIEW switch at export time: Caption writes caption columns only, Description writes description columns only, Both writes both. If the file has a report layer, the export adds a second Report sheet (or a paired .report.csv) holding the report-canvas text in a wide, one-column-per-language shape. See XLSX and CSV file format for the full schema.

UTF-8 with BOM, so Excel opens the file correctly when a translator double-clicks it on Windows. CSV uses CRLF line endings for the same reason.

Translator experience #

Translators open the file. They see one familiar Excel grid. They fill in the empty cells in the cultures they’re working on, save, and send it back. They don’t need to install Daxlate.

The first column (Object ID) is the import-time identity key. Translators should treat it as a foreign key and not edit it. The same goes for Type, Parent, and Name, which are there to help translators understand each row’s context.

Re-import #

In the app, File → Import translations…, pick the file, and confirm. The app previews the import in a dialog before applying:

  • Row count, with the number of cells changed
  • Any new cultures detected in the file (they’ll be added to the model)
  • Warnings for unknown columns, unknown Object IDs, and schema-version mismatches (a file from a newer major version is rejected outright)

Click Apply to commit. The result lands in the editor as a single undoable batch, so one undo reverts the whole import.

Empty-cell semantics #

The import overlays what’s in the file onto the model:

  • A non-empty cell sets the translation for that culture.
  • A blank cell means “not translated yet” and is left untouched, so a half-finished file never wipes the translations a translator has not reached. The import confirmation tells you how many blanks it skipped.

To remove a translation, clear the cell in the grid, or remove the whole language from the Cultures dropdown.

If a column in the file refers to a culture that doesn’t yet exist on the model, the import adds the culture and populates it from the file’s cells.

Schema version #

Both CSV and XLSX exports carry a version marker (Daxlate/1.0, in cell A1 on XLSX or as a comment on the first CSV line). On import, files from a newer major version are rejected with a clear error so a stale build doesn’t half-apply an incompatible file. Files with no marker are treated as 1.0 for back-compat.