UNPKG

@bmat/translation-management

Version:

Manage Front-End translations from multiple sources

1 lines 1.11 kB
'use strict';Object.defineProperty(exports,'__esModule',{value:true});const flatten_i18n_json_1=require('../../extractors/flatten-i18n-json');const xml_entities_1=require('../../factories/xml-entities');const xliff12_interfaces_1=require('../../interfaces/xliff12.interfaces');function fromI18nJsonToXliffFile({data,filePath,sourceLanguage,targetLanguage},options={prefix:''}){const transUnits=flatten_i18n_json_1.flattenI18nJSON(data);const fileAttr={sourceLanguage,targetLanguage,datatype:xliff12_interfaces_1.DataType.JAVASCRIPT,original:filePath};return new xml_entities_1.FileTag(fileAttr,[new xml_entities_1.BodyTag({},[...transUnits.entries()].map(([id,source])=>{return new xml_entities_1.TransUnitTag({id:options.prefix+id,datatype:xliff12_interfaces_1.DataType.JAVASCRIPT},[new xml_entities_1.SourceTag({},[source]),new xml_entities_1.TargetTag({}),new xml_entities_1.ContextGrupTag({purpose:xliff12_interfaces_1.Purpose.LOCATION},[new xml_entities_1.ContextTag({contextType:xliff12_interfaces_1.ContextType.SOURCEFILE},[filePath])])]);}))]);}exports.fromI18nJsonToXliffFile=fromI18nJsonToXliffFile;