New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

fis-postpackager-tcli18n

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fis-postpackager-tcli18n - npm Package Compare versions

Comparing version 1.0.5 to 1.0.6

.idea/.name

109

index.js

@@ -6,2 +6,3 @@ /**

var http = require('http');
var Promise = require('promise');

@@ -14,20 +15,24 @@ var baiduApiKey = 'vwuwiHIswhLGdR3xg1Hwvg2n';

//调用baidu翻译api
function translateStr(key, callback){
http.get({
hostname: 'openapi.baidu.com',
port: 80,
path: '/public/2.0/bmt/translate?client_id='+baiduApiKey+'&q='+key+'&from=auto&to=auto',
agent: false // create a new agent just for this one request
}, function (res) {
var data = '';
res.on('data', function (chunk) {
data += chunk;
});
res.on('end', function(){
callback(JSON.parse(data));
function translatePromise(key){
return new Promise(function(resolve, reject){
http.get({
hostname: 'openapi.baidu.com',
port: 80,
path: '/public/2.0/bmt/translate?client_id='+baiduApiKey+'&q='+key+'&from=auto&to=auto',
agent: false // create a new agent just for this one request
}, function (res) {
var data = '';
res.on('data', function (chunk) {
data += chunk;
});
res.on('end', function(){
resolve(JSON.parse(data));
});
});
// Do stuff with response
});
};
}
//把obj对象的数据转换成为 key = value 模式;

@@ -43,3 +48,2 @@ //以最长的key来补齐空格

var spaceStr = (new Array(maxLength - keyLen)).join(' ');
releaseContent += n + spaceStr+" = " + obj[n] + "\n";

@@ -66,66 +70,55 @@ }

module.exports = function(ret, conf, settings, opt) {
console.log(opt)
var i18nConf = fis.config.get('tclI18n');
var paths = [];
var cacheMap = {};
var translateMap = {};
//key最长长度
var maxKeyLen = 0;
var maxTansKeyLen = 0;
//读取key:key生成map
//读取key:key生成map
var count = 0;
var replace = i18nConf.replace;
var translatePromises = [];
fis.util.map(ret.src, function(subpath, file) {
var content = file.getContent();
if(i18nConf.ext == file.ext.replace('.', '')){
var fileExt = file.ext.replace('.', '');
//占位符根据配置替换
if(i18nConf.ext == fileExt){
content = content.replace(i18nReg, replace);
file.setContent(content);
}
while (i18nReg.exec(content)) {
var key = RegExp.$2;
if(!cacheMap[key]){
count++;
translateStr(key, function(res){
count--;
var oo = res.trans_result[0];
var name, value;
if(res.from == 'zh'){
name = oo['dst'];
value = oo['src'];
}
if(res.from == 'en'){
name = oo['src'];
value = oo['dst'];
}
name = name.replace(/\W/g, '_').toLowerCase();
translateMap[name] =value;
maxTansKeyLen = maxTansKeyLen>name.length?maxTansKeyLen:name.length;
if(count == 0){
var translateCon = map2file(translateMap, maxTansKeyLen);
fis.util.write(releasePath+"_", translateCon);
fis.log.notice('do i18n key translate success');
}
});
cacheMap[key] = key;
translatePromises.push(translatePromise(key));
}
cacheMap[key] = key;
var charLen = key.replace(doubleReg, 'aa').length;
maxKeyLen = maxKeyLen>charLen?maxKeyLen:charLen;
}
});
//翻译后key最长长度
var maxTansKeyLen = 0;
Promise.all(translatePromises).then(function(res){
res.forEach(function(trans){
console.log(JSON.stringify(trans));
var oo = trans.trans_result[0];
var name, value;
if(trans.from == 'zh'){
name = oo['dst'];
value = oo['src'];
}
if(trans.from == 'en'){
name = oo['src'];
value = oo['src'];
}
name = name.replace(/\W/g, '_').toLowerCase();
translateMap[name] =value;
maxTansKeyLen = Math.max(maxTansKeyLen, name.length);
});
var translateCon = map2file(translateMap, maxTansKeyLen);
fis.util.write(releasePath+"_", translateCon);
fis.log.notice('do i18n key translate success');
});
fis.log.notice('do i18n key translate, please hold;');

@@ -132,0 +125,0 @@

{
"name": "fis-postpackager-tcli18n",
"version": "1.0.5",
"version": "1.0.6",
"description": "parse __i18n__(...) crate default language file",

@@ -20,3 +20,6 @@ "main": "index.js",

"_shasum": "e0ae9faaeebe82cf8121f3dd08b3fb609fa7dd76",
"_from": "fis-postpackager-tcli18n@"
"_from": "fis-postpackager-tcli18n@",
"devDependencies": {
"promise": "^7.0.0"
}
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc