diff --git a/src/model/translationFileSerialization.spec.ts b/src/model/translationFileSerialization.spec.ts index ba00dd9..4f9a809 100644 --- a/src/model/translationFileSerialization.spec.ts +++ b/src/model/translationFileSerialization.spec.ts @@ -294,7 +294,23 @@ describe('translationFileSerialization', () => { `); }); - it('should output additinalAttribute', () => { + it('should output id with quotes', () => { + const input = new TranslationFile([{ + id: 'idWithQuote"', + source: 'some source', + locations: [] + }], 'en', 'de', ''); + expect(toXlf1(input, {prettyNestedTags: true})).toEqual(` + + + + some source + + + +`); + }); + it('should output additionalAttribute', () => { const input = new TranslationFile([{ id: 'ID1', source: 'source val', diff --git a/src/model/translationFileSerialization.ts b/src/model/translationFileSerialization.ts index 53d232b..77c017f 100644 --- a/src/model/translationFileSerialization.ts +++ b/src/model/translationFileSerialization.ts @@ -123,7 +123,8 @@ export function toXlf2(translationFile: TranslationFile, options: Pick { - const u = new XmlDocument(`${unit.source}`); + const u = new XmlDocument(`${unit.source}`); + u.attr.id = unit.id; const segment = u.childNamed('segment')!; if (unit.target !== undefined) { segment.children.push(new XmlDocument(`${unit.target}`)); @@ -171,9 +172,10 @@ export function toXlf1(translationFile: TranslationFile, options: Pick { - const transUnit = new XmlDocument(` + const transUnit = new XmlDocument(` ${unit.source} `); + transUnit.attr.id = unit.id; if (unit.target !== undefined) { const target = new XmlDocument(`${unit.target}`); if (unit.state !== undefined) {