UNPKG

i18n-zh2other

Version:

语言包自动翻译

67 lines (53 loc) 2.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var md5 = require('md5'); var http = require('http'); var _ = require('lodash'); var Translate = /*#__PURE__*/function () { function Translate(config, toLang) { var delay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; _classCallCheck(this, Translate); this.config = config; this.toLang = toLang; this.delay = delay; } _createClass(Translate, [{ key: "do", value: function _do(text) { var baiduTranslate = this.config.baiduTranslate; var key = baiduTranslate.key, appid = baiduTranslate.appid, url = baiduTranslate.url, salt = baiduTranslate.salt; var sign = md5(appid + text + salt + key); var delay = this.delay; var params = ['q=' + text, 'appid=' + appid, 'salt=' + salt, 'from=zh', 'to=' + this.toLang, 'sign=' + sign]; var finalUrl = url + '?' + params.join('&'); return new Promise(function (resolve, reject) { setTimeout(function () { http.get(finalUrl, function (resp) { var result = ''; resp.on('data', function (data) { result += data; }); resp.on('end', function () { var finalText = _.map(JSON.parse(result)['trans_result'], function (item) { return item['dst']; })[0]; resolve(finalText ? finalText : 'miss'); }); }); }, delay); }); } }]); return Translate; }(); var _default = Translate; exports["default"] = _default;