Untitled

 avatar
unknown
javascript
2 years ago
2.7 kB
10
Indexable
const fs = require("fs")
parseString = require("xml2js").parseString;
xml2js = require("xml2js");
const path = require('path')
const {Translate} = require('@google-cloud/translate').v2;

const fullPath = path.join(__dirname, 'xml')

let inames = [];
let idescs = [];

// Creates a client
    const translate = new Translate({

    });

async function translateText(text, target) {
  // Translates the text into the target language. "text" can be a string for
  // translating a single piece of text, or an array of strings for translating
  // multiple texts.
  let translation = await translate.translate(text, target);
    return translation[0];
}

//character //json.imgdir.imgdir[0].string[0].$.value
//item //
fs.readdir(fullPath, (error, files) => {
    if (error) console.log(error)
        files.forEach(function(file) {
            fs.readFile("xml/" + file, "utf-8", function(err, data) {
                if (err) console.log(err);
                parseString(data, function(err, result) {
                  if (err) console.log(err);
                  var json = result;
                  for(i = 0; i < json.imgdir.imgdir.length; i++) {
                    
                    iname = json.imgdir.imgdir[i].imgdir[0].string[0].$.value;
                    idesc = json.imgdir.imgdir[i].imgdir[0].string[1].$.value;

                    translateText(iname, 'en').then(res => {
                    inames.push(res);
                    });

                    translateText(idesc, 'en').then(res => {
                    idescs.push(res);
                    });
                  }

                  console.log(idescs);

                  for(i = 0; i < json.imgdir.imgdir.length; i++) {
                    //console.log(i);
                    //console.log(inames[i]);
                    //json.imgdir.imgdir[i].imgdir[0].string[0].$.value = inames[i];
                    //json.imgdir.imgdir[i].imgdir[0].string[1].$.value = idescs[i];
                  }


                  /*
                  translateText(jp, 'en').then(result => {
                    json.imgdir.imgdir[0].string[0].$.value = result;
                    var builder = new xml2js.Builder();
                    var xml = builder.buildObject(json);
                    fs.writeFile("xml/" + file, xml, function(err) {
                        if (err) {
                          console.log("err")
                        } else {
                          console.log("Xml file successfully updated.")
                        }
                      })
                });
                */
                });

        })
    })
    })
Editor is loading...