UNPKG

@bmat/translation-management

Version:

Manage Front-End translations from multiple sources

1 lines 1.3 kB
'use strict';Object.defineProperty(exports,'__esModule',{value:true});const xmldom_1=require('xmldom');const xliff_1=require('../../constants/xliff');const xml_entities_1=require('../../factories/xml-entities');const xliff12_interfaces_1=require('../../interfaces/xliff12.interfaces');const add_missing_translations_to_xliff_1=require('../add-missing-translations-to-xliff');const xliff_file_tag_to_i18n_json_1=require('../xliff-file-tag-to-i18n-json');function splitMasterFiles(master){const implementation=new xmldom_1.DOMImplementation();const retDocs=[];const files=master.getElementsByTagNameNS(xliff_1.NAMESPACE,'file');for(let i=0;i<files.length;i+=1){const file=files[i];const original=file.getAttribute('original');switch(file.getAttribute('datatype')){case xliff12_interfaces_1.DataType.JAVASCRIPT:retDocs.push({original,fileType:'json',content:xliff_file_tag_to_i18n_json_1.xliffFileTagToI18nJson(file)});break;default:const doc=implementation.createDocument(xliff_1.NAMESPACE,null,null);const xliff=new xml_entities_1.XLIFFTag({}).toXML();xliff.appendChild(file.cloneNode(true));doc.appendChild(xliff);add_missing_translations_to_xliff_1.addMissingTranslationsToXliff(doc);retDocs.push({original,fileType:'xliff',content:doc});}}return retDocs;}exports.splitMasterFiles=splitMasterFiles;