var fs = require("fs")
var request = require('request')
var crypto = require('crypto')
// 中文 zh
// 英文 en
// 日文 jp
// 韩文 kor
//需要翻译成xxx语言
var zto="jp"
//需要翻译文件路径
var path='D:/myprojet/trading-panel/src/common/en.js'
//js和php文件翻译
var types='js'
var dataflie = fs.readFileSync(path).toString()
if(types=='js'){
//js翻译正则
var data = dataflie.match(/(?<=").*?(?=")/gim)
var name = zto+'.js'
}else{
// php翻译正则
var data = dataflie.match(/(?<== ').*?(?=';)/gim)
var name = zto+'.php'
}
console.log(data)
return
var fy_data = []
var data_len = 0
httprequest(data[0])
function httprequest(q) {
console.log('翻译===>' + q)
let f_data = {
q: q, // 待翻译文本
from: 'auto', // 源语言 True
to: zto, //目标语言 True
appid: '填写应用ID', //应用ID True
salt: (new Date).getTime(), //True UUID
sign: '',
}
let str = f_data.appid + f_data.q + f_data.salt + '填写百度秘钥';
f_data.sign = md5(str)
request.post({
url: 'https://fanyi-api.baidu.com/api/trans/vip/translate',
form: f_data,
},
function(error, response, body) {
console.log(JSON.parse(body))
try{
fy_data.push(JSON.parse(body).trans_result[0].dst)
console.log(fy_data)
var timeout = setTimeout(() => {
httprequest(data[data_len])
}, 1100)
data_len++
if (data_len >= data.length) {
clearTimeout(timeout)
console.log("程序停止")
addfile()
}
}catch(e){
console.log('------------------返回出错了-------------------->')
addfile()
//TODO handle the exception
}
})
}
function addfile() {
console.log(dataflie)
console.log("写入文件")
let addfile = ''
for (let i = 0; i < data.length; i++) {
if (dataflie.indexOf(data[i]) != -1) {
console.log(data[i] + '================翻译=>' + fy_data[i])
dataflie = dataflie.replace(data[i], fy_data[i])
} else {
console.log('666')
}
}
fs.writeFileSync(name, dataflie);
console.log("====>翻译完成")
}
function md5(data) {
let hash = crypto.createHash('md5');
hash.update(data);
let rdata = hash.digest('hex')
return rdata
}