translate-compiler
Advanced tools
Comparing version 0.6.0-beta to 0.8.0-beta
#! /usr/bin/env node | ||
const a0_0x1bcf2a=a0_0x33e0;(function(_0x47ca51,_0x126aed){const _0x41deb4=a0_0x33e0,_0x50c787=_0x47ca51();while(!![]){try{const _0x25a877=parseInt(_0x41deb4(0x1d8))/0x1*(parseInt(_0x41deb4(0x1a8))/0x2)+parseInt(_0x41deb4(0x1e6))/0x3+-parseInt(_0x41deb4(0x1c5))/0x4+parseInt(_0x41deb4(0x195))/0x5+-parseInt(_0x41deb4(0x1d6))/0x6+parseInt(_0x41deb4(0x19f))/0x7+parseInt(_0x41deb4(0x1bf))/0x8*(-parseInt(_0x41deb4(0x19e))/0x9);if(_0x25a877===_0x126aed)break;else _0x50c787['push'](_0x50c787['shift']());}catch(_0x95005f){_0x50c787['push'](_0x50c787['shift']());}}}(a0_0x3f06,0x5584b));const fs=require('fs'),path=require(a0_0x1bcf2a(0x1d4)),{program}=require('commander'),{pinyin}=require(a0_0x1bcf2a(0x1e8)),_path=process['cwd']();function hasChinese(_0x2f41fb){const _0x3c9662=a0_0x1bcf2a;return/[\u4e00-\u9fa5]/g[_0x3c9662(0x1dc)](_0x2f41fb);}let customLang={},config={'env':a0_0x1bcf2a(0x1c3),'locals':[],'excludes':[],'channel':'baidu','suffix':'.vue','output':a0_0x1bcf2a(0x1cd)};getConfig();function getConfig(){const _0x1d558e=a0_0x1bcf2a;program['argument']('<env>','指定环境:dev(开发)/test(测试)/prod(生产),默认为开发环境')[_0x1d558e(0x1bb)](_0x1d558e(0x1c4),_0x1d558e(0x19b))['option'](_0x1d558e(0x1ba),'需要生成的地区语言(语种代码)如:zh等')[_0x1d558e(0x1e4)]('--channel\x20<value>',_0x1d558e(0x1e5))[_0x1d558e(0x1e4)]('--appKey\x20<value>',_0x1d558e(0x1ab))['option'](_0x1d558e(0x1cf),_0x1d558e(0x1de))[_0x1d558e(0x1e4)](_0x1d558e(0x1dd),_0x1d558e(0x196))[_0x1d558e(0x1e4)](_0x1d558e(0x1d3),'排除翻译的文件,可指定多个')['option'](_0x1d558e(0x1b8),_0x1d558e(0x1d0))['option'](_0x1d558e(0x1e1),_0x1d558e(0x1a4)),program[_0x1d558e(0x1e7)]();const _0x4adb0a=program[_0x1d558e(0x198)]();config=Object['assign'](config,_0x4adb0a,{'env':program[_0x1d558e(0x1c2)][0x0]}),getFileContent(path[_0x1d558e(0x197)](_path,_0x1d558e(0x1c8)),_0x481f9d=>{const _0x4ecb36=_0x1d558e;customLang=_0x481f9d,console[_0x4ecb36(0x1c0)](_0x4ecb36(0x1b0));},()=>{const _0xf9f46a=_0x1d558e;console[_0xf9f46a(0x1c0)](_0xf9f46a(0x1a1));});}function getFileContent(_0x5e7204,_0x570ccb,_0x836408){const _0x5e9909=a0_0x1bcf2a;if(fs[_0x5e9909(0x1ad)](_0x5e7204))try{let _0x281a5d=fs[_0x5e9909(0x1ef)](_0x5e7204,{'encoding':_0x5e9909(0x1b4)});const _0x365215=path[_0x5e9909(0x1a6)](_0x5e7204);if(_0x365215==_0x5e9909(0x1e3))_0x570ccb&&_0x570ccb(JSON['parse'](_0x281a5d));else{let _0x59ca2c={};_0x281a5d[_0x5e9909(0x1d5)](/['"]*(\w+)['"]*:\s*"([^"]+)"/g,(_0x382430,_0x5731ad,_0x178daa)=>{_0x59ca2c[_0x5731ad]=_0x178daa;}),_0x570ccb&&_0x570ccb(_0x59ca2c);}}catch(_0x5c490a){_0x836408&&_0x836408(_0x5e9909(0x1ea));}else _0x836408&&_0x836408(_0x5e9909(0x1ca));}function getSuffixFiles(_0x58c202,_0x403a11,_0x3559d5){const _0x2f9b45=a0_0x1bcf2a,_0x5904c1=fs[_0x2f9b45(0x1ee)](_0x58c202),_0x25d595=[];return _0x5904c1[_0x2f9b45(0x1c7)]((_0x3b0daa,_0x56191c)=>{const _0x5b2a99=_0x2f9b45,_0x5e5cea=path[_0x5b2a99(0x197)](_0x58c202,_0x3b0daa),_0x2299b6=fs[_0x5b2a99(0x1f4)](_0x5e5cea);if(_0x2299b6[_0x5b2a99(0x1ec)]())_0x25d595[_0x5b2a99(0x1ed)](...getSuffixFiles(_0x5e5cea,_0x403a11,_0x3559d5));else path['extname'](_0x3b0daa)==_0x403a11&&!_0x3559d5[_0x5b2a99(0x1df)](path[_0x5b2a99(0x1a6)](_0x3b0daa))&&_0x25d595[_0x5b2a99(0x1ed)](_0x5e5cea);}),_0x25d595;}function delSuffixFiles(_0x432092,_0x137ff0,_0x54c926){const _0x264930=a0_0x1bcf2a,_0xd063ef=fs[_0x264930(0x1ee)](_0x432092);_0xd063ef[_0x264930(0x1c7)]((_0x3f6b93,_0x4dc57d)=>{const _0x1a7a1a=_0x264930,_0x266681=path['join'](_0x432092,_0x3f6b93),_0x4e372f=fs[_0x1a7a1a(0x1f4)](_0x266681),_0x42ac48=new RegExp(_0x1a7a1a(0x1cc)+_0x137ff0+'$');if(_0x4e372f[_0x1a7a1a(0x1ec)]())delSuffixFiles(_0x266681,_0x137ff0,_0x54c926);else _0x42ac48[_0x1a7a1a(0x1dc)](_0x3f6b93)&&!_0x54c926[_0x1a7a1a(0x1df)](path[_0x1a7a1a(0x1a6)](_0x3f6b93))&&fs[_0x1a7a1a(0x1e0)](_0x266681);});}function getTranslateKey(_0x4cafcc,_0x3dc032){const _0x308dfb=a0_0x1bcf2a;if(_0x3dc032[_0x308dfb(0x19a)]>0x28)return'??????FILE_NAME_TO_LONG';const _0x3b7c2a=/^(['"`])|['"`]$/g,_0x3ebbfa=/\$*\{(.*?)\}/g;let _0xf83ed2=_0x4cafcc['replace'](_0x3b7c2a,'');const _0x2f10dc=(_0xf83ed2['match'](_0x3ebbfa)||[])['reduce']((_0x36f1d7,_0x38503f,_0xfb6b0d)=>_0x36f1d7[_0x308dfb(0x1d5)](_0x38503f,'{'+_0xfb6b0d+'}'),_0xf83ed2),_0x2b04bf=Object[_0x308dfb(0x1c1)](customLang)['indexOf'](_0x2f10dc);if(_0x2b04bf!==-0x1)return Object[_0x308dfb(0x1d9)](customLang)[_0x2b04bf];_0xf83ed2=_0xf83ed2[_0x308dfb(0x1d5)](_0x3ebbfa,'o'),_0xf83ed2=_0xf83ed2[_0x308dfb(0x1d5)](/[^\u4e00-\u9fa5\w]/g,'');let _0x5b5c4f=_0xf83ed2['replace'](/([\u4e00-\u9fa5]+)/g,_0x4abd8a=>{const _0x2d6378=_0x308dfb;return pinyin(_0x4abd8a,{'toneType':_0x2d6378(0x1a9),'type':'array'})[_0x2d6378(0x197)]('_');}),_0x5b79d6=_0x3dc032+'_'+_0x5b5c4f;if(_0x5b79d6[_0x308dfb(0x19a)]>0x1e){_0x5b5c4f=_0xf83ed2[_0x308dfb(0x1d5)](/([\u4e00-\u9fa5]+)/g,_0x4860e0=>{const _0x52e2f8=_0x308dfb;return pinyin(_0x4860e0,{'pattern':_0x52e2f8(0x1ae),'toneType':_0x52e2f8(0x1a9),'type':_0x52e2f8(0x1a2)})[_0x52e2f8(0x197)]('');}),_0x5b79d6=_0x3dc032+'_'+_0x5b5c4f;if(_0x5b79d6[_0x308dfb(0x19a)]>0x32){const _0x3a231c=Number[_0x308dfb(0x1b5)](_0x5b5c4f['length']/(0x31-_0x3dc032[_0x308dfb(0x19a)]))+0x1;_0x5b5c4f=new Array(_0x5b5c4f[_0x308dfb(0x19a)])[_0x308dfb(0x1f1)]('')['reduce']((_0x34df5b,_0x3058ec,_0x3865cf)=>''+_0x34df5b+(_0x3865cf%_0x3a231c==0x0?_0x5b5c4f[_0x3865cf]:''));}_0x5b79d6=_0x3dc032+'_'+_0x5b5c4f;}return _0x5b79d6;}translater();function translater(){const _0x1b01c9=a0_0x1bcf2a;delSuffixFiles(path[_0x1b01c9(0x197)](_path,config[_0x1b01c9(0x1bd)]),config[_0x1b01c9(0x1bc)],config[_0x1b01c9(0x1b1)]);const _0x3df2c6=getSuffixFiles(path['join'](_path,config[_0x1b01c9(0x1bd)]),config['suffix'],config[_0x1b01c9(0x1b1)]);let _0x305f51={};_0x3df2c6[_0x1b01c9(0x1c7)](function(_0x2abfe1,_0x7f45e3){const _0x173276=_0x1b01c9;console['log'](_0x173276(0x1a5)+_0x2abfe1);let _0x2a76f6=fs[_0x173276(0x1ef)](_0x2abfe1,{'encoding':'utf-8'})+'';const _0x156098=path[_0x173276(0x1b6)](_0x2abfe1)['split']('.')[0x0],_0x120266=/\<template\>(.|\n|\r)*\<\/template\>/g,_0x5e0e5e=/<!--[\s\S]*?-->/g,_0xbcc655=/\<script\>(.|\n|\r)*\<\/script\>/g,_0xd92890=/(?<=\s|\;|^|\{|\})\/\/[^\r\n]*/g,_0x556cb5=/\/\*[\s\S]*?\*\//g;_0x2a76f6=_0x2a76f6[_0x173276(0x1d5)](_0x120266,_0x3dea05=>_0x3dea05[_0x173276(0x1d5)](_0x5e0e5e,'')),_0x2a76f6=_0x2a76f6[_0x173276(0x1d5)](_0xbcc655,_0x214acb=>_0x214acb[_0x173276(0x1d5)](_0xd92890,'')[_0x173276(0x1d5)](_0x556cb5,''));const _0x159eac=/(?<=\$t\()(['"])(.*?)\1/g;_0x2a76f6=_0x2a76f6[_0x173276(0x1d5)](_0x159eac,(_0x4593d4,_0x31ea54,_0x3721d2)=>{if(hasChinese(_0x4593d4)){const _0xb3ea9f=getTranslateKey(_0x4593d4,_0x156098);return _0x305f51[_0xb3ea9f]=_0x3721d2,'\x27'+_0xb3ea9f+'\x27';}return _0x4593d4;}),_0x2a76f6=_0x2a76f6[_0x173276(0x1d5)](_0x120266,_0x418dc7=>{const _0x434a6c=_0x173276,_0x1f9184=handleTemplate(_0x418dc7,_0x156098);return _0x305f51=Object['assign'](_0x305f51,_0x1f9184[_0x434a6c(0x1d7)]),_0x1f9184[_0x434a6c(0x1a3)];}),_0x2a76f6=_0x2a76f6[_0x173276(0x1d5)](_0xbcc655,_0x70e27d=>{const _0x2b6e61=_0x173276,_0x57508c=handleScript(_0x70e27d,_0x156098);return _0x305f51=Object[_0x2b6e61(0x1af)](_0x305f51,_0x57508c[_0x2b6e61(0x1d7)]),_0x57508c[_0x2b6e61(0x1a3)];}),outputLangFile(_0x2abfe1,_0x2a76f6);}),outputTranslate(_0x305f51);}function a0_0x3f06(){const _0x1b1510=['20719wKmdMO','keys','\x27)\x20}}','.lang.$1','test','-s,\x20--suffix\x20<value>','翻译api\x20密钥','includes','unlinkSync','--strict','export\x20default\x20{\x0d','.json','option','翻译渠道\x20baidu\x20百度,youdao\x20有道','315351JDLLqU','parse','pinyin-pro','{{\x20$t(\x27','读取文件失败','$key','isDirectory','push','readdirSync','readFileSync','split','fill',':\x20\x22','env','lstatSync','2323255klkRfb','翻译的文件名后缀,默认.vue','join','opts','local','length','翻译的文件夹','filter','\x22:\x20\x22','1528713MmyTzt','3277428EtsaUR','mkdirSync','-\x20读取字典:\x20读取自定义字典发生错误!','array','content','是否严格模式,\x20严格模式只提取$t()内中文,否则全局','-\x20执行文件:','extname','locals','34rxOAPo','none','$t($key)','翻译api\x20应用key','\x27,\x20[','existsSync','first','assign','-\x20读取字典:\x20读取自定义字典\x27translate.json\x27成功!','excludes','$t(','this.$t($key)','utf-8','parseInt','basename','\x20\x20\x22','-o,\x20--output\x20<file>','output','-l,\x20--locals\x20<value...>','requiredOption','suffix','dir','dirname','32XabZXg','log','values','args','dev','-d,\x20--dir\x20<dir>','110976tZvSiD','prod','forEach','/translate.json','writeFileSync','文件不存在','strict','.lang','locals/local.json','map','--secretKey\x20<value>','翻译结果写入的文件路径,默认locals/local.json','match','$t(\x27','-e,\x20--excludes\x20<value...>','path','replace','1996440ZqzpbG','obj'];a0_0x3f06=function(){return _0x1b1510;};return a0_0x3f06();}function handleTemplate(_0x58d162,_0x4f9cb6){const _0x1417fa=a0_0x1bcf2a,_0x45dcab=/<([a-z][a-z0-9\-]*)\b[^>]*>(.*?)<\/\1>/g,_0xbdc958=/(?<!\:)\b(?:\w|-)+\=(['"])(.*?)\1/g,_0x198ef3=handleStringTpl(_0x58d162,_0x4f9cb6,!![]);_0x58d162=_0x198ef3[_0x1417fa(0x1a3)];let _0x5913c3=_0x198ef3[_0x1417fa(0x1d7)];return!config[_0x1417fa(0x1cb)]&&(_0x58d162=_0x58d162[_0x1417fa(0x1d5)](_0x45dcab,(_0x1cba1b,_0x5b8eb5,_0x35bbd9)=>{const _0xeab8ca=_0x1417fa;if(hasChinese(_0x35bbd9)){if(/\{\{(.*?)\}\}/g[_0xeab8ca(0x1dc)](_0x35bbd9)){const _0x135bdb=handleDoubleBrace(_0x35bbd9,_0x4f9cb6,_0xeab8ca(0x1aa),!![]);return _0x5913c3=Object[_0xeab8ca(0x1af)](_0x5913c3,_0x135bdb[_0xeab8ca(0x1d7)]),_0x1cba1b['replace'](_0x35bbd9,_0x135bdb[_0xeab8ca(0x1a3)]);}const _0x1f83ac=getTranslateKey(_0x35bbd9,_0x4f9cb6);return _0x5913c3[_0x1f83ac]=_0x35bbd9,_0x1cba1b[_0xeab8ca(0x1d5)](_0x35bbd9,_0xeab8ca(0x1e9)+_0x1f83ac+_0xeab8ca(0x1da));}return _0x1cba1b;}),_0x58d162=_0x58d162[_0x1417fa(0x1d5)](_0xbdc958,(_0x2f3231,_0xb6e9b,_0x299c16)=>{const _0x2a71fc=_0x1417fa;if(hasChinese(_0x299c16)){const _0x2775c3=getTranslateKey(_0x299c16,_0x4f9cb6);return _0x5913c3[_0x2775c3]=_0x299c16,':'+_0x2f3231[_0x2a71fc(0x1d5)](_0x299c16,_0x2a71fc(0x1d2)+_0x2775c3+'\x27)');}return _0x2f3231;})),{'content':_0x58d162,'obj':_0x5913c3};}function handleScript(_0x1b09b7,_0x432812){const _0x1f2d3d=a0_0x1bcf2a,_0xb9257d=/(?<!\$t\(\s*)(['"])(.*?)(\1)/g,_0x1d1ced=handleStringTpl(_0x1b09b7,_0x432812);_0x1b09b7=_0x1d1ced[_0x1f2d3d(0x1a3)];let _0x389c17=_0x1d1ced[_0x1f2d3d(0x1d7)];return!config[_0x1f2d3d(0x1cb)]&&(_0x1b09b7=_0x1b09b7[_0x1f2d3d(0x1d5)](_0xb9257d,(_0x1e911e,_0x444edb,_0x56e21c)=>{if(hasChinese(_0x1e911e)){const _0xb73172=getTranslateKey(_0x1e911e,_0x432812);return _0x389c17[_0xb73172]=_0x56e21c,'this.$t(\x27'+_0xb73172+'\x27)';}return _0x1e911e;})),{'content':_0x1b09b7,'obj':_0x389c17};}function handleStringTpl(_0x3b010a,_0x1371aa,_0x43559c){const _0x51175e=a0_0x1bcf2a,_0x466583=/(?<!\$t\(\s*)`(.*?)`/g,_0x40b84c=/(?<=\$t\()`(.*?)`/g,_0x5b85ef=/\${(.*?)}/g;let _0x30c561={};const _0x27e820=function(_0x2fdcba,_0x45f8e3,_0x1baf7b){const _0x42baab=a0_0x33e0,_0x459800=_0x2fdcba[_0x42baab(0x1d5)](_0x5b85ef,'');if(hasChinese(_0x459800)){const _0x37a435=getTranslateKey(_0x2fdcba,_0x1371aa),_0x38ac2e=_0x2fdcba[_0x42baab(0x1d1)](_0x5b85ef);if(_0x38ac2e){const _0x3b397c=_0x38ac2e['reduce']((_0x435811,_0x1d1d5d,_0xfa27bf)=>_0x435811[_0x42baab(0x1d5)](_0x1d1d5d,'{'+_0xfa27bf+'}'),_0x45f8e3),_0x2374e1=_0x38ac2e[_0x42baab(0x1ce)](_0x1de052=>{const _0x275651=_0x42baab,_0x148a57=_0x1de052['replace'](_0x5b85ef,'$1'),_0x25ab49=handleDoubleBrace(_0x148a57,_0x1371aa,_0x43559c?_0x275651(0x1aa):_0x275651(0x1b3));return _0x30c561=Object[_0x275651(0x1af)](_0x30c561,_0x25ab49['obj']),_0x25ab49[_0x275651(0x1a3)];});return _0x30c561[_0x37a435]=_0x3b397c,_0x1baf7b('\x27'+_0x37a435+_0x42baab(0x1ac)+_0x2374e1[_0x42baab(0x197)](',\x20')+']');}return _0x30c561[_0x37a435]=_0x45f8e3,_0x1baf7b('\x27'+_0x37a435+'\x27');}return _0x2fdcba;};return _0x3b010a=_0x3b010a[_0x51175e(0x1d5)](_0x40b84c,(_0x139e5f,_0x5bca4b)=>{return _0x27e820(_0x139e5f,_0x5bca4b,_0x792f03=>_0x792f03);}),!config['strict']&&(_0x3b010a=_0x3b010a['replace'](_0x466583,(_0x331b90,_0x8ddbf9)=>{const _0xe327a1=_0x51175e;return _0x27e820(_0x331b90,_0x8ddbf9,_0x2df866=>_0x43559c?_0xe327a1(0x1b2)+_0x2df866+')':'this.$t('+_0x2df866+')');})),{'content':_0x3b010a,'obj':_0x30c561};}function handleDoubleBrace(_0x29e29c,_0x531e65,_0x442208=a0_0x1bcf2a(0x1eb),_0x54f060=![]){const _0x4a495d=a0_0x1bcf2a,_0x3e1cd9=/(['"])(.*?)(\1)/g;let _0x5112c9={};if(_0x54f060){const _0x389314=(_0x29e29c[_0x4a495d(0x1f0)](/{{.*?}}/)||[])['filter'](_0x21788f=>hasChinese(_0x21788f));_0x389314['forEach'](_0x5a1294=>{const _0x156573=_0x4a495d,_0x988d57=getTranslateKey(_0x5a1294,_0x531e65);_0x29e29c=_0x29e29c[_0x156573(0x1d5)](_0x5a1294,_0x156573(0x1e9)+_0x988d57+'\x27)\x20}}'),_0x5112c9[_0x988d57]=_0x5a1294;});}const _0x59dd11=(_0x29e29c[_0x4a495d(0x1d1)](_0x3e1cd9)||[])[_0x4a495d(0x19c)](_0x1b5c63=>hasChinese(_0x1b5c63));return _0x59dd11[_0x4a495d(0x1c7)](_0x39f16a=>{const _0x44724f=_0x4a495d,_0x4d5ffb=getTranslateKey(_0x39f16a,_0x531e65);_0x29e29c=_0x29e29c[_0x44724f(0x1d5)](_0x39f16a,_0x442208[_0x44724f(0x1d5)](_0x44724f(0x1eb),'\x27'+_0x4d5ffb+'\x27')),_0x5112c9[_0x4d5ffb]=_0x39f16a['replace'](/^['"]|['"]$/g,'');}),{'content':_0x29e29c,'obj':_0x5112c9};}function outputLangFile(_0x48d5d5,_0x334f73){const _0x3e41cd=a0_0x1bcf2a;if(config[_0x3e41cd(0x1f3)]==_0x3e41cd(0x1dc)){const _0x490bc1=_0x48d5d5[_0x3e41cd(0x1d5)](/\.(\w+)$/,_0x3e41cd(0x1db));fs['writeFileSync'](_0x490bc1,_0x334f73);}else config[_0x3e41cd(0x1f3)]==_0x3e41cd(0x1c6)&&fs['writeFileSync'](_0x48d5d5,_0x334f73);}function a0_0x33e0(_0x24cbea,_0x48f203){const _0x3f0695=a0_0x3f06();return a0_0x33e0=function(_0x33e078,_0x1d8fad){_0x33e078=_0x33e078-0x195;let _0x5bbc62=_0x3f0695[_0x33e078];return _0x5bbc62;},a0_0x33e0(_0x24cbea,_0x48f203);}function outputTranslate(_0x30b4b3){const _0x15ca75=a0_0x1bcf2a,_0x4aae40=function(_0x4b643e,_0x39a3b6,_0x1def10,_0x15d252){const _0x5d79de=a0_0x33e0;let _0x5b6080=_0x30b4b3;_0x15d252&&getFileContent(path[_0x5d79de(0x197)](_0x1def10,''+_0x4b643e+_0x39a3b6),_0x5d8706=>{const _0x19c52e=_0x5d79de;_0x5b6080=Object[_0x19c52e(0x1af)](_0x30b4b3,_0x5d8706);});if(_0x39a3b6=='.js'){let _0x2cd74e=Object[_0x5d79de(0x1d9)](_0x5b6080)[_0x5d79de(0x1ce)](_0x465318=>'\x20\x20'+_0x465318+_0x5d79de(0x1f2)+_0x5b6080[_0x465318]+'\x22')[_0x5d79de(0x197)](',\x0d');fs[_0x5d79de(0x1c9)](path[_0x5d79de(0x197)](_0x1def10,''+_0x4b643e+_0x39a3b6),_0x5d79de(0x1e2)+_0x2cd74e+'\x0d}');}else{let _0x243ea1=Object['keys'](_0x5b6080)['map'](_0x2d0db9=>_0x5d79de(0x1b7)+_0x2d0db9+_0x5d79de(0x19d)+_0x5b6080[_0x2d0db9]+'\x22')[_0x5d79de(0x197)](',\x0d');fs[_0x5d79de(0x1c9)](path[_0x5d79de(0x197)](_0x1def10,''+_0x4b643e+_0x39a3b6),'{\x0d'+_0x243ea1+'\x0d}');}},_0x1845ec=path['join'](_path,config[_0x15ca75(0x1b9)]);if(/\.\w+$/g[_0x15ca75(0x1dc)](_0x1845ec)){const _0x1dd62b=path[_0x15ca75(0x1be)](_0x1845ec);!fs[_0x15ca75(0x1ad)](_0x1dd62b)&&fs[_0x15ca75(0x1a0)](_0x1dd62b,{'recursive':!![]});const _0x5eb7ac=path['basename'](_0x1845ec),_0x40547e=path[_0x15ca75(0x1a6)](_0x1845ec),_0x2a6cab=_0x5eb7ac[_0x15ca75(0x1d5)](_0x40547e,'');[_0x2a6cab,...config[_0x15ca75(0x1a7)]][_0x15ca75(0x1c7)]((_0x2ab566,_0x37042)=>{const _0x2c2431=_0x15ca75;_0x4aae40(_0x2ab566,_0x40547e,path[_0x2c2431(0x1be)](_0x1845ec),_0x37042>0x0);});}else!fs[_0x15ca75(0x1ad)](_0x1845ec)&&fs['mkdirSync'](_0x1845ec,{'recursive':!![]}),[_0x15ca75(0x199),...config['locals']]['forEach']((_0x3e50a7,_0x5ac8e7)=>{const _0x24561f=_0x15ca75;_0x4aae40(_0x3e50a7,_0x24561f(0x1e3),_0x1845ec,_0x5ac8e7>0x0);});} | ||
const a0_0x39a010=a0_0x443b;(function(_0x29c8a8,_0x58729f){const _0x2a14e5=a0_0x443b,_0x228d8c=_0x29c8a8();while(!![]){try{const _0x56d8c6=-parseInt(_0x2a14e5(0x220))/0x1*(-parseInt(_0x2a14e5(0x238))/0x2)+parseInt(_0x2a14e5(0x1e0))/0x3*(-parseInt(_0x2a14e5(0x1f2))/0x4)+-parseInt(_0x2a14e5(0x211))/0x5+-parseInt(_0x2a14e5(0x1e9))/0x6+-parseInt(_0x2a14e5(0x242))/0x7*(-parseInt(_0x2a14e5(0x22b))/0x8)+-parseInt(_0x2a14e5(0x203))/0x9+parseInt(_0x2a14e5(0x1fa))/0xa*(parseInt(_0x2a14e5(0x1fc))/0xb);if(_0x56d8c6===_0x58729f)break;else _0x228d8c['push'](_0x228d8c['shift']());}catch(_0x94d069){_0x228d8c['push'](_0x228d8c['shift']());}}}(a0_0xcbf5,0xda7a1));const fs=require('fs'),path=require(a0_0x39a010(0x1dc)),{program}=require(a0_0x39a010(0x20c)),{pinyin}=require('pinyin-pro'),{translater}=require(a0_0x39a010(0x22c)),_path=process[a0_0x39a010(0x21d)]();function hasChinese(_0x1fe619){const _0x334fdb=a0_0x39a010;return/[\u4e00-\u9fa5]/g[_0x334fdb(0x1ea)](_0x1fe619);}let customLang={},config={'env':a0_0x39a010(0x1df),'locals':[],'excludes':[],'translate':[],'channel':'baidu','appKey':'','secretKey':'','suffix':a0_0x39a010(0x230),'output':a0_0x39a010(0x234)};getConfig();function getConfig(){const _0x5a7794=a0_0x39a010;program[_0x5a7794(0x1ec)](_0x5a7794(0x20a),_0x5a7794(0x205))['requiredOption'](_0x5a7794(0x200),'翻译的文件夹')[_0x5a7794(0x225)](_0x5a7794(0x218),_0x5a7794(0x207))[_0x5a7794(0x225)](_0x5a7794(0x23f),_0x5a7794(0x21c))['option']('--appKey\x20<value>',_0x5a7794(0x1e4))['option'](_0x5a7794(0x1f1),_0x5a7794(0x1e5))[_0x5a7794(0x225)](_0x5a7794(0x217),_0x5a7794(0x1ef))[_0x5a7794(0x225)](_0x5a7794(0x224),_0x5a7794(0x204))[_0x5a7794(0x225)]('-e,\x20--excludes\x20<value...>',_0x5a7794(0x214))[_0x5a7794(0x225)]('-o,\x20--output\x20<file>',_0x5a7794(0x240))[_0x5a7794(0x225)](_0x5a7794(0x215),_0x5a7794(0x206)),program[_0x5a7794(0x1d7)]();const _0x305f51=program[_0x5a7794(0x208)]();config=Object[_0x5a7794(0x222)](config,_0x305f51,{'env':program[_0x5a7794(0x233)][0x0]}),getFileContent(path['join'](_path,_0x5a7794(0x22f)),_0x3cf782=>{const _0x55f127=_0x5a7794;customLang=_0x3cf782,console[_0x55f127(0x20b)]('-\x20读取字典:\x20读取自定义字典\x27translate.json\x27成功!');},()=>{const _0x37b97c=_0x5a7794;console[_0x37b97c(0x20b)](_0x37b97c(0x22a));});}function getFileContent(_0x530785,_0x4c17f4,_0x10a3fd){const _0xb39c9b=a0_0x39a010;if(fs['existsSync'](_0x530785))try{let _0x123ddd=fs[_0xb39c9b(0x1ee)](_0x530785,{'encoding':_0xb39c9b(0x232)});const _0x550777=path[_0xb39c9b(0x227)](_0x530785);if(_0x550777==_0xb39c9b(0x1e8))_0x4c17f4&&_0x4c17f4(JSON[_0xb39c9b(0x1d7)](_0x123ddd));else{let _0x546eb0={};_0x123ddd[_0xb39c9b(0x23b)](/['"]*(\w+)['"]*:\s*"([^"]+)"/g,(_0x543be8,_0x2102fb,_0x2adc32)=>{_0x546eb0[_0x2102fb]=_0x2adc32;}),_0x4c17f4&&_0x4c17f4(_0x546eb0);}}catch(_0x25ded4){_0x10a3fd&&_0x10a3fd(_0xb39c9b(0x1f4));}else _0x10a3fd&&_0x10a3fd(_0xb39c9b(0x236));}function a0_0xcbf5(){const _0x5246a0=['locals','dev','390534xSCqYF','join','split','translate','翻译api\x20应用key','翻译api\x20密钥','forEach','-\x20执行文件:','.json','2478444UPAueN','test','match','argument','\x27)\x20}}','readFileSync','需要翻译的语言,对应locals','map','--secretKey\x20<value>','36GPJpfo','{{\x20$t(\x27','读取文件失败','this.$t(','this.$t(\x27','this.$t($key)','basename','parseInt','28698370wZArhs','toLowerCase','11hqCqNs','array','unlinkSync','readdirSync','-d,\x20--dir\x20<dir>','filter','excludes','7682175ULnlDN','翻译的文件名后缀,默认.vue','指定环境:dev(开发)/test(测试)/prod(生产),默认为开发环境','是否严格模式,\x20严格模式只提取$t()内中文,否则全局','需要生成的地区语言(语种代码)如:zh等','opts','fill','<env>','log','commander','.lang.$1','content','reduce','local.json','4492750UUGBVl','first','values','排除翻译的文件,可指定多个','--strict','\x20\x20\x22','-t,\x20--translate\x20<value...>','-l,\x20--locals\x20<value...>','strict','push','.lang','翻译渠道\x20baidu百度,youdao有道','cwd','keys','$t($key)','1036244rgDMTj','$t(','assign','output','-s,\x20--suffix\x20<value>','option','includes','extname','obj','env','-\x20读取字典:\x20未读取到自定义字典translate.json!','8kyYIbU','./parser/translater','dirname','isDirectory','/translate.json','.vue','hasOwnProperty','utf-8','args','locals/local.json','zh_cn','文件不存在','mkdirSync','2NEKDkv','lstatSync','length','replace','indexOf','none','\x27,\x20[','-c,\x20--channel\x20<value>','翻译结果写入路径,默认locals/local.json','writeFileSync','2279207OFYPtS','parse','??????FILE_NAME_TO_LONG','prod','existsSync','suffix','path','.js'];a0_0xcbf5=function(){return _0x5246a0;};return a0_0xcbf5();}function getSuffixFiles(_0x21b381,_0x3a4acd,_0x40fee9){const _0x242032=a0_0x39a010,_0x12f665=fs['readdirSync'](_0x21b381),_0xcadf32=[];return _0x12f665[_0x242032(0x1e6)]((_0x155f62,_0x269860)=>{const _0x4fe007=_0x242032,_0x22c6b8=path[_0x4fe007(0x1e1)](_0x21b381,_0x155f62),_0x174192=fs[_0x4fe007(0x239)](_0x22c6b8);if(_0x174192[_0x4fe007(0x22e)]())_0xcadf32[_0x4fe007(0x21a)](...getSuffixFiles(_0x22c6b8,_0x3a4acd,_0x40fee9));else path[_0x4fe007(0x227)](_0x155f62)==_0x3a4acd&&!_0x40fee9['includes'](path[_0x4fe007(0x227)](_0x155f62))&&_0xcadf32[_0x4fe007(0x21a)](_0x22c6b8);}),_0xcadf32;}function delSuffixFiles(_0x35e665,_0x42b3c2,_0x5ae079){const _0x2873ff=a0_0x39a010,_0x1117bf=fs[_0x2873ff(0x1ff)](_0x35e665);_0x1117bf[_0x2873ff(0x1e6)]((_0x209ff8,_0x435ca1)=>{const _0x422ca8=_0x2873ff,_0x4be59a=path[_0x422ca8(0x1e1)](_0x35e665,_0x209ff8),_0x537815=fs[_0x422ca8(0x239)](_0x4be59a),_0x1fd63e=new RegExp(_0x422ca8(0x21b)+_0x42b3c2+'$');if(_0x537815['isDirectory']())delSuffixFiles(_0x4be59a,_0x42b3c2,_0x5ae079);else _0x1fd63e[_0x422ca8(0x1ea)](_0x209ff8)&&!_0x5ae079['includes'](path[_0x422ca8(0x227)](_0x209ff8))&&fs[_0x422ca8(0x1fe)](_0x4be59a);});}function getTranslateKey(_0x51b13c,_0x1de71a){const _0x544802=a0_0x39a010;if(_0x1de71a[_0x544802(0x23a)]>0x28)return _0x544802(0x1d8);const _0x33029a=/^(['"`])|['"`]$/g,_0x42a11f=/\$*\{(.*?)\}/g;let _0x4b228c=_0x51b13c[_0x544802(0x23b)](_0x33029a,'');const _0x5ab64e=(_0x4b228c[_0x544802(0x1eb)](_0x42a11f)||[])[_0x544802(0x20f)]((_0x19f23d,_0x2a28d4,_0x808050)=>_0x19f23d[_0x544802(0x23b)](_0x2a28d4,'{'+_0x808050+'}'),_0x4b228c),_0xc23296=Object[_0x544802(0x213)](customLang)[_0x544802(0x23c)](_0x5ab64e);if(_0xc23296!==-0x1)return Object[_0x544802(0x21e)](customLang)[_0xc23296];_0x4b228c=_0x4b228c[_0x544802(0x23b)](_0x42a11f,'o'),_0x4b228c=_0x4b228c[_0x544802(0x23b)](/[^\u4e00-\u9fa5\w]/g,'');let _0x110214=_0x4b228c[_0x544802(0x23b)](/([\u4e00-\u9fa5]+)/g,_0x3e1478=>{const _0x13523d=_0x544802;return pinyin(_0x3e1478,{'toneType':'none','type':_0x13523d(0x1fd)})['join']('_');}),_0x2137fa=_0x1de71a+'_'+_0x110214;if(_0x2137fa[_0x544802(0x23a)]>0x1e){_0x110214=_0x4b228c['replace'](/([\u4e00-\u9fa5]+)/g,_0x4c2ca6=>{const _0x1da37d=_0x544802;return pinyin(_0x4c2ca6,{'pattern':_0x1da37d(0x212),'toneType':_0x1da37d(0x23d),'type':_0x1da37d(0x1fd)})[_0x1da37d(0x1e1)]('');}),_0x2137fa=_0x1de71a+'_'+_0x110214;if(_0x2137fa[_0x544802(0x23a)]>0x32){const _0xd72144=Number[_0x544802(0x1f9)](_0x110214[_0x544802(0x23a)]/(0x31-_0x1de71a[_0x544802(0x23a)]))+0x1;_0x110214=new Array(_0x110214[_0x544802(0x23a)])[_0x544802(0x209)]('')['reduce']((_0xbdd000,_0x4cd06e,_0x57afc6)=>''+_0xbdd000+(_0x57afc6%_0xd72144==0x0?_0x110214[_0x57afc6]:''));}_0x2137fa=_0x1de71a+'_'+_0x110214;}return _0x2137fa;}translate();function translate(){const _0x5a35f4=a0_0x39a010;delSuffixFiles(path[_0x5a35f4(0x1e1)](_path,config['dir']),config[_0x5a35f4(0x1db)],config[_0x5a35f4(0x202)]);const _0x1a398b=getSuffixFiles(path[_0x5a35f4(0x1e1)](_path,config['dir']),config[_0x5a35f4(0x1db)],config[_0x5a35f4(0x202)]);let _0x561b06={};_0x1a398b[_0x5a35f4(0x1e6)](function(_0x125a81,_0x4398fb){const _0x5c6956=_0x5a35f4;console['log'](_0x5c6956(0x1e7)+_0x125a81);let _0x511e2f=fs['readFileSync'](_0x125a81,{'encoding':_0x5c6956(0x232)})+'';const _0x443f1c=path[_0x5c6956(0x1f8)](_0x125a81)[_0x5c6956(0x1e2)]('.')[0x0],_0xe6c0d2=/\<template\>(.|\n|\r)*\<\/template\>/g,_0x3d50bb=/<!--[\s\S]*?-->/g,_0xddf850=/\<script\>(.|\n|\r)*\<\/script\>/g,_0x41dff8=/(?<=\s|\;|^|\{|\})\/\/[^\r\n]*/g,_0x497833=/\/\*[\s\S]*?\*\//g;_0x511e2f=_0x511e2f[_0x5c6956(0x23b)](_0xe6c0d2,_0xcf288c=>_0xcf288c['replace'](_0x3d50bb,'')),_0x511e2f=_0x511e2f[_0x5c6956(0x23b)](_0xddf850,_0x5c3225=>_0x5c3225[_0x5c6956(0x23b)](_0x41dff8,'')[_0x5c6956(0x23b)](_0x497833,''));const _0x491b39=/(?<=\$t\()(['"])(.*?)\1/g;_0x511e2f=_0x511e2f[_0x5c6956(0x23b)](_0x491b39,(_0x1e339f,_0x165717,_0x2e58e1)=>{if(hasChinese(_0x1e339f)){const _0x377212=getTranslateKey(_0x1e339f,_0x443f1c);return _0x561b06[_0x377212]=_0x2e58e1,'\x27'+_0x377212+'\x27';}return _0x1e339f;}),_0x511e2f=_0x511e2f[_0x5c6956(0x23b)](_0xe6c0d2,_0x364d30=>{const _0x152f85=_0x5c6956,_0x2f5c85=handleTemplate(_0x364d30,_0x443f1c);return _0x561b06=Object['assign'](_0x561b06,_0x2f5c85[_0x152f85(0x228)]),_0x2f5c85[_0x152f85(0x20e)];}),_0x511e2f=_0x511e2f[_0x5c6956(0x23b)](_0xddf850,_0x58763f=>{const _0x57346b=_0x5c6956,_0x13ec5f=handleScript(_0x58763f,_0x443f1c);return _0x561b06=Object[_0x57346b(0x222)](_0x561b06,_0x13ec5f['obj']),_0x13ec5f[_0x57346b(0x20e)];}),outputLangFile(_0x125a81,_0x511e2f);}),outputLocalFile(_0x561b06);}function handleTemplate(_0x31db6a,_0x206ec0){const _0x3fad1c=a0_0x39a010,_0x52b744=/<([a-z][a-z0-9\-]*)\b[^>]*>(.*?)<\/\1>/g,_0x2aace6=/(?<!\:)\b(?:\w|-)+\=(['"])(.*?)\1/g,_0x3fc81e=handleStringTpl(_0x31db6a,_0x206ec0,!![]);_0x31db6a=_0x3fc81e['content'];let _0x2c7fb9=_0x3fc81e['obj'];return!config[_0x3fad1c(0x219)]&&(_0x31db6a=_0x31db6a[_0x3fad1c(0x23b)](_0x52b744,(_0x368da5,_0x4dbc1a,_0x177093)=>{const _0x2bfb42=_0x3fad1c;if(hasChinese(_0x177093)){if(/\{\{(.*?)\}\}/g['test'](_0x177093)){const _0x931140=handleDoubleBrace(_0x177093,_0x206ec0,_0x2bfb42(0x21f),!![]);return _0x2c7fb9=Object[_0x2bfb42(0x222)](_0x2c7fb9,_0x931140['obj']),_0x368da5['replace'](_0x177093,_0x931140['content']);}const _0x517bdb=getTranslateKey(_0x177093,_0x206ec0);return _0x2c7fb9[_0x517bdb]=_0x177093,_0x368da5[_0x2bfb42(0x23b)](_0x177093,_0x2bfb42(0x1f3)+_0x517bdb+_0x2bfb42(0x1ed));}return _0x368da5;}),_0x31db6a=_0x31db6a[_0x3fad1c(0x23b)](_0x2aace6,(_0x260470,_0x78feb1,_0x31ce74)=>{const _0x1893be=_0x3fad1c;if(hasChinese(_0x31ce74)){const _0x2c755a=getTranslateKey(_0x31ce74,_0x206ec0);return _0x2c7fb9[_0x2c755a]=_0x31ce74,':'+_0x260470[_0x1893be(0x23b)](_0x31ce74,'$t(\x27'+_0x2c755a+'\x27)');}return _0x260470;})),{'content':_0x31db6a,'obj':_0x2c7fb9};}function a0_0x443b(_0x2463a9,_0x2e0066){const _0xcbf559=a0_0xcbf5();return a0_0x443b=function(_0x443bba,_0x25a000){_0x443bba=_0x443bba-0x1d7;let _0x3e9960=_0xcbf559[_0x443bba];return _0x3e9960;},a0_0x443b(_0x2463a9,_0x2e0066);}function handleScript(_0x3e7828,_0x1e043c){const _0x5144de=a0_0x39a010,_0x2d79b4=/(?<!\$t\(\s*)(['"])(.*?)(\1)/g,_0x1debbb=handleStringTpl(_0x3e7828,_0x1e043c);_0x3e7828=_0x1debbb[_0x5144de(0x20e)];let _0x3d0f0e=_0x1debbb[_0x5144de(0x228)];return!config[_0x5144de(0x219)]&&(_0x3e7828=_0x3e7828[_0x5144de(0x23b)](_0x2d79b4,(_0x2d5658,_0x2f2745,_0x53953c)=>{const _0x508e29=_0x5144de;if(hasChinese(_0x2d5658)){const _0x17d93c=getTranslateKey(_0x2d5658,_0x1e043c);return _0x3d0f0e[_0x17d93c]=_0x53953c,_0x508e29(0x1f6)+_0x17d93c+'\x27)';}return _0x2d5658;})),{'content':_0x3e7828,'obj':_0x3d0f0e};}function handleStringTpl(_0x59e3e3,_0x3a9254,_0x136fd6){const _0x431293=a0_0x39a010,_0x4282b3=/(?<!\$t\(\s*)`(.*?)`/g,_0x1407b4=/(?<=\$t\()`(.*?)`/g,_0x126f40=/\${(.*?)}/g;let _0x561a23={};const _0x5c9b50=function(_0x258851,_0x12c0c6,_0x9a23c){const _0x51e55b=a0_0x443b,_0x24c9f8=_0x258851[_0x51e55b(0x23b)](_0x126f40,'');if(hasChinese(_0x24c9f8)){const _0x4ce6cb=getTranslateKey(_0x258851,_0x3a9254),_0x2fbf4f=_0x258851['match'](_0x126f40);if(_0x2fbf4f){const _0x49043c=_0x2fbf4f['reduce']((_0x2d2885,_0x2bbae6,_0x97cb86)=>_0x2d2885[_0x51e55b(0x23b)](_0x2bbae6,'{'+_0x97cb86+'}'),_0x12c0c6),_0x1aea9c=_0x2fbf4f['map'](_0x3a7614=>{const _0x2c26cc=_0x51e55b,_0x49f64b=_0x3a7614[_0x2c26cc(0x23b)](_0x126f40,'$1'),_0x446e36=handleDoubleBrace(_0x49f64b,_0x3a9254,_0x136fd6?_0x2c26cc(0x21f):_0x2c26cc(0x1f7));return _0x561a23=Object[_0x2c26cc(0x222)](_0x561a23,_0x446e36[_0x2c26cc(0x228)]),_0x446e36[_0x2c26cc(0x20e)];});return _0x561a23[_0x4ce6cb]=_0x49043c,_0x9a23c('\x27'+_0x4ce6cb+_0x51e55b(0x23e)+_0x1aea9c[_0x51e55b(0x1e1)](',\x20')+']');}return _0x561a23[_0x4ce6cb]=_0x12c0c6,_0x9a23c('\x27'+_0x4ce6cb+'\x27');}return _0x258851;};return _0x59e3e3=_0x59e3e3[_0x431293(0x23b)](_0x1407b4,(_0xec6c1,_0xd1f27f)=>{return _0x5c9b50(_0xec6c1,_0xd1f27f,_0x333b2c=>_0x333b2c);}),!config[_0x431293(0x219)]&&(_0x59e3e3=_0x59e3e3[_0x431293(0x23b)](_0x4282b3,(_0x2c2fa6,_0x2a5c30)=>{const _0x397356=_0x431293;return _0x5c9b50(_0x2c2fa6,_0x2a5c30,_0xff8c99=>_0x136fd6?_0x397356(0x221)+_0xff8c99+')':_0x397356(0x1f5)+_0xff8c99+')');})),{'content':_0x59e3e3,'obj':_0x561a23};}function handleDoubleBrace(_0x1f9fdf,_0x5b8a62,_0x1c577f='$key',_0x3d3c87=![]){const _0x914fdc=a0_0x39a010,_0x339b34=/(['"])(.*?)(\1)/g;let _0x1dc64f={};if(_0x3d3c87){const _0xddbeae=(_0x1f9fdf['split'](/{{.*?}}/)||[])[_0x914fdc(0x201)](_0x3b9e01=>hasChinese(_0x3b9e01));_0xddbeae[_0x914fdc(0x1e6)](_0x3c0a19=>{const _0x447cee=_0x914fdc,_0x5dcf09=getTranslateKey(_0x3c0a19,_0x5b8a62);_0x1f9fdf=_0x1f9fdf['replace'](_0x3c0a19,_0x447cee(0x1f3)+_0x5dcf09+_0x447cee(0x1ed)),_0x1dc64f[_0x5dcf09]=_0x3c0a19;});}const _0x85d631=(_0x1f9fdf[_0x914fdc(0x1eb)](_0x339b34)||[])[_0x914fdc(0x201)](_0x29f97e=>hasChinese(_0x29f97e));return _0x85d631[_0x914fdc(0x1e6)](_0xa6e6d5=>{const _0x70580e=_0x914fdc,_0xdea187=getTranslateKey(_0xa6e6d5,_0x5b8a62);_0x1f9fdf=_0x1f9fdf[_0x70580e(0x23b)](_0xa6e6d5,_0x1c577f[_0x70580e(0x23b)]('$key','\x27'+_0xdea187+'\x27')),_0x1dc64f[_0xdea187]=_0xa6e6d5[_0x70580e(0x23b)](/^['"]|['"]$/g,'');}),{'content':_0x1f9fdf,'obj':_0x1dc64f};}function outputLangFile(_0x15da6f,_0x399ff2){const _0x5625a1=a0_0x39a010;if(config[_0x5625a1(0x229)]==_0x5625a1(0x1ea)){const _0x4e8cf4=_0x15da6f[_0x5625a1(0x23b)](/\.(\w+)$/,_0x5625a1(0x20d));fs[_0x5625a1(0x241)](_0x4e8cf4,_0x399ff2);}else config[_0x5625a1(0x229)]==_0x5625a1(0x1d9)&&fs[_0x5625a1(0x241)](_0x15da6f,_0x399ff2);}async function outputLocalFile(_0x1b99d2){const _0x4ad501=a0_0x39a010,_0x47db39=path[_0x4ad501(0x1e1)](_path,config[_0x4ad501(0x223)]);if(/\.\w+$/g[_0x4ad501(0x1ea)](_0x47db39)){const _0x259433=path[_0x4ad501(0x22d)](_0x47db39);!fs[_0x4ad501(0x1da)](_0x259433)&&fs[_0x4ad501(0x237)](_0x259433,{'recursive':!![]});const _0x31d949=path[_0x4ad501(0x227)](_0x47db39);handleLocalFile(_0x1b99d2,_0x47db39);for(let _0x5c772f=0x0;_0x5c772f<config['locals'][_0x4ad501(0x23a)];_0x5c772f++){const _0x48b769=config['locals'][_0x5c772f];if(_0x48b769=='zh'||_0x48b769[_0x4ad501(0x1fb)]()==_0x4ad501(0x235)){await handleLocalFile(_0x1b99d2,path[_0x4ad501(0x1e1)](path[_0x4ad501(0x22d)](_0x47db39),''+_0x48b769+_0x31d949));return;}await handleLocalFile(_0x1b99d2,path[_0x4ad501(0x1e1)](path[_0x4ad501(0x22d)](_0x47db39),''+_0x48b769+_0x31d949),_0x48b769,config[_0x4ad501(0x1e3)][_0x4ad501(0x226)](_0x48b769));}}else{!fs[_0x4ad501(0x1da)](_0x47db39)&&fs[_0x4ad501(0x237)](_0x47db39,{'recursive':!![]});handleLocalFile(_0x1b99d2,path[_0x4ad501(0x1e1)](_0x47db39,_0x4ad501(0x210)));for(let _0x38ca06=0x0;_0x38ca06<config['locals'][_0x4ad501(0x23a)];_0x38ca06++){const _0x1857e5=config[_0x4ad501(0x1de)][_0x38ca06];if(_0x1857e5=='zh'||_0x1857e5['toLowerCase']()==_0x4ad501(0x235)){await handleLocalFile(_0x1b99d2,path[_0x4ad501(0x1e1)](_0x47db39,_0x1857e5+'.json'));return;}await handleLocalFile(_0x1b99d2,path[_0x4ad501(0x1e1)](_0x47db39,_0x1857e5+_0x4ad501(0x1e8)),_0x1857e5,config[_0x4ad501(0x1e3)]['includes'](_0x1857e5));}}}async function handleLocalFile(_0x5484df,_0x5b2124,_0x1fd44d,_0x1e0848){const _0x116641=function(_0x47ee8f){const _0x27c1ee=a0_0x443b,_0x2e05e8=path[_0x27c1ee(0x227)](_0x5b2124);if(_0x2e05e8==_0x27c1ee(0x1dd)){let _0x10a514=Object[_0x27c1ee(0x21e)](_0x47ee8f)[_0x27c1ee(0x1f0)](_0x33bcba=>'\x20\x20'+_0x33bcba+':\x20\x22'+_0x47ee8f[_0x33bcba]+'\x22')[_0x27c1ee(0x1e1)](',\x0d');fs[_0x27c1ee(0x241)](_0x5b2124,'export\x20default\x20{\x0d'+_0x10a514+'\x0d}');}else{let _0x90e60c=Object['keys'](_0x47ee8f)[_0x27c1ee(0x1f0)](_0x2808e5=>_0x27c1ee(0x216)+_0x2808e5+'\x22:\x20\x22'+_0x47ee8f[_0x2808e5]+'\x22')[_0x27c1ee(0x1e1)](',\x0d');fs[_0x27c1ee(0x241)](_0x5b2124,'{\x0d'+_0x90e60c+'\x0d}');}};let _0x203926,_0x5223b3;getFileContent(_0x5b2124,_0x25b869=>{const _0x41c877=a0_0x443b;_0x203926=Object[_0x41c877(0x222)]({},_0x5484df,_0x25b869),_0x5223b3=getExtraValues(_0x5484df,_0x25b869);},()=>{const _0x436189=a0_0x443b;_0x203926=JSON[_0x436189(0x1d7)](JSON['stringify'](_0x5484df)),_0x5223b3=JSON['parse'](JSON['stringify'](_0x5484df));}),_0x1e0848?await translater(_0x5223b3,_0x1fd44d,config,_0x378693=>{const _0x40ac99=a0_0x443b;_0x203926=Object[_0x40ac99(0x222)](_0x203926,_0x378693),_0x116641(_0x203926);}):_0x116641(_0x203926);}function getExtraValues(_0x37ab97,_0x1b03ae){const _0x4917cf=a0_0x39a010,_0x96278c=Object[_0x4917cf(0x21e)](_0x37ab97)[_0x4917cf(0x201)](_0x18b3cb=>!_0x1b03ae[_0x4917cf(0x231)](_0x18b3cb)),_0x4a4dbd={};return _0x96278c['forEach'](_0x1f4eed=>{_0x4a4dbd[_0x1f4eed]=_0x37ab97[_0x1f4eed];}),_0x4a4dbd;} |
@@ -1,1 +0,1 @@ | ||
const a1_0x1d1a02=a1_0x1082;function a1_0x1082(_0x355c9f,_0x5ca24f){const _0x5f1cf9=a1_0x5f1c();return a1_0x1082=function(_0x10823a,_0x362b0f){_0x10823a=_0x10823a-0x8f;let _0x11683c=_0x5f1cf9[_0x10823a];return _0x11683c;},a1_0x1082(_0x355c9f,_0x5ca24f);}(function(_0x5f5d02,_0x5a2451){const _0x1bf93f=a1_0x1082,_0x3acce7=_0x5f5d02();while(!![]){try{const _0xae95e1=parseInt(_0x1bf93f(0x9d))/0x1+-parseInt(_0x1bf93f(0xab))/0x2+parseInt(_0x1bf93f(0x94))/0x3+parseInt(_0x1bf93f(0xa3))/0x4*(-parseInt(_0x1bf93f(0xa1))/0x5)+-parseInt(_0x1bf93f(0xa5))/0x6*(parseInt(_0x1bf93f(0x91))/0x7)+-parseInt(_0x1bf93f(0xb3))/0x8+parseInt(_0x1bf93f(0x9f))/0x9;if(_0xae95e1===_0x5a2451)break;else _0x3acce7['push'](_0x3acce7['shift']());}catch(_0x1df554){_0x3acce7['push'](_0x3acce7['shift']());}}}(a1_0x5f1c,0x6b165));function makeMap(_0x1ae4f6,_0x5a3f0b){const _0x34c378=a1_0x1082,_0x12bb94=Object[_0x34c378(0xa9)](null),_0x4818e0=_0x1ae4f6[_0x34c378(0x9b)](',');for(let _0x6ae34f=0x0;_0x6ae34f<_0x4818e0[_0x34c378(0xb6)];_0x6ae34f++){_0x12bb94[_0x4818e0[_0x6ae34f]]=!![];}return _0x5a3f0b?_0x3a34fe=>_0x12bb94[_0x3a34fe[_0x34c378(0xa2)]()]:_0xc195e9=>_0x12bb94[_0xc195e9];}const doctype=/^<!DOCTYPE [^>]+>/i,endTag=/^<\/([a-zA-Z_][\-\.0-9_a-zA-Z]*)[^>]*>/,startTagOpen=/^<([a-zA-Z_][\-\.0-9_a-zA-Z]*)/,attribute=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,dynamicArgAttribute=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+?\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,startTagClose=/^\s*(\/?)>/,isPlainTextElement=makeMap(a1_0x1d1a02(0xaf),!![]),isIgnoreNewlineTag=makeMap(a1_0x1d1a02(0x97),!![]),shouldIgnoreFirstNewline=(_0x73cbf7,_0x58554a)=>_0x73cbf7&&isIgnoreNewlineTag(_0x73cbf7)&&_0x58554a[0x0]==='\x0a',decodingMap={'<':'<','>':'>','"':'\x22','&':'&',' ':'\x0a','	':'\x09',''':'\x27'},encodedAttr=/&(?:lt|gt|quot|amp|#39);/g,encodedAttrWithNewLines=/&(?:lt|gt|quot|amp|#39|#10|#9);/g;function decodeAttr(_0x29fca7,_0x512461){const _0x45de4c=a1_0x1d1a02,_0x4852e0=_0x512461?encodedAttrWithNewLines:encodedAttr;return _0x29fca7[_0x45de4c(0x93)](_0x4852e0,_0x1bc8fd=>decodingMap[_0x1bc8fd]);}parseHTML(a1_0x1d1a02(0xa8));function parseHTML(_0x269bbe,_0x5c5551={'shouldDecodeNewlines':!![],'shouldDecodeNewlinesForHref':!![]}){const _0x167cb9=a1_0x1d1a02,_0xdb307=[];let _0x4d5646=0x0,_0x1a68f1,_0x2c411d;while(_0x269bbe){_0x1a68f1=_0x269bbe,console['log'](_0x269bbe);if(!_0x2c411d||!isPlainTextElement(_0x2c411d)){let _0x5f36e0=_0x269bbe['indexOf']('<');if(_0x5f36e0===0x0){const _0x4aa71b=_0x269bbe[_0x167cb9(0xa7)](doctype);if(_0x4aa71b){_0xb4a73c(_0x4aa71b[0x0][_0x167cb9(0xb6)]);continue;}const _0x1b36d9=_0x269bbe['match'](endTag);if(_0x1b36d9){console[_0x167cb9(0xb4)]('【结束标签】:'+_0x1b36d9[0x1]);const _0x48be73=_0x4d5646;_0xb4a73c(_0x1b36d9[0x0][_0x167cb9(0xb6)]),_0x37cb7e(_0x1b36d9[0x1],_0x48be73,_0x4d5646);continue;}const _0x3c98f2=_0x174d8e();if(_0x3c98f2){console[_0x167cb9(0xb4)]('【'+(_0x3c98f2[_0x167cb9(0x9c)]?_0x167cb9(0xac):_0x167cb9(0xae))+'】:'+_0x3c98f2[_0x167cb9(0xa4)]);continue;}}let _0x409b94,_0x2a93b7,_0x24efa6;if(_0x5f36e0>=0x0){_0x2a93b7=_0x269bbe[_0x167cb9(0x95)](_0x5f36e0);while(!endTag[_0x167cb9(0x92)](_0x2a93b7)&&!startTagOpen[_0x167cb9(0x92)](_0x2a93b7)){_0x24efa6=_0x2a93b7[_0x167cb9(0x9e)]('<',0x1);if(_0x24efa6<0x0)break;_0x5f36e0+=_0x24efa6,_0x2a93b7=_0x269bbe['slice'](_0x5f36e0);}_0x409b94=_0x269bbe[_0x167cb9(0xb0)](0x0,_0x5f36e0),console[_0x167cb9(0xb4)](_0x167cb9(0xb2)+_0x409b94);}_0x5f36e0<0x0&&(_0x409b94=_0x269bbe),_0x409b94&&_0xb4a73c(_0x409b94[_0x167cb9(0xb6)]);}else{}if(_0x269bbe===_0x1a68f1){}}function _0xb4a73c(_0xeff216){_0x4d5646+=_0xeff216,_0x269bbe=_0x269bbe['substring'](_0xeff216);}function _0x174d8e(){const _0x56ad13=_0x167cb9,_0x3563f9=_0x269bbe[_0x56ad13(0xa7)](startTagOpen);if(_0x3563f9){const _0x5c15d7={'tagName':_0x3563f9[0x1],'attrs':[],'start':_0x4d5646};_0xb4a73c(_0x3563f9[0x0][_0x56ad13(0xb6)]);let _0x3b3ef8,_0x3cd838;while(!(_0x3b3ef8=_0x269bbe[_0x56ad13(0xa7)](startTagClose))&&(_0x3cd838=_0x269bbe[_0x56ad13(0xa7)](dynamicArgAttribute)||_0x269bbe[_0x56ad13(0xa7)](attribute))){_0x3cd838['start']=_0x4d5646,_0xb4a73c(_0x3cd838[0x0]['length']),_0x3cd838['end']=_0x4d5646,_0x5c15d7[_0x56ad13(0x98)][_0x56ad13(0xb5)](_0x3cd838);}if(_0x3b3ef8)return _0x5c15d7['unarySlash']=_0x3b3ef8[0x1],_0xb4a73c(_0x3b3ef8[0x0][_0x56ad13(0xb6)]),_0x5c15d7[_0x56ad13(0xb1)]=_0x4d5646,_0x5c15d7;}}function _0x30ea3a(_0x418bd5){const _0x3f4e6e=_0x167cb9,_0x1839ac=_0x418bd5[_0x3f4e6e(0xa4)],_0x4d55b1=!!_0x418bd5['unarySlash'],_0x21a8af=_0x418bd5['attrs']['length'],_0x26968e=new Array(_0x21a8af);for(let _0x135637=0x0;_0x135637<_0x21a8af;_0x135637++){const _0x5cfaac=_0x418bd5['attrs'][_0x135637],_0x5c69d2=_0x5cfaac[0x3]||_0x5cfaac[0x4]||_0x5cfaac[0x5]||'',_0x1b36e1=_0x1839ac==='a'&&_0x5cfaac[0x1]===_0x3f4e6e(0xa0)?_0x5c5551[_0x3f4e6e(0xaa)]:_0x5c5551[_0x3f4e6e(0x8f)];_0x26968e[_0x135637]={'name':_0x5cfaac[0x1],'value':decodeAttr(_0x5c69d2,_0x1b36e1)};}!_0x4d55b1&&(_0xdb307[_0x3f4e6e(0xb5)]({'tag':_0x1839ac,'lowerCasedTag':_0x1839ac['toLowerCase'](),'attrs':_0x26968e,'start':_0x418bd5[_0x3f4e6e(0x90)],'end':_0x418bd5[_0x3f4e6e(0xb1)]}),_0x2c411d=_0x1839ac);}function _0x37cb7e(_0xd05186,_0x1c6769,_0x4f3446){const _0x8d76aa=_0x167cb9;let _0x188011,_0x1ab5b9;if(_0x1c6769==null)_0x1c6769=_0x4d5646;if(_0x4f3446==null)_0x4f3446=_0x4d5646;if(_0xd05186){_0x1ab5b9=_0xd05186[_0x8d76aa(0xa2)]();for(_0x188011=_0xdb307['length']-0x1;_0x188011>=0x0;_0x188011--){if(_0xdb307[_0x188011][_0x8d76aa(0xad)]===_0x1ab5b9)break;}}else _0x188011=0x0;console[_0x8d76aa(0xb4)](_0x8d76aa(0x96)+_0x188011);if(_0x188011>=0x0){for(let _0x514966=_0xdb307[_0x8d76aa(0xb6)]-0x1;_0x514966>=_0x188011;_0x514966--){(_0x514966>_0x188011||!_0xd05186)&&console[_0x8d76aa(0xa6)](_0x8d76aa(0xb7)+_0xdb307[_0x514966][_0x8d76aa(0x99)]+_0x8d76aa(0x9a));}_0xdb307[_0x8d76aa(0xb6)]=_0x188011,_0x2c411d=_0x188011&&_0xdb307[_0x188011-0x1][_0x8d76aa(0x99)];}}}function a1_0x5f1c(){const _0x1747da=['test','replace','2317407bRdxKi','slice','ssss','pre,textarea','attrs','tag','>\x20has\x20no\x20matching\x20end\x20tag.','split','unarySlash','299256EwLOeZ','indexOf','7715871CehdXK','href','2070OncGuC','toLowerCase','4956fapbHm','tagName','2805258nXBrQh','warn','match','<div><span\x20class=\x22title\x22>测试</span><my-component/></div>','create','shouldDecodeNewlinesForHref','622262iDvqEt','闭合标签','lowerCasedTag','开始标签','script,style,textarea','substring','end','【文本内容】:','1590360JhgYAN','log','push','length','tag\x20<','shouldDecodeNewlines','start','7tCqkcR'];a1_0x5f1c=function(){return _0x1747da;};return a1_0x5f1c();} | ||
const a1_0x31c307=a1_0x1c35;function a1_0x218a(){const _0x4778ff=['tag\x20<','slice','indexOf','shouldDecodeNewlinesForHref','end','match','<div><span\x20class=\x22title\x22>测试</span><my-component/></div>','ssss','3gUThPG','log','replace','6306237yuHUgS','toLowerCase','7ThERCA','【结束标签】:','闭合标签','script,style,textarea','7276428bemOQE','2716474sFOtAV','test','开始标签','350751sZFbxJ','substring','split','lowerCasedTag','attrs','6531784XxBfna','>\x20has\x20no\x20matching\x20end\x20tag.','push','unarySlash','create','href','length','【文本内容】:','start','8645440igIMCk','4782500RgfhcI','shouldDecodeNewlines','tagName'];a1_0x218a=function(){return _0x4778ff;};return a1_0x218a();}(function(_0x449b1e,_0x4043fd){const _0x1c60b7=a1_0x1c35,_0xd35996=_0x449b1e();while(!![]){try{const _0x183a9d=parseInt(_0x1c60b7(0xe5))/0x1+parseInt(_0x1c60b7(0xe2))/0x2+parseInt(_0x1c60b7(0xd8))/0x3*(parseInt(_0x1c60b7(0xcd))/0x4)+-parseInt(_0x1c60b7(0xf3))/0x5+parseInt(_0x1c60b7(0xe1))/0x6+parseInt(_0x1c60b7(0xdd))/0x7*(-parseInt(_0x1c60b7(0xea))/0x8)+-parseInt(_0x1c60b7(0xdb))/0x9;if(_0x183a9d===_0x4043fd)break;else _0xd35996['push'](_0xd35996['shift']());}catch(_0x88ddfc){_0xd35996['push'](_0xd35996['shift']());}}}(a1_0x218a,0xd4ab9));function a1_0x1c35(_0x197f40,_0x2b9ab9){const _0x218aaa=a1_0x218a();return a1_0x1c35=function(_0x1c357e,_0x9b7c65){_0x1c357e=_0x1c357e-0xcd;let _0x236151=_0x218aaa[_0x1c357e];return _0x236151;},a1_0x1c35(_0x197f40,_0x2b9ab9);}function makeMap(_0x4595b7,_0xbb889e){const _0x2ef3e5=a1_0x1c35,_0x29d5f0=Object[_0x2ef3e5(0xee)](null),_0x2be212=_0x4595b7[_0x2ef3e5(0xe7)](',');for(let _0x14459d=0x0;_0x14459d<_0x2be212[_0x2ef3e5(0xf0)];_0x14459d++){_0x29d5f0[_0x2be212[_0x14459d]]=!![];}return _0xbb889e?_0xbe7069=>_0x29d5f0[_0xbe7069['toLowerCase']()]:_0x4777a7=>_0x29d5f0[_0x4777a7];}const doctype=/^<!DOCTYPE [^>]+>/i,endTag=/^<\/([a-zA-Z_][\-\.0-9_a-zA-Z]*)[^>]*>/,startTagOpen=/^<([a-zA-Z_][\-\.0-9_a-zA-Z]*)/,attribute=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,dynamicArgAttribute=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+?\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,startTagClose=/^\s*(\/?)>/,isPlainTextElement=makeMap(a1_0x31c307(0xe0),!![]),isIgnoreNewlineTag=makeMap('pre,textarea',!![]),shouldIgnoreFirstNewline=(_0x5c90a0,_0x50d765)=>_0x5c90a0&&isIgnoreNewlineTag(_0x5c90a0)&&_0x50d765[0x0]==='\x0a',decodingMap={'<':'<','>':'>','"':'\x22','&':'&',' ':'\x0a','	':'\x09',''':'\x27'},encodedAttr=/&(?:lt|gt|quot|amp|#39);/g,encodedAttrWithNewLines=/&(?:lt|gt|quot|amp|#39|#10|#9);/g;function decodeAttr(_0x4293cb,_0x1d1f3b){const _0x1265af=a1_0x31c307,_0x39a9c3=_0x1d1f3b?encodedAttrWithNewLines:encodedAttr;return _0x4293cb[_0x1265af(0xda)](_0x39a9c3,_0x2e6590=>decodingMap[_0x2e6590]);}parseHTML(a1_0x31c307(0xd6));function parseHTML(_0x11cbae,_0x2e4690={'shouldDecodeNewlines':!![],'shouldDecodeNewlinesForHref':!![]}){const _0x8ef09d=a1_0x31c307,_0x327a0d=[];let _0x268289=0x0,_0x8faacd,_0x17299b;while(_0x11cbae){_0x8faacd=_0x11cbae,console[_0x8ef09d(0xd9)](_0x11cbae);if(!_0x17299b||!isPlainTextElement(_0x17299b)){let _0x2ff615=_0x11cbae[_0x8ef09d(0xd2)]('<');if(_0x2ff615===0x0){const _0x29fb9f=_0x11cbae['match'](doctype);if(_0x29fb9f){_0x450da3(_0x29fb9f[0x0]['length']);continue;}const _0x58cc05=_0x11cbae[_0x8ef09d(0xd5)](endTag);if(_0x58cc05){console[_0x8ef09d(0xd9)](_0x8ef09d(0xde)+_0x58cc05[0x1]);const _0x5b67e4=_0x268289;_0x450da3(_0x58cc05[0x0][_0x8ef09d(0xf0)]),_0x2fc138(_0x58cc05[0x1],_0x5b67e4,_0x268289);continue;}const _0x4de474=_0x30375e();if(_0x4de474){console[_0x8ef09d(0xd9)]('【'+(_0x4de474[_0x8ef09d(0xed)]?_0x8ef09d(0xdf):_0x8ef09d(0xe4))+'】:'+_0x4de474['tagName']);continue;}}let _0x237a35,_0x11f517,_0x3d04e2;if(_0x2ff615>=0x0){_0x11f517=_0x11cbae[_0x8ef09d(0xd1)](_0x2ff615);while(!endTag[_0x8ef09d(0xe3)](_0x11f517)&&!startTagOpen['test'](_0x11f517)){_0x3d04e2=_0x11f517[_0x8ef09d(0xd2)]('<',0x1);if(_0x3d04e2<0x0)break;_0x2ff615+=_0x3d04e2,_0x11f517=_0x11cbae[_0x8ef09d(0xd1)](_0x2ff615);}_0x237a35=_0x11cbae[_0x8ef09d(0xe6)](0x0,_0x2ff615),console[_0x8ef09d(0xd9)](_0x8ef09d(0xf1)+_0x237a35);}_0x2ff615<0x0&&(_0x237a35=_0x11cbae),_0x237a35&&_0x450da3(_0x237a35[_0x8ef09d(0xf0)]);}else{}if(_0x11cbae===_0x8faacd){}}function _0x450da3(_0x5e9464){_0x268289+=_0x5e9464,_0x11cbae=_0x11cbae['substring'](_0x5e9464);}function _0x30375e(){const _0x39aa6f=_0x8ef09d,_0x486e89=_0x11cbae[_0x39aa6f(0xd5)](startTagOpen);if(_0x486e89){const _0x3da52={'tagName':_0x486e89[0x1],'attrs':[],'start':_0x268289};_0x450da3(_0x486e89[0x0][_0x39aa6f(0xf0)]);let _0x1583b8,_0x2500fb;while(!(_0x1583b8=_0x11cbae[_0x39aa6f(0xd5)](startTagClose))&&(_0x2500fb=_0x11cbae['match'](dynamicArgAttribute)||_0x11cbae[_0x39aa6f(0xd5)](attribute))){_0x2500fb[_0x39aa6f(0xf2)]=_0x268289,_0x450da3(_0x2500fb[0x0][_0x39aa6f(0xf0)]),_0x2500fb['end']=_0x268289,_0x3da52[_0x39aa6f(0xe9)]['push'](_0x2500fb);}if(_0x1583b8)return _0x3da52[_0x39aa6f(0xed)]=_0x1583b8[0x1],_0x450da3(_0x1583b8[0x0][_0x39aa6f(0xf0)]),_0x3da52[_0x39aa6f(0xd4)]=_0x268289,_0x3da52;}}function _0x54faa7(_0x599e83){const _0x254616=_0x8ef09d,_0x1207ac=_0x599e83[_0x254616(0xcf)],_0x189cb9=!!_0x599e83[_0x254616(0xed)],_0x4044ed=_0x599e83[_0x254616(0xe9)]['length'],_0x38af5a=new Array(_0x4044ed);for(let _0x3680ec=0x0;_0x3680ec<_0x4044ed;_0x3680ec++){const _0x865c48=_0x599e83[_0x254616(0xe9)][_0x3680ec],_0x58356a=_0x865c48[0x3]||_0x865c48[0x4]||_0x865c48[0x5]||'',_0x39122a=_0x1207ac==='a'&&_0x865c48[0x1]===_0x254616(0xef)?_0x2e4690[_0x254616(0xd3)]:_0x2e4690[_0x254616(0xce)];_0x38af5a[_0x3680ec]={'name':_0x865c48[0x1],'value':decodeAttr(_0x58356a,_0x39122a)};}!_0x189cb9&&(_0x327a0d[_0x254616(0xec)]({'tag':_0x1207ac,'lowerCasedTag':_0x1207ac[_0x254616(0xdc)](),'attrs':_0x38af5a,'start':_0x599e83['start'],'end':_0x599e83[_0x254616(0xd4)]}),_0x17299b=_0x1207ac);}function _0x2fc138(_0x541288,_0x26fa6c,_0x42339a){const _0x9824f3=_0x8ef09d;let _0x460b38,_0xc0f9ad;if(_0x26fa6c==null)_0x26fa6c=_0x268289;if(_0x42339a==null)_0x42339a=_0x268289;if(_0x541288){_0xc0f9ad=_0x541288['toLowerCase']();for(_0x460b38=_0x327a0d[_0x9824f3(0xf0)]-0x1;_0x460b38>=0x0;_0x460b38--){if(_0x327a0d[_0x460b38][_0x9824f3(0xe8)]===_0xc0f9ad)break;}}else _0x460b38=0x0;console[_0x9824f3(0xd9)](_0x9824f3(0xd7)+_0x460b38);if(_0x460b38>=0x0){for(let _0x32b6c4=_0x327a0d[_0x9824f3(0xf0)]-0x1;_0x32b6c4>=_0x460b38;_0x32b6c4--){(_0x32b6c4>_0x460b38||!_0x541288)&&console['warn'](_0x9824f3(0xd0)+_0x327a0d[_0x32b6c4]['tag']+_0x9824f3(0xeb));}_0x327a0d[_0x9824f3(0xf0)]=_0x460b38,_0x17299b=_0x460b38&&_0x327a0d[_0x460b38-0x1]['tag'];}}} |
{ | ||
"name": "translate-compiler", | ||
"version": "0.6.0-beta", | ||
"version": "0.8.0-beta", | ||
"description": "Vue 国际化i18n编译器,自动提取项目(.vue)文件中的”中文“并替换为多语言($t(key)),并导出全部翻译到指定文件。", | ||
@@ -10,3 +10,3 @@ "main": "main/index.js", | ||
"scripts": { | ||
"dev": "node lib/index.js test --dir example -o example/locals/local.json -l en --strict", | ||
"dev": "node lib/index.js dev --dir example -o example/locals/local.json -l en ja --strict", | ||
"test": "node lib/index.js test --dir example -o example/locals -l zh en", | ||
@@ -13,0 +13,0 @@ "obf": "javascript-obfuscator lib --output main" |
166
README.md
@@ -19,11 +19,15 @@ # translate-compiler | ||
Arguments: | ||
env 指定环境,默认:dev | ||
env 指定环境:dev/test/prod | ||
Options: | ||
-d, --dir <dir> 翻译的文件夹 | ||
-l, --locals <value...> 需要生成的地区语言(语种代码)如:zh等" | ||
-s, --suffix <value> 翻译的文件名后缀,默认:.vue | ||
-e, --excludes <value...> 排除翻译的文件,可指定多个 | ||
-o, --output <file> 翻译输出文件写入的文件(夹)路径,默认:locals/local.json | ||
--strict 是否严格模式, 严格模式只提取$t()内中文,否则全局 | ||
-d, --dir <dir> 翻译的文件夹 | ||
-l, --locals <value...> 需要生成的地区语言,参考下方常见语种列表 | ||
-t, --translate <value...> 需要翻译的语言,对应locals语种代码 | ||
-c, --channel <value> 翻译渠道 baidu百度,youdao有道 | ||
--appKey <value> 翻译api 应用key | ||
--secretKey <value> 翻译api 密钥 | ||
-s, --suffix <value> 翻译的文件名后缀,默认:.vue | ||
-e, --excludes <value...> 排除翻译的文件,可指定多个 | ||
-o, --output <file> 翻译输出文件写入的文件(夹)路径,默认:locals/local.json | ||
--strict 是否严格模式, 严格模式只提取$t()内中文,否则全局 | ||
@@ -38,3 +42,8 @@ ``` | ||
- 备注: | ||
- 自动翻译: | ||
- 只有设置了`channel`、`appKey`、`secretKey`、`translate`(且`locals`参数含有该 key),才会执行翻译,默认填充中文。 | ||
- 已经原语言文件存在的 key 不会再做翻译,如需翻译可以删改该 key 或直接删除语言文件重新生成。 | ||
- 其他备注: | ||
1. `test`生成的文件后缀前加`.lang`的新文件,可执行 `dev`/`prod` 删除。 | ||
@@ -49,3 +58,3 @@ 2. `output`支持输出到文件或文件夹,文件支持`js`和`json`格式,指定文件夹则默认文件名为`local.json` | ||
| -------- | ------------ | ------------ | ------------ | ------------ | | ||
| 简体中文 | zh | zh-CHS | zh-cn | zh | | ||
| 简体中文 | zh | zh-CHS | zh-cn | zh | | ||
| 英语 | en | en | en | en | | ||
@@ -166,6 +175,6 @@ | 繁体中文 | cht | zh-CHT | zh-tw | zh-tw | | ||
<div> | ||
<p>{{ $t("使用") }}</p> | ||
<p>{{ isOk ? $t("确定") : $t("取消") }}</p> | ||
<p>{{ $t("清洁时长(min)") }}</p> | ||
<p>{{ $t("密码8-16位,必须包含数字、符号、字母任意两种") }}</p> | ||
<p>{{ $t('使用') }}</p> | ||
<p>{{ isOk ? $t('确定') : $t('取消') }}</p> | ||
<p>{{ $t('清洁时长(min)') }}</p> | ||
<p>{{ $t('密码8-16位,必须包含数字、符号、字母任意两种') }}</p> | ||
</div> | ||
@@ -178,8 +187,6 @@ <div> | ||
<p>{{ $t(`最多上传${limit}个文件`) }}</p> | ||
<p>{{ $t(`最多上传${limit ? "0" : "1个"}个文件`) }}</p> | ||
<p>{{ $t(`最多上传${limit ? '0' : '1个'}个文件`) }}</p> | ||
<p>{{ $t(`您确定要删除${user}的${num}个文件吗?`) }}</p> | ||
<el-form-item :label="$t(`${platform}账号:`)"></el-form-item> | ||
<el-form-item | ||
:label="$t(`${platform ? '谷歌' : '微信'}账号:`)" | ||
></el-form-item> | ||
<el-form-item :label="$t(`${platform ? '谷歌' : '微信'}账号:`)"></el-form-item> | ||
</div> | ||
@@ -194,3 +201,3 @@ | ||
<p>测试文本{{ userName }}</p> | ||
<p>开始{{ isOk ? "篮球" : "兵乒球" }}比赛</p> | ||
<p>开始{{ isOk ? '篮球' : '兵乒球' }}比赛</p> | ||
</div> | ||
@@ -202,8 +209,8 @@ <div> | ||
<div> | ||
<p>{{ "使用记录" }}</p> | ||
<p>{{ isOk ? "使用记录" : "历史记录" }}</p> | ||
<p>{{ isOk ? "开始" : `结束` }}</p> | ||
<p>{{ '使用记录' }}</p> | ||
<p>{{ isOk ? '使用记录' : '历史记录' }}</p> | ||
<p>{{ isOk ? '开始' : `结束` }}</p> | ||
<p>{{ `员工姓名` }}</p> | ||
<p>{{ `长度最长${max}个字符` }}</p> | ||
<p>{{ `确定要删除${type ? "自动清洗" : "手动清洗"}路线吗` }}</p> | ||
<p>{{ `确定要删除${type ? '自动清洗' : '手动清洗'}路线吗` }}</p> | ||
<p>{{ `您确定要选择${type}路线${state}吗` }}</p> | ||
@@ -225,23 +232,23 @@ <el-form-item :label="`${area}负责人`"></el-form-item> | ||
weekday() { | ||
return this.$t("星期日"); | ||
return this.$t('星期日'); | ||
}, | ||
timeDay() { | ||
return "早上好"; | ||
}, | ||
return '早上好'; | ||
} | ||
}, | ||
methods: { | ||
onTable: function () { | ||
const test11 = this.$t("初始日期"); | ||
const test22 = this.$t("kpi结束时间"); | ||
const test11 = this.$t('初始日期'); | ||
const test22 = this.$t('kpi结束时间'); | ||
const test33 = this.$t(`kpi结束${this.label}`); | ||
const test44 = this.$t(`标签名称${this.label == "today" ? "王" : "二"}`); | ||
const test44 = this.$t(`标签名称${this.label == 'today' ? '王' : '二'}`); | ||
}, | ||
onExport: function () { | ||
const t1 = "转账信息"; | ||
const t2 = "pary时间"; | ||
const t3 = `标签名称${this.timeDay == "today" ? "李" : "林"}`; | ||
const t1 = '转账信息'; | ||
const t2 = 'pary时间'; | ||
const t3 = `标签名称${this.timeDay == 'today' ? '李' : '林'}`; | ||
const t4 = `这是(${this.user})的账号`; | ||
const t5 = `${this.timeDay},${this.user}先生`; | ||
}, | ||
}, | ||
} | ||
} | ||
}; | ||
@@ -257,6 +264,6 @@ </script> | ||
<div> | ||
<p>{{ $t("test_shi_yong") }}</p> | ||
<p>{{ isOk ? $t("com_confirm") : $t("com_cancel") }}</p> | ||
<p>{{ $t("test_qjscmin") }}</p> | ||
<p>{{ $t("test_mm816wbxbhszfhzmrylz") }}</p> | ||
<p>{{ $t('test_shi_yong') }}</p> | ||
<p>{{ isOk ? $t('com_confirm') : $t('com_cancel') }}</p> | ||
<p>{{ $t('test_qjscmin') }}</p> | ||
<p>{{ $t('test_mm816wbxbhszfhzmrylz') }}</p> | ||
</div> | ||
@@ -268,48 +275,31 @@ <div> | ||
<div> | ||
<p>{{ $t("test_zdscogwj", [limit]) }}</p> | ||
<p>{{ $t("test_zdscogwj", [limit ? "0" : $t("test_1ge")]) }}</p> | ||
<p>{{ $t("test_nqdyscodogwjm", [user, num]) }}</p> | ||
<p>{{ $t('test_zdscogwj', [limit]) }}</p> | ||
<p>{{ $t('test_zdscogwj', [limit ? '0' : $t('test_1ge')]) }}</p> | ||
<p>{{ $t('test_nqdyscodogwjm', [user, num]) }}</p> | ||
<el-form-item :label="$t('test_ozhang_hao', [platform])"></el-form-item> | ||
<el-form-item | ||
:label=" | ||
$t('test_ozhang_hao', [ | ||
platform ? $t('test_gu_ge') : $t('test_wei_xin'), | ||
]) | ||
" | ||
></el-form-item> | ||
<el-form-item :label="$t('test_ozhang_hao', [platform ? $t('test_gu_ge') : $t('test_wei_xin')])"></el-form-item> | ||
</div> | ||
<div> | ||
<p>{{ $t("test_ji_chu_xin_xi") }}</p> | ||
<p>{{ $t("com_add_success") }}</p> | ||
<p>{{ $t("test_cdyz713gzf") }}</p> | ||
<p>{{ $t("test_jshxmmcorsbmc") }}</p> | ||
<p>{{ $t("test_ce_shi_wen_ben") }}{{ userName }}</p> | ||
<p> | ||
{{ $t("test_kai_shi") | ||
}}{{ isOk ? $t("test_lan_qiu") : $t("test_bing_ping_qiu") | ||
}}{{ $t("test_bi_sai") }} | ||
</p> | ||
<p>{{ $t('test_ji_chu_xin_xi') }}</p> | ||
<p>{{ $t('com_add_success') }}</p> | ||
<p>{{ $t('test_cdyz713gzf') }}</p> | ||
<p>{{ $t('test_jshxmmcorsbmc') }}</p> | ||
<p>{{ $t('test_ce_shi_wen_ben') }}{{ userName }}</p> | ||
<p>{{ $t('test_kai_shi') }}{{ isOk ? $t('test_lan_qiu') : $t('test_bing_ping_qiu') }}{{ $t('test_bi_sai') }}</p> | ||
</div> | ||
<div> | ||
<el-form-item :label="$t('test_chi_ka_ren')"></el-form-item> | ||
<el-input | ||
:per-label="$t('test_quan_xian')" | ||
:placeholder="$t('com_please_input')" | ||
></el-input> | ||
<el-input :per-label="$t('test_quan_xian')" :placeholder="$t('com_please_input')"></el-input> | ||
</div> | ||
<div> | ||
<p>{{ $t("test_shi_yong_ji_lu") }}</p> | ||
<p>{{ isOk ? $t("test_shi_yong_ji_lu") : $t("test_li_shi_ji_lu") }}</p> | ||
<p>{{ isOk ? $t("test_kai_shi") : $t("test_jie_shu") }}</p> | ||
<p>{{ $t("test_yuan_gong_xing_ming") }}</p> | ||
<p>{{ $t("com_rules_length_max", [max]) }}</p> | ||
<p>{{ $t('test_shi_yong_ji_lu') }}</p> | ||
<p>{{ isOk ? $t('test_shi_yong_ji_lu') : $t('test_li_shi_ji_lu') }}</p> | ||
<p>{{ isOk ? $t('test_kai_shi') : $t('test_jie_shu') }}</p> | ||
<p>{{ $t('test_yuan_gong_xing_ming') }}</p> | ||
<p>{{ $t('com_rules_length_max', [max]) }}</p> | ||
<p> | ||
{{ | ||
$t("test_qdyscolxm", [ | ||
type ? $t("test_zi_dong_qing_xi") : $t("test_shou_dong_qing_xi"), | ||
]) | ||
}} | ||
{{ $t('test_qdyscolxm', [type ? $t('test_zi_dong_qing_xi') : $t('test_shou_dong_qing_xi')]) }} | ||
</p> | ||
<p>{{ $t("test_nqdyxzolxom", [type, state]) }}</p> | ||
<p>{{ $t('test_nqdyxzolxom', [type, state]) }}</p> | ||
<el-form-item :label="$t('test_ofu_ze_ren', [area])"></el-form-item> | ||
@@ -329,27 +319,23 @@ </div> | ||
weekday() { | ||
return this.$t("test_xing_qi_ri"); | ||
return this.$t('test_xing_qi_ri'); | ||
}, | ||
timeDay() { | ||
return this.$t("test_zao_shang_hao"); | ||
}, | ||
return this.$t('test_zao_shang_hao'); | ||
} | ||
}, | ||
methods: { | ||
onTable: function () { | ||
const test11 = this.$t("test_chu_shi_ri_qi"); | ||
const test22 = this.$t("test_kpijie_shu_shi_jian"); | ||
const test33 = this.$t("test_kpijie_shuo", [this.label]); | ||
const test44 = this.$t("test_bqmco", [ | ||
this.label == "today" ? this.$t("test_wang") : this.$t("test_er"), | ||
]); | ||
const test11 = this.$t('test_chu_shi_ri_qi'); | ||
const test22 = this.$t('test_kpijie_shu_shi_jian'); | ||
const test33 = this.$t('test_kpijie_shuo', [this.label]); | ||
const test44 = this.$t('test_bqmco', [this.label == 'today' ? this.$t('test_wang') : this.$t('test_er')]); | ||
}, | ||
onExport: function () { | ||
const t1 = this.$t("test_zhuan_zhang_xin_xi"); | ||
const t2 = this.$t("test_paryshi_jian"); | ||
const t3 = this.$t("test_bqmco", [ | ||
this.timeDay == "today" ? this.$t("test_li") : this.$t("test_lin"), | ||
]); | ||
const t4 = this.$t("test_zhe_shiode_zhang_hao", [this.user]); | ||
const t5 = this.$t("test_ooxian_sheng", [this.timeDay, this.user]); | ||
}, | ||
}, | ||
const t1 = this.$t('test_zhuan_zhang_xin_xi'); | ||
const t2 = this.$t('test_paryshi_jian'); | ||
const t3 = this.$t('test_bqmco', [this.timeDay == 'today' ? this.$t('test_li') : this.$t('test_lin')]); | ||
const t4 = this.$t('test_zhe_shiode_zhang_hao', [this.user]); | ||
const t5 = this.$t('test_ooxian_sheng', [this.timeDay, this.user]); | ||
} | ||
} | ||
}; | ||
@@ -356,0 +342,0 @@ </script> |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
AI-detected potential malware
Supply chain riskAI has identified this package as malware. This is a strong signal that the package may be malicious.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
61763
9
4
387
2
8