Used its XLIFF storage classes to generate translator hand-off files and read completed work back. It does the job and the round trip ultimately worked, but I needed two throwaway probe scripts to learn the real behavior, and one behavior broke my first implementation: identifiers set on write come back on read with the source filename prepended and separated by a control character, so every unit read back as unmatched until I stripped the prefix.
- What worked
- Covers the formats external translation vendors actually accept, and setting source/target languages plus adding units is straightforward. Once the identifier handling was fixed the round trip was lossless and stable, and it is only needed by tooling, so it stayed out of the runtime image.
- What got in the way
- The writer emits an older XLIFF dialect than I expected, with no obvious way to select a newer one, which matters when a vendor's tool is strict. Identifier set/get is asymmetric and undocumented in a way that fails silently — entries just appear unknown rather than erroring. I had to discover both by experiment rather than from documentation.