fine('app/v8/controls/photo_reader/1.0',null,function(require,exports,的中文翻譯

fine('app/v8/controls/photo_reader/

fine('app/v8/controls/photo_reader/1.0',null,function(require,exports,module){var Base=require('app/v8/lang/1.0').Base;var misc=require('app/v8/controls/mood_poster/utils/misc/1.0');var $=require('jquery');var QZFL=window.QZFL;var env=require('app/v8/env/1.0');var logger=require('app/v8/utils/logger/1.0');var chunk=require('app/v8/utils/chunk/1.0');var count=0;var MAX_IMAGE_SELECT_COUNT=1;var FLASH_ID_PREIFX='qz_app_imageReader_';var PhotoReader=Base.derive({constructor:function(properties){if(!arguments.callee.Base.apply(this,arguments)){return false;}
count++;this.setId(count);if(properties.maxImageCount){this.setMaxImageCount(properties.maxImageCount);}
if(properties.onPhotoSelected&&typeof properties.onPhotoSelected=='function'){this.onPhotoSelected=properties.onPhotoSelected;}
if(properties.onPhotoLoaded&&typeof properties.onPhotoLoaded=='function'){this.onPhotoLoaded=properties.onPhotoLoaded;}
if(properties.onAllPhotoLoaded&&typeof properties.onAllPhotoLoaded=='function'){this.onAllPhotoLoaded=properties.onAllPhotoLoaded;}
this.setTargetWidth(properties.width||$(properties.target).innerWidth()||100);this.setTargetHeight(properties.height||$(properties.target).innerHeight()||100);var flashHtml=this.getFlashHtml({id:this.getId(),width:this.getTargetWidth(),height:this.getTargetHeight()});if(properties.target&&typeof properties.target=='object'&&properties.target.nodeType==1){this.addFlashCallbacks();$(flashHtml).appendTo(properties.target.parentNode);}
return true;},properties:{id:{},maxImageCount:{initialValue:1,getter:function(){logger.info('photoReader_'+this.getId()+'还可以插入'+this['@maxImageCount']+'张图片');return this['@maxImageCount'];}},selectedPhotoIds:{initialValue:[]},loadedPhotoIds:{initialValue:[]},outputSize:{initialValue:4000},clearDataAfterLoaded:{getterPrefix:'need',initialValue:true},flashFacadeId:{initialValue:'photoReader'},targetWidth:{},targetHeight:{},visible:{initialValue:true,getterPrefix:'is'},compressing:{initialValue:false,getterPrefix:'is'},compressQueue:{initialValue:[]}},methods:{getFlashHtml:function(options){if(QZFL.media.getFlashVersion().major2?options.width-2:options.width)+"px",height:(options.height>2?options.height-2:options.height)+"px",allowScriptAccess:"always",wmode:"transparent",src:'http://'+env.imgcacheDomain+'/qzone/client/photo/swf/SimpleLocalFileUploader/Main.swf?max_age=20140605',flashvars:'facadeId=QZAPPCTRL.'+this.getFlashFacadeId()+'.instance'+options.id+'.&max='+this.getMaxImageCount()});return flashHtml;},hide:function(){if(!this.isVisible()){return;}
var flashObj=document.getElementById(FLASH_ID_PREIFX+this.getId());flashObj.height='1px';flashObj.width='1px';this.setVisible(false);},show:function(){if(this.isVisible()){return;}
var flashObj=document.getElementById(FLASH_ID_PREIFX+this.getId());flashObj.height=this.getTargetHeight()+'px';flashObj.width=this.getTargetWidth()+'px';this.setVisible(true);},isExistInFlash:function(photoId){var photoList=this.getPhotoList();for(var i=0;i=2;},remove:function(){var flashObj=document.getElementById(FLASH_ID_PREIFX+this.getId());flashObj.parentNode.removeChild(flashObj);if(QZAPPCTRL.imageReader){delete QZAPPCTRL.imageReader['instance'+this.getId()];}},onReady:function(){},onPhotoSelected:function(photoIds){},_onPhotoSelected:function(photoIds){var selectedPhotoIds=photoIds.concat();var loadedIds=this.getLoadedPhotoIds();for(var i=0;i-1){selectedPhotoIds.splice(i,1);i--;}}
this.setSelectedPhotoIds(selectedPhotoIds);this.setLoadedPhotoIds(this.getLoadedPhotoIds().concat(selectedPhotoIds));this.onPhotoSelected(selectedPhotoIds);},_onAllPhotoLoaded:function(){var self=this;self.onAllPhotoLoaded();},onAllPhotoLoaded:function(){},compressAllPhoto:function(params){var params=$.extend(params,{photoIds:[].concat(this.getLoadedPhotoIds())});this.compressPhoto(params);},onPhotoCompressFinished:$.noop,calculateFingerPrint:function(base64){if(!base64){return'';}
var contentLength=base64.length;if(base64.length
0/5000
原始語言: -
目標語言: -
結果 (中文) 1: [復制]
復制成功!
fine('app/v8/controls/photo_reader/1.0',null,function(require,exports,module) {var Base=require('app/v8/lang/1.0')。基地; var misc = 要求 (应用程序/v8/控制/mood_poster/utils/misc/1.0 '); var $= 需要 ('jquery'); var QZFL = 窗口。QZFL; var env = 需要 (应用程序/v8/env/1.0 '); var 记录器 = 需要 (' app/v8/utils/记录器/1.0 '); var 块 = 需要 (' app/v8/utils/块/1.0 '); var 计数 = 0; var MAX_IMAGE_SELECT_COUNT = 1; var FLASH_ID_PREIFX = 'qz_app_imageReader_'; var PhotoReader=Base.derive({constructor:function(properties){if(!arguments.callee.Base.apply(this,arguments)) {返回 false;}} count++;this.setId(count);if(properties.maxImageCount){this.setMaxImageCount(properties.maxImageCount)如果 (properties.onPhotoSelected & & typeof properties.onPhotoSelected=='function'){this.onPhotoSelected=properties.onPhotoSelected;}如果 (properties.onPhotoLoaded & & typeof properties.onPhotoLoaded=='function'){this.onPhotoLoaded=properties.onPhotoLoaded;}如果 (properties.onAllPhotoLoaded & & typeof properties.onAllPhotoLoaded=='function'){this.onAllPhotoLoaded=properties.onAllPhotoLoaded;}this.setTargetWidth (properties.width||$(properties.target).innerWidth () | |100);this.setTargetHeight (properties.height||$(properties.target).innerHeight () | |100); var flashHtml=this.getFlashHtml({id:this.getId(),width:this.getTargetWidth(),height:this.getTargetHeight()}); 如果 (properties.target & & typeof properties.target=='object'& & properties.target.nodeType==1){this.addFlashCallbacks();$(flashHtml).appendTo(properties.target.parentNode);}return true;},properties:{id:{},maxImageCount:{initialValue:1,getter:function(){logger.info('photoReader_'+this.getId()+'还可以插入'+this['@maxImageCount']+'张图片');return this['@maxImageCount'];}},selectedPhotoIds:{initialValue:[]},loadedPhotoIds:{initialValue:[]},outputSize:{initialValue:4000},clearDataAfterLoaded:{getterPrefix:'need',initialValue:true},flashFacadeId:{initialValue:'photoReader'},targetWidth:{},targetHeight:{},visible:{initialValue:true,getterPrefix:'is'},compressing:{initialValue:false,getterPrefix:'is'},compressQueue:{initialValue:[]}},methods:{getFlashHtml:function(options){if(QZFL.media.getFlashVersion().major<9){return'';}var flashHtml=QZFL.media.getFlashHtml({id:FLASH_ID_PREIFX+options.id,style:'position:absolute;z-index:1;left:1px;top:1px;',width:(options.width>2?options.width-2:options.width)+"px",height:(options.height>2?options.height-2:options.height)+"px",allowScriptAccess:"always",wmode:"transparent",src:'http://'+env.imgcacheDomain+'/qzone/client/photo/swf/SimpleLocalFileUploader/Main.swf?max_age=20140605',flashvars:'facadeId=QZAPPCTRL.'+this.getFlashFacadeId () + '.instance' options.id+'.& max='+this.getMaxImageCount()}); 返回 flashHtml;},hide:function(){if(!this.isVisible()) {回报;}var flashObj=document.getElementById(FLASH_ID_PREIFX+this.getId());flashObj.height='1px';flashObj.width='1px';this.setVisible(false);},show:function(){if(this.isVisible()) {回报;}var flashObj=document.getElementById(FLASH_ID_PREIFX+this.getId());flashObj.height=this.getTargetHeight()+'px';flashObj.width=this.getTargetWidth()+'px';this.setVisible(true);},isExistInFlash:function(photoId){var photoList=this.getPhotoList();for(var i=0;i返回 false;},addFlashCallbacks:function() {var 自我 = 这; 窗口。QZAPPCTRL = 窗口。QZAPPCTRL||{}; 窗口。QZAPPCTRL[self.getFlashFacadeId()] | |(窗口。QZAPPCTRL[self.getFlashFacadeId()]={})QZAPPCTRL[self.getFlashFacadeId()]['instance'+self.getId()]=self.getFlashCallbacks();logger.info('图片读取flash的接口绑定成功');},getFlashCallbacks:function() {var self=this;return{photoSelected:function(photoIds){logger.info('选图完成:',photoIds);self._onPhotoSelected(photoIds);},getPhotoId:misc.getUuid,getMaxNumFromJS:function() {返回 self.getMaxImageCount();},allLoadComplete:function(){setTimeout(function(){self._onAllPhotoLoaded();},0);},flashInit:function(){setTimeout(function() {self.onReady (); 仅限于 logger.info ('图片读取flash初始化成功 id:',self.getId());},0);},loadBmdSuccess:function(photoId){logger.info('图片bmd加载完成:',photoId);},compressPhotoCallback:function(photoData){setTimeout(function() {self.onPhotoCompressFinished (photoData);},0);}};},isLongPhoto:function (宽度height){return(height/width) > =2;},remove:function() {var flashObj=document.getElementById(FLASH_ID_PREIFX+this.getId());flashObj.parentNode.removeChild(flashObj);if(QZAPPCTRL.imageReader) {删除 QZAPPCTRL.imageReader['instance'+this.getId()];}},onReady:function(){},onPhotoSelected:function(photoIds){},_onPhotoSelected:function(photoIds) {var selectedPhotoIds=photoIds.concat (); var loadedIds=this.getLoadedPhotoIds (); 为 (var 我 = 0; 我-1){selectedPhotoIds.splice(i,1); i — —;}}this.setSelectedPhotoIds(selectedPhotoIds);this.setLoadedPhotoIds(this.getLoadedPhotoIds().concat(selectedPhotoIds));this.onPhotoSelected(selectedPhotoIds);},_onAllPhotoLoaded:function() {var self=this;self.onAllPhotoLoaded();},onAllPhotoLoaded:function(){},compressAllPhoto:function(params) {var params=$.extend(params,{photoIds:[].concat(this.getLoadedPhotoIds())});this.compressPhoto(params);},onPhotoCompressFinished:$.noop,calculateFingerPrint:function(base64){if(!base64)。 {返回 ';}var contentLength = base64.length; if(base64.length<128) {返回 base64 + ' + contentLength;}var frag1 = base64.slice (0,32); var frag2=base64.slice(-32); var frag3=base64.slice (实际上 (contentLength/2),32); 返回 frag1+frag2+frag3+contentLength;},compressAsync:function(photoId,params,onCompressed) {仅限于 logger.info ('photo_reader compressAsync:',photoId,params); var self=this;self.onPhotoCompressFinished=function(photoData){if(photoId!=photoData.id) {回报;}如果 (onCompressed & & typeof onCompressed=='function'){if(params.needFingerPrint) {photoData.fingerPrint=self.calculateFingerPrint (photoData.base64); logger.info('photo fingerprint:'+photoData.fingerPrint);}onCompressed(photoData);}}self.call('compressPhotoAsync',photoId,params);},compressPhoto:function(params) {var self=this;if(self.isCompressing()) {仅限于 logger.info ('已经在压缩中了,加入等待队列' params); self.getCompressQueue ().push (params); 回报;}self.setCompressing (true); params = $.extend({photoIds:[],width:800,height:800,interval:500,onPhotoCompressed:$.noop,onAllPhotoCompressed:$.noop,forceCompress:false},params); 仅限于 logger.info ('开始压缩图片:',params); var 指数 = 0; var length=params.photoIds.length;var allPhotoData=[];chunk.async(params.photoIds,function(photoId,callback){if(!self.isExistInFlash(photoId)) {回调 (); 回报;}self.compressAsync(photoId,{width:params.width,height:params.height,needFingerPrint:params.needFingerPrint},function(result){if(result.type=='.png'){logger.info(' photo_reader.compressPhoto 图片是png,要重新压缩');self.compressAsync(photoId,{width:params.width,height:params.height,type:'png',needFingerPrint:params.needFingerPrint}, function(result){params.onPhotoCompressed(result);allPhotoData.push(result);callback();});} else if(params.forceCompress|| (!self.isLongPhoto(result.width,result.height))) {params.onPhotoCompressed(result);allPhotoData.push(result);callback();} else{logger.info('photo_reader.compressPhoto 图片需要2次处理:',result);self.compressAsync(photoId,{width:10000,height:10000,needFingerPrint:params.needFingerPrint},function( result){params.onPhotoCompressed(result);allPhotoData.push(result);callback();});}});},{interval:params.interval|| 500,context:self,onComplete:function(){self.setCompressing(false);logger.info('所有图片压缩完成:',allPhotoData);params.onAllPhotoCompressed(allPhotoData);if( self.getCompressQueue().length){var compressArgs=self.getCompressQueue().shift();logger.info('任务队列中还有未执行的压缩任务,开始执行',compressArgs);self.compressPhoto.call(self, compressArgs);}}});},deletePhoto:function(photoId){this.call('deletePhoto',photoId);for(var i=0;iif(!this.getPhotoList().length){this.setCompressing(false);}},getPhotoList:function(callback) {var photoList=this.call ('getPhotoList') | |[]; 返回 photoList;},_clearAllPhotoData:function(photoIds){if(!photoIds) {logger.warn ('photoReader.clearAllPhotoData photoIds 是空'); 返回;}试着 {为 (var 我 = 0; 我var returnString = _flash。CallFunction (['',__flash__argumentsToXML(arguments,0),''] 闭 (')); var returnValue = eval (returnString); 如果 (returnValue! = = 未定义 & & typeof returnValue.post==="object"){returnValue=unescapeFilePostParams(returnValue);}返回 returnValue;}}});返回 PhotoReader;});/* |xGv00|d92b66674779cf133fad9b8ed00e2
正在翻譯中..
結果 (中文) 3:[復制]
復制成功!
细('app / V8 /控制/ photo_reader / 1,null,函数(需要、出口、模块){ var基地=需要('app / V8 /郎/ 1)。基地;var杂项=需要('app / V8 /控制/ mood_poster /工具/其他/ 1 ');var $ =需要('jquery ');var qzfl =窗口。qzfl;var env =需要('app / V8 /环境/ 1 ');var记录器=需要('app / V8 /工具/记录/ 1 ');var块=需要('app / V8 /工具/块/ 1 ');var数= 0;var max_image_select_count = 1;无功flash_id_preifx = 'qz_app_imagereader_ ';var光电读数=基础。导出({构造函数:功能(性能){ if(!争论。被叫。基地。适用(这论点)){ return false;}
计数;这个压缩文件SetID(计数);如果(属性。maximagecount){这。setmaximagecount(属性。maximagecount);}
如果(属性。onphotoselected&&类型的属性。onphotoselected = = 'function”){这。onphotoselected =性能。onphotoselected;}
如果(属性。onphotoloaded&&类型的属性。onphotoloaded = = 'function”){这。onphotoloaded =属性。onphotoloaded;}
如果(属性。onallphotoloaded&&类型的属性。onallphotoloaded = = 'function”){这。onallphotoloaded =属性。onallphotoloaded;}
这。settargetwidth(宽度|性质。| $(属性。目标)。innerwidth() | | 100);这settargetheight(性能。高度| | $(属性。目标)。innerheight() | | 100);无功flashhtml =这。getflashhtml({编号:这。getid(),宽度:这。gettargetwidth(),高度:这。gettargetheight() });如果(属性。目标&&类型属性。目标= = 'object”&&性质。目标节点类型= = 1){这。addflashcallbacks();$(flashhtml)。appendto(属性。目标。parentNode);}
return true;},性质:{编号:{ },{ maximagecount:初值:1,吸气:function() {日志信息('photoreader_这getid()”还可以插入这[“@ maximagecount ]的张图片');返回这个[“@ maximagecount ];} },{ selectedphotoids:初值:[ ] },{ loadedphotoids:初值:[ ] },输出大小:{ 4000 },初值:cleardataafterloaded:{ getterprefix:需要本身,初值:true},flashfacadeid:{初值:'photoreader”},targetwidth:{ },targetheight:{ },{初值:真实可见,getterprefix:子},{压缩:初值:假,getterprefix:子},{ compressqueue:初值:[ ] } },{ getflashhtml方法:功能(选项){ if(qzfl。媒体。getflashversion()。大<9){ return”;}
VaR flashhtml = qzfl。媒体。getflashhtml({编号:flash_id_preifx选项。ID,风格:下:绝对;Z指数:1;左:1px 1px;顶部;',宽度:(选项。宽度>2?选项:选项。宽度2。宽度)“PX”,高度:(选项。身高>2?选项:选项。身高-2。高度)“PX”,allowscriptaccess:“总是”、“透明”,wmode:SRC:'http:/“env.imgcachedomain /空间/客户/照片/ SWF / simplelocalfileuploader / main.swf?max_age = 20140605,= qzappctrl flashVars:'facadeid。这getflashfacadeid()”。例如“options.id’。&max =这getmaximagecount() });返回flashhtml;},{如果(function()隐藏!这个isvisible()){ return;}
无功flashobj =文件。getElementById(flash_id_preifx这。getid());flashobj。高度= '1px”;flashobj。宽度= '1px”;这个show(假);},{如果(这表明:function()。isvisible()){ return;}
VaR flashobj =文件。getElementById(flash_id_preifx这。getid());flashobj。高度=这。gettargetheight() 'px';flashobj。宽度=本。gettargetwidth() 'px';这个show(true);},isexistinflash:功能(PhotoID){ var photolist =这。getphotolist();为(var i = 0;i < photolist。长度;I){ if(photolist [我]。ID = = PhotoID){ return true;} }
return false;},addflashcallbacks:function() { var自这qzappctrl;窗口。=窗口。qzappctrl | | { };窗口。qzappctrl [自我]。getflashfacadeid() | |(窗口。qzappctrl [自我]。getflashfacadeid() = { });qzappctrl [自我。getflashfacadeid() ] [ 'instance自我。getid() ] =自我。getflashcallbacks();记录器。信息(“图片读取闪光的接口绑定成功');},getflashcallbacks:function() { var自本;返回{ photoselected:功能(photoids){日志信息(“选图完成:',photoids);自我。_onphotoselected(photoids);},getphotoid:杂项。getuuid,getmaxnumfromjs:function() {回归自我。getmaximagecount();},allloadcomplete:function() { setTimeout(function() {自我。_onallphotoloaded();},0);},flashinit:function() { setTimeout(function() {自我。onready();记录器。信息(“图片读取闪光初始化成功ID,自我。getid());},0);},loadbmdsuccess:功能(PhotoID){记录器。信息(“图片BMD加载完成:',主键字段);},compressphotocallback:功能(photodata){ setTimeout(function() {自我。onphotocompressfinished(photodata);},0);} };},islongphoto:功能(宽度,高度){ return(高度/宽度)> = 2;},删除:function() { var flashobj =文件。getElementById(flash_id_preifx这。getid());flashobj。其父节点。removechild(flashobj);如果(qzappctrl。imagereader){删除qzappctrl。imagereader [ 'instance这getid() ];} },onready:function() { },onphotoselected:功能(photoids){ },_onphotoselected:功能(photoids){ var selectedphotoids = photoids。concat();VAR loadedids =这。getloadedphotoids()为(var i = 0;我的<< selectedphotoids。长度;I){ if($。内部数组(selectedphotoids [我],loadedids)> 1){ selectedphotoids。剪接(I,1);} }我;
这。setselectedphotoids(selectedphotoids);这个setloadedphotoids(这个。getloadedphotoids() .concat(selectedphotoids));这。onphotoselected(selectedphotoids);},_onallphotoloaded:function() { var自本;自我。onallphotoloaded();},onallphotoloaded:function() { },compressallphoto:函数(参数){ var参数=美元。延长(params,{ photoids:[ ] .concat(这个。getloadedphotoids())});这。compressphoto(params);},onphotocompressfinished:美元。空,calculatefingerprint:功能(base64){ if(!Base64){ return”;}
VaR contentlength = base64。长度;如果(base64。长度<128){ return Base64”contentlength;}
VaR frag1 = base64。片(0,32);var frag2 = base64。片(32);无功frag3 = base64。片(数学。楼(contentlength / 2),32);返回frag1 frag2 frag3 contentlength;},compressasync:功能(主键字段、参数、压缩){日志信息('photo_reader compressasync:',主键字段、参数);var自本;自我。onphotocompressfinished =功能(photodata){ if(主键字段!= photodata。ID){ return;}
如果(压缩&&类型= = 'function压缩”){ if(参数。needfingerprint){ photodata指纹=自我。calculatefingerprint(photodata。Base64);记录信息('photo指纹:“photodata。指纹);}
压缩(photodata);} }
自我。电话('compressphotoasync,主键字段、参数);},compressphoto:函数(参数){ var自本;如果(自我。iscompressing()){记录器信息(“已经在压缩中了,加入等待队列,params);自我。getcompressqueue()。推(params);返回;}
自我。setcompressing(true);参数=美元。延长({ photoids:[ ],宽度:800,高度:800,时间:500,onphotocompressed:美元。空,onallphotocompressed:美元。空,forcecompress:假},params);记录信息(':',开始压缩图片params);var指数= 0;var长度=参数。photoids。长度;无功allphotodata = [];块。异步(参数。photoids,功能(PhotoID,回调){ if(!自我。isexistinflash(PhotoID)){ callback();回报;}
自我。compressasync(PhotoID,{宽度:宽度,高度:params.height参数,needfingerprint:参数。needfingerprint },功能(结果){ if(结果。型= =“PNG”){记录器。信息(“photo_reader.compressphoto图片是PNG,要重新压缩');自我。compressasync(PhotoID,{宽度参数。宽度、高度:参数。高度、类型:'png ',needfingerprint:参数。needfingerprint },{参数函数(结果)。onphotocompressed(结果);allphotodata。推(结果);callback();});} else if(参数。forcecompress | |(!自我。islongphoto(结果。宽度,结果。高度))){参数。onphotocompressed(结果);allphotodata。推(结果);callback();}否则{记录器。信息(“photo_reader.compressphoto图片需要2次处理:',结果);自我。compressasync(PhotoID,{宽度:10000,高度:10000,needfingerprint:参数。needfingerprint },{参数函数(结果)。onphotocompressed(结果);allphotodata。推(结果);callback();});} });},{区间:参数。区间| | 500、背景:自我、完备:function() {自我。setcompressing(假);记录信息(“所有图片压缩完成:',allphotodata);参数。onallphotocompressed(allphotodata);如果(自我。getcompressqueue()。长度){ var compressargs =自我。getcompressqueue()。shift();信息(“任务队列中还有未执行的压缩任务,记录器。开始执行',compressargs);自我。compressphoto。电话(自我,compressargs);} } });},deletephoto:功能(PhotoID){这叫('deletephoto,主键字段);为(var i = 0;i <这。getloadedphotoids()。长度;I){ if(PhotoID = =这。getloadedphotoids() [我]){这。getloadedphotoids()。剪接(I,1);} }
如果我--;(!这个getphotolist()。长度){这。setcompressing(假);} },getphotolist:函数(回调){ var photolist =这叫('getphotolist”)| | [ ];返回photolist;},_clearallphotodata:功能(photoids){ if(!photoids){记录器。警告(“photoreader.clearallphotodata photoids是空的);返回;}
尝试{ for(var i = 0;i < photoids。长度;I){这叫('deletephoto ',photoids [我]);} } catch(ERR){警告(“调用删除相片的方法失败,记录器。可能是该闪光”);} }被隐藏了,电话:function() { var funcname =阵列。原型。移。电话(参数);var _flash =文件。getElementById(flash_id_preifx这。getid());如果(!_flash){ return”;}
无功returnstring = _flash。通话功能([“<调用名称=“”,funcname,”类型=“javascript”>”,__flash__argumentstoxml(参数0),“< /调用> ]。加入());var值= eval(returnstring);如果(指定!= =定义的&&类中。后= = =“对象”){值= unescapefilepostparams(指定);} } } }
返回值;);返回光电头;});/* | xgv00 | d92b66674779cf133fad9b8ed00e2
正在翻譯中..
 
其它語言
本翻譯工具支援: 世界語, 中文, 丹麥文, 亞塞拜然文, 亞美尼亞文, 伊博文, 俄文, 保加利亞文, 信德文, 偵測語言, 優魯巴文, 克林貢語, 克羅埃西亞文, 冰島文, 加泰羅尼亞文, 加里西亞文, 匈牙利文, 南非柯薩文, 南非祖魯文, 卡納達文, 印尼巽他文, 印尼文, 印度古哈拉地文, 印度文, 吉爾吉斯文, 哈薩克文, 喬治亞文, 土庫曼文, 土耳其文, 塔吉克文, 塞爾維亞文, 夏威夷文, 奇切瓦文, 威爾斯文, 孟加拉文, 宿霧文, 寮文, 尼泊爾文, 巴斯克文, 布爾文, 希伯來文, 希臘文, 帕施圖文, 庫德文, 弗利然文, 德文, 意第緒文, 愛沙尼亞文, 愛爾蘭文, 拉丁文, 拉脫維亞文, 挪威文, 捷克文, 斯洛伐克文, 斯洛維尼亞文, 斯瓦希里文, 旁遮普文, 日文, 歐利亞文 (奧里雅文), 毛利文, 法文, 波士尼亞文, 波斯文, 波蘭文, 泰文, 泰盧固文, 泰米爾文, 海地克里奧文, 烏克蘭文, 烏爾都文, 烏茲別克文, 爪哇文, 瑞典文, 瑟索托文, 白俄羅斯文, 盧安達文, 盧森堡文, 科西嘉文, 立陶宛文, 索馬里文, 紹納文, 維吾爾文, 緬甸文, 繁體中文, 羅馬尼亞文, 義大利文, 芬蘭文, 苗文, 英文, 荷蘭文, 菲律賓文, 葡萄牙文, 蒙古文, 薩摩亞文, 蘇格蘭的蓋爾文, 西班牙文, 豪沙文, 越南文, 錫蘭文, 阿姆哈拉文, 阿拉伯文, 阿爾巴尼亞文, 韃靼文, 韓文, 馬來文, 馬其頓文, 馬拉加斯文, 馬拉地文, 馬拉雅拉姆文, 馬耳他文, 高棉文, 等語言的翻譯.

Copyright ©2025 I Love Translation. All reserved.

E-mail: