Advertisement
msoutopico

merge_2lang

Dec 28th, 2018
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var fs = require('fs');
  2. var xml2js = require('xml2js');
  3. var json2xml = require('json2xml');
  4.    
  5. var parser = new xml2js.Parser();
  6.  
  7. var tus1_obj, tus2_obj;
  8.  
  9. fs.readFile(__dirname + '/en.tmx', function(err, data) {
  10.     parser.parseString(data, function (err, result1) {
  11.  
  12.         var tm1_tu_list = result1.tmx.body;
  13.         tus1_obj = result1.tmx.body[0].tu;
  14.         //console.log('Done en');
  15.     });
  16. });
  17.  
  18.  
  19. fs.readFile(__dirname + '/fr.tmx', function(err, data) {
  20.     parser.parseString(data, function (err, result2) {
  21.         if (err) return console.error(err);
  22.         var tm2_tu_list = result2.tmx.body;
  23.         tus2_obj = result2.tmx.body[0].tu;
  24.  
  25.         for (var i = 0; i < tus2_obj.length; i++) {
  26.        
  27.             var tu = tus2_obj[i];
  28.            
  29.             /*
  30.             console.log(tu.tuv[0]);
  31.             console.log(tu.tuv[1]);
  32.             */
  33.  
  34.             console.log(tus1_obj[i].tuv[0]);
  35.             var tuv_en = tus1_obj[i].tuv[0];
  36.             // tuv[0] above because it's assuming English is the source language, hence the first tuv
  37.             tus2_obj[i] = Object.assign({}, tus2_obj[i].tuv, {2: tuv_en});
  38.             // 2 above because it's assuming there are already two tuv nodes in tu
  39.  
  40.         }
  41.  
  42.         fs.writeFile("./object.json", JSON.stringify(result2, null, 4), (err) => {
  43.             if (err) {
  44.                 console.error(err);
  45.                 return;
  46.             };
  47.             console.log("File has been created");
  48.         });
  49.  
  50.         /*
  51.         fs.readFile("./object.json", 'utf8', function read (err, data) {
  52.             if (err) console.log(err);
  53.             fs.writeFile('data.xml', json2xml(JSON.parse(data)));
  54.         });
  55.         */
  56.  
  57.         var convert = require('xml-js');
  58.         var json = require('fs').readFileSync('object.json', 'utf8');
  59.         var options = {compact: true, ignoreComment: true, spaces: 4};
  60.         var result = convert.json2xml(json, options);
  61.         console.log(result);
  62.  
  63.     });
  64. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement