Turn an XLIFF 1.2 file into an Excel sheet a translator or vendor can edit, then load it straight back to XLIFF — inline tags, translation states, the file header, placeholders and whitespace all preserved, every trans-unit keyed by its id. Not generic XML-to-table — the one step a CAT/TMS handoff actually needs.
This conversion exists so CAT/TMS tools and translators each use the format they're comfortable with — without losing anything in between.
The bilingual interchange format CAT tools and TMS platforms (memoQ, Trados, Phrase, Crowdin…) export: one trans-unit per string with a source and target, a translation state, and inline tags (ph, g, bpt/ept) standing in for formatting and variables. Precise — not something to hand-edit by eye.
The interface translators, reviewers and vendors find most natural: one row per string, source and translation side by side, easy to filter, bulk-edit and annotate. The catch: open an .xlf in raw Excel and the inline tags get mangled, the state is lost, and it won’t load back into the CAT tool.
What this tool guards is exactly that “won’t load back”: on export it carries every inline tag character-exact, keeps each target’s state in the Type column, and stores the file header in reserved @@file.* rows — so the sheet rebuilds into valid XLIFF 1.2 on the way back. A few XLIFF constructs can’t survive a spreadsheet and are reported, never silently dropped: notes, alternative translations (alt-trans), group nesting, the approved flag and resname — and XLIFF 2.0 is not yet supported (1.2 only).