'),i.request({data:{cmd:"url",target:c.hash},preventDefault:!0}).always(function(){t.html("")}).done(function(e){var t=i.file(c.hash);c.url=t.url=e.url||"",c.url&&r.trigger({type:"update",file:c,forceUpdate:!0})})}),""!==c.url&&"1"!=c.url&&(s.stopImmediatePropagation(),r.one("change",function(){d.off("viewchange.googledocs"),l.remove(),n.off("load").remove(),n=null}).addClass("elfinder-overflow-auto"),l=e(' '+i.i18n("nowLoading")+'
').appendTo(t.info.find(".elfinder-quicklook-info")),n=e('').css("background-color","transparent").appendTo(r).on("load",function(){t.hideinfo(),l.remove(),e(this).css("background-color","#fff").show()}).attr("src","//docs.google.com/gview?embedded=true&url="+encodeURIComponent(i.convAbsUrl(i.url(c.hash)))),d.on("viewchange.googledocs",u),u()))})}];try{(function(){(function(){"use strict";function e(e){throw e}function t(e,t){var n=e.split("."),i=m;!(n[0]in i)&&i.execScript&&i.execScript("var "+n[0]);for(var a;n.length&&(a=n.shift());)n.length||t===f?i=i[a]?i[a]:i[a]={}:i[a]=t}function n(e){var t,n,i,a,r,o,s,l,d,c,u=e.length,h=0,p=Number.POSITIVE_INFINITY;for(l=0;u>l;++l)e[l]>h&&(h=e[l]),e[l]=i;){for(l=0;u>l;++l)if(e[l]===i){for(o=0,s=a,d=0;i>d;++d)o=o<<1|1&s,s>>=1;for(c=i<<16|l,d=o;t>d;d+=r)n[d]=c;++a}++i,a<<=1,r<<=1}return[n,h,p]}function i(t,n){switch(this.l=[],this.m=32768,this.d=this.f=this.c=this.t=0,this.input=g?new Uint8Array(t):t,this.u=!1,this.n=A,this.L=!1,!n&&(n={})||(n.index&&(this.c=n.index),n.bufferSize&&(this.m=n.bufferSize),n.bufferType&&(this.n=n.bufferType),n.resize&&(this.L=n.resize)),this.n){case z:this.a=32768,this.b=new(g?Uint8Array:Array)(32768+this.m+258);break;case A:this.a=0,this.b=new(g?Uint8Array:Array)(this.m),this.e=this.X,this.B=this.S,this.q=this.W;break;default:e(Error("invalid inflate mode"))}}function a(t,n){for(var i,a=t.f,r=t.d,o=t.input,s=t.c,l=o.length;n>r;)s>=l&&e(Error("input buffer is broken")),a|=o[s++]<>>n,t.d=r-n,t.c=s,i}function r(e,t){for(var n,i,a=e.f,r=e.d,o=e.input,s=e.c,l=o.length,d=t[0],c=t[1];c>r&&!(s>=l);)a|=o[s++]<>>16,e.f=a>>i,e.d=r-i,e.c=s,65535&n}function o(e){function t(e,t,n){var i,o,s,l=this.K;for(s=0;e>s;)switch(i=r(this,t)){case 16:for(o=3+a(this,2);o--;)n[s++]=l;break;case 17:for(o=3+a(this,3);o--;)n[s++]=0;l=0;break;case 18:for(o=11+a(this,7);o--;)n[s++]=0;l=0;break;default:l=n[s++]=i}return this.K=l,n}var i,o,s,l,d=a(e,5)+257,c=a(e,5)+1,u=a(e,4)+4,h=new(g?Uint8Array:Array)(M.length);for(l=0;u>l;++l)h[M[l]]=a(e,3);if(!g)for(l=u,u=h.length;u>l;++l)h[M[l]]=0;i=n(h),o=new(g?Uint8Array:Array)(d),s=new(g?Uint8Array:Array)(c),e.K=0,e.q(n(t.call(e,d,i,o)),n(t.call(e,c,i,s)))}function s(e){e=e||{},this.files=[],this.v=e.comment}function l(e,t){t=t||{},this.input=g&&e instanceof Array?new Uint8Array(e):e,this.c=0,this.ca=t.verify||!1,this.j=t.password}function d(e,t){this.input=e,this.offset=t}function c(e,t){this.input=e,this.offset=t}function u(t){var n,i,a,r,o=[],s={};if(!t.i){if(t.o===f){var l,c=t.input;if(!t.D)e:{var u,h=t.input;for(u=h.length-12;u>0;--u)if(h[u]===K[0]&&h[u+1]===K[1]&&h[u+2]===K[2]&&h[u+3]===K[3]){t.D=u;break e}e(Error("End of Central Directory Record not found"))}l=t.D,(c[l++]!==K[0]||c[l++]!==K[1]||c[l++]!==K[2]||c[l++]!==K[3])&&e(Error("invalid signature")),t.ia=c[l++]|c[l++]<<8,t.ka=c[l++]|c[l++]<<8,t.la=c[l++]|c[l++]<<8,t.ba=c[l++]|c[l++]<<8,t.R=(c[l++]|c[l++]<<8|c[l++]<<16|c[l++]<<24)>>>0,t.o=(c[l++]|c[l++]<<8|c[l++]<<16|c[l++]<<24)>>>0,t.w=c[l++]|c[l++]<<8,t.v=g?c.subarray(l,l+t.w):c.slice(l,l+t.w)}for(n=t.o,a=0,r=t.ba;r>a;++a)i=new d(t.input,n),i.parse(),n+=i.length,o[a]=i,s[i.filename]=a;t.Rv;++v)for(var b=v,y=7,b=b>>>1;b;b>>>=1)--y;var w,k=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117],x=g?new Uint32Array(k):k,C=[];for(w=0;288>w;w++)switch(!0){case 143>=w:C.push([w+48,8]);break;case 255>=w:C.push([w-144+400,9]);break;case 279>=w:C.push([w-256+0,7]);break;case 287>=w:C.push([w-280+192,8]);break;default:e("invalid literal: "+w)}var T=function(){function t(t){switch(!0){case 3===t:return[257,t-3,0];case 4===t:return[258,t-4,0];case 5===t:return[259,t-5,0];case 6===t:return[260,t-6,0];case 7===t:return[261,t-7,0];case 8===t:return[262,t-8,0];case 9===t:return[263,t-9,0];case 10===t:return[264,t-10,0];case 12>=t:return[265,t-11,1];case 14>=t:return[266,t-13,1];case 16>=t:return[267,t-15,1];case 18>=t:return[268,t-17,1];case 22>=t:return[269,t-19,2];case 26>=t:return[270,t-23,2];case 30>=t:return[271,t-27,2];case 34>=t:return[272,t-31,2];case 42>=t:return[273,t-35,3];case 50>=t:return[274,t-43,3];case 58>=t:return[275,t-51,3];case 66>=t:return[276,t-59,3];case 82>=t:return[277,t-67,4];case 98>=t:return[278,t-83,4];case 114>=t:return[279,t-99,4];case 130>=t:return[280,t-115,4];case 162>=t:return[281,t-131,5];case 194>=t:return[282,t-163,5];case 226>=t:return[283,t-195,5];case 257>=t:return[284,t-227,5];case 258===t:return[285,t-258,0];default:e("invalid length: "+t)}}var n,i,a=[];
+for(n=3;258>=n;n++)i=t(n),a[n]=i[2]<<24|i[1]<<16|i[0];return a}();g&&new Uint32Array(T);var z=0,A=1;i.prototype.r=function(){for(;!this.u;){var t=a(this,3);switch(1&t&&(this.u=!0),t>>>=1){case 0:var n=this.input,i=this.c,r=this.b,s=this.a,l=n.length,d=f,c=f,u=r.length,h=f;switch(this.d=this.f=0,i+1>=l&&e(Error("invalid uncompressed block header: LEN")),d=n[i++]|n[i++]<<8,i+1>=l&&e(Error("invalid uncompressed block header: NLEN")),c=n[i++]|n[i++]<<8,d===~c&&e(Error("invalid uncompressed block header: length verify")),i+d>n.length&&e(Error("input buffer is broken")),this.n){case z:for(;s+d>r.length;){if(h=u-s,d-=h,g)r.set(n.subarray(i,i+h),s),s+=h,i+=h;else for(;h--;)r[s++]=n[i++];this.a=s,r=this.e(),s=this.a}break;case A:for(;s+d>r.length;)r=this.e({H:2});break;default:e(Error("invalid inflate mode"))}if(g)r.set(n.subarray(i,i+d),s),s+=d,i+=d;else for(;d--;)r[s++]=n[i++];this.c=i,this.a=s,this.b=r;break;case 1:this.q(L,V);break;case 2:o(this);break;default:e(Error("unknown BTYPE: "+t))}}return this.B()};var I,F,S=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],M=g?new Uint16Array(S):S,U=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,258,258],O=g?new Uint16Array(U):U,D=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0],E=g?new Uint8Array(D):D,P=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],R=g?new Uint16Array(P):P,H=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],j=g?new Uint8Array(H):H,N=new(g?Uint8Array:Array)(288);for(I=0,F=N.length;F>I;++I)N[I]=143>=I?8:255>=I?9:279>=I?7:8;var q,_,L=n(N),W=new(g?Uint8Array:Array)(30);for(q=0,_=W.length;_>q;++q)W[q]=5;var V=n(W);p=i.prototype,p.q=function(e,t){var n=this.b,i=this.a;this.C=e;for(var o,s,l,d,c=n.length-258;256!==(o=r(this,e));)if(256>o)i>=c&&(this.a=i,n=this.e(),i=this.a),n[i++]=o;else for(s=o-257,d=O[s],0=c&&(this.a=i,n=this.e(),i=this.a);d--;)n[i]=n[i++-l];for(;8<=this.d;)this.d-=8,this.c--;this.a=i},p.W=function(e,t){var n=this.b,i=this.a;this.C=e;for(var o,s,l,d,c=n.length;256!==(o=r(this,e));)if(256>o)i>=c&&(n=this.e(),c=n.length),n[i++]=o;else for(s=o-257,d=O[s],0c&&(n=this.e(),c=n.length);d--;)n[i]=n[i++-l];for(;8<=this.d;)this.d-=8,this.c--;this.a=i},p.e=function(){var e,t,n=new(g?Uint8Array:Array)(this.a-32768),i=this.a-32768,a=this.b;if(g)n.set(a.subarray(32768,n.length));else for(e=0,t=n.length;t>e;++e)n[e]=a[e+32768];if(this.l.push(n),this.t+=n.length,g)a.set(a.subarray(i,i+32768));else for(e=0;32768>e;++e)a[e]=a[i+e];return this.a=32768,a},p.X=function(e){var t,n,i,a,r=this.input.length/this.c+1|0,o=this.input,s=this.b;return e&&("number"==typeof e.H&&(r=e.H),"number"==typeof e.Q&&(r+=e.Q)),2>r?(n=(o.length-this.c)/this.C[2],a=258*(n/2)|0,i=at;++t)for(e=s[t],i=0,a=e.length;a>i;++i)l[r++]=e[i];for(t=32768,n=this.a;n>t;++t)l[r++]=o[t];return this.l=[],this.buffer=l},p.S=function(){var e,t=this.a;return g?this.L?(e=new Uint8Array(t),e.set(this.b.subarray(0,t))):e=this.b.subarray(0,t):(this.b.length>t&&(this.b.length=t),e=this.b),this.buffer=e},s.prototype.M=function(e){this.j=e},s.prototype.s=function(e){var t=65535&e[2]|2;return t*(1^t)>>8&255},s.prototype.k=function(e,t){e[0]=(x[255&(e[0]^t)]^e[0]>>>8)>>>0,e[1]=(6681*(20173*(e[1]+(255&e[0]))>>>0)>>>0)+1>>>0,e[2]=(x[255&(e[2]^e[1]>>>24)]^e[2]>>>8)>>>0},s.prototype.U=function(e){var t,n,i=[305419896,591751049,878082192];for(g&&(i=new Uint32Array(i)),t=0,n=e.length;n>t;++t)this.k(i,255&e[t]);return i};var $={P:0,N:8},B=[80,75,1,2],G=[80,75,3,4],K=[80,75,5,6];d.prototype.parse=function(){var t=this.input,n=this.offset;(t[n++]!==B[0]||t[n++]!==B[1]||t[n++]!==B[2]||t[n++]!==B[3])&&e(Error("invalid file header signature")),this.version=t[n++],this.ja=t[n++],this.$=t[n++]|t[n++]<<8,this.I=t[n++]|t[n++]<<8,this.A=t[n++]|t[n++]<<8,this.time=t[n++]|t[n++]<<8,this.V=t[n++]|t[n++]<<8,this.p=(t[n++]|t[n++]<<8|t[n++]<<16|t[n++]<<24)>>>0,this.z=(t[n++]|t[n++]<<8|t[n++]<<16|t[n++]<<24)>>>0,this.J=(t[n++]|t[n++]<<8|t[n++]<<16|t[n++]<<24)>>>0,this.h=t[n++]|t[n++]<<8,this.g=t[n++]|t[n++]<<8,this.F=t[n++]|t[n++]<<8,this.fa=t[n++]|t[n++]<<8,this.ha=t[n++]|t[n++]<<8,this.ga=t[n++]|t[n++]<<8|t[n++]<<16|t[n++]<<24,this.aa=(t[n++]|t[n++]<<8|t[n++]<<16|t[n++]<<24)>>>0,this.filename=String.fromCharCode.apply(null,g?t.subarray(n,n+=this.h):t.slice(n,n+=this.h)),this.Y=g?t.subarray(n,n+=this.g):t.slice(n,n+=this.g),this.v=g?t.subarray(n,n+this.F):t.slice(n,n+this.F),this.length=n-this.offset};var Y={O:1,da:8,ea:2048};c.prototype.parse=function(){var t=this.input,n=this.offset;(t[n++]!==G[0]||t[n++]!==G[1]||t[n++]!==G[2]||t[n++]!==G[3])&&e(Error("invalid local file header signature")),this.$=t[n++]|t[n++]<<8,this.I=t[n++]|t[n++]<<8,this.A=t[n++]|t[n++]<<8,this.time=t[n++]|t[n++]<<8,this.V=t[n++]|t[n++]<<8,this.p=(t[n++]|t[n++]<<8|t[n++]<<16|t[n++]<<24)>>>0,this.z=(t[n++]|t[n++]<<8|t[n++]<<16|t[n++]<<24)>>>0,this.J=(t[n++]|t[n++]<<8|t[n++]<<16|t[n++]<<24)>>>0,this.h=t[n++]|t[n++]<<8,this.g=t[n++]|t[n++]<<8,this.filename=String.fromCharCode.apply(null,g?t.subarray(n,n+=this.h):t.slice(n,n+=this.h)),this.Y=g?t.subarray(n,n+=this.g):t.slice(n,n+=this.g),this.length=n-this.offset},p=l.prototype,p.Z=function(){var e,t,n,i=[];for(this.i||u(this),n=this.i,e=0,t=n.length;t>e;++e)i[e]=n[e].filename;return i},p.r=function(t,n){var a;this.G||u(this),a=this.G[t],a===f&&e(Error(t+" not found"));var r;r=n||{};var o,s,l,d,p,m,v,b,y=this.input,w=this.i;if(w||u(this),w[a]===f&&e(Error("wrong index")),s=w[a].aa,o=new c(this.input,s),o.parse(),s+=o.length,l=o.z,0!==(o.I&Y.O)){for(!r.password&&!this.j&&e(Error("please set password")),m=this.T(r.password||this.j),v=s,b=s+12;b>v;++v)h(this,m,y[v]);for(s+=12,l-=12,v=s,b=s+l;b>v;++v)y[v]=h(this,m,y[v])}switch(o.A){case $.P:d=g?this.input.subarray(s,s+l):this.input.slice(s,s+l);break;case $.N:d=new i(this.input,{index:s,bufferSize:o.J}).r();break;default:e(Error("unknown compression type"))}if(this.ca){var k,C=f,T="number"==typeof C?C:C=0,z=d.length;for(k=-1,T=7&z;T--;++C)k=k>>>8^x[255&(k^d[C])];for(T=z>>3;T--;C+=8)k=k>>>8^x[255&(k^d[C])],k=k>>>8^x[255&(k^d[C+1])],k=k>>>8^x[255&(k^d[C+2])],k=k>>>8^x[255&(k^d[C+3])],k=k>>>8^x[255&(k^d[C+4])],k=k>>>8^x[255&(k^d[C+5])],k=k>>>8^x[255&(k^d[C+6])],k=k>>>8^x[255&(k^d[C+7])];p=(4294967295^k)>>>0,o.p!==p&&e(Error("wrong crc: file=0x"+o.p.toString(16)+", data=0x"+p.toString(16)))}return d},p.M=function(e){this.j=e},p.k=s.prototype.k,p.T=s.prototype.U,p.s=s.prototype.s,t("Zlib.Unzip",l),t("Zlib.Unzip.prototype.decompress",l.prototype.r),t("Zlib.Unzip.prototype.getFilenames",l.prototype.Z),t("Zlib.Unzip.prototype.setPassword",l.prototype.M)}).call(this),function(){"use strict";function e(e){throw e}function t(e,t){var n=e.split("."),i=u;!(n[0]in i)&&i.execScript&&i.execScript("var "+n[0]);for(var a;n.length&&(a=n.shift());)n.length||t===c?i=i[a]?i[a]:i[a]={}:i[a]=t}function n(e,t,n){var i,a="number"==typeof t?t:t=0,r="number"==typeof n?n:e.length;for(i=-1,a=7&r;a--;++t)i=i>>>8^v[255&(i^e[t])];for(a=r>>3;a--;t+=8)i=i>>>8^v[255&(i^e[t])],i=i>>>8^v[255&(i^e[t+1])],i=i>>>8^v[255&(i^e[t+2])],i=i>>>8^v[255&(i^e[t+3])],i=i>>>8^v[255&(i^e[t+4])],i=i>>>8^v[255&(i^e[t+5])],i=i>>>8^v[255&(i^e[t+6])],i=i>>>8^v[255&(i^e[t+7])];return(4294967295^i)>>>0}function i(){}function a(e){var t,n,i,a,r,o,s,l,d,c,u=e.length,p=0,f=Number.POSITIVE_INFINITY;for(l=0;u>l;++l)e[l]>p&&(p=e[l]),e[l]=i;){for(l=0;u>l;++l)if(e[l]===i){for(o=0,s=a,d=0;i>d;++d)o=o<<1|1&s,s>>=1;for(c=i<<16|l,d=o;t>d;d+=r)n[d]=c;++a}++i,a<<=1,r<<=1}return[n,p,f]}function r(t,n){switch(this.i=[],this.j=32768,this.d=this.f=this.c=this.n=0,this.input=h?new Uint8Array(t):t,this.o=!1,this.k=x,this.z=!1,!n&&(n={})||(n.index&&(this.c=n.index),n.bufferSize&&(this.j=n.bufferSize),n.bufferType&&(this.k=n.bufferType),n.resize&&(this.z=n.resize)),this.k){case k:this.a=32768,this.b=new(h?Uint8Array:Array)(32768+this.j+258);break;case x:this.a=0,this.b=new(h?Uint8Array:Array)(this.j),this.e=this.F,this.q=this.B,this.l=this.D;break;default:e(Error("invalid inflate mode"))}}function o(t,n){for(var i,a=t.f,r=t.d,o=t.input,s=t.c,l=o.length;n>r;)s>=l&&e(Error("input buffer is broken")),a|=o[s++]<>>n,t.d=r-n,t.c=s,i}function s(e,t){for(var n,i,a=e.f,r=e.d,o=e.input,s=e.c,l=o.length,d=t[0],c=t[1];c>r&&!(s>=l);)a|=o[s++]<>>16,e.f=a>>i,e.d=r-i,e.c=s,65535&n}function l(e){function t(e,t,n){var i,a,r,l=this.w;for(r=0;e>r;)switch(i=s(this,t)){case 16:for(a=3+o(this,2);a--;)n[r++]=l;break;case 17:for(a=3+o(this,3);a--;)n[r++]=0;l=0;break;case 18:for(a=11+o(this,7);a--;)n[r++]=0;l=0;break;default:l=n[r++]=i}return this.w=l,n}var n,i,r,l,d=o(e,5)+257,c=o(e,5)+1,u=o(e,4)+4,p=new(h?Uint8Array:Array)(A.length);for(l=0;u>l;++l)p[A[l]]=o(e,3);if(!h)for(l=u,u=p.length;u>l;++l)p[A[l]]=0;n=a(p),i=new(h?Uint8Array:Array)(d),r=new(h?Uint8Array:Array)(c),e.w=0,e.l(a(t.call(e,d,n,i)),a(t.call(e,c,n,r)))}function d(e){this.input=e,this.c=0,this.m=[],this.s=!1}var c=void 0,u=this,h="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array&&"undefined"!=typeof DataView;new(h?Uint8Array:Array)(256);var p;for(p=0;256>p;++p)for(var f=p,m=7,f=f>>>1;f;f>>>=1)--m;var g=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117],v=h?new Uint32Array(g):g;i.prototype.getName=function(){return this.name},i.prototype.getData=function(){return this.data},i.prototype.H=function(){return this.I},t("Zlib.GunzipMember",i),t("Zlib.GunzipMember.prototype.getName",i.prototype.getName),t("Zlib.GunzipMember.prototype.getData",i.prototype.getData),t("Zlib.GunzipMember.prototype.getMtime",i.prototype.H);var b,y=[];for(b=0;288>b;b++)switch(!0){case 143>=b:y.push([b+48,8]);break;case 255>=b:y.push([b-144+400,9]);break;case 279>=b:y.push([b-256+0,7]);break;case 287>=b:y.push([b-280+192,8]);break;default:e("invalid literal: "+b)}var w=function(){function t(t){switch(!0){case 3===t:return[257,t-3,0];case 4===t:return[258,t-4,0];case 5===t:return[259,t-5,0];case 6===t:return[260,t-6,0];case 7===t:return[261,t-7,0];case 8===t:return[262,t-8,0];case 9===t:return[263,t-9,0];case 10===t:return[264,t-10,0];case 12>=t:return[265,t-11,1];case 14>=t:return[266,t-13,1];case 16>=t:return[267,t-15,1];case 18>=t:return[268,t-17,1];case 22>=t:return[269,t-19,2];case 26>=t:return[270,t-23,2];case 30>=t:return[271,t-27,2];case 34>=t:return[272,t-31,2];case 42>=t:return[273,t-35,3];case 50>=t:return[274,t-43,3];case 58>=t:return[275,t-51,3];case 66>=t:return[276,t-59,3];case 82>=t:return[277,t-67,4];case 98>=t:return[278,t-83,4];case 114>=t:return[279,t-99,4];case 130>=t:return[280,t-115,4];case 162>=t:return[281,t-131,5];case 194>=t:return[282,t-163,5];case 226>=t:return[283,t-195,5];case 257>=t:return[284,t-227,5];case 258===t:return[285,t-258,0];default:e("invalid length: "+t)}}var n,i,a=[];for(n=3;258>=n;n++)i=t(n),a[n]=i[2]<<24|i[1]<<16|i[0];return a}();h&&new Uint32Array(w);var k=0,x=1;r.prototype.g=function(){for(;!this.o;){var t=o(this,3);switch(1&t&&(this.o=!0),t>>>=1){case 0:var n=this.input,i=this.c,a=this.b,r=this.a,s=n.length,d=c,u=c,p=a.length,f=c;switch(this.d=this.f=0,i+1>=s&&e(Error("invalid uncompressed block header: LEN")),d=n[i++]|n[i++]<<8,i+1>=s&&e(Error("invalid uncompressed block header: NLEN")),u=n[i++]|n[i++]<<8,d===~u&&e(Error("invalid uncompressed block header: length verify")),i+d>n.length&&e(Error("input buffer is broken")),this.k){case k:for(;r+d>a.length;){if(f=p-r,d-=f,h)a.set(n.subarray(i,i+f),r),r+=f,i+=f;else for(;f--;)a[r++]=n[i++];this.a=r,a=this.e(),r=this.a}break;case x:for(;r+d>a.length;)a=this.e({t:2});break;default:e(Error("invalid inflate mode"))}if(h)a.set(n.subarray(i,i+d),r),r+=d,i+=d;else for(;d--;)a[r++]=n[i++];this.c=i,this.a=r,this.b=a;break;case 1:this.l(j,q);break;case 2:l(this);break;default:e(Error("unknown BTYPE: "+t))}}return this.q()};var C,T,z=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],A=h?new Uint16Array(z):z,I=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,258,258],F=h?new Uint16Array(I):I,S=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0],M=h?new Uint8Array(S):S,U=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],O=h?new Uint16Array(U):U,D=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],E=h?new Uint8Array(D):D,P=new(h?Uint8Array:Array)(288);for(C=0,T=P.length;T>C;++C)P[C]=143>=C?8:255>=C?9:279>=C?7:8;var R,H,j=a(P),N=new(h?Uint8Array:Array)(30);for(R=0,H=N.length;H>R;++R)N[R]=5;var q=a(N);r.prototype.l=function(e,t){var n=this.b,i=this.a;this.r=e;for(var a,r,l,d,c=n.length-258;256!==(a=s(this,e));)if(256>a)i>=c&&(this.a=i,n=this.e(),i=this.a),n[i++]=a;else for(r=a-257,d=F[r],0=c&&(this.a=i,n=this.e(),i=this.a);d--;)n[i]=n[i++-l];for(;8<=this.d;)this.d-=8,this.c--;this.a=i},r.prototype.D=function(e,t){var n=this.b,i=this.a;this.r=e;for(var a,r,l,d,c=n.length;256!==(a=s(this,e));)if(256>a)i>=c&&(n=this.e(),c=n.length),n[i++]=a;else for(r=a-257,d=F[r],0c&&(n=this.e(),c=n.length);d--;)n[i]=n[i++-l];for(;8<=this.d;)this.d-=8,this.c--;this.a=i},r.prototype.e=function(){var e,t,n=new(h?Uint8Array:Array)(this.a-32768),i=this.a-32768,a=this.b;if(h)n.set(a.subarray(32768,n.length));else for(e=0,t=n.length;t>e;++e)n[e]=a[e+32768];if(this.i.push(n),this.n+=n.length,h)a.set(a.subarray(i,i+32768));else for(e=0;32768>e;++e)a[e]=a[i+e];return this.a=32768,a},r.prototype.F=function(e){var t,n,i,a,r=this.input.length/this.c+1|0,o=this.input,s=this.b;return e&&("number"==typeof e.t&&(r=e.t),"number"==typeof e.A&&(r+=e.A)),2>r?(n=(o.length-this.c)/this.r[2],a=258*(n/2)|0,i=at;++t)for(e=s[t],i=0,a=e.length;a>i;++i)l[r++]=e[i];for(t=32768,n=this.a;n>t;++t)l[r++]=o[t];return this.i=[],this.buffer=l},r.prototype.B=function(){var e,t=this.a;return h?this.z?(e=new Uint8Array(t),e.set(this.b.subarray(0,t))):e=this.b.subarray(0,t):(this.b.length>t&&(this.b.length=t),e=this.b),this.buffer=e},d.prototype.G=function(){return this.s||this.g(),this.m.slice()},d.prototype.g=function(){for(var t=this.input.length;this.c>>0,n(l,c,c)!==g&&e(Error("invalid CRC-32 checksum: 0x"+n(l,c,c).toString(16)+" / 0x"+g.toString(16))),a.M=o=(v[b++]|v[b++]<<8|v[b++]<<16|v[b++]<<24)>>>0,(4294967295&l.length)!==o&&e(Error("invalid input size: "+(4294967295&l.length)+" / "+o)),this.m.push(a),this.c=b}this.s=!0;var y,w,k,x=this.m,C=0,T=0;for(y=0,w=x.length;w>y;++y)T+=x[y].data.length;if(h)for(k=new Uint8Array(T),y=0;w>y;++y)k.set(x[y].data,C),C+=x[y].data.length;else{for(k=[],y=0;w>y;++y)k[y]=x[y].data;k=Array.prototype.concat.apply([],k)}return k},t("Zlib.Gunzip",d),t("Zlib.Gunzip.prototype.decompress",d.prototype.g),t("Zlib.Gunzip.prototype.getMembers",d.prototype.G)}.call(this)}).bind(elFinder)()}catch(t){}(elFinder.prototype.commands.reload=function(){var t=this,n=!1;this.alwaysEnabled=!0,this.updateOnSelect=!0,this.shortcuts=[{pattern:"ctrl+shift+r f5"}],this.getstate=function(){return 0},this.init=function(){this.fm.bind("search searchend",function(e){n="search"==e.type})},this.fm.bind("contextmenu",function(n){var i=t.fm;i.options.sync>=1e3&&(t.extra={icon:"accept",node:e(" ").attr({title:i.i18n("autoSync")}).on("click touchstart",function(t){"touchstart"===t.type&&t.originalEvent.touches.length>1||(t.stopPropagation(),t.preventDefault(),e(this).parent().toggleClass("ui-state-disabled",i.options.syncStart).parent().removeClass("ui-state-hover"),i.options.syncStart=!i.options.syncStart,i.autoSync(i.options.syncStart?null:"stop"))}).on("ready",function(){e(this).parent().toggleClass("ui-state-disabled",!i.options.syncStart).css("pointer-events","auto")})})}),this.exec=function(){var t=this.fm;if(!n){var i=t.sync(),a=setTimeout(function(){t.notify({type:"reload",cnt:1,hideCnt:!0}),i.always(function(){t.notify({type:"reload",cnt:-1})})},t.notifyDelay);return i.always(function(){clearTimeout(a),t.trigger("reload")})}e("div.elfinder-toolbar > div."+t.res("class","searchbtn")+" > span.ui-icon-search").click()}}).prototype={forceLoad:!0},elFinder.prototype.commands.rename=function(){this.shortcuts=[{pattern:"f2"+("mac"==this.fm.OS?" enter":"")}],this.getstate=function(e){var e=this.files(e);return this._disabled||1!=e.length||!e[0].phash||e[0].locked?-1:0},this.exec=function(t,n){var i,a=this.fm,r=a.getUI("cwd"),o=t||(a.selected().length?a.selected():!1)||[a.cwd().hash],s=o.length,l=a.file(o.shift()),d=".elfinder-cwd-filename",n=n||{},c=a.cwd().hash==l.hash,u=n._currentType?n._currentType:c?"navbar":"files",h="navbar"===u,p=e("#"+a[h?"navHash2Id":"cwdHash2Id"](l.hash)),f="files"===u&&"list"!=a.storage("view"),m=function(){x.is(":hidden")||x.addClass("ui-front").elfinderoverlay("hide").off("click",C),k.removeClass("ui-front").css("position",""),f?w.css("max-height",""):h||k.css("width","").parent("td").css("overflow","")},g=e.Deferred().done(function(e){c&&a.exec("open",e.added[0].hash)}).fail(function(e){var t=b.parent(),n=a.escape(l.i18||l.name);f&&(n=n.replace(/([_.])/g,"$1")),h?b.replaceWith(n):t.length?(b.remove(),t.html(n)):(p.find(d).html(n),setTimeout(function(){r.find("#"+a.cwdHash2Id(l.hash)).click()},50)),e&&a.error(e)}).always(function(){m(),a.unbind("resize",T),a.enable()}),v=function(){var t=e.trim(b.val()),n=(b.parent(),!0);if(!z&&k.length){if(b.off("blur"),b[0].setSelectionRange&&b[0].setSelectionRange(0,0),t==l.name)return g.reject();if(a.options.validName&&a.options.validName.test)try{n=a.options.validName.test(t)}catch(i){n=!1}if(!t||".."===t||!n)return z=!0,a.error("errInvName",{modal:!0,close:y}),!1;if(a.fileByName(t,l.phash))return z=!0,a.error(["errExists",t],{modal:!0,close:y}),!1;m(),(h?b:w).html(a.escape(t)),a.lockfiles({files:[l.hash]}),a.request({data:{cmd:"rename",target:l.hash,name:t},notify:{type:"rename",cnt:1}}).fail(function(t){g.reject(),t&&e.isArray(t)&&"errRename"===t[0]||a.sync()}).done(function(e){if(g.resolve(e),!h&&e&&e.added&&e.added[0]){var t=a.findCwdNodes(e.added);t.length&&t.trigger("scrolltoview")}}).always(function(){a.unlockfiles({files:[l.hash]})})}},b=e(f?"":' ').on("keyup text",function(){f?(this.style.height="1px",this.style.height=this.scrollHeight+"px"):i&&(this.style.width=i+"px",this.scrollWidth>i&&(this.style.width=this.scrollWidth+10+"px"))}).on("keydown",function(t){t.stopImmediatePropagation(),t.keyCode==e.ui.keyCode.ESCAPE?g.reject():t.keyCode==e.ui.keyCode.ENTER&&(t.preventDefault(),b.blur())}).on("mousedown click dblclick",function(e){e.stopPropagation(),"dblclick"===e.type&&e.preventDefault()}).on("blur",v),y=function(){var e=b.val().replace(/\.((tar\.(gz|bz|bz2|z|lzo))|cpio\.gz|ps\.gz|xcf\.(gz|bz2)|[a-z0-9]{1,4})$/gi,"");z&&(z=!1,b.on("blur",v)),a.UA.Mobile&&x.on("click",C).removeClass("ui-front").elfinderoverlay("show"),b.select().focus(),b[0].setSelectionRange&&b[0].setSelectionRange(0,e.length)},w=h?p.contents().filter(function(){return 3==this.nodeType&&e(this).parent().attr("id")===a.navHash2Id(l.hash)}):p.find(d),k=w.parent(),x=a.getUI("overlay"),C=function(e){z||(e.stopPropagation(),g.reject())},T=function(){p.trigger("scrolltoview")},z=!1;return k.addClass("ui-front").css("position","relative"),a.bind("resize",T),h?w.replaceWith(b.val(l.name)):(f?w.css("max-height","none"):h||(i=k.width(),k.width(i-15).parent("td").css("overflow","visible")),w.empty().append(b.val(l.name))),s>1?g.reject():l&&w.length?l.locked?g.reject(["errLocked",l.name]):(a.one("select",function(){b.parent().length&&l&&-1===e.inArray(l.hash,a.selected())&&b.blur()}),b.trigger("keyup"),y(),g):g.reject("errCmdParams",this.title)}},elFinder.prototype.commands.resize=function(){this.updateOnSelect=!1,this.getstate=function(){var e=this.fm.selectedFiles();return!this._disabled&&1==e.length&&e[0].read&&e[0].write&&-1!==e[0].mime.indexOf("image/")?0:-1},this.resizeRequest=function(t,n,i){var a=this.fm,n=n||a.file(t.target),r=n?a.openUrl(n.hash):null,o=n?n.tmb:null,s=a.isCommandEnabled("resize",t.target);if(s&&(!n||n&&n.read&&n.write&&-1!==n.mime.indexOf("image/")))return a.request({data:e.extend(t,{cmd:"resize"}),notify:{type:"resize",cnt:1},prepare:function(e){var t;return e&&(e.added&&e.added.length&&e.added[0].tmb?t=e.added[0]:e.changed&&e.changed.length&&e.changed[0].tmb&&(t=e.changed[0]),t&&(n=t,r=a.openUrl(n.hash),n.tmb&&"1"!=n.tmb&&n.tmb===o))?void(n.tmb=""):void(o="")}}).fail(function(e){i&&i.reject(e)}).done(function(){var e="1"!=n.url?a.url(n.hash):"";o&&a.one("resizedone",function(){a.reloadContents(a.tmb(n).url).done(function(){a.trigger("tmbreload",{files:[{hash:n.hash,tmb:o}]})})}),a.reloadContents(r),e&&e!==r&&a.reloadContents(e),i&&i.resolve()});var l;return l=n?-1===n.mime.indexOf("image/")?["errResize",n.name,"errUsupportType"]:["errResize",n.name,"errPerm"]:["errResize",t.target,"errPerm"],i?i.reject(l):a.error(l),e.Deferred().reject(l)},this.exec=function(t){var n,i,a=this,r=this.fm,o=this.files(t),s=e.Deferred(),l=r.api>1,d=650,c=r.getUI(),u=e().controlgroup?"controlgroup":"buttonset",h=function(t,n){var i,o,h,p,f="image/jpeg"===t.mime,m=e('
'),g=' ',v='
',b='
',y=e('
').on("focus","input[type=text]",function(){e(this).select()}),w=e('
').on("touchmove",function(e){e.stopPropagation(),e.preventDefault()}),k=e(''+r.i18n("ntfloadimg")+"
"),x=e('
'),C=e('
'),T=e('
'),z=e('
'),A=e('
'),I=e(" ").attr("title",r.i18n("rotate-cw")).append(e(' ')),F=e(" ").attr("title",r.i18n("rotate-ccw")).append(e(' ')),S=e(" "),M=e('').text(r.i18n("reset")).on("click",function(){xe()}).button({icons:{primary:"ui-icon-arrowrefresh-1-n"},text:!1}),U=e('
').append(''+r.i18n("resize")+" ",''+r.i18n("crop")+" ",''+r.i18n("rotate")+" "),O="resize",D=(U[u]()[u]("disable").find("input").change(function(){O=e(this).val(),xe(),Ae(!0),Ie(!0),Fe(!0),"resize"==O?(T.show(),A.hide(),z.hide(),Ae(),f&&ue.insertAfter(T.find(".elfinder-resize-grid8"))):"crop"==O?(A.hide(),T.hide(),z.show(),Ie(),f&&ue.insertAfter(z.find(".elfinder-resize-grid8"))):"rotate"==O&&(T.hide(),z.hide(),A.show(),Fe())}),e(g).change(function(){var e=parseInt(D.val()),t=parseInt(te?Math.round(e/X):E.val());e>0&&t>0&&(Ce.updateView(e,t),E.val(t))})),E=e(g).change(function(){var e=parseInt(E.val()),t=parseInt(te?Math.round(e*X):D.val());t>0&&e>0&&(Ce.updateView(t,e),D.val(t))}),P=e(g).change(function(){Te.updateView()}),R=e(g).change(function(){Te.updateView()}),H=e(g).change(function(){Te.updateView("w")}),j=e(g).change(function(){Te.updateView("h")}),N=f&&l?e(g).val(r.option("jpgQuality")).addClass("quality").on("blur",function(){var e=Math.min(100,Math.max(1,parseInt(this.value)));m.find("input.quality").val(e)}):null,q=e(' ').change(function(){ze.update()}),_=e('
').slider({min:0,max:360,value:q.val(),animate:!0,change:function(e,t){t.value!=_.slider("value")&&ze.update(t.value)},slide:function(e,t){ze.update(t.value,!1)}}).find(".ui-slider-handle").addClass("elfinder-tabstop").off("keydown").on("keydown",function(t){t.keyCode!=e.ui.keyCode.LEFT&&t.keyCode!=e.ui.keyCode.RIGHT||(t.stopPropagation(),t.preventDefault(),ze.update(Number(q.val())+(t.keyCode==e.ui.keyCode.RIGHT?1:-1),!1))}).end(),L={},W=function(e){var t,n,i,a,r,o,s;try{t=L[Math.round(e.offsetX)][Math.round(e.offsetY)]}catch(e){}t&&(n=t[0],i=t[1],a=t[2],r=t[3],o=t[4],s=t[5],$(n,i,a,"click"===e.type))},V=function(t){$(e(this).css("backgroundColor"),"","","click"===t.type)},$=function(t,n,i,a){var r,o,s;"string"==typeof t&&(n="",t&&(r=e("").css("backgroundColor",t).css("backgroundColor"))&&(o=r.match(/rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i))&&(t=Number(o[1]),n=Number(o[2]),i=Number(o[3]))),s=""===n?t:"#"+B(t,n,i),Y.val(s).css({backgroundColor:s,backgroundImage:"none",color:384>t+n+i?"#fff":"#000"}),w.css("backgroundColor",s),a&&(we.off(".picker").removeClass("elfinder-resize-picking"),J.off(".picker").removeClass("elfinder-resize-picking"))},B=function(t,n,i){return e.map([t,n,i],function(e){return("0"+parseInt(e).toString(16)).slice(-2)}).join("")},G=e("").text(r.i18n("colorPicker")).on("click",function(){we.on("mousemove.picker click.picker",W).addClass("elfinder-resize-picking"),J.on("mousemove.picker click.picker","span",V).addClass("elfinder-resize-picking")}).button({icons:{primary:"ui-icon-pin-s"},text:!1}),K=e("").text(r.i18n("reset")).on("click",function(){$("","","",!0)}).button({icons:{primary:"ui-icon-arrowrefresh-1-n"},text:!1}),Y=e(' ').on("focus",function(){e(this).attr("style","")}).on("blur",function(){$(e(this).val())}),J=e('').on("click","span",function(){$(e(this).css("backgroundColor"))}),X=1,Z=1,Q=0,ee=0,te=!0,ne=!1,ie=0,ae=0,re=0,oe=0,se=0,le=!0,de=e("
").html(r.i18n("aspectRatio")).on("click",function(){te=!te,de.button("option",{icons:{primary:te?"ui-icon-locked":"ui-icon-unlocked"}}),Ce.fixHeight(),x.resizable("option","aspectRatio",te).data("uiResizable")._aspectRatio=te}).button({icons:{primary:te?"ui-icon-locked":"ui-icon-unlocked"},text:!1}),ce=e("").html(r.i18n("aspectRatio")).on("click",function(){ne=!ne,ce.button("option",{icons:{primary:ne?"ui-icon-locked":"ui-icon-unlocked"}}),C.resizable("option","aspectRatio",ne).data("uiResizable")._aspectRatio=ne}).button({icons:{primary:ne?"ui-icon-locked":"ui-icon-unlocked"},text:!1}),ue=e("").html(r.i18n(le?"enabled":"disabled")).toggleClass("ui-state-active",le).on("click",function(){le=!le,ue.html(r.i18n(le?"enabled":"disabled")).toggleClass("ui-state-active",le),le&&(D.val(ke(D.val())),E.val(ke(E.val())),H.val(ke(H.val())),j.val(ke(j.val())),P.val(ke(P.val())),R.val(ke(R.val())),T.is(":visible")?Ce.updateView(D.val(),E.val()):z.is(":visible")&&Te.updateView())}).button(),he=function(){var e;e=Math.min(ie,ae)/Math.sqrt(Math.pow(Q,2)+Math.pow(ee,2)),re=Math.ceil(Q*e),oe=Math.ceil(ee*e),we.width(re).height(oe).css("margin-top",(ae-oe)/2+"px").css("margin-left",(ie-re)/2+"px"),we.is(":visible")&&Y.is(":visible")&&("image/png"!==t.mime?(w.css("backgroundColor",Y.val()),setTimeout(function(){i&&i.width!==re&&fe()},0)):(Y.parent().hide(),J.hide()))},pe=function(){Ce.updateView(Q,ee),he(),ve.width(ge.width()).height(ge.height()),be.width(ge.width()).height(ge.height()),Te.updateView()},fe=function(){if(o){var t,n,a,r,s,l,d,c,u,h,p,f,m,g,v,b,y,w,k,x={},C=[],T=function(e,t,n){var i,a,r,o=Math.max(Math.max(e,t),n),s=Math.min(Math.min(e,t),n);
+return o===s?i=0:e===o?i=((t-n)/(o-s)*60+360)%360:t===o?i=(n-e)/(o-s)*60+120:n===o&&(i=(e-t)/(o-s)*60+240),a=(o-s)/o,r=(.3*e+.59*t+.11*n)/255,[i,a,r,"hsl"]};e:try{n=i.width=we.width(),a=i.height=we.height(),m=n/Q,o.scale(m,m),o.drawImage(we.get(0),0,0),f=o.getImageData(0,0,n,a).data,g=.1*n,v=.9*n,b=.1*a,y=.9*a;for(var z=0;a-1>z;z++)for(var A=0;n-1>A;A++){if(t=4*A+z*n*4,r=f[t],s=f[t+1],l=f[t+2],d=f[t+3],255!==d){Y.parent().hide(),J.hide();break e}h=T(r,s,l),p=Math.round(h[0]),c=Math.round(100*h[1]),u=Math.round(100*h[2]),L[A]||(L[A]={}),L[A][z]=[r,s,l,p,c,u],(g>A||A>v)&&(b>z||z>y)&&(w=r+","+s+","+l,x[w]?++x[w]:x[w]=1)}J.children(":first").length||(k=1,e.each(x,function(e,t){C.push({c:e,v:t})}),e.each(C.sort(function(e,t){return e.v>t.v?-1:1}),function(){return this.v<2||k>10?!1:(J.append(e('')),void++k)}))}catch(I){G.hide(),J.hide()}}},me=function(){try{i=document.createElement("canvas"),o=i.getContext("2d")}catch(e){G.hide(),J.hide()}},ge=e(" ").on("load",function(){Q=ge.get(0).width||ge.width(),ee=ge.get(0).height||ge.height(),h.show();var t,n=ee/Q;1>n&&w.height()>w.width()*n&&w.height(w.width()*n),w.height()>ge.height()+20&&w.height(ge.height()+20),ae=w.height()-(x.outerHeight()-x.height()),k.remove(),X=Q/ee,x.append(ge.show()).show(),D.val(Q),E.val(ee),me(),pe(),U[u]("enable"),t=y.find("input,select").prop("disabled",!1).filter(":text").on("keydown",function(t){return t.keyCode==e.ui.keyCode.ENTER?(t.stopPropagation(),t.preventDefault(),void r.confirm({title:e("input:checked",U).val(),text:"confirmReq",accept:{label:"btnApply",callback:function(){Se()}},cancel:{label:"btnCancel",callback:function(){e(this).focus()}}})):void 0}).on("keyup",function(){var t=e(this);t.hasClass("elfinder-resize-bg")||setTimeout(function(){t.val(t.val().replace(/[^0-9]/g,""))},10)}).filter(":first"),!r.UA.Mobile&&t.focus(),Ae()}).on("error",function(){k.text("Unable to load image").css("background","transparent")}),ve=e("
"),be=e(" "),ye=e("
"),we=e(' '),ke=function(e,t){return e=le?8*Math.round(e/8):Math.round(e),e=Math.max(0,e),t&&e>t&&(e=le?e-8:t),e},xe=function(){D.val(Q),E.val(ee),Ce.updateView(Q,ee),P.val(0),R.val(0),H.val(Q),j.val(ee),Te.updateView()},Ce={update:function(){D.val(ke(ge.width()/Z)),E.val(ke(ge.height()/Z))},updateView:function(e,t){e>ie||t>ae?e/ie>t/ae?(Z=ie/e,ge.width(ie).height(Math.ceil(t*Z))):(Z=ae/t,ge.height(ae).width(Math.ceil(e*Z))):ge.width(e).height(t),Z=ge.width()/e,S.text("1 : "+(1/Z).toFixed(2)),Ce.updateHandle()},updateHandle:function(){x.width(ge.width()).height(ge.height())},fixHeight:function(){var e,t;te&&(e=D.val(),t=ke(e/X),Ce.updateView(e,t),E.val(t))}},Te={update:function(){P.val(ke((C.data("x")||C.position().left)/Z,Q)),R.val(ke((C.data("y")||C.position().top)/Z,ee)),H.val(ke((C.data("w")||C.width())/Z,Q-P.val())),j.val(ke((C.data("h")||C.height())/Z,ee-R.val()))},updateView:function(e){if(ne){var t=ye.width()/ye.height();"w"===e?j.val(Math.round(parseInt(H.val())/t)):"h"===e&&H.val(Math.round(parseInt(j.val())*t))}var n=Math.round(parseInt(P.val())*Z),i=Math.round(parseInt(R.val())*Z),a=Math.round(parseInt(H.val())*Z),r=Math.round(parseInt(j.val())*Z);C.data({x:n,y:i,w:a,h:r}).width(a).height(r).css({left:n,top:i}),ye.width(a).height(r)},resize_update:function(e,t){C.data({x:t.position.left,y:t.position.top,w:t.size.width,h:t.size.height}),Te.update(),Te.updateView()},drag_update:function(e,t){C.data({x:t.position.left,y:t.position.top}),Te.update()}},ze={mouseStartAngle:0,imageStartAngle:0,imageBeingRotated:!1,update:function(e,t){"undefined"==typeof e&&(se=e=parseInt(q.val())),"undefined"==typeof t&&(t=!0),!t||r.UA.Opera||r.UA.ltIE8?we.rotate(e):we.animate({rotate:e+"deg"}),e%=360,0>e&&(e+=360),q.val(parseInt(e)),_.slider("value",q.val())},execute:function(e){if(ze.imageBeingRotated){var t=ze.getCenter(we),n=e.pageX-t[0],i=e.pageY-t[1],a=Math.atan2(i,n),r=a-ze.mouseStartAngle+ze.imageStartAngle;return r=Math.round(180*parseFloat(r)/Math.PI),e.shiftKey&&(r=15*Math.round((r+6)/15)),we.rotate(r),r%=360,0>r&&(r+=360),q.val(r),_.slider("value",q.val()),!1}},start:function(t){ze.imageBeingRotated=!0;var n=ze.getCenter(we),i=t.pageX-n[0],a=t.pageY-n[1];return ze.mouseStartAngle=Math.atan2(a,i),ze.imageStartAngle=parseFloat(we.rotate())*Math.PI/180,e(document).mousemove(ze.execute),!1},stop:function(t){return ze.imageBeingRotated?(e(document).unbind("mousemove",ze.execute),setTimeout(function(){ze.imageBeingRotated=!1},10),!1):void 0},getCenter:function(e){var t=we.rotate();we.rotate(0);var n=we.offset(),i=n.left+we.width()/2,a=n.top+we.height()/2;return we.rotate(t),Array(i,a)}},Ae=function(t){e.fn.resizable&&(t?(x.filter(":ui-resizable").resizable("destroy"),x.hide()):(x.show(),x.resizable({alsoResize:ge,aspectRatio:te,resize:Ce.update,stop:Ce.fixHeight}),Pe()))},Ie=function(t){e.fn.draggable&&e.fn.resizable&&(t?(C.filter(":ui-resizable").resizable("destroy").filter(":ui-draggable").draggable("destroy"),ve.hide()):(ve.show(),C.resizable({containment:ve,aspectRatio:ne,resize:Te.resize_update,handles:"all"}).draggable({handle:ye,containment:be,drag:Te.drag_update,stop:Te.updateView}),Pe(),Te.update()))},Fe=function(t){e.fn.draggable&&e.fn.resizable&&(t?we.hide():(we.show(),Pe()))},Se=function(){var e,n,i,o,l,d,c="";if("resize"==O)e=parseInt(D.val())||0,n=parseInt(E.val())||0;else if("crop"==O)e=parseInt(H.val())||0,n=parseInt(j.val())||0,i=parseInt(P.val())||0,o=parseInt(R.val())||0;else if("rotate"==O){if(e=Q,n=ee,l=parseInt(q.val())||0,0>l||l>360)return r.error("Invalid rotate degree");if(0==l||360==l)return r.error("errResizeNoChange");c=Y.val()}if(d=N?parseInt(N.val()):0,"rotate"!=O){if(0>=e||0>=n)return r.error("Invalid image size");if(e==Q&&n==ee)return r.error("errResizeNoChange")}m.elfinderdialog("close"),a.resizeRequest({target:t.hash,width:e,height:n,x:i,y:o,degree:l,quality:d,bg:c,mode:O},t,s)},Me={},Ue="elfinder-resize-handle-hline",Oe="elfinder-resize-handle-vline",De="elfinder-resize-handle-point",Ee=r.openUrl(t.hash,!!r.isCORS),Pe=function(){if(!p.hasClass("elfinder-dialog-minimized")){var t,n=e(window).height(),i=e(window).width(),a=m.find("div.elfinder-resize-control").width(),r=w.width();p.width();p.width(Math.min(d,i-30)),w.attr("style",""),Q&&ee&&(ie=w.width()-(x.outerWidth()-x.width()),ae=w.height()-(x.outerHeight()-x.height()),Ce.updateView(Q,ee)),r=w.width(),t=m.width()-20,r>t?w.width(t):a>t-r&&(i>n?w.width(t-a-20):w.css({"float":"none",marginLeft:"auto",marginRight:"auto"})),ie=w.width()-(x.outerWidth()-x.width()),c.hasClass("elfinder-fullscreen")?p.height()>n&&(n-=2,w.height(n-p.height()+w.height()),p.css("top",0-c.offset().top)):(n-=30,w.height()>n&&w.height(n)),ae=w.height()-(x.outerHeight()-x.height()),Q&&ee&&pe(),ge.height()&&w.height()>ge.height()+20&&(w.height(ge.height()+20),ae=w.height()-(x.outerHeight()-x.height()),he())}};r.isCORS&&(ge.attr("crossorigin","use-credentials"),be.attr("crossorigin","use-credentials"),we.attr("crossorigin","use-credentials")),we.mousedown(ze.start),e(document).mouseup(ze.stop),T.append(e(v).append(e(b).text(r.i18n("width")),D),e(v).append(e(b).text(r.i18n("height")),E,e('').append(de,M)),N?e(v).append(e(b).text(r.i18n("quality")),N,e("
").text(" (1-100)")):e(),f?e(v).append(e(b).text(r.i18n("8pxgrid")).addClass("elfinder-resize-grid8"),ue):e(),e(v).append(e(b).text(r.i18n("scale")),S)),l&&(z.append(e(v).append(e(b).text("X"),P),e(v).append(e(b).text("Y")).append(R),e(v).append(e(b).text(r.i18n("width")),H),e(v).append(e(b).text(r.i18n("height")),j,e('
').append(ce,M.clone(!0))),N?e(v).append(e(b).text(r.i18n("quality")),N.clone(!0),e("
").text(" (1-100)")):e(),f?e(v).append(e(b).text(r.i18n("8pxgrid")).addClass("elfinder-resize-grid8")):e()),A.append(e(v).addClass("elfinder-resize-degree").append(e(b).text(r.i18n("rotate")),q,e("
").text(r.i18n("degree")),e("
").append(I,F)[u]()),e(v).css("height","20px").append(_),N?e(v).addClass("elfinder-resize-quality").append(e(b).text(r.i18n("quality")),N.clone(!0),e("
").text(" (1-100)")):e(),e(v).append(e(b).text(r.i18n("bgcolor")),Y,G,K),e(v).css("height","20px").append(J)),I.on("click",function(){se-=90,ze.update(se)}),F.on("click",function(){se+=90,ze.update(se)})),m.append(U).on("resize",function(e){e.stopPropagation()}),l?y.append(e(v),T,z.hide(),A.hide()):y.append(e(v),T),x.append('
','
','
','
','
','
','
'),w.append(k).append(x.hide()).append(ge.hide()),l&&(C.css("position","absolute").append('
','
','
','
','
','
','
','
','
','
','
','
'),w.append(ve.css("position","absolute").hide().append(be,C.append(ye))),w.append(we.hide())),w.css("overflow","hidden"),m.append(w,y),Me[r.i18n("btnApply")]=Se,Me[r.i18n("btnCancel")]=function(){m.elfinderdialog("close")},m.find("input,button").addClass("elfinder-tabstop"),p=r.dialog(m,{title:r.escape(t.name),width:d,resizable:!1,buttons:Me,open:function(){h=p.find(".ui-dialog-titlebar .elfinder-titlebar-minimize").hide(),r.bind("resize",Pe),ge.attr("src",Ee+(-1===Ee.indexOf("?")?"?":"&")+"_="+Math.random()),be.attr("src",ge.attr("src")),we.attr("src",ge.attr("src"))},close:function(){r.unbind("resize",Pe),e(this).elfinderdialog("destroy")},resize:function(e,t){t&&t.minimize===!1&&Pe()}}).attr("id",n).parent(),r.UA.ltIE8&&e(".elfinder-dialog").css("filter",""),ye.css({opacity:.2,"background-color":"#fff",position:"absolute"}),C.css("cursor","move"),C.find(".elfinder-resize-handle-point").css({"background-color":"#fff",opacity:.5,"border-color":"#000"}),l||U.find(".api2").remove(),y.find("input,select").prop("disabled",!0)};return o.length&&-1!==o[0].mime.indexOf("image/")?(n="resize-"+r.namespace+"-"+o[0].hash,i=r.getUI().find("#"+n),i.length?(i.elfinderdialog("toTop"),s.resolve()):(h(o[0],n),s)):s.reject()}},function(e){var t=function(e,t){var n=0;for(n in t)if("undefined"!=typeof e[t[n]])return t[n];return e[t[n]]="",t[n]};if(e.cssHooks.rotate={get:function(t,n,i){return e(t).rotate()},set:function(t,n){return e(t).rotate(n),n}},e.cssHooks.transform={get:function(e,n,i){var a=t(e.style,["WebkitTransform","MozTransform","OTransform","msTransform","transform"]);return e.style[a]},set:function(e,n){var i=t(e.style,["WebkitTransform","MozTransform","OTransform","msTransform","transform"]);return e.style[i]=n,n}},e.fn.rotate=function(e){if("undefined"==typeof e){if(window.opera){var t=this.css("transform").match(/rotate\((.*?)\)/);return t&&t[1]?Math.round(180*parseFloat(t[1])/Math.PI):0}var t=this.css("transform").match(/rotate\((.*?)\)/);return t&&t[1]?parseInt(t[1]):0}return this.css("transform",this.css("transform").replace(/none|rotate\(.*?\)/,"")+"rotate("+parseInt(e)+"deg)"),this},e.fx.step.rotate=function(t){0==t.state&&(t.start=e(t.elem).rotate(),t.now=t.start),e(t.elem).rotate(t.now)},"undefined"==typeof window.addEventListener&&"undefined"==typeof document.getElementsByClassName){var n=function(e){for(var t=e,n=t.offsetLeft,i=t.offsetTop;t.offsetParent&&(t=t.offsetParent,t==document.body||"static"==t.currentStyle.position);)t!=document.body&&t!=document.documentElement&&(n-=t.scrollLeft,i-=t.scrollTop),n+=t.offsetLeft,i+=t.offsetTop;return{x:n,y:i}},i=function(e){if("static"==e.currentStyle.position){var t=n(e);e.style.position="absolute",e.style.left=t.x+"px",e.style.top=t.y+"px"}},a=function(e,t){var n,a=1,r=1,o=1,s=1;if("undefined"!=typeof e.style.msTransform)return!0;i(e),n=t.match(/rotate\((.*?)\)/);var l=n&&n[1]?parseInt(n[1]):0;l%=360,0>l&&(l=360+l);var d=l*Math.PI/180,c=Math.cos(d),u=Math.sin(d);a*=c,r*=-u,o*=u,s*=c,e.style.filter=(e.style.filter||"").replace(/progid:DXImageTransform\.Microsoft\.Matrix\([^)]*\)/,"")+("progid:DXImageTransform.Microsoft.Matrix(M11="+a+",M12="+r+",M21="+o+",M22="+s+",FilterType='bilinear',sizingMethod='auto expand')");var h=parseInt(e.style.width||e.width||0),p=parseInt(e.style.height||e.height||0),d=l*Math.PI/180,f=Math.abs(Math.cos(d)),m=Math.abs(Math.sin(d)),g=(h-(h*f+p*m))/2,v=(p-(h*m+p*f))/2;return e.style.marginLeft=Math.floor(g)+"px",e.style.marginTop=Math.floor(v)+"px",!0},r=e.cssHooks.transform.set;e.cssHooks.transform.set=function(e,t){return r.apply(this,[e,t]),a(e,t),t}}}(jQuery),elFinder.prototype.commands.rm=function(){this.shortcuts=[{pattern:"delete ctrl+backspace"}],this.getstate=function(t){var n=this.fm;return t=t||n.selected(),!this._disabled&&t.length&&e.map(t,function(e){var t=n.file(e);return!t||t.locked||n.isRoot(t)?null:e}).length==t.length?0:-1},this.exec=function(t){var n,i,a,r,o,s,l,d,c=this,u=this.fm,h=e.Deferred().fail(function(e){e&&u.error(e)}),p=this.files(t),f=p.length,m=u.cwd().hash,g='
';return f?(e.each(p,function(e,t){return u.isRoot(t)?!h.reject(["errRm",t.name,"errPerm"]):t.locked?!h.reject(["errLocked",t.name]):void 0}),"pending"==h.state()&&(n=this.hashes(t),f=p.length,l=[],f>1?(e.map(p,function(e){return"directory"==e.mime?1:null}).length||(o=0,e.each(p,function(e,t){if(!t.size||"unknown"==t.size)return o="unknown",!1;var n=parseInt(t.size);n>=0&&o>=0&&(o+=n)}),l.push(u.i18n("size")+": "+u.formatSize(o))),i=[e(g.replace("{class}","elfinder-cwd-icon-group").replace("{title}","
"+u.i18n("items")+": "+f+" ").replace("{desc}",l.join("
")))]):(a=p[0],s=u.tmb(a),a.size&&l.push(u.i18n("size")+": "+u.formatSize(a.size)),l.push(u.i18n("modify")+": "+u.formatDate(a)),r=u.escape(a.i18||a.name).replace(/([_.])/g,"$1"),i=[e(g.replace("{class}",u.mime2class(a.mime)).replace("{title}","
"+r+" ").replace("{desc}",l.join("
")))]),i.push("confirmRm"),u.lockfiles({files:n}),d=u.confirm({title:c.title,text:i,accept:{label:"btnRm",callback:function(){u.request({data:{cmd:"rm",targets:n},notify:{type:"rm",cnt:f},preventFail:!0}).fail(function(e){h.reject(e)}).done(function(e){h.done(e)}).always(function(){u.unlockfiles({files:n})})}},cancel:{label:"btnCancel",callback:function(){u.unlockfiles({files:n}),1===n.length&&u.file(n[0]).phash!==m?u.select({selected:n}):u.selectfiles({files:n}),h.reject()}}}),s&&e("
").on("load",function(){d.find(".elfinder-cwd-icon").addClass(s.className).css("background-image","url('"+s.url+"')")}).attr("src",s.url)),h):h.reject()}},elFinder.prototype.commands.search=function(){this.title="Find files",this.options={ui:"searchbutton"},this.alwaysEnabled=!0,this.updateOnSelect=!1,this.getstate=function(){return 0},this.exec=function(t,n,i){var a,r=this.fm,o=[],s=r.options.onlyMimes;return"string"==typeof t&&t?("object"==typeof n&&(i=n.mime||"",n=n.target||""),n=n?n:"",i?(i=e.trim(i).replace(","," ").split(" "),i=e.map(i,function(t){return t=e.trim(t),t&&(-1!==e.inArray(t,s)||e.map(s,function(e){return 0===t.indexOf(e)?!0:null}).length)?t:null})):i=[].concat(s),r.trigger("searchstart",{query:t,target:n,mimes:i}),!s.length||i.length?""===n&&r.api>=2.1?e.each(r.roots,function(e,n){o.push(r.request({data:{cmd:"search",q:t,target:n,mimes:i},notify:{type:"search",cnt:1,hideCnt:!o.length},cancel:!0,preventDone:!0}))}):(o.push(r.request({data:{cmd:"search",q:t,target:n,mimes:i},notify:{type:"search",cnt:1,hideCnt:!0},cancel:!0,preventDone:!0})),""!==n&&r.api>=2.1&&Object.keys(r.leafRoots).length&&e.each(r.leafRoots,function(s,l){for(a=s;a;)n===a&&e.each(l,function(){o.push(r.request({data:{cmd:"search",q:t,target:this,mimes:i},notify:{type:"search",cnt:1,hideCnt:!1},cancel:!0,preventDone:!0}))}),a=(r.file(a)||{}).phash})):o=[e.Deferred().resolve({files:[]})],r.searchStatus.mixed=o.length>1,e.when.apply(e,o).done(function(e){var t,n=arguments.length;if(e.warning&&r.error(e.warning),n>1)for(e.files=e.files||[],t=1;n>t;t++)arguments[t].warning&&r.error(arguments[t].warning),arguments[t].files&&e.files.push.apply(e.files,arguments[t].files);r.lazy(function(){r.trigger("search",e)}).then(function(){return r.lazy(function(){r.trigger("searchdone")})}).then(function(){e.sync&&r.sync()})})):(r.getUI("toolbar").find("."+r.res("class","searchbtn")+" :text").focus(),e.Deferred().reject())}},elFinder.prototype.commands.sort=function(){var t=this,n=t.fm,i=function(){t.variants=[],e.each(n.sortRules,function(i,a){var r={type:i,order:i==n.sortType?"asc"==n.sortOrder?"desc":"asc":n.sortOrder};if(-1!==e.inArray(i,n.sorters)){var o=i==n.sortType?"asc"==r.order?"s":"n":"";t.variants.push([r,(o?'
':"")+" "+n.i18n("sort"+i)])}}),t.variants.push("|"),t.variants.push([{type:n.sortType,order:n.sortOrder,stick:!n.sortStickFolders,tree:n.sortAlsoTreeview},(n.sortStickFolders?'
':"")+" "+n.i18n("sortFoldersFirst")]),n.ui.tree&&(t.variants.push("|"),t.variants.push([{type:n.sortType,order:n.sortOrder,stick:n.sortStickFolders,tree:!n.sortAlsoTreeview},(n.sortAlsoTreeview?'
':"")+" "+n.i18n("sortAlsoTreeview")]))};this.options={ui:"sortbutton"},n.bind("open sortchange",i).bind("open",function(){n.unbind("add",i).one("add",i),n.getUI("toolbar").find(".elfiner-button-sort .elfinder-button-menu .elfinder-button-menu-item").each(function(){var t=e(this),i=t.attr("rel");t.toggle(!i||-1!==e.inArray(i,n.sorters))})}).bind("cwdrender",function(){var i=e(n.cwd).find("div.elfinder-cwd-wrapper-list table");i.length&&e.each(n.sortRules,function(a,r){var o=i.find("thead tr td.elfinder-cwd-view-th-"+a);if(o.length){var s,l=a==n.sortType,d={type:a,order:l?"asc"==n.sortOrder?"desc":"asc":n.sortOrder};l&&(o.addClass("ui-state-active"),s="asc"==n.sortOrder?"n":"s",e('
').appendTo(o)),e(o).on("click",function(i){e(this).data("dragging")||(i.stopPropagation(),n.getUI("cwd").data("longtap")||t.exec([],d))}).hover(function(){e(this).addClass("ui-state-hover")},function(){e(this).removeClass("ui-state-hover")})}})}),this.getstate=function(){return 0},this.exec=function(t,n){var i=this.fm,a=e.extend({type:i.sortType,order:i.sortOrder,stick:i.sortStickFolders,tree:i.sortAlsoTreeview},n);return i.lazy(function(){i.setSort(a.type,a.order,a.stick,a.tree),this.resolve()})}},(elFinder.prototype.commands.up=function(){this.alwaysEnabled=!0,this.updateOnSelect=!1,this.shortcuts=[{pattern:"ctrl+up"}],this.getstate=function(){return this.fm.cwd().phash?0:-1},this.exec=function(){var t=this.fm,n=t.cwd().hash;return this.fm.cwd().phash?this.fm.exec("open",this.fm.cwd().phash).done(function(){t.one("opendone",function(){t.selectfiles({files:[n]})})}):e.Deferred().reject()}}).prototype={forceLoad:!0},elFinder.prototype.commands.upload=function(){var t=this.fm.res("class","hover");this.disableOnSearch=!0,this.updateOnSelect=!1,this.shortcuts=[{pattern:"ctrl+u"}],this.getstate=function(e){var t,n=this.fm,e=e||[n.cwd().hash];return this._disabled||1!=e.length||(t=n.file(e[0])),t&&"directory"==t.mime&&t.write?0:-1},this.exec=function(n){var i,a,r,o,s,l,d,c,u,h=this.fm,p=h.cwd().hash,f=function(){var e,t=n&&n instanceof Array?n:null;return n||(t=t||1!==(e=h.selected()).length||"directory"!==h.file(e[0]).mime?[p]:e),t},m=f(),g=!m&&n&&n.target?n.target:m[0],v=g?h.file(g):h.cwd(),b=function(t){h.upload(t).fail(function(e){k.reject(e)}).done(function(t){var n;h.getUI("cwd");if(k.resolve(t),t&&t.added&&t.added[0]&&!h.ui.notify.children(".elfinder-notify-upload").length){var i=h.findCwdNodes(t.added);i.length?i.trigger("scrolltoview"):(v.hash!==p?n=e("
").append(e('
'+h.i18n("cmdopendir")+" ").on("mouseenter mouseleave",function(t){e(this).toggleClass("ui-state-hover","mouseenter"==t.type)}).on("click",function(){h.exec("open",g).done(function(){h.one("opendone",function(){h.trigger("selectfiles",{files:e.map(t.added,function(e){return e.hash})})})})})):h.trigger("selectfiles",{files:e.map(t.added,function(e){return e.hash})}),h.toast({msg:h.i18n(["complete",h.i18n("cmdupload")]),extNode:n}))}})},y=function(e){i.elfinderdialog("close"),m&&(e.target=m[0]),b(e)},w=function(){var t=v.hash,n=e.map(h.files(),function(e){return"directory"===e.mime&&e.write&&e.phash&&e.phash===t?e:null});return n.length?e('
').on("click",function(t){t.stopPropagation(),t.preventDefault(),n=h.sortFiles(n);var a=e(this),r=(h.cwd(),i.closest("div.ui-dialog")),o=function(e,t){return{label:h.escape(e.i18||e.name),icon:t,remain:!1,callback:function(){var t=r.children(".ui-dialog-titlebar:first").find("span.elfinder-upload-target");m=[e.hash],t.html(" - "+h.escape(e.i18||e.name)),a.focus()},options:{className:m&&m.length&&e.hash===m[0]?"ui-state-active":"",iconClass:e.csscls||"",iconImg:e.icon||""}}},s=[o(v,"opendir"),"|"];e.each(n,function(e,t){s.push(o(t,"dir"))}),a.blur(),h.trigger("contextmenu",{raw:s,x:t.pageX||e(this).offset().left,y:t.pageY||e(this).offset().top,prevNode:r,fitHeight:!0})}).append('
'):e()},k=e.Deferred();return l=function(t){t.stopPropagation(),t.preventDefault();var n,i=!1,a="",r=null,o="",s=null,l=t._target||null,d=t.dataTransfer||null,c=d.items&&d.items.length&&d.items[0].kind?d.items[0].kind:"";if(d){try{if(r=d.getData("elfinderfrom"),r&&(o=window.location.href+h.cwd().hash,!l&&r===o||l===o))return void k.reject()}catch(t){}if("file"===c&&(d.items[0].getAsEntry||d.items[0].webkitGetAsEntry))i=d,a="data";else if("string"!==c&&d.files&&d.files.length&&-1===e.inArray("Text",d.types))i=d.files,a="files";else{try{(s=d.getData("text/html"))&&s.match(/<(?:img|a)/i)&&(i=[s],a="html")}catch(t){}!i&&(s=d.getData("text"))&&(i=[s],a="text")}}i?b({files:i,type:a,target:l}):(n=["errUploadNoFiles"],"string"!==c&&n.push("errFolderUpload"),h.error(n),k.reject())},!m&&n?(n.input||n.files?(n.type="files",b(n)):n.dropEvt&&l(n.dropEvt),k):(d=function(t){var n,t=t.originalEvent||t,i=[],a=[];if(t.clipboardData){if(t.clipboardData.items&&t.clipboardData.items.length){a=t.clipboardData.items;for(var r=0;r
]*>/gi," "),n=t.match(/<[^>]+>/)?"html":"text";o.innerHTML="",y({files:[t],type:n})}},1)},a=e(' ').change(function(){y({input:a[0],type:"files"})}).on("dragover",function(e){e.originalEvent.dataTransfer.dropEffect="copy"}),r=e(''+h.i18n("selectForUpload")+"
").append(e("").append(a)).on("click",function(e){e.target===this&&(e.stopPropagation(),e.preventDefault(),a.click())}).hover(function(){r.toggleClass(t)}),i=e('
').append(r),v.dirs&&(v.hash===p||e("#"+h.navHash2Id(v.hash)).hasClass("elfinder-subtree-loaded")?w().appendTo(i):(c=e('
').append(' ').appendTo(i),h.request({cmd:"tree",target:v.hash}).done(function(){h.one("treedone",function(){c.replaceWith(w()),u.elfinderdialog("tabstopsInit")})}).fail(function(){c.remove()}))),h.dragUpload?o=e('
').on("paste",function(e){d(e)}).on("mousedown click",function(){e(this).focus()}).on("focus",function(){this.innerHTML=""}).on("mouseover",function(){e(this).addClass(t)}).on("mouseout",function(){e(this).removeClass(t)}).on("dragenter",function(n){n.stopPropagation(),n.preventDefault(),e(this).addClass(t)}).on("dragleave",function(n){n.stopPropagation(),n.preventDefault(),e(this).removeClass(t)}).on("dragover",function(n){n.stopPropagation(),n.preventDefault(),n.originalEvent.dataTransfer.dropEffect="copy",e(this).addClass(t)}).on("drop",function(e){i.elfinderdialog("close"),m&&(e.originalEvent._target=m[0]),l(e.originalEvent)}).prependTo(i).after(''+h.i18n("or")+"
")[0]:s=e(''+h.i18n("dropFilesBrowser")+"
").on("paste drop",function(e){d(e)}).on("mousedown click",function(){e(this).focus()}).on("focus",function(){this.innerHTML=""}).on("dragenter mouseover",function(){e(this).addClass(t)}).on("dragleave mouseout",function(){e(this).removeClass(t)}).prependTo(i).after(''+h.i18n("or")+"
")[0],u=h.dialog(i,{title:this.title+''+(v?" - "+h.escape(v.i18||v.name):"")+" ",modal:!0,resizable:!1,destroyOnClose:!0}),k)}},elFinder.prototype.commands.view=function(){var e=this.fm;this.value=e.viewType,this.alwaysEnabled=!0,this.updateOnSelect=!1,this.options={ui:"viewbutton"},this.getstate=function(){return 0},this.exec=function(){var t=this,n=e.storage("view","list"==this.value?"icons":"list");return e.lazy(function(){e.viewchange(),t.update(void 0,n),this.resolve()})}}}(jQuery);
\ No newline at end of file
diff --git a/elFinder.Net.Web/Scripts/elfinder/extras/encoding-japanese.min.js b/elFinder.Net.Web/Scripts/elfinder/extras/encoding-japanese.min.js
new file mode 100644
index 0000000..a02f62a
--- /dev/null
+++ b/elFinder.Net.Web/Scripts/elfinder/extras/encoding-japanese.min.js
@@ -0,0 +1,35 @@
+/*!
+ * encoding-japanese v1.0.25 - Converts character encoding.
+ * Copyright (c) 2013-2016 polygon planet
+ * https://github.com/polygonplanet/encoding.js
+ * @license MIT
+ */
+!function(a,b,c){"undefined"!=typeof exports?"undefined"!=typeof module&&module.exports?module.exports=c():exports[a]=c():"function"==typeof define&&define.amd?define(c):b[a]=c()}("Encoding",this,function(){"use strict";function a(a){for(var b,c=0,d=a&&a.length;c255)return!1;if(b>=0&&b<=7||255===b)return!0}return!1}function b(a){for(var b,c=0,d=a&&a.length;c255||b>=128&&b<=255||27===b)return!1;return!0}function c(a){for(var b,c,d,e=0,f=a&&a.length;e255||b>=128&&b<=255)return!1;if(27===b){if(e+2>=f)return!1;if(c=a[e+1],d=a[e+2],36===c){if(40===d||64===d||66===d)return!0}else{if(38===c&&64===d)return!0;if(40===c&&(66===d||73===d||74===d))return!0}}}return!1}function d(a){for(var b,c=0,d=a&&a.length;c255||b<142)return!1;if(142===b){if(c+1>=d)return!1;if(b=a[++c],b<161||223=d)return!1;if(b=a[++c],b<162||237=d)return!1;if(b=a[++c],b<161||254128;)if(a[c++]>255)return!1;for(;c239||c+1>=d)return!1;if(b=a[++c],b<64||127===b||b>252)return!1}return!0}function f(a){for(var b,c=0,d=a&&a.length;c255)return!1;if(!(9===b||10===b||13===b||b>=32&&b<=126))if(b>=194&&b<=223){if(c+1>=d||a[c+1]<128||a[c+1]>191)return!1;c++}else if(224===b){if(c+2>=d||a[c+1]<160||a[c+1]>191||a[c+2]<128||a[c+2]>191)return!1;c+=2}else if(b>=225&&b<=236||238===b||239===b){if(c+2>=d||a[c+1]<128||a[c+1]>191||a[c+2]<128||a[c+2]>191)return!1;c+=2}else if(237===b){if(c+2>=d||a[c+1]<128||a[c+1]>159||a[c+2]<128||a[c+2]>191)return!1;c+=2}else if(240===b){if(c+3>=d||a[c+1]<144||a[c+1]>191||a[c+2]<128||a[c+2]>191||a[c+3]<128||a[c+3]>191)return!1;c+=3}else if(b>=241&&b<=243){if(c+3>=d||a[c+1]<128||a[c+1]>191||a[c+2]<128||a[c+2]>191||a[c+3]<128||a[c+3]>191)return!1;c+=3}else{if(244!==b)return!1;if(c+3>=d||a[c+1]<128||a[c+1]>143||a[c+2]<128||a[c+2]>191||a[c+3]<128||a[c+3]>191)return!1;c+=3}}return!0}function g(a){var b,c,d,e,f=0,g=a&&a.length,h=null;if(g<2){if(a[0]>255)return!1}else{if(b=a[0],c=a[1],255===b&&254===c)return!0;if(254===b&&255===c)return!0;for(;f255)return!1}if(null===h)return!1;if(d=a[h+1],void 0!==d&&d>0&&d<128)return!0;if(e=a[h-1],void 0!==e&&e>0&&e<128)return!0}return!1}function h(a){var b,c,d=0,e=a&&a.length,f=null;if(e<2){if(a[0]>255)return!1}else{if(b=a[0],c=a[1],254===b&&255===c)return!0;for(;d255)return!1}if(null===f)return!1;if(f%2===0)return!0}return!1}function i(a){var b,c,d=0,e=a&&a.length,f=null;if(e<2){if(a[0]>255)return!1}else{if(b=a[0],c=a[1],255===b&&254===c)return!0;for(;d255)return!1}if(null===f)return!1;if(f%2!==0)return!0}return!1}function j(a){var b,c,d,e,f,g,h=0,i=a&&a.length,j=null;if(i<4){for(;h255)return!1}else{if(b=a[0],c=a[1],d=a[2],e=a[3],0===b&&0===c&&254===d&&255===e)return!0;if(255===b&&254===c&&0===d&&0===e)return!0;for(;h255)return!1}if(null===j)return!1;if(f=a[j+3],void 0!==f&&f>0&&f<=127)return 0===a[j+2]&&0===a[j+1];if(g=a[j-1],void 0!==g&&g>0&&g<=127)return 0===a[j+1]&&0===a[j+2]}return!1}function k(a){for(var b,c=0,d=a&&a.length;c1114111)return!1;return!0}function l(a){for(var b,c,d=[],e=0,f=0,g=a&&a.length;f>=1,b<47?b+=113:b-=79,c+=c>95?32:31):(b>>=1,b<=47?b+=112:b-=80,c+=126),d[d.length]=255&b,d[d.length]=255&c):2===e?d[d.length]=a[f]+128&255:3===e?d[d.length]=Da:d[d.length]=255&a[f]}return d}function m(a){for(var b=[],c=0,d=a&&a.length,e=0;e=161&&b<=223?(2!==e&&(e=2,d[d.length]=h[6],d[d.length]=h[7],d[d.length]=h[8]),d[d.length]=b-128&255):b>=128?(1!==e&&(e=1,d[d.length]=h[3],d[d.length]=h[4],d[d.length]=h[5]),b<<=1,c=a[++g],c<159?(b-=b<319?225:97,c-=c>126?32:31):(b-=b<319?224:96,c-=126),d[d.length]=255&b,d[d.length]=255&c):(0!==e&&(e=0,d[d.length]=h[0],d[d.length]=h[1],d[d.length]=h[2]),d[d.length]=255&b);return 0!==e&&(d[d.length]=h[0],d[d.length]=h[1],d[d.length]=h[2]),d}function o(a){for(var b,c,d=[],e=a&&a.length,f=0;f=161&&b<=223?(d[d.length]=142,d[d.length]=b):b>=129?(c=a[++f],b<<=1,c<159?(b-=b<319?97:225,c+=c>126?96:97):(b-=b<319?96:224,c+=2),d[d.length]=255&b,d[d.length]=255&c):d[d.length]=255&b;return d}function p(a){for(var b,c=[],d=0,e=a&&a.length,f=0,g=[27,40,66,27,36,66,27,40,73,27,36,40,68];f142?(1!==d&&(d=1,c[c.length]=g[3],c[c.length]=g[4],c[c.length]=g[5]),c[c.length]=b-128&255,c[c.length]=a[++f]-128&255):(0!==d&&(d=0,c[c.length]=g[0],c[c.length]=g[1],c[c.length]=g[2]),c[c.length]=255&b);return 0!==d&&(c[c.length]=g[0],c[c.length]=g[1],c[c.length]=g[2]),c}function q(a){for(var b,c,d=[],e=a&&a.length,f=0;f142?(c=a[++f],1&b?(b>>=1,b+=b<111?49:113,c-=c>223?96:97):(b>>=1,b+=b<=111?48:112,c-=2),d[d.length]=255&b,d[d.length]=255&c):142===b?d[d.length]=255&a[++f]:d[d.length]=255&b;return d}function r(a){Ca();for(var b,c,d,e,f,g,h,i=[],j=0,k=a&&a.length;j=161&&b<=223?(d=b-64,e=188|d>>6&3,f=128|63&d,i[i.length]=239,i[i.length]=255&e,i[i.length]=255&f):b>=128?(c=b<<1,d=a[++j],d<159?(c-=c<319?225:97,d-=d>126?32:31):(c-=c<319?224:96,d-=126),c&=255,g=(c<<8)+d,h=Ya[g],void 0===h?i[i.length]=Da:h<65535?(i[i.length]=h>>8&255,i[i.length]=255&h):(i[i.length]=h>>16&255,i[i.length]=h>>8&255,i[i.length]=255&h)):i[i.length]=255&a[j];return i}function s(a){Ca();for(var b,c,d,e,f,g,h,i,j=[],k=0,l=a&&a.length;k>6&3,e=128|63&c,j[j.length]=239,j[j.length]=255&d,j[j.length]=255&e):143===b?(f=a[++k]-128,g=a[++k]-128,h=(f<<8)+g,i=Za[h],void 0===i?j[j.length]=Da:i<65535?(j[j.length]=i>>8&255,j[j.length]=255&i):(j[j.length]=i>>16&255,j[j.length]=i>>8&255,j[j.length]=255&i)):b>=128?(h=(b-128<<8)+(a[++k]-128),i=Ya[h],void 0===i?j[j.length]=Da:i<65535?(j[j.length]=i>>8&255,j[j.length]=255&i):(j[j.length]=i>>16&255,j[j.length]=i>>8&255,j[j.length]=255&i)):j[j.length]=255&a[k];return j}function t(a){Ca();for(var b,c,d,e,f,g=[],h=0,i=0,j=a&&a.length;i>8&255,g[g.length]=255&f):(g[g.length]=f>>16&255,g[g.length]=f>>8&255,g[g.length]=255&f)):2===h?(b=a[i]+64,c=188|b>>6&3,d=128|63&b,g[g.length]=239,g[g.length]=255&c,g[g.length]=255&d):3===h?(e=(a[i]<<8)+a[++i],f=Za[e],void 0===f?g[g.length]=Da:f<65535?(g[g.length]=f>>8&255,g[g.length]=255&f):(g[g.length]=f>>16&255,g[g.length]=f>>8&255,g[g.length]=255&f)):g[g.length]=255&a[i]}return g}function u(a){for(var b,c,d,e,f,g=[],h=0,i=a&&a.length;h=128?(e=b<=223?(b<<8)+a[++h]:(b<<16)+(a[++h]<<8)+(255&a[++h]),
+f=Wa[e],void 0===f?g[g.length]=Da:f<255?g[g.length]=f+128:(f>65536&&(f-=65536),c=f>>8,d=255&f,1&c?(c>>=1,c<47?c+=113:c-=79,d+=d>95?32:31):(c>>=1,c<=47?c+=112:c-=80,d+=126),g[g.length]=255&c,g[g.length]=255&d)):g[g.length]=255&a[h];return g}function v(a){for(var b,c,d,e=[],f=0,g=a&&a.length;f=128?(c=b<=223?(a[f++]<<8)+a[f]:(a[f++]<<16)+(a[f++]<<8)+(255&a[f]),d=Wa[c],void 0===d?(d=Xa[c],void 0===d?e[e.length]=Da:(e[e.length]=143,e[e.length]=(d>>8)-128&255,e[e.length]=(255&d)-128&255)):(d>65536&&(d-=65536),d<255?(e[e.length]=142,e[e.length]=d-128&255):(e[e.length]=(d>>8)-128&255,e[e.length]=(255&d)-128&255))):e[e.length]=255&a[f];return e}function w(a){for(var b,c,d,e=[],f=0,g=a&&a.length,h=0,i=[27,40,66,27,36,66,27,40,73,27,36,40,68];h>8&255,e[e.length]=255&d)):(d>65536&&(d-=65536),d<255?(2!==f&&(f=2,e[e.length]=i[6],e[e.length]=i[7],e[e.length]=i[8]),e[e.length]=255&d):(1!==f&&(f=1,e[e.length]=i[3],e[e.length]=i[4],e[e.length]=i[5]),e[e.length]=d>>8&255,e[e.length]=255&d)));return 0!==f&&(e[e.length]=i[0],e[e.length]=i[1],e[e.length]=i[2]),e}function x(a){for(var b,c,d=[],e=0,f=a&&a.length;e=55296&&b<=56319&&e+1=56320&&c<=57343&&(b=1024*(b-55296)+c-56320+65536,e++)),b<128?d[d.length]=b:b<2048?(d[d.length]=192|b>>6&31,d[d.length]=128|63&b):b<65536?(d[d.length]=224|b>>12&15,d[d.length]=128|b>>6&63,d[d.length]=128|63&b):b<2097152&&(d[d.length]=240|b>>18&15,d[d.length]=128|b>>12&63,d[d.length]=128|b>>6&63,d[d.length]=128|63&b);return d}function y(a){for(var b,c,d,e,f,g,h=[],i=0,j=a&&a.length;i>4,b>=0&&b<=7?g=c:12===b||13===b?(d=a[i++],g=(31&c)<<6|63&d):14===b?(d=a[i++],e=a[i++],g=(15&c)<<12|(63&d)<<6|63&e):15===b&&(d=a[i++],e=a[i++],f=a[i++],g=(7&c)<<18|(63&d)<<12|(63&e)<<6|63&f),g<=65535?h[h.length]=g:(g-=65536,h[h.length]=(g>>10)+55296,h[h.length]=g%1024+56320);return h}function z(a,b){var c;if(b&&b.bom){var d=b.bom;qa(d)||(d="BE");var e,f;"B"===d.charAt(0).toUpperCase()?(e=[254,255],f=A(a)):(e=[255,254],f=B(a)),c=[],c[0]=e[0],c[1]=e[1];for(var g=0,h=f.length;g>8&255,c[c.length]=255&b);return c}function B(a){for(var b,c=[],d=0,e=a&&a.length;d>8&255);return c}function C(a){var b,c,d=[],e=0,f=a&&a.length;for(f>=2&&(254===a[0]&&255===a[1]||255===a[0]&&254===a[1])&&(e=2);e=2&&(254===a[0]&&255===a[1]||255===a[0]&&254===a[1])&&(e=2);e=2&&(254===a[0]&&255===a[1]||255===a[0]&&254===a[1])&&(h=2),c&&(f[0]=c[0],f[1]=c[1]);for(var i,j;h=2&&(254===a[0]&&255===a[1]||255===a[0]&&254===a[1])&&(h=2),c&&(f[0]=c[0],f[1]=c[1]);for(var i,j;h=2&&(254===a[0]&&255===a[1]||255===a[0]&&254===a[1])&&(e=2);eLa&&(Ma=!0),c}catch(a){Ma=!1}}}return va(a)}function va(a){for(var b,c="",d=a&&a.length,e=0;eLa&&(Ma=!0);continue}catch(a){Ma=!1}return wa(a)}c+=Ea.apply(null,b)}return c}function wa(a){for(var b="",c=a&&a.length,d=0;d>2],b[b.length]=Ta[(3&e)<<4],b[b.length]=Va,b[b.length]=Va;break}if(f=a[c++],c==d){b[b.length]=Ta[e>>2],b[b.length]=Ta[(3&e)<<4|(240&f)>>4],b[b.length]=Ta[(15&f)<<2],b[b.length]=Va;break}g=a[c++],b[b.length]=Ta[e>>2],b[b.length]=Ta[(3&e)<<4|(240&f)>>4],b[b.length]=Ta[(15&f)<<2|(192&g)>>6],b[b.length]=Ta[63&g]}return ua(b)}function Ba(a){var b,c,d,e,f,g,h;for(g=a&&a.length,f=0,h=[];f>4;do{if(d=255&a.charCodeAt(f++),61==d)return h;d=Ua[d]}while(f>2;
+do{if(e=255&a.charCodeAt(f++),61==e)return h;e=Ua[e]}while(f95&&(Ya[b]=0|a);for(Za={},c=ra(Xa),e=c.length,d=0;d255)return encodeURIComponent(ua(a));b>=97&&b<=122||b>=65&&b<=90||b>=48&&b<=57||33===b||b>=39&&b<=42||45===b||46===b||95===b||126===b?d[d.length]=b:(d[d.length]=37,b<16?(d[d.length]=48,d[d.length]=c[b]):(d[d.length]=c[b>>4&15],d[d.length]=c[15&b]))}return ua(d)},urlDecode:function(a){for(var b,c=[],d=0,e=a&&a.length;d=65281&&c<=65374&&(c-=65248),d[d.length]=c;return b?ua(d):d},toZenkakuCase:function(a){var b=!1;qa(a)&&(b=!0,a=ta(a));for(var c,d=[],e=a&&a.length,f=0;f=33&&c<=126&&(c+=65248),d[d.length]=c;return b?ua(d):d},toHiraganaCase:function(a){var b=!1;qa(a)&&(b=!0,a=ta(a));for(var c,d=[],e=a&&a.length,f=0;f=12449&&c<=12534?c-=96:12535===c?(d[d.length]=12431,c=12443):12538===c&&(d[d.length]=12434,c=12443),d[d.length]=c;return b?ua(d):d},toKatakanaCase:function(a){var b=!1;qa(a)&&(b=!0,a=ta(a));for(var c,d=[],e=a&&a.length,f=0;f=12353&&c<=12438&&((12431===c||12434===c)&&f=12289&&c<=12540&&(e=$a[c],void 0!==e)?f[f.length]=e:12532===c||12535===c||12538===c?(f[f.length]=_a[c],f[f.length]=65438):c>=12459&&c<=12489?(f[f.length]=$a[c-1],f[f.length]=65438):c>=12495&&c<=12509?(d=c%3,f[f.length]=$a[c-d],f[f.length]=ab[d-1]):f[f.length]=c;return b?ua(f):f},toZenkanaCase:function(a){var b=!1;qa(a)&&(b=!0,a=ta(a));var c,d,e,f=[],g=a&&a.length,h=0;for(h=0;h65376&&c<65440&&(d=bb[c-65377],h+165397&&c<65413||c>65417&&c<65423)?(d++,h++):65439===e&&c>65417&&c<65423&&(d+=2,h++)),c=d),f[f.length]=c;return b?ua(f):f},toHankakuSpace:function(a){if(qa(a))return a.replace(/\u3000/g," ");for(var b,c=[],d=a&&a.length,e=0;e'+fm.i18n('getLink')+' ').appendTo(ql.info.find('.elfinder-quicklook-info'))
+ .on('click', function() {
+ $(this).html('
');
+ fm.request({
+ data : {cmd : 'url', target : file.hash},
+ preventDefault : true
+ })
+ .always(function() {
+ $(this).html('');
+ })
+ .done(function(data) {
+ var rfile = fm.file(file.hash);
+ ql.value.url = rfile.url = data.url || '';
+ if (ql.value.url) {
+ preview.trigger($.Event('update', {file : ql.value}));
+ }
+ });
+ });
+ }
+ if (file.url !== '' && file.url != '1') {
+ e.stopImmediatePropagation();
+ preview.one('change', function() {
+ loading.remove();
+ node.off('load').remove();
+ });
+
+ loading = $(' Now loading...
').appendTo(ql.info.find('.elfinder-quicklook-info'));
+
+ node = $('')
+ .css('background-color', 'transparent')
+ .appendTo(preview)
+ .on('load', function() {
+ ql.hideinfo();
+ loading.remove();
+ $(this).css('background-color', '#fff').show();
+ })
+ .attr('src', fm.url(file.hash).replace('/edit', '/embed'));
+ }
+ }
+
+ });
+ });
+} catch(e) {}
diff --git a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.LANG.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.LANG.js
similarity index 56%
rename from elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.LANG.js
rename to elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.LANG.js
index 4fab35c..5b7d41d 100644
--- a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.LANG.js
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.LANG.js
@@ -4,7 +4,7 @@
* submit new translation via https://github.com/Studio-42/elFinder/issues
* or make a pull request
*/
-
+
/**
* XXXXX translation
* @author Translator Name
@@ -15,8 +15,8 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
translator : 'Translator name <translator@email.tld>',
language : 'Language of translation in your language',
direction : 'ltr',
- dateFormat : 'd.m.Y H:i',
- fancyDateFormat : '$1 H:i',
+ dateFormat : 'd.m.Y H:i', // Mar 13, 2012 05:27 PM
+ fancyDateFormat : '$1 H:i', // will produce smth like: Today 12:25 PM
messages : {
/********************************** errors **********************************/
@@ -57,33 +57,56 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'errRename' : 'Unable to rename "$1".',
'errCopyFrom' : 'Copying files from volume "$1" not allowed.',
'errCopyTo' : 'Copying files to volume "$1" not allowed.',
- 'errUploadCommon' : 'Upload error.',
- 'errUpload' : 'Unable to upload "$1".',
+ 'errMkOutLink' : 'Unable to create a link to outside the volume root.', // from v2.1 added 03.10.2015
+ 'errUpload' : 'Upload error.', // old name - errUploadCommon
+ 'errUploadFile' : 'Unable to upload "$1".', // old name - errUpload
'errUploadNoFiles' : 'No files found for upload.',
- 'errMaxSize' : 'Data exceeds the maximum allowed size.',
- 'errFileMaxSize' : 'File exceeds maximum allowed size.',
+ 'errUploadTotalSize' : 'Data exceeds the maximum allowed size.', // old name - errMaxSize
+ 'errUploadFileSize' : 'File exceeds maximum allowed size.', // old name - errFileMaxSize
'errUploadMime' : 'File type not allowed.',
- 'errUploadTransfer' : '"$1" transfer error.',
+ 'errUploadTransfer' : '"$1" transfer error.',
+ 'errUploadTemp' : 'Unable to make temporary file for upload.', // from v2.1 added 26.09.2015
+ 'errNotReplace' : 'Object "$1" already exists at this location and can not be replaced by object with another type.', // new
+ 'errReplace' : 'Unable to replace "$1".',
'errSave' : 'Unable to save "$1".',
'errCopy' : 'Unable to copy "$1".',
'errMove' : 'Unable to move "$1".',
'errCopyInItself' : 'Unable to copy "$1" into itself.',
'errRm' : 'Unable to remove "$1".',
+ 'errRmSrc' : 'Unable remove source file(s).',
'errExtract' : 'Unable to extract files from "$1".',
'errArchive' : 'Unable to create archive.',
'errArcType' : 'Unsupported archive type.',
'errNoArchive' : 'File is not archive or has unsupported archive type.',
'errCmdNoSupport' : 'Backend does not support this command.',
- 'errReplByChild' : 'The folder “$1” can’t be replaced by an item it contains.',
+ 'errReplByChild' : 'The folder "$1" can\'t be replaced by an item it contains.',
'errArcSymlinks' : 'For security reason denied to unpack archives contains symlinks or files with not allowed names.', // edited 24.06.2012
'errArcMaxSize' : 'Archive files exceeds maximum allowed size.',
'errResize' : 'Unable to resize "$1".',
+ 'errResizeDegree' : 'Invalid rotate degree.', // added 7.3.2013
+ 'errResizeRotate' : 'Unable to rotate image.', // added 7.3.2013
+ 'errResizeSize' : 'Invalid image size.', // added 7.3.2013
+ 'errResizeNoChange' : 'Image size not changed.', // added 7.3.2013
'errUsupportType' : 'Unsupported file type.',
'errNotUTF8Content' : 'File "$1" is not in UTF-8 and cannot be edited.', // added 9.11.2011
- 'errNetMount' : 'Unable to mount "$1".', // added 17.04.2012
+ 'errNetMount' : 'Unable to mount "$1".', // added 17.04.2012
'errNetMountNoDriver' : 'Unsupported protocol.', // added 17.04.2012
- 'errNetMountFailed' : 'Mount failed.', // added 17.04.2012
+ 'errNetMountFailed' : 'Mount failed.', // added 17.04.2012
'errNetMountHostReq' : 'Host required.', // added 18.04.2012
+ 'errSessionExpires' : 'Your session has expired due to inactivity.',
+ 'errCreatingTempDir' : 'Unable to create temporary directory: "$1"',
+ 'errFtpDownloadFile' : 'Unable to download file from FTP: "$1"',
+ 'errFtpUploadFile' : 'Unable to upload file to FTP: "$1"',
+ 'errFtpMkdir' : 'Unable to create remote directory on FTP: "$1"',
+ 'errArchiveExec' : 'Error while archiving files: "$1"',
+ 'errExtractExec' : 'Error while extracting files: "$1"',
+ 'errNetUnMount' : 'Unable to unmount', // from v2.1 added 30.04.2012
+ 'errConvUTF8' : 'Not convertible to UTF-8', // from v2.1 added 08.04.2014
+ 'errFolderUpload' : 'Try Google Chrome, If you\'d like to upload the folder.', // from v2.1 added 26.6.2015
+ 'errSearchTimeout' : 'Timed out while searching "$1". Search result is partial.', // from v2.1 added 12.1.2016
+ 'errReauthRequire' : 'Re-authorization is required.', // from v2.1.10 added 24.3.2016
+ 'errMaxTargets' : 'Max number of selectable items is $1.', // from v2.1.17 added 17.10.2016
+
/******************************* commands names ********************************/
'cmdarchive' : 'Create archive',
'cmdback' : 'Back',
@@ -99,6 +122,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'cmdhome' : 'Home',
'cmdinfo' : 'Get info',
'cmdmkdir' : 'New folder',
+ 'cmdmkdirin' : 'Into new folder', // from v2.1.7 added 19.2.2016
'cmdmkfile' : 'New text file',
'cmdopen' : 'Open',
'cmdpaste' : 'Paste',
@@ -110,10 +134,17 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'cmdup' : 'Go to parent directory',
'cmdupload' : 'Upload files',
'cmdview' : 'View',
- 'cmdresize' : 'Resize image',
+ 'cmdresize' : 'Resize & Rotate',
'cmdsort' : 'Sort',
+ 'cmdnetmount' : 'Mount network volume', // added 18.04.2012
+ 'cmdnetunmount': 'Unmount', // from v2.1 added 30.04.2012
+ 'cmdplaces' : 'To Places', // added 28.12.2014
+ 'cmdchmod' : 'Change mode', // from v2.1 added 20.6.2015
+ 'cmdopendir' : 'Open a folder', // from v2.1 added 13.1.2016
+ 'cmdcolwidth' : 'Reset column width', // from v2.1.13 added 12.06.2016
+ 'cmdmove' : 'Move', // from v2.1.15 added 21.08.2016
- /*********************************** buttons ***********************************/
+ /*********************************** buttons ***********************************/
'btnClose' : 'Close',
'btnSave' : 'Save',
'btnRm' : 'Remove',
@@ -121,6 +152,17 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'btnCancel' : 'Cancel',
'btnNo' : 'No',
'btnYes' : 'Yes',
+ 'btnMount' : 'Mount', // added 18.04.2012
+ 'btnApprove': 'Goto $1 & approve', // from v2.1 added 26.04.2012
+ 'btnUnmount': 'Unmount', // from v2.1 added 30.04.2012
+ 'btnConv' : 'Convert', // from v2.1 added 08.04.2014
+ 'btnCwd' : 'Here', // from v2.1 added 22.5.2015
+ 'btnVolume' : 'Volume', // from v2.1 added 22.5.2015
+ 'btnAll' : 'All', // from v2.1 added 22.5.2015
+ 'btnMime' : 'MIME Type', // from v2.1 added 22.5.2015
+ 'btnFileName':'Filename', // from v2.1 added 22.5.2015
+ 'btnSaveClose': 'Save & Close', // from v2.1 added 12.6.2015
+ 'btnBackup' : 'Backup', // fromv2.1 added 28.11.2015
/******************************** notifications ********************************/
'ntfopen' : 'Open folder',
@@ -139,26 +181,36 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'ntfarchive' : 'Creating archive',
'ntfextract' : 'Extracting files from archive',
'ntfsearch' : 'Searching files',
- 'ntfsmth' : 'Doing something >_<',
+ 'ntfresize' : 'Resizing images',
+ 'ntfsmth' : 'Doing something',
'ntfloadimg' : 'Loading image',
'ntfnetmount' : 'Mounting network volume', // added 18.04.2012
+ 'ntfnetunmount': 'Unmounting network volume', // from v2.1 added 30.04.2012
+ 'ntfdim' : 'Acquiring image dimension', // added 20.05.2013
+ 'ntfreaddir' : 'Reading folder infomation', // from v2.1 added 01.07.2013
+ 'ntfurl' : 'Getting URL of link', // from v2.1 added 11.03.2014
+ 'ntfchmod' : 'Changing file mode', // from v2.1 added 20.6.2015
+ 'ntfpreupload': 'Verifying upload file name', // from v2.1 added 31.11.2015
+ 'ntfzipdl' : 'Creating a file for download', // from v2.1.7 added 23.1.2016
+ 'ntfparents' : 'Getting path infomation', // from v2.1.17 added 2.11.2016
+ 'ntfchunkmerge': 'Processing the uploaded file', // from v2.1.17 added 2.11.2016
/************************************ dates **********************************/
'dateUnknown' : 'unknown',
'Today' : 'Today',
'Yesterday' : 'Yesterday',
- 'Jan' : 'Jan',
- 'Feb' : 'Feb',
- 'Mar' : 'Mar',
- 'Apr' : 'Apr',
- 'May' : 'May',
- 'Jun' : 'Jun',
- 'Jul' : 'Jul',
- 'Aug' : 'Aug',
- 'Sep' : 'Sep',
- 'Oct' : 'Oct',
- 'Nov' : 'Nov',
- 'Dec' : 'Dec',
+ 'msJan' : 'Jan',
+ 'msFeb' : 'Feb',
+ 'msMar' : 'Mar',
+ 'msApr' : 'Apr',
+ 'msMay' : 'May',
+ 'msJun' : 'Jun',
+ 'msJul' : 'Jul',
+ 'msAug' : 'Aug',
+ 'msSep' : 'Sep',
+ 'msOct' : 'Oct',
+ 'msNov' : 'Nov',
+ 'msDec' : 'Dec',
'January' : 'January',
'February' : 'February',
'March' : 'March',
@@ -171,31 +223,44 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'October' : 'October',
'November' : 'November',
'December' : 'December',
- 'Sunday' : 'Sunday',
- 'Monday' : 'Monday',
- 'Tuesday' : 'Tuesday',
- 'Wednesday' : 'Wednesday',
- 'Thursday' : 'Thursday',
- 'Friday' : 'Friday',
+ 'Sunday' : 'Sunday',
+ 'Monday' : 'Monday',
+ 'Tuesday' : 'Tuesday',
+ 'Wednesday' : 'Wednesday',
+ 'Thursday' : 'Thursday',
+ 'Friday' : 'Friday',
'Saturday' : 'Saturday',
- 'Sun' : 'Sun',
- 'Mon' : 'Mon',
- 'Tue' : 'Tue',
- 'Wed' : 'Wed',
- 'Thu' : 'Thu',
- 'Fri' : 'Fri',
+ 'Sun' : 'Sun',
+ 'Mon' : 'Mon',
+ 'Tue' : 'Tue',
+ 'Wed' : 'Wed',
+ 'Thu' : 'Thu',
+ 'Fri' : 'Fri',
'Sat' : 'Sat',
+
/******************************** sort variants ********************************/
- 'sortname' : 'by name',
- 'sortkind' : 'by kind',
+ 'sortname' : 'by name',
+ 'sortkind' : 'by kind',
'sortsize' : 'by size',
'sortdate' : 'by date',
- 'sortFoldersFirst' : 'Folders first', // added 22.06.2012
-
+ 'sortFoldersFirst' : 'Folders first',
+ 'sortperm' : 'by permission', // from v2.1.13 added 13.06.2016
+ 'sortmode' : 'by mode', // from v2.1.13 added 13.06.2016
+ 'sortowner' : 'by owner', // from v2.1.13 added 13.06.2016
+ 'sortgroup' : 'by group', // from v2.1.13 added 13.06.2016
+ 'sortAlsoTreeview' : 'Also Treeview', // from v2.1.15 added 01.08.2016
+
+ /********************************** new items **********************************/
+ 'untitled file.txt' : 'NewFile.txt', // added 10.11.2015
+ 'untitled folder' : 'NewFolder', // added 10.11.2015
+ 'Archive' : 'NewArchive', // from v2.1 added 10.11.2015
+
/********************************** messages **********************************/
'confirmReq' : 'Confirmation required',
'confirmRm' : 'Are you sure you want to remove files? This cannot be undone!',
'confirmRepl' : 'Replace old file with new one?',
+ 'confirmConvUTF8' : 'Not in UTF-8 Convert to UTF-8? Contents become UTF-8 by saving after conversion.', // from v2.1 added 08.04.2014
+ 'confirmNotSave' : 'It has been modified. Losing work if you do not save changes.', // from v2.1 added 15.7.2015
'apllyAll' : 'Apply to all',
'name' : 'Name',
'size' : 'Size',
@@ -214,7 +279,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'viewlist' : 'List view',
'viewicons' : 'Icons view',
'places' : 'Places',
- 'calc' : 'Calculate',
+ 'calc' : 'Calculate',
'path' : 'Path',
'aliasfor' : 'Alias for',
'locked' : 'Locked',
@@ -225,7 +290,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'yes' : 'yes',
'no' : 'no',
'link' : 'Link',
- 'searcresult' : 'Search results',
+ 'searcresult' : 'Search results',
'selected' : 'selected items',
'about' : 'About',
'shortcuts' : 'Shortcuts',
@@ -253,27 +318,72 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'moveFiles' : 'Move files',
'copyFiles' : 'Copy files',
'rmFromPlaces' : 'Remove from places',
- 'untitled folder' : 'untitled folder',
- 'untitled file.txt' : 'untitled file.txt',
'aspectRatio' : 'Aspect ratio',
'scale' : 'Scale',
'width' : 'Width',
'height' : 'Height',
- 'mode' : 'Mode',
'resize' : 'Resize',
'crop' : 'Crop',
'rotate' : 'Rotate',
'rotate-cw' : 'Rotate 90 degrees CW',
'rotate-ccw' : 'Rotate 90 degrees CCW',
- 'degree' : 'Degree',
+ 'degree' : '°',
'netMountDialogTitle' : 'Mount network volume', // added 18.04.2012
'protocol' : 'Protocol', // added 18.04.2012
'host' : 'Host', // added 18.04.2012
'port' : 'Port', // added 18.04.2012
'user' : 'User', // added 18.04.2012
'pass' : 'Password', // added 18.04.2012
+ 'confirmUnmount' : 'Are you unmount $1?', // from v2.1 added 30.04.2012
+ 'dropFilesBrowser': 'Drop or Paste files from browser', // from v2.1 added 30.05.2012
+ 'dropPasteFiles' : 'Drop files, Paste URLs or images(clipboard) here', // from v2.1 added 07.04.2014
+ 'encoding' : 'Encoding', // from v2.1 added 19.12.2014
+ 'locale' : 'Locale', // from v2.1 added 19.12.2014
+ 'searchTarget' : 'Target: $1', // from v2.1 added 22.5.2015
+ 'searchMime' : 'Search by input MIME Type', // from v2.1 added 22.5.2015
+ 'owner' : 'Owner', // from v2.1 added 20.6.2015
+ 'group' : 'Group', // from v2.1 added 20.6.2015
+ 'other' : 'Other', // from v2.1 added 20.6.2015
+ 'execute' : 'Execute', // from v2.1 added 20.6.2015
+ 'perm' : 'Permission', // from v2.1 added 20.6.2015
+ 'mode' : 'Mode', // from v2.1 added 20.6.2015
+ 'emptyFolder' : 'Folder is empty', // from v2.1.6 added 30.12.2015
+ 'emptyFolderDrop' : 'Folder is empty\\A Drop to add items', // from v2.1.6 added 30.12.2015
+ 'emptyFolderLTap' : 'Folder is empty\\A Long tap to add items', // from v2.1.6 added 30.12.2015
+ 'quality' : 'Quality', // from v2.1.6 added 5.1.2016
+ 'autoSync' : 'Auto sync', // from v2.1.6 added 10.1.2016
+ 'moveUp' : 'Move up', // from v2.1.6 added 18.1.2016
+ 'getLink' : 'Get URL link', // from v2.1.7 added 9.2.2016
+ 'selectedItems' : 'Selected items ($1)', // from v2.1.7 added 2.19.2016
+ 'folderId' : 'Folder ID', // from v2.1.10 added 3.25.2016
+ 'offlineAccess' : 'Allow offline access', // from v2.1.10 added 3.25.2016
+ 'reAuth' : 'To re-authenticate', // from v2.1.10 added 3.25.2016
+ 'nowLoading' : 'Now loading...', // from v2.1.12 added 4.26.2016
+ 'openMulti' : 'Open multiple files', // from v2.1.12 added 5.14.2016
+ 'openMultiConfirm': 'You are trying to open the $1 files. Are you sure you want to open in browser?', // from v2.1.12 added 5.14.2016
+ 'emptySearch' : 'No match results in search targets', // from v2.1.12 added 5.16.2016
+ 'editingFile' : 'You are editing a file.', // from v2.1.13 added 6.3.2016
+ 'hasSelected' : 'You have selected $1 items.', // from v2.1.13 added 6.3.2016
+ 'hasClipboard' : 'You have $1 items in the clipboard.', // from v2.1.13 added 6.3.2016
+ 'incSearchOnly' : 'Incremental search is only from the current view.', // from v2.1.13 added 6.30.2016
+ 'reinstate' : 'Reinstate', // from v2.1.15 added 3.8.2016
+ 'complete' : '$1 complete', // from v2.1.15 added 21.8.2016
+ 'contextmenu' : 'Context menu', // from v2.1.15 added 9.9.2016
+ 'pageTurning' : 'Page turning', // from v2.1.15 added 10.9.2016
+ 'volumeRoots' : 'Volume roots', // from v2.1.16 added 16.9.2016
+ 'reset' : 'Reset', // from v2.1.16 added 1.10.2016
+ 'bgcolor' : 'Background color', // from v2.1.16 added 1.10.2016
+ 'colorPicker' : 'Color picker', // from v2.1.16 added 1.10.2016
+ '8pxgrid' : '8px Grid', // from v2.1.16 added 4.10.2016
+ 'enabled' : 'Enabled', // from v2.1.16 added 4.10.2016
+ 'disabled' : 'Disabled', // from v2.1.16 added 4.10.2016
+ 'emptyIncSearch' : 'No match results in current view', // from v2.1.16 added 5.10.2016
+ 'textLabel' : 'Text lable', // from v2.1.17 added 13.10.2016
+ 'minsLeft' : '$1 mins left', // from v2.1.17 added 13.11.2016
+
/********************************** mimetypes **********************************/
'kindUnknown' : 'Unknown',
+ 'kindRoot' : 'Volume Root', // from v2.1.16 added 16.10.2016
'kindFolder' : 'Folder',
'kindAlias' : 'Alias',
'kindAliasBroken' : 'Broken alias',
@@ -292,6 +402,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindTAR' : 'TAR archive',
'kindGZIP' : 'GZIP archive',
'kindBZIP' : 'BZIP archive',
+ 'kindXZ' : 'XZ archive',
'kindZIP' : 'ZIP archive',
'kindRAR' : 'RAR archive',
'kindJAR' : 'Java JAR file',
@@ -320,6 +431,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindAWK' : 'AWK source',
'kindCSV' : 'Comma separated values',
'kindDOCBOOK' : 'Docbook XML document',
+ 'kindMarkdown' : 'Markdown text', // added 20.7.2015
// images
'kindImage' : 'Image',
'kindBMP' : 'BMP image',
@@ -350,6 +462,6 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindVideoMKV' : 'Matroska movie',
'kindVideoOGG' : 'Ogg movie'
}
- }
+ };
}
diff --git a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.ar.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.ar.js
similarity index 77%
rename from elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.ar.js
rename to elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.ar.js
index 31b873b..69e8bd5 100644
--- a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.ar.js
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.ar.js
@@ -1,13 +1,15 @@
/**
* Arabic translation (Syrian Localization, it may differ if you aren't from Syria or any Country in Middle East)
* @author Tawfek Daghistani
- * @version 2011-07-09
+ * @version 2014-12-19
*/
if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
elFinder.prototype.i18.ar = {
translator : 'Tawfek Daghistani <tawfekov@gmail.com>',
language : 'العربية',
direction : 'rtl',
+ dateFormat : 'M d, Y h:i A', // Mar 13, 2012 05:27 PM
+ fancyDateFormat : '$1 h:i A', // will produce smth like: Today 12:25 PM
messages : {
/********************************** errors **********************************/
@@ -48,18 +50,21 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'errRename' : 'غير قادر على إعادة تسمية ال "$1".',
'errCopyFrom' : 'نسخ الملفات من الوسط المحدد "$1"غير مسموح.',
'errCopyTo' : 'نسخ الملفات إلى الوسط المحدد "$1" غير مسموح .',
- 'errUploadCommon' : 'خطأ أثناء عملية الرفع',
- 'errUpload' : 'غير قادر على رفع "$1".',
+ 'errUpload' : 'خطأ أثناء عملية الرفع',
+ 'errUploadFile' : 'غير قادر على رفع "$1".',
'errUploadNoFiles' : 'لم يتم رفع أي ملف ',
- 'errMaxSize' : 'حجم البيانات أكبر من الحجم المسموح به ',
- 'errFileMaxSize' : 'حجم الملف أكبر من الحجم المسموح به',
+ 'errUploadTotalSize' : 'حجم البيانات أكبر من الحجم المسموح به ',
+ 'errUploadFileSize' : 'حجم الملف أكبر من الحجم المسموح به',
'errUploadMime' : 'نوع ملف غير مسموح ',
'errUploadTransfer' : '"$1" خطأ أثناء عملية النقل',
+ 'errNotReplace' : 'Object "$1" already exists at this location and can not be replaced by object with another type.',
+ 'errReplace' : 'Unable to replace "$1".',
'errSave' : 'غير قادر على الحفظ في "$1".',
'errCopy' : 'غير قادر على النسخ إلى"$1".',
'errMove' : 'غير قادر على القص إلى "$1".',
'errCopyInItself' : 'غير قادر على نسخ الملف "$1" ضمن الملف نفسه.',
'errRm' : 'غير قادر على الحذف "$1".',
+ 'errRmSrc' : 'Unable remove source file(s).',
'errExtract' : 'غير قادر على استخراج الملفات من "$1".',
'errArchive' : 'غير قادر على إنشاء ملف مضغوط',
'errArcType' : 'نوع الملف المضغوط غير مدعومة',
@@ -68,6 +73,24 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'errReplByChild' : 'The folder “$1” can’t be replaced by an item it contains.',
'errArcSymlinks' : 'For security reason denied to unpack archives contains symlinks.',
'errArcMaxSize' : 'Archive files exceeds maximum allowed size.',
+ 'errResize' : 'Unable to resize "$1".',
+ 'errResizeDegree' : 'Invalid rotate degree.',
+ 'errResizeRotate' : 'Unable to rotate image.',
+ 'errResizeSize' : 'Invalid image size.',
+ 'errResizeNoChange' : 'Image size not changed.',
+ 'errUsupportType' : 'Unsupported file type.',
+ 'errNotUTF8Content' : 'File "$1" is not in UTF-8 and cannot be edited.',
+ 'errNetMount' : 'Unable to mount "$1".',
+ 'errNetMountNoDriver' : 'Unsupported protocol.',
+ 'errNetMountFailed' : 'Mount failed.',
+ 'errNetMountHostReq' : 'Host required.',
+ 'errSessionExpires' : 'Your session has expired due to inactivity.',
+ 'errCreatingTempDir' : 'Unable to create temporary directory: "$1"',
+ 'errFtpDownloadFile' : 'Unable to download file from FTP: "$1"',
+ 'errFtpUploadFile' : 'Unable to upload file to FTP: "$1"',
+ 'errFtpMkdir' : 'Unable to create remote directory on FTP: "$1"',
+ 'errArchiveExec' : 'Error while archiving files: "$1"',
+ 'errExtractExec' : 'Error while extracting files: "$1"',
/******************************* commands names ********************************/
'cmdarchive' : 'أنشئ مجلد مضغوط',
@@ -95,14 +118,19 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'cmdup' : 'تغيير المسار إلى مستوى أعلى',
'cmdupload' : 'رفع ملفات',
'cmdview' : 'عرض',
+ 'cmdresize' : 'Resize & Rotate',
+ 'cmdsort' : 'Sort',
+ 'cmdnetmount' : 'Mount network volume',
/*********************************** buttons ***********************************/
'btnClose' : 'إغلاق',
'btnSave' : 'حفظ',
'btnRm' : 'إزالة',
+ 'btnApply' : 'Apply',
'btnCancel' : 'إلغاء',
'btnNo' : 'لا',
'btnYes' : 'نعم',
+ 'btnMount' : 'Mount',
/******************************** notifications ********************************/
'ntfopen' : 'فتح مجلد',
@@ -121,24 +149,61 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'ntfarchive' : 'ينشئ ملف مضغوط',
'ntfextract' : 'استخراج ملفات من الملف المضغوط ',
'ntfsearch' : 'يبحث عن ملفات',
+ 'ntfresize' : 'Resizing images',
'ntfsmth' : 'يحضر لشيء ما >_<',
+ 'ntfloadimg' : 'Loading image',
+ 'ntfnetmount' : 'Mounting network volume',
+ 'ntfdim' : 'Acquiring image dimension',
/************************************ dates **********************************/
'dateUnknown' : 'غير معلوم',
'Today' : 'اليوم',
'Yesterday' : 'البارحة',
- 'Jan' : 'كانون الثاني',
- 'Feb' : 'شباط',
- 'Mar' : 'آذار',
- 'Apr' : 'نيسان',
- 'May' : 'أيار',
- 'Jun' : 'حزيران',
- 'Jul' : 'تموز',
- 'Aug' : 'آب',
- 'Sep' : 'أيلول',
- 'Oct' : 'تشرين الأول',
- 'Nov' : 'تشرين الثاني',
- 'Dec' : 'كانون الأول ',
+ 'msJan' : 'كانون الثاني',
+ 'msFeb' : 'شباط',
+ 'msMar' : 'آذار',
+ 'msApr' : 'نيسان',
+ 'msMay' : 'أيار',
+ 'msJun' : 'حزيران',
+ 'msJul' : 'تموز',
+ 'msAug' : 'آب',
+ 'msSep' : 'أيلول',
+ 'msOct' : 'تشرين الأول',
+ 'msNov' : 'تشرين الثاني',
+ 'msDec' : 'كانون الأول ',
+ 'January' : 'January',
+ 'February' : 'February',
+ 'March' : 'March',
+ 'April' : 'April',
+ 'May' : 'May',
+ 'June' : 'June',
+ 'July' : 'July',
+ 'August' : 'August',
+ 'September' : 'September',
+ 'October' : 'October',
+ 'November' : 'November',
+ 'December' : 'December',
+ 'Sunday' : 'Sunday',
+ 'Monday' : 'Monday',
+ 'Tuesday' : 'Tuesday',
+ 'Wednesday' : 'Wednesday',
+ 'Thursday' : 'Thursday',
+ 'Friday' : 'Friday',
+ 'Saturday' : 'Saturday',
+ 'Sun' : 'Sun',
+ 'Mon' : 'Mon',
+ 'Tue' : 'Tue',
+ 'Wed' : 'Wed',
+ 'Thu' : 'Thu',
+ 'Fri' : 'Fri',
+ 'Sat' : 'Sat',
+
+ /******************************** sort variants ********************************/
+ 'sortname' : 'by name',
+ 'sortkind' : 'by kind',
+ 'sortsize' : 'by size',
+ 'sortdate' : 'by date',
+ 'sortFoldersFirst' : 'Folders first',
/********************************** messages **********************************/
'confirmReq' : 'يرجى التأكيد',
@@ -201,8 +266,22 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'moveFiles' : 'قص الملفات',
'copyFiles' : 'نسخ الملفات',
'rmFromPlaces' : 'Remove from places',
- 'untitled folder' : 'untitled folder',
- 'untitled file.txt' : 'untitled file.txt',
+ 'aspectRatio' : 'Aspect ratio',
+ 'scale' : 'Scale',
+ 'width' : 'Width',
+ 'height' : 'Height',
+ 'resize' : 'Resize',
+ 'crop' : 'Crop',
+ 'rotate' : 'Rotate',
+ 'rotate-cw' : 'Rotate 90 degrees CW',
+ 'rotate-ccw' : 'Rotate 90 degrees CCW',
+ 'degree' : '°',
+ 'netMountDialogTitle' : 'Mount network volume',
+ 'protocol' : 'Protocol',
+ 'host' : 'Host',
+ 'port' : 'Port',
+ 'user' : 'User',
+ 'pass' : 'Password',
/********************************** mimetypes **********************************/
'kindUnknown' : 'غير معروف',
@@ -224,6 +303,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindTAR' : 'TAR ملف',
'kindGZIP' : 'GZIP ملف',
'kindBZIP' : 'BZIP ملف',
+ 'kindXZ' : 'XZ ملف',
'kindZIP' : 'ZIP ملف',
'kindRAR' : 'RAR ملف',
'kindJAR' : 'Java JAR ملف',
@@ -253,7 +333,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindCSV' : 'ملف CSV',
'kindDOCBOOK' : 'Docbook XML ملف',
// images
- 'kindصورة' : 'صورة',
+ 'kindImage' : 'صورة',
'kindBMP' : 'BMP صورة',
'kindJPEG' : 'JPEG صورة',
'kindGIF' : 'GIF صورة',
@@ -282,9 +362,6 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindVideoMKV' : 'Matroska ملف فيديو',
'kindVideoOGG' : 'Ogg ملف فيديو'
}
- }
+ };
}
-
-
-
diff --git a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.bg.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.bg.js
similarity index 67%
rename from elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.bg.js
rename to elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.bg.js
index 6f8e782..736ee8c 100644
--- a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.bg.js
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.bg.js
@@ -1,13 +1,15 @@
/**
* Bulgarian translation
* @author Stamo Petkov
- * @version 2012-02-18
+ * @version 2014-12-19, 2015-10-20
*/
if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
elFinder.prototype.i18.bg = {
translator : 'Stamo Petkov <stamo.petkov@gmail.com>',
language : 'Български',
direction : 'ltr',
+ dateFormat : 'd M Y h:i A', // 13 Mar 2012 05:27 PM
+ fancyDateFormat : '$1 h:i A', // will produce smth like: Today 12:25 PM
messages : {
/********************************** errors **********************************/
@@ -32,15 +34,15 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'errCmdReq' : 'Запитването от сървъра изисква име на команда.',
'errOpen' : 'Не мога да отворя "$1".',
'errNotFolder' : 'Обектът не е папка.',
- 'errNotFile' : 'Обектът не е фаил.',
+ 'errNotFile' : 'Обектът не е файл.',
'errRead' : 'Не мога да прочета "$1".',
'errWrite' : 'Не мога да пиша в "$1".',
'errPerm' : 'Разрешение отказано.',
'errLocked' : '"$1" е заключен и не може да бъде преименуван, местен или премахван.',
'errExists' : 'Вече съществува файл с име "$1"',
- 'errInvName' : 'Грешно име на фаил.',
+ 'errInvName' : 'Грешно име на файл.',
'errFolderNotFound' : 'Папката не е открита.',
- 'errFileNotFound' : 'Фаилът не е открит.',
+ 'errFileNotFound' : 'Файлът не е открит.',
'errTrgFolderNotFound' : 'Целевата папка "$1" не е намерена.',
'errPopup' : 'Браузъра блокира отварянето на прозорец. За да отворите файла, разрешете отварянето в настройките на браузъра.',
'errMkdir' : 'Не мога да създам папка"$1".',
@@ -48,18 +50,23 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'errRename' : 'Не мога да преименувам "$1".',
'errCopyFrom' : 'Копирането на файлове от том "$1" не е разрешено.',
'errCopyTo' : 'Копирането на файлове в том "$1" не е разрешено.',
- 'errUploadCommon' : 'Грешка при качване.',
- 'errUpload' : 'Не мога да кача "$1".',
+ 'errMkOutLink' : 'Не мога да създам връзка извън началото на ресурса.',
+ 'errUpload' : 'Грешка при качване.',
+ 'errUploadFile' : 'Не мога да кача "$1".',
'errUploadNoFiles' : 'Не са намерени файлове за качване.',
- 'errMaxSize' : 'Данните превишават максимално допостумия размер.',
- 'errFileMaxSize' : 'Файла превишава максимално допустимия размер.',
+ 'errUploadTotalSize' : 'Данните превишават максимално допостумия размер.',
+ 'errUploadFileSize' : 'Файла превишава максимално допустимия размер.',
'errUploadMime' : 'Не е позволен тип на файла.',
'errUploadTransfer' : '"$1" грешка при предаване.',
+ 'errUploadTemp' : 'Не мога да създам временен файл за качване.',
+ 'errNotReplace' : 'Обект "$1" вече съществува на това място и не може да бъде заменен от обект от друг тип.',
+ 'errReplace' : 'Не мога да заменя "$1".',
'errSave' : 'Не мога да запиша "$1".',
'errCopy' : 'Не мога да копирам "$1".',
'errMove' : 'Не мога да преместя "$1".',
'errCopyInItself' : 'Не мога да копирам "$1" върху самия него.',
'errRm' : 'Не мога да премахна "$1".',
+ 'errRmSrc' : 'Не мога да премахна изходния файл(ове).',
'errExtract' : 'Не мога да извлеча файловете от "$1".',
'errArchive' : 'Не мога да създам архив.',
'errArcType' : 'Неподдържан тип на архива.',
@@ -69,7 +76,26 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'errArcSymlinks' : 'От съображения за сигурност няма да бъдат разопаковани архиви съдържащи symlinks.',
'errArcMaxSize' : 'Архивните файлове превишават максимално допустимия размер.',
'errResize' : 'Не мога да преоразмеря "$1".',
- 'errUsupportType' : 'Неподдържан тип файл.',
+ 'errResizeDegree' : 'Невалиден градус за ротация.',
+ 'errResizeRotate' : 'Изображението не е ротирано.',
+ 'errResizeSize' : 'Невалиден размер на изображение.',
+ 'errResizeNoChange' : 'Размерът на изображението не е променен.',
+ 'errUsupportType' : 'Неподдържан тип на файл.',
+ 'errNotUTF8Content' : 'Файл "$1" не е в UTF-8 формат и не може да бъде редактиран.',
+ 'errNetMount' : 'Не мога да монтирам "$1".',
+ 'errNetMountNoDriver' : 'Неподдържан протокол.',
+ 'errNetMountFailed' : 'Монтирането не е успешно.',
+ 'errNetMountHostReq' : 'Хост се изисква.',
+ 'errSessionExpires' : 'Сесията ви изтече поради липса на активност.',
+ 'errCreatingTempDir' : 'Не мога да създам временна директория: "$1"',
+ 'errFtpDownloadFile' : 'Не мога да изтегля файл от FTP: "$1"',
+ 'errFtpUploadFile' : 'Не мога да кача файл на FTP: "$1"',
+ 'errFtpMkdir' : 'Не мога да създам директория на FTP: "$1"',
+ 'errArchiveExec' : 'Грешка при архивиране на файлове: "$1"',
+ 'errExtractExec' : 'Грешка при разархивиране на файлове: "$1"',
+ 'errNetUnMount' : 'Не мога да размонтирам',
+ 'errConvUTF8' : 'Не е конвертируем до UTF-8',
+ 'errFolderUpload' : 'Опитайте Google Chrome, ако искате да качите папка.',
/******************************* commands names ********************************/
'cmdarchive' : 'Създай архив',
@@ -95,10 +121,14 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'cmdrm' : 'Изтрий',
'cmdsearch' : 'Намери файлове',
'cmdup' : 'Една директория нагоре',
- 'cmdupload' : 'Качи файловете',
+ 'cmdupload' : 'Качи файлове',
'cmdview' : 'Виж',
'cmdresize' : 'Размер на изображение',
'cmdsort' : 'Подреди',
+ 'cmdnetmount' : 'Монтирай мрежов ресурс',
+ 'cmdnetunmount': 'Размонтирай',
+ 'cmdplaces' : 'To Places', // added 28.12.2014
+ 'cmdchmod' : 'Change mode', // from v2.1 added 20.6.2015
/*********************************** buttons ***********************************/
'btnClose' : 'Затвори',
@@ -108,6 +138,16 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'btnCancel' : 'Отказ',
'btnNo' : 'Не',
'btnYes' : 'Да',
+ 'btnMount' : 'Монтирай',
+ 'btnApprove': 'Отиди на $1 и одобри',
+ 'btnUnmount': 'Размонтирай',
+ 'btnConv' : 'Конвертирай',
+ 'btnCwd' : 'Тук',
+ 'btnVolume' : 'Ресурс',
+ 'btnAll' : 'Всички',
+ 'btnMime' : 'MIME тип',
+ 'btnFileName':'Име на файл',
+ 'btnSaveClose': 'Запази и затвори',
/******************************** notifications ********************************/
'ntfopen' : 'Отваряне на папка',
@@ -126,40 +166,72 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'ntfarchive' : 'Създавам архив',
'ntfextract' : 'Извличам файловете от архив',
'ntfsearch' : 'Търся файлове',
+ 'ntfresize' : 'Преоразмерявам изображения',
'ntfsmth' : 'Зает съм >_<',
'ntfloadimg' : 'Зареждам изображения',
+ 'ntfnetmount' : 'Монтирам мрежов ресурс',
+ 'ntfnetunmount': 'Размонтирам мрежов ресурс',
+ 'ntfdim' : 'Извличам размерите на изображение',
+ 'ntfreaddir' : 'Извличам информация за папка',
+ 'ntfurl' : 'Взимам URL от връзка',
+ 'ntfchmod' : 'Променям характеристики на файл',
/************************************ dates **********************************/
'dateUnknown' : 'неизвестна',
'Today' : 'Днес',
'Yesterday' : 'Вчера',
- 'Jan' : 'Яну',
- 'Feb' : 'Фев',
- 'Mar' : 'Мар',
- 'Apr' : 'Апр',
- 'May' : 'Май',
- 'Jun' : 'Юни',
- 'Jul' : 'Юли',
- 'Aug' : 'Авг',
- 'Sep' : 'Сеп',
- 'Oct' : 'Окт',
- 'Nov' : 'Ное',
- 'Dec' : 'Дек',
+ 'msJan' : 'яну',
+ 'msFeb' : 'фев',
+ 'msMar' : 'мар',
+ 'msApr' : 'апр',
+ 'msMay' : 'май',
+ 'msJun' : 'юни',
+ 'msJul' : 'юли',
+ 'msAug' : 'авг',
+ 'msSep' : 'сеп',
+ 'msOct' : 'окт',
+ 'msNov' : 'ное',
+ 'msDec' : 'дек',
+ 'January' : 'януари',
+ 'February' : 'февруари',
+ 'March' : 'март',
+ 'April' : 'април',
+ 'May' : 'май',
+ 'June' : 'юни',
+ 'July' : 'юли',
+ 'August' : 'август',
+ 'September' : 'септември',
+ 'October' : 'октомври',
+ 'November' : 'ноември',
+ 'December' : 'декември',
+ 'Sunday' : 'неделя',
+ 'Monday' : 'понеделник',
+ 'Tuesday' : 'вторник',
+ 'Wednesday' : 'сряда',
+ 'Thursday' : 'четвъртък',
+ 'Friday' : 'петък',
+ 'Saturday' : 'събота',
+ 'Sun' : 'нед',
+ 'Mon' : 'пон',
+ 'Tue' : 'вто',
+ 'Wed' : 'сря',
+ 'Thu' : 'чет',
+ 'Fri' : 'пет',
+ 'Sat' : 'съб',
/******************************** sort variants ********************************/
- 'sortnameDirsFirst' : 'по име (първо папките)',
- 'sortkindDirsFirst' : 'по вид (първо папките)',
- 'sortsizeDirsFirst' : 'по размер (първо папките)',
- 'sortdateDirsFirst' : 'по дата (първо папките)',
'sortname' : 'по име',
'sortkind' : 'по вид',
'sortsize' : 'по размер',
'sortdate' : 'по дата',
+ 'sortFoldersFirst' : 'Папките първи',
/********************************** messages **********************************/
'confirmReq' : 'Изисква се подтвърждение',
'confirmRm' : 'Сигурни ли сте, че желаете да премахнете файловете? Това действие е необратимо!',
- 'confirmRepl' : 'Да заменя ли стария фаил с новия?',
+ 'confirmRepl' : 'Да заменя ли стария файл с новия?',
+ 'confirmConvUTF8' : 'Не е в UTF-8 формат Конвертиране до UTF-8? Съдържанието става в UTF-8 формат при запазване след конверсията.',
+ 'confirmNotSave' : 'Има направени промени. Те ще бъдат загубени, ако не запишете промените.',
'apllyAll' : 'Приложи за всички',
'name' : 'Име',
'size' : 'Размер',
@@ -172,7 +244,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'and' : 'и',
'unknown' : 'непознат',
'selectall' : 'Избери всички файлове',
- 'selectfiles' : 'Избери фаил(ове)',
+ 'selectfiles' : 'Избери файл(ове)',
'selectffile' : 'Избери първият файл',
'selectlfile' : 'Избери последният файл',
'viewlist' : 'Изглед списък',
@@ -192,9 +264,9 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'searcresult' : 'Резултати от търсенето',
'selected' : 'Избрани елементи',
'about' : 'За',
- 'shortcuts' : 'преки пътища',
+ 'shortcuts' : 'Бързи клавиши',
'help' : 'Помощ',
- 'webfm' : 'Файлов менаджер за web',
+ 'webfm' : 'Файлов менаджер за Интернет',
'ver' : 'Версия',
'protocolver' : 'версия на протокола',
'homepage' : 'Начало',
@@ -213,20 +285,39 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'shortcutsof' : 'Преките пътища са изключени',
'dropFiles' : 'Пуснете файловете тук',
'or' : 'или',
- 'selectForUpload' : 'Изберете файлове за качване',
+ 'selectForUpload' : 'Избери файлове за качване',
'moveFiles' : 'Премести файлове',
'copyFiles' : 'Копирай файлове',
'rmFromPlaces' : 'Премахни от Места',
- 'untitled folder' : 'Неозаглавена папка',
- 'untitled file.txt' : 'неозаглавен_файл.txt',
'aspectRatio' : 'Отношение',
'scale' : 'Мащаб',
'width' : 'Ширина',
'height' : 'Височина',
- 'mode' : 'Режим',
'resize' : 'Преоразмери',
'crop' : 'Отрежи',
-
+ 'rotate' : 'Ротирай',
+ 'rotate-cw' : 'Ротирай 90 градуса CW',
+ 'rotate-ccw' : 'Ротирай 90 градуса CCW',
+ 'degree' : '°',
+ 'netMountDialogTitle' : 'Монтиране на мрежов ресурс',
+ 'protocol' : 'Протокол',
+ 'host' : 'Хост',
+ 'port' : 'Порт',
+ 'user' : 'Потребител',
+ 'pass' : 'Парола',
+ 'confirmUnmount' : 'Ще размонтирате $1?',
+ 'dropFilesBrowser': 'Пусни или вмъкни файлове от браузера',
+ 'dropPasteFiles' : 'Пусни или вмъкни файлове тук',
+ 'encoding' : 'Кодировка',
+ 'locale' : 'Локали',
+ 'searchTarget' : 'Цел: $1',
+ 'searchMime' : 'Търсене по въведен MIME тип',
+ 'owner' : 'Собственик',
+ 'group' : 'Група',
+ 'other' : 'Други',
+ 'execute' : 'Изпълнява',
+ 'perm' : 'Разрешение',
+ 'mode' : 'Поведение',
/********************************** mimetypes **********************************/
'kindUnknown' : 'Непознат',
@@ -248,6 +339,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindTAR' : 'TAR архив',
'kindGZIP' : 'GZIP архив',
'kindBZIP' : 'BZIP архив',
+ 'kindXZ' : 'XZ архив',
'kindZIP' : 'ZIP архив',
'kindRAR' : 'RAR архив',
'kindJAR' : 'Java JAR файл',
@@ -276,6 +368,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindAWK' : 'AWK изходен код',
'kindCSV' : 'CSV стойности разделени със запетая',
'kindDOCBOOK' : 'Docbook XML документ',
+ 'kindMarkdown' : 'Markdown текст',
// images
'kindImage' : 'Изображение',
'kindBMP' : 'BMP изображение',
@@ -306,5 +399,6 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindVideoMKV' : 'Matroska филм',
'kindVideoOGG' : 'Ogg филм'
}
- }
+ };
}
+
diff --git a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.ca.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.ca.js
similarity index 79%
rename from elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.ca.js
rename to elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.ca.js
index afa1edf..1a9156b 100644
--- a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.ca.js
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.ca.js
@@ -1,13 +1,15 @@
/**
* Catalan translation
* @author Sergio Jovani
- * @version 2011-11-13
+ * @version 2014-12-19
*/
if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
elFinder.prototype.i18.ca = {
translator : 'Sergio Jovani <lesergi@gmail.com>',
language : 'Català',
direction : 'ltr',
+ dateFormat : 'M d, Y h:i A', // Mar 13, 2012 05:27 PM
+ fancyDateFormat : '$1 h:i A', // will produce smth like: Today 12:25 PM
messages : {
/********************************** errors **********************************/
@@ -48,18 +50,21 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'errRename' : 'No s\'ha pogut canviar el nom de "$1".',
'errCopyFrom' : 'No està permès copiar fitxers des del volum "$1".',
'errCopyTo' : 'No està permès copiar fitxers al volum "$1".',
- 'errUploadCommon' : 'S\'ha produït un error en la càrrega.',
- 'errUpload' : 'No s\'ha pogut carregar "$1".',
+ 'errUpload' : 'S\'ha produït un error en la càrrega.',
+ 'errUploadFile' : 'No s\'ha pogut carregar "$1".',
'errUploadNoFiles' : 'No s\'han trobat fitxers per carregar.',
- 'errMaxSize' : 'Les dades excedeixen la mida màxima permesa.',
- 'errFileMaxSize' : 'El fitxer excedeix la mida màxima permesa.',
+ 'errUploadTotalSize' : 'Les dades excedeixen la mida màxima permesa.',
+ 'errUploadFileSize' : 'El fitxer excedeix la mida màxima permesa.',
'errUploadMime' : 'El tipus de fitxer no està permès.',
'errUploadTransfer' : 'S\'ha produït un error en transferir "$1".',
+ 'errNotReplace' : 'Object "$1" already exists at this location and can not be replaced by object with another type.',
+ 'errReplace' : 'Unable to replace "$1".',
'errSave' : 'No s\'ha pogut desar "$1".',
'errCopy' : 'No s\'ha pogut copiar "$1".',
'errMove' : 'No s\'ha pogut moure "$1".',
'errCopyInItself' : 'No s\'ha pogut copiar "$1" a si mateix.',
'errRm' : 'No s\'ha pogut suprimir "$1".',
+ 'errRmSrc' : 'Unable remove source file(s).',
'errExtract' : 'No s\'han pogut extreure els fitxers de "$1".',
'errArchive' : 'No s\'ha pogut crear l\'arxiu.',
'errArcType' : 'El tipus d\'arxiu no està suportat.',
@@ -69,7 +74,23 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'errArcSymlinks' : 'Per raons de seguretat, no es permet extreure arxius que contenen enllaços simbòlics.',
'errArcMaxSize' : 'Els fitxers de l\'arxiu excedeixen la mida màxima permesa.',
'errResize' : 'No s\'ha pogut redimensionar "$1".',
+ 'errResizeDegree' : 'Invalid rotate degree.',
+ 'errResizeRotate' : 'Unable to rotate image.',
+ 'errResizeSize' : 'Invalid image size.',
+ 'errResizeNoChange' : 'Image size not changed.',
'errUsupportType' : 'El tipus de fitxer no està suportat.',
+ 'errNotUTF8Content' : 'File "$1" is not in UTF-8 and cannot be edited.',
+ 'errNetMount' : 'Unable to mount "$1".',
+ 'errNetMountNoDriver' : 'Unsupported protocol.',
+ 'errNetMountFailed' : 'Mount failed.',
+ 'errNetMountHostReq' : 'Host required.',
+ 'errSessionExpires' : 'Your session has expired due to inactivity.',
+ 'errCreatingTempDir' : 'Unable to create temporary directory: "$1"',
+ 'errFtpDownloadFile' : 'Unable to download file from FTP: "$1"',
+ 'errFtpUploadFile' : 'Unable to upload file to FTP: "$1"',
+ 'errFtpMkdir' : 'Unable to create remote directory on FTP: "$1"',
+ 'errArchiveExec' : 'Error while archiving files: "$1"',
+ 'errExtractExec' : 'Error while extracting files: "$1"',
/******************************* commands names ********************************/
'cmdarchive' : 'Crea arxiu',
@@ -99,6 +120,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'cmdview' : 'Visualitza',
'cmdresize' : 'Redimensiona la imatge',
'cmdsort' : 'Ordena',
+ 'cmdnetmount' : 'Mount network volume',
/*********************************** buttons ***********************************/
'btnClose' : 'Tanca',
@@ -108,6 +130,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'btnCancel' : 'Cancel·la',
'btnNo' : 'No',
'btnYes' : 'Sí',
+ 'btnMount' : 'Mount',
/******************************** notifications ********************************/
'ntfopen' : 'S\'està obrint la carpeta',
@@ -126,35 +149,61 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'ntfarchive' : 'S\'està creant l\'arxiu',
'ntfextract' : 'S\'estan extreient els fitxers de l\'arxiu',
'ntfsearch' : 'S\'estan cercant els fitxers',
+ 'ntfresize' : 'Resizing images',
'ntfsmth' : 'S\'estan realitzant operacions',
- 'ntfloadimg' : 'S\'està carregant la imatge',
+ 'ntfloadimg' : 'S\'està carregant la imatge',
+ 'ntfnetmount' : 'Mounting network volume',
+ 'ntfdim' : 'Acquiring image dimension',
/************************************ dates **********************************/
'dateUnknown' : 'desconegut',
'Today' : 'Avui',
'Yesterday' : 'Ahir',
- 'Jan' : 'gen.',
- 'Feb' : 'febr.',
- 'Mar' : 'març',
- 'Apr' : 'abr.',
- 'May' : 'maig',
- 'Jun' : 'juny',
- 'Jul' : 'jul.',
- 'Aug' : 'ag.',
- 'Sep' : 'set.',
- 'Oct' : 'oct.',
- 'Nov' : 'nov.',
- 'Dec' : 'des.',
+ 'msJan' : 'gen.',
+ 'msFeb' : 'febr.',
+ 'msMar' : 'març',
+ 'msApr' : 'abr.',
+ 'msMay' : 'maig',
+ 'msJun' : 'juny',
+ 'msJul' : 'jul.',
+ 'msAug' : 'ag.',
+ 'msSep' : 'set.',
+ 'msOct' : 'oct.',
+ 'msNov' : 'nov.',
+ 'msDec' : 'des.',
+ 'January' : 'January',
+ 'February' : 'February',
+ 'March' : 'March',
+ 'April' : 'April',
+ 'May' : 'May',
+ 'June' : 'June',
+ 'July' : 'July',
+ 'August' : 'August',
+ 'September' : 'September',
+ 'October' : 'October',
+ 'November' : 'November',
+ 'December' : 'December',
+ 'Sunday' : 'Sunday',
+ 'Monday' : 'Monday',
+ 'Tuesday' : 'Tuesday',
+ 'Wednesday' : 'Wednesday',
+ 'Thursday' : 'Thursday',
+ 'Friday' : 'Friday',
+ 'Saturday' : 'Saturday',
+ 'Sun' : 'Sun',
+ 'Mon' : 'Mon',
+ 'Tue' : 'Tue',
+ 'Wed' : 'Wed',
+ 'Thu' : 'Thu',
+ 'Fri' : 'Fri',
+ 'Sat' : 'Sat',
/******************************** sort variants ********************************/
- 'sortnameDirsFirst' : 'per nom (carpetes primer)',
- 'sortkindDirsFirst' : 'per tipus (carpetes primer)',
- 'sortsizeDirsFirst' : 'per mida (carpetes primer)',
- 'sortdateDirsFirst' : 'per data (carpetes primer)',
'sortname' : 'per nom',
'sortkind' : 'per tipus',
'sortsize' : 'per mida',
'sortdate' : 'per data',
+ 'sortFoldersFirst' : 'Folders first',
/********************************** messages **********************************/
'confirmReq' : 'Es necessita confirmació',
@@ -217,15 +266,22 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'moveFiles' : 'Mou els fitxers',
'copyFiles' : 'Copia els fitxers',
'rmFromPlaces' : 'Suprimeix dels llocs',
- 'untitled folder' : 'carpeta sense nom',
- 'untitled file.txt' : 'fitxer sense nom.txt',
'aspectRatio' : 'Relació d\'aspecte',
'scale' : 'Escala',
'width' : 'Amplada',
'height' : 'Alçada',
- 'mode' : 'Mode',
- 'resize' : 'Redimensiona',
- 'crop' : 'Retalla',
+ 'resize' : 'Redimensiona',
+ 'crop' : 'Retalla',
+ 'rotate' : 'Rotate',
+ 'rotate-cw' : 'Rotate 90 degrees CW',
+ 'rotate-ccw' : 'Rotate 90 degrees CCW',
+ 'degree' : '°',
+ 'netMountDialogTitle' : 'Mount network volume',
+ 'protocol' : 'Protocol',
+ 'host' : 'Host',
+ 'port' : 'Port',
+ 'user' : 'User',
+ 'pass' : 'Password',
/********************************** mimetypes **********************************/
'kindUnknown' : 'Desconegut',
@@ -247,6 +303,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindTAR' : 'Arxiu TAR',
'kindGZIP' : 'Arxiu GZIP',
'kindBZIP' : 'Arxiu BZIP',
+ 'kindXZ' : 'Arxiu XZ',
'kindZIP' : 'Arxiu ZIP',
'kindRAR' : 'Arxiu RAR',
'kindJAR' : 'Fitxer JAR de Java',
@@ -305,6 +362,6 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindVideoMKV' : 'Fitxer de vídeo Matroska',
'kindVideoOGG' : 'Fitxer de vídeo Ogg'
}
- }
+ };
}
diff --git a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.cs.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.cs.js
similarity index 55%
rename from elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.cs.js
rename to elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.cs.js
index fce735c..15024e9 100644
--- a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.cs.js
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.cs.js
@@ -1,26 +1,27 @@
/**
* Czech translation
* @author Jay Gridley
- * @version 2012-03-23
+ * @author RobiNN
+ * @version 2016-9-16
*/
if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
elFinder.prototype.i18.cs = {
- translator : 'Jay Gridley <gridley.jay@hotmail.com>',
+ translator : 'Jay Gridley <gridley.jay@hotmail.com>, RobiNN <admin@robonetwork.cf>',
language : 'čeština',
direction : 'ltr',
- dateFormat : 'd. m. Y H:i',
- fancyDateFormat : '$1 H:i',
+ dateFormat : 'd. m. Y H:i', // Mar 13, 2012 05:27 PM
+ fancyDateFormat : '$1 H:i', // will produce smth like: Today 12:25 PM
messages : {
-
+
/********************************** errors **********************************/
'error' : 'Chyba',
'errUnknown' : 'Neznámá chyba.',
'errUnknownCmd' : 'Neznámý příkaz.',
'errJqui' : 'Nedostačující konfigurace jQuery UI. Musí být zahrnuty komponenty Selectable, Draggable a Droppable.',
- 'errNode' : 'elFinder vyžaduje vytvořený DOM Element.',
+ 'errNode' : 'elFinder vyžaduje vytvořený DOM Elementu.',
'errURL' : 'Chybná konfigurace elFinderu! Není nastavena hodnota URL.',
'errAccess' : 'Přístup zamítnut.',
- 'errConnect' : 'Nepodařilo se připojit k backendu (konektoru).',
+ 'errConnect' : 'Nepodařilo se připojit k backendu.',
'errAbort' : 'Připojení zrušeno.',
'errTimeout' : 'Vypšel limit pro připojení.',
'errNotFound' : 'Backend nenalezen.',
@@ -50,18 +51,23 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'errRename' : 'Nepodařilo se přejmenovat "$1".',
'errCopyFrom' : 'Kopírování souborů z oddílu "$1" není povoleno.',
'errCopyTo' : 'Kopírování souborů do oddílu "$1" není povoleno.',
- 'errUploadCommon' : 'Chyba nahrávání.',
- 'errUpload' : 'Nepodařilo se nahrát "$1".',
+ 'errMkOutLink' : 'Nelze vytvořit odkaz mimo kořenového svazku.', // from v2.1 added 03.10.2015
+ 'errUpload' : 'Chyba nahrávání.', // old name - errUploadCommon
+ 'errUploadFile' : 'Nepodařilo se nahrát "$1".', // old name - errUpload
'errUploadNoFiles' : 'Nejsou vybrány žádné soubory k nahrání.',
- 'errMaxSize' : 'Překročena maximální povolená velikost dat.',
- 'errFileMaxSize' : 'Překročena maximální povolená velikost souboru.',
+ 'errUploadTotalSize' : 'Překročena maximální povolená velikost dat.', // old name - errMaxSize
+ 'errUploadFileSize' : 'Překročena maximální povolená velikost souboru.', // old name - errFileMaxSize
'errUploadMime' : 'Nepovolený typ souboru.',
'errUploadTransfer' : '"$1" chyba přenosu.',
+ 'errUploadTemp' : 'Nelze vytvořit dočasný soubor pro upload.', // from v2.1 added 26.09.2015
+ 'errNotReplace' : 'Objekt "$1" v tomto umístění již existuje a nelze jej nahradit s jiným typem objektu.',
+ 'errReplace' : 'Nelze nahradit "$1".',
'errSave' : '"$1" nelze uložit.',
'errCopy' : '"$1" nelze zkopírovat.',
'errMove' : '"$1" nelze přemístit.',
'errCopyInItself' : '"$1" nelze zkopírovat do sebe sama.',
'errRm' : '"$1" nelze odstranit.',
+ 'errRmSrc' : 'Nelze odstranit zdrojový soubor(y).',
'errExtract' : 'Nelze extrahovat soubory z "$1".',
'errArchive' : 'Nelze vytvořit archív.',
'errArcType' : 'Nepodporovaný typ archívu.',
@@ -71,7 +77,28 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'errArcSymlinks' : 'Z bezpečnostních důvodů je zakázáno rozbalit archívy obsahující symlinky.',
'errArcMaxSize' : 'Soubory archívu překračují maximální povolenou velikost.',
'errResize' : 'Nepodařilo se změnit velikost obrázku "$1".',
+ 'errResizeDegree' : 'Neplatný stupeň rotace.', // added 7.3.2013
+ 'errResizeRotate' : 'Nelze otočit obrázek.', // added 7.3.2013
+ 'errResizeSize' : 'Neplatná velikost obrázku.', // added 7.3.2013
+ 'errResizeNoChange' : 'Velikost obrazu se nezmění.', // added 7.3.2013
'errUsupportType' : 'Nepodporovaný typ souboru.',
+ 'errNotUTF8Content' : 'Soubor "$1" nemá ani obsah kódovaný v UTF-8 a nelze změnit.', // added 9.11.2011
+ 'errNetMount' : 'Není možné se připojit "$ 1".', // added 17.04.2012
+ 'errNetMountNoDriver' : 'Nepodporovaný protokol.', // added 17.04.2012
+ 'errNetMountFailed' : 'Připojení se nezdařilo.', // added 17.04.2012
+ 'errNetMountHostReq' : 'Hostitel se vyžaduje.', // added 18.04.2012
+ 'errSessionExpires' : 'Relace byla ukončena z důvodu nečinnosti.',
+ 'errCreatingTempDir' : 'Nelze vytvořit dočasný adresář: "$1"',
+ 'errFtpDownloadFile' : 'Nelze stáhnout soubor z FTP: "$1"',
+ 'errFtpUploadFile' : 'Nelze nahrát soubor na FTP: "$1"',
+ 'errFtpMkdir' : 'Nepodařilo se vytvořit vzdálený adresář na FTP: "$1"',
+ 'errArchiveExec' : 'Při archivaci do souboru došlo k chybě: "$1"',
+ 'errExtractExec' : 'Chyba při extrahování souboru: "$1"',
+ 'errNetUnMount' : 'Nepodařilo se odpojit', // from v2.1 added 30.04.2012
+ 'errConvUTF8' : 'Nelze převést na UTF-8', // from v2.1 added 08.04.2014
+ 'errFolderUpload' : 'Pokud chcete nahrát do složky, zkuste použít prohlížeč Google Chrome.', // from v2.1 added 26.6.2015
+ 'errSearchTimeout' : 'Vypršení časového limitu při hledání "$1". Je částečně výsledkem hledání.', // from v2.1 added 12.1.2016
+ 'errReauthRequire' : 'Opětovné povolení je nutné.', // from v2.1.10 added 3.24.2016
/******************************* commands names ********************************/
'cmdarchive' : 'Vytvořit archív',
@@ -88,6 +115,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'cmdhome' : 'Domů',
'cmdinfo' : 'Zobrazit informace',
'cmdmkdir' : 'Nová složka',
+ 'cmdmkdirin' : 'Do nové složky', // from v2.1.7 added 19.2.2016
'cmdmkfile' : 'Nový textový soubor',
'cmdopen' : 'Otevřít',
'cmdpaste' : 'Vložit',
@@ -101,6 +129,14 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'cmdview' : 'Zobrazit',
'cmdresize' : 'Změnit velikost',
'cmdsort' : 'Seřadit',
+ 'cmdnetmount' : 'Připojit síťovou jednotku', // added 18.04.2012
+ 'cmdnetunmount': 'Odpojit', // from v2.1 added 30.04.2012
+ 'cmdplaces' : 'Umístění', // added 28.12.2014
+ 'cmdchmod' : 'Změnit režim', // from v2.1 added 20.6.2015
+ 'cmdopendir' : 'Otevření složky', // from v2.1 added 13.1.2016
+ 'cmdcolwidth' : 'Obnovení šířku sloupce', // from v2.1.13 added 12.06.2016
+ 'cmdfullscreen': 'Celá obrazovka', // from v2.1.15 added 03.08.2016
+ 'cmdmove' : 'Posouvat', // from v2.1.15 added 21.08.2016
/*********************************** buttons ***********************************/
'btnClose' : 'Zavřít',
@@ -110,7 +146,18 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'btnCancel' : 'Zrušit',
'btnNo' : 'Ne',
'btnYes' : 'Ano',
-
+ 'btnMount' : 'Připojit', // added 18.04.2012
+ 'btnApprove': 'Přejít do části 1 $ & schválit', // from v2.1 added 26.04.2012
+ 'btnUnmount': 'Odpojit', // from v2.1 added 30.04.2012
+ 'btnConv' : 'Převést', // from v2.1 added 08.04.2014
+ 'btnCwd' : 'Tu', // from v2.1 added 22.5.2015
+ 'btnVolume' : 'Médium', // from v2.1 added 22.5.2015
+ 'btnAll' : 'Všechno', // from v2.1 added 22.5.2015
+ 'btnMime' : 'MIME typ', // from v2.1 added 22.5.2015
+ 'btnFileName':'Název souboru', // from v2.1 added 22.5.2015
+ 'btnSaveClose': 'Uložit & zavřít', // from v2.1 added 12.6.2015
+ 'btnBackup' : 'Zálohovat', // from v2.1 added 28.11.2015
+
/******************************** notifications ********************************/
'ntfopen' : 'Otevírání složky',
'ntffile' : 'Otevírání souboru',
@@ -128,25 +175,34 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'ntfarchive' : 'Vytváření archívu',
'ntfextract' : 'Rozbalování souborů z archívu',
'ntfsearch' : 'Vyhledávání souborů',
+ 'ntfresize' : 'Změna velikosti obrázků',
'ntfsmth' : 'Čekejte prosím...',
'ntfloadimg' : 'Načítání obrázků',
-
+ 'ntfnetmount' : 'Připojení síťového média', // added 18.04.2012
+ 'ntfnetunmount': 'Odpojení síťového média', // from v2.1 added 30.04.2012
+ 'ntfdim' : 'Získejte rozměr obrazu', // added 20.05.2013
+ 'ntfreaddir' : 'Přečtěte si informace o složce', // from v2.1 added 01.07.2013
+ 'ntfurl' : 'Získejte adresu URL odkazu', // from v2.1 added 11.03.2014
+ 'ntfchmod' : 'Změna souboru', // from v2.1 added 20.6.2015
+ 'ntfpreupload': 'Zkontrolujte název nahravaného souboru', // from v2.1 added 31.11.2015
+ 'ntfzipdl' : 'Vytvořit soubor ke stažení', // from v2.1.7 added 23.1.2016
+
/************************************ dates **********************************/
'dateUnknown' : 'neznámý',
'Today' : 'Dnes',
'Yesterday' : 'Včera',
- 'Jan' : 'Led',
- 'Feb' : 'Úno',
- 'Mar' : 'Bře',
- 'Apr' : 'Dub',
- 'May' : 'Kvě',
- 'Jun' : 'Čer',
- 'Jul' : 'Čec',
- 'Aug' : 'Srp',
- 'Sep' : 'Zář',
- 'Oct' : 'Říj',
- 'Nov' : 'Lis',
- 'Dec' : 'Pro',
+ 'msJan' : 'Led',
+ 'msFeb' : 'Úno',
+ 'msMar' : 'Bře',
+ 'msApr' : 'Dub',
+ 'msMay' : 'Kvě',
+ 'msJun' : 'Čer',
+ 'msJul' : 'Čec',
+ 'msAug' : 'Srp',
+ 'msSep' : 'Zář',
+ 'msOct' : 'Říj',
+ 'msNov' : 'Lis',
+ 'msDec' : 'Pro',
'January' : 'Leden',
'February' : 'Únor',
'March' : 'Březen',
@@ -173,21 +229,31 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'Thu' : 'Čt',
'Fri' : 'Pá',
'Sat' : 'So',
+
/******************************** sort variants ********************************/
- 'sortnameDirsFirst' : 'dle jména (složky přednostně)',
- 'sortkindDirsFirst' : 'dle typu (složky přednostně)',
- 'sortsizeDirsFirst' : 'dle veliksoti (složky přednostně)',
- 'sortdateDirsFirst' : 'dle data (složky přednostně',
'sortname' : 'dle jména',
'sortkind' : 'dle typu',
'sortsize' : 'dle velikosti',
'sortdate' : 'dle data',
+ 'sortFoldersFirst' : 'Napřed složky',
+ 'sortperm' : 'dle povolení', // from v2.1.13 added 13.06.2016
+ 'sortmode' : 'dle módu', // from v2.1.13 added 13.06.2016
+ 'sortowner' : 'dle majitele', // from v2.1.13 added 13.06.2016
+ 'sortgroup' : 'dle skupiny', // from v2.1.13 added 13.06.2016
+ 'sortAlsoTreeview' : 'Také stromové zobrazení', // from v2.1.15 added 01.08.2016
+
+ /********************************** new items **********************************/
+ 'untitled file.txt' : 'Nový textový soubor.txt', // added 10.11.2015
+ 'untitled folder' : 'Nová složka', // added 10.11.2015
+ 'Archive' : 'Nový archiv', // from v2.1 added 10.11.2015
/********************************** messages **********************************/
- 'confirmReq' : 'Požadováno potvržení',
+ 'confirmReq' : 'Požadováno potvrzení',
'confirmRm' : 'Opravdu chcete odstranit tyto soubory? Operace nelze vrátit!',
'confirmRepl' : 'Nahradit staré soubory novými?',
- 'apllyAll' : 'Všem',
+ 'confirmConvUTF8' : 'Není v UTF-8, převést do UTF-8? Obsah po převodu se stává UTF-8.', // from v2.1 added 08.04.2014
+ 'confirmNotSave' : 'Byl změněn. Pokud obsahuje neuložené změny, dojde ke ztrátě práce.', // from v2.1 added 15.7.2015
+ 'apllyAll' : 'Pro všechny',
'name' : 'Název',
'size' : 'Velikost',
'perms' : 'Práva',
@@ -195,7 +261,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kind' : 'Typ',
'read' : 'čtení',
'write' : 'zápis',
- 'noaccess' : 'přístup nepovolen',
+ 'noaccess' : 'přístup odepřen',
'and' : 'a',
'unknown' : 'neznámý',
'selectall' : 'Vybrat všechny soubory',
@@ -219,16 +285,16 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'searcresult' : 'Výsledky hledání',
'selected' : 'vybrané položky',
'about' : 'O softwaru',
- 'shortcuts' : 'Zástupci',
+ 'shortcuts' : 'Zkratky',
'help' : 'Nápověda',
'webfm' : 'Webový správce souborů',
'ver' : 'Verze',
'protocolver' : 'verze protokolu',
'homepage' : 'Domovská stránka projektu',
'docs' : 'Dokumentace',
- 'github' : 'Fork us on Github',
- 'twitter' : 'Follow us on Twitter',
- 'facebook' : 'Join us on Facebook',
+ 'github' : 'Najdete nás na Gitgube',
+ 'twitter' : 'Následujte nás na Twitteri',
+ 'facebook' : 'Připojte se k nám na Facebooku',
'team' : 'Tým',
'chiefdev' : 'séf vývojářů',
'developer' : 'vývojár',
@@ -237,32 +303,73 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'translator' : 'překlad',
'icons' : 'Ikony',
'dontforget' : 'a nezapomeňte si vzít plavky',
- 'shortcutsof' : 'Zástupci nejsou povoleni',
- 'dropFiles' : 'Přetáhněte soubory sem',
+ 'shortcutsof' : 'Zkratky nejsou povoleny',
+ 'dropFiles' : 'Sem přetáhněte soubory',
'or' : 'nebo',
'selectForUpload' : 'Vyberte soubory',
'moveFiles' : 'Přesunout sobory',
- 'copyFiles' : 'Zkupírovat soubory',
+ 'copyFiles' : 'Zkopírovat soubory',
'rmFromPlaces' : 'Odstranit z míst',
- 'untitled folder' : 'bez názvu',
- 'untitled file.txt' : 'nepojmenovaný soubor.txt',
'aspectRatio' : 'Poměr stran',
'scale' : 'Měřítko',
'width' : 'Šířka',
'height' : 'Výška',
- 'mode' : 'Mód',
'resize' : 'Změnit vel.',
- 'crop' : 'Ožezat',
+ 'crop' : 'Ořezat',
'rotate' : 'Otočit',
'rotate-cw' : 'Otočit o +90 stupňů',
'rotate-ccw' : 'Otočit o -90 stupňů',
'degree' : ' stupňů',
+ 'netMountDialogTitle' : 'Připojení síťového média', // added 18.04.2012
+ 'protocol' : 'Protokol', // added 18.04.2012
+ 'host' : 'Host', // added 18.04.2012
+ 'port' : 'Port', // added 18.04.2012
+ 'user' : 'Uživatel', // added 18.04.2012
+ 'pass' : 'Heslo', // added 18.04.2012
+ 'confirmUnmount' : 'Chcete odpojit $1?', // from v2.1 added 30.04.2012
+ 'dropFilesBrowser': 'Přemístěte nebo přesuňte soubory z prohlížeče', // from v2.1 added 30.05.2012
+ 'dropPasteFiles' : 'Zde přemístěte nebo přesuňte soubory a adresy URL', // from v2.1 added 07.04.2014
+ 'encoding' : 'Kódování', // from v2.1 added 19.12.2014
+ 'locale' : 'Lokalizce', // from v2.1 added 19.12.2014
+ 'searchTarget' : 'Cíl: $1', // from v2.1 added 22.5.2015
+ 'searchMime' : 'Vyhledávání podle vstupního MIME typu', // from v2.1 added 22.5.2015
+ 'owner' : 'Majitel', // from v2.1 added 20.6.2015
+ 'group' : 'Skupina', // from v2.1 added 20.6.2015
+ 'other' : 'Ostatní', // from v2.1 added 20.6.2015
+ 'execute' : 'Spustit', // from v2.1 added 20.6.2015
+ 'perm' : 'Povolení', // from v2.1 added 20.6.2015
+ 'mode' : 'Režim', // from v2.1 added 20.6.2015
+ 'emptyFolder' : 'Složka je prázdná', // from v2.1.6 added 30.12.2015
+ 'emptyFolderDrop' : 'Složka je prázdná, přesunout nebo zkontrolovat položky', // from v2.1.6 added 30.12.2015
+ 'emptyFolderLTap' : 'Složka je prázdná, dlouhim kliknutím přidáte položky', // from v2.1.6 added 30.12.2015
+ 'quality' : 'Kvalita', // from v2.1.6 added 5.1.2016
+ 'autoSync' : 'Automatická synchronizace', // from v2.1.6 added 10.1.2016
+ 'moveUp' : 'Přesunout nahoru', // from v2.1.6 added 18.1.2016
+ 'getLink' : 'Získat URL odkaz', // from v2.1.7 added 9.2.2016
+ 'selectedItems' : 'Vybrané položky ($1)', // from v2.1.7 added 2.19.2016
+ 'folderId' : 'ID složky', // from v2.1.10 added 3.25.2016
+ 'offlineAccess' : 'Povolit přístup offline', // from v2.1.10 added 3.25.2016
+ 'reAuth' : 'Znovu ověřit', // from v2.1.10 added 3.25.2016
+ 'nowLoading' : 'Načítání...', // from v2.1.12 added 4.26.2016
+ 'openMulti' : 'Otevření více souborů', // from v2.1.12 added 5.14.2016
+ 'openMultiConfirm': 'Pokoušíte se otevřít soubor $1. Chcete jej otevřít v prohlížeči?', // from v2.1.12 added 5.14.2016
+ 'emptySearch' : 'Výsledky hledání jsou prázdné', // from v2.1.12 added 5.16.2016
+ 'editingFile' : 'Upravujete soubor.', // from v2.1.13 added 6.3.2016
+ 'hasSelected' : 'Vybrali jste $1 položky.', // from v2.1.13 added 6.3.2016
+ 'hasClipboard' : 'Máte $1 položky v schránce.', // from v2.1.13 added 6.3.2016
+ 'incSearchOnly' : 'Inkrementální hledání je pouze z aktuálního zobrazení.', // from v2.1.13 added 6.30.2016
+ 'reinstate' : 'Obnovit', // from v2.1.15 added 3.8.2016
+ 'complete' : '$1 kompletní', // from v2.1.15 added 21.8.2016
+ 'contextmenu' : 'Kontextové menu', // from v2.1.15 added 9.9.2016
+ 'pageTurning' : 'Otáčení stránky', // from v2.1.15 added 9.10.2016
+ 'volumeRoots' : 'Kořeny média', // from v2.1.16 added 16.10.2016
/********************************** mimetypes **********************************/
'kindUnknown' : 'Neznámý',
+ 'kindRoot' : 'Kořen média', // from v2.1.16 added 16.10.2016
'kindFolder' : 'Složka',
- 'kindAlias' : 'Odkaz',
- 'kindAliasBroken' : 'Neplatný odkaz',
+ 'kindAlias' : 'Alias',
+ 'kindAliasBroken' : 'Zlomený alias',
// applications
'kindApp' : 'Aplikace',
'kindPostscript' : 'Dokument Postscriptu',
@@ -278,6 +385,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindTAR' : 'Archív TAR',
'kindGZIP' : 'Archív GZIP',
'kindBZIP' : 'Archív BZIP',
+ 'kindXZ' : 'Archív XZ',
'kindZIP' : 'Archív ZIP',
'kindRAR' : 'Archív RAR',
'kindJAR' : 'Soubor Java JAR',
@@ -285,7 +393,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindOTF' : 'Open Type font',
'kindRPM' : 'RPM balíček',
// texts
- 'kindText' : 'Textový dokument',
+ 'kindText' : 'Textový dokument',
'kindTextPlain' : 'Čistý text',
'kindPHP' : 'PHP zdrojový kód',
'kindCSS' : 'Kaskádové styly',
@@ -306,6 +414,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindAWK' : 'AWK zdrojový kód',
'kindCSV' : 'CSV',
'kindDOCBOOK' : 'Docbook XML dokument',
+ 'kindMarkdown' : 'Markdown text', // added 20.7.2015
// images
'kindImage' : 'Obrázek',
'kindBMP' : 'Obrázek BMP',
@@ -336,5 +445,5 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindVideoMKV' : 'Matroska video',
'kindVideoOGG' : 'Ogg video'
}
- }
+ };
}
diff --git a/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.da.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.da.js
new file mode 100644
index 0000000..3f24a45
--- /dev/null
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.da.js
@@ -0,0 +1,366 @@
+/**
+ * Danish translation
+ * @author Mark Topper (webman.io)
+ * @version 2014-12-19
+ */
+if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
+ elFinder.prototype.i18.da = {
+ translator : 'Mark Topper (webman.io)',
+ language : 'Language of translation in Danish',
+ direction : 'ltr',
+ dateFormat : 'd.m.Y H:i',
+ fancyDateFormat : '$1 H:i',
+ messages : {
+
+ /********************************** errors **********************************/
+ 'error' : 'Fejl',
+ 'errUnknown' : 'Ukendt fejl.',
+ 'errUnknownCmd' : 'Ukendt kommando.',
+ 'errJqui' : 'Ugyldig jQuery UI konfiguration. Valgbare, som kan trækkes rundt og droppable komponenter skal medtages.',
+ 'errNode' : 'elFinder kræver DOM Element oprettet.',
+ 'errURL' : 'Ugyldig elFinder konfiguration! URL option er ikke sat.',
+ 'errAccess' : 'Adgang nægtet.',
+ 'errConnect' : 'Kan ikke få kontatkt med backend.',
+ 'errAbort' : 'Forbindelse afbrudt.',
+ 'errTimeout' : 'Connection timeout.',
+ 'errNotFound' : 'Backend ikke fundet.',
+ 'errResponse' : 'Ugyldigt backend svar.',
+ 'errConf' : 'Ugyldig backend konfiguration.',
+ 'errJSON' : 'PHP JSON module ikke installeret.',
+ 'errNoVolumes' : 'Læsbare volumener ikke tilgængelig.',
+ 'errCmdParams' : 'Ugyldige parametre for kommando "$1".',
+ 'errDataNotJSON' : 'Data er ikke JSON.',
+ 'errDataEmpty' : 'Data er tomt.',
+ 'errCmdReq' : 'Backend request kræver kommando navn.',
+ 'errOpen' : 'Kunne ikke åbne "$1".',
+ 'errNotFolder' : 'Objektet er ikke en mappe.',
+ 'errNotFile' : 'Objektet er ikke en fil.',
+ 'errRead' : 'Kunne ikke læse "$1".',
+ 'errWrite' : 'Kunne ikke skrive til "$1".',
+ 'errPerm' : 'Adgang nægtet.',
+ 'errLocked' : '"$1" er låst og kan ikke blive omdøbt, flyttet eller slettet.',
+ 'errExists' : 'Der findes allerede en fil ved navn "$1".',
+ 'errInvName' : 'Ugyldigt fil navn.',
+ 'errFolderNotFound' : 'Mappe ikke fundet.',
+ 'errFileNotFound' : 'Fil ikke fundet.',
+ 'errTrgFolderNotFound' : 'Mappen "$1" blev ikke fundet.',
+ 'errPopup' : 'Browseren forhindrede åbne popup-vindue. For at åbne filen aktivere popup-vinduer i browserindstillinger.',
+ 'errMkdir' : 'Kunne ikke oprette mappen "$1".',
+ 'errMkfile' : 'Kunne ikke oprette filen "$1".',
+ 'errRename' : 'Kunne ikke omdøbe "$1".',
+ 'errCopyFrom' : 'Kopiering af filer fra volumen "$1" er ikke tilladt.',
+ 'errCopyTo' : 'Kopiering af filer til volumen "$1" er ikke tilladt.',
+ 'errUpload' : 'Upload fejl.',
+ 'errUploadFile' : 'Kunne ikke uploade "$1".',
+ 'errUploadNoFiles' : 'Ingen filer fundet til upload.',
+ 'errUploadTotalSize' : 'Dataen overskrider den maksimalt tilladte størrelse.',
+ 'errUploadFileSize' : 'Fil overskrider den maksimalt tilladte størrelse.',
+ 'errUploadMime' : 'Fil type ikke godkendt.',
+ 'errUploadTransfer' : '"$1" overførsels fejl.',
+ 'errNotReplace' : 'Object "$1" already exists at this location and can not be replaced by object with another type.',
+ 'errReplace' : 'Unable to replace "$1".',
+ 'errSave' : 'Kunne ikke gemme "$1".',
+ 'errCopy' : 'Kunne ikke kopier "$1".',
+ 'errMove' : 'Kunne ikke flytte "$1".',
+ 'errCopyInItself' : 'Kunne ikke kopier "$1" ind i sig selv.',
+ 'errRm' : 'Kunne ikke slette "$1".',
+ 'errRmSrc' : 'Unable remove source file(s).',
+ 'errExtract' : 'Kunne ikke udpakke filer fra "$1".',
+ 'errArchive' : 'Kunne ikke oprette arkiv.',
+ 'errArcType' : 'Arkiv typen er ikke understøttet.',
+ 'errNoArchive' : 'Filen er ikke et arkiv eller har ikke-understøttet arkiv type.',
+ 'errCmdNoSupport' : 'Backend understøtter ikke denne kommando.',
+ 'errReplByChild' : 'Mappen "$1" kan ikke erstattes af en vare, den indeholder.',
+ 'errArcSymlinks' : 'Af sikkerhedsmæssige årsager nægtede at udpakke arkiver der indeholder symlinks eller filer med ikke tilladte navne.', // edited 24.06.2012
+ 'errArcMaxSize' : 'Arkivfiler overskrider den maksimalt tilladte størrelse.',
+ 'errResize' : 'Kunne ikke ændre størrelsen på "$1".',
+ 'errResizeDegree' : 'Invalid rotate degree.',
+ 'errResizeRotate' : 'Unable to rotate image.',
+ 'errResizeSize' : 'Invalid image size.',
+ 'errResizeNoChange' : 'Image size not changed.',
+ 'errUsupportType' : 'Ikke-understøttet fil type.',
+ 'errNotUTF8Content' : 'Filen "$1" er ikke i UTF-8 og kan ikke blive redigeret.', // added 9.11.2011
+ 'errNetMount' : 'Kunne ikke mounte "$1".', // added 17.04.2012
+ 'errNetMountNoDriver' : 'Ikke-understøttet protocol.', // added 17.04.2012
+ 'errNetMountFailed' : 'Mount mislykkedes.', // added 17.04.2012
+ 'errNetMountHostReq' : 'Host krævet.', // added 18.04.2012
+ 'errSessionExpires' : 'Your session has expired due to inactivity.',
+ 'errCreatingTempDir' : 'Unable to create temporary directory: "$1"',
+ 'errFtpDownloadFile' : 'Unable to download file from FTP: "$1"',
+ 'errFtpUploadFile' : 'Unable to upload file to FTP: "$1"',
+ 'errFtpMkdir' : 'Unable to create remote directory on FTP: "$1"',
+ 'errArchiveExec' : 'Error while archiving files: "$1"',
+ 'errExtractExec' : 'Error while extracting files: "$1"',
+
+ /******************************* commands names ********************************/
+ 'cmdarchive' : 'Lav arkiv',
+ 'cmdback' : 'Tilbage',
+ 'cmdcopy' : 'Kopier',
+ 'cmdcut' : 'Klip',
+ 'cmddownload' : 'Download',
+ 'cmdduplicate' : 'Dupliker',
+ 'cmdedit' : 'Rediger Fil',
+ 'cmdextract' : 'Udpak filer fra arkiv',
+ 'cmdforward' : 'Frem',
+ 'cmdgetfile' : 'Vælg filer',
+ 'cmdhelp' : 'Om dette produkt',
+ 'cmdhome' : 'Hjem',
+ 'cmdinfo' : 'Information',
+ 'cmdmkdir' : 'Ny mappe',
+ 'cmdmkfile' : 'Ny tekst fil',
+ 'cmdopen' : 'Åben',
+ 'cmdpaste' : 'Indsæt',
+ 'cmdquicklook' : 'Vis',
+ 'cmdreload' : 'Reload',
+ 'cmdrename' : 'Omdøb',
+ 'cmdrm' : 'Slet',
+ 'cmdsearch' : 'Find filer',
+ 'cmdup' : 'Gå til forældre mappe',
+ 'cmdupload' : 'Upload filer',
+ 'cmdview' : 'Vis',
+ 'cmdresize' : 'Ændre størrelse',
+ 'cmdsort' : 'Sorter',
+ 'cmdnetmount' : 'Mount network volume',
+
+ /*********************************** buttons ***********************************/
+ 'btnClose' : 'Luk',
+ 'btnSave' : 'Gem',
+ 'btnRm' : 'Slet',
+ 'btnApply' : 'Anvend',
+ 'btnCancel' : 'Annuler',
+ 'btnNo' : 'Nej',
+ 'btnYes' : 'Ja',
+ 'btnMount' : 'Mount',
+
+ /******************************** notifications ********************************/
+ 'ntfopen' : 'Åben mappe',
+ 'ntffile' : 'Åben fil',
+ 'ntfreload' : 'Reload mappe indhold',
+ 'ntfmkdir' : 'Opretter mappe',
+ 'ntfmkfile' : 'Opretter filer',
+ 'ntfrm' : 'Sletter filer',
+ 'ntfcopy' : 'Kopier filer',
+ 'ntfmove' : 'Flytter filer',
+ 'ntfprepare' : 'Forbereder kopering af filer',
+ 'ntfrename' : 'Omdøb filer',
+ 'ntfupload' : 'Uploader filer',
+ 'ntfdownload' : 'Downloader filer',
+ 'ntfsave' : 'Gemmer filer',
+ 'ntfarchive' : 'Opretter arkiv',
+ 'ntfextract' : 'Udpakker filer fra arkiv',
+ 'ntfsearch' : 'Søger filer',
+ 'ntfresize' : 'Resizing images',
+ 'ntfsmth' : 'Gør noget >_<',
+ 'ntfloadimg' : 'Loader billede',
+ 'ntfnetmount' : 'Montere netværks volume', // added 18.04.2012
+ 'ntfdim' : 'Acquiring image dimension',
+
+ /************************************ dates **********************************/
+ 'dateUnknown' : 'Ukendt',
+ 'Today' : 'I dag',
+ 'Yesterday' : 'I går',
+ 'msJan' : 'Jan',
+ 'msFeb' : 'Feb',
+ 'msMar' : 'Mar',
+ 'msApr' : 'Apr',
+ 'msMay' : 'Maj',
+ 'msJun' : 'Jun',
+ 'msJul' : 'Jul',
+ 'msAug' : 'Aug',
+ 'msSep' : 'Sep',
+ 'msOct' : 'Okt',
+ 'msNov' : 'Nov',
+ 'msDec' : 'Dec',
+ 'January' : 'Januar',
+ 'February' : 'Februar',
+ 'March' : 'Marts',
+ 'April' : 'April',
+ 'May' : 'Maj',
+ 'June' : 'Juni',
+ 'July' : 'Juli',
+ 'August' : 'August',
+ 'September' : 'September',
+ 'October' : 'Oktober',
+ 'November' : 'November',
+ 'December' : 'December',
+ 'Sunday' : 'Søndag',
+ 'Monday' : 'Mandag',
+ 'Tuesday' : 'Tirsdag',
+ 'Wednesday' : 'Onsdag',
+ 'Thursday' : 'Torsdag',
+ 'Friday' : 'Fredag',
+ 'Saturday' : 'Lørdag',
+ 'Sun' : 'Søn',
+ 'Mon' : 'Man',
+ 'Tue' : 'Tir',
+ 'Wed' : 'Ons',
+ 'Thu' : 'Tor',
+ 'Fri' : 'Fre',
+ 'Sat' : 'Lør',
+
+ /******************************** sort variants ********************************/
+ 'sortname' : 'efter navn',
+ 'sortkind' : 'efter type',
+ 'sortsize' : 'efter størrelse',
+ 'sortdate' : 'efter dato',
+ 'sortFoldersFirst' : 'Mapper først', // added 22.06.2012
+
+ /********************************** messages **********************************/
+ 'confirmReq' : 'Bekræftelse påkrævet',
+ 'confirmRm' : 'Er du sikker på du vil slette valgte filer? Dette kan ikke blive fortrudt!',
+ 'confirmRepl' : 'Erstat gammel fil med ny fil?',
+ 'apllyAll' : 'Anvend ved alle',
+ 'name' : 'Navn',
+ 'size' : 'Størrelse',
+ 'perms' : 'Rettigheder',
+ 'modify' : 'Ændret',
+ 'kind' : 'Type',
+ 'read' : 'Læse',
+ 'write' : 'Skrive',
+ 'noaccess' : 'ingen adgang',
+ 'and' : 'og',
+ 'unknown' : 'ukendt',
+ 'selectall' : 'Vælg alle filer',
+ 'selectfiles' : 'Vælg fil(er)',
+ 'selectffile' : 'Vælg første fil',
+ 'selectlfile' : 'Vælg sidste fil',
+ 'viewlist' : 'Liste visning',
+ 'viewicons' : 'Ikon visning',
+ 'places' : 'Plaseringer',
+ 'calc' : 'Udregn',
+ 'path' : 'Sti',
+ 'aliasfor' : 'Alias for',
+ 'locked' : 'Låst',
+ 'dim' : 'Størrelser',
+ 'files' : 'Filer',
+ 'folders' : 'Mapper',
+ 'items' : 'Varer',
+ 'yes' : 'ja',
+ 'no' : 'nej',
+ 'link' : 'Link',
+ 'searcresult' : 'Søge resultater',
+ 'selected' : 'valgte varer',
+ 'about' : 'Om',
+ 'shortcuts' : 'Genveje',
+ 'help' : 'Hjælp',
+ 'webfm' : 'Internet fil manager',
+ 'ver' : 'Version',
+ 'protocolver' : 'protocol version',
+ 'homepage' : 'Projeckt side',
+ 'docs' : 'Dokumentation',
+ 'github' : 'Fork os på Github',
+ 'twitter' : 'Følg os på twitter',
+ 'facebook' : 'Følg os på facebook',
+ 'team' : 'Hold',
+ 'chiefdev' : 'hovede udvikler',
+ 'developer' : 'udvikler',
+ 'contributor' : 'bidragyder',
+ 'maintainer' : 'vedligeholder',
+ 'translator' : 'oversætter',
+ 'icons' : 'Ikoner',
+ 'dontforget' : 'og glemt ikke at tag dit håndklæde',
+ 'shortcutsof' : 'Gemveje deaktiveret',
+ 'dropFiles' : 'Drop filer hertil',
+ 'or' : 'eller',
+ 'selectForUpload' : 'Vælg filer at uploade',
+ 'moveFiles' : 'Flyt filer',
+ 'copyFiles' : 'Kopier filer',
+ 'rmFromPlaces' : 'Slet fra placering',
+ 'aspectRatio' : 'Skærmformat',
+ 'scale' : 'Skala',
+ 'width' : 'Bredte',
+ 'height' : 'Højde',
+ 'resize' : 'Ændre størrelse',
+ 'crop' : 'Beskær',
+ 'rotate' : 'Roter',
+ 'rotate-cw' : 'Roter 90 grader med uret',
+ 'rotate-ccw' : 'Roter 90 grader imod uret',
+ 'degree' : 'Grader',
+ 'netMountDialogTitle' : 'Monter netwærks volume', // added 18.04.2012
+ 'protocol' : 'Protokol', // added 18.04.2012
+ 'host' : 'Host', // added 18.04.2012
+ 'port' : 'Port', // added 18.04.2012
+ 'user' : 'Bruger', // added 18.04.2012
+ 'pass' : 'Kodeord', // added 18.04.2012
+
+ /********************************** mimetypes **********************************/
+ 'kindUnknown' : 'Ukendt',
+ 'kindFolder' : 'Mappe',
+ 'kindAlias' : 'Alias',
+ 'kindAliasBroken' : 'Ødelagt alias',
+ // applications
+ 'kindApp' : 'Applikation',
+ 'kindPostscript' : 'Postscript dokument',
+ 'kindMsOffice' : 'Microsoft Office dokument',
+ 'kindMsWord' : 'Microsoft Word dokument',
+ 'kindMsExcel' : 'Microsoft Excel dokument',
+ 'kindMsPP' : 'Microsoft Powerpoint præsentation',
+ 'kindOO' : 'Open Office dokument',
+ 'kindAppFlash' : 'Flash applikation',
+ 'kindPDF' : 'Flytbart Dokument Format (PDF)',
+ 'kindTorrent' : 'Bittorrent fil',
+ 'kind7z' : '7z arkiv',
+ 'kindTAR' : 'TAR arkiv',
+ 'kindGZIP' : 'GZIP arkiv',
+ 'kindBZIP' : 'BZIP arkiv',
+ 'kindXZ' : 'XZ arkiv',
+ 'kindZIP' : 'ZIP arkiv',
+ 'kindRAR' : 'RAR arkiv',
+ 'kindJAR' : 'Java JAR fil',
+ 'kindTTF' : 'True Type skrift',
+ 'kindOTF' : 'Open Type skrift',
+ 'kindRPM' : 'RPM pakke',
+ // texts
+ 'kindText' : 'Tekst dokument',
+ 'kindTextPlain' : 'Ren tekst',
+ 'kindPHP' : 'PHP kode',
+ 'kindCSS' : 'Cascading style sheet',
+ 'kindHTML' : 'HTML document',
+ 'kindJS' : 'Javascript kode',
+ 'kindRTF' : 'Rich Tekst Format',
+ 'kindC' : 'C kode',
+ 'kindCHeader' : 'C header kode',
+ 'kindCPP' : 'C++ kode',
+ 'kindCPPHeader' : 'C++ header kode',
+ 'kindShell' : 'Unix shell script',
+ 'kindPython' : 'Python kode',
+ 'kindJava' : 'Java kode',
+ 'kindRuby' : 'Ruby kode',
+ 'kindPerl' : 'Perl script',
+ 'kindSQL' : 'SQL kode',
+ 'kindXML' : 'XML dokument',
+ 'kindAWK' : 'AWK kode',
+ 'kindCSV' : 'Komma seperaret værdier',
+ 'kindDOCBOOK' : 'Docbook XML dokument',
+ // images
+ 'kindImage' : 'Billede',
+ 'kindBMP' : 'BMP billede',
+ 'kindJPEG' : 'JPEG billede',
+ 'kindGIF' : 'GIF billede',
+ 'kindPNG' : 'PNG billede',
+ 'kindTIFF' : 'TIFF billede',
+ 'kindTGA' : 'TGA billede',
+ 'kindPSD' : 'Adobe Photoshop billede',
+ 'kindXBITMAP' : 'X bitmap billede',
+ 'kindPXM' : 'Pixelmator billede',
+ // media
+ 'kindAudio' : 'Lyd medie',
+ 'kindAudioMPEG' : 'MPEG lyd',
+ 'kindAudioMPEG4' : 'MPEG-4 lyd',
+ 'kindAudioMIDI' : 'MIDI lyd',
+ 'kindAudioOGG' : 'Ogg Vorbis lyd',
+ 'kindAudioWAV' : 'WAV lyd',
+ 'AudioPlaylist' : 'MP3 spilleliste',
+ 'kindVideo' : 'Video medie',
+ 'kindVideoDV' : 'DV video',
+ 'kindVideoMPEG' : 'MPEG video',
+ 'kindVideoMPEG4' : 'MPEG-4 video',
+ 'kindVideoAVI' : 'AVI video',
+ 'kindVideoMOV' : 'Hurtig tids video',
+ 'kindVideoWM' : 'Windows Medie video',
+ 'kindVideoFlash' : 'Flash video',
+ 'kindVideoMKV' : 'Matroska video',
+ 'kindVideoOGG' : 'Ogg video'
+ }
+ };
+}
diff --git a/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.de.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.de.js
new file mode 100644
index 0000000..f1f3d0d
--- /dev/null
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.de.js
@@ -0,0 +1,449 @@
+/**
+ * German translation
+ * @author JPG & Mace
+ * @author tora60 from pragmaMx.org
+ * @author Timo-Linde
+ * @version 2015-11-16
+ */
+if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
+ elFinder.prototype.i18.de = {
+ translator : 'JPG & Mace <dev@flying-datacenter.de>, tora60 from pragmaMx.org, osworx.net',
+ language : 'Deutsch',
+ direction : 'ltr',
+ dateFormat : 'd. M Y H:i', // 13. Mai 2012 15:27
+ fancyDateFormat : '$1 H:i', // will produce smth like: Heute 13:25
+ messages : {
+
+ /********************************** errors **********************************/
+ 'error' : 'Fehler',
+ 'errUnknown' : 'Unbekannter Fehler.',
+ 'errUnknownCmd' : 'Unbekannter Befehl.',
+ 'errJqui' : 'Ungültige jQuery UI-Konfiguration. Die Komponenten Selectable, Draggable und Droppable müssen inkludiert sein.',
+ 'errNode' : 'Für elFinder muss das DOM-Element erstellt werden.',
+ 'errURL' : 'Ungültige elFinder Konfiguration! Die URL-Option ist nicht gesetzt.',
+ 'errAccess' : 'Zugriff verweigert.',
+ 'errConnect' : 'Verbindung zum Backend fehlgeschlagen.',
+ 'errAbort' : 'Verbindung abgebrochen.',
+ 'errTimeout' : 'Zeitüberschreitung der Verbindung.',
+ 'errNotFound' : 'Backend nicht gefunden.',
+ 'errResponse' : 'Ungültige Backend-Antwort.',
+ 'errConf' : 'Ungültige Backend-Konfiguration.',
+ 'errJSON' : 'PHP JSON-Modul nicht vorhanden.',
+ 'errNoVolumes' : 'Keine lesbaren Volumes vorhanden.',
+ 'errCmdParams' : 'Ungültige Parameter für Befehl: "$1".',
+ 'errDataNotJSON' : 'Daten nicht im JSON-Format.',
+ 'errDataEmpty' : 'Daten sind leer.',
+ 'errCmdReq' : 'Backend-Anfrage benötigt Befehl.',
+ 'errOpen' : 'Kann "$1" nicht öffnen.',
+ 'errNotFolder' : 'Objekt ist kein Ordner.',
+ 'errNotFile' : 'Objekt ist keine Datei.',
+ 'errRead' : 'Kann "$1" nicht öffnen.',
+ 'errWrite' : 'Kann nicht in "$1" schreiben.',
+ 'errPerm' : 'Zugriff verweigert.',
+ 'errLocked' : '"$1" ist gesperrt und kann nicht umbenannt, verschoben oder gelöscht werden.',
+ 'errExists' : 'Die Datei "$1" existiert bereits.',
+ 'errInvName' : 'Ungültiger Dateiname.',
+ 'errFolderNotFound' : 'Ordner nicht gefunden.',
+ 'errFileNotFound' : 'Datei nicht gefunden.',
+ 'errTrgFolderNotFound' : 'Zielordner "$1" nicht gefunden.',
+ 'errPopup' : 'Der Browser hat das Pop-Up-Fenster unterbunden. Um die Datei zu öffnen, Pop-Ups in den Browser Einstellungen aktivieren.',
+ 'errMkdir' : 'Kann Ordner "$1" nicht erstellen.',
+ 'errMkfile' : 'Kann Datei "$1" nicht erstellen.',
+ 'errRename' : 'Kann "$1" nicht umbenennen.',
+ 'errCopyFrom' : 'Kopieren von Dateien von "$1" nicht erlaubt.',
+ 'errCopyTo' : 'Kopieren von Dateien nach "$1" nicht erlaubt.',
+ 'errMkOutLink' : 'Der Link kann nicht außerhalb der Partition führen.',
+ 'errUpload' : 'Upload-Fehler.',
+ 'errUploadFile' : 'Kann "$1" nicht hochladen.',
+ 'errUploadNoFiles' : 'Keine Dateien zum Hochladen gefunden.',
+ 'errUploadTotalSize' : 'Daten überschreiten die Maximalgröße.',
+ 'errUploadFileSize' : 'Die Datei überschreitet die Maximalgröße.',
+ 'errUploadMime' : 'Dateityp nicht zulässig.',
+ 'errUploadTransfer' : '"$1" Transfer-Fehler.',
+ 'errUploadTemp' : 'Kann temporäre Datei nicht erstellen.',
+ 'errNotReplace' : 'Das Objekt "$1" existiert bereits an dieser Stelle und kann nicht durch ein Objekt eines anderen Typs ersetzt werden.',
+ 'errReplace' : 'Kann "$1" nicht ersetzen.',
+ 'errSave' : 'Kann "$1" nicht speichern.',
+ 'errCopy' : 'Kann "$1" nicht kopieren.',
+ 'errMove' : 'Kann "$1" nicht verschieben.',
+ 'errCopyInItself' : '"$1" kann sich nicht in sich selbst kopieren.',
+ 'errRm' : 'Kann "$1" nicht entfernen.',
+ 'errRmSrc' : 'Kann Quelldatei(en) nicht entfernen.',
+ 'errExtract' : 'Kann "$1" nicht entpacken.',
+ 'errArchive' : 'Archiv konnte nicht erstellt werden.',
+ 'errArcType' : 'Archivtyp nicht untersützt.',
+ 'errNoArchive' : 'Bei der Datei handelt es sich nicht um ein Archiv, oder der Archivtyp wird nicht unterstützt.',
+ 'errCmdNoSupport' : 'Das Backend unterstützt diesen Befehl nicht.',
+ 'errReplByChild' : 'Der Ordner "$1" kann nicht durch etwas ersetzt werden, das ihn selbst enthält.',
+ 'errArcSymlinks' : 'Aus Sicherheitsgründen ist es verboten, ein Archiv mit symbolischen Links zu extrahieren.',
+ 'errArcMaxSize' : 'Die Archivdateien übersteigen die maximal erlaubte Größe.',
+ 'errResize' : 'Größe von "$1" kann nicht geändert werden.',
+ 'errResizeDegree' : 'Ungültiger Rotationswert.',
+ 'errResizeRotate' : 'Bild konnte nicht gedreht werden.',
+ 'errResizeSize' : 'Ungültige Bildgröße.',
+ 'errResizeNoChange' : 'Bildmaße nicht geändert.',
+ 'errUsupportType' : 'Nicht unterstützter Dateityp.',
+ 'errNotUTF8Content' : 'Die Datei "$1" ist nicht im UTF-8-Format und kann nicht editiert werden.',
+ 'errNetMount' : 'Verbindung mit "$1" nicht möglich.',
+ 'errNetMountNoDriver' : 'Nicht unterstütztes Protokoll.',
+ 'errNetMountFailed' : 'Verbindung fehlgeschlagen.',
+ 'errNetMountHostReq' : 'Host benötigt.',
+ 'errSessionExpires' : 'Diese Sitzung ist aufgrund von Inaktivität abgelaufen.',
+ 'errCreatingTempDir' : 'Erstellung des temporären Ordners nicht möglich: "$1"',
+ 'errFtpDownloadFile' : 'Download der Datei über FTP nicht möglich: "$1"',
+ 'errFtpUploadFile' : 'Upload der Datei zu FTP nicht möglich: "$1"',
+ 'errFtpMkdir' : 'Erstellung des Remote-Ordners auf FTP nicht möglich: "$1"',
+ 'errArchiveExec' : 'Fehler beim Archivieren der Dateien: "$1"',
+ 'errExtractExec' : 'Fehler beim Extrahieren der Dateien: "$1"',
+ 'errNetUnMount' : 'Kann nicht ausgeworfen werden.',
+ 'errConvUTF8' : 'Kann nicht zu UTF-8 konvertiert werden.',
+ 'errFolderUpload' : 'Versuchen Sie es mit Google Chrome, wenn Sie einen Ordner hochladen möchten.',
+ 'errSearchTimeout' : 'Zeitüberschreitung während der Suche nach "$1". Suchergebnis ist unvollständig.',
+ 'errReauthRequire' : 'Erneutes Anmelden ist erforderlich.',
+ /******************************* commands names ********************************/
+ 'cmdarchive' : 'Archiv erstellen',
+ 'cmdback' : 'Zurück',
+ 'cmdcopy' : 'Kopieren',
+ 'cmdcut' : 'Ausschneiden',
+ 'cmddownload' : 'Herunterladen',
+ 'cmdduplicate' : 'Duplizieren',
+ 'cmdedit' : 'Datei bearbeiten',
+ 'cmdextract' : 'Archiv entpacken',
+ 'cmdforward' : 'Vorwärts',
+ 'cmdgetfile' : 'Datei auswählen',
+ 'cmdhelp' : 'Über diese Software',
+ 'cmdhome' : 'Startordner',
+ 'cmdinfo' : 'Informationen',
+ 'cmdmkdir' : 'Neuer Ordner',
+ 'cmdmkdirin' : 'In neuen Ordner',
+ 'cmdmkfile' : 'Neue Textdatei',
+ 'cmdopen' : 'Öffnen',
+ 'cmdpaste' : 'Einfügen',
+ 'cmdquicklook' : 'Vorschau',
+ 'cmdreload' : 'Aktualisieren',
+ 'cmdrename' : 'Umbenennen',
+ 'cmdrm' : 'Löschen',
+ 'cmdsearch' : 'Suchen',
+ 'cmdup' : 'In übergeordneten Ordner wechseln',
+ 'cmdupload' : 'Datei hochladen',
+ 'cmdview' : 'Ansehen',
+ 'cmdresize' : 'Größe ändern & drehen',
+ 'cmdsort' : 'Sortieren',
+ 'cmdnetmount' : 'Verbinde mit Netzwerkspeicher',
+ 'cmdnetunmount': 'Auswerfen',
+ 'cmdplaces' : 'Orte',
+ 'cmdchmod' : 'Berechtigung ändern',
+ 'cmdopendir' : 'Einen Ordner öffnen',
+ 'cmdcolwidth' : 'Spaltenbreite zurücksetzen',
+ 'cmdfullscreen': 'Vollbild',
+ 'cmdmove' : 'Verschieben',
+
+
+ /*********************************** buttons ***********************************/
+ 'btnClose' : 'Schließen',
+ 'btnSave' : 'Speichern',
+ 'btnRm' : 'Entfernen',
+ 'btnApply' : 'Anwenden',
+ 'btnCancel' : 'Abbrechen',
+ 'btnNo' : 'Nein',
+ 'btnYes' : 'Ja',
+ 'btnMount' : 'Verbinden',
+ 'btnApprove': 'Goto $1 & approve',
+ 'btnUnmount': 'Auswerfen',
+ 'btnConv' : 'Konvertieren',
+ 'btnCwd' : 'Arbeitspfad',
+ 'btnVolume' : 'Partition',
+ 'btnAll' : 'Alle',
+ 'btnMime' : 'MIME-Typ',
+ 'btnFileName': 'Dateiname',
+ 'btnSaveClose': 'Speichern & Schließen',
+ 'btnBackup' : 'Backup',
+
+ /******************************** notifications ********************************/
+ 'ntfopen' : 'Öffne Ordner',
+ 'ntffile' : 'Öffne Datei',
+ 'ntfreload' : 'Ordnerinhalt neu',
+ 'ntfmkdir' : 'Erstelle Ordner',
+ 'ntfmkfile' : 'Erstelle Dateien',
+ 'ntfrm' : 'Lösche Dateien',
+ 'ntfcopy' : 'Kopiere Dateien',
+ 'ntfmove' : 'Verschiebe Dateien',
+ 'ntfprepare' : 'Kopiervorgang initialisieren',
+ 'ntfrename' : 'Benenne Dateien um',
+ 'ntfupload' : 'Dateien hochladen',
+ 'ntfdownload' : 'Dateien herunterladen',
+ 'ntfsave' : 'Speichere Datei',
+ 'ntfarchive' : 'Erstelle Archiv',
+ 'ntfextract' : 'Entpacke Dateien',
+ 'ntfsearch' : 'Suche',
+ 'ntfresize' : 'Bildgrößen ändern',
+ 'ntfsmth' : 'Bin beschäftigt',
+ 'ntfloadimg' : 'Bild laden',
+ 'ntfnetmount' : 'Mit Netzwerkspeicher verbinden',
+ 'ntfnetunmount': 'Netzwerkspeicher auswerfen',
+ 'ntfdim' : 'Bildgröße erfassen',
+ 'ntfreaddir' : 'Lese Ordner Informationen',
+ 'ntfurl' : 'Hole URL von Link',
+ 'ntfchmod' : 'Ändere Dateiberechtigungen',
+ 'ntfpreupload': 'Upload-Dateinamen überprüfen',
+ 'ntfzipdl' : 'Erstelle Datei zum Download',
+
+ /************************************ dates **********************************/
+ 'dateUnknown' : 'unbekannt',
+ 'Today' : 'Heute',
+ 'Yesterday' : 'Gestern',
+ 'msJan' : 'Jan',
+ 'msFeb' : 'Feb',
+ 'msMar' : 'Mär',
+ 'msApr' : 'Apr',
+ 'msMay' : 'Mai',
+ 'msJun' : 'Jun',
+ 'msJul' : 'Jul',
+ 'msAug' : 'Aug',
+ 'msSep' : 'Sep',
+ 'msOct' : 'Okt',
+ 'msNov' : 'Nov',
+ 'msDec' : 'Dez',
+ 'January' : 'Januar',
+ 'February' : 'Februar',
+ 'March' : 'März',
+ 'April' : 'April',
+ 'May' : 'Mai',
+ 'June' : 'Juni',
+ 'July' : 'Juli',
+ 'August' : 'August',
+ 'September' : 'September',
+ 'October' : 'Oktober',
+ 'November' : 'November',
+ 'December' : 'Dezember',
+ 'Sunday' : 'Sonntag',
+ 'Monday' : 'Montag',
+ 'Tuesday' : 'Dienstag',
+ 'Wednesday' : 'Mittwoch',
+ 'Thursday' : 'Donnerstag',
+ 'Friday' : 'Freitag',
+ 'Saturday' : 'Samstag',
+ 'Sun' : 'So',
+ 'Mon' : 'Mo',
+ 'Tue' : 'Di',
+ 'Wed' : 'Mi',
+ 'Thu' : 'Do',
+ 'Fri' : 'Fr',
+ 'Sat' : 'Sa',
+
+ /******************************** sort variants ********************************/
+ 'sortname' : 'nach Name',
+ 'sortkind' : 'nach Art',
+ 'sortsize' : 'nach Größe',
+ 'sortdate' : 'nach Datum',
+ 'sortFoldersFirst' : 'Ordner zuerst',
+ 'sortperm' : 'nach Berechtigung',
+ 'sortmode' : 'nach Modus',
+ 'sortowner' : 'nach Besitzer',
+ 'sortgroup' : 'nach Gruppe',
+ 'sortAlsoTreeview' : 'auch Baumansicht',
+
+ /********************************** new items **********************************/
+ 'untitled file.txt' : 'Neues Textdokument.txt',
+ 'untitled folder' : 'Neuer Ordner',
+ 'Archive' : 'Neues Archiv',
+
+ /********************************** messages **********************************/
+ 'confirmReq' : 'Bestätigung benötigt',
+ 'confirmRm' : 'Sollen die Dateien gelöscht werden? Dies kann nicht rückgängig gemacht werden!',
+ 'confirmConvUTF8' : 'Nicht in UTF-8 Zu UTF-8 konvertieren? Inhalte werden zu UTF-8 konvertiert, wenn Sie speichern.',
+ 'confirmNotSave' : 'Die Datei wurde geändert. Sie werden die Änderungen verlieren, wenn Sie nicht speichern.',
+ 'confirmRepl' : 'Datei ersetzen?',
+ 'apllyAll' : 'Alles bestätigen',
+ 'name' : 'Name',
+ 'size' : 'Größe',
+ 'perms' : 'Berechtigungen',
+ 'modify' : 'Änderungsdatum',
+ 'kind' : 'Typ',
+ 'read' : 'Lesen',
+ 'write' : 'Schreiben',
+ 'noaccess' : 'Kein Zugriff',
+ 'and' : 'und',
+ 'unknown' : 'unbekannt',
+ 'selectall' : 'Alle Dateien auswählen',
+ 'selectfiles' : 'Dateien auswählen',
+ 'selectffile' : 'Erste Datei auswählen',
+ 'selectlfile' : 'Letzte Datei auswählen',
+ 'viewlist' : 'Spaltenansicht',
+ 'viewicons' : 'Symbolansicht',
+ 'places' : 'Orte',
+ 'calc' : 'Berechne',
+ 'path' : 'Pfad',
+ 'aliasfor' : 'Verknüpfung zu',
+ 'locked' : 'Gesperrt',
+ 'dim' : 'Bildgröße',
+ 'files' : 'Dateien',
+ 'folders' : 'Ordner',
+ 'items' : 'Objekte',
+ 'yes' : 'ja',
+ 'no' : 'nein',
+ 'link' : 'Link',
+ 'searcresult' : 'Suchergebnisse',
+ 'selected' : 'Objekte ausgewählt',
+ 'about' : 'Über',
+ 'shortcuts' : 'Tastenkombinationen',
+ 'help' : 'Hilfe',
+ 'webfm' : 'Web-Dateiverwaltung',
+ 'ver' : 'Version',
+ 'protocolver' : 'Protokoll-Version',
+ 'homepage' : 'Projekt-Webseite',
+ 'docs' : 'Dokumentation',
+ 'github' : 'Forke uns auf Github',
+ 'twitter' : 'Folge uns auf twitter',
+ 'facebook' : 'Begleite uns auf facebook',
+ 'team' : 'Team',
+ 'chiefdev' : 'Chefentwickler',
+ 'developer' : 'Entwickler',
+ 'contributor' : 'Unterstützer',
+ 'maintainer' : 'Maintainer',
+ 'translator' : 'Übersetzer',
+ 'icons' : 'Icons',
+ 'dontforget' : 'und vergiss dein Handtuch nicht',
+ 'shortcutsof' : 'Tastenkombinationen deaktiviert',
+ 'dropFiles' : 'Dateien hier ablegen',
+ 'or' : 'oder',
+ 'selectForUpload' : 'Dateien zum Upload auswählen',
+ 'moveFiles' : 'Dateien verschieben',
+ 'copyFiles' : 'Dateien kopieren',
+ 'rmFromPlaces' : 'Lösche von Orten',
+ 'aspectRatio' : 'Seitenverhältnis',
+ 'scale' : 'Maßstab',
+ 'width' : 'Breite',
+ 'height' : 'Höhe',
+ 'resize' : 'Größe ändern',
+ 'crop' : 'Zuschneiden',
+ 'rotate' : 'Drehen',
+ 'rotate-cw' : 'Drehe 90° im Uhrzeigersinn',
+ 'rotate-ccw' : 'Drehe 90° gegen Uhrzeigersinn',
+ 'degree' : '°',
+ 'netMountDialogTitle' : 'verbinde Netzwerkspeicher',
+ 'protocol' : 'Protokoll',
+ 'host' : 'Host',
+ 'port' : 'Port',
+ 'user' : 'Benutzer',
+ 'pass' : 'Passwort',
+ 'confirmUnmount' : 'Möchten Sie "$1" auswerfen?',
+ 'dropFilesBrowser': 'Sie können Dateien in den Browser ziehen',
+ 'dropPasteFiles' : 'Lassen Sie die Dateien hier los',
+ 'encoding' : 'Codierung',
+ 'locale' : 'Locale',
+ 'searchTarget' : 'Ziel: $1',
+ 'searchMime' : 'Suche nach MIME-Typ',
+ 'owner' : 'Besitzer',
+ 'group' : 'Gruppe',
+ 'other' : 'Andere',
+ 'execute' : 'Ausführen',
+ 'perm' : 'Berechtigung',
+ 'mode' : 'Modus',
+ 'emptyFolder' : 'Der Ordner ist leer',
+ 'emptyFolderDrop' : 'Der Ordner ist leer\\A Fügen Sie Elemente durch Ziehen hinzu',
+ 'emptyFolderLTap' : 'Der Ordner ist leer\\A Fügen Sie Elemente durch langes Tippen hinzu',
+ 'quality' : 'Qualität',
+ 'autoSync' : 'Auto sync',
+ 'moveUp' : 'Nach oben bewegen',
+ 'getLink' : 'URL-Link holen',
+ 'selectedItems' : 'Ausgewählte Objekte ($1)',
+ 'folderId' : 'Ordner-ID',
+ 'offlineAccess' : 'Offline-Zugriff erlauben',
+ 'reAuth' : 'Erneut anmelden',
+ 'nowLoading' : 'Wird geladen...',
+ 'openMulti' : 'mehrere Dateien öffnen',
+ 'openMultiConfirm': 'Sie versuchen, die $1 Dateien zu öffnen. Sind Sie sicher, dass sie im Browser öffnen wollen ?',
+ 'emptySearch' : 'Suchergebnisse sind leer',
+ 'editingFile' : 'Datei wird bearbeitet.',
+ 'hasSelected' : 'Sie haben $1 Objekte ausgewählt.',
+ 'hasClipboard' : 'Sie haben $1 Objekte im Clipboard.',
+ 'incSearchOnly' : 'Inkrementelle Suche bezieht sich nur auf die aktuelle Ansicht.',
+ 'reinstate' : 'Wiederherstellen',
+ 'complete' : '$1 abgeschlossen',
+ 'contextmenu' : 'Kontextmenü',
+ 'pageTurning' : 'Seite umblättern',
+ 'volumeRoots' : 'Volume-Rootverzeichnisse',
+
+ /********************************** mimetypes **********************************/
+ 'kindUnknown' : 'Unbekannt',
+ 'kindFolder' : 'Ordner',
+ 'kindAlias' : 'Verknüpfung',
+ 'kindAliasBroken' : 'Defekte Verknüpfung',
+ // applications
+ 'kindApp' : 'Programm',
+ 'kindPostscript' : 'Postscript-Dokument',
+ 'kindMsOffice' : 'Microsoft Office-Dokument',
+ 'kindMsWord' : 'Microsoft Word-Dokument',
+ 'kindMsExcel' : 'Microsoft Excel-Dokument',
+ 'kindMsPP' : 'Microsoft Powerpoint-Präsentation',
+ 'kindOO' : 'Open Office-Dokument',
+ 'kindAppFlash' : 'Flash-Programm',
+ 'kindPDF' : 'Portables Dokumentenformat (PDF)',
+ 'kindTorrent' : 'Bittorrent-Datei',
+ 'kind7z' : '7z-Archiv',
+ 'kindTAR' : 'TAR-Archiv',
+ 'kindGZIP' : 'GZIP-Archiv',
+ 'kindBZIP' : 'BZIP-Archiv',
+ 'kindXZ' : 'XZ-Archiv',
+ 'kindZIP' : 'ZIP-Archiv',
+ 'kindRAR' : 'RAR-Archiv',
+ 'kindJAR' : 'Java JAR-Datei',
+ 'kindTTF' : 'True Type-Schrift',
+ 'kindOTF' : 'Open Type-Schrift',
+ 'kindRPM' : 'RPM-Paket',
+ // texts
+ 'kindText' : 'Text-Dokument',
+ 'kindTextPlain' : 'Text-Dokument',
+ 'kindPHP' : 'PHP-Quelltext',
+ 'kindCSS' : 'Cascading Stylesheet',
+ 'kindHTML' : 'HTML-Dokument',
+ 'kindJS' : 'Javascript-Quelltext',
+ 'kindRTF' : 'Formatierte Textdatei',
+ 'kindC' : 'C-Quelltext',
+ 'kindCHeader' : 'C Header-Quelltext',
+ 'kindCPP' : 'C++ Quelltext',
+ 'kindCPPHeader' : 'C++ Header-Quelltext',
+ 'kindShell' : 'Unix-Shell-Skript',
+ 'kindPython' : 'Python-Quelltext',
+ 'kindJava' : 'Java-Quelltext',
+ 'kindRuby' : 'Ruby-Quelltext',
+ 'kindPerl' : 'Perl Script',
+ 'kindSQL' : 'SQL-Quelltext',
+ 'kindXML' : 'XML-Dokument',
+ 'kindAWK' : 'AWK-Quelltext',
+ 'kindCSV' : 'Komma-separierte Daten',
+ 'kindDOCBOOK' : 'Docbook XML-Dokument',
+ 'kindMarkdown' : 'Markdown-Text',
+ // images
+ 'kindImage' : 'Bild',
+ 'kindBMP' : 'Bitmap-Bild',
+ 'kindJPEG' : 'JPEG-Bild',
+ 'kindGIF' : 'GIF-Bild',
+ 'kindPNG' : 'PNG-Bild',
+ 'kindTIFF' : 'TIFF-Bild',
+ 'kindTGA' : 'TGA-Bild',
+ 'kindPSD' : 'Adobe Photoshop-Dokument',
+ 'kindXBITMAP' : 'X Bitmap-Bild',
+ 'kindPXM' : 'Pixelmator-Bild',
+ // media
+ 'kindAudio' : 'Audiodatei',
+ 'kindAudioMPEG' : 'MPEG Audio',
+ 'kindAudioMPEG4' : 'MPEG-4 Audio',
+ 'kindAudioMIDI' : 'MIDI Audio',
+ 'kindAudioOGG' : 'Ogg Vorbis Audio',
+ 'kindAudioWAV' : 'WAV Audio',
+ 'AudioPlaylist' : 'MP3-Playlist',
+ 'kindVideo' : 'Videodatei',
+ 'kindVideoDV' : 'DV-Film',
+ 'kindVideoMPEG' : 'MPEG-Film',
+ 'kindVideoMPEG4' : 'MPEG4-Film',
+ 'kindVideoAVI' : 'AVI-Film',
+ 'kindVideoMOV' : 'QuickTime-Film',
+ 'kindVideoWM' : 'Windows Media-Film',
+ 'kindVideoFlash' : 'Flash-Film',
+ 'kindVideoMKV' : 'Matroska-Film',
+ 'kindVideoOGG' : 'Ogg-Film'
+ }
+ };
+}
diff --git a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.el.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.el.js
similarity index 87%
rename from elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.el.js
rename to elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.el.js
index 010d80c..4dbd019 100644
--- a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.el.js
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.el.js
@@ -1,14 +1,7 @@
-/**
- * elFinder translation template
- * use this file to create new translation
- * submit new translation via https://github.com/Studio-42/elFinder/issues
- * or make a pull request
- */
-
/**
* Greek translation
- * @author yawd
- * @version 2012-09-12
+ * @author yawd , Romanos
+ * @version 2014-12-19
*/
if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
elFinder.prototype.i18.el = {
@@ -35,7 +28,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'errConf' : 'Μη έγκυρες ρυθμίσεις για το backend.',
'errJSON' : 'Το PHP JSON module δεν είναι εγκατεστημένο.',
'errNoVolumes' : 'Δεν βρέθηκαν αναγνώσιμα volumes.',
- 'errCmdParams' : 'Μη εέγκυρες παράμετροι για την εντολή "$1".',
+ 'errCmdParams' : 'Μη έγκυρες παράμετροι για την εντολή "$1".',
'errDataNotJSON' : 'Τα δεδομένα δεν είναι JSON.',
'errDataEmpty' : 'Τα δεδομένα είναι άδεια.',
'errCmdReq' : 'Το Backend request χρειάζεται όνομα εντολής.',
@@ -50,25 +43,28 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'errInvName' : 'Μη έγκυρο όνομα αρχείου.',
'errFolderNotFound' : 'Ο φάκελος δε βρέθηκε.',
'errFileNotFound' : 'Το αρχείο δε βρέθηκε.',
- 'errTrgFolderNotFound' : 'Ο φάκελος "$1" δε βρεέθηκε.',
- 'errPopup' : 'Το πρόγραμμα πλήγησης αμπόδισε το άνοιγμα αναδυόμενου παραθύρου. Για ανοίξετε το αρχείο ενεργοποιήστε το στις επιλογές του περιηγητή.',
+ 'errTrgFolderNotFound' : 'Ο φάκελος "$1" δε βρέθηκε.',
+ 'errPopup' : 'Το πρόγραμμα πλήγησης εμπόδισε το άνοιγμα αναδυόμενου παραθύρου. Για ανοίξετε το αρχείο ενεργοποιήστε το στις επιλογές του περιηγητή.',
'errMkdir' : 'Η δυμιουργία του φακέλου "$1" δεν ήταν δυνατή.',
'errMkfile' : 'Η δημιουργία του αρχείου "$1" δεν ήταν δυνατή.',
'errRename' : 'Η μετονομασία του αρχείου "$1" δεν ήταν δυνατή.',
'errCopyFrom' : 'Δεν επιτρέπεται η αντιγραφή αρχείων από το volume "$1".',
'errCopyTo' : 'Δεν επιτρέπεται η αντιγραφή αρχείων στο volume "$1".',
- 'errUploadCommon' : 'Πρόβλημα κατά το upload.',
- 'errUpload' : 'Το αρχείο "$1" δεν μπόρεσε να γίνει upload.',
+ 'errUpload' : 'Πρόβλημα κατά το upload.',
+ 'errUploadFile' : 'Το αρχείο "$1" δεν μπόρεσε να γίνει upload.',
'errUploadNoFiles' : 'Δεν βρέθηκαν αρχεία για upload.',
- 'errMaxSize' : 'Τα δεδομένα υπερβαίνουν το επιτρεπόμενο μέγιστο μέγεθος δεδομένων.',
- 'errFileMaxSize' : 'Το αρχείο υπερβαίνει το επιτρεπόμενο μέγιστο μέγεθος.',
+ 'errUploadTotalSize' : 'Τα δεδομένα υπερβαίνουν το επιτρεπόμενο μέγιστο μέγεθος δεδομένων.',
+ 'errUploadFileSize' : 'Το αρχείο υπερβαίνει το επιτρεπόμενο μέγιστο μέγεθος.',
'errUploadMime' : 'Ο τύπος αρχείου δεν επιτρέπεται.',
- 'errUploadTransfer' : 'Πρόβλημα μεταφοράς για το "$1".',
+ 'errUploadTransfer' : 'Πρόβλημα μεταφοράς για το "$1".',
+ 'errNotReplace' : 'Object "$1" already exists at this location and can not be replaced by object with another type.',
+ 'errReplace' : 'Unable to replace "$1".',
'errSave' : 'Το "$1" δεν ήταν δυνατόν να αποθηκευτεί.',
'errCopy' : 'Δεν ήταν δυνατή η αντιγραφή του "$1".',
'errMove' : 'Δεν ήταν δυνατή η μετακίνηση του "$1".',
'errCopyInItself' : 'Δεν είναι δυνατή η αντιγραφή του "$1" στον εαυτό του.',
'errRm' : 'Δεν ήταν δυνατή η αφαίρεση του "$1".',
+ 'errRmSrc' : 'Unable remove source file(s).',
'errExtract' : 'Δεν ήταν δυνατή η ανάγνωση των αρχείων από "$1".',
'errArchive' : 'Δεν ήταν δυνατή η δημιουργία του αρχείου.',
'errArcType' : 'Ο τύπος αρχείου δεν υποστηρίζεται.',
@@ -78,12 +74,24 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'errArcSymlinks' : 'Για λόγους ασφαλείας δεν είναι δυνατόν να διαβαστούν αρχεία που περιέχουν symlinks orη αρχεία με μη επιτρεπτά ονόματα.', // edited 24.06.2012
'errArcMaxSize' : 'Το μέγεθος του αρχείου υπερβαίνει το μέγιστο επιτρεπτό όριο.',
'errResize' : 'Δεν ήταν δυνατή η αλλαγή μεγέθους του "$1".',
+ 'errResizeDegree' : 'Invalid rotate degree.',
+ 'errResizeRotate' : 'Unable to rotate image.',
+ 'errResizeSize' : 'Invalid image size.',
+ 'errResizeNoChange' : 'Image size not changed.',
'errUsupportType' : 'Ο τύπος αρχείου δεν υποστηρίζεται.',
'errNotUTF8Content' : 'Το αρχείο "$1" δεν είναι UTF-8 και δεν μπορεί να επεξεργασθεί.', // added 9.11.2011
'errNetMount' : 'Δεν ήταν δυνατή η φόρτωση του "$1".', // added 17.04.2012
'errNetMountNoDriver' : 'Μη υποστηριζόμενο πρωτόκολο.', // added 17.04.2012
'errNetMountFailed' : 'Η φόρτωση απέτυχε.', // added 17.04.2012
'errNetMountHostReq' : 'Απαιτείται host εξυπηρετητής.', // added 18.04.2012
+ 'errSessionExpires' : 'Your session has expired due to inactivity.',
+ 'errCreatingTempDir' : 'Unable to create temporary directory: "$1"',
+ 'errFtpDownloadFile' : 'Unable to download file from FTP: "$1"',
+ 'errFtpUploadFile' : 'Unable to upload file to FTP: "$1"',
+ 'errFtpMkdir' : 'Unable to create remote directory on FTP: "$1"',
+ 'errArchiveExec' : 'Error while archiving files: "$1"',
+ 'errExtractExec' : 'Error while extracting files: "$1"',
+
/******************************* commands names ********************************/
'cmdarchive' : 'Δημιουργία archive αρχείου',
'cmdback' : 'Πίσω',
@@ -112,6 +120,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'cmdview' : 'Προβολή',
'cmdresize' : 'Αλλαγή μεγέθους εικόνας',
'cmdsort' : 'Ταξινόμηση',
+ 'cmdnetmount' : 'Mount network volume',
/*********************************** buttons ***********************************/
'btnClose' : 'Κλείσιμο',
@@ -121,6 +130,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'btnCancel' : 'Ακύρωση',
'btnNo' : 'Όχι',
'btnYes' : 'Ναι',
+ 'btnMount' : 'Mount',
/******************************** notifications ********************************/
'ntfopen' : 'Άνοιγμα φακέλου',
@@ -139,26 +149,28 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'ntfarchive' : 'Δημιουργία αρχείου',
'ntfextract' : 'Εξαγωγή αρχείων από το archive',
'ntfsearch' : 'Αναζήτηση αρχείων',
+ 'ntfresize' : 'Resizing images',
'ntfsmth' : 'Σύστημα απασχολημένο>_<',
'ntfloadimg' : 'Φόρτωση εικόνας',
'ntfnetmount' : 'Φόρτωση δικτυακού δίσκου', // added 18.04.2012
+ 'ntfdim' : 'Acquiring image dimension',
/************************************ dates **********************************/
'dateUnknown' : 'άγνωστο',
'Today' : 'Σήμερα',
- 'Yesterday' : 'Εχθές',
- 'Jan' : 'Ιαν',
- 'Feb' : 'Φεβ',
- 'Mar' : 'Μαρ',
- 'Apr' : 'Απρ',
- 'May' : 'Μαϊ',
- 'Jun' : 'Ιουν',
- 'Jul' : 'Ιουλ',
- 'Aug' : 'Αυγ',
- 'Sep' : 'Σεπ',
- 'Oct' : 'Οκτ',
- 'Nov' : 'Νοεμ',
- 'Dec' : 'Δεκ',
+ 'Yesterday' : 'Χθές',
+ 'msJan' : 'Ιαν',
+ 'msFeb' : 'Φεβ',
+ 'msMar' : 'Μαρ',
+ 'msApr' : 'Απρ',
+ 'msMay' : 'Μαϊ',
+ 'msJun' : 'Ιουν',
+ 'msJul' : 'Ιουλ',
+ 'msAug' : 'Αυγ',
+ 'msSep' : 'Σεπ',
+ 'msOct' : 'Οκτ',
+ 'msNov' : 'Νοεμ',
+ 'msDec' : 'Δεκ',
'January' : 'Ιανουάριος',
'February' : 'Φεβρουάριος',
'March' : 'Μάρτιος',
@@ -185,6 +197,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'Thu' : 'Πεμ',
'Fri' : 'Παρ',
'Sat' : 'Σαβ',
+
/******************************** sort variants ********************************/
'sortname' : 'κατά όνομα',
'sortkind' : 'κατά είδος',
@@ -196,7 +209,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'confirmReq' : 'Απαιτείται επιβεβαίωση',
'confirmRm' : 'Είστε σίγουροι πως θέλετε να διαγράψετε τα αρχεία? Οι αλλαγές θα είναι μόνιμες!',
'confirmRepl' : 'Αντικατάσταση του παλιού αρχείου με το νέο?',
- 'apllyAll' : 'Εφαρμογή σε όλλα',
+ 'apllyAll' : 'Εφαρμογή σε όλα',
'name' : 'Όνομα',
'size' : 'Μέγεθος',
'perms' : 'Δικαιώματα',
@@ -221,17 +234,17 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'dim' : 'Διαστάσεις',
'files' : 'Αρχεία',
'folders' : 'Φάκελοι',
- 'items' : 'Ατικείμενα',
+ 'items' : 'Αντικείμενα',
'yes' : 'ναι',
'no' : 'όχι',
- 'link' : 'Σλυνδεσμος',
+ 'link' : 'Σύνδεσμος',
'searcresult' : 'Αποτελέσματα αναζήτησης',
'selected' : 'επιλεγμένα αντικείμενα',
'about' : 'Σχετικά',
- 'shortcuts' : 'Συντομέυσεις',
+ 'shortcuts' : 'Συντομεύσεις',
'help' : 'Βοήθεια',
- 'webfm' : 'εργαλέιο διαχείρισης αρχείων από το web',
- 'ver' : 'ΈΚδοση',
+ 'webfm' : 'εργαλείο διαχείρισης αρχείων από το web',
+ 'ver' : 'Έκδοση',
'protocolver' : 'έκδοση πρωτοκόλλου',
'homepage' : 'Σελίδα του project',
'docs' : 'Τεκμηρίωση (documentation)',
@@ -240,8 +253,8 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'facebook' : 'Βρείτε μας στο facebook',
'team' : 'Ομάδα',
'chiefdev' : 'κύριος προγραμματιστής',
- 'developer' : 'προγραμματισής',
- 'contributor' : 'συνισφορά',
+ 'developer' : 'προγραμματιστής',
+ 'contributor' : 'συνεισφορά',
'maintainer' : 'συντηρητής',
'translator' : 'μεταφραστής',
'icons' : 'Εικονίδια',
@@ -253,13 +266,10 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'moveFiles' : 'Μετακίνηση αρχείων',
'copyFiles' : 'Αντιγραφή αρχείων',
'rmFromPlaces' : 'Αντιγραφή από τοποθεσίες',
- 'untitled folder' : 'untitled folder',
- 'untitled file.txt' : 'untitled file.txt',
'aspectRatio' : 'Αναλογία διαστάσεων',
'scale' : 'Κλίμακα',
'width' : 'Πλάτος',
'height' : 'Ύψος',
- 'mode' : 'Κατάσταση',
'resize' : 'Αλλαγή μεγέθους',
'crop' : 'Crop',
'rotate' : 'Περιστροφή',
@@ -272,13 +282,14 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'port' : 'Port', // added 18.04.2012
'user' : 'Χρήστης', // added 18.04.2012
'pass' : 'Κωδικός', // added 18.04.2012
+
/********************************** mimetypes **********************************/
'kindUnknown' : 'Άγνωστο',
'kindFolder' : 'Φάκελος',
'kindAlias' : 'Ψευδώνυμο (alias)',
'kindAliasBroken' : 'Μη έγκυρο ψευδώνυμο',
// applications
- 'kindApp' : 'Εφαρμοφή',
+ 'kindApp' : 'Εφαρμογή',
'kindPostscript' : 'Έγγραφο Postscript',
'kindMsOffice' : 'Έγγραφο Microsoft Office',
'kindMsWord' : 'Έγγραφο Microsoft Word',
@@ -292,6 +303,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindTAR' : 'Αρχείο TAR',
'kindGZIP' : 'Αρχείο GZIP',
'kindBZIP' : 'Αρχείο BZIP',
+ 'kindXZ' : 'Αρχείο XZ',
'kindZIP' : 'Αρχείο ZIP',
'kindRAR' : 'Αρχείο RAR',
'kindJAR' : 'Αρχείο Java JAR',
@@ -350,6 +362,5 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindVideoMKV' : 'Ταινία matroska',
'kindVideoOGG' : 'Ταινία ogg'
}
- }
+ };
}
-
diff --git a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.es.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.es.js
similarity index 51%
rename from elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.es.js
rename to elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.es.js
index 8a7dda3..ca5df03 100644
--- a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.es.js
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.es.js
@@ -1,22 +1,26 @@
/**
- * Spanish translation
+ * Español internacional translation
* @author Julián Torres
- * @version 2011-08-25
+ * @author Luis Faura
+ * @author Adrià Vilanova
+ * @version 2016-03-19
*/
if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
elFinder.prototype.i18.es = {
- translator : 'Julián Torres <julian.torres@pabernosmatao.com>',
+ translator : 'Julián Torres <julian.torres@pabernosmatao.com>, Luis Faura <luis@luisfaura.es>',
language : 'Español internacional',
direction : 'ltr',
+ dateFormat : 'M d, Y h:i A', // Mar 13, 2012 05:27 PM
+ fancyDateFormat : '$1 h:i A', // will produce smth like: Today 12:25 PM
messages : {
-
+
/********************************** errors **********************************/
'error' : 'Error',
'errUnknown' : 'Error desconocido.',
'errUnknownCmd' : 'Comando desconocido.',
- 'errJqui' : 'Configuración no válida de jQuery UI. deben estar incluidos los componentes selectable, draggable y droppable.',
+ 'errJqui' : 'Configuración no válida de jQuery UI. Deben estar incluidos los componentes selectable, draggable y droppable.',
'errNode' : 'elFinder necesita crear elementos DOM.',
- 'errURL' : 'Configuración no válida de elFinder! La opción URL no está configurada.',
+ 'errURL' : '¡Configuración no válida de elFinder! La opción URL no está configurada.',
'errAccess' : 'Acceso denegado.',
'errConnect' : 'No se ha podido conectar con el backend.',
'errAbort' : 'Conexión cancelada.',
@@ -27,7 +31,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'errJSON' : 'El módulo PHP JSON no está instalado.',
'errNoVolumes' : 'No hay disponibles volúmenes legibles.',
'errCmdParams' : 'Parámetros no válidos para el comando "$1".',
- 'errDataNotJSON' : 'los datos no estñan en formato JSON.',
+ 'errDataNotJSON' : 'los datos no estan en formato JSON.',
'errDataEmpty' : 'No hay datos.',
'errCmdReq' : 'La petición del backend necesita un nombre de comando.',
'errOpen' : 'No se puede abrir "$1".',
@@ -48,27 +52,42 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'errRename' : 'No se puede renombrar "$1".',
'errCopyFrom' : 'No se permite copiar archivos desde el volumen "$1".',
'errCopyTo' : 'No se permite copiar archivos al volumen "$1".',
- 'errUploadCommon' : 'Error en el envñio.',
- 'errUpload' : 'No se puede subir "$1".',
+ 'errMkOutLink' : 'No se ha podido crear el enlace fuera del volumen raíz.', // from v2.1 added 03.10.2015
+ 'errUpload' : 'Error en el envio.', // old name - errUploadCommon
+ 'errUploadFile' : 'No se ha podido cargar "$1".', // old name - errUpload
'errUploadNoFiles' : 'No hay archivos para subir.',
- 'errMaxSize' : 'El tamaño de los datos excede el máximo permitido.',
- 'errFileMaxSize' : 'El tamaño del archivo excede el máximo permitido.',
- 'errUploadMime' : 'Tipo de archivo no permitidp.',
- 'errUploadTransfer' : 'Error al transferir "$1".',
- 'errSave' : 'No se puede guadar "$1".',
+ 'errUploadTotalSize' : 'El tamaño de los datos excede el máximo permitido.', // old name - errMaxSize
+ 'errUploadFileSize' : 'El tamaño del archivo excede el máximo permitido.', // old name - errFileMaxSize
+ 'errUploadMime' : 'Tipo de archivo no permitido.',
+ 'errUploadTransfer' : 'Error al transferir "$1".',
+ 'errUploadTemp' : 'No se ha podido crear el archivo temporal para la subida.', // from v2.1 added 26.09.2015
+ 'errNotReplace' : 'El objeto "$1" ya existe y no puede ser reemplazado por otro con otro tipo.', // new
+ 'errReplace' : 'No se puede reemplazar "$1".',
+ 'errSave' : 'No se puede guardar "$1".',
'errCopy' : 'No se puede copiar "$1".',
'errMove' : 'No se puede mover "$1".',
- 'errCopyInItself' : 'No se puede copiar "$1" into itself.',
+ 'errCopyInItself' : 'No se puede copiar "$1" en si mismo.',
'errRm' : 'No se puede borrar "$1".',
- 'errExtract' : 'No se puede extraer archivos from "$1".',
+ 'errRmSrc' : 'No se puede(n) borrar los archivo(s).',
+ 'errExtract' : 'No se puede extraer archivos desde "$1".',
'errArchive' : 'No se puede crear el archivo.',
'errArcType' : 'Tipo de archivo no soportado.',
'errNoArchive' : 'El archivo no es de tipo archivo o es de un tipo no soportado.',
'errCmdNoSupport' : 'El backend no soporta este comando.',
'errReplByChild' : 'La carpeta “$1” no puede ser reemplazada por un elemento contenido en ella.',
- 'errArcSymlinks' : 'Por razones de seguridad no se pueden descomprimir archivos que contengan symlinks.',
+ 'errArcSymlinks' : 'Por razones de seguridad no se pueden descomprimir archivos que contengan enlaces simbólicos.', // edited 24.06.2012
'errArcMaxSize' : 'El tamaño del archivo excede el máximo permitido.',
-
+ 'errResize' : 'Error al redimendionar "$1".',
+ 'errResizeDegree' : 'Grado de rotación inválido.', // added 7.3.2013
+ 'errResizeRotate' : 'Error al rotar la imagen.', // added 7.3.2013
+ 'errResizeSize' : 'Tamaño de imagen inválido.', // added 7.3.2013
+ 'errResizeNoChange' : 'No se puede cambiar el tamaño de la imagen.', // added 7.3.2013
+ 'errUsupportType' : 'Tipo de archivo no soportado.',
+ 'errNotUTF8Content' : 'El archivo "$1" no está en formato UTF-8 y no puede ser editado.', // added 9.11.2011
+ 'errNetMount' : 'Fallo al montar "$1".', // added 17.04.2012
+ 'errNetMountNoDriver' : 'Protocolo no soportado.', // added 17.04.2012
+ 'errNetMountFailed' : 'Fallo al montar.', // added 17.04.2012
+ 'errNetMountHostReq' : 'Dominio requerido.', // added 18.04.2012
'errSessionExpires' : 'La sesión ha expirado por inactividad',
'errCreatingTempDir' : 'No se ha podido crear al directorio temporal: "$1"',
'errFtpDownloadFile' : 'No se ha podido descargar el archivo desde FTP: "$1"',
@@ -76,14 +95,11 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'errFtpMkdir' : 'No se ha podido crear el directorio remoto en FTP: "$1"',
'errArchiveExec' : 'Se ha producido un error durante la archivación: "$1"',
'errExtractExec' : 'Se ha producido un error durante la extracción de archivos: "$1"',
- 'cmdsort' : 'Clasificar',
- 'sortkind' : 'por tipo',
- 'sortname' : 'por nombre',
- 'sortsize' : 'por tamaño',
- 'sortdate' : 'por fecha',
- 'sortFoldersFirst' : 'Las carpetas en primer lugar',
- 'errUploadFile' : 'No se ha podido cargar "$1".',
-
+ 'errNetUnMount' : 'Imposible montar', // from v2.1 added 30.04.2012
+ 'errConvUTF8' : 'No es convertible a UTF-8', // from v2.1 added 08.04.2014
+ 'errFolderUpload' : 'Prueba con Google Chrome si quieres subir la carpeta entera.', // from v2.1 added 26.6.2015
+ 'errSearchTimeout' : 'Se agotó el tiempo de espera buscando "$1". Los resultados de búsqueda son parciales.', // from v2.1 added 12.1.2016
+
/******************************* commands names ********************************/
'cmdarchive' : 'Crear archivo',
'cmdback' : 'Atrás',
@@ -98,7 +114,8 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'cmdhelp' : 'Acerca de este software',
'cmdhome' : 'Inicio',
'cmdinfo' : 'Obtener información',
- 'cmdmkdir' : 'Nueva arpeta',
+ 'cmdmkdir' : 'Nueva carpeta',
+ 'cmdmkdirin' : 'En una nueva carpeta', // from v2.1.7 added 19.2.2016
'cmdmkfile' : 'Nuevo archivo de texto',
'cmdopen' : 'Abrir',
'cmdpaste' : 'Pegar',
@@ -110,22 +127,41 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'cmdup' : 'Ir a la carpeta raíz',
'cmdupload' : 'Subir archivos',
'cmdview' : 'Ver',
-
- /*********************************** buttons ***********************************/
+ 'cmdresize' : 'Redimensionar y rotar',
+ 'cmdsort' : 'Ordenar',
+ 'cmdnetmount' : 'Montar volumen en red', // added 18.04.2012
+ 'cmdnetunmount': 'Desmontar', // from v2.1 added 30.04.2012
+ 'cmdplaces' : 'A Lugares', // added 28.12.2014
+ 'cmdchmod' : 'Cambiar modo', // from v2.1 added 20.6.2015
+ 'cmdopendir' : 'Abrir una carpeta', // from v2.1 added 13.1.2016
+
+ /*********************************** buttons ***********************************/
'btnClose' : 'Cerrar',
'btnSave' : 'Guardar',
'btnRm' : 'Eliminar',
+ 'btnApply' : 'Aplicar',
'btnCancel' : 'Cancelar',
'btnNo' : 'No',
'btnYes' : 'Sí',
-
+ 'btnMount' : 'Montar', // added 18.04.2012
+ 'btnApprove': 'Ir a $1 y aprobar', // from v2.1 added 26.04.2012
+ 'btnUnmount': 'Desmontar', // from v2.1 added 30.04.2012
+ 'btnConv' : 'Convertir', // from v2.1 added 08.04.2014
+ 'btnCwd' : 'Aquí', // from v2.1 added 22.5.2015
+ 'btnVolume' : 'Volumen', // from v2.1 added 22.5.2015
+ 'btnAll' : 'Todos', // from v2.1 added 22.5.2015
+ 'btnMime' : 'Tipo MIME', // from v2.1 added 22.5.2015
+ 'btnFileName':'Nombre de archivo', // from v2.1 added 22.5.2015
+ 'btnSaveClose': 'Guardar y cerrar', // from v2.1 added 12.6.2015
+ 'btnBackup' : 'Copia de seguridad', // fromv2.1 added 28.11.2015
+
/******************************** notifications ********************************/
'ntfopen' : 'Abrir carpeta',
'ntffile' : 'Abrir archivo',
'ntfreload' : 'Actualizar contenido de la carpeta',
'ntfmkdir' : 'Creando directorio',
'ntfmkfile' : 'Creando archivos',
- 'ntfrm' : 'Eliminndo archivos',
+ 'ntfrm' : 'Eliminando archivos',
'ntfcopy' : 'Copiar archivos',
'ntfmove' : 'Mover archivos',
'ntfprepare' : 'Preparar copia de archivos',
@@ -136,30 +172,79 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'ntfarchive' : 'Creando archivo',
'ntfextract' : 'Extrayendo elementos del archivo',
'ntfsearch' : 'Buscando archivos',
+ 'ntfresize' : 'Redimensionando imágenes',
'ntfsmth' : 'Haciendo algo',
'ntfloadimg' : 'Cargando imagen',
-
+ 'ntfnetmount' : 'Montando volumen en red', // added 18.04.2012
+ 'ntfnetunmount': 'Desmontando volumen en red', // from v2.1 added 30.04.2012
+ 'ntfdim' : 'Adquiriendo tamaño de imagen', // added 20.05.2013
+ 'ntfreaddir' : 'Leyendo información de la carpeta', // from v2.1 added 01.07.2013
+ 'ntfurl' : 'Obteniendo URL del enlace', // from v2.1 added 11.03.2014
+ 'ntfchmod' : 'Cambiando el modo de archivo', // from v2.1 added 20.6.2015
+ 'ntfpreupload': 'Verificando nombre del archivo subido', // from v2.1 added 31.11.2015
+ 'ntfzipdl' : 'Creando un archivo para descargar', // from v2.1.7 added 23.1.2016
+
/************************************ dates **********************************/
'dateUnknown' : 'desconocida',
'Today' : 'Hoy',
'Yesterday' : 'Ayer',
- 'Jan' : 'Ene',
- 'Feb' : 'Feb',
- 'Mar' : 'Mar',
- 'Apr' : 'Abr',
- 'May' : 'May',
- 'Jun' : 'Jun',
- 'Jul' : 'Jul',
- 'Aug' : 'Ago',
- 'Sep' : 'Sep',
- 'Oct' : 'Oct',
- 'Nov' : 'Nov',
- 'Dec' : 'Dic',
+ 'msJan' : 'Ene',
+ 'msFeb' : 'Feb',
+ 'msMar' : 'Mar',
+ 'msApr' : 'Abr',
+ 'msMay' : 'May',
+ 'msJun' : 'Jun',
+ 'msJul' : 'Jul',
+ 'msAug' : 'Ago',
+ 'msSep' : 'Sep',
+ 'msOct' : 'Oct',
+ 'msNov' : 'Nov',
+ 'msDec' : 'Dic',
+ 'January' : 'Enero',
+ 'February' : 'Febrero',
+ 'March' : 'Marzo',
+ 'April' : 'Abril',
+ 'May' : 'Mayo',
+ 'June' : 'Junio',
+ 'July' : 'Julio',
+ 'August' : 'Agosto',
+ 'September' : 'Septiembre',
+ 'October' : 'Octubre',
+ 'November' : 'Noviembre',
+ 'December' : 'Diciembre',
+ 'Sunday' : 'Domingo',
+ 'Monday' : 'Lunes',
+ 'Tuesday' : 'Martes',
+ 'Wednesday' : 'Miércoles',
+ 'Thursday' : 'Jueves',
+ 'Friday' : 'Viernes',
+ 'Saturday' : 'Sábado',
+ 'Sun' : 'Dom',
+ 'Mon' : 'Lun',
+ 'Tue' : 'Mar',
+ 'Wed' : 'Mie',
+ 'Thu' : 'Jue',
+ 'Fri' : 'Vie',
+ 'Sat' : 'Sab',
+
+ /******************************** sort variants ********************************/
+ 'sortname' : 'por nombre',
+ 'sortkind' : 'por tipo',
+ 'sortsize' : 'por tamaño',
+ 'sortdate' : 'por fecha',
+ 'sortFoldersFirst' : 'Las carpetas primero',
+
+ /********************************** new items **********************************/
+ 'untitled file.txt' : 'NuevoArchivo.txt', // added 10.11.2015
+ 'untitled folder' : 'NuevaCarpeta', // added 10.11.2015
+ 'Archive' : 'NuevoArchivo', // from v2.1 added 10.11.2015
/********************************** messages **********************************/
'confirmReq' : 'Se necesita confirmación',
- 'confirmRm' : '¿Está seguro de querer eliminar archivos? Esto no tiene vuelta atrás!',
- 'confirmRepl' : '¿Reemplazar el antigüo archivo con el nuevo?',
+ 'confirmRm' : '¿Está seguro de querer eliminar archivos? ¡Esto no se puede deshacer!',
+ 'confirmRepl' : '¿Reemplazar el antiguo archivo con el nuevo?',
+ 'confirmConvUTF8' : 'No está en UTF-8 Convertir a UTF-8? Los contenidos se guardarán en UTF-8 tras la conversión.', // from v2.1 added 08.04.2014
+ 'confirmNotSave' : 'Ha sido modificado. Perderás los cambios si no los guardas.', // from v2.1 added 15.7.2015
'apllyAll' : 'Aplicar a todo',
'name' : 'Nombre',
'size' : 'Tamaño',
@@ -178,7 +263,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'viewlist' : 'ver como lista',
'viewicons' : 'Ver como iconos',
'places' : 'Lugares',
- 'calc' : 'Calcular',
+ 'calc' : 'Calcular',
'path' : 'Ruta',
'aliasfor' : 'Alias para',
'locked' : 'Bloqueado',
@@ -186,22 +271,22 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'files' : 'Archivos',
'folders' : 'Carpetas',
'items' : 'Elementos',
- 'yes' : 'si',
+ 'yes' : 'sí',
'no' : 'no',
'link' : 'Enlace',
- 'searcresult' : 'Resultados de la búsqueda',
+ 'searcresult' : 'Resultados de la búsqueda',
'selected' : 'elementos seleccionados',
'about' : 'Acerca',
'shortcuts' : 'Accesos directos',
'help' : 'Ayuda',
'webfm' : 'Administrador de archivos web',
- 'ver' : 'Version',
+ 'ver' : 'Versión',
'protocolver' : 'versión del protocolo',
- 'homepage' : 'Project home',
+ 'homepage' : 'Inicio',
'docs' : 'Documentación',
- 'github' : 'Fork us on Github',
+ 'github' : 'Bifúrcanos en Github',
'twitter' : 'Síguenos en Twitter',
- 'facebook' : 'Únete a nostros en Facebook',
+ 'facebook' : 'Únete a nosotros en Facebook',
'team' : 'Equipo',
'chiefdev' : 'desarrollador jefe',
'developer' : 'desarrollador',
@@ -216,13 +301,45 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'selectForUpload' : 'Seleccione archivos para subir',
'moveFiles' : 'Mover archivos',
'copyFiles' : 'Copiar archivos',
- 'rmFromPlaces' : 'Eliminar en sus ubicaciónes',
- 'untitled folder' : 'carpeta sin título',
- 'untitled archivo.txt' : 'archivo.txt sin título',
- 'mode' : 'Modo',
- 'resize' : 'Redimensionar',
- 'crop' : 'Recortar',
-
+ 'rmFromPlaces' : 'Eliminar en sus ubicaciones',
+ 'aspectRatio' : 'Relación de aspecto',
+ 'scale' : 'Escala',
+ 'width' : 'Ancho',
+ 'height' : 'Alto',
+ 'resize' : 'Redimensionar',
+ 'crop' : 'Recortar',
+ 'rotate' : 'Rotar',
+ 'rotate-cw' : 'Rotar 90 grados en sentido horario',
+ 'rotate-ccw' : 'Rotar 90 grados en sentido antihorario',
+ 'degree' : '°',
+ 'netMountDialogTitle' : 'Montar volumen en red', // added 18.04.2012
+ 'protocol' : 'Protocolo', // added 18.04.2012
+ 'host' : 'Dominio', // added 18.04.2012
+ 'port' : 'Puerto', // added 18.04.2012
+ 'user' : 'Usuario', // added 18.04.2012
+ 'pass' : 'Contraseña', // added 18.04.2012
+ 'confirmUnmount' : '¿Desmontar $1?', // from v2.1 added 30.04.2012
+ 'dropFilesBrowser': 'Arrastra o pega archivos del navegador', // from v2.1 added 30.05.2012
+ 'dropPasteFiles' : 'Arrastra o pega enlaces URL aquí', // from v2.1 added 07.04.2014
+ 'encoding' : 'Codificando', // from v2.1 added 19.12.2014
+ 'locale' : 'Locale', // from v2.1 added 19.12.2014
+ 'searchTarget' : 'Destino: $1', // from v2.1 added 22.5.2015
+ 'searchMime' : 'Buscar entrada por tipo MIME', // from v2.1 added 22.5.2015
+ 'owner' : 'Propietario', // from v2.1 added 20.6.2015
+ 'group' : 'Grupo', // from v2.1 added 20.6.2015
+ 'other' : 'Otro', // from v2.1 added 20.6.2015
+ 'execute' : 'Ejecutar', // from v2.1 added 20.6.2015
+ 'perm' : 'Permiso', // from v2.1 added 20.6.2015
+ 'mode' : 'Modo', // from v2.1 added 20.6.2015
+ 'emptyFolder' : 'La carpeta está vacía', // from v2.1.6 added 30.12.2015
+ 'emptyFolderDrop' : 'La carpeta está vacía\\A Arrastrar para añadir elementos', // from v2.1.6 added 30.12.2015
+ 'emptyFolderLTap' : 'La carpeta está vacía\\A Presiona durante un rato para añadir elementos', // from v2.1.6 added 30.12.2015
+ 'quality' : 'Calidad', // from v2.1.6 added 5.1.2016
+ 'autoSync' : 'Sincronización automática', // from v2.1.6 added 10.1.2016
+ 'moveUp' : 'Mover arriba', // from v2.1.6 added 18.1.2016
+ 'getLink' : 'Obtener enlace', // from v2.1.7 added 9.2.2016
+ 'selectedItems' : 'Elementos seleccionados ($1)', // from v2.1.7 added 2.19.2016
+
/********************************** mimetypes **********************************/
'kindUnknown' : 'Desconocido',
'kindFolder' : 'Carpeta',
@@ -243,6 +360,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindTAR' : 'Archivo TAR',
'kindGZIP' : 'Archivo GZIP',
'kindBZIP' : 'Archivo BZIP',
+ 'kindXZ' : 'Archivo XZ',
'kindZIP' : 'Archivo ZIP',
'kindRAR' : 'Archivo RAR',
'kindJAR' : 'Archivo Java JAR',
@@ -253,24 +371,25 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindText' : 'Documento de texto',
'kindTextPlain' : 'Texto plano',
'kindPHP' : 'Código PHP',
- 'kindCSS' : 'Hoja de estilo CSS',
+ 'kindCSS' : 'Hoja de estilos CSS',
'kindHTML' : 'Documento HTML',
'kindJS' : 'Código Javascript',
'kindRTF' : 'Documento RTF',
- 'kindC' : 'C source',
- 'kindCHeader' : 'Código C header',
+ 'kindC' : 'Código C',
+ 'kindCHeader' : 'Código C cabeceras',
'kindCPP' : 'Código C++',
- 'kindCPPHeader' : 'Código C++ header',
- 'kindShell' : 'Script Unix shell',
+ 'kindCPPHeader' : 'Código C++ cabeceras',
+ 'kindShell' : 'Script de terminal de Unix',
'kindPython' : 'Código Python',
'kindJava' : 'Código Java',
'kindRuby' : 'Código Ruby',
'kindPerl' : 'Código Perl',
- 'kindSQL' : 'SCódigo QL',
+ 'kindSQL' : 'Código QL',
'kindXML' : 'Documento XML',
- 'kindAWK' : 'Código AWK source',
+ 'kindAWK' : 'Código AWK',
'kindCSV' : 'Documento CSV (valores separados por comas)',
'kindDOCBOOK' : 'Documento Docbook XML',
+ 'kindMarkdown' : 'Texto Markdown', // added 20.7.2015
// images
'kindImage' : 'Imagen',
'kindBMP' : 'Imagen BMP',
@@ -283,14 +402,14 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindXBITMAP' : 'Imagen X bitmap',
'kindPXM' : 'Imagen Pixelmator',
// media
- 'kindAudio' : 'Audio media',
+ 'kindAudio' : 'Archivo de audio',
'kindAudioMPEG' : 'Audio MPEG',
'kindAudioMPEG4' : 'Audio MPEG-4',
'kindAudioMIDI' : 'Audio MIDI',
'kindAudioOGG' : 'Audio Ogg Vorbis',
'kindAudioWAV' : 'Audio WAV',
- 'AudioPlaylist' : 'Playlist MP3',
- 'kindVideo' : 'Video media',
+ 'AudioPlaylist' : 'Lista de reproducción MP3',
+ 'kindVideo' : 'Archivo de video',
'kindVideoDV' : 'Película DV',
'kindVideoMPEG' : 'Película MPEG',
'kindVideoMPEG4' : 'Película MPEG-4',
@@ -301,6 +420,6 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindVideoMKV' : 'Película Matroska MKV',
'kindVideoOGG' : 'Película Ogg'
}
- }
+ };
}
diff --git a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.fa.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.fa.js
similarity index 85%
rename from elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.fa.js
rename to elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.fa.js
index 70ece5c..f87b90b 100644
--- a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.fa.js
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.fa.js
@@ -1,7 +1,7 @@
/**
* Persian-Farsi Translation
* @author Keyhan Mohammadpour
- * @version 2012-04-07
+ * @version 2014-12-19
*/
if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
elFinder.prototype.i18.fa = {
@@ -20,6 +20,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'errNode' : 'شی elfinder به درستی ایجاد نشده است .',
'errURL' : 'تنظیمات elfinder شما به درستی انجام نشده است . تنظیم Url را به درستی انجام دهید .',
'errAccess' : 'محدودیت سطح دسترسی',
+ 'errConnect' : 'Unable to connect to backend.',
'errAbort' : 'ارتباط قطع شده است .',
'errTimeout' : 'مهلت زمانی Connection شما به انتها رسیده ایت .',
'errNotFound' : 'تنظیم Backend یافت نشد .',
@@ -49,18 +50,21 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'errRename' : 'قادر به تغییر نام فایل "$1" نمی باشد .',
'errCopyFrom' : 'کپی نمودن از درایو با نام "$1" امکان پذیر نمی باشد .',
'errCopyTo' : 'کپی نمودن به درایو با نام "$1" امکان پذیر نمی باشد .',
- 'errUploadCommon' : 'خطای بارگذاری ',
- 'errUpload' : 'قادر به بارگذاری "$1" نمی باشد .',
+ 'errUpload' : 'خطای بارگذاری ',
+ 'errUploadFile' : 'قادر به بارگذاری "$1" نمی باشد .',
'errUploadNoFiles' : 'هیچ فایلی برای بارگذاری یافت نشد .',
- 'errMaxSize' : 'حجم داده ها بیشتر از حد مجاز تعیین شده است .',
- 'errFileMaxSize' : 'حجم فایل بیشتر از حد مجاز تعیین شده است .',
+ 'errUploadTotalSize' : 'حجم داده ها بیشتر از حد مجاز تعیین شده است .',
+ 'errUploadFileSize' : 'حجم فایل بیشتر از حد مجاز تعیین شده است .',
'errUploadMime' : 'نوع فایل انتخابی شما مجاز نمی باشد .',
'errUploadTransfer' : 'در تبادل "$1" خطایی رخ داده است .',
+ 'errNotReplace' : 'Object "$1" already exists at this location and can not be replaced by object with another type.',
+ 'errReplace' : 'Unable to replace "$1".',
'errSave' : 'قادر به دخیره کردن "$1" نمی باشد .',
'errCopy' : 'قادر به کپی نمودن "$1" نمی باشد .',
'errMove' : 'قادر به جابجایی "$1" نمی باشد .',
'errCopyInItself' : 'قادر به کپی نمودن "$1" در درون خودش نمی باشد .',
'errRm' : 'قادر به حذف نمودن "$1" نمی باشد .',
+ 'errRmSrc' : 'Unable remove source file(s).',
'errExtract' : 'قادر به استخراج فایل فشرده "$1" نمی باشد .',
'errArchive' : 'قادر به ایجاد آرشیو نمی باشد .',
'errArcType' : 'نوع ناشناخته برای آرشیو .',
@@ -70,8 +74,24 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'errArcSymlinks' : 'به دلایل مسائل امنیتی قادر به استخراج آرشیو های دارای symlinks نمی باشد .',
'errArcMaxSize' : 'فایل های آرشیو شده به حداکثر اندازه تعیین شده رسیده اند .',
'errResize' : 'قادر به تغییر اندازه "$1" نمی باشد .',
+ 'errResizeDegree' : 'Invalid rotate degree.',
+ 'errResizeRotate' : 'Unable to rotate image.',
+ 'errResizeSize' : 'Invalid image size.',
+ 'errResizeNoChange' : 'Image size not changed.',
'errUsupportType' : 'نوع فایل شما قابل پشتیبانی نمی باشد .',
-
+ 'errNotUTF8Content' : 'File "$1" is not in UTF-8 and cannot be edited.',
+ 'errNetMount' : 'Unable to mount "$1".',
+ 'errNetMountNoDriver' : 'Unsupported protocol.',
+ 'errNetMountFailed' : 'Mount failed.',
+ 'errNetMountHostReq' : 'Host required.',
+ 'errSessionExpires' : 'Your session has expired due to inactivity.',
+ 'errCreatingTempDir' : 'Unable to create temporary directory: "$1"',
+ 'errFtpDownloadFile' : 'Unable to download file from FTP: "$1"',
+ 'errFtpUploadFile' : 'Unable to upload file to FTP: "$1"',
+ 'errFtpMkdir' : 'Unable to create remote directory on FTP: "$1"',
+ 'errArchiveExec' : 'Error while archiving files: "$1"',
+ 'errExtractExec' : 'Error while extracting files: "$1"',
+
/******************************* commands names ********************************/
'cmdarchive' : 'ساختن آرشیو',
'cmdback' : 'قبلی',
@@ -100,6 +120,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'cmdview' : 'نمایش',
'cmdresize' : 'تغییر اندازه فایل',
'cmdsort' : 'مرتب سازی',
+ 'cmdnetmount' : 'Mount network volume',
/*********************************** buttons ***********************************/
'btnClose' : 'بستن',
@@ -109,6 +130,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'btnCancel' : 'انصراف',
'btnNo' : 'خیر',
'btnYes' : 'بلی',
+ 'btnMount' : 'Mount',
/******************************** notifications ********************************/
'ntfopen' : 'باز نمودن پوشه',
@@ -127,37 +149,40 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'ntfarchive' : 'در حال ساختن آرشیو',
'ntfextract' : 'استخراج فایل ها از آرشیو',
'ntfsearch' : 'در حال جستجو فایل ها',
+ 'ntfresize' : 'Resizing images',
'ntfsmth' : 'درحال انجام عملیات ....',
'ntfloadimg' : 'در حال لود نمودن تصویر',
-
+ 'ntfnetmount' : 'Mounting network volume',
+ 'ntfdim' : 'Acquiring image dimension',
+
/************************************ dates **********************************/
'dateUnknown' : 'ناشناخته',
'Today' : 'امروز',
'Yesterday' : 'دیروز',
- 'Jan' : 'بهمن',
- 'Feb' : 'اسفند',
- 'Mar' : 'فروردین',
- 'Apr' : 'اردیبهشت',
- 'May' : 'خرداد',
- 'Jun' : 'تیر',
- 'Jul' : 'مرداد',
- 'Aug' : 'شهریور',
- 'Sep' : 'مهر',
- 'Oct' : 'آبان',
- 'Nov' : 'آذر',
- 'Dec' : 'دی',
- 'January' : 'بهمن',
- 'February' : 'اسفند',
- 'March' : 'فروردین',
- 'April' : 'اردیبهشت',
- 'May' : 'خرداد',
- 'June' : 'تیر',
- 'July' : 'مرداد',
- 'August' : 'شهریور',
- 'September' : 'مهر',
- 'October' : 'آبان',
- 'November' : 'آذر',
- 'December' : 'دی',
+ 'msJan' : 'ژانویه',
+ 'msFeb' : 'فوریه',
+ 'msMar' : 'مارس',
+ 'msApr' : 'آوریل',
+ 'msMay' : 'مه',
+ 'msJun' : 'ژوئن',
+ 'msJul' : 'ژوئیه',
+ 'msAug' : 'اوت',
+ 'msSep' : 'سپتامبر',
+ 'msOct' : 'اکتبر',
+ 'msNov' : 'نوامبر',
+ 'msDec' : 'دسامبر',
+ 'January' : 'ژانویه',
+ 'February' : 'فوریه',
+ 'March' : 'مارس',
+ 'April' : 'آوریل',
+ 'May' : 'مه',
+ 'June' : 'ژوئن',
+ 'July' : 'ژوئیه',
+ 'August' : 'اوت',
+ 'September' : 'سپتامبر',
+ 'October' : 'اکتبر',
+ 'November' : 'نوامبر',
+ 'December' : 'دسامبر',
'Sunday' : 'یک شنبه',
'Monday' : 'دوشنبه',
'Tuesday' : 'سه شنبه',
@@ -172,15 +197,13 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'Thu' : 'پنج شنبه',
'Fri' : 'جمعه',
'Sat' : 'شنبه',
+
/******************************** sort variants ********************************/
- 'sortnameDirsFirst' : 'بر اساس نام (پوشه ها در ابتدا قرار می گیرند ) .',
- 'sortkindDirsFirst' : 'بر اساس نوع (پوشه ها در ابتدا قرار می گیرند ) .',
- 'sortsizeDirsFirst' : 'بر اساس اندازه (پوشه ها در ابتدا قرار می گیرند ) .',
- 'sortdateDirsFirst' : 'بر اساس تاریخ (پوشه ها در ابتدا قرار می گیرند ) .',
'sortname' : 'بر اساس نام',
'sortkind' : 'بر اساس نوع',
'sortsize' : 'بر اساس اندازه',
'sortdate' : 'بر اساس تاریخ',
+ 'sortFoldersFirst' : 'Folders first',
/********************************** messages **********************************/
'confirmReq' : 'تاییدیه نهایی نیاز است .',
@@ -222,7 +245,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'help' : 'راهنما',
'webfm' : 'مدیر وب فایل',
'ver' : 'نسخه',
- 'protocol' : 'نسخه پروتکل',
+ 'protocolver' : 'protocol version',
'homepage' : 'صفحه اصلی پروژه',
'docs' : 'مستندات',
'github' : 'دنبال کردن ما بر روی Github',
@@ -243,20 +266,23 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'moveFiles' : 'انتقال فایل ها',
'copyFiles' : 'کپی فایل ها',
'rmFromPlaces' : 'حدف',
- 'untitled folder' : 'پوشه بدون نام',
- 'untitled file.txt' : 'فایل متنی بدون نام',
'aspectRatio' : 'نسبت تصویر',
'scale' : 'مقیاس',
'width' : 'طول',
'height' : 'ارتفاع',
- 'mode' : 'مد',
'resize' : 'تغییر اندازه',
'crop' : 'بریدن',
'rotate' : 'چرخاندن',
'rotate-cw' : 'چرخاندن 90 درجه در جهت عقربه های ساعت',
'rotate-ccw' : 'چرخاندن 90 درجه در جهت خلاف عقربه های ساعت',
'degree' : 'درجه',
-
+ 'netMountDialogTitle' : 'Mount network volume',
+ 'protocol' : 'نسخه پروتکل',
+ 'host' : 'Host',
+ 'port' : 'Port',
+ 'user' : 'User',
+ 'pass' : 'Password',
+
/********************************** mimetypes **********************************/
'kindUnknown' : 'Unknown',
'kindFolder' : 'Folder',
@@ -277,6 +303,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindTAR' : 'TAR archive',
'kindGZIP' : 'GZIP archive',
'kindBZIP' : 'BZIP archive',
+ 'kindXZ' : 'XZ archive',
'kindZIP' : 'ZIP archive',
'kindRAR' : 'RAR archive',
'kindJAR' : 'Java JAR file',
@@ -335,5 +362,5 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindVideoMKV' : 'Matroska movie',
'kindVideoOGG' : 'Ogg movie'
}
- }
-}
\ No newline at end of file
+ };
+}
diff --git a/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.fo.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.fo.js
new file mode 100644
index 0000000..b487411
--- /dev/null
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.fo.js
@@ -0,0 +1,411 @@
+/**
+ * Faroese translation
+ * @author Marius Hammer
+ * @version 2015-12-03
+ */
+if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
+ elFinder.prototype.i18.fo = {
+ translator : 'Marius Hammer <marius@vrg.fo>',
+ language : 'Faroese',
+ direction : 'ltr',
+ dateFormat : 'd.m.Y H:i', // Mar 13, 2012 05:27 PM
+ fancyDateFormat : '$1 H:i', // will produce smth like: Today 12:25 PM
+ messages : {
+
+ /********************************** errors **********************************/
+ 'error' : 'Villa íkomin',
+ 'errUnknown' : 'Ókend villa.',
+ 'errUnknownCmd' : 'Ókend boð.',
+ 'errJqui' : 'Ógildig jQuery UI konfiguratión. Vælbærar, sum kunnu hálast runt og kunnu sleppast skulu takast við.',
+ 'errNode' : 'elFinder krevur DOM Element stovna.',
+ 'errURL' : 'Ugyldig elFinder konfiguration! URL stilling er ikki ásett.',
+ 'errAccess' : 'Atgongd nokta.',
+ 'errConnect' : 'Far ikki samband við backend.',
+ 'errAbort' : 'Sambandi avbrotið.',
+ 'errTimeout' : 'Sambandi broti av.',
+ 'errNotFound' : 'Backend ikki funnið.',
+ 'errResponse' : 'Ógildugt backend svar.',
+ 'errConf' : 'Ógildugt backend konfiguratión.',
+ 'errJSON' : 'PHP JSON modulið er ikki innstallera.',
+ 'errNoVolumes' : 'Lesiligar mappur er ikki atkomulig.',
+ 'errCmdParams' : 'Ógildigar stillingar fyri kommando "$1".',
+ 'errDataNotJSON' : 'Dáta er ikki JSON.',
+ 'errDataEmpty' : 'Dáta er tømt.',
+ 'errCmdReq' : 'Backend krevur eitt kommando navn.',
+ 'errOpen' : 'Kundi ikki opna "$1".',
+ 'errNotFolder' : 'Luturin er ikki ein mappa.',
+ 'errNotFile' : 'Luturin er ikki ein fíla.',
+ 'errRead' : 'Kundi ikki lesa til "$1".',
+ 'errWrite' : 'Kundi ikki skriva til "$1".',
+ 'errPerm' : 'Atgongd nokta.',
+ 'errLocked' : '"$1" er løst og kann ikki umdoybast, flytast ella strikast.',
+ 'errExists' : 'Tað finst longu ein fíla við navn "$1".',
+ 'errInvName' : 'Ógildugt fíla navn.',
+ 'errFolderNotFound' : 'Mappa ikki funnin.',
+ 'errFileNotFound' : 'Fíla ikki funnin.',
+ 'errTrgFolderNotFound' : 'Mappan "$1" bleiv ikke funnin.',
+ 'errPopup' : 'Kagin forðaði í at opna eitt popup-vindeyga. Fyri at opna fíluna, aktivera popup-vindeygu í tínum kaga stillingum.',
+ 'errMkdir' : '\'Kundi ikki stovna mappu "$1".',
+ 'errMkfile' : 'Kundi ikki stovna mappu "$1".',
+ 'errRename' : 'Kundi ikki umdoyba "$1".',
+ 'errCopyFrom' : 'Kopiering av fílum frá mappuni "$1" er ikke loyvt.',
+ 'errCopyTo' : 'Kopiering av fílum til mappuna "$1" er ikke loyvt.',
+ 'errMkOutLink' : 'Ikki ført fyri at stovna leinkju til uttanfyri \'volume\' rót.', // from v2.1 added 03.10.2015
+ 'errUpload' : 'Innlegginar feilur.', // old name - errUploadCommon
+ 'errUploadFile' : 'Kundi ikki leggja "$1" inn.', // old name - errUpload
+ 'errUploadNoFiles' : 'Ongar fílar funnir at leggja inn.',
+ 'errUploadTotalSize' : 'Dátain er størri enn mest loyvda støddin.', // old name - errMaxSize
+ 'errUploadFileSize' : 'Fíla er størri enn mest loyvda støddin.', // old name - errFileMaxSize
+ 'errUploadMime' : 'Fílu slag ikki góðkent.',
+ 'errUploadTransfer' : '"$1" innleggingar feilur.',
+ 'errUploadTemp' : 'Ikki ført fyri at gera fyribils fílu fyri innlegging.', // from v2.1 added 26.09.2015
+ 'errNotReplace' : 'Lutur "$1" finst longu á hesum stað og can ikki skiftast út av lutið av øðrum slag.', // new
+ 'errReplace' : 'Ikki ført fyri at erstattae "$1".',
+ 'errSave' : 'Kundi ikki goyma "$1".',
+ 'errCopy' : 'Kundi ikki kopiera "$1".',
+ 'errMove' : 'Kundi ikki flyta "$1".',
+ 'errCopyInItself' : 'Kundi ikki kopiera "$1" inn í seg sjálva.',
+ 'errRm' : 'Kundi ikki strika "$1".',
+ 'errRmSrc' : 'Ikki ført fyri at strika keldu fíla(r).',
+ 'errExtract' : 'Kundi ikki útpakka fílar frá "$1".',
+ 'errArchive' : 'Kundi ikki stovna arkiv.',
+ 'errArcType' : 'Arkiv slagið er ikki stuðla.',
+ 'errNoArchive' : 'Fílan er ikki eitt arkiv ella er ikki eitt stuðla arkiva slag.',
+ 'errCmdNoSupport' : 'Backend stuðlar ikki hesi boð.',
+ 'errReplByChild' : 'appan "$1" kann ikki erstattast av einari vøru, hon inniheldur.',
+ 'errArcSymlinks' : 'Av trygdarávum grundum, noktaði skipanin at pakka út arkivir ið innihalda symlinks ella fílur við nøvn ið ikki eru loyvd.', // edited 24.06.2012
+ 'errArcMaxSize' : 'Arkiv fílar fylla meir enn mest loyvda støddin.',
+ 'errResize' : 'Kundi ikki broyta støddina á "$1".',
+ 'errResizeDegree' : 'Ógildugt roterings stig.', // added 7.3.2013
+ 'errResizeRotate' : 'Ikki ført fyri at rotera mynd.', // added 7.3.2013
+ 'errResizeSize' : 'Ógildug myndastødd.', // added 7.3.2013
+ 'errResizeNoChange' : 'Mynda stødd ikki broytt.', // added 7.3.2013
+ 'errUsupportType' : 'Ikki stuðla fíla slag.',
+ 'errNotUTF8Content' : 'Fílan "$1" er ikki í UTF-8 og kann ikki vera rættað.', // added 9.11.2011
+ 'errNetMount' : 'Kundi ikki "mounta" "$1".', // added 17.04.2012
+ 'errNetMountNoDriver' : 'Ikki stuðla protokol.', // added 17.04.2012
+ 'errNetMountFailed' : 'Mount miseydnaðist.', // added 17.04.2012
+ 'errNetMountHostReq' : 'Host kravt.', // added 18.04.2012
+ 'errSessionExpires' : 'Tín seta er útgingin vegna óvirkniy.',
+ 'errCreatingTempDir' : 'Ikki ført fyri at stovna fyribils fíluskrá: "$1"',
+ 'errFtpDownloadFile' : 'Ikki ført fyri at taka fílu niður frá FTP: "$1"',
+ 'errFtpUploadFile' : 'Ikki ført fyri at leggja fílu til FTP: "$1"',
+ 'errFtpMkdir' : 'Ikki ført fyri at stovna fjar-fílaskrá á FTP: "$1"',
+ 'errArchiveExec' : 'Villa íkomin undir arkiveran af fílar: "$1"',
+ 'errExtractExec' : 'Villa íkomin undir útpakking af fílum: "$1"',
+ 'errNetUnMount' : 'Unable to unmount', // from v2.1 added 30.04.2012
+ 'errConvUTF8' : 'Kann ikki broytast til UTF-8', // from v2.1 added 08.04.2014
+ 'errFolderUpload' : 'Royn Google Chrome, um tú ynskir at leggja mappu innn.', // from v2.1 added 26.6.2015
+
+ /******************************* commands names ********************************/
+ 'cmdarchive' : 'Stovna arkiv',
+ 'cmdback' : 'Aftur\'',
+ 'cmdcopy' : 'Kopier',
+ 'cmdcut' : 'Klipp',
+ 'cmddownload' : 'Tak niður',
+ 'cmdduplicate' : 'Tvífalda',
+ 'cmdedit' : 'Rætta fílu',
+ 'cmdextract' : 'Pakka út fílar úr arkiv',
+ 'cmdforward' : 'Fram',
+ 'cmdgetfile' : 'Vel fílar',
+ 'cmdhelp' : 'Um hesa software',
+ 'cmdhome' : 'Heim',
+ 'cmdinfo' : 'Fá upplýsingar',
+ 'cmdmkdir' : 'Nýggja mappu',
+ 'cmdmkfile' : 'Nýggja tekst fílu',
+ 'cmdopen' : 'Opna',
+ 'cmdpaste' : 'Set inn',
+ 'cmdquicklook' : 'Forsýning',
+ 'cmdreload' : 'Les inn umaftur',
+ 'cmdrename' : 'Umdoyp',
+ 'cmdrm' : 'Strika',
+ 'cmdsearch' : 'Finn fílar',
+ 'cmdup' : 'Eitt stig upp',
+ 'cmdupload' : 'Legg fílar inn',
+ 'cmdview' : 'Síggj',
+ 'cmdresize' : 'Tillaga stødd & Roter',
+ 'cmdsort' : 'Raða',
+ 'cmdnetmount' : 'Mount network volume', // added 18.04.2012
+ 'cmdnetunmount': 'Unmount', // from v2.1 added 30.04.2012
+ 'cmdplaces' : 'Til støð', // added 28.12.2014
+ 'cmdchmod' : 'Broytir stíl', // from v2.1 added 20.6.2015
+
+ /*********************************** buttons ***********************************/
+ 'btnClose' : 'Lat aftur',
+ 'btnSave' : 'Goym',
+ 'btnRm' : 'Strika',
+ 'btnApply' : 'Brúka',
+ 'btnCancel' : 'Angra',
+ 'btnNo' : 'Nei',
+ 'btnYes' : 'Ja',
+ 'btnMount' : 'Mount', // added 18.04.2012
+ 'btnApprove': 'Goto $1 & approve', // from v2.1 added 26.04.2012
+ 'btnUnmount': 'Unmount', // from v2.1 added 30.04.2012
+ 'btnConv' : 'Konverter', // from v2.1 added 08.04.2014
+ 'btnCwd' : 'Her', // from v2.1 added 22.5.2015
+ 'btnVolume' : 'Volume', // from v2.1 added 22.5.2015
+ 'btnAll' : 'Øll', // from v2.1 added 22.5.2015
+ 'btnMime' : 'MIME Slag', // from v2.1 added 22.5.2015
+ 'btnFileName':'Fílunavn', // from v2.1 added 22.5.2015
+ 'btnSaveClose': 'Goym & Lat aftur', // from v2.1 added 12.6.2015
+ 'btnBackup' : 'Backup', // fromv2.1 added 28.11.2015
+
+ /******************************** notifications ********************************/
+ 'ntfopen' : 'Opna mappu',
+ 'ntffile' : '\'Opna fílu',
+ 'ntfreload' : 'Les innaftur mappu innihald',
+ 'ntfmkdir' : 'Stovnar mappu',
+ 'ntfmkfile' : 'Stovnar fílur',
+ 'ntfrm' : 'Strikar fílur',
+ 'ntfcopy' : 'Kopierar fílur',
+ 'ntfmove' : 'Flytur fílar',
+ 'ntfprepare' : 'Ger klárt at kopiera fílar',
+ 'ntfrename' : 'Umdoyp fílar',
+ 'ntfupload' : 'Leggur inn fílar',
+ 'ntfdownload' : 'Tekur fílar niður',
+ 'ntfsave' : 'Goymir fílar',
+ 'ntfarchive' : 'Stovnar arkiv',
+ 'ntfextract' : 'Útpakkar fílar frá arkiv',
+ 'ntfsearch' : 'Leitar eftir fílum',
+ 'ntfresize' : 'Broytir stødd á fílur',
+ 'ntfsmth' : '\'Ger okkurt >_<',
+ 'ntfloadimg' : 'Lesur mynd inn',
+ 'ntfnetmount' : 'Mounting network volume', // added 18.04.2012
+ 'ntfnetunmount': 'Unmounting network volume', // from v2.1 added 30.04.2012
+ 'ntfdim' : 'Tekur mynda vídd', // added 20.05.2013
+ 'ntfreaddir' : 'Lesur mappu upplýsingar', // from v2.1 added 01.07.2013
+ 'ntfurl' : 'Far URL af leinkju', // from v2.1 added 11.03.2014
+ 'ntfchmod' : 'Broyti fílu stíl', // from v2.1 added 20.6.2015
+ 'ntfpreupload': 'Kannar fílunavnið á fílu', // from v2.1 added 31.11.2015
+
+ /************************************ dates **********************************/
+ 'dateUnknown' : 'ókent',
+ 'Today' : 'Í dag',
+ 'Yesterday' : 'Í gjár',
+ 'msJan' : 'Jan',
+ 'msFeb' : 'Feb',
+ 'msMar' : 'Mar',
+ 'msApr' : 'Apr',
+ 'msMay' : 'Mai',
+ 'msJun' : 'Jun',
+ 'msJul' : 'Jul',
+ 'msAug' : 'Aug',
+ 'msSep' : 'Sep',
+ 'msOct' : 'Okt',
+ 'msNov' : 'Nov',
+ 'msDec' : 'Des',
+ 'January' : 'Januar',
+ 'February' : 'Februar',
+ 'March' : 'Mars',
+ 'April' : 'Apríl',
+ 'May' : 'Mai',
+ 'June' : 'Juni',
+ 'July' : 'Juli',
+ 'August' : 'August',
+ 'September' : 'September',
+ 'October' : 'Oktober',
+ 'November' : 'November',
+ 'December' : 'Desember',
+ 'Sunday' : 'Sunnudag',
+ 'Monday' : 'Mánadag',
+ 'Tuesday' : 'Týsdag',
+ 'Wednesday' : 'Mikudag',
+ 'Thursday' : 'Hósdag',
+ 'Friday' : 'Fríggjadag',
+ 'Saturday' : 'Leygardag',
+ 'Sun' : 'Sun',
+ 'Mon' : 'Mán',
+ 'Tue' : 'Týs',
+ 'Wed' : 'Mik',
+ 'Thu' : 'Hós',
+ 'Fri' : 'Frí',
+ 'Sat' : 'Ley',
+
+ /******************************** sort variants ********************************/
+ 'sortname' : 'eftir navn',
+ 'sortkind' : 'eftir slag',
+ 'sortsize' : 'eftir stødd',
+ 'sortdate' : 'eftir dato',
+ 'sortFoldersFirst' : 'mappur fyrst',
+
+ /********************************** new items **********************************/
+ 'untitled file.txt' : 'NýggjaFílu.txt', // added 10.11.2015
+ 'untitled folder' : 'NýggjaMappu', // added 10.11.2015
+ 'Archive' : 'NýtArkiv', // from v2.1 added 10.11.2015
+
+ /********************************** messages **********************************/
+ 'confirmReq' : 'Váttan kravd',
+ 'confirmRm' : 'Ert tú vísur í at tú ynskir at strika fílarnar? Hetta kann ikki angrast!',
+ 'confirmRepl' : 'Erstatta gomlu fílu við nýggja?',
+ 'confirmConvUTF8' : 'Brúka á øll', // from v2.1 added 08.04.2014
+ 'confirmNotSave' : 'Er blivi rættað. Missir sínar broytingar um tú ikki goymir.', // from v2.1 added 15.7.2015
+ 'apllyAll' : 'Brúka til øll',
+ 'name' : 'Navn',
+ 'size' : 'Stødd',
+ 'perms' : 'Rættindi',
+ 'modify' : 'Rættað',
+ 'kind' : 'Slag',
+ 'read' : 'síggja',
+ 'write' : 'broyta',
+ 'noaccess' : 'onga atgongd',
+ 'and' : 'og',
+ 'unknown' : 'ókent',
+ 'selectall' : 'Vel allar fílur',
+ 'selectfiles' : 'Vel fílu(r)',
+ 'selectffile' : 'Vel fyrstu fílu',
+ 'selectlfile' : 'Vel síðstu fílu',
+ 'viewlist' : 'Lista vísing',
+ 'viewicons' : 'Ikon vísing',
+ 'places' : 'Støð',
+ 'calc' : 'Rokna',
+ 'path' : 'Stiga',
+ 'aliasfor' : 'Hjánavn fyri',
+ 'locked' : 'Læst',
+ 'dim' : 'Vídd',
+ 'files' : 'Fílur',
+ 'folders' : 'Mappur',
+ 'items' : 'Myndir',
+ 'yes' : 'ja',
+ 'no' : 'nei',
+ 'link' : 'Leinkja',
+ 'searcresult' : 'Leiti úrslit',
+ 'selected' : 'valdar myndir',
+ 'about' : 'Um',
+ 'shortcuts' : 'Snarvegir',
+ 'help' : 'Hjálp',
+ 'webfm' : 'Web fílu umsitan',
+ 'ver' : 'Útgáva',
+ 'protocolver' : 'protokol versión',
+ 'homepage' : 'Verkætlan heim',
+ 'docs' : 'Skjalfesting',
+ 'github' : 'Mynda okkum á Github',
+ 'twitter' : 'Fylg okkum á twitter',
+ 'facebook' : 'Fylg okkum á facebook',
+ 'team' : 'Lið',
+ 'chiefdev' : 'forritaleiðari',
+ 'developer' : 'forritari',
+ 'contributor' : 'stuðulsveitari',
+ 'maintainer' : 'viðlíkahaldari',
+ 'translator' : 'umsetari',
+ 'icons' : 'Ikonir',
+ 'dontforget' : 'and don\'t forget to take your towel',
+ 'shortcutsof' : 'Snarvegir sligi frá',
+ 'dropFiles' : 'Slepp fílur her',
+ 'or' : 'ella',
+ 'selectForUpload' : 'Vel fílur at leggja inn',
+ 'moveFiles' : 'Flyt fílur',
+ 'copyFiles' : 'Kopier fílur',
+ 'rmFromPlaces' : 'Flyt frá støð',
+ 'aspectRatio' : 'Skermformat',
+ 'scale' : 'Skalera',
+ 'width' : 'Longd',
+ 'height' : 'Hædd',
+ 'resize' : 'Tilliga stødd',
+ 'crop' : 'Sker til',
+ 'rotate' : 'Rotera',
+ 'rotate-cw' : 'Rotera 90 gradir við urið',
+ 'rotate-ccw' : 'otera 90 gradir móti urið',
+ 'degree' : '°',
+ 'netMountDialogTitle' : 'Mount network volume', // added 18.04.2012
+ 'protocol' : 'Protokol', // added 18.04.2012
+ 'host' : 'Host', // added 18.04.2012
+ 'port' : 'Port', // added 18.04.2012
+ 'user' : 'Brúkari', // added 18.04.2012
+ 'pass' : 'Loyniorð', // added 18.04.2012
+ 'confirmUnmount' : 'Are you unmount $1?', // from v2.1 added 30.04.2012
+ 'dropFilesBrowser': 'Hála ella set innn fílar frá kaga', // from v2.1 added 30.05.2012
+ 'dropPasteFiles' : 'Hála ella set inn fílar frá URls her', // from v2.1 added 07.04.2014
+ 'encoding' : 'Encoding', // from v2.1 added 19.12.2014
+ 'locale' : 'Locale', // from v2.1 added 19.12.2014
+ 'searchTarget' : 'Target: $1', // from v2.1 added 22.5.2015
+ 'searchMime' : 'Leita við input MIME Type', // from v2.1 added 22.5.2015
+ 'owner' : 'Eigari', // from v2.1 added 20.6.2015
+ 'group' : 'Bólkur', // from v2.1 added 20.6.2015
+ 'other' : 'Annað', // from v2.1 added 20.6.2015
+ 'execute' : 'Útfør', // from v2.1 added 20.6.2015
+ 'perm' : 'Rættindi', // from v2.1 added 20.6.2015
+ 'mode' : 'Mode', // from v2.1 added 20.6.2015
+
+ /********************************** mimetypes **********************************/
+ 'kindUnknown' : 'Ókent',
+ 'kindFolder' : 'Mappa',
+ 'kindAlias' : 'Hjánavn',
+ 'kindAliasBroken' : 'Óvirki hjánavn',
+ // applications
+ 'kindApp' : 'Applikatión',
+ 'kindPostscript' : 'Postscript skjal',
+ 'kindMsOffice' : 'Microsoft Office skjal',
+ 'kindMsWord' : 'Microsoft Word skjal',
+ 'kindMsExcel' : 'Microsoft Excel skjal',
+ 'kindMsPP' : 'Microsoft Powerpoint framløga',
+ 'kindOO' : 'Open Office skjal',
+ 'kindAppFlash' : 'Flash applikatión',
+ 'kindPDF' : 'Portable Document Format (PDF)',
+ 'kindTorrent' : 'Bittorrent fíla',
+ 'kind7z' : '7z arkiv',
+ 'kindTAR' : 'TAR arkiv',
+ 'kindGZIP' : 'GZIP arkiv',
+ 'kindBZIP' : 'BZIP arkiv',
+ 'kindXZ' : 'XZ arkiv',
+ 'kindZIP' : 'ZIP arkiv',
+ 'kindRAR' : 'RAR arkiv',
+ 'kindJAR' : 'Java JAR ffílaile',
+ 'kindTTF' : 'True Type font',
+ 'kindOTF' : 'Open Type font',
+ 'kindRPM' : 'RPM pakki',
+ // texts
+ 'kindText' : 'Text skjal',
+ 'kindTextPlain' : 'Reinur tekstur',
+ 'kindPHP' : 'PHP kelda',
+ 'kindCSS' : 'Cascading style sheet (CSS)',
+ 'kindHTML' : 'HTML skjal',
+ 'kindJS' : 'Javascript kelda',
+ 'kindRTF' : 'Rich Text Format (RTF)',
+ 'kindC' : 'C kelda',
+ 'kindCHeader' : 'C header kelda',
+ 'kindCPP' : 'C++ kelda',
+ 'kindCPPHeader' : 'C++ header kelda',
+ 'kindShell' : 'Unix shell script',
+ 'kindPython' : 'Python kelda',
+ 'kindJava' : 'Java kelda',
+ 'kindRuby' : 'Ruby kelda',
+ 'kindPerl' : 'Perl script',
+ 'kindSQL' : 'SQL kelda',
+ 'kindXML' : 'XML skjal',
+ 'kindAWK' : 'AWK kelda',
+ 'kindCSV' : 'Comma separated values (CSV)',
+ 'kindDOCBOOK' : 'Docbook XML skjal',
+ 'kindMarkdown' : 'Markdown text', // added 20.7.2015
+ // images
+ 'kindImage' : 'Mynd',
+ 'kindBMP' : 'BMP mynd',
+ 'kindJPEG' : 'JPEG mynd',
+ 'kindGIF' : 'GIF mynd',
+ 'kindPNG' : 'PNG mynd',
+ 'kindTIFF' : 'TIFF mynd',
+ 'kindTGA' : 'TGA mynd',
+ 'kindPSD' : 'Adobe Photoshop mynd',
+ 'kindXBITMAP' : 'X bitmap mynd',
+ 'kindPXM' : 'Pixelmator mynd',
+ // media
+ 'kindAudio' : 'Audio media',
+ 'kindAudioMPEG' : 'MPEG ljóðfíla',
+ 'kindAudioMPEG4' : 'MPEG-4 ljóðfíla',
+ 'kindAudioMIDI' : 'MIDI ljóðfíla',
+ 'kindAudioOGG' : 'Ogg Vorbis ljóðfíla',
+ 'kindAudioWAV' : 'WAV ljóðfíla',
+ 'AudioPlaylist' : 'MP3 playlisti',
+ 'kindVideo' : 'Video media',
+ 'kindVideoDV' : 'DV filmur',
+ 'kindVideoMPEG' : 'MPEG filmur',
+ 'kindVideoMPEG4' : 'MPEG-4 filmur',
+ 'kindVideoAVI' : 'AVI filmur',
+ 'kindVideoMOV' : 'Quick Time filmur',
+ 'kindVideoWM' : 'Windows Media filmur',
+ 'kindVideoFlash' : 'Flash filmur',
+ 'kindVideoMKV' : 'Matroska filmur',
+ 'kindVideoOGG' : 'Ogg filmur'
+ }
+ };
+}
+
diff --git a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.fr.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.fr.js
similarity index 66%
rename from elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.fr.js
rename to elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.fr.js
index 27ac6a5..9e8402f 100644
--- a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.fr.js
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.fr.js
@@ -1,17 +1,17 @@
/**
* French translation
- * @author Régis Guyomarch
- * @version 2012-05-21
+ * @author Régis Guyomarch , Benoit Delachaux
+ * @version 2014-12-19
*/
if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
elFinder.prototype.i18.fr = {
- translator : 'Régis Guyomarch <regisg@gmail.com>',
+ translator : 'Régis Guyomarch <regisg@gmail.com>, Benoit Delachaux <benorde33@gmail.com>',
language : 'française',
direction : 'ltr',
dateFormat : 'd M, Y H:i',
fancyDateFormat : '$1 H:i',
messages : {
-
+
/********************************** errors **********************************/
'error' : 'Erreur',
'errUnknown' : 'Erreur inconnue.',
@@ -38,7 +38,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'errRead' : 'Impossible de lire "$1".',
'errWrite' : 'Impossible d\'écrire dans "$1".',
'errPerm' : 'Permission refusée.',
- 'errLocked' : '"$1" est verrouillé et ne peut être déplace ou supprimé.',
+ 'errLocked' : '"$1" est verrouillé et ne peut être déplacé ou supprimé.',
'errExists' : 'Un fichier nommé "$1" existe déjà.',
'errInvName' : 'Nom de fichier incorrect.',
'errFolderNotFound' : 'Dossier non trouvé.',
@@ -49,21 +49,23 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'errMkfile' : 'impossible de créer le fichier "$1".',
'errRename' : 'Impossible de renommer "$1".',
'errCopyFrom' : 'Interdiction de copier des fichiers depuis le volume "$1".',
- 'errCopyTo' : 'Interdiction copier des fichiers vers le volume "$1".',
+ 'errCopyTo' : 'Interdiction de copier des fichiers vers le volume "$1".',
'errUpload' : 'Erreur lors de l\'envoi du fichier.',
'errUploadFile' : 'Impossible d\'envoyer "$1".',
- 'errUploadNoFiles' : 'Aucun fichier a envoyer.',
+ 'errUploadNoFiles' : 'Aucun fichier à envoyer.',
'errUploadTotalSize' : 'Les données dépassent la taille maximale allouée.',
'errUploadFileSize' : 'Le fichier dépasse la taille maximale allouée.',
'errUploadMime' : 'Type de fichier non autorisé.',
- 'errUploadTransfer' : '"$1" erreur transfert.',
+ 'errUploadTransfer' : '"$1" erreur transfert.',
'errNotReplace' : 'L\'objet "$1" existe déjà à cet endroit et ne peut être remplacé par un objet d\'un type différent.', // new
+ 'errReplace' : 'Impossible de remplacer "$1".', // added 11.08.1013
'errSave' : 'Impossible de sauvegarder "$1".',
'errCopy' : 'Impossible de copier "$1".',
'errMove' : 'Impossible de déplacer "$1".',
'errCopyInItself' : 'Impossible de copier "$1" sur lui-même.',
'errRm' : 'Impossible de supprimer "$1".',
- 'errExtract' : 'Impossible d\'extraire les fichier de "$1".',
+ 'errRmSrc' : 'Impossible de supprimer le(s) fichier(s) source(s).',
+ 'errExtract' : 'Imbossible d\'extraire les fichiers à partir de "$1".', // added 11.08.2012
'errArchive' : 'Impossible de créer l\'archive.',
'errArcType' : 'Type d\'archive non supporté.',
'errNoArchive' : 'Le fichier n\'est pas une archive, ou c\'est un type d\'archive non supporté.',
@@ -72,12 +74,16 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'errArcSymlinks' : 'Par mesure de sécurité, il est défendu d\'extraire une archive contenant des liens symboliques.',
'errArcMaxSize' : 'Les fichiers de l\'archive excèdent la taille maximale autorisée.',
'errResize' : 'Impossible de redimensionner "$1".',
+ 'errResizeDegree' : 'Degré de rotation invalide.', // added 11.8.2013
+ 'errResizeRotate' : 'L\'image ne peut pas être tournée.', // added 11.8.2013
+ 'errResizeSize' : 'Dimension de l\'image non-valide.', // added 11.8.2013
+ 'errResizeNoChange' : 'L\'image n\'est pas redimensionnable.', // added 11.8.2013
'errUsupportType' : 'Type de fichier non supporté.',
'errNotUTF8Content' : 'Le fichier "$1" n\'est pas en UTF-8, il ne peut être édité.', // added 9.11.2011
'errNetMount' : 'Impossible de monter "$1".', // added 17.04.2012
'errNetMountNoDriver' : 'Protocol non supporté.', // added 17.04.2012
'errNetMountFailed' : 'Echec du montage.', // added 17.04.2012
- 'errNetMountHostReq' : 'Hôte requis.', // added 18.04.2012
+ 'errNetMountHostReq' : 'Hôte requis.', // added 18.04.2012
'errSessionExpires' : 'Votre session a expiré en raison de son inactivité',
'errCreatingTempDir' : 'Impossible de créer le répertoire temporaire : "$1"',
'errFtpDownloadFile' : 'Impossible de télécharger le file depuis l\'accès FTP : "$1"',
@@ -85,8 +91,11 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'errFtpMkdir' : 'Impossible de créer un répertoire distant sur l\'accès FTP :"$1"',
'errArchiveExec' : 'Erreur lors de l\'archivage des fichiers : "$1"',
'errExtractExec' : 'Erreur lors de l\'extraction des fichiers : "$1"',
- 'errUploadFile' : 'Envoi impossible de "$1"',
-
+ 'errNetUnMount' : 'Impossible de démonter', // from v2.1 added 30.04.2012
+ 'errConvUTF8' : 'Conversion en UTF-8 impossible', // from v2.1 added 08.04.2014
+ 'errFolderUpload' : 'Essayez Google Chrome, si voulez envoyer le dossier.', // from v2.1 added 26.6.2015
+ 'errSearchTimeout' : 'Délai d’attente dépassé pour la recherche "$1". Le résultat de la recherche est partiel.', // from v2.1 added 12.1.2016
+
/******************************* commands names ********************************/
'cmdarchive' : 'Créer une archive',
'cmdback' : 'Précédent',
@@ -98,10 +107,11 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'cmdextract' : 'Extraire les fichiers de l\'archive',
'cmdforward' : 'Suivant',
'cmdgetfile' : 'Sélectionner les fichiers',
- 'cmdhelp' : 'À propose de ce logiciel',
+ 'cmdhelp' : 'À propos de ce logiciel',
'cmdhome' : 'Accueil',
'cmdinfo' : 'Informations',
'cmdmkdir' : 'Nouveau dossier',
+ 'cmdmkdirin' : 'Dans un nouveau dossier', // from v2.1.7 added 19.2.2016
'cmdmkfile' : 'Nouveau fichier texte',
'cmdopen' : 'Ouvrir',
'cmdpaste' : 'Coller',
@@ -115,17 +125,32 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'cmdview' : 'Vue',
'cmdresize' : 'Redimensionner l\'image',
'cmdsort' : 'Trier',
- 'cmdnetmount' : 'Monter un volume réseau',
-
- /*********************************** buttons ***********************************/
+ 'cmdnetmount' : 'Monter un volume réseau', // added 18.04.2012
+ 'cmdnetunmount': 'Démonter', // from v2.1 added 30.04.2012
+ 'cmdplaces' : 'Vers Places', // added 28.12.2014
+ 'cmdchmod' : 'Changer de mode', // from v2.1 added 20.6.2015
+ 'cmdopendir' : 'Ouvrir un dossier', // from v2.1 added 13.1.2016
+
+ /*********************************** buttons ***********************************/
'btnClose' : 'Fermer',
'btnSave' : 'Sauvegarder',
'btnRm' : 'Supprimer',
+ 'btnApply' : 'Apply',
'btnCancel' : 'Annuler',
'btnNo' : 'Non',
'btnYes' : 'Oui',
'btnMount' : 'Monter', // added 18.04.2012
-
+ 'btnApprove': 'Aller à $1 & approuver', // from v2.1 added 26.04.2012
+ 'btnUnmount': 'Démonter', // from v2.1 added 30.04.2012
+ 'btnConv' : 'Convertir', // from v2.1 added 08.04.2014
+ 'btnCwd' : 'Ici', // from v2.1 added 22.5.2015
+ 'btnVolume' : 'Volume', // from v2.1 added 22.5.2015
+ 'btnAll' : 'Tous', // from v2.1 added 22.5.2015
+ 'btnMime' : 'Type MIME', // from v2.1 added 22.5.2015
+ 'btnFileName':'Nom du fichier', // from v2.1 added 22.5.2015
+ 'btnSaveClose': 'Enregistrer & Ferme', // from v2.1 added 12.6.2015
+ 'btnBackup' : 'Sauvegarde', // fromv2.1 added 28.11.2015
+
/******************************** notifications ********************************/
'ntfopen' : 'Ouvrir le dossier',
'ntffile' : 'Ouvrir le fichier',
@@ -143,33 +168,67 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'ntfarchive' : 'Création de l\'archive',
'ntfextract' : 'Extraction des fichiers de l\'archive',
'ntfsearch' : 'Recherche des fichiers',
+ 'ntfresize' : 'Re-tailler les images',
'ntfsmth' : 'Fait quelque chose',
'ntfloadimg' : 'Chargement de l\' image',
- 'ntfnetmount' : 'Monte le volume réseau', // added 18.04.2012
-
+ 'ntfnetmount' : 'Monte le volume réseau', // added 18.04.2012
+ 'ntfdim' : 'Calcule la dimension de l\'image', // added 20.05.2013
+ 'ntfreaddir' : 'Lecture des informations du dossier', // from v2.1 added 01.07.2013
+ 'ntfurl' : 'Récupération de l’URL du lien', // from v2.1 added 11.03.2014
+ 'ntfchmod' : 'Changement de mode', // from v2.1 added 20.6.2015
+ 'ntfpreupload': 'Vérification du nom du fichier envoyé', // from v2.1 added 31.11.2015
+ 'ntfzipdl' : 'Création d’un fichier pour le téléchargement', // from v2.1.7 added 23.1.2016
+
/************************************ dates **********************************/
'dateUnknown' : 'Inconnue',
'Today' : 'Aujourd\'hui',
'Yesterday' : 'Hier',
- 'Jan' : 'Jan',
- 'Feb' : 'Fév',
- 'Mar' : 'Mar',
- 'Apr' : 'Avr',
+ 'msJan' : 'Jan',
+ 'msFeb' : 'Fév',
+ 'msMar' : 'Mar',
+ 'msApr' : 'Avr',
+ 'msMay' : 'Mai',
+ 'msJun' : 'Jun',
+ 'msJul' : 'Jul',
+ 'msAug' : 'Aoû',
+ 'msSep' : 'Sep',
+ 'msOct' : 'Oct',
+ 'msNov' : 'Nov',
+ 'msDec' : 'Déc',
+ 'January' : 'Janvier',
+ 'February' : 'Février',
+ 'March' : 'Mars',
+ 'April' : 'Avril',
'May' : 'Mai',
- 'Jun' : 'Jun',
- 'Jul' : 'Jul',
- 'Aug' : 'Aoû',
- 'Sep' : 'Sep',
- 'Oct' : 'Oct',
- 'Nov' : 'Nov',
- 'Dec' : 'Déc',
+ 'June' : 'Juin',
+ 'July' : 'Huillet',
+ 'August' : 'Août',
+ 'September' : 'Septembre',
+ 'October' : 'Octobre',
+ 'November' : 'Novembre',
+ 'December' : 'Décembre',
+ 'Sunday' : 'Dimanche',
+ 'Monday' : 'Lundi',
+ 'Tuesday' : 'Mardi',
+ 'Wednesday' : 'Mercredi',
+ 'Thursday' : 'Jeudi',
+ 'Friday' : 'Vendredi',
+ 'Saturday' : 'Samedi',
+ 'Sun' : 'Dim',
+ 'Mon' : 'Lun',
+ 'Tue' : 'Mar',
+ 'Wed' : 'Mer',
+ 'Thu' : 'Jeu',
+ 'Fri' : 'Ven',
+ 'Sat' : 'Sam',
/******************************** sort variants ********************************/
- 'sortname' : 'par nom',
- 'sortkind' : 'par type',
+ 'sortname' : 'par nom',
+ 'sortkind' : 'par type',
'sortsize' : 'par taille',
'sortdate' : 'par date',
'sortFoldersFirst' : 'Dossiers en premier',
+
/********************************** messages **********************************/
'confirmReq' : 'Confirmation requise',
'confirmRm' : 'Êtes-vous certain de vouloir supprimer les fichiers? Cela ne peut être annulé!',
@@ -192,7 +251,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'viewlist' : 'Vue listing',
'viewicons' : 'Vue icônes',
'places' : 'Places',
- 'calc' : 'Calculer',
+ 'calc' : 'Calculer',
'path' : 'Chemin',
'aliasfor' : 'Raccourcis pour',
'locked' : 'Verrouiller',
@@ -203,7 +262,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'yes' : 'oui',
'no' : 'non',
'link' : 'Lien',
- 'searcresult' : 'Résultat de la recherche',
+ 'searcresult' : 'Résultat de la recherche',
'selected' : 'Éléments sélectionnés',
'about' : 'À propos',
'shortcuts' : 'Raccourcis',
@@ -230,44 +289,66 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'selectForUpload' : 'Sélectionner les fichiers à envoyer',
'moveFiles' : 'Déplacer les fichiers',
'copyFiles' : 'Copier les fichiers',
- 'rmFromPlaces' : 'Remove from places',
- 'aspectRatio' : 'Aspect ratio',
+ 'rmFromPlaces' : 'Retirer de Places',
+ 'aspectRatio' : 'Ratio d’affichage',
'scale' : 'Mise à l\'échelle',
'width' : 'Largeur',
'height' : 'Hauteur',
'resize' : 'Redimensionner',
'crop' : 'Recadrer',
- 'rotate' : 'Rotate',
- 'rotate-cw' : 'Rotate 90 degrees CW',
- 'rotate-ccw' : 'Rotate 90 degrees CCW',
+ 'rotate' : 'Rotation',
+ 'rotate-cw' : 'Rotation de 90 degrés horaire',
+ 'rotate-ccw' : 'Rotation de 90 degrés antihoraire',
'degree' : '°',
'netMountDialogTitle' : 'Monter un volume réseau', // added 18.04.2012
'protocol' : 'Protocole', // added 18.04.2012
- 'host' : 'Hote', // added 18.04.2012
+ 'host' : 'Hôte', // added 18.04.2012
'port' : 'Port', // added 18.04.2012
'user' : 'Utilisateur', // added 18.04.2012
'pass' : 'Mot de passe', // added 18.04.2012
-
+ 'confirmUnmount' : 'Démonter $1?', // from v2.1 added 30.04.2012
+ 'dropFilesBrowser': 'Glissez-déposez depuis le navigateur de fichier', // from v2.1 added 30.05.2012
+ 'dropPasteFiles' : 'Glissez-déposez les fichiers ici', // from v2.1 added 07.04.2014
+ 'encoding' : 'Encodage', // from v2.1 added 19.12.2014
+ 'locale' : 'Encodage régional', // from v2.1 added 19.12.2014
+ 'searchTarget' : 'Destination: $1', // from v2.1 added 22.5.2015
+ 'searchMime' : 'Recherche par type MIME', // from v2.1 added 22.5.2015
+ 'owner' : 'Propriétaire', // from v2.1 added 20.6.2015
+ 'group' : 'Groupe', // from v2.1 added 20.6.2015
+ 'other' : 'Autre', // from v2.1 added 20.6.2015
+ 'execute' : 'Exécuter', // from v2.1 added 20.6.2015
+ 'perm' : 'Permission', // from v2.1 added 20.6.2015
+ 'mode' : 'Mode', // from v2.1 added 20.6.2015
+ 'emptyFolder' : 'Le dossier est vide', // from v2.1.6 added 30.12.2015
+ 'emptyFolderDrop' : 'Le dossier est vide.\\ Glissez-déposez pour ajouter des éléments.', // from v2.1.6 added 30.12.2015
+ 'emptyFolderLTap' : 'Le dossier est vide.\\ Un appui long pour ajouter des éléments.', // from v2.1.6 added 30.12.2015
+ 'quality' : 'Qualité', // from v2.1.6 added 5.1.2016
+ 'autoSync' : 'Synchronisation automatique', // from v2.1.6 added 10.1.2016
+ 'moveUp' : 'Déplacer vers le haut', // from v2.1.6 added 18.1.2016
+ 'getLink' : 'Obtenir le lien d’URL', // from v2.1.7 added 9.2.2016
+ 'selectedItems' : 'Éléments sélectionnés ($1)', // from v2.1.7 added 2.19.2016
+
/********************************** mimetypes **********************************/
'kindUnknown' : 'Inconnu',
'kindFolder' : 'Dossier',
- 'kindAlias' : 'Raccourcis',
- 'kindAliasBroken' : 'Raccourcis cassé',
+ 'kindAlias' : 'Raccourci',
+ 'kindAliasBroken' : 'Raccourci cassé',
// applications
'kindApp' : 'Application',
'kindPostscript' : 'Document Postscript',
'kindMsOffice' : 'Document Microsoft Office',
'kindMsWord' : 'Document Microsoft Word',
'kindMsExcel' : 'Document Microsoft Excel',
- 'kindMsPP' : 'Présentation Microsoft Powerpoint',
- 'kindOO' : 'Document Open Office',
- 'kindAppFlash' : 'Application flash',
+ 'kindMsPP' : 'Présentation Microsoft PowerPoint',
+ 'kindOO' : 'Document OpenOffice',
+ 'kindAppFlash' : 'Application Flash',
'kindPDF' : 'Portable Document Format (PDF)',
- 'kindTorrent' : 'Fichier Bittorrent',
+ 'kindTorrent' : 'Fichier BitTorrent',
'kind7z' : 'Archive 7z',
'kindTAR' : 'Archive TAR',
'kindGZIP' : 'Archive GZIP',
'kindBZIP' : 'Archive BZIP',
+ 'kindXZ' : 'Archive XZ',
'kindZIP' : 'Archive ZIP',
'kindRAR' : 'Archive RAR',
'kindJAR' : 'Fichier Java JAR',
@@ -278,10 +359,10 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindText' : 'Document Text',
'kindTextPlain' : 'Texte non formaté',
'kindPHP' : 'Source PHP',
- 'kindCSS' : 'Cascading style sheet',
+ 'kindCSS' : 'Feuille de style en cascade',
'kindHTML' : 'Document HTML',
- 'kindJS' : 'Source Javascript',
- 'kindRTF' : 'Rich Text Format',
+ 'kindJS' : 'Source JavaScript',
+ 'kindRTF' : 'Format de texte enrichi (Rich Text Format)',
'kindC' : 'Source C',
'kindCHeader' : 'Source header C',
'kindCPP' : 'Source C++',
@@ -326,5 +407,5 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindVideoMKV' : 'Vidéo Matroska',
'kindVideoOGG' : 'Vidéo Ogg'
}
- }
+ };
}
diff --git a/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.he.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.he.js
new file mode 100644
index 0000000..1ccb465
--- /dev/null
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.he.js
@@ -0,0 +1,367 @@
+/**
+ * עברית translation
+ * @author Yaron Shahrabani
+ * @version 2015-11-02
+ */
+if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
+ elFinder.prototype.i18.he = {
+ translator : 'Yaron Shahrabani ',
+ language : 'עברית',
+ direction : 'rtl',
+ dateFormat : 'd.m.Y H:i', // Mar 13, 2012 05:27 PM
+ fancyDateFormat : '$1 H:i', // will produce smth like: Today 12:25 PM
+ messages : {
+
+ /********************************** errors **********************************/
+ 'error' : 'שגיאה',
+ 'errUnknown' : 'שגיאה בלתי מוכרת.',
+ 'errUnknownCmd' : 'פקודה בלתי מוכרת.',
+ 'errJqui' : 'תצורת ה־jQuery UI שגויה. יש לכלול רכיבים הניתנים לבחירה, גרירה והשלכה.',
+ 'errNode' : 'elFinder דורש יצירה של רכיב DOM.',
+ 'errURL' : 'התצורה של elFinder שגויה! אפשרות הכתובת (URL) לא הוגדרה.',
+ 'errAccess' : 'הגישה נדחית.',
+ 'errConnect' : 'לא ניתן להתחבר למנגנון.',
+ 'errAbort' : 'החיבור בוטל.',
+ 'errTimeout' : 'זמן החיבור פג.',
+ 'errNotFound' : 'לא נמצא מנגנון.',
+ 'errResponse' : 'תגובת המנגנון שגויה.',
+ 'errConf' : 'תצורת המנגנון שגויה.',
+ 'errJSON' : 'המודול PHP JSON לא מותקן.',
+ 'errNoVolumes' : 'אין כוננים זמינים לקריאה.',
+ 'errCmdParams' : 'פרמטרים שגויים לפקודה „$1“.',
+ 'errDataNotJSON' : 'הנתונים אינם JSON.',
+ 'errDataEmpty' : 'הנתונים ריקים.',
+ 'errCmdReq' : 'בקשה למנגנון דורשת שם פקודה.',
+ 'errOpen' : 'לא ניתן לפתוח את „$1“.',
+ 'errNotFolder' : 'הפריט אינו תיקייה.',
+ 'errNotFile' : 'הפריט אינו קובץ.',
+ 'errRead' : 'לא ניתן לקרוא את „$1“.',
+ 'errWrite' : 'לא ניתן לכתוב אל „$1“.',
+ 'errPerm' : 'ההרשאה נדחתה.',
+ 'errLocked' : '„$1“ נעול ואין אפשרות לשנות את שמו, להעבירו או להסירו.',
+ 'errExists' : 'קובץ בשם „$1“ כבר קיים.',
+ 'errInvName' : 'שם הקובץ שגוי.',
+ 'errFolderNotFound' : 'התיקייה לא נמצאה.',
+ 'errFileNotFound' : 'הקובץ לא נמצא.',
+ 'errTrgFolderNotFound' : 'תיקיית היעד „$1“ לא נמצאה.',
+ 'errPopup' : 'הדפדפן מנע פתיחת חלון קובץ. כדי לפתוח קובץ יש לאפשר זאת בהגדרות הדפדפן.',
+ 'errMkdir' : 'לא ניתן ליצור את התיקייה „$1“.',
+ 'errMkfile' : 'לא ניתן ליצור את הקובץ „$1“.',
+ 'errRename' : 'לא ניתן לשנות את השם של „$1“.',
+ 'errCopyFrom' : 'העתקת קבצים מהכונן „$1“ אינה מאופשרת.',
+ 'errCopyTo' : 'העתקת קבצים אל הכונן „$1“ אינה מאופשרת.',
+ 'errUpload' : 'שגיאת העלאה.', // old name - errUploadCommon
+ 'errUploadFile' : 'לא ניתן להעלות את „$1“.', // old name - errUpload
+ 'errUploadNoFiles' : 'לא נמצאו קבצים להעלאה.',
+ 'errUploadTotalSize' : 'הנתונים חורגים מהגודל המרבי המותר.', // old name - errMaxSize
+ 'errUploadFileSize' : 'הקובץ חורג מהגודל המרבי המותר.', // old name - errFileMaxSize
+ 'errUploadMime' : 'סוג הקובץ אינו מורשה.',
+ 'errUploadTransfer' : 'שגיאת העברה „$1“.',
+ 'errNotReplace' : 'הפריט „$1“ כבר קיים במיקום זה ואי אפשר להחליפו בפריט מסוג אחר.', // new
+ 'errReplace' : 'לא ניתן להחליף את „$1“.',
+ 'errSave' : 'לא ניתן לשמור את „$1“.',
+ 'errCopy' : 'לא ניתן להעתיק את „$1“.',
+ 'errMove' : 'לא ניתן להעביר את „$1“.',
+ 'errCopyInItself' : 'לא ניתן להעתיק את „$1“ לתוך עצמו.',
+ 'errRm' : 'לא ניתן להסיר את „$1“.',
+ 'errRmSrc' : 'לא ניתן להסיר את קובצי המקור.',
+ 'errExtract' : 'לא ניתן לחלץ קבצים מהארכיון „$1“.',
+ 'errArchive' : 'לא ניתן ליצור ארכיון.',
+ 'errArcType' : 'סוג הארכיון אינו נתמך.',
+ 'errNoArchive' : 'הקובץ אינו ארכיון או שסוג הקובץ שלו אינו נתמך.',
+ 'errCmdNoSupport' : 'המנגנון אינו תומך בפקודה זו.',
+ 'errReplByChild' : 'לא ניתן להחליף את התיקייה „$1“ בפריט מתוכה.',
+ 'errArcSymlinks' : 'מטעמי אבטחה לא ניתן לחלץ ארכיונים שמכילים קישורים סימבוליים או קבצים עם שמות בלתי מורשים.', // edited 24.06.2012
+ 'errArcMaxSize' : 'הארכיון חורג מהגודל המרבי המותר.',
+ 'errResize' : 'לא ניתן לשנות את הגודל של „$1“.',
+ 'errResizeDegree' : 'מעלות ההיפוך שגויות.', // added 7.3.2013
+ 'errResizeRotate' : 'לא ניתן להפוך את התמונה.', // added 7.3.2013
+ 'errResizeSize' : 'גודל התמונה שגוי.', // added 7.3.2013
+ 'errResizeNoChange' : 'גודל התמונה לא השתנה.', // added 7.3.2013
+ 'errUsupportType' : 'סוג הקובץ אינו נתמך.',
+ 'errNotUTF8Content' : 'הקובץ „$1“ הוא לא בתסדיר UTF-8 ולא ניתן לערוך אותו.', // added 9.11.2011
+ 'errNetMount' : 'לא ניתן לעגן את „$1“.', // added 17.04.2012
+ 'errNetMountNoDriver' : 'פרוטוקול בלתי נתמך.', // added 17.04.2012
+ 'errNetMountFailed' : 'העיגון נכשל.', // added 17.04.2012
+ 'errNetMountHostReq' : 'נדרש מארח.', // added 18.04.2012
+ 'errSessionExpires' : 'ההפעלה שלך פגה עקב חוסר פעילות.',
+ 'errCreatingTempDir' : 'לא ניתן ליצור תיקייה זמנית: „$1“',
+ 'errFtpDownloadFile' : 'לא ניתן להוריד קובץ מ־ FTP: „$1“',
+ 'errFtpUploadFile' : 'לא ניתן להעלות קובץ ל־FTP: „$1“',
+ 'errFtpMkdir' : 'לא ניתן ליצור תיקייה מרוחקת ב־FTP: „$1“',
+ 'errArchiveExec' : 'שמירת הקבצים בארכיון נכשלה: „$1“',
+ 'errExtractExec' : 'חילוץ קבצים נכשל: „$1“',
+
+ /******************************* commands names ********************************/
+ 'cmdarchive' : 'יצירת ארכיון',
+ 'cmdback' : 'חזרה',
+ 'cmdcopy' : 'העתקה',
+ 'cmdcut' : 'גזירה',
+ 'cmddownload' : 'הורדה',
+ 'cmdduplicate' : 'שכפול',
+ 'cmdedit' : 'עריכת קובץ',
+ 'cmdextract' : 'חילוץ קבצים מארכיון',
+ 'cmdforward' : 'העברה',
+ 'cmdgetfile' : 'בחירת קבצים',
+ 'cmdhelp' : 'פרטים על התכנית הזו',
+ 'cmdhome' : 'בית',
+ 'cmdinfo' : 'קבלת מידע',
+ 'cmdmkdir' : 'תיקייה חדשה',
+ 'cmdmkfile' : 'קובץ טקסט חדש',
+ 'cmdopen' : 'פתיחה',
+ 'cmdpaste' : 'הדבקה',
+ 'cmdquicklook' : 'תצוגה מקדימה',
+ 'cmdreload' : 'רענון',
+ 'cmdrename' : 'שינוי שם',
+ 'cmdrm' : 'מחיקה',
+ 'cmdsearch' : 'חיפוש קבצים',
+ 'cmdup' : 'מעבר לתיקיית ההורה',
+ 'cmdupload' : 'העלאת קבצים',
+ 'cmdview' : 'תצוגה',
+ 'cmdresize' : 'שינוי גודל והיפוך',
+ 'cmdsort' : 'מיון',
+ 'cmdnetmount' : 'עיגון כונן רשת', // added 18.04.2012
+
+ /*********************************** buttons ***********************************/
+ 'btnClose' : 'סגירה',
+ 'btnSave' : 'שמירה',
+ 'btnRm' : 'הסרה',
+ 'btnApply' : 'החלה',
+ 'btnCancel' : 'ביטול',
+ 'btnNo' : 'לא',
+ 'btnYes' : 'כן',
+ 'btnMount' : 'עיגון', // added 18.04.2012
+
+ /******************************** notifications ********************************/
+ 'ntfopen' : 'פתיחת תיקייה',
+ 'ntffile' : 'פתיחת קובץ',
+ 'ntfreload' : 'רענון תוכן התיקייה',
+ 'ntfmkdir' : 'תיקייה נוצרת',
+ 'ntfmkfile' : 'קבצים נוצרים',
+ 'ntfrm' : 'קבצים נמחקים',
+ 'ntfcopy' : 'קבצים מועתקים',
+ 'ntfmove' : 'קבצים מועברים',
+ 'ntfprepare' : 'העתקת קבצים בהכנה',
+ 'ntfrename' : 'שמות קבצים משתנים',
+ 'ntfupload' : 'קבצים נשלחים',
+ 'ntfdownload' : 'קבצים מתקבלים',
+ 'ntfsave' : 'שמירת קבצים',
+ 'ntfarchive' : 'ארכיון נוצר',
+ 'ntfextract' : 'מחולצים קבצים מארכיון',
+ 'ntfsearch' : 'קבצים בחיפוש',
+ 'ntfresize' : 'גודל קבצים משתנה',
+ 'ntfsmth' : 'מתבצעת פעולה',
+ 'ntfloadimg' : 'נטענת תמונה',
+ 'ntfnetmount' : 'כונן רשת מעוגן', // added 18.04.2012
+ 'ntfdim' : 'ממדי תמונה מתקבלים', // added 20.05.2013
+
+ /************************************ dates **********************************/
+ 'dateUnknown' : 'לא ידוע',
+ 'Today' : 'היום',
+ 'Yesterday' : 'מחר',
+ 'msJan' : 'ינו׳',
+ 'msFeb' : 'פבר׳',
+ 'msMar' : 'מרץ',
+ 'msApr' : 'אפר׳',
+ 'msMay' : 'מאי',
+ 'msJun' : 'יונ׳',
+ 'msJul' : 'יול׳',
+ 'msAug' : 'אוג׳',
+ 'msSep' : 'ספט׳',
+ 'msOct' : 'אוק׳',
+ 'msNov' : 'נוב׳',
+ 'msDec' : 'דצמ׳',
+ 'January' : 'ינואר',
+ 'February' : 'פברואר',
+ 'March' : 'מרץ',
+ 'April' : 'אפריל',
+ 'May' : 'מאי',
+ 'June' : 'יוני',
+ 'July' : 'יולי',
+ 'August' : 'אוגוסט',
+ 'September' : 'ספטמבר',
+ 'October' : 'אוקטובר',
+ 'November' : 'נובמבר',
+ 'December' : 'דצמבר',
+ 'Sunday' : 'יום ראשון',
+ 'Monday' : 'יום שני',
+ 'Tuesday' : 'יום שלישי',
+ 'Wednesday' : 'יום רביעי',
+ 'Thursday' : 'יום חמישי',
+ 'Friday' : 'יום שישי',
+ 'Saturday' : 'שבת',
+ 'Sun' : 'א׳',
+ 'Mon' : 'ב׳',
+ 'Tue' : 'ג׳',
+ 'Wed' : 'ד׳',
+ 'Thu' : 'ה',
+ 'Fri' : 'ו׳',
+ 'Sat' : 'ש׳',
+
+ /******************************** sort variants ********************************/
+ 'sortname' : 'לפי שם',
+ 'sortkind' : 'לפי סוג',
+ 'sortsize' : 'לפי גודל',
+ 'sortdate' : 'לפי תאריך',
+ 'sortFoldersFirst' : 'תיקיות תחילה',
+
+ /********************************** messages **********************************/
+ 'confirmReq' : 'נדרש אישור',
+ 'confirmRm' : 'להסיר את הקבצים? פעולה זו בלתי הפיכה!',
+ 'confirmRepl' : 'להחליף קובץ ישן בקובץ חדש?',
+ 'apllyAll' : 'להחיל על הכול',
+ 'name' : 'שם',
+ 'size' : 'גודל',
+ 'perms' : 'הרשאות',
+ 'modify' : 'שינוי',
+ 'kind' : 'סוג',
+ 'read' : 'קריאה',
+ 'write' : 'כתיבה',
+ 'noaccess' : 'אין גישה',
+ 'and' : 'וגם',
+ 'unknown' : 'לא ידוע',
+ 'selectall' : 'בחירת כל הקבצים',
+ 'selectfiles' : 'בחירת קובץ אחד ומעלה',
+ 'selectffile' : 'בחירת הקובץ הראשון',
+ 'selectlfile' : 'בחירת הקובץ האחרון',
+ 'viewlist' : 'תצוגת רשימה',
+ 'viewicons' : 'תצוגת סמלים',
+ 'places' : 'מיקומים',
+ 'calc' : 'חישוב',
+ 'path' : 'נתיב',
+ 'aliasfor' : 'כינוי עבור',
+ 'locked' : 'נעול',
+ 'dim' : 'ממדים',
+ 'files' : 'קבצים',
+ 'folders' : 'תיקיות',
+ 'items' : 'פריטים',
+ 'yes' : 'כן',
+ 'no' : 'לא',
+ 'link' : 'קישור',
+ 'searcresult' : 'תוצאות חיפוש',
+ 'selected' : 'קבצים נבחרים',
+ 'about' : 'על אודות',
+ 'shortcuts' : 'קיצורי דרך',
+ 'help' : 'עזרה',
+ 'webfm' : 'מנהל קבצים בדפדפן',
+ 'ver' : 'גרסה',
+ 'protocolver' : 'גרסת פרוטוקול',
+ 'homepage' : 'דף הבית של המיזם',
+ 'docs' : 'תיעוד',
+ 'github' : 'פילוג עותק ב־Github',
+ 'twitter' : 'לעקוב אחרינו בטוויטר',
+ 'facebook' : 'להצטרף אלינו בפייסבוק',
+ 'team' : 'צוות',
+ 'chiefdev' : 'מפתח ראשי',
+ 'developer' : 'מתכנת',
+ 'contributor' : 'תורם',
+ 'maintainer' : 'מתחזק',
+ 'translator' : 'מתרגם',
+ 'icons' : 'סמלים',
+ 'dontforget' : 'לא לשכוח לקחת את המגבת שלך',
+ 'shortcutsof' : 'קיצורי הדרך מנוטרלים',
+ 'dropFiles' : 'ניתן להשליך את הקבצים לכאן',
+ 'or' : 'או',
+ 'selectForUpload' : 'לבחור קבצים להעלאה',
+ 'moveFiles' : 'העברת קבצים',
+ 'copyFiles' : 'העתקת קבצים',
+ 'rmFromPlaces' : 'הסרה ממיקומים',
+ 'aspectRatio' : 'יחס תצוגה',
+ 'scale' : 'מתיחה',
+ 'width' : 'רוחב',
+ 'height' : 'גובה',
+ 'resize' : 'שינוי הגודל',
+ 'crop' : 'חיתוך',
+ 'rotate' : 'היפוך',
+ 'rotate-cw' : 'היפוך ב־90 מעלות נגד השעון',
+ 'rotate-ccw' : 'היפוך ב־90 מעלות עם השעון CCW',
+ 'degree' : '°',
+ 'netMountDialogTitle' : 'עיגון כונן רשת', // added 18.04.2012
+ 'protocol' : 'פרוטוקול', // added 18.04.2012
+ 'host' : 'מארח', // added 18.04.2012
+ 'port' : 'פתחה', // added 18.04.2012
+ 'user' : 'משתמש', // added 18.04.2012
+ 'pass' : 'ססמה', // added 18.04.2012
+
+ /********************************** mimetypes **********************************/
+ 'kindUnknown' : 'בלתי ידוע',
+ 'kindFolder' : 'תיקייה',
+ 'kindAlias' : 'כינוי',
+ 'kindAliasBroken' : 'כינוי שבור',
+ // applications
+ 'kindApp' : 'יישום',
+ 'kindPostscript' : 'מסמך Postscript',
+ 'kindMsOffice' : 'מסמך Microsoft Office',
+ 'kindMsWord' : 'מסמך Microsoft Word',
+ 'kindMsExcel' : 'מסמך Microsoft Excel',
+ 'kindMsPP' : 'מצגת Microsoft Powerpoint',
+ 'kindOO' : 'מסמך Open Office',
+ 'kindAppFlash' : 'יישום Flash',
+ 'kindPDF' : 'Portable Document Format (PDF)',
+ 'kindTorrent' : 'קובץ Bittorrent',
+ 'kind7z' : 'ארכיון 7z',
+ 'kindTAR' : 'ארכיון TAR',
+ 'kindGZIP' : 'ארכיון GZIP',
+ 'kindBZIP' : 'ארכיון BZIP',
+ 'kindXZ' : 'ארכיון XZ',
+ 'kindZIP' : 'ארכיון ZIP',
+ 'kindRAR' : 'ארכיון RAR',
+ 'kindJAR' : 'קובץ JAR של Java',
+ 'kindTTF' : 'גופן True Type',
+ 'kindOTF' : 'גופן Open Type',
+ 'kindRPM' : 'חבילת RPM',
+ // texts
+ 'kindText' : 'מסמך טקסט',
+ 'kindTextPlain' : 'טקסט פשוט',
+ 'kindPHP' : 'מקור PHP',
+ 'kindCSS' : 'גיליון סגנון מדורג',
+ 'kindHTML' : 'מסמך HTML',
+ 'kindJS' : 'מקור Javascript',
+ 'kindRTF' : 'תבנית טקסט עשיר',
+ 'kindC' : 'מקור C',
+ 'kindCHeader' : 'מקור כותרת C',
+ 'kindCPP' : 'מקור C++',
+ 'kindCPPHeader' : 'מקור כותרת C++',
+ 'kindShell' : 'תסריט מעטפת יוניקס',
+ 'kindPython' : 'מקור Python',
+ 'kindJava' : 'מקור Java',
+ 'kindRuby' : 'מקור Ruby',
+ 'kindPerl' : 'תסריט Perl',
+ 'kindSQL' : 'מקור SQL',
+ 'kindXML' : 'מקור XML',
+ 'kindAWK' : 'מקור AWK',
+ 'kindCSV' : 'ערכים מופרדים בפסיקים',
+ 'kindDOCBOOK' : 'מסמךDocbook XML',
+ // images
+ 'kindImage' : 'תמונה',
+ 'kindBMP' : 'תמונת BMP',
+ 'kindJPEG' : 'תמונת JPEG',
+ 'kindGIF' : 'תמונת GIF',
+ 'kindPNG' : 'תמונת PNG',
+ 'kindTIFF' : 'תמונת TIFF',
+ 'kindTGA' : 'תמונת TGA',
+ 'kindPSD' : 'תמונת Adobe Photoshop',
+ 'kindXBITMAP' : 'תמונת מפת סיביות X',
+ 'kindPXM' : 'תמונת Pixelmator',
+ // media
+ 'kindAudio' : 'מדיה מסוג שמע',
+ 'kindAudioMPEG' : 'שמע MPEG',
+ 'kindAudioMPEG4' : 'שמע MPEG-4',
+ 'kindAudioMIDI' : 'שמע MIDI',
+ 'kindAudioOGG' : 'שמע Ogg Vorbis',
+ 'kindAudioWAV' : 'שמע WAV',
+ 'AudioPlaylist' : 'רשימת נגינה MP3',
+ 'kindVideo' : 'מדיה מסוג וידאו',
+ 'kindVideoDV' : 'סרטון DV',
+ 'kindVideoMPEG' : 'סרטון MPEG',
+ 'kindVideoMPEG4' : 'סרטון MPEG-4',
+ 'kindVideoAVI' : 'סרטון AVI',
+ 'kindVideoMOV' : 'סרטון Quick Time',
+ 'kindVideoWM' : 'סרטון Windows Media',
+ 'kindVideoFlash' : 'סרטון Flash',
+ 'kindVideoMKV' : 'סרטון Matroska',
+ 'kindVideoOGG' : 'סרטון Ogg'
+ }
+ };
+}
+
diff --git a/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.hr.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.hr.js
new file mode 100644
index 0000000..40b6600
--- /dev/null
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.hr.js
@@ -0,0 +1,426 @@
+/**
+ * hr translation
+ * @version 2016-04-18
+ */
+if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
+ elFinder.prototype.i18.hr = {
+ translator : '',
+ language : 'Croatian',
+ direction : 'ltr',
+ dateFormat : 'd.m.Y. H:i', // Mar 13, 2012 05:27 PM
+ fancyDateFormat : '$1 H:i', // will produce smth like: Today 12:25 PM
+ messages : {
+
+ /********************************** errors **********************************/
+ 'error' : 'Greška',
+ 'errUnknown' : 'Nepoznata greška.',
+ 'errUnknownCmd' : 'Nepoznata naredba.',
+ 'errJqui' : 'Kriva jQuery UI konfiguracija. Selectable, draggable, i droppable komponente moraju biti uključene.',
+ 'errNode' : 'elFinder zahtjeva DOM element da bi bio stvoren.',
+ 'errURL' : 'Krivo konfiguriran elFinder. Opcija URL nije postavljena.',
+ 'errAccess' : 'Zabranjen pristup.',
+ 'errConnect' : 'Nije moguće spajanje na server.',
+ 'errAbort' : 'Prekinuta veza.',
+ 'errTimeout' : 'Veza je istekla.',
+ 'errNotFound' : 'Server nije pronađen.',
+ 'errResponse' : 'Krivi odgovor servera.',
+ 'errConf' : 'Krivo konfiguriran server',
+ 'errJSON' : 'Nije instaliran PHP JSON modul.',
+ 'errNoVolumes' : 'Disk nije dostupan.',
+ 'errCmdParams' : 'Krivi parametri za naredbu "$1".',
+ 'errDataNotJSON' : 'Podaci nisu tipa JSON.',
+ 'errDataEmpty' : 'Nema podataka.',
+ 'errCmdReq' : 'Backend request requires command name.',
+ 'errOpen' : 'Ne mogu otvoriti "$1".',
+ 'errNotFolder' : 'Objekt nije mapa.',
+ 'errNotFile' : 'Objekt nije dokument.',
+ 'errRead' : 'Ne mogu pročitati "$1".',
+ 'errWrite' : 'Ne mogu pisati u "$1".',
+ 'errPerm' : 'Pristup zabranjen',
+ 'errLocked' : '"$1" je zaključan i ne može biti preimenovan, premješten ili obrisan.',
+ 'errExists' : 'Dokument s imenom "$1" već postoji.',
+ 'errInvName' : 'Krivo ime dokumenta',
+ 'errFolderNotFound' : 'Mapa nije pronađena',
+ 'errFileNotFound' : 'Dokument nije pronađen',
+ 'errTrgFolderNotFound' : 'Mapa "$1" nije pronađena',
+ 'errPopup' : 'Browser prevented opening popup window. To open file enable it in browser options.',
+ 'errMkdir' : 'Ne mogu napraviti mapu "$1".',
+ 'errMkfile' : 'Ne mogu napraviti dokument "$1".',
+ 'errRename' : 'Ne mogu preimenovati "$1".',
+ 'errCopyFrom' : 'Kopiranje s diska "$1" nije dozvoljeno.',
+ 'errCopyTo' : 'Kopiranje na disk "$1" nije dozvoljeno.',
+ 'errMkOutLink' : 'Unable to create a link to outside the volume root.', // from v2.1 added 03.10.2015
+ 'errUpload' : 'Greška pri prebacivanju dokumenta na server.', // old name - errUploadCommon
+ 'errUploadFile' : 'Ne mogu prebaciti "$1" na server', // old name - errUpload
+ 'errUploadNoFiles' : 'Nema dokumenata za prebacivanje na server',
+ 'errUploadTotalSize' : 'Dokumenti prelaze maksimalnu dopuštenu veličinu.', // old name - errMaxSize
+ 'errUploadFileSize' : 'Dokument je prevelik.', // old name - errFileMaxSize
+ 'errUploadMime' : 'Ovaj tip dokumenta nije dopušten.',
+ 'errUploadTransfer' : '"$1" greška pri prebacivanju',
+ 'errUploadTemp' : 'Ne mogu napraviti privremeni dokument za prijenos na server', // from v2.1 added 26.09.2015
+ 'errNotReplace' : 'Object "$1" already exists at this location and can not be replaced by object with another type.', // new
+ 'errReplace' : 'Ne mogu zamijeniti "$1".',
+ 'errSave' : 'Ne mogu spremiti "$1".',
+ 'errCopy' : 'Ne mogu kopirati "$1".',
+ 'errMove' : 'Ne mogu premjestiti "$1".',
+ 'errCopyInItself' : 'Ne mogu kopirati "$1" na isto mjesto.',
+ 'errRm' : 'Ne mogu ukloniti "$1".',
+ 'errRmSrc' : 'Ne mogu ukloniti izvorni kod.',
+ 'errExtract' : 'Unable to extract files from "$1".',
+ 'errArchive' : 'Unable to create archive.',
+ 'errArcType' : 'Unsupported archive type.',
+ 'errNoArchive' : 'File is not archive or has unsupported archive type.',
+ 'errCmdNoSupport' : 'Backend does not support this command.',
+ 'errReplByChild' : 'The folder "$1" can\'t be replaced by an item it contains.',
+ 'errArcSymlinks' : 'For security reason denied to unpack archives contains symlinks or files with not allowed names.', // edited 24.06.2012
+ 'errArcMaxSize' : 'Archive files exceeds maximum allowed size.',
+ 'errResize' : 'Unable to resize "$1".',
+ 'errResizeDegree' : 'Invalid rotate degree.', // added 7.3.2013
+ 'errResizeRotate' : 'Unable to rotate image.', // added 7.3.2013
+ 'errResizeSize' : 'Invalid image size.', // added 7.3.2013
+ 'errResizeNoChange' : 'Image size not changed.', // added 7.3.2013
+ 'errUsupportType' : 'Unsupported file type.',
+ 'errNotUTF8Content' : 'File "$1" is not in UTF-8 and cannot be edited.', // added 9.11.2011
+ 'errNetMount' : 'Unable to mount "$1".', // added 17.04.2012
+ 'errNetMountNoDriver' : 'Unsupported protocol.', // added 17.04.2012
+ 'errNetMountFailed' : 'Mount failed.', // added 17.04.2012
+ 'errNetMountHostReq' : 'Host required.', // added 18.04.2012
+ 'errSessionExpires' : 'Your session has expired due to inactivity.',
+ 'errCreatingTempDir' : 'Unable to create temporary directory: "$1"',
+ 'errFtpDownloadFile' : 'Unable to download file from FTP: "$1"',
+ 'errFtpUploadFile' : 'Unable to upload file to FTP: "$1"',
+ 'errFtpMkdir' : 'Unable to create remote directory on FTP: "$1"',
+ 'errArchiveExec' : 'Error while archiving files: "$1"',
+ 'errExtractExec' : 'Error while extracting files: "$1"',
+ 'errNetUnMount' : 'Unable to unmount', // from v2.1 added 30.04.2012
+ 'errConvUTF8' : 'Not convertible to UTF-8', // from v2.1 added 08.04.2014
+ 'errFolderUpload' : 'Try Google Chrome, If you\'d like to upload the folder.', // from v2.1 added 26.6.2015
+ 'errSearchTimeout' : 'Timed out while searching "$1". Search result is partial.', // from v2.1 added 12.1.2016
+ 'errReauthRequire' : 'Re-authorization is required.', // from v2.1.10 added 3.24.2016
+
+ /******************************* commands names ********************************/
+ 'cmdarchive' : 'Arhiviraj',
+ 'cmdback' : 'Nazad',
+ 'cmdcopy' : 'Kopiraj',
+ 'cmdcut' : 'Izreži',
+ 'cmddownload' : 'Preuzmi',
+ 'cmdduplicate' : 'Dupliciraj',
+ 'cmdedit' : 'Uredi dokument',
+ 'cmdextract' : 'Raspakiraj arhivu',
+ 'cmdforward' : 'Naprijed',
+ 'cmdgetfile' : 'Odaberi dokumente',
+ 'cmdhelp' : 'O programu',
+ 'cmdhome' : 'Početak',
+ 'cmdinfo' : 'Info',
+ 'cmdmkdir' : 'Nova mapa',
+ 'cmdmkdirin' : 'U novu mapu', // from v2.1.7 added 19.2.2016
+ 'cmdmkfile' : 'Novi tekst dokument',
+ 'cmdopen' : 'Otvori',
+ 'cmdpaste' : 'Zalijepi',
+ 'cmdquicklook' : 'Pregled',
+ 'cmdreload' : 'Ponovo učitaj',
+ 'cmdrename' : 'Preimenuj',
+ 'cmdrm' : 'Obriši',
+ 'cmdsearch' : 'Pronađi',
+ 'cmdup' : 'Roditeljska mapa',
+ 'cmdupload' : 'Prebaci dokumente na server',
+ 'cmdview' : 'Pregledaj',
+ 'cmdresize' : 'Promjeni veličinu i rotiraj',
+ 'cmdsort' : 'Sortiraj',
+ 'cmdnetmount' : 'Spoji se na mrežni disk', // added 18.04.2012
+ 'cmdnetunmount': 'Odspoji disk', // from v2.1 added 30.04.2012
+ 'cmdplaces' : 'To Places', // added 28.12.2014
+ 'cmdchmod' : 'Change mode', // from v2.1 added 20.6.2015
+ 'cmdopendir' : 'Otvori mapu', // from v2.1 added 13.1.2016
+
+ /*********************************** buttons ***********************************/
+ 'btnClose' : 'Zatvori',
+ 'btnSave' : 'Spremi',
+ 'btnRm' : 'Ukloni',
+ 'btnApply' : 'Primjeni',
+ 'btnCancel' : 'Odustani',
+ 'btnNo' : 'Ne',
+ 'btnYes' : 'Da',
+ 'btnMount' : 'Mount', // added 18.04.2012
+ 'btnApprove': 'Goto $1 & approve', // from v2.1 added 26.04.2012
+ 'btnUnmount': 'Unmount', // from v2.1 added 30.04.2012
+ 'btnConv' : 'Convert', // from v2.1 added 08.04.2014
+ 'btnCwd' : 'Here', // from v2.1 added 22.5.2015
+ 'btnVolume' : 'Volume', // from v2.1 added 22.5.2015
+ 'btnAll' : 'All', // from v2.1 added 22.5.2015
+ 'btnMime' : 'MIME Type', // from v2.1 added 22.5.2015
+ 'btnFileName':'Filename', // from v2.1 added 22.5.2015
+ 'btnSaveClose': 'Spremi i zatvori', // from v2.1 added 12.6.2015
+ 'btnBackup' : 'Backup', // fromv2.1 added 28.11.2015
+
+ /******************************** notifications ********************************/
+ 'ntfopen' : 'Otvori mapu',
+ 'ntffile' : 'Otvori dokument',
+ 'ntfreload' : 'Ponovo učitaj sadržaj mape',
+ 'ntfmkdir' : 'Radim mapu',
+ 'ntfmkfile' : 'Radim dokumente',
+ 'ntfrm' : 'Brišem dokumente',
+ 'ntfcopy' : 'Kopiram dokumente',
+ 'ntfmove' : 'Mičem dokumente',
+ 'ntfprepare' : 'Priprema za kopiranje dokumenata',
+ 'ntfrename' : 'Preimenuj dokumente',
+ 'ntfupload' : 'Pohranjujem dokumente na server',
+ 'ntfdownload' : 'Preuzimam dokumente',
+ 'ntfsave' : 'Spremi dokumente',
+ 'ntfarchive' : 'Radim arhivu',
+ 'ntfextract' : 'Extracting files from archive',
+ 'ntfsearch' : 'Tražim dokumente',
+ 'ntfresize' : 'Resizing images',
+ 'ntfsmth' : 'Doing something',
+ 'ntfloadimg' : 'Učitavam sliku',
+ 'ntfnetmount' : 'Mounting network volume', // added 18.04.2012
+ 'ntfnetunmount': 'Unmounting network volume', // from v2.1 added 30.04.2012
+ 'ntfdim' : 'Acquiring image dimension', // added 20.05.2013
+ 'ntfreaddir' : 'Reading folder infomation', // from v2.1 added 01.07.2013
+ 'ntfurl' : 'Getting URL of link', // from v2.1 added 11.03.2014
+ 'ntfchmod' : 'Changing file mode', // from v2.1 added 20.6.2015
+ 'ntfpreupload': 'Verifying upload file name', // from v2.1 added 31.11.2015
+ 'ntfzipdl' : 'Creating a file for download', // from v2.1.7 added 23.1.2016
+
+ /************************************ dates **********************************/
+ 'dateUnknown' : 'nepoznato',
+ 'Today' : 'Danas',
+ 'Yesterday' : 'Jučer',
+ 'msJan' : 'Sij',
+ 'msFeb' : 'Vel',
+ 'msMar' : 'Ožu',
+ 'msApr' : 'Tra',
+ 'msMay' : 'Svi',
+ 'msJun' : 'Lip',
+ 'msJul' : 'Srp',
+ 'msAug' : 'Kol',
+ 'msSep' : 'Ruj',
+ 'msOct' : 'Lis',
+ 'msNov' : 'Stu',
+ 'msDec' : 'Pro',
+ 'January' : 'Siječanj',
+ 'February' : 'Veljača',
+ 'March' : 'Ožujak',
+ 'April' : 'Travanj',
+ 'May' : 'Svibanj',
+ 'June' : 'Lipanj',
+ 'July' : 'Srpanj',
+ 'August' : 'Kolovoz',
+ 'September' : 'Rujan',
+ 'October' : 'Listopad',
+ 'November' : 'Studeni',
+ 'December' : 'Prosinac',
+ 'Sunday' : 'Nedjelja',
+ 'Monday' : 'Ponedjeljak',
+ 'Tuesday' : 'Utorak',
+ 'Wednesday' : 'Srijeda',
+ 'Thursday' : 'Četvrtak',
+ 'Friday' : 'Petak',
+ 'Saturday' : 'Subota',
+ 'Sun' : 'Ned',
+ 'Mon' : 'Pon',
+ 'Tue' : 'Uto',
+ 'Wed' : 'Sri',
+ 'Thu' : 'Čet',
+ 'Fri' : 'Pet',
+ 'Sat' : 'Sub',
+
+ /******************************** sort variants ********************************/
+ 'sortname' : 'po imenu',
+ 'sortkind' : 'po tipu',
+ 'sortsize' : 'po veličini',
+ 'sortdate' : 'po datumu',
+ 'sortFoldersFirst' : 'Prvo mape',
+
+ /********************************** new items **********************************/
+ 'untitled file.txt' : 'NoviDokument.txt', // added 10.11.2015
+ 'untitled folder' : 'NovaMapa', // added 10.11.2015
+ 'Archive' : 'NovaArhiva', // from v2.1 added 10.11.2015
+
+ /********************************** messages **********************************/
+ 'confirmReq' : 'Potvrda',
+ 'confirmRm' : 'Jeste li sigurni?',
+ 'confirmRepl' : 'Zamijeni stare dokumente novima?',
+ 'confirmConvUTF8' : 'Not in UTF-8 Convert to UTF-8? Contents become UTF-8 by saving after conversion.', // from v2.1 added 08.04.2014
+ 'confirmNotSave' : 'It has been modified. Losing work if you do not save changes.', // from v2.1 added 15.7.2015
+ 'apllyAll' : 'Primjeni na sve ',
+ 'name' : 'Ime',
+ 'size' : 'Veličina',
+ 'perms' : 'Dozvole',
+ 'modify' : 'Modificiran',
+ 'kind' : 'Tip',
+ 'read' : 'čitanje',
+ 'write' : 'pisanje',
+ 'noaccess' : 'bez pristupa',
+ 'and' : 'i',
+ 'unknown' : 'nepoznato',
+ 'selectall' : 'Odaberi sve',
+ 'selectfiles' : 'Odaberi dokument(e)',
+ 'selectffile' : 'Odaberi prvi dokument',
+ 'selectlfile' : 'Odaberi zadnji dokument',
+ 'viewlist' : 'Lista',
+ 'viewicons' : 'Ikone',
+ 'places' : 'Mjesta',
+ 'calc' : 'Računaj',
+ 'path' : 'Put',
+ 'aliasfor' : 'Drugo ime za',
+ 'locked' : 'Zaključano',
+ 'dim' : 'Dimenzije',
+ 'files' : 'Dokumenti',
+ 'folders' : 'Mape',
+ 'items' : 'Items',
+ 'yes' : 'da',
+ 'no' : 'ne',
+ 'link' : 'poveznica',
+ 'searcresult' : 'Rezultati pretrage',
+ 'selected' : 'selected items',
+ 'about' : 'Info',
+ 'shortcuts' : 'Prečaci',
+ 'help' : 'Pomoć',
+ 'webfm' : 'Web file manager',
+ 'ver' : 'Verzija',
+ 'protocolver' : 'protocol version',
+ 'homepage' : 'Project home',
+ 'docs' : 'Dokumentacija',
+ 'github' : 'Fork us on Github',
+ 'twitter' : 'Follow us on twitter',
+ 'facebook' : 'Join us on facebook',
+ 'team' : 'Tim',
+ 'chiefdev' : 'glavni developer',
+ 'developer' : 'developer',
+ 'contributor' : 'contributor',
+ 'maintainer' : 'maintainer',
+ 'translator' : 'translator',
+ 'icons' : 'Ikone',
+ 'dontforget' : 'and don\'t forget to take your towel',
+ 'shortcutsof' : 'Prečaci isključeni',
+ 'dropFiles' : 'Ovdje ispusti dokumente',
+ 'or' : 'ili',
+ 'selectForUpload' : 'Odaberi dokumente koje prebacuješ na server',
+ 'moveFiles' : 'Premjesti dokumente',
+ 'copyFiles' : 'Kopiraj dokumente',
+ 'rmFromPlaces' : 'Remove from places',
+ 'aspectRatio' : 'Aspect ratio',
+ 'scale' : 'Skaliraj',
+ 'width' : 'Širina',
+ 'height' : 'Visina',
+ 'resize' : 'Resize',
+ 'crop' : 'Crop',
+ 'rotate' : 'Rotate',
+ 'rotate-cw' : 'Rotate 90 degrees CW',
+ 'rotate-ccw' : 'Rotate 90 degrees CCW',
+ 'degree' : '°',
+ 'netMountDialogTitle' : 'Mount network volume', // added 18.04.2012
+ 'protocol' : 'Protocol', // added 18.04.2012
+ 'host' : 'Host', // added 18.04.2012
+ 'port' : 'Port', // added 18.04.2012
+ 'user' : 'User', // added 18.04.2012
+ 'pass' : 'Password', // added 18.04.2012
+ 'confirmUnmount' : 'Are you unmount $1?', // from v2.1 added 30.04.2012
+ 'dropFilesBrowser': 'Drop or Paste files from browser', // from v2.1 added 30.05.2012
+ 'dropPasteFiles' : 'Drop or Paste files and URLs here', // from v2.1 added 07.04.2014
+ 'encoding' : 'Encoding', // from v2.1 added 19.12.2014
+ 'locale' : 'Locale', // from v2.1 added 19.12.2014
+ 'searchTarget' : 'Target: $1', // from v2.1 added 22.5.2015
+ 'searchMime' : 'Search by input MIME Type', // from v2.1 added 22.5.2015
+ 'owner' : 'Vlasnik', // from v2.1 added 20.6.2015
+ 'group' : 'Grupa', // from v2.1 added 20.6.2015
+ 'other' : 'Other', // from v2.1 added 20.6.2015
+ 'execute' : 'Izvrši', // from v2.1 added 20.6.2015
+ 'perm' : 'Dozvole', // from v2.1 added 20.6.2015
+ 'mode' : 'Mode', // from v2.1 added 20.6.2015
+ 'emptyFolder' : 'Mapa je prazna', // from v2.1.6 added 30.12.2015
+ 'emptyFolderDrop' : 'Mapa je prazna\\A Dovuci dokumente koje želiš dodati', // from v2.1.6 added 30.12.2015
+ 'emptyFolderLTap' : 'Mapa je prazna\\A Pritisni dugo za dodavanje dokumenata', // from v2.1.6 added 30.12.2015
+ 'quality' : 'Kvaliteta', // from v2.1.6 added 5.1.2016
+ 'autoSync' : 'Auto sync', // from v2.1.6 added 10.1.2016
+ 'moveUp' : 'Gore', // from v2.1.6 added 18.1.2016
+ 'getLink' : 'Get URL link', // from v2.1.7 added 9.2.2016
+ 'selectedItems' : 'Selected items ($1)', // from v2.1.7 added 2.19.2016
+ 'folderId' : 'Folder ID', // from v2.1.10 added 3.25.2016
+ 'offlineAccess' : 'Allow offline access', // from v2.1.10 added 3.25.2016
+ 'reAuth' : 'To re-authenticate', // from v2.1.10 added 3.25.2016
+
+ /********************************** mimetypes **********************************/
+ 'kindUnknown' : 'Unknown',
+ 'kindFolder' : 'Mapa',
+ 'kindAlias' : 'Drugo ime',
+ 'kindAliasBroken' : 'Broken alias',
+ // applications
+ 'kindApp' : 'Aplikacija',
+ 'kindPostscript' : 'Postscript document',
+ 'kindMsOffice' : 'Microsoft Office dokument',
+ 'kindMsWord' : 'Microsoft Word dokument',
+ 'kindMsExcel' : 'Microsoft Excel dokument',
+ 'kindMsPP' : 'Microsoft Powerpoint prezentacija',
+ 'kindOO' : 'Open Office dokument',
+ 'kindAppFlash' : 'Flash aplikacija',
+ 'kindPDF' : 'Portable Document Format (PDF)',
+ 'kindTorrent' : 'Bittorrent dokument',
+ 'kind7z' : '7z arhiva',
+ 'kindTAR' : 'TAR arhiva',
+ 'kindGZIP' : 'GZIP arhiva',
+ 'kindBZIP' : 'BZIP arhiva',
+ 'kindXZ' : 'XZ arhiva',
+ 'kindZIP' : 'ZIP arhiva',
+ 'kindRAR' : 'RAR arhiva',
+ 'kindJAR' : 'Java JAR dokument',
+ 'kindTTF' : 'True Type font',
+ 'kindOTF' : 'Open Type font',
+ 'kindRPM' : 'RPM paket',
+ // texts
+ 'kindText' : 'Tekst arhiva',
+ 'kindTextPlain' : 'Obični tekst',
+ 'kindPHP' : 'PHP source',
+ 'kindCSS' : 'Cascading style sheet',
+ 'kindHTML' : 'HTML document',
+ 'kindJS' : 'Javascript source',
+ 'kindRTF' : 'Rich Text Format',
+ 'kindC' : 'C source',
+ 'kindCHeader' : 'C header source',
+ 'kindCPP' : 'C++ source',
+ 'kindCPPHeader' : 'C++ header source',
+ 'kindShell' : 'Unix shell script',
+ 'kindPython' : 'Python source',
+ 'kindJava' : 'Java source',
+ 'kindRuby' : 'Ruby source',
+ 'kindPerl' : 'Perl skripta',
+ 'kindSQL' : 'SQL source',
+ 'kindXML' : 'XML dokument',
+ 'kindAWK' : 'AWK source',
+ 'kindCSV' : 'vrijednosti razdvojene zarezom',
+ 'kindDOCBOOK' : 'Docbook XML dokument',
+ 'kindMarkdown' : 'Markdown tekst', // added 20.7.2015
+ // images
+ 'kindImage' : 'slika',
+ 'kindBMP' : 'BMP slika',
+ 'kindJPEG' : 'JPEG slika',
+ 'kindGIF' : 'GIF slika',
+ 'kindPNG' : 'PNG slika',
+ 'kindTIFF' : 'TIFF slika',
+ 'kindTGA' : 'TGA slika',
+ 'kindPSD' : 'Adobe Photoshop slika',
+ 'kindXBITMAP' : 'X bitmap slika',
+ 'kindPXM' : 'Pixelmator slika',
+ // media
+ 'kindAudio' : 'Audio',
+ 'kindAudioMPEG' : 'MPEG audio',
+ 'kindAudioMPEG4' : 'MPEG-4 audio',
+ 'kindAudioMIDI' : 'MIDI audio',
+ 'kindAudioOGG' : 'Ogg Vorbis audio',
+ 'kindAudioWAV' : 'WAV audio',
+ 'AudioPlaylist' : 'MP3 lista',
+ 'kindVideo' : 'Video ',
+ 'kindVideoDV' : 'DV video',
+ 'kindVideoMPEG' : 'MPEG video',
+ 'kindVideoMPEG4' : 'MPEG-4 video',
+ 'kindVideoAVI' : 'AVI video',
+ 'kindVideoMOV' : 'Quick Time video',
+ 'kindVideoWM' : 'Windows Media video',
+ 'kindVideoFlash' : 'Flash video',
+ 'kindVideoMKV' : 'Matroska video',
+ 'kindVideoOGG' : 'Ogg video'
+ }
+ };
+}
+
diff --git a/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.hu.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.hu.js
new file mode 100644
index 0000000..36cc2cc
--- /dev/null
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.hu.js
@@ -0,0 +1,439 @@
+/**
+ * magyar translation
+ * @author Gáspár Lajos
+ * @version 2016-06-29
+ */
+if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
+ elFinder.prototype.i18.hu = {
+ translator : 'Gáspár Lajos <info@glsys.eu>',
+ language : 'magyar',
+ direction : 'ltr',
+ dateFormat : 'Y.F.d H:i:s', // Mar 13, 2012 05:27 PM
+ fancyDateFormat : '$1 H:i', // will produce smth like: Today 12:25 PM
+ messages : {
+
+ /********************************** errors **********************************/
+ 'error' : 'Hiba',
+ 'errUnknown' : 'Ismeretlen hiba.',
+ 'errUnknownCmd' : 'Ismeretlen parancs.',
+ 'errJqui' : 'Hibás jQuery UI konfiguráció. A "selectable", "draggable" és a "droppable" komponensek szükségesek.',
+ 'errNode' : 'Az elFinder "DOM" elem létrehozását igényli.',
+ 'errURL' : 'Hibás elFinder konfiguráció! "URL" paraméter nincs megadva.',
+ 'errAccess' : 'Hozzáférés megtagadva.',
+ 'errConnect' : 'Nem sikerült csatlakozni a kiszolgálóhoz.',
+ 'errAbort' : 'Kapcsolat megszakítva.',
+ 'errTimeout' : 'Kapcsolat időtúllépés.',
+ 'errNotFound' : 'A backend nem elérhető.',
+ 'errResponse' : 'Hibás backend válasz.',
+ 'errConf' : 'Hibás backend konfiguráció.',
+ 'errJSON' : 'PHP JSON modul nincs telepítve.',
+ 'errNoVolumes' : 'Nem állnak rendelkezésre olvasható kötetek.',
+ 'errCmdParams' : 'érvénytelen paraméterek a parancsban. ("$1")',
+ 'errDataNotJSON' : 'A válasz nem JSON típusú adat.',
+ 'errDataEmpty' : 'Nem érkezett adat.',
+ 'errCmdReq' : 'A backend kérelem parancsnevet igényel.',
+ 'errOpen' : '"$1" megnyitása nem sikerült.',
+ 'errNotFolder' : 'Az objektum nem egy mappa.',
+ 'errNotFile' : 'Az objektum nem egy fájl.',
+ 'errRead' : '"$1" olvasása nem sikerült.',
+ 'errWrite' : '"$1" írása nem sikerült.',
+ 'errPerm' : 'Engedély megtagadva.',
+ 'errLocked' : '"$1" zárolás alatt van, és nem lehet átnevezni, mozgatni vagy eltávolítani.',
+ 'errExists' : '"$1" nevű fájl már létezik.',
+ 'errInvName' : 'Érvénytelen fáljnév.',
+ 'errFolderNotFound' : 'Mappa nem található.',
+ 'errFileNotFound' : 'Fájl nem található.',
+ 'errTrgFolderNotFound' : 'Cél mappa nem található. ("$1")',
+ 'errPopup' : 'A böngésző megakadályozta egy felugró ablak megnyitását. A fájl megnyitását tegye lehetővé a böngésző beállitásaiban.',
+ 'errMkdir' : '"$1" mappa létrehozása sikertelen.',
+ 'errMkfile' : '"$1" fájl létrehozása sikertelen.',
+ 'errRename' : '"$1" átnevezése sikertelen.',
+ 'errCopyFrom' : 'Fájlok másolása a kötetről nem megengedett. ("$1")',
+ 'errCopyTo' : 'Fájlok másolása a kötetre nem megengedett. ("$1")',
+ 'errMkOutLink' : 'Hivatkozás létrehozása a root köteten kívül nem megengedett.', // from v2.1 added 03.10.2015
+ 'errUpload' : 'Feltöltési hiba.', // old name - errUploadCommon
+ 'errUploadFile' : 'Nem sikerült a fájlt feltölteni. ($1)', // old name - errUpload
+ 'errUploadNoFiles' : 'Nem található fájl feltöltéshez.',
+ 'errUploadTotalSize' : 'Az adat meghaladja a maximálisan megengedett méretet.', // old name - errMaxSize
+ 'errUploadFileSize' : 'A fájl meghaladja a maximálisan megengedett méretet.', // old name - errFileMaxSize
+ 'errUploadMime' : 'A fájltípus nem engedélyezett.',
+ 'errUploadTransfer' : '"$1" transzfer hiba.',
+ 'errUploadTemp' : 'Sikertelen az ideiglenes fájl léterhezozása feltöltéshez.', // from v2.1 added 26.09.2015
+ 'errNotReplace' : 'Az objektum "$1" már létezik ezen a helyen, és nem lehet cserélni másik típusra', // new
+ 'errReplace' : '"$1" nem cserélhető.',
+ 'errSave' : '"$1" mentése nem sikerült.',
+ 'errCopy' : '"$1" másolása nem sikerült.',
+ 'errMove' : '"$1" áthelyezése nem sikerült.',
+ 'errCopyInItself' : '"$1" nem másolható saját magára.',
+ 'errRm' : '"$1" törlése nem sikerült.',
+ 'errRmSrc' : 'Forrásfájl(ok) eltávolítása sikertelen.',
+ 'errExtract' : 'Unable to extract files from "$1".',
+ 'errArchive' : 'Unable to create archive.',
+ 'errArcType' : 'Nem támogatott archívum típus.',
+ 'errNoArchive' : 'File is not archive or has unsupported archive type.',
+ 'errCmdNoSupport' : 'Backend does not support this command.',
+ 'errReplByChild' : 'The folder “$1” can’t be replaced by an item it contains.',
+ 'errArcSymlinks' : 'For security reason denied to unpack archives contains symlinks or files with not allowed names.', // edited 24.06.2012
+ 'errArcMaxSize' : 'Archive files exceeds maximum allowed size.',
+ 'errResize' : 'Unable to resize "$1".',
+ 'errResizeDegree' : 'Invalid rotate degree.', // added 7.3.2013
+ 'errResizeRotate' : 'Unable to rotate image.', // added 7.3.2013
+ 'errResizeSize' : 'Invalid image size.', // added 7.3.2013
+ 'errResizeNoChange' : 'Image size not changed.', // added 7.3.2013
+ 'errUsupportType' : 'Unsupported file type.',
+ 'errNotUTF8Content' : 'File "$1" is not in UTF-8 and cannot be edited.', // added 9.11.2011
+ 'errNetMount' : 'Unable to mount "$1".', // added 17.04.2012
+ 'errNetMountNoDriver' : 'Unsupported protocol.', // added 17.04.2012
+ 'errNetMountFailed' : 'Mount failed.', // added 17.04.2012
+ 'errNetMountHostReq' : 'Host required.', // added 18.04.2012
+ 'errSessionExpires' : 'Your session has expired due to inactivity.',
+ 'errCreatingTempDir' : 'Unable to create temporary directory: "$1"',
+ 'errFtpDownloadFile' : 'Unable to download file from FTP: "$1"',
+ 'errFtpUploadFile' : 'Unable to upload file to FTP: "$1"',
+ 'errFtpMkdir' : 'Unable to create remote directory on FTP: "$1"',
+ 'errArchiveExec' : 'Error while archiving files: "$1"',
+ 'errExtractExec' : 'Error while extracting files: "$1"',
+ 'errNetUnMount' : 'Unable to unmount', // from v2.1 added 30.04.2012
+ 'errConvUTF8' : 'Not convertible to UTF-8', // from v2.1 added 08.04.2014
+ 'errFolderUpload' : 'Try Google Chrome, If you\'d like to upload the folder.', // from v2.1 added 26.6.2015
+ 'errSearchTimeout' : 'Timed out while searching "$1". Search result is partial.', // from v2.1 added 12.1.2016
+ 'errReauthRequire' : 'Re-authorization is required.', // from v2.1.10 added 3.24.2016
+
+ /******************************* commands names ********************************/
+ 'cmdarchive' : 'Archívum létrehozása',
+ 'cmdback' : 'Vissza',
+ 'cmdcopy' : 'Másolás',
+ 'cmdcut' : 'Kivágás',
+ 'cmddownload' : 'Letöltés',
+ 'cmdduplicate' : 'Másolat készítés',
+ 'cmdedit' : 'Szerkesztés',
+ 'cmdextract' : 'Kibontás',
+ 'cmdforward' : 'Előre',
+ 'cmdgetfile' : 'Fájlok kijelölése',
+ 'cmdhelp' : 'Erről a programról...',
+ 'cmdhome' : 'Főkönyvtár',
+ 'cmdinfo' : 'Tulajdonságok',
+ 'cmdmkdir' : 'Új mappa',
+ 'cmdmkdirin' : 'Into new folder', // from v2.1.7 added 19.2.2016
+ 'cmdmkfile' : 'Új szöveges dokumentum',
+ 'cmdopen' : 'Megnyitás',
+ 'cmdpaste' : 'Beillesztés',
+ 'cmdquicklook' : 'Előnézet',
+ 'cmdreload' : 'Frissítés',
+ 'cmdrename' : 'Átnevezés',
+ 'cmdrm' : 'Törlés',
+ 'cmdsearch' : 'Keresés',
+ 'cmdup' : 'Ugrás a szülőmappába',
+ 'cmdupload' : 'Feltöltés',
+ 'cmdview' : 'View',
+ 'cmdresize' : 'Resize & Rotate',
+ 'cmdsort' : 'Sort',
+ 'cmdnetmount' : 'Mount network volume', // added 18.04.2012
+ 'cmdnetunmount': 'Unmount', // from v2.1 added 30.04.2012
+ 'cmdplaces' : 'To Places', // added 28.12.2014
+ 'cmdchmod' : 'Change mode', // from v2.1 added 20.6.2015
+ 'cmdopendir' : 'Open a folder', // from v2.1 added 13.1.2016
+ 'cmdcolwidth' : 'Reset column width', // from v2.1.13 added 12.06.2016
+
+ /*********************************** buttons ***********************************/
+ 'btnClose' : 'Bezár',
+ 'btnSave' : 'Ment',
+ 'btnRm' : 'Töröl',
+ 'btnApply' : 'Apply',
+ 'btnCancel' : 'Mégsem',
+ 'btnNo' : 'Nem',
+ 'btnYes' : 'Igen',
+ 'btnMount' : 'Mount', // added 18.04.2012
+ 'btnApprove': 'Goto $1 & approve', // from v2.1 added 26.04.2012
+ 'btnUnmount': 'Unmount', // from v2.1 added 30.04.2012
+ 'btnConv' : 'Convert', // from v2.1 added 08.04.2014
+ 'btnCwd' : 'Here', // from v2.1 added 22.5.2015
+ 'btnVolume' : 'Volume', // from v2.1 added 22.5.2015
+ 'btnAll' : 'All', // from v2.1 added 22.5.2015
+ 'btnMime' : 'MIME Type', // from v2.1 added 22.5.2015
+ 'btnFileName':'Filename', // from v2.1 added 22.5.2015
+ 'btnSaveClose': 'Save & Close', // from v2.1 added 12.6.2015
+ 'btnBackup' : 'Backup', // fromv2.1 added 28.11.2015
+
+ /******************************** notifications ********************************/
+ 'ntfopen' : 'Mappa megnyitás',
+ 'ntffile' : 'Fájl megnyitás',
+ 'ntfreload' : 'Reload folder content',
+ 'ntfmkdir' : 'Mappa létrehozása',
+ 'ntfmkfile' : 'Creating files',
+ 'ntfrm' : 'Fájlok törélse',
+ 'ntfcopy' : 'Fájlok másolása',
+ 'ntfmove' : 'Fájlok áthelyezése',
+ 'ntfprepare' : 'Prepare to copy files',
+ 'ntfrename' : 'Fájlok átnevezése',
+ 'ntfupload' : 'Fájlok feltöltése',
+ 'ntfdownload' : 'Fájlok letöltése',
+ 'ntfsave' : 'Fájlok mentése',
+ 'ntfarchive' : 'Archívum létrehozása',
+ 'ntfextract' : 'Kibontás archívumból',
+ 'ntfsearch' : 'Fájlok keresése',
+ 'ntfresize' : 'Resizing images',
+ 'ntfsmth' : 'Doing something >_<',
+ 'ntfloadimg' : 'Loading image',
+ 'ntfnetmount' : 'Mounting network volume', // added 18.04.2012
+ 'ntfnetunmount': 'Unmounting network volume', // from v2.1 added 30.04.2012
+ 'ntfdim' : 'Acquiring image dimension', // added 20.05.2013
+ 'ntfreaddir' : 'Reading folder infomation', // from v2.1 added 01.07.2013
+ 'ntfurl' : 'Getting URL of link', // from v2.1 added 11.03.2014
+ 'ntfchmod' : 'Changing file mode', // from v2.1 added 20.6.2015
+ 'ntfpreupload': 'Verifying upload file name', // from v2.1 added 31.11.2015
+ 'ntfzipdl' : 'Creating a file for download', // from v2.1.7 added 23.1.2016
+
+ /************************************ dates **********************************/
+ 'dateUnknown' : 'Ismeretlen',
+ 'Today' : 'Ma',
+ 'Yesterday' : 'Tegnap',
+ 'msJan' : 'jan',
+ 'msFeb' : 'febr',
+ 'msMar' : 'márc',
+ 'msApr' : 'ápr',
+ 'msMay' : 'máj',
+ 'msJun' : 'jún',
+ 'msJul' : 'júl',
+ 'msAug' : 'aug',
+ 'msSep' : 'szept',
+ 'msOct' : 'okt',
+ 'msNov' : 'nov',
+ 'msDec' : 'dec',
+ 'January' : 'January',
+ 'February' : 'February',
+ 'March' : 'March',
+ 'April' : 'April',
+ 'May' : 'May',
+ 'June' : 'June',
+ 'July' : 'July',
+ 'August' : 'August',
+ 'September' : 'September',
+ 'October' : 'October',
+ 'November' : 'November',
+ 'December' : 'December',
+ 'Sunday' : 'Sunday',
+ 'Monday' : 'Monday',
+ 'Tuesday' : 'Tuesday',
+ 'Wednesday' : 'Wednesday',
+ 'Thursday' : 'Thursday',
+ 'Friday' : 'Friday',
+ 'Saturday' : 'Saturday',
+ 'Sun' : 'Sun',
+ 'Mon' : 'Mon',
+ 'Tue' : 'Tue',
+ 'Wed' : 'Wed',
+ 'Thu' : 'Thu',
+ 'Fri' : 'Fri',
+ 'Sat' : 'Sat',
+
+ /******************************** sort variants ********************************/
+ 'sortname' : 'by name',
+ 'sortkind' : 'by kind',
+ 'sortsize' : 'by size',
+ 'sortdate' : 'by date',
+ 'sortFoldersFirst' : 'Folders first',
+ 'sortperm' : 'by permission', // from v2.1.13 added 13.06.2016
+ 'sortmode' : 'by mode', // from v2.1.13 added 13.06.2016
+ 'sortowner' : 'by owner', // from v2.1.13 added 13.06.2016
+ 'sortgroup' : 'by group', // from v2.1.13 added 13.06.2016
+
+ /********************************** new items **********************************/
+ 'untitled file.txt' : 'NewFile.txt', // added 10.11.2015
+ 'untitled folder' : 'NewFolder', // added 10.11.2015
+ 'Archive' : 'NewArchive', // from v2.1 added 10.11.2015
+
+ /********************************** messages **********************************/
+ 'confirmReq' : 'Confirmation required',
+ 'confirmRm' : 'Valóban törölni akarja a kijelölt adatokat? Ez később nem fordítható vissza!',
+ 'confirmRepl' : 'Replace old file with new one?',
+ 'confirmConvUTF8' : 'Not in UTF-8 Convert to UTF-8? Contents become UTF-8 by saving after conversion.', // from v2.1 added 08.04.2014
+ 'confirmNotSave' : 'It has been modified. Losing work if you do not save changes.', // from v2.1 added 15.7.2015
+ 'apllyAll' : 'Apply to all',
+ 'name' : 'Név',
+ 'size' : 'Méret',
+ 'perms' : 'Jogok',
+ 'modify' : 'Módosítva',
+ 'kind' : 'Típus',
+ 'read' : 'olvasás',
+ 'write' : 'írás',
+ 'noaccess' : '-',
+ 'and' : 'és',
+ 'unknown' : 'ismeretlen',
+ 'selectall' : 'Összes kijelölése',
+ 'selectfiles' : 'Fájlok kijelölése',
+ 'selectffile' : 'Első fájl kijelölése',
+ 'selectlfile' : 'Utolsó fájl kijelölése',
+ 'viewlist' : 'Lista nézet',
+ 'viewicons' : 'Ikon nézet',
+ 'places' : 'Helyek',
+ 'calc' : 'Calculate',
+ 'path' : 'Útvonal',
+ 'aliasfor' : 'Cél',
+ 'locked' : 'Zárolt',
+ 'dim' : 'Méretek',
+ 'files' : 'Fájlok',
+ 'folders' : 'Mappák',
+ 'items' : 'Elemek',
+ 'yes' : 'igen',
+ 'no' : 'nem',
+ 'link' : 'Parancsikon',
+ 'searcresult' : 'Keresés eredménye',
+ 'selected' : 'kijelölt elemek',
+ 'about' : 'Névjegy',
+ 'shortcuts' : 'Gyorsbillenytyűk',
+ 'help' : 'Súgó',
+ 'webfm' : 'Web file manager',
+ 'ver' : 'Verzió',
+ 'protocolver' : 'protokol verzió',
+ 'homepage' : 'Projekt honlap',
+ 'docs' : 'Dokumentáció',
+ 'github' : 'Hozz létre egy új verziót a Github-on',
+ 'twitter' : 'Kövess minket a twitter-en',
+ 'facebook' : 'Csatlakozz hozzánk a facebook-on',
+ 'team' : 'Csapat',
+ 'chiefdev' : 'vezető fejlesztő',
+ 'developer' : 'fejlesztő',
+ 'contributor' : 'külsős hozzájáruló',
+ 'maintainer' : 'karbantartó',
+ 'translator' : 'fordító',
+ 'icons' : 'Ikonok',
+ 'dontforget' : 'törölközőt ne felejts el hozni!',
+ 'shortcutsof' : 'Shortcuts disabled',
+ 'dropFiles' : 'Fájlok dobása ide',
+ 'or' : 'vagy',
+ 'selectForUpload' : 'fájlok böngészése',
+ 'moveFiles' : 'Fájlok áthelyezése',
+ 'copyFiles' : 'Fájlok másolása',
+ 'rmFromPlaces' : 'Remove from places',
+ 'aspectRatio' : 'Aspect ratio',
+ 'scale' : 'Scale',
+ 'width' : 'Width',
+ 'height' : 'Height',
+ 'resize' : 'Resize',
+ 'crop' : 'Crop',
+ 'rotate' : 'Rotate',
+ 'rotate-cw' : 'Rotate 90 degrees CW',
+ 'rotate-ccw' : 'Rotate 90 degrees CCW',
+ 'degree' : '°',
+ 'netMountDialogTitle' : 'Mount network volume', // added 18.04.2012
+ 'protocol' : 'Protocol', // added 18.04.2012
+ 'host' : 'Host', // added 18.04.2012
+ 'port' : 'Port', // added 18.04.2012
+ 'user' : 'User', // added 18.04.2012
+ 'pass' : 'Password', // added 18.04.2012
+ 'confirmUnmount' : 'Are you unmount $1?', // from v2.1 added 30.04.2012
+ 'dropFilesBrowser': 'Drop or Paste files from browser', // from v2.1 added 30.05.2012
+ 'dropPasteFiles' : 'Drop or Paste files and URLs here', // from v2.1 added 07.04.2014
+ 'encoding' : 'Encoding', // from v2.1 added 19.12.2014
+ 'locale' : 'Locale', // from v2.1 added 19.12.2014
+ 'searchTarget' : 'Target: $1', // from v2.1 added 22.5.2015
+ 'searchMime' : 'Search by input MIME Type', // from v2.1 added 22.5.2015
+ 'owner' : 'Owner', // from v2.1 added 20.6.2015
+ 'group' : 'Group', // from v2.1 added 20.6.2015
+ 'other' : 'Other', // from v2.1 added 20.6.2015
+ 'execute' : 'Execute', // from v2.1 added 20.6.2015
+ 'perm' : 'Permission', // from v2.1 added 20.6.2015
+ 'mode' : 'Mode', // from v2.1 added 20.6.2015
+ 'emptyFolder' : 'Folder is empty', // from v2.1.6 added 30.12.2015
+ 'emptyFolderDrop' : 'Folder is empty\\A Drop to add items', // from v2.1.6 added 30.12.2015
+ 'emptyFolderLTap' : 'Folder is empty\\A Long tap to add items', // from v2.1.6 added 30.12.2015
+ 'quality' : 'Quality', // from v2.1.6 added 5.1.2016
+ 'autoSync' : 'Auto sync', // from v2.1.6 added 10.1.2016
+ 'moveUp' : 'Move up', // from v2.1.6 added 18.1.2016
+ 'getLink' : 'Get URL link', // from v2.1.7 added 9.2.2016
+ 'selectedItems' : 'Selected items ($1)', // from v2.1.7 added 2.19.2016
+ 'folderId' : 'Folder ID', // from v2.1.10 added 3.25.2016
+ 'offlineAccess' : 'Allow offline access', // from v2.1.10 added 3.25.2016
+ 'reAuth' : 'To re-authenticate', // from v2.1.10 added 3.25.2016
+ 'nowLoading' : 'Now loading...', // from v2.1.12 added 4.26.2016
+ 'openMulti' : 'Open multiple files', // from v2.1.12 added 5.14.2016
+ 'openMultiConfirm': 'You are trying to open the $1 files. Are you sure you want to open in browser?', // from v2.1.12 added 5.14.2016
+ 'emptySearch' : 'Search results is empty', // from v2.1.12 added 5.16.2016
+ 'editingFile' : 'You are editing a file.', // from v2.1.13 added 6.3.2016
+ 'hasSelected' : 'You have selected $1 items.', // from v2.1.13 added 6.3.2016
+ 'hasClipboard' : 'You have $1 items in the clipboard.', // from v2.1.13 added 6.3.2016
+
+ /********************************** mimetypes **********************************/
+ 'kindUnknown' : 'Ismeretlen',
+ 'kindFolder' : 'Mappa',
+ 'kindAlias' : 'Parancsikon',
+ 'kindAliasBroken' : 'Hibás parancsikon',
+ // applications
+ 'kindApp' : 'Alkalmazás',
+ 'kindPostscript' : 'Postscript dokumentum',
+ 'kindMsOffice' : 'Microsoft Office dokumentum',
+ 'kindMsWord' : 'Microsoft Word dokumentum',
+ 'kindMsExcel' : 'Microsoft Excel dokumentum',
+ 'kindMsPP' : 'Microsoft Powerpoint bemutató',
+ 'kindOO' : 'Open Office dokumentum',
+ 'kindAppFlash' : 'Flash alkalmazás',
+ 'kindPDF' : 'Portable Document Format (PDF)',
+ 'kindTorrent' : 'Bittorrent fájl',
+ 'kind7z' : '7z archívum',
+ 'kindTAR' : 'TAR archívum',
+ 'kindGZIP' : 'GZIP archívum',
+ 'kindBZIP' : 'BZIP archívum',
+ 'kindXZ' : 'XZ archívum',
+ 'kindZIP' : 'ZIP archívum',
+ 'kindRAR' : 'RAR archívum',
+ 'kindJAR' : 'Java JAR fájl',
+ 'kindTTF' : 'True Type font',
+ 'kindOTF' : 'Open Type font',
+ 'kindRPM' : 'RPM csomag',
+ // texts
+ 'kindText' : 'Szöveges dokumentum',
+ 'kindTextPlain' : 'Plain text',
+ 'kindPHP' : 'PHP forráskód',
+ 'kindCSS' : 'Cascading style sheet',
+ 'kindHTML' : 'HTML dokumentum',
+ 'kindJS' : 'Javascript forráskód',
+ 'kindRTF' : 'Rich Text Format',
+ 'kindC' : 'C forráskód',
+ 'kindCHeader' : 'C header forráskód',
+ 'kindCPP' : 'C++ forráskód',
+ 'kindCPPHeader' : 'C++ header forráskód',
+ 'kindShell' : 'Unix shell script',
+ 'kindPython' : 'Python forráskód',
+ 'kindJava' : 'Java forráskód',
+ 'kindRuby' : 'Ruby forráskód',
+ 'kindPerl' : 'Perl script',
+ 'kindSQL' : 'SQL forráskód',
+ 'kindXML' : 'XML dokumentum',
+ 'kindAWK' : 'AWK forráskód',
+ 'kindCSV' : 'Comma separated values',
+ 'kindDOCBOOK' : 'Docbook XML dokumentum',
+ 'kindMarkdown' : 'Markdown text', // added 20.7.2015
+ // images
+ 'kindImage' : 'Kép',
+ 'kindBMP' : 'BMP kép',
+ 'kindJPEG' : 'JPEG kép',
+ 'kindGIF' : 'GIF kép',
+ 'kindPNG' : 'PNG kép',
+ 'kindTIFF' : 'TIFF kép',
+ 'kindTGA' : 'TGA kép',
+ 'kindPSD' : 'Adobe Photoshop kép',
+ 'kindXBITMAP' : 'X bitmap image',
+ 'kindPXM' : 'Pixelmator image',
+ // media
+ 'kindAudio' : 'Hangfájl',
+ 'kindAudioMPEG' : 'MPEG hangfájl',
+ 'kindAudioMPEG4' : 'MPEG-4 hangfájl',
+ 'kindAudioMIDI' : 'MIDI hangfájl',
+ 'kindAudioOGG' : 'Ogg Vorbis hangfájl',
+ 'kindAudioWAV' : 'WAV hangfájl',
+ 'AudioPlaylist' : 'MP3 playlist',
+ 'kindVideo' : 'Film',
+ 'kindVideoDV' : 'DV film',
+ 'kindVideoMPEG' : 'MPEG film',
+ 'kindVideoMPEG4' : 'MPEG-4 film',
+ 'kindVideoAVI' : 'AVI film',
+ 'kindVideoMOV' : 'Quick Time film',
+ 'kindVideoWM' : 'Windows Media film',
+ 'kindVideoFlash' : 'Flash film',
+ 'kindVideoMKV' : 'Matroska film',
+ 'kindVideoOGG' : 'Ogg film'
+ }
+ };
+}
+
diff --git a/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.id.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.id.js
new file mode 100644
index 0000000..8c52be4
--- /dev/null
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.id.js
@@ -0,0 +1,365 @@
+/**
+ * Indonesian translation
+ * @author Suyadi <1441177004009@student.unsika.ac.id>
+ * @version 2015-07-27
+ */
+if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
+ elFinder.prototype.i18.id = {
+ translator : 'Suyadi <1441177004009@student.unsika.ac.id>',
+ language : 'Bahasa Indonesia',
+ direction : 'ltr',
+ dateFormat : 'j F, Y H:i',
+ fancyDateFormat : '$1 H:i',
+ messages : {
+
+ /********************************** errors **********************************/
+ 'error' : 'Kesalahan',
+ 'errUnknown' : 'Kesalahan tak dikenal.',
+ 'errUnknownCmd' : 'Perintah tak dikenal.',
+ 'errJqui' : 'Konfigurasi jQuery UI tidak valid. Komponen pemilih, penyeret dan penaruh harus disertakan.',
+ 'errNode' : 'elFinder membutuhkan pembuatan elemen DOM.',
+ 'errURL' : 'Konfigurasi elFinder tidak valid! opsi URL belum diatur.',
+ 'errAccess' : 'Akses ditolak.',
+ 'errConnect' : 'Tidak dapat tersambung ke backend.',
+ 'errAbort' : 'Koneksi dibatalkan.',
+ 'errTimeout' : 'Waktu koneksi habis.',
+ 'errNotFound' : 'Backend tidak ditemukan.',
+ 'errResponse' : 'Respon backend tidak valid.',
+ 'errConf' : 'Konfigurasi elFinder tidak valid.',
+ 'errJSON' : 'Modul PHP JSON belum terpasang.',
+ 'errNoVolumes' : 'Tidak tersedia ruang kosong.',
+ 'errCmdParams' : 'Parameter perintah "$1" tidak valid.',
+ 'errDataNotJSON' : 'Data bukan merupakan JSON.',
+ 'errDataEmpty' : 'Data masih kosong.',
+ 'errCmdReq' : 'Permintaan ke backend membutuhkan nama perintah.',
+ 'errOpen' : 'Tidak dapat membuka "$1".',
+ 'errNotFolder' : 'Obyek ini bukan folder.',
+ 'errNotFile' : 'Obyek ini bukan berkas.',
+ 'errRead' : 'Tidak dapat membaca "$1".',
+ 'errWrite' : 'Tidak dapat menulis ke "$1".',
+ 'errPerm' : 'Ijin ditolak.',
+ 'errLocked' : '"$1" ini terkunci dan tak dapat dipidahkan, diubah atau dihapus.',
+ 'errExists' : 'Berkas bernama "$1" sudah ada.',
+ 'errInvName' : 'Nama berkas tidak valid.',
+ 'errFolderNotFound' : 'Folder tidak ditemukan.',
+ 'errFileNotFound' : 'Berkas tidak ditemukan.',
+ 'errTrgFolderNotFound' : 'Folder tujuan "$1" tidak ditemukan.',
+ 'errPopup' : 'Peramban anda mencegah untuk membuka jendela munculan. Untuk dapat membuka berkas ini ubah pengaturan pada peramban anda.',
+ 'errMkdir' : 'Tidak dapat membuat folder "$1".',
+ 'errMkfile' : 'Tidak dapat membuat berkas "$1".',
+ 'errRename' : 'Tidak dapat mengubah nama "$1".',
+ 'errCopyFrom' : 'Tidak diizinkan menyalin berkas dari volume "$1".',
+ 'errCopyTo' : 'tidak diizinkan menyalin berkas ke volume "$1".',
+ 'errUpload' : 'Kesalahan saat mengunggah.',
+ 'errUploadFile' : 'Tidak dapat mengunggah "$1".',
+ 'errUploadNoFiles' : 'Tak ada berkas untuk diunggah.',
+ 'errUploadTotalSize' : 'Data melampaui ukuran yang diperbolehkan.',
+ 'errUploadFileSize' : 'Berkas melampaui ukuran yang diperbolehkan.',
+ 'errUploadMime' : 'Jenis berkas ini tidak diijinkan.',
+ 'errUploadTransfer' : 'Kesalahan transfer "$1".',
+ 'errNotReplace' : 'Obyek "$1" sudah ada di lokasi ini dan tidak dapat ditimpa oleh obyek jenis lain.', // new
+ 'errReplace' : 'Tidak dapat menimpa "$1".',
+ 'errSave' : 'Tidak dapat menyimpan "$1".',
+ 'errCopy' : 'Tidak dapat menyalin "$1".',
+ 'errMove' : 'Tidak dapat memindahkan "$1".',
+ 'errCopyInItself' : 'Tidak dapat menyalin "$1" ke dirinya sendiri.',
+ 'errRm' : 'Tidak dapat menghapus "$1".',
+ 'errRmSrc' : 'Tidak dapat menghapus sumber berkas.',
+ 'errExtract' : 'Tidak dapat mengekstrak berkas dari "$1".',
+ 'errArchive' : 'Tidak dapat membuat arsip.',
+ 'errArcType' : 'Jenis arsip tidak didukung.',
+ 'errNoArchive' : 'Berkas ini bukan arsip atau arsip jenis ini tidak didukung.',
+ 'errCmdNoSupport' : 'Backend tidak mendukung perintah ini.',
+ 'errReplByChild' : 'Folder “$1” tidak dapat ditimpa dengan berkas didalamnya.',
+ 'errArcSymlinks' : 'Untuk keamanan tak diijinkan mengekstrak arsip berisi symlink atau jenis berkas yang tak diijinkan.', // edited 24.06.2012
+ 'errArcMaxSize' : 'Arsip ini melampaui ukuran yang diijinkan.',
+ 'errResize' : 'Tidak dapat mengubah ukuran "$1".',
+ 'errResizeDegree' : 'Derajat putaran tidak valid.',
+ 'errResizeRotate' : 'Citra tidak diputar.',
+ 'errResizeSize' : 'Ukuran citra tidak valid.',
+ 'errResizeNoChange' : 'Ukuran citra tidak diubah.',
+ 'errUsupportType' : 'Jenis berkas tidak didukung.',
+ 'errNotUTF8Content' : 'Berkas "$1" tidak dalam format UTF-8 dan tidak dapat disunting.',
+ 'errNetMount' : 'Tidak dapat membaca susunan "$1".',
+ 'errNetMountNoDriver' : 'Protokol tidak didukung.',
+ 'errNetMountFailed' : 'Tidak dapat membaca susunannya.',
+ 'errNetMountHostReq' : 'Host harus ada.',
+ 'errSessionExpires' : 'Sesi anda telah kadaluwarsa karena lama tidak aktif.',
+ 'errCreatingTempDir' : 'Tidak dapat membuat direktori sementara: "$1"',
+ 'errFtpDownloadFile' : 'Tidak dapat mengunduh berkas dari FTP: "$1"',
+ 'errFtpUploadFile' : 'Tidak dapat mengunggah berkas dari FTP: "$1"',
+ 'errFtpMkdir' : 'Tidak dapat membuat remot direktori dari FTP: "$1"',
+ 'errArchiveExec' : 'Kesalahan saat mengarsipkan berkas: "$1"',
+ 'errExtractExec' : 'Kesalahan saat mengekstrak berkas: "$1"',
+
+ /******************************* commands names ********************************/
+ 'cmdarchive' : 'Buat arsip',
+ 'cmdback' : 'Kembali',
+ 'cmdcopy' : 'Salin',
+ 'cmdcut' : 'Potong',
+ 'cmddownload' : 'Unduh',
+ 'cmdduplicate' : 'Gandakan',
+ 'cmdedit' : 'Sunting berkas',
+ 'cmdextract' : 'Ekstrak berkas dari arsip',
+ 'cmdforward' : 'Maju',
+ 'cmdgetfile' : 'Pilih berkas',
+ 'cmdhelp' : 'Tentang software ini',
+ 'cmdhome' : 'Rumah',
+ 'cmdinfo' : 'Dapatkan info',
+ 'cmdmkdir' : 'Buat folder',
+ 'cmdmkfile' : 'Buat berkas teks',
+ 'cmdopen' : 'Buka',
+ 'cmdpaste' : 'Tempel',
+ 'cmdquicklook' : 'Pratinjau',
+ 'cmdreload' : 'Muat-ulang',
+ 'cmdrename' : 'Ganti nama',
+ 'cmdrm' : 'Hapus',
+ 'cmdsearch' : 'Cari berkas',
+ 'cmdup' : 'Ke direktori utama',
+ 'cmdupload' : 'Unggah berkas',
+ 'cmdview' : 'Lihat',
+ 'cmdresize' : 'Ubah ukuran & Putar',
+ 'cmdsort' : 'Urutkan',
+ 'cmdnetmount' : 'Baca-susun volume jaringan', // added 18.04.2012
+
+ /*********************************** buttons ***********************************/
+ 'btnClose' : 'Tutup',
+ 'btnSave' : 'Simpan',
+ 'btnRm' : 'Buang',
+ 'btnApply' : 'Terapkan',
+ 'btnCancel' : 'Batal',
+ 'btnNo' : 'Tidak',
+ 'btnYes' : 'Ya',
+ 'btnMount' : 'Baca susunan',
+ /******************************** notifications ********************************/
+ 'ntfopen' : 'Buka folder',
+ 'ntffile' : 'Buka berkas',
+ 'ntfreload' : 'Muat-ulang isi folder',
+ 'ntfmkdir' : 'Membuat direktori',
+ 'ntfmkfile' : 'Membuat berkas',
+ 'ntfrm' : 'Menghapus berkas',
+ 'ntfcopy' : 'Salin berkas',
+ 'ntfmove' : 'Pindahkan berkas',
+ 'ntfprepare' : 'Persiapan menyalin berkas',
+ 'ntfrename' : 'Ubah nama berkas',
+ 'ntfupload' : 'Unggah berkas',
+ 'ntfdownload' : 'Mengunduh berkas',
+ 'ntfsave' : 'Simpan berkas',
+ 'ntfarchive' : 'Membuat arsip',
+ 'ntfextract' : 'Mengekstrak berkas dari arsip',
+ 'ntfsearch' : 'Mencari berkas',
+ 'ntfresize' : 'Mengubah ukuran citra',
+ 'ntfsmth' : 'Melakukan sesuatu',
+ 'ntfloadimg' : 'Memuat citra',
+ 'ntfnetmount' : 'Membaca susunan volume jaringan',
+ 'ntfdim' : 'Mendapatkan dimensi citra',
+
+ /************************************ dates **********************************/
+ 'dateUnknown' : 'tak diketahui',
+ 'Today' : 'Hari ini',
+ 'Yesterday' : 'Kemarin',
+ 'msJan' : 'Jan',
+ 'msFeb' : 'Peb',
+ 'msMar' : 'Mar',
+ 'msApr' : 'Apr',
+ 'msMay' : 'Mei',
+ 'msJun' : 'Jun',
+ 'msJul' : 'Jul',
+ 'msAug' : 'Agt',
+ 'msSep' : 'Sep',
+ 'msOct' : 'Okt',
+ 'msNov' : 'Nop',
+ 'msDec' : 'Des',
+ 'January' : 'Januari',
+ 'February' : 'Pebruari',
+ 'March' : 'Maret',
+ 'April' : 'April',
+ 'May' : 'Mei',
+ 'June' : 'Juni',
+ 'July' : 'Juli',
+ 'August' : 'Agustus',
+ 'September' : 'September',
+ 'October' : 'Oktober',
+ 'November' : 'Nopember',
+ 'December' : 'Desember',
+ 'Sunday' : 'Minggu',
+ 'Monday' : 'Senin',
+ 'Tuesday' : 'Selasa',
+ 'Wednesday' : 'Rabu',
+ 'Thursday' : 'Kamis',
+ 'Friday' : 'Jum \'at',
+ 'Saturday' : 'Sabtu',
+ 'Sun' : 'Min',
+ 'Mon' : 'Sen',
+ 'Tue' : 'Sel',
+ 'Wed' : 'Rab',
+ 'Thu' : 'Kam',
+ 'Fri' : 'Jum',
+ 'Sat' : 'Sab',
+
+ /******************************** sort variants ********************************/
+ 'sortname' : 'menurut nama',
+ 'sortkind' : 'menurut jenis',
+ 'sortsize' : 'menurut ukuran',
+ 'sortdate' : 'menurut tanggal',
+ 'sortFoldersFirst' : 'Utamakan folder',
+
+ /********************************** messages **********************************/
+ 'confirmReq' : 'Diperlukan konfirmasi',
+ 'confirmRm' : 'Anda yakin akan menghapus berkas? Ini tidak dapat kembalikan!',
+ 'confirmRepl' : 'Timpa berkas lama dengan yang baru?',
+ 'apllyAll' : 'Terapkan ke semua',
+ 'name' : 'Nama',
+ 'size' : 'Ukuran',
+ 'perms' : 'Perijinan',
+ 'modify' : 'Diubah',
+ 'kind' : 'Jenis',
+ 'read' : 'baca',
+ 'write' : 'tulis',
+ 'noaccess' : 'tidak ada akses',
+ 'and' : 'dan',
+ 'unknown' : 'tak diketahui',
+ 'selectall' : 'Pilih semua berkas',
+ 'selectfiles' : 'Pilih berkas',
+ 'selectffile' : 'Pilih berkas pertama',
+ 'selectlfile' : 'Pilih berkas terakhir',
+ 'viewlist' : 'Tampilan daftar',
+ 'viewicons' : 'Tampilan ikon',
+ 'places' : 'Lokasi',
+ 'calc' : 'Hitung',
+ 'path' : 'Alamat',
+ 'aliasfor' : 'Nama lain untuk',
+ 'locked' : 'Dikunci',
+ 'dim' : 'Dimensi',
+ 'files' : 'Berkas',
+ 'folders' : 'Folder',
+ 'items' : 'Pokok',
+ 'yes' : 'ya',
+ 'no' : 'tidak',
+ 'link' : 'Tautan',
+ 'searcresult' : 'Hasil pencarian',
+ 'selected' : 'Pokok terpilih',
+ 'about' : 'Tentang',
+ 'shortcuts' : 'Pintasan',
+ 'help' : 'Bantuan',
+ 'webfm' : 'Pengelola berkas web',
+ 'ver' : 'Versi',
+ 'protocolver' : 'versi protokol',
+ 'homepage' : 'Rumah proyek',
+ 'docs' : 'Dokumentasi',
+ 'github' : 'Ambil kami di Github',
+ 'twitter' : 'Ikuti kami di twitter',
+ 'facebook' : 'Gabung dengan kami di facebook',
+ 'team' : 'Tim',
+ 'chiefdev' : 'kepala pengembang',
+ 'developer' : 'pengembang',
+ 'contributor' : 'kontributor',
+ 'maintainer' : 'pengurus',
+ 'translator' : 'penerjemah',
+ 'icons' : 'Ikon',
+ 'dontforget' : 'dan jangan lupa pakai handukmu',
+ 'shortcutsof' : 'Pintasan dimatikan',
+ 'dropFiles' : 'Seret berkas anda kesini',
+ 'or' : 'atau',
+ 'selectForUpload' : 'Pilih berkas untuk diunggah',
+ 'moveFiles' : 'Pindahkan berkas',
+ 'copyFiles' : 'Salin berkas',
+ 'rmFromPlaces' : 'Hapus dari lokasi',
+ 'aspectRatio' : 'Aspek rasio',
+ 'scale' : 'Skala',
+ 'width' : 'Lebar',
+ 'height' : 'Tinggi',
+ 'resize' : 'Ubah ukuran',
+ 'crop' : 'Potong',
+ 'rotate' : 'Putar',
+ 'rotate-cw' : 'Putar 90 derajat ke kanan',
+ 'rotate-ccw' : 'Putar 90 derajat ke kiri',
+ 'degree' : '°',
+ 'netMountDialogTitle' : 'Baca susunan volume jaringan',
+ 'protocol' : 'Protokol',
+ 'host' : 'Host',
+ 'port' : 'Port',
+ 'user' : 'Pengguna',
+ 'pass' : 'Sandi',
+
+ /********************************** mimetypes **********************************/
+ 'kindUnknown' : 'Tak diketahui',
+ 'kindFolder' : 'Folder',
+ 'kindAlias' : 'Nama lain',
+ 'kindAliasBroken' : 'Nama lain rusak',
+ // applications
+ 'kindApp' : 'Aplikasi',
+ 'kindPostscript' : 'Dokumen postscript',
+ 'kindMsOffice' : 'Dokumen Ms. Office',
+ 'kindMsWord' : 'Dokumen Ms. Word',
+ 'kindMsExcel' : 'Dokumen Ms. Excel',
+ 'kindMsPP' : 'Dokumen Ms. Powerpoint',
+ 'kindOO' : 'Dokumen Open Office',
+ 'kindAppFlash' : 'Aplikasi Flash',
+ 'kindPDF' : 'Portable Document Format (PDF)',
+ 'kindTorrent' : 'Berkas Bittorrent',
+ 'kind7z' : 'Arsip 7z',
+ 'kindTAR' : 'Arsip TAR',
+ 'kindGZIP' : 'Arsip GZIP',
+ 'kindBZIP' : 'Arsip BZIP',
+ 'kindXZ' : 'Arsip XZ',
+ 'kindZIP' : 'Arsip ZIP',
+ 'kindRAR' : 'Arsip RAR',
+ 'kindJAR' : 'Berkas Java JAR',
+ 'kindTTF' : 'Huruf True Type',
+ 'kindOTF' : 'Huruf Open Type',
+ 'kindRPM' : 'Paket RPM',
+ // texts
+ 'kindText' : 'Dokumen teks',
+ 'kindTextPlain' : 'Berkas teks biasa',
+ 'kindPHP' : 'Kode-sumber PHP',
+ 'kindCSS' : 'Cascading style sheet',
+ 'kindHTML' : 'Dokumen HTML',
+ 'kindJS' : 'Kode-sumber Javascript',
+ 'kindRTF' : 'Berkas Rich Text',
+ 'kindC' : 'Kode-sumber C',
+ 'kindCHeader' : 'Kode-sumber header C',
+ 'kindCPP' : 'Kode-sumber C++',
+ 'kindCPPHeader' : 'Kode-sumber header C++',
+ 'kindShell' : 'Berkas shell Unix',
+ 'kindPython' : 'Kode-sumber Python',
+ 'kindJava' : 'Kode-sumber Java',
+ 'kindRuby' : 'Kode-sumber Ruby',
+ 'kindPerl' : 'Kode-sumber Perl',
+ 'kindSQL' : 'Kode-sumber SQL',
+ 'kindXML' : 'Dokumen XML',
+ 'kindAWK' : 'Kode-sumber AWK',
+ 'kindCSV' : 'Dokumen CSV',
+ 'kindDOCBOOK' : 'Dokumen Docbook XML',
+ // images
+ 'kindImage' : 'Citra',
+ 'kindBMP' : 'Citra BMP',
+ 'kindJPEG' : 'Citra JPEG',
+ 'kindGIF' : 'Citra GIF',
+ 'kindPNG' : 'Citra PNG',
+ 'kindTIFF' : 'Citra TIFF',
+ 'kindTGA' : 'Citra TGA',
+ 'kindPSD' : 'Citra Adobe Photoshop',
+ 'kindXBITMAP' : 'Citra X bitmap',
+ 'kindPXM' : 'Citra Pixelmator',
+ // media
+ 'kindAudio' : 'Berkas audio',
+ 'kindAudioMPEG' : 'Berkas audio MPEG',
+ 'kindAudioMPEG4' : 'Berkas audio MPEG-4',
+ 'kindAudioMIDI' : 'Berkas audio MIDI',
+ 'kindAudioOGG' : 'Berkas audio Ogg Vorbis',
+ 'kindAudioWAV' : 'Berkas audio WAV',
+ 'AudioPlaylist' : 'Berkas daftar putar MP3',
+ 'kindVideo' : 'Berkas video',
+ 'kindVideoDV' : 'Berkas video DV',
+ 'kindVideoMPEG' : 'Berkas video MPEG',
+ 'kindVideoMPEG4' : 'Berkas video MPEG-4',
+ 'kindVideoAVI' : 'Berkas video AVI',
+ 'kindVideoMOV' : 'Berkas video Quick Time',
+ 'kindVideoWM' : 'Berkas video Windows Media',
+ 'kindVideoFlash' : 'Berkas video Flash',
+ 'kindVideoMKV' : 'Berkas video Matroska',
+ 'kindVideoOGG' : 'Berkas video Ogg'
+ }
+ };
+}
diff --git a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.it.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.it.js
similarity index 55%
rename from elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.it.js
rename to elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.it.js
index 01c6e40..a63f32b 100644
--- a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.it.js
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.it.js
@@ -1,14 +1,15 @@
/**
- * Italian translation
- * @author Alberto Tocci
- * @version 2012-05-09
+ * Italiano translation
+ * @author Alberto Tocci (alberto.tocci@gmail.com)
+ * @author Claudio Nicora (nicorac@yahoo.com)
+ * @version 2016-07-11
*/
if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
elFinder.prototype.i18.it = {
- translator : 'Alberto Tocci (alberto.tocci@gmail.com)',
+ translator : 'Alberto Tocci (alberto.tocci@gmail.com), Claudio Nicora (nicorac@yahoo.com)',
language : 'Italiano',
direction : 'ltr',
- dateFormat : 'd.m.Y H:i',
+ dateFormat : 'd/m/Y H:i',
fancyDateFormat : '$1 H:i',
messages : {
@@ -21,7 +22,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'errURL' : 'Configurazione non valida.Il parametro URL non è settato.',
'errAccess' : 'Accesso non consentito.',
'errConnect' : 'Impossibile collegarsi al backend.',
- 'errAbort' : 'Connessione terminata.',
+ 'errAbort' : 'Connessione annullata.',
'errTimeout' : 'Timeout di connessione.',
'errNotFound' : 'Backend non trovato.',
'errResponse' : 'Risposta non valida dal backend.',
@@ -31,7 +32,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'errCmdParams' : 'Parametri non validi per il comando "$1".',
'errDataNotJSON' : 'I dati non sono nel formato JSON.',
'errDataEmpty' : 'Stringa vuota.',
- 'errCmdReq' : 'Backend request requires command name.',
+ 'errCmdReq' : 'La richiesta al backend richiede il nome del comando.',
'errOpen' : 'Impossibile aprire "$1".',
'errNotFolder' : 'L\'oggetto non è una cartella..',
'errNotFile' : 'L\'oggetto non è un file.',
@@ -50,31 +51,57 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'errRename' : 'Impossibile rinominare "$1".',
'errCopyFrom' : 'Non è possibile copiare file da "$1".',
'errCopyTo' : 'Non è possibile copiare file in "$1".',
- 'errUploadCommon' : 'Errore di Caricamento.',
- 'errUpload' : 'Impossibile Caricare "$1".',
+ 'errMkOutLink' : 'Impossibile creare un link all\'esterno della radice del volume.', // from v2.1 added 03.10.2015
+ 'errUpload' : 'Errore di Caricamento.', // old name - errUploadCommon
+ 'errUploadFile' : 'Impossibile Caricare "$1".', // old name - errUpload
'errUploadNoFiles' : 'Non sono stati specificati file da caricare.',
- 'errMaxSize' : 'La dimensione totale dei file supera il limite massimo consentito.',
- 'errFileMaxSize' : 'Le dimensioni del file superano il massimo consentito.',
+ 'errUploadTotalSize' : 'La dimensione totale dei file supera il limite massimo consentito.', // old name - errMaxSize
+ 'errUploadFileSize' : 'Le dimensioni del file superano il massimo consentito.', // old name - errFileMaxSize
'errUploadMime' : 'FileType non consentito.',
- 'errUploadTransfer' : 'Trasferimento errato del file "$1".',
+ 'errUploadTransfer' : 'Trasferimento errato del file "$1".',
+ 'errUploadTemp' : 'Impossibile creare il file temporaneo per l\'upload.', // from v2.1 added 26.09.2015
+ 'errNotReplace' : 'L\'oggetto "$1" esiste già in questa cartella e non può essere sostituito con un oggetto di un tipo differente.', // new
+ 'errReplace' : 'Impossibile sostituire "$1".',
'errSave' : 'Impossibile salvare "$1".',
'errCopy' : 'Impossibile copiare "$1".',
'errMove' : 'Impossibile spostare "$1".',
'errCopyInItself' : 'Sorgente e destinazione risultato essere uguali.',
'errRm' : 'Impossibile rimuovere "$1".',
+ 'errRmSrc' : 'Impossibile eliminare i file origine.',
'errExtract' : 'Impossibile estrarre file da "$1".',
'errArchive' : 'Impossibile creare archivio.',
'errArcType' : 'Tipo di archivio non supportato.',
'errNoArchive' : 'Il file non è un archivio o contiene file non supportati.',
'errCmdNoSupport' : 'Il Backend non supporta questo comando.',
'errReplByChild' : 'La cartella $1 non può essere sostituita da un oggetto in essa contenuto.',
- 'errArcSymlinks' : 'Per questioni di sicurezza non è possibile estrarre archivi che contengono collegamenti..',
+ 'errArcSymlinks' : 'Per questioni di sicurezza non è possibile estrarre archivi che contengono collegamenti..', // edited 24.06.2012
'errArcMaxSize' : 'La dimensione dell\'archivio supera le massime dimensioni consentite.',
'errResize' : 'Impossibile ridimensionare "$1".',
- 'errUsupportType' : 'FileType non supportato.',
+ 'errResizeDegree' : 'Angolo di rotazione non valido.', // added 7.3.2013
+ 'errResizeRotate' : 'Impossibile ruotare l\'immagine.', // added 7.3.2013
+ 'errResizeSize' : 'Dimensione dell\'immagine non valida.', // added 7.3.2013
+ 'errResizeNoChange' : 'Dimensione dell\'immagine non modificata.', // added 7.3.2013
+ 'errUsupportType' : 'Tipo di file non supportato.',
+ 'errNotUTF8Content' : 'Il file "$1" non è nel formato UTF-8 e non può essere modificato.', // added 9.11.2011
+ 'errNetMount' : 'Impossibile montare "$1".', // added 17.04.2012
+ 'errNetMountNoDriver' : 'Protocollo non supportato.', // added 17.04.2012
+ 'errNetMountFailed' : 'Mount fallito.', // added 17.04.2012
+ 'errNetMountHostReq' : 'Necessario host.', // added 18.04.2012
+ 'errSessionExpires' : 'La sessione è scaduta a causa di inattività.',
+ 'errCreatingTempDir' : 'Impossibile creare la cartella temporanea: "$1"',
+ 'errFtpDownloadFile' : 'Impossibile scaricare il file tramite FTP: "$1"',
+ 'errFtpUploadFile' : 'Impossibile caricare il file tramite FTP: "$1"',
+ 'errFtpMkdir' : 'Impossibile creare la cartella remota tramite FTP: "$1"',
+ 'errArchiveExec' : 'Errore durante l\'archiviazione dei file: "$1"',
+ 'errExtractExec' : 'Errore durante l\'estrazione dei file: "$1"',
+ 'errNetUnMount' : 'Impossibile smontare', // from v2.1 added 30.04.2012
+ 'errConvUTF8' : 'Non convertibile nel formato UTF-8', // from v2.1 added 08.04.2014
+ 'errFolderUpload' : 'Per uploadare l0intera cartella usare Google Chrome.', // from v2.1 added 26.6.2015
+ 'errSearchTimeout' : 'Timeout durante la ricerca di "$1". I risultati della ricerca sono parziali.', // from v2.1 added 12.1.2016
+ 'errReauthRequire' : 'E\' necessaria la riautorizzazione.', // from v2.1.10 added 3.24.2016
/******************************* commands names ********************************/
- 'cmdarchive' : 'Crea Archivio',
+ 'cmdarchive' : 'Crea archivio',
'cmdback' : 'Indietro',
'cmdcopy' : 'Copia',
'cmdcut' : 'Taglia',
@@ -88,6 +115,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'cmdhome' : 'Home',
'cmdinfo' : 'Informazioni',
'cmdmkdir' : 'Nuova cartella',
+ 'cmdmkdirin' : 'In una nuova cartella', // from v2.1.7 added 19.2.2016
'cmdmkfile' : 'Nuovo file di testo',
'cmdopen' : 'Apri',
'cmdpaste' : 'Incolla',
@@ -101,8 +129,14 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'cmdview' : 'Visualizza',
'cmdresize' : 'Ridimensiona Immagine',
'cmdsort' : 'Ordina',
+ 'cmdnetmount' : 'Monta disco di rete', // added 18.04.2012
+ 'cmdnetunmount': 'Smonta', // from v2.1 added 30.04.2012
+ 'cmdplaces' : 'To Places', // added 28.12.2014
+ 'cmdchmod' : 'Cambia modalità', // from v2.1 added 20.6.2015
+ 'cmdopendir' : 'Apri una cartella', // from v2.1 added 13.1.2016
+ 'cmdcolwidth' : 'Reimposta dimensione colonne', // from v2.1.13 added 12.06.2016
- /*********************************** buttons ***********************************/
+ /*********************************** buttons ***********************************/
'btnClose' : 'Chiudi',
'btnSave' : 'Salva',
'btnRm' : 'Rimuovi',
@@ -110,6 +144,17 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'btnCancel' : 'Cancella',
'btnNo' : 'No',
'btnYes' : 'Si',
+ 'btnMount' : 'Monta', // added 18.04.2012
+ 'btnApprove': 'Vai a $1 & approva', // from v2.1 added 26.04.2012
+ 'btnUnmount': 'Smonta', // from v2.1 added 30.04.2012
+ 'btnConv' : 'Converti', // from v2.1 added 08.04.2014
+ 'btnCwd' : 'Qui', // from v2.1 added 22.5.2015
+ 'btnVolume' : 'Disco', // from v2.1 added 22.5.2015
+ 'btnAll' : 'Tutti', // from v2.1 added 22.5.2015
+ 'btnMime' : 'MIME Type', // from v2.1 added 22.5.2015
+ 'btnFileName':'Nome file', // from v2.1 added 22.5.2015
+ 'btnSaveClose': 'Salva & Chiudi', // from v2.1 added 12.6.2015
+ 'btnBackup' : 'Backup', // fromv2.1 added 28.11.2015
/******************************** notifications ********************************/
'ntfopen' : 'Apri cartella',
@@ -128,25 +173,34 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'ntfarchive' : 'Creazione archivio in corso',
'ntfextract' : 'Estrazione file dall\'archivio in corso',
'ntfsearch' : 'Ricerca files in corso',
+ 'ntfresize' : 'Ridimensionamento immagini',
'ntfsmth' : 'Operazione in corso. Attendere...',
'ntfloadimg' : 'Caricamento immagine in corso',
+ 'ntfnetmount' : 'Montaggio disco di rete', // added 18.04.2012
+ 'ntfnetunmount': 'Smontaggio disco di rete', // from v2.1 added 30.04.2012
+ 'ntfdim' : 'Lettura dimensioni immagine', // added 20.05.2013
+ 'ntfreaddir' : 'Lettura informazioni cartella', // from v2.1 added 01.07.2013
+ 'ntfurl' : 'Lettura URL del collegamento', // from v2.1 added 11.03.2014
+ 'ntfchmod' : 'Modifica della modalità del file', // from v2.1 added 20.6.2015
+ 'ntfpreupload': 'Verifica del nome del file caricato', // from v2.1 added 31.11.2015
+ 'ntfzipdl' : 'Creazione del file da scaricare', // from v2.1.7 added 23.1.2016
/************************************ dates **********************************/
'dateUnknown' : 'sconosciuto',
'Today' : 'Oggi',
'Yesterday' : 'Ieri',
- 'Jan' : 'Gen',
- 'Feb' : 'Feb',
- 'Mar' : 'Mar',
- 'Apr' : 'Apr',
- 'May' : 'Mag',
- 'Jun' : 'Giu',
- 'Jul' : 'Lug',
- 'Aug' : 'Ago',
- 'Sep' : 'Set',
- 'Oct' : 'Ott',
- 'Nov' : 'Nov',
- 'Dec' : 'Dic',
+ 'msJan' : 'Gen',
+ 'msFeb' : 'Feb',
+ 'msMar' : 'Mar',
+ 'msApr' : 'Apr',
+ 'msMay' : 'Mag',
+ 'msJun' : 'Giu',
+ 'msJul' : 'Lug',
+ 'msAug' : 'Ago',
+ 'msSep' : 'Set',
+ 'msOct' : 'Ott',
+ 'msNov' : 'Nov',
+ 'msDec' : 'Dic',
'January' : 'Gennaio',
'February' : 'Febbraio',
'March' : 'Marzo',
@@ -159,34 +213,43 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'October' : 'Ottobre',
'November' : 'Novembre',
'December' : 'Dicembre',
- 'Sunday' : 'Domenica',
- 'Monday' : 'Lunedì',
- 'Tuesday' : 'Martedì',
- 'Wednesday' : 'Mercoledì',
- 'Thursday' : 'Giovedì',
- 'Friday' : 'Venerdì',
+ 'Sunday' : 'Domenica',
+ 'Monday' : 'Lunedì',
+ 'Tuesday' : 'Martedì',
+ 'Wednesday' : 'Mercoledì',
+ 'Thursday' : 'Giovedì',
+ 'Friday' : 'Venerdì',
'Saturday' : 'Sabato',
- 'Sun' : 'Dom',
- 'Mon' : 'Lun',
- 'Tue' : 'Mar',
- 'Wed' : 'Mer',
- 'Thu' : 'Gio',
- 'Fri' : 'Ven',
+ 'Sun' : 'Dom',
+ 'Mon' : 'Lun',
+ 'Tue' : 'Mar',
+ 'Wed' : 'Mer',
+ 'Thu' : 'Gio',
+ 'Fri' : 'Ven',
'Sat' : 'Sab',
+
/******************************** sort variants ********************************/
- 'sortnameDirsFirst' : 'per nome (cartelle in testa)',
- 'sortkindDirsFirst' : 'per tipo (cartelle in testa)',
- 'sortsizeDirsFirst' : 'per dimensione (cartelle in testa)',
- 'sortdateDirsFirst' : 'per data (cartelle in testa)',
- 'sortname' : 'per nome',
- 'sortkind' : 'per tipo',
+ 'sortname' : 'per nome',
+ 'sortkind' : 'per tipo',
'sortsize' : 'per dimensione',
'sortdate' : 'per data',
+ 'sortFoldersFirst' : 'cartelle in testa',
+ 'sortperm' : 'per permessi', // from v2.1.13 added 13.06.2016
+ 'sortmode' : 'per modalità', // from v2.1.13 added 13.06.2016
+ 'sortowner' : 'per possessore', // from v2.1.13 added 13.06.2016
+ 'sortgroup' : 'per gruppo', // from v2.1.13 added 13.06.2016
+
+ /********************************** new items **********************************/
+ 'untitled file.txt' : 'NuovoFile.txt', // added 10.11.2015
+ 'untitled folder' : 'NuovaCartella', // added 10.11.2015
+ 'Archive' : 'NuovoArchivio', // from v2.1 added 10.11.2015
/********************************** messages **********************************/
'confirmReq' : 'Conferma richiesta',
'confirmRm' : 'Sei sicuro di voler rimuovere i file? L\'operazione non è reversibile!',
'confirmRepl' : 'Sostituire i file ?',
+ 'confirmConvUTF8' : 'Non in formato UTF-8 Convertire in UTF-8? Il contenuto diventerà UTF-8 salvando dopo la conversione.', // from v2.1 added 08.04.2014
+ 'confirmNotSave' : 'Il contenuto è stato modificato. Le modifiche andranno perse se non si salveranno.', // from v2.1 added 15.7.2015
'apllyAll' : 'Applica a tutti',
'name' : 'Nome',
'size' : 'Dimensione',
@@ -205,7 +268,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'viewlist' : 'Visualizza Elenco',
'viewicons' : 'Visualizza Icone',
'places' : 'Places',
- 'calc' : 'Calcola',
+ 'calc' : 'Calcola',
'path' : 'Percorso',
'aliasfor' : 'Alias per',
'locked' : 'Bloccato',
@@ -216,14 +279,14 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'yes' : 'si',
'no' : 'no',
'link' : 'Collegamento',
- 'searcresult' : 'Risultati ricerca',
+ 'searcresult' : 'Risultati ricerca',
'selected' : 'oggetti selezionati',
- 'about' : 'About',
+ 'about' : 'Informazioni',
'shortcuts' : 'Scorciatoie',
- 'help' : 'Help',
+ 'help' : 'Aiuto',
'webfm' : 'Web file manager',
'ver' : 'Versione',
- 'protocol' : 'versione protocollo',
+ 'protocolver' : 'versione protocollo',
'homepage' : 'Home del progetto',
'docs' : 'Documentazione',
'github' : 'Seguici su Github',
@@ -233,7 +296,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'chiefdev' : 'sviluppatore capo',
'developer' : 'sviluppatore',
'contributor' : 'collaboratore',
- 'maintainer' : 'maintainer',
+ 'maintainer' : 'manutentore',
'translator' : 'traduttore',
'icons' : 'Icone',
'dontforget' : 'e non dimenticate di portare l\'asciugamano',
@@ -244,19 +307,54 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'moveFiles' : 'Sposta file',
'copyFiles' : 'Copia file',
'rmFromPlaces' : 'Rimuovi da places',
- 'untitled folder' : 'cartella senza titolo',
- 'untitled file.txt' : 'file senza titolo.txt',
'aspectRatio' : 'Proporzioni',
'scale' : 'Scala',
'width' : 'Larghezza',
'height' : 'Altezza',
- 'mode' : 'Modalità',
'resize' : 'Ridimensione',
'crop' : 'Ritaglia',
'rotate' : 'Ruota',
'rotate-cw' : 'Ruota di 90° in senso orario',
'rotate-ccw' : 'Ruota di 90° in senso antiorario',
'degree' : 'Gradi',
+ 'netMountDialogTitle' : 'Monta disco di rete', // added 18.04.2012
+ 'protocol' : 'Protocollo', // added 18.04.2012
+ 'host' : 'Host', // added 18.04.2012
+ 'port' : 'Porta', // added 18.04.2012
+ 'user' : 'Utente', // added 18.04.2012
+ 'pass' : 'Password', // added 18.04.2012
+ 'confirmUnmount' : 'Vuoi smontare $1?', // from v2.1 added 30.04.2012
+ 'dropFilesBrowser': 'Rilascia o incolla dal browser', // from v2.1 added 30.05.2012
+ 'dropPasteFiles' : 'Rilascia o incolla files e indirizzi URL qui', // from v2.1 added 07.04.2014
+ 'encoding' : 'Codifica', // from v2.1 added 19.12.2014
+ 'locale' : 'Lingua', // from v2.1 added 19.12.2014
+ 'searchTarget' : 'Destinazione: $1', // from v2.1 added 22.5.2015
+ 'searchMime' : 'Cerca per MIME Type', // from v2.1 added 22.5.2015
+ 'owner' : 'Possessore', // from v2.1 added 20.6.2015
+ 'group' : 'Gruppo', // from v2.1 added 20.6.2015
+ 'other' : 'Altri', // from v2.1 added 20.6.2015
+ 'execute' : 'Esegui', // from v2.1 added 20.6.2015
+ 'perm' : 'Permessi', // from v2.1 added 20.6.2015
+ 'mode' : 'Modalità', // from v2.1 added 20.6.2015
+ 'emptyFolder' : 'La cartella è vuota', // from v2.1.6 added 30.12.2015
+ 'emptyFolderDrop' : 'La cartella è vuota\\A Trascina e rilascia per aggiungere elementi', // from v2.1.6 added 30.12.2015
+ 'emptyFolderLTap' : 'La cartella è vuota\\A Premi a lungo per aggiungere elementi', // from v2.1.6 added 30.12.2015
+ 'quality' : 'Qualità', // from v2.1.6 added 5.1.2016
+ 'autoSync' : 'Sincr. automatica', // from v2.1.6 added 10.1.2016
+ 'moveUp' : 'Sposta in alto', // from v2.1.6 added 18.1.2016
+ 'getLink' : 'Mostra URL link', // from v2.1.7 added 9.2.2016
+ 'selectedItems' : 'Elementi selezionati ($1)', // from v2.1.7 added 2.19.2016
+ 'folderId' : 'ID cartella', // from v2.1.10 added 3.25.2016
+ 'offlineAccess' : 'Permetti accesso non in linea', // from v2.1.10 added 3.25.2016
+ 'reAuth' : 'Per ri-autenticarsi', // from v2.1.10 added 3.25.2016
+ 'nowLoading' : 'Caricamento...', // from v2.1.12 added 4.26.2016
+ 'openMulti' : 'Apri più files', // from v2.1.12 added 5.14.2016
+ 'openMultiConfirm': 'Stai cercando di aprire $1 files. Sei sicuro di volerli aprire nel browser?', // from v2.1.12 added 5.14.2016
+ 'emptySearch' : 'Nessun risultato soddisfa i criteri di ricerca', // from v2.1.12 added 5.16.2016
+ 'editingFile' : 'Il file è in modifica.', // from v2.1.13 added 6.3.2016
+ 'hasSelected' : '$1 elementi sono selezionati.', // from v2.1.13 added 6.3.2016
+ 'hasClipboard' : '$1 elementi negli appunti.', // from v2.1.13 added 6.3.2016
+ 'incSearchOnly' : 'La ricerca incrementale è solo dalla vista corrente.', // from v2.1.13 added 6.30.2016
/********************************** mimetypes **********************************/
'kindUnknown' : 'Sconosciuto',
@@ -278,6 +376,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindTAR' : 'Archivio TAR',
'kindGZIP' : 'Archivio GZIP',
'kindBZIP' : 'Archivio BZIP',
+ 'kindXZ' : 'Archivio XZ',
'kindZIP' : 'Archivio ZIP',
'kindRAR' : 'Archivio RAR',
'kindJAR' : 'File Java JAR',
@@ -306,6 +405,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindAWK' : 'File AWK',
'kindCSV' : 'File CSV (Comma separated values)',
'kindDOCBOOK' : 'File Docbook XML',
+ 'kindMarkdown' : 'Testo markdown', // added 20.7.2015
// images
'kindImage' : 'Immagine',
'kindBMP' : 'Immagine BMP',
@@ -336,5 +436,5 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindVideoMKV' : 'Filmato Matroska',
'kindVideoOGG' : 'Filmato Ogg'
}
- }
-}
\ No newline at end of file
+ };
+}
diff --git a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.jp.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.jp.js
similarity index 55%
rename from elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.jp.js
rename to elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.jp.js
index 5cabfd9..5314b46 100644
--- a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.jp.js
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.jp.js
@@ -1,335 +1,462 @@
-/**
- * Japanese translation
- * @author Tomoaki Yoshida , Naoki Sawada
- * @version 2012-08-15
- */
-if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
- elFinder.prototype.i18.jp = {
- translator : 'Tomoaki Yoshida <info@yoshida-studio.jp>',
- language : 'Japanese',
- direction : 'ltr',
- dateFormat : 'Y/m/d h:i A', // 2012/04/11 05:27 PM
- fancyDateFormat : '$1 h:i A', // will produce smth like: 今日 12:25 PM
- messages : {
-
- /********************************** errors **********************************/
- 'error' : 'エラー',
- 'errUnknown' : '不明なエラーです',
- 'errUnknownCmd' : '不明なコマンドです',
- 'errJqui' : '無効なjQuery UI コンフィグレーションです。セレクタブルコンポーネント、ドラッガブルコンポーネント、ドロッパブルコンポーネントがあるかを確認して下さい',
- 'errNode' : 'elFinderはDOM Elementが必要です',
- 'errURL' : '無効なelFinder コンフィグレーションです! URLを設定してください',
- 'errAccess' : 'アクセスが拒否されました',
- 'errConnect' : 'バックエンドとの接続ができません',
- 'errAbort' : '接続が中断されました',
- 'errTimeout' : '接続がタイムアウトしました.',
- 'errNotFound' : 'バックエンドが見つかりません',
- 'errResponse' : '無効なバックエンドコンフィグレーションです',
- 'errConf' : '無効なバックエンドコンフィグレーションです',
- 'errJSON' : 'PHP JSON モジュールがインストールされていません',
- 'errNoVolumes' : '読み込み可能なボリュームが入手できません',
- 'errCmdParams' : 'コマンド "$1"のパラメーターが無効です',
- 'errDataNotJSON' : 'JSONデータではありません',
- 'errDataEmpty' : '空のデータです',
- 'errCmdReq' : 'バックエンドリクエストがコマンド名を要求しています',
- 'errOpen' : '"$1"を開くことができません',
- 'errNotFolder' : 'オブジェクトがフォルダーではありません',
- 'errNotFile' : 'オブジェクトがファイルではありません',
- 'errRead' : '"$1"を読むことができません',
- 'errWrite' : '"$1"に書きこむことができません',
- 'errPerm' : '権限がありません',
- 'errLocked' : '"$1" はロックされているので名前の変更、移動、削除ができません',
- 'errExists' : '"$1"というファイル名はすでに存在しています',
- 'errInvName' : '無効なファイル名です',
- 'errFolderNotFound' : 'フォルダーが見つかりません',
- 'errFileNotFound' : 'ファイルが見つかりません',
- 'errTrgFolderNotFound' : 'ターゲットとするフォルダー "$1" が見つかりません',
- 'errPopup' : 'ポップアップウィンドウが開けません。ファイルを開くにはブラウザの設定を変更してください',
- 'errMkdir' : '"$1"フォルダーを作成することができません',
- 'errMkfile' : '"$1"ファイルを作成することができません',
- 'errRename' : '"$1"の名前を変更することができません',
- 'errCopyFrom' : '"$1"からのファイルコピーが許可されていません',
- 'errCopyTo' : '"$1"へのファイルコピーが許可されていません',
- 'errUpload' : 'アップロードエラー', // old name - errUploadCommon
- 'errUploadFile' : '"$1"がアップロードできません', // old name - errUpload
- 'errUploadNoFiles' : 'アップロードされたファイルがありません',
- 'errUploadTotalSize' : 'データが許容サイズを超えています', // old name - errMaxSize
- 'errUploadFileSize' : 'ファイルが許容サイズを超えています', // old name - errFileMaxSize
- 'errUploadMime' : '許可されていないファイル形式です',
- 'errUploadTransfer' : '"$1" 転送エラーです',
- 'errNotReplace' : 'アイテム "$1" は、すでにこの場所にありますがアイテムのタイプが違うので置き換えることはできません', // new
- 'errReplace' : '"$1"を置き換えることができません',
- 'errSave' : '"$1"を保存することができません',
- 'errCopy' : '"$1"をコピーすることができません',
- 'errMove' : '"$1"を移動することができません',
- 'errCopyInItself' : '"$1"をそれ自身の中にコピーすることはできません',
- 'errRm' : '"$1"を削除することができません',
- 'errRmSrc' : 'Unable remove source file(s).',
- 'errExtract' : '"$1"を解凍することができません',
- 'errArchive' : 'アーカイブを作成することができません',
- 'errArcType' : 'サポート外のアーカイブ形式です',
- 'errNoArchive' : 'アーカイブでないかサポートされていないアーカイブ形式です',
- 'errCmdNoSupport' : 'サポートされていないコマンドです',
- 'errReplByChild' : 'フォルダ "$1" に含まれてるアイテムを置き換えることはできません',
- 'errArcSymlinks' : 'シンボリックリンクまたは許容されないファイル名を含むアーカイブはセキュリティ上、解凍できません', // edited 25.06.2012
- 'errArcMaxSize' : 'アーカイブが許容されたサイズを超えています',
- 'errResize' : '"$1"をリサイズできません',
- 'errUsupportType' : 'このファイルタイプはサポートされません',
- 'errNotUTF8Content' : 'ファイル "$1" には UTF-8 以外の文字が含まれているので編集できません', // added 9.11.2011
- 'errNetMount' : '"$1"をマウントできません', // added 17.04.2012
- 'errNetMountNoDriver' : 'サポートされていないプロトコルです', // added 17.04.2012
- 'errNetMountFailed' : 'マウントに失敗しました', // added 17.04.2012
- 'errNetMountHostReq' : 'ホスト名は必須です', // added 18.04.2012
- 'errSessionExpires' : 'アクションがなかったため、セッションが期限切れになりました',
- 'errCreatingTempDir' : '一時ディレクトリを作成できません:"$1"',
- 'errFtpDownloadFile' : 'FTP からファイルをダウンロードできません:"$1"',
- 'errFtpUploadFile' : 'FTP へファイルをアップロードできません:"$1"',
- 'errFtpMkdir' : 'FTP にリモートディレクトリを作成できません:"$1"',
- 'errArchiveExec' : 'ファイルのアーカイブ中にエラーが発生しました:"$1"',
- 'errExtractExec' : 'ファイルの抽出中にエラーが発生しました:"$1"',
-
- /******************************* commands names ********************************/
- 'cmdarchive' : 'アーカイブ作成',
- 'cmdback' : '戻る',
- 'cmdcopy' : 'コピー',
- 'cmdcut' : 'カット',
- 'cmddownload' : 'ダウンロード',
- 'cmdduplicate' : '複製',
- 'cmdedit' : 'ファイル編集',
- 'cmdextract' : 'アーカイブを解凍',
- 'cmdforward' : '進む',
- 'cmdgetfile' : 'ファイル選択',
- 'cmdhelp' : 'このソフトウェアについて',
- 'cmdhome' : 'ホーム',
- 'cmdinfo' : '情報',
- 'cmdmkdir' : '新規フォルダー',
- 'cmdmkfile' : '新規テキストファイル',
- 'cmdopen' : '開く',
- 'cmdpaste' : 'ペースト',
- 'cmdquicklook' : 'プレビュー',
- 'cmdreload' : 'リロード',
- 'cmdrename' : 'リネーム',
- 'cmdrm' : '削除',
- 'cmdsearch' : 'ファイルを探す',
- 'cmdup' : '親ディレクトリーへ移動',
- 'cmdupload' : 'ファイルアップロード',
- 'cmdview' : 'ビュー',
- 'cmdresize' : 'リサイズと回転',
- 'cmdsort' : 'ソート',
- 'cmdnetmount' : 'ネットワークボリュームをマウント', // added 18.04.2012
-
- /*********************************** buttons ***********************************/
- 'btnClose' : '閉じる',
- 'btnSave' : '保存',
- 'btnRm' : '削除',
- 'btnApply' : '適用',
- 'btnCancel' : 'キャンセル',
- 'btnNo' : 'いいえ',
- 'btnYes' : 'はい',
- 'btnMount' : 'マウント', // added 18.04.2012
- /******************************** notifications ********************************/
- 'ntfopen' : 'フォルダーを開く',
- 'ntffile' : 'ファイルを開く',
- 'ntfreload' : 'フォルダーを再読込',
- 'ntfmkdir' : 'ディレクトリーを作成',
- 'ntfmkfile' : 'ファイルを作成',
- 'ntfrm' : 'ファイルを削除',
- 'ntfcopy' : 'ファイルをコピー',
- 'ntfmove' : 'ファイルを移動',
- 'ntfprepare' : 'ファイルコピーを準備',
- 'ntfrename' : 'ファイル名を変更',
- 'ntfupload' : 'ファイルをアップロード',
- 'ntfdownload' : 'ファイルをダウンロード',
- 'ntfsave' : 'ファイルを保存',
- 'ntfarchive' : 'アーカイブ作成',
- 'ntfextract' : 'アーカイブを解凍',
- 'ntfsearch' : 'ファイル検索',
- 'ntfresize' : 'リサイズしています',
- 'ntfsmth' : '何かしています',
- 'ntfloadimg' : 'イメージを読み込んでいます',
- 'ntfnetmount' : 'ネットワークボリュームをマウントしています', // added 18.04.2012
-
- /************************************ dates **********************************/
- 'dateUnknown' : '不明',
- 'Today' : '今日',
- 'Yesterday' : '昨日',
- 'Jan' : '1月',
- 'Feb' : '2月',
- 'Mar' : '3月',
- 'Apr' : '4月',
- 'May' : '5月',
- 'Jun' : '6月',
- 'Jul' : '7月',
- 'Aug' : '8月',
- 'Sep' : '9月',
- 'Oct' : '10月',
- 'Nov' : '11月',
- 'Dec' : '12月',
-
- /******************************** sort variants ********************************/
- 'sortname' : '名前順',
- 'sortkind' : '種類順',
- 'sortsize' : 'サイズ順',
- 'sortdate' : '日付順',
- 'sortFoldersFirst' : 'フォルダ優先', // added 21.06.2012
-
- /********************************** messages **********************************/
- 'confirmReq' : '確認必須です',
- 'confirmRm' : '本当にファイルを削除しますか? この操作は取り消せません!',
- 'confirmRepl' : '古いファイルを新しいファイルで上書きしますか?',
- 'apllyAll' : '全てに適用します',
- 'name' : '名前',
- 'size' : 'サイズ',
- 'perms' : '権限',
- 'modify' : '更新',
- 'kind' : '種類',
- 'read' : '読み取り',
- 'write' : '書き込み',
- 'noaccess' : 'アクセス禁止',
- 'and' : ',',
- 'unknown' : '不明',
- 'selectall' : '全てのファイルを選択',
- 'selectfiles' : 'ファイル選択',
- 'selectffile' : '最初のファイルを選択',
- 'selectlfile' : '最後のファイルを選択',
- 'viewlist' : 'リスト形式で見る',
- 'viewicons' : 'アイコン形式で見る',
- 'places' : 'Places',
- 'calc' : '計算',
- 'path' : 'パス',
- 'aliasfor' : 'エイリアス',
- 'locked' : 'ロックされています',
- 'dim' : 'サイズ',
- 'files' : 'ファイル',
- 'folders' : 'フォルダー',
- 'items' : 'アイテム',
- 'yes' : 'はい',
- 'no' : 'いいえ',
- 'link' : 'リンク',
- 'searcresult' : '検索結果',
- 'selected' : '選択されたアイテム',
- 'about' : 'アバウト',
- 'shortcuts' : 'ショートカット',
- 'help' : 'ヘルプ',
- 'webfm' : 'ウェブファイルマネージャー',
- 'ver' : 'バージョン',
- 'protocolver' : 'プロトコルバージョン',
- 'homepage' : 'プロジェクトホーム',
- 'docs' : 'ドキュメンテーション',
- 'github' : 'Github でフォーク',
- 'twitter' : 'Twitter でフォロー',
- 'facebook' : 'Facebookグループ に参加',
- 'team' : 'チーム',
- 'chiefdev' : 'チーフデベロッパー',
- 'developer' : 'デベロッパー',
- 'contributor' : 'コントリビュータ',
- 'maintainer' : 'メインテナー',
- 'translator' : '翻訳者',
- 'icons' : 'アイコン',
- 'dontforget' : 'タオル忘れちゃだめよー。',
- 'shortcutsof' : 'ショートカットは利用できません',
- 'dropFiles' : 'ここにファイルをドロップ',
- 'dropFilesBrowser': 'ブラウザからファイルをドロップまたは貼り付け', // added 30.05.2012
- 'or' : 'または',
- 'selectForUpload' : 'アップロードするファイルを選択',
- 'moveFiles' : 'ファイルを移動',
- 'copyFiles' : 'ファイルをコピー',
- 'rmFromPlaces' : 'ここから削除',
- 'aspectRatio' : '縦横比維持',
- 'scale' : '表示縮尺',
- 'width' : '幅',
- 'height' : '高さ',
- 'resize' : 'リサイズ',
- 'crop' : '切り抜き',
- 'rotate' : '回転',
- 'rotate-cw' : '90度左回転',
- 'rotate-ccw' : '90度右回転',
- 'degree' : '度',
- 'netMountDialogTitle' : 'ネットワークボリュームのマウント', // added 18.04.2012
- 'protocol' : 'プロトコル', // added 18.04.2012
- 'host' : 'ホスト名', // added 18.04.2012
- 'port' : 'ポート', // added 18.04.2012
- 'user' : 'ユーザー名', // added 18.04.2012
- 'pass' : 'パスワード', // added 18.04.2012
-
- /********************************** mimetypes **********************************/
- 'kindUnknown' : '不明',
- 'kindFolder' : 'フォルダー',
- 'kindAlias' : '別名',
- 'kindAliasBroken' : '宛先不明の別名',
- // applications
- 'kindApp' : 'アプリケーション',
- 'kindPostscript' : 'Postscript ドキュメント',
- 'kindMsOffice' : 'Microsoft Office ドキュメント',
- 'kindMsWord' : 'Microsoft Word ドキュメント',
- 'kindMsExcel' : 'Microsoft Excel ドキュメント',
- 'kindMsPP' : 'Microsoft Powerpoint プレゼンテーション',
- 'kindOO' : 'Open Office ドキュメント',
- 'kindAppFlash' : 'Flash アプリケーション',
- 'kindPDF' : 'PDF',
- 'kindTorrent' : 'Bittorrent ファイル',
- 'kind7z' : '7z アーカイブ',
- 'kindTAR' : 'TAR アーカイブ',
- 'kindGZIP' : 'GZIP アーカイブ',
- 'kindBZIP' : 'BZIP アーカイブ',
- 'kindZIP' : 'ZIP アーカイブ',
- 'kindRAR' : 'RAR アーカイブ',
- 'kindJAR' : 'Java JAR ファイル',
- 'kindTTF' : 'True Type フォント',
- 'kindOTF' : 'Open Type フォント',
- 'kindRPM' : 'RPM パッケージ',
- // texts
- 'kindText' : 'Text ドキュメント',
- 'kindTextPlain' : 'プレインテキスト',
- 'kindPHP' : 'PHP ソース',
- 'kindCSS' : 'Cascading style sheet',
- 'kindHTML' : 'HTML ドキュメント',
- 'kindJS' : 'Javascript ソース',
- 'kindRTF' : 'Rich Text フォーマット',
- 'kindC' : 'C ソース',
- 'kindCHeader' : 'C ヘッダーソース',
- 'kindCPP' : 'C++ ソース',
- 'kindCPPHeader' : 'C++ ヘッダーソース',
- 'kindShell' : 'Unix shell スクリプト',
- 'kindPython' : 'Python ソース',
- 'kindJava' : 'Java ソース',
- 'kindRuby' : 'Ruby ソース',
- 'kindPerl' : 'Perl スクリプト',
- 'kindSQL' : 'SQL ソース',
- 'kindXML' : 'XML ドキュメント',
- 'kindAWK' : 'AWK ソース',
- 'kindCSV' : 'CSV',
- 'kindDOCBOOK' : 'Docbook XML ドキュメント',
- // images
- 'kindImage' : 'イメージ',
- 'kindBMP' : 'BMP イメージ',
- 'kindJPEG' : 'JPEG イメージ',
- 'kindGIF' : 'GIF イメージ',
- 'kindPNG' : 'PNG イメージ',
- 'kindTIFF' : 'TIFF イメージ',
- 'kindTGA' : 'TGA イメージ',
- 'kindPSD' : 'Adobe Photoshop イメージ',
- 'kindXBITMAP' : 'X bitmap イメージ',
- 'kindPXM' : 'Pixelmator イメージ',
- // media
- 'kindAudio' : 'オーディオメディア',
- 'kindAudioMPEG' : 'MPEG オーディオ',
- 'kindAudioMPEG4' : 'MPEG-4 オーディオ',
- 'kindAudioMIDI' : 'MIDI オーディオ',
- 'kindAudioOGG' : 'Ogg Vorbis オーディオ',
- 'kindAudioWAV' : 'WAV オーディオ',
- 'AudioPlaylist' : 'MP3 プレイリスト',
- 'kindVideo' : 'ビデオメディア',
- 'kindVideoDV' : 'DV ムービー',
- 'kindVideoMPEG' : 'MPEG ムービー',
- 'kindVideoMPEG4' : 'MPEG-4 ムービー',
- 'kindVideoAVI' : 'AVI ムービー',
- 'kindVideoMOV' : 'Quick Time ムービー',
- 'kindVideoWM' : 'Windows Media ムービー',
- 'kindVideoFlash' : 'Flash ムービー',
- 'kindVideoMKV' : 'Matroska ムービー',
- 'kindVideoOGG' : 'Ogg ムービー'
- }
- };
-}
-
+/**
+ * Japanese translation
+ * @author Tomoaki Yoshida
+ * @author Naoki Sawada
+ * @version 2016-11-13
+ */
+if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
+ elFinder.prototype.i18.jp = {
+ translator : 'Tomoaki Yoshida <info@yoshida-studio.jp>, Naoki Sawada <hypweb@gmail.com>',
+ language : 'Japanese',
+ direction : 'ltr',
+ dateFormat : 'Y/m/d h:i A', // Mar 13, 2012 05:27 PM
+ fancyDateFormat : '$1 h:i A', // will produce smth like: Today 12:25 PM
+ messages : {
+
+ /********************************** errors **********************************/
+ 'error' : 'エラー',
+ 'errUnknown' : '不明なエラーです',
+ 'errUnknownCmd' : '不明なコマンドです',
+ 'errJqui' : '無効なjQuery UI コンフィグレーションです。セレクタブルコンポーネント、ドラッガブルコンポーネント、ドロッパブルコンポーネントがあるかを確認して下さい',
+ 'errNode' : 'elFinderはDOM Elementが必要です',
+ 'errURL' : '無効なelFinder コンフィグレーションです! URLを設定してください',
+ 'errAccess' : 'アクセスが拒否されました',
+ 'errConnect' : 'バックエンドとの接続ができません',
+ 'errAbort' : '接続が中断されました',
+ 'errTimeout' : '接続がタイムアウトしました.',
+ 'errNotFound' : 'バックエンドが見つかりません',
+ 'errResponse' : '無効なバックエンドレスポンスです',
+ 'errConf' : 'バックエンドの設定が有効ではありません',
+ 'errJSON' : 'PHP JSON モジュールがインストールされていません',
+ 'errNoVolumes' : '読み込み可能なボリュームが入手できません',
+ 'errCmdParams' : 'コマンド "$1"のパラメーターが無効です',
+ 'errDataNotJSON' : 'JSONデータではありません',
+ 'errDataEmpty' : '空のデータです',
+ 'errCmdReq' : 'バックエンドリクエストがコマンド名を要求しています',
+ 'errOpen' : '"$1"を開くことができません',
+ 'errNotFolder' : 'オブジェクトがフォルダーではありません',
+ 'errNotFile' : 'オブジェクトがファイルではありません',
+ 'errRead' : '"$1"を読むことができません',
+ 'errWrite' : '"$1"に書きこむことができません',
+ 'errPerm' : '権限がありません',
+ 'errLocked' : '"$1" はロックされているので名前の変更、移動、削除ができません',
+ 'errExists' : '"$1"というファイル名はすでに存在しています',
+ 'errInvName' : '無効なファイル名です',
+ 'errFolderNotFound' : 'フォルダーが見つかりません',
+ 'errFileNotFound' : 'ファイルが見つかりません',
+ 'errTrgFolderNotFound' : 'ターゲットとするフォルダー "$1" が見つかりません',
+ 'errPopup' : 'ポップアップウィンドウが開けません。ファイルを開くにはブラウザの設定を変更してください',
+ 'errMkdir' : '"$1"フォルダーを作成することができません',
+ 'errMkfile' : '"$1"ファイルを作成することができません',
+ 'errRename' : '"$1"の名前を変更することができません',
+ 'errCopyFrom' : '"$1"からのファイルコピーが許可されていません',
+ 'errCopyTo' : '"$1"へのファイルコピーが許可されていません',
+ 'errMkOutLink' : 'ボリュームルート外へのリンクを作成することはできません', // from v2.1 added 03.10.2015
+ 'errUpload' : 'アップロードエラー', // old name - errUploadCommon
+ 'errUploadFile' : '"$1"がアップロードできません', // old name - errUpload
+ 'errUploadNoFiles' : 'アップロードされたファイルはありません',
+ 'errUploadTotalSize' : 'データが許容サイズを超えています', // old name - errMaxSize
+ 'errUploadFileSize' : 'ファイルが許容サイズを超えています', // old name - errFileMaxSize
+ 'errUploadMime' : '許可されていないファイル形式です',
+ 'errUploadTransfer' : '"$1" 転送エラーです',
+ 'errUploadTemp' : 'アップロード用一時ファイルが作成できません', // from v2.1 added 26.09.2015
+ 'errNotReplace' : 'アイテム "$1" は、すでにこの場所にありますがアイテムのタイプが違うので置き換えることはできません', // new
+ 'errReplace' : '"$1"を置き換えることができません',
+ 'errSave' : '"$1"を保存することができません',
+ 'errCopy' : '"$1"をコピーすることができません',
+ 'errMove' : '"$1"を移動することができません',
+ 'errCopyInItself' : '"$1"をそれ自身の中にコピーすることはできません',
+ 'errRm' : '"$1"を削除することができません',
+ 'errRmSrc' : '元ファイルを削除することができません',
+ 'errExtract' : '"$1"を解凍することができません',
+ 'errArchive' : 'アーカイブを作成することができません',
+ 'errArcType' : 'サポート外のアーカイブ形式です',
+ 'errNoArchive' : 'アーカイブでないかサポートされていないアーカイブ形式です',
+ 'errCmdNoSupport' : 'サポートされていないコマンドです',
+ 'errReplByChild' : 'フォルダ "$1" に含まれてるアイテムを置き換えることはできません',
+ 'errArcSymlinks' : 'シンボリックリンクまたは許容されないファイル名を含むアーカイブはセキュリティ上、解凍できません', // edited 24.06.2012
+ 'errArcMaxSize' : 'アーカイブが許容されたサイズを超えています',
+ 'errResize' : '"$1"をリサイズできません',
+ 'errResizeDegree' : 'イメージの回転角度が不正です', // added 7.3.2013
+ 'errResizeRotate' : 'イメージを回転できません', // added 7.3.2013
+ 'errResizeSize' : '指定されたイメージサイズが不正です', // added 7.3.2013
+ 'errResizeNoChange' : 'イメージサイズなどの変更点がありません', // added 7.3.2013
+ 'errUsupportType' : 'このファイルタイプはサポートされません',
+ 'errNotUTF8Content' : 'ファイル "$1" には UTF-8 以外の文字が含まれているので編集できません', // added 9.11.2011
+ 'errNetMount' : '"$1"をマウントできません', // added 17.04.2012
+ 'errNetMountNoDriver' : 'サポートされていないプロトコルです', // added 17.04.2012
+ 'errNetMountFailed' : 'マウントに失敗しました', // added 17.04.2012
+ 'errNetMountHostReq' : 'ホスト名は必須です', // added 18.04.2012
+ 'errSessionExpires' : 'アクションがなかったため、セッションが期限切れになりました',
+ 'errCreatingTempDir' : '一時ディレクトリを作成できません:"$1"',
+ 'errFtpDownloadFile' : 'FTP からファイルをダウンロードできません:"$1"',
+ 'errFtpUploadFile' : 'FTP へファイルをアップロードできません:"$1"',
+ 'errFtpMkdir' : 'FTP にリモートディレクトリを作成できません:"$1"',
+ 'errArchiveExec' : 'ファイルのアーカイブ中にエラーが発生しました:"$1"',
+ 'errExtractExec' : 'ファイルの抽出中にエラーが発生しました:"$1"',
+ 'errNetUnMount' : 'アンマウントできません', // from v2.1 added 30.04.2012
+ 'errConvUTF8' : 'UTF-8 に変換できませんでした', // from v2.1 added 08.04.2014
+ 'errFolderUpload' : 'フォルダをアップロードしたいのであれば、Google Chrome を使用してください', // from v2.1 added 26.6.2015
+ 'errSearchTimeout' : '"$1"を検索中にタイムアウトしました。検索結果は部分的です。', // from v2.1 added 12.1.2016
+ 'errReauthRequire' : '再認可が必要です', // from v2.1.10 added 24.3.2016
+ 'errMaxTargets' : '選択可能な最大アイテム数は $1 個です', // from v2.1.17 added 17.10.2016
+
+ /******************************* commands names ********************************/
+ 'cmdarchive' : 'アーカイブ作成',
+ 'cmdback' : '戻る',
+ 'cmdcopy' : 'コピー',
+ 'cmdcut' : 'カット',
+ 'cmddownload' : 'ダウンロード',
+ 'cmdduplicate' : '複製',
+ 'cmdedit' : 'ファイル編集',
+ 'cmdextract' : 'アーカイブを解凍',
+ 'cmdforward' : '進む',
+ 'cmdgetfile' : 'ファイル選択',
+ 'cmdhelp' : 'このソフトウェアについて',
+ 'cmdhome' : 'ホーム',
+ 'cmdinfo' : '情報',
+ 'cmdmkdir' : '新規フォルダー',
+ 'cmdmkdirin' : '新規フォルダーへ', // from v2.1.7 added 19.2.2016
+ 'cmdmkfile' : '新規テキストファイル',
+ 'cmdopen' : '開く',
+ 'cmdpaste' : 'ペースト',
+ 'cmdquicklook' : 'プレビュー',
+ 'cmdreload' : 'リロード',
+ 'cmdrename' : 'リネーム',
+ 'cmdrm' : '削除',
+ 'cmdsearch' : 'ファイルを探す',
+ 'cmdup' : '親ディレクトリーへ移動',
+ 'cmdupload' : 'ファイルアップロード',
+ 'cmdview' : 'ビュー',
+ 'cmdresize' : 'リサイズと回転',
+ 'cmdsort' : 'ソート',
+ 'cmdnetmount' : 'ネットワークボリュームをマウント', // added 18.04.2012
+ 'cmdnetunmount': 'アンマウント', // from v2.1 added 30.04.2012
+ 'cmdplaces' : 'お気に入りへ', // added 28.12.2014
+ 'cmdchmod' : '属性変更', // from v2.1 added 20.6.2015
+ 'cmdopendir' : 'フォルダを開く', // from v2.1 added 13.1.2016
+ 'cmdcolwidth' : '列幅リセット', // from v2.1.13 added 12.06.2016
+ 'cmdfullscreen': 'フルスクリーン', // from v2.1.15 added 03.08.2016
+ 'cmdmove' : '移動', // from v2.1.15 added 21.08.2016
+
+ /*********************************** buttons ***********************************/
+ 'btnClose' : '閉じる',
+ 'btnSave' : '保存',
+ 'btnRm' : '削除',
+ 'btnApply' : '適用',
+ 'btnCancel' : 'キャンセル',
+ 'btnNo' : 'いいえ',
+ 'btnYes' : 'はい',
+ 'btnMount' : 'マウント', // added 18.04.2012
+ 'btnApprove': '$1へ行き認可する', // from v2.1 added 26.04.2012
+ 'btnUnmount': 'アンマウント', // from v2.1 added 30.04.2012
+ 'btnConv' : '変換', // from v2.1 added 08.04.2014
+ 'btnCwd' : 'この場所', // from v2.1 added 22.5.2015
+ 'btnVolume' : 'ボリューム', // from v2.1 added 22.5.2015
+ 'btnAll' : '全て', // from v2.1 added 22.5.2015
+ 'btnMime' : 'MIMEタイプ', // from v2.1 added 22.5.2015
+ 'btnFileName':'ファイル名', // from v2.1 added 22.5.2015
+ 'btnSaveClose': '保存して閉じる', // from v2.1 added 12.6.2015
+ 'btnBackup' : 'バックアップ', // fromv2.1 added 28.11.2015
+
+ /******************************** notifications ********************************/
+ 'ntfopen' : 'フォルダーを開いています',
+ 'ntffile' : 'ファイルを開いています',
+ 'ntfreload' : 'フォルダーを再読込しています',
+ 'ntfmkdir' : 'ディレクトリーを作成しています',
+ 'ntfmkfile' : 'ファイルを作成しています',
+ 'ntfrm' : 'ファイルを削除しています',
+ 'ntfcopy' : 'ファイルをコピーしています',
+ 'ntfmove' : 'ファイルを移動しています',
+ 'ntfprepare' : 'ファイルコピーを準備しています',
+ 'ntfrename' : 'ファイル名を変更しています',
+ 'ntfupload' : 'ファイルをアップロードしています',
+ 'ntfdownload' : 'ファイルをダウンロードしています',
+ 'ntfsave' : 'ファイルを保存しています',
+ 'ntfarchive' : 'アーカイブ作成しています',
+ 'ntfextract' : 'アーカイブを解凍しています',
+ 'ntfsearch' : 'ファイル検索中',
+ 'ntfresize' : 'リサイズしています',
+ 'ntfsmth' : '処理をしています',
+ 'ntfloadimg' : 'イメージを読み込んでいます',
+ 'ntfnetmount' : 'ネットボリュームをマウント中', // added 18.04.2012
+ 'ntfnetunmount': 'ネットボリュームをアンマウント中', // from v2.1 added 30.04.2012
+ 'ntfdim' : '画像サイズを取得しています', // added 20.05.2013
+ 'ntfreaddir' : 'ホルダ情報を読み取っています', // from v2.1 added 01.07.2013
+ 'ntfurl' : 'リンクURLを取得しています', // from v2.1 added 11.03.2014
+ 'ntfchmod' : 'ファイル属性を変更しています', // from v2.1 added 20.6.2015
+ 'ntfpreupload': 'アップロードファイル名を検証中', // from v2.1 added 31.11.2015
+ 'ntfzipdl' : 'ダウンロード用ファイルを作成中', // from v2.1.7 added 23.1.2016
+ 'ntfparents' : 'パス情報を取得しています', // from v2.1.17 added 2.11.2016
+ 'ntfchunkmerge': 'アップロード済みファイルを処理中', // from v2.1.17 added 2.11.2016
+
+ /************************************ dates **********************************/
+ 'dateUnknown' : '不明',
+ 'Today' : '今日',
+ 'Yesterday' : '昨日',
+ 'msJan' : '1月',
+ 'msFeb' : '2月',
+ 'msMar' : '3月',
+ 'msApr' : '4月',
+ 'msMay' : '5月',
+ 'msJun' : '6月',
+ 'msJul' : '7月',
+ 'msAug' : '8月',
+ 'msSep' : '9月',
+ 'msOct' : '10月',
+ 'msNov' : '11月',
+ 'msDec' : '12月',
+ 'January' : '1月',
+ 'February' : '2月',
+ 'March' : '3月',
+ 'April' : '4月',
+ 'May' : '5月',
+ 'June' : '6月',
+ 'July' : '7月',
+ 'August' : '8月',
+ 'September' : '9月',
+ 'October' : '10月',
+ 'November' : '11月',
+ 'December' : '12月',
+ 'Sunday' : '日曜日',
+ 'Monday' : '月曜日',
+ 'Tuesday' : '火曜日',
+ 'Wednesday' : '水曜日',
+ 'Thursday' : '木曜日',
+ 'Friday' : '金曜日',
+ 'Saturday' : '土曜日',
+ 'Sun' : '(日)',
+ 'Mon' : '(月)',
+ 'Tue' : '(火)',
+ 'Wed' : '(水)',
+ 'Thu' : '(木)',
+ 'Fri' : '(金)',
+ 'Sat' : '(土)',
+
+ /******************************** sort variants ********************************/
+ 'sortname' : '名前順',
+ 'sortkind' : '種類順',
+ 'sortsize' : 'サイズ順',
+ 'sortdate' : '日付順',
+ 'sortFoldersFirst' : 'フォルダ優先',
+ 'sortperm' : '権限順', // from v2.1.13 added 13.06.2016
+ 'sortmode' : '属性順', // from v2.1.13 added 13.06.2016
+ 'sortowner' : 'オーナー順', // from v2.1.13 added 13.06.2016
+ 'sortgroup' : 'グループ順', // from v2.1.13 added 13.06.2016
+ 'sortAlsoTreeview' : 'ツリービューも', // from v2.1.15 added 01.08.2016
+
+ /********************************** new items **********************************/
+ 'untitled file.txt' : '新規ファイル.txt', // added 10.11.2015
+ 'untitled folder' : '新規フォルダ', // added 10.11.2015
+ 'Archive' : '新規アーカイブ', // from v2.1 added 10.11.2015
+
+ /********************************** messages **********************************/
+ 'confirmReq' : '処理を実行しますか?',
+ 'confirmRm' : '本当にファイルを削除しますか? この操作は取り消せません!',
+ 'confirmRepl' : '古いファイルを新しいファイルで上書きしますか?',
+ 'confirmConvUTF8' : 'UTF-8 以外の文字が含まれています。 UTF-8 に変換しますか? 変換後の保存でコンテンツは UTF-8 になります。', // from v2.1 added 08.04.2014
+ 'confirmNotSave' : '変更されています。 保存せずに閉じると編集内容が失われます。', // from v2.1 added 15.7.2015
+ 'apllyAll' : '全てに適用します',
+ 'name' : '名前',
+ 'size' : 'サイズ',
+ 'perms' : '権限',
+ 'modify' : '更新',
+ 'kind' : '種類',
+ 'read' : '読み取り',
+ 'write' : '書き込み',
+ 'noaccess' : 'アクセス禁止',
+ 'and' : ',',
+ 'unknown' : '不明',
+ 'selectall' : '全てのファイルを選択',
+ 'selectfiles' : 'ファイル選択',
+ 'selectffile' : '最初のファイルを選択',
+ 'selectlfile' : '最後のファイルを選択',
+ 'viewlist' : 'リスト形式で表示',
+ 'viewicons' : 'アイコン形式で表示',
+ 'places' : 'お気に入り',
+ 'calc' : '計算中',
+ 'path' : 'パス',
+ 'aliasfor' : 'エイリアス',
+ 'locked' : 'ロック',
+ 'dim' : 'サイズ',
+ 'files' : 'ファイル',
+ 'folders' : 'フォルダー',
+ 'items' : 'アイテム',
+ 'yes' : 'はい',
+ 'no' : 'いいえ',
+ 'link' : 'リンク',
+ 'searcresult' : '検索結果',
+ 'selected' : '選択されたアイテム',
+ 'about' : 'アバウト',
+ 'shortcuts' : 'ショートカット',
+ 'help' : 'ヘルプ',
+ 'webfm' : 'ウェブファイルマネージャー',
+ 'ver' : 'バージョン',
+ 'protocolver' : 'プロトコルバージョン',
+ 'homepage' : 'プロジェクトホーム',
+ 'docs' : 'ドキュメンテーション',
+ 'github' : 'Github でフォーク',
+ 'twitter' : 'Twitter でフォロー',
+ 'facebook' : 'Facebookグループ に参加',
+ 'team' : 'チーム',
+ 'chiefdev' : 'チーフデベロッパー',
+ 'developer' : 'デベロッパー',
+ 'contributor' : 'コントリビュータ',
+ 'maintainer' : 'メインテナー',
+ 'translator' : '翻訳者',
+ 'icons' : 'アイコン',
+ 'dontforget' : 'タオル忘れちゃだめよ~',
+ 'shortcutsof' : 'ショートカットは利用できません',
+ 'dropFiles' : 'ここにファイルをドロップ',
+ 'or' : 'または',
+ 'selectForUpload' : 'アップロードするファイルを選択',
+ 'moveFiles' : 'ファイルを移動',
+ 'copyFiles' : 'ファイルをコピー',
+ 'rmFromPlaces' : 'ここから削除',
+ 'aspectRatio' : '縦横比維持',
+ 'scale' : '表示縮尺',
+ 'width' : '幅',
+ 'height' : '高さ',
+ 'resize' : 'リサイズ',
+ 'crop' : '切り抜き',
+ 'rotate' : '回転',
+ 'rotate-cw' : '90度左回転',
+ 'rotate-ccw' : '90度右回転',
+ 'degree' : '度',
+ 'netMountDialogTitle' : 'ネットワークボリュームのマウント', // added 18.04.2012
+ 'protocol' : 'プロトコル', // added 18.04.2012
+ 'host' : 'ホスト名', // added 18.04.2012
+ 'port' : 'ポート', // added 18.04.2012
+ 'user' : 'ユーザー名', // added 18.04.2012
+ 'pass' : 'パスワード', // added 18.04.2012
+ 'confirmUnmount' : '$1をアンマウントしますか?', // from v2.1 added 30.04.2012
+ 'dropFilesBrowser': 'ブラウザからファイルをドロップまたは貼り付け', // from v2.1 added 30.05.2012
+ 'dropPasteFiles' : 'ここにファイルをドロップ または URLリスト, 画像(クリップボード) を貼り付け', // from v2.1 added 07.04.2014
+ 'encoding' : '文字コード', // from v2.1 added 19.12.2014
+ 'locale' : 'ロケール', // from v2.1 added 19.12.2014
+ 'searchTarget' : '検索範囲: $1', // from v2.1 added 22.5.2015
+ 'searchMime' : '指定した MIME タイプで検索', // from v2.1 added 22.5.2015
+ 'owner' : 'オーナー', // from v2.1 added 20.6.2015
+ 'group' : 'グループ', // from v2.1 added 20.6.2015
+ 'other' : 'その他', // from v2.1 added 20.6.2015
+ 'execute' : '実行', // from v2.1 added 20.6.2015
+ 'perm' : 'パーミッション', // from v2.1 added 20.6.2015
+ 'mode' : '属性', // from v2.1 added 20.6.2015
+ 'emptyFolder' : '空のフォルダ', // from v2.1.6 added 30.12.2015
+ 'emptyFolderDrop' : '空のフォルダ\\Aアイテムを追加するにはここへドロップ', // from v2.1.6 added 30.12.2015
+ 'emptyFolderLTap' : '空のフォルダ\\Aアイテムを追加するにはここをロングタップ', // from v2.1.6 added 30.12.2015
+ 'quality' : '品質', // from v2.1.6 added 5.1.2016
+ 'autoSync' : '自動更新', // from v2.1.6 added 10.1.2016
+ 'moveUp' : '上へ移動', // from v2.1.6 added 18.1.2016
+ 'getLink' : 'リンクURLを取得', // from v2.1.7 added 9.2.2016
+ 'selectedItems' : '選択アイテム ($1)', // from v2.1.7 added 2.19.2016
+ 'folderId' : 'フォルダID', // from v2.1.10 added 3.25.2016
+ 'offlineAccess' : 'オフライン アクセスを可能にする', // from v2.1.10 added 3.25.2016
+ 'reAuth' : '再認証する', // from v2.1.10 added 3.25.2016
+ 'nowLoading' : '読み込んでいます...', // from v2.1.12 added 4.26.2016
+ 'openMulti' : '複数ファイルオープン', // from v2.1.12 added 5.14.2016
+ 'openMultiConfirm': '$1 個のファイルを開こうとしています。このままブラウザで開きますか?', // from v2.1.12 added 5.14.2016
+ 'emptySearch' : '検索対象に該当するアイテムはありません。', // from v2.1.12 added 5.16.2016
+ 'editingFile' : 'ファイルを編集中です', // from v2.1.13 added 6.3.2016
+ 'hasSelected' : '$1 個のアイテムを選択中です', // from v2.1.13 added 6.3.2016
+ 'hasClipboard' : '$1 個のアイテムがクリップボードに入っています', // from v2.1.13 added 6.3.2016
+ 'incSearchOnly' : '逐次検索対象は現在のビューのみです', // from v2.1.13 added 6.30.2016
+ 'reinstate' : '元に戻す', // from v2.1.15 added 3.8.2016
+ 'complete' : '$1 完了', // from v2.1.15 added 21.8.2016
+ 'contextmenu' : 'コンテキストメニュー', // from v2.1.15 added 9.9.2016
+ 'pageTurning' : 'ページめくり', // from v2.1.15 added 10.9.2016
+ 'volumeRoots' : 'ボリュームルート', // from v2.1.16 added 16.9.2016
+ 'reset' : 'リセット', // from v2.1.16 added 1.10.2016
+ 'bgcolor' : '背景色', // from v2.1.16 added 1.10.2016
+ 'colorPicker' : 'カラーピッカー', // from v2.1.16 added 1.10.2016
+ '8pxgrid' : '8pxグリッド', // from v2.1.16 added 4.10.2016
+ 'enabled' : '有効', // from v2.1.16 added 4.10.2016
+ 'disabled' : '無効', // from v2.1.16 added 4.10.2016
+ 'emptyIncSearch' : '現在のビュー内に該当するアイテムはありません。\\A[Enter]キーで検索対象を拡げます。', // from v2.1.16 added 5.10.2016
+ 'textLabel' : 'テキストラベル', // from v2.1.17 added 13.10.2016
+ 'minsLeft' : '残り$1分', // from v2.1.17 added 13.11.2016
+
+ /********************************** mimetypes **********************************/
+ 'kindUnknown' : '不明',
+ 'kindRoot' : 'ボリュームルート', // from v2.1.16 added 16.10.2016
+ 'kindFolder' : 'フォルダー',
+ 'kindAlias' : '別名',
+ 'kindAliasBroken' : '宛先不明の別名',
+ // applications
+ 'kindApp' : 'アプリケーション',
+ 'kindPostscript' : 'Postscript ドキュメント',
+ 'kindMsOffice' : 'Microsoft Office ドキュメント',
+ 'kindMsWord' : 'Microsoft Word ドキュメント',
+ 'kindMsExcel' : 'Microsoft Excel ドキュメント',
+ 'kindMsPP' : 'Microsoft Powerpoint プレゼンテーション',
+ 'kindOO' : 'Open Office ドキュメント',
+ 'kindAppFlash' : 'Flash アプリケーション',
+ 'kindPDF' : 'PDF',
+ 'kindTorrent' : 'Bittorrent ファイル',
+ 'kind7z' : '7z アーカイブ',
+ 'kindTAR' : 'TAR アーカイブ',
+ 'kindGZIP' : 'GZIP アーカイブ',
+ 'kindBZIP' : 'BZIP アーカイブ',
+ 'kindXZ' : 'XZ アーカイブ',
+ 'kindZIP' : 'ZIP アーカイブ',
+ 'kindRAR' : 'RAR アーカイブ',
+ 'kindJAR' : 'Java JAR ファイル',
+ 'kindTTF' : 'True Type フォント',
+ 'kindOTF' : 'Open Type フォント',
+ 'kindRPM' : 'RPM パッケージ',
+ // texts
+ 'kindText' : 'Text ドキュメント',
+ 'kindTextPlain' : 'プレインテキスト',
+ 'kindPHP' : 'PHP ソース',
+ 'kindCSS' : 'スタイルシート',
+ 'kindHTML' : 'HTML ドキュメント',
+ 'kindJS' : 'Javascript ソース',
+ 'kindRTF' : 'Rich Text フォーマット',
+ 'kindC' : 'C ソース',
+ 'kindCHeader' : 'C ヘッダーソース',
+ 'kindCPP' : 'C++ ソース',
+ 'kindCPPHeader' : 'C++ ヘッダーソース',
+ 'kindShell' : 'Unix shell スクリプト',
+ 'kindPython' : 'Python ソース',
+ 'kindJava' : 'Java ソース',
+ 'kindRuby' : 'Ruby ソース',
+ 'kindPerl' : 'Perl スクリプト',
+ 'kindSQL' : 'SQL ソース',
+ 'kindXML' : 'XML ドキュメント',
+ 'kindAWK' : 'AWK ソース',
+ 'kindCSV' : 'CSV',
+ 'kindDOCBOOK' : 'Docbook XML ドキュメント',
+ 'kindMarkdown' : 'Markdown テキスト', // added 20.7.2015
+ // images
+ 'kindImage' : 'イメージ',
+ 'kindBMP' : 'BMP イメージ',
+ 'kindJPEG' : 'JPEG イメージ',
+ 'kindGIF' : 'GIF イメージ',
+ 'kindPNG' : 'PNG イメージ',
+ 'kindTIFF' : 'TIFF イメージ',
+ 'kindTGA' : 'TGA イメージ',
+ 'kindPSD' : 'Adobe Photoshop イメージ',
+ 'kindXBITMAP' : 'X bitmap イメージ',
+ 'kindPXM' : 'Pixelmator イメージ',
+ // media
+ 'kindAudio' : 'オーディオメディア',
+ 'kindAudioMPEG' : 'MPEG オーディオ',
+ 'kindAudioMPEG4' : 'MPEG-4 オーディオ',
+ 'kindAudioMIDI' : 'MIDI オーディオ',
+ 'kindAudioOGG' : 'Ogg Vorbis オーディオ',
+ 'kindAudioWAV' : 'WAV オーディオ',
+ 'AudioPlaylist' : 'MP3 プレイリスト',
+ 'kindVideo' : 'ビデオメディア',
+ 'kindVideoDV' : 'DV ムービー',
+ 'kindVideoMPEG' : 'MPEG ムービー',
+ 'kindVideoMPEG4' : 'MPEG-4 ムービー',
+ 'kindVideoAVI' : 'AVI ムービー',
+ 'kindVideoMOV' : 'Quick Time ムービー',
+ 'kindVideoWM' : 'Windows Media ムービー',
+ 'kindVideoFlash' : 'Flash ムービー',
+ 'kindVideoMKV' : 'Matroska ムービー',
+ 'kindVideoOGG' : 'Ogg ムービー'
+ }
+ };
+}
+
diff --git a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.ko.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.ko.js
similarity index 83%
rename from elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.ko.js
rename to elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.ko.js
index 07cc128..1319ef7 100644
--- a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.ko.js
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.ko.js
@@ -1,7 +1,7 @@
/**
* Korean translation
* @author Hwang Ahreum 황아름
- * @version 2012-06-27
+ * @version 2014-12-19
*/
if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
elFinder.prototype.i18.ko = {
@@ -50,18 +50,21 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'errRename' : ' "$1" 이름을 변경할 수 없습니다',
'errCopyFrom' : '볼률 "$1" 로부터 파일을 복사할 수 없습니다',
'errCopyTo' : '볼률 "$1" 에 파일을 복사할 수 없습니다',
- 'errUploadCommon' : '업로드 에러',
- 'errUpload' : ' "$1" 업로드할 수 없습니다',
+ 'errUpload' : '업로드 에러',
+ 'errUploadFile' : ' "$1" 업로드할 수 없습니다',
'errUploadNoFiles' : '업로드할 파일이 없습니다',
- 'errMaxSize' : '데이터가 허용된 최대크기를 초과하였습니다',
- 'errFileMaxSize' : '파일이 허용된 최대크기를 초과하였습니다',
+ 'errUploadTotalSize' : '데이터가 허용된 최대크기를 초과하였습니다',
+ 'errUploadFileSize' : '파일이 허용된 최대크기를 초과하였습니다',
'errUploadMime' : '잘못된 파일형식입니다',
- 'errUploadTransfer' : ' "$1" 전송 에러',
+ 'errUploadTransfer' : ' "$1" 전송 에러',
+ 'errNotReplace' : 'Object "$1" already exists at this location and can not be replaced by object with another type.',
+ 'errReplace' : 'Unable to replace "$1".',
'errSave' : ' "$1" 저장할 수 없습니다',
'errCopy' : ' "$1" 복사할 수 없습니다',
'errMove' : ' "$1" 이동할 수 없습니다',
'errCopyInItself' : ' "$1" 이곳에 복사 할 수 없습니다',
'errRm' : ' "$1" 이름을 변경할 수 없습니다',
+ 'errRmSrc' : 'Unable remove source file(s).',
'errExtract' : ' "$1" 에 압축을 풀 수 없습니다',
'errArchive' : '압축파일을 생성할 수 없습니다',
'errArcType' : '지원하지 않는 압축파일 형식입니다',
@@ -71,7 +74,23 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'errArcSymlinks' : '보안을 위해 시스템 호출을 포함한 압축파일인지를 분석합니다',
'errArcMaxSize' : '압축파일이 허용된 최대크기를 초과하였습니다',
'errResize' : ' "$1" 크기 변경을 할 수 없습니다',
+ 'errResizeDegree' : 'Invalid rotate degree.',
+ 'errResizeRotate' : 'Unable to rotate image.',
+ 'errResizeSize' : 'Invalid image size.',
+ 'errResizeNoChange' : 'Image size not changed.',
'errUsupportType' : '지원하지 않는 파일 형식',
+ 'errNotUTF8Content' : 'File "$1" is not in UTF-8 and cannot be edited.', // added 9.11.2011
+ 'errNetMount' : 'Unable to mount "$1".', // added 17.04.2012
+ 'errNetMountNoDriver' : 'Unsupported protocol.', // added 17.04.2012
+ 'errNetMountFailed' : 'Mount failed.', // added 17.04.2012
+ 'errNetMountHostReq' : 'Host required.', // added 18.04.2012
+ 'errSessionExpires' : 'Your session has expired due to inactivity.',
+ 'errCreatingTempDir' : 'Unable to create temporary directory: "$1"',
+ 'errFtpDownloadFile' : 'Unable to download file from FTP: "$1"',
+ 'errFtpUploadFile' : 'Unable to upload file to FTP: "$1"',
+ 'errFtpMkdir' : 'Unable to create remote directory on FTP: "$1"',
+ 'errArchiveExec' : 'Error while archiving files: "$1"',
+ 'errExtractExec' : 'Error while extracting files: "$1"',
/******************************* commands names ********************************/
'cmdarchive' : '압축파일생성',
@@ -101,6 +120,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'cmdview' : '보기',
'cmdresize' : '이미지 사이즈변경',
'cmdsort' : '정렬',
+ 'cmdnetmount' : 'Mount network volume',
/*********************************** buttons ***********************************/
'btnClose' : '닫기',
@@ -110,6 +130,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'btnCancel' : '취소',
'btnNo' : '아니오',
'btnYes' : '예',
+ 'btnMount' : 'Mount',
/******************************** notifications ********************************/
'ntfopen' : '폴더 열기',
@@ -128,25 +149,28 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'ntfarchive' : '압축파일만들기',
'ntfextract' : '압축풀기',
'ntfsearch' : '검색',
+ 'ntfresize' : 'Resizing images',
'ntfsmth' : '작업중 >_<',
'ntfloadimg' : '이미지 불러오기',
+ 'ntfnetmount' : 'Mounting network volume', // added 18.04.2012
+ 'ntfdim' : 'Acquiring image dimension', // added 20.05.2013
/************************************ dates **********************************/
'dateUnknown' : '알수없음',
'Today' : '오늘',
'Yesterday' : '내일',
- 'Jan' : '1월',
- 'Feb' : '2월',
- 'Mar' : '3월',
- 'Apr' : '4월',
- 'May' : '5월',
- 'Jun' : '6월',
- 'Jul' : '7월',
- 'Aug' : '8월',
- 'Sep' : '9월',
- 'Oct' : '10월',
- 'Nov' : '11월',
- 'Dec' : '12월',
+ 'msJan' : '1월',
+ 'msFeb' : '2월',
+ 'msMar' : '3월',
+ 'msApr' : '4월',
+ 'msMay' : '5월',
+ 'msJun' : '6월',
+ 'msJul' : '7월',
+ 'msAug' : '8월',
+ 'msSep' : '9월',
+ 'msOct' : '10월',
+ 'msNov' : '11월',
+ 'msDec' : '12월',
'January' : '1월',
'February' : '2월',
'March' : '3월',
@@ -173,15 +197,13 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'Thu' : '목',
'Fri' : '금',
'Sat' : '토',
+
/******************************** sort variants ********************************/
- 'sortnameDirsFirst' : '이름 (폴더 먼저)',
- 'sortkindDirsFirst' : '종류 (폴더 먼저)',
- 'sortsizeDirsFirst' : '크기 (폴더 먼저)',
- 'sortdateDirsFirst' : '날짜 (폴더 먼저)',
'sortname' : '이름',
'sortkind' : '종류',
'sortsize' : '크기',
'sortdate' : '날짜',
+ 'sortFoldersFirst' : 'Folders first',
/********************************** messages **********************************/
'confirmReq' : '확인',
@@ -223,7 +245,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'help' : '도움말',
'webfm' : '웹 파일매니저',
'ver' : '버전',
- 'protocol' : '프로토콜 버전',
+ 'protocolver' : '프로토콜 버전',
'homepage' : '홈페이지',
'docs' : '문서',
'github' : 'Fork us on Github',
@@ -244,19 +266,22 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'moveFiles' : '파일 이동',
'copyFiles' : '파일 복사',
'rmFromPlaces' : '현재 폴더에서 삭제하기',
- 'untitled folder' : '새 폴더',
- 'untitled file.txt' : '새 텍스트.txt',
'aspectRatio' : '화면비율',
'scale' : '크기',
'width' : '가로',
'height' : '세로',
- 'mode' : '모드',
'resize' : '사이즈 변경',
'crop' : '자르기',
'rotate' : '회전',
'rotate-cw' : '반시계방향 90도 회전',
'rotate-ccw' : '시계방향 90도 회전',
'degree' : '각도',
+ 'netMountDialogTitle' : 'Mount network volume', // added 18.04.2012
+ 'protocol' : 'Protocol', // added 18.04.2012
+ 'host' : 'Host', // added 18.04.2012
+ 'port' : 'Port', // added 18.04.2012
+ 'user' : 'User', // added 18.04.2012
+ 'pass' : 'Password', // added 18.04.2012
/********************************** mimetypes **********************************/
'kindUnknown' : '알수없음',
@@ -278,6 +303,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindTAR' : 'TAR 압축파일',
'kindGZIP' : 'GZIP 압축파일',
'kindBZIP' : 'BZIP 압축파일',
+ 'kindXZ' : 'XZ 압축파일',
'kindZIP' : 'ZIP 압축파일',
'kindRAR' : 'RAR 압축파일',
'kindJAR' : 'Java JAR 파일',
@@ -336,5 +362,5 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindVideoMKV' : 'Matroska 동영상',
'kindVideoOGG' : 'Ogg 동영상'
}
- }
-}
\ No newline at end of file
+ };
+}
diff --git a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.nl.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.nl.js
similarity index 67%
rename from elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.nl.js
rename to elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.nl.js
index c2f4c38..99e9e1b 100644
--- a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.nl.js
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.nl.js
@@ -1,17 +1,17 @@
/**
* Dutch translation
* @author Barry vd. Heuvel
- * @version 2012-04-02
+ * @version 2015-12-01
*/
if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
elFinder.prototype.i18.nl = {
translator : 'Barry vd. Heuvel <barry@fruitcakestudio.nl>',
language : 'Nederlands',
direction : 'ltr',
- dateFormat : 'd-m-Y H:i',
- fancyDateFormat : '$1 H:i',
+ dateFormat : 'd-m-Y H:i', // Mar 13, 2012 05:27 PM
+ fancyDateFormat : '$1 H:i', // will produce smth like: Today 12:25 PM
messages : {
-
+
/********************************** errors **********************************/
'error' : 'Fout',
'errUnknown' : 'Onbekend fout.',
@@ -50,33 +50,42 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'errRename' : 'Kan "$1" niet hernoemen.',
'errCopyFrom' : 'Bestanden kopiëren van "$1" is niet toegestaan.',
'errCopyTo' : 'Bestanden kopiëren naar "$1" is niet toegestaan.',
- 'errUploadCommon' : 'Upload fout.',
- 'errUpload' : 'Kan "$1" niet uploaden.',
+ 'errMkOutLink' : 'Kan geen link maken buiten de hoofdmap.', // from v2.1 added 03.10.2015
+ 'errUpload' : 'Upload fout.', // old name - errUploadCommon
+ 'errUploadFile' : 'Kan "$1" niet uploaden.', // old name - errUpload
'errUploadNoFiles' : 'Geen bestanden gevonden om te uploaden.',
- 'errMaxSize' : 'Data overschrijdt de maximale grootte.',
- 'errFileMaxSize' : 'Bestand overschrijdt de maximale grootte.',
+ 'errUploadTotalSize' : 'Data overschrijdt de maximale grootte.', // old name - errMaxSize
+ 'errUploadFileSize' : 'Bestand overschrijdt de maximale grootte.', // old name - errFileMaxSize
'errUploadMime' : 'Bestandstype niet toegestaan.',
- 'errUploadTransfer' : '"$1" overdrachtsfout.',
+ 'errUploadTransfer' : '"$1" overdrachtsfout.',
+ 'errUploadTemp' : 'Kan geen tijdelijk bestand voor de upload maken.', // from v2.1 added 26.09.2015
+ 'errNotReplace' : 'Object "$1" bestaat al op deze locatie en kan niet vervangen worden door een ander type object.', // new
+ 'errReplace' : 'Kan "$1" niet vervangen.',
'errSave' : 'Kan "$1" niet opslaan.',
'errCopy' : 'Kan "$1" niet kopiëren.',
'errMove' : 'Kan "$1" niet verplaatsen.',
'errCopyInItself' : 'Kan "$1" niet in zichzelf kopiëren.',
'errRm' : 'Kan "$1" niet verwijderen.',
+ 'errRmSrc' : 'Kan bronbestanden niet verwijderen.',
'errExtract' : 'Kan de bestanden van "$1" niet uitpakken.',
'errArchive' : 'Kan het archief niet maken.',
'errArcType' : 'Archief type is niet ondersteund.',
'errNoArchive' : 'Bestand is geen archief of geen ondersteund archief type.',
'errCmdNoSupport' : 'Backend ondersteund dit commando niet.',
'errReplByChild' : 'De map "$1" kan niet vervangen worden door een item uit die map.',
- 'errArcSymlinks' : 'Om veiligheidsredenen kan een bestand met symlinks of bestanden met niet toegestane namen niet worden uitgepakt .',
+ 'errArcSymlinks' : 'Om veiligheidsredenen kan een bestand met symlinks of bestanden met niet toegestane namen niet worden uitgepakt .', // edited 24.06.2012
'errArcMaxSize' : 'Archief overschrijdt de maximale bestandsgrootte.',
'errResize' : 'Kan het formaat van "$1" niet wijzigen.',
+ 'errResizeDegree' : 'Ongeldig aantal graden om te draaien.', // added 7.3.2013
+ 'errResizeRotate' : 'Afbeelding kan niet gedraaid worden.', // added 7.3.2013
+ 'errResizeSize' : 'Ongeldig afbeelding formaat.', // added 7.3.2013
+ 'errResizeNoChange' : 'Afbeelding formaat is niet veranderd.', // added 7.3.2013
'errUsupportType' : 'Bestandstype wordt niet ondersteund.',
- 'errNotUTF8Content' : 'Bestand "$1" is niet in UTF-8 and kan niet aangepast worden.',
- 'errNetMount' : 'Kan "$1" niet mounten.',
- 'errNetMountNoDriver' : 'Niet ondersteund protocol.',
- 'errNetMountFailed' : 'Mount mislukt.',
- 'errNetMountHostReq' : 'Host is verplicht.',
+ 'errNotUTF8Content' : 'Bestand "$1" is niet in UTF-8 and kan niet aangepast worden.', // added 9.11.2011
+ 'errNetMount' : 'Kan "$1" niet mounten.', // added 17.04.2012
+ 'errNetMountNoDriver' : 'Niet ondersteund protocol.', // added 17.04.2012
+ 'errNetMountFailed' : 'Mount mislukt.', // added 17.04.2012
+ 'errNetMountHostReq' : 'Host is verplicht.', // added 18.04.2012
'errSessionExpires' : 'Uw sessie is verlopen vanwege inactiviteit.',
'errCreatingTempDir' : 'Kan de tijdelijke map niet aanmaken: "$1" ',
'errFtpDownloadFile' : 'Kan het bestand niet downloaden vanaf FTP: "$1"',
@@ -84,8 +93,10 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'errFtpMkdir' : 'Kan het externe map niet aanmaken op de FTP-server: "$1"',
'errArchiveExec' : 'Er is een fout opgetreden bij het archivering van de bestanden: "$1" ',
'errExtractExec' : 'Er is een fout opgetreden bij het uitpakken van de bestanden: "$1" ',
- 'errUploadFile' : 'Kan "$1" niet uploaden',
-
+ 'errNetUnMount' : 'Kan niet unmounten', // from v2.1 added 30.04.2012
+ 'errConvUTF8' : 'Kan niet converteren naar UTF-8', // from v2.1 added 08.04.2014
+ 'errFolderUpload' : 'Probeer Google Chrome, als je de map wil uploaden.', // from v2.1 added 26.6.2015
+
/******************************* commands names ********************************/
'cmdarchive' : 'Maak archief',
'cmdback' : 'Vorige',
@@ -114,9 +125,12 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'cmdview' : 'Bekijk',
'cmdresize' : 'Formaat wijzigen',
'cmdsort' : 'Sorteren',
- 'cmdnetmount' : 'Mount netwerk volume',
-
- /*********************************** buttons ***********************************/
+ 'cmdnetmount' : 'Mount netwerk volume', // added 18.04.2012
+ 'cmdnetunmount': 'Unmount', // from v2.1 added 30.04.2012
+ 'cmdplaces' : 'Naar Plaatsen', // added 28.12.2014
+ 'cmdchmod' : 'Wijzig modus', // from v2.1 added 20.6.2015
+
+ /*********************************** buttons ***********************************/
'btnClose' : 'Sluit',
'btnSave' : 'Opslaan',
'btnRm' : 'Verwijder',
@@ -124,8 +138,18 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'btnCancel' : 'Annuleren',
'btnNo' : 'Nee',
'btnYes' : 'Ja',
- 'btnMount' : 'Mount',
-
+ 'btnMount' : 'Mount', // added 18.04.2012
+ 'btnApprove': 'Ga naar $1 & keur goed', // from v2.1 added 26.04.2012
+ 'btnUnmount': 'Unmount', // from v2.1 added 30.04.2012
+ 'btnConv' : 'Converteer', // from v2.1 added 08.04.2014
+ 'btnCwd' : 'Hier', // from v2.1 added 22.5.2015
+ 'btnVolume' : 'Volume', // from v2.1 added 22.5.2015
+ 'btnAll' : 'Alles', // from v2.1 added 22.5.2015
+ 'btnMime' : 'MIME Type', // from v2.1 added 22.5.2015
+ 'btnFileName':'Bestandsnaam', // from v2.1 added 22.5.2015
+ 'btnSaveClose': 'Opslaan & Sluiten', // from v2.1 added 12.6.2015
+ 'btnBackup' : 'Back-up', // fromv2.1 added 28.11.2015
+
/******************************** notifications ********************************/
'ntfopen' : 'Bezig met openen van map',
'ntffile' : 'Bezig met openen bestand',
@@ -143,26 +167,33 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'ntfarchive' : 'Archief aan het maken',
'ntfextract' : 'Bestanden uitpakken actief',
'ntfsearch' : 'Zoeken naar bestanden',
+ 'ntfresize' : 'Formaat wijzigen van afbeeldingen',
'ntfsmth' : 'Iets aan het doen',
'ntfloadimg' : 'Laden van plaatje',
- 'ntfnetmount' : 'Verhogen netwerk volume',
-
+ 'ntfnetmount' : 'Mounten van netwerk volume', // added 18.04.2012
+ 'ntfnetunmount': 'Unmounten van netwerk volume', // from v2.1 added 30.04.2012
+ 'ntfdim' : 'Opvragen afbeeldingen dimensies', // added 20.05.2013
+ 'ntfreaddir' : 'Map informatie lezen', // from v2.1 added 01.07.2013
+ 'ntfurl' : 'URL van link ophalen', // from v2.1 added 11.03.2014
+ 'ntfchmod' : 'Bestandsmodus wijzigen', // from v2.1 added 20.6.2015
+ 'ntfpreupload': 'Upload bestandsnaam verifiëren', // from v2.1 added 31.11.2015
+
/************************************ dates **********************************/
'dateUnknown' : 'onbekend',
'Today' : 'Vandaag',
'Yesterday' : 'Gisteren',
- 'Jan' : 'Jan',
- 'Feb' : 'Feb',
- 'Mar' : 'Mar',
- 'Apr' : 'Apr',
- 'May' : 'Mei',
- 'Jun' : 'Jun',
- 'Jul' : 'Jul',
- 'Aug' : 'Aug',
- 'Sep' : 'Sep',
- 'Oct' : 'Okt',
- 'Nov' : 'Nov',
- 'Dec' : 'Dec',
+ 'msJan' : 'Jan',
+ 'msFeb' : 'Feb',
+ 'msMar' : 'Mar',
+ 'msApr' : 'Apr',
+ 'msMay' : 'Mei',
+ 'msJun' : 'Jun',
+ 'msJul' : 'Jul',
+ 'msAug' : 'Aug',
+ 'msSep' : 'Sep',
+ 'msOct' : 'Okt',
+ 'msNov' : 'Nov',
+ 'msDec' : 'Dec',
'January' : 'Januari',
'February' : 'Februari',
'March' : 'Maart',
@@ -175,32 +206,39 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'October' : 'Oktober',
'November' : 'November',
'December' : 'December',
- 'Sunday' : 'Zondag',
- 'Monday' : 'Maandag',
- 'Tuesday' : 'Dinsdag',
- 'Wednesday' : 'Woensdag',
- 'Thursday' : 'Donderdag',
- 'Friday' : 'Vrijdag',
+ 'Sunday' : 'Zondag',
+ 'Monday' : 'Maandag',
+ 'Tuesday' : 'Dinsdag',
+ 'Wednesday' : 'Woensdag',
+ 'Thursday' : 'Donderdag',
+ 'Friday' : 'Vrijdag',
'Saturday' : 'Zaterdag',
- 'Sun' : 'Zo',
- 'Mon' : 'Ma',
- 'Tue' : 'Di',
- 'Wed' : 'Wo',
- 'Thu' : 'Do',
- 'Fri' : 'Vr',
+ 'Sun' : 'Zo',
+ 'Mon' : 'Ma',
+ 'Tue' : 'Di',
+ 'Wed' : 'Wo',
+ 'Thu' : 'Do',
+ 'Fri' : 'Vr',
'Sat' : 'Za',
-
+
/******************************** sort variants ********************************/
- 'sortname' : 'op naam',
- 'sortkind' : 'op type',
+ 'sortname' : 'op naam',
+ 'sortkind' : 'op type',
'sortsize' : 'op grootte',
'sortdate' : 'op datum',
'sortFoldersFirst' : 'Mappen eerst',
+ /********************************** new items **********************************/
+ 'untitled file.txt' : 'NieuwBestand.txt', // added 10.11.2015
+ 'untitled folder' : 'NieuweMap', // added 10.11.2015
+ 'Archive' : 'NieuwArchief', // from v2.1 added 10.11.2015
+
/********************************** messages **********************************/
'confirmReq' : 'Bevestiging nodig',
'confirmRm' : 'Weet u zeker dat u deze bestanden wil verwijderen? Deze actie kan niet ongedaan gemaakt worden!',
'confirmRepl' : 'Oud bestand vervangen door het nieuwe bestand?',
+ 'confirmConvUTF8' : 'Niet in UTF-8 Converteren naar UTF-8? De inhoud wordt UTF-8 door op te slaan na de conversie.', // from v2.1 added 08.04.2014
+ 'confirmNotSave' : 'Het is aangepast. Wijzigingen gaan verloren als je niet opslaat.', // from v2.1 added 15.7.2015
'apllyAll' : 'Toepassen op alles',
'name' : 'Naam',
'size' : 'Grootte',
@@ -219,7 +257,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'viewlist' : 'Lijst weergave',
'viewicons' : 'Icoon weergave',
'places' : 'Plaatsen',
- 'calc' : 'Bereken',
+ 'calc' : 'Bereken',
'path' : 'Pad',
'aliasfor' : 'Alias voor',
'locked' : 'Vergrendeld',
@@ -230,7 +268,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'yes' : 'ja',
'no' : 'nee',
'link' : 'Link',
- 'searcresult' : 'Zoek resultaten',
+ 'searcresult' : 'Zoek resultaten',
'selected' : 'geselecteerde items',
'about' : 'Over',
'shortcuts' : 'Snelkoppelingen',
@@ -258,26 +296,36 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'moveFiles' : 'Verplaats bestanden',
'copyFiles' : 'Kopieer bestanden',
'rmFromPlaces' : 'Verwijder uit Plaatsen',
- 'untitled folder' : 'Nieuwe map',
- 'untitled file.txt' : 'nieuw bestand.txt',
'aspectRatio' : 'Aspect ratio',
'scale' : 'Schaal',
'width' : 'Breedte',
'height' : 'Hoogte',
- 'mode' : 'Modus',
- 'resize' : 'Verkleinen', //Or: Vergroten/verkleinen
- 'crop' : 'Bijsnijden',
- 'rotate' : 'Draaien',
- 'rotate-cw' : 'Draai 90 graden rechtsom',
- 'rotate-ccw' : 'Draai 90 graden linksom',
- 'degree' : '°',
- 'netMountDialogTitle' : 'Mount network volume',
- 'protocol' : 'Protocol',
- 'host' : 'Host',
- 'port' : 'Poort',
- 'user' : 'Gebruikersnaams',
- 'pass' : 'Wachtwoord',
-
+ 'resize' : 'Verkleinen',
+ 'crop' : 'Bijsnijden',
+ 'rotate' : 'Draaien',
+ 'rotate-cw' : 'Draai 90 graden rechtsom',
+ 'rotate-ccw' : 'Draai 90 graden linksom',
+ 'degree' : '°',
+ 'netMountDialogTitle' : 'Mount netwerk volume', // added 18.04.2012
+ 'protocol' : 'Protocol', // added 18.04.2012
+ 'host' : 'Host', // added 18.04.2012
+ 'port' : 'Poort', // added 18.04.2012
+ 'user' : 'Gebruikersnaams', // added 18.04.2012
+ 'pass' : 'Wachtwoord', // added 18.04.2012
+ 'confirmUnmount' : 'Weet u zeker dat u $1 wil unmounten?', // from v2.1 added 30.04.2012
+ 'dropFilesBrowser': 'Sleep of plak bestanden vanuit de browser', // from v2.1 added 30.05.2012
+ 'dropPasteFiles' : 'Sleep of plak bestanden hier', // from v2.1 added 07.04.2014
+ 'encoding' : 'Encodering', // from v2.1 added 19.12.2014
+ 'locale' : 'Locale', // from v2.1 added 19.12.2014
+ 'searchTarget' : 'Doel: $1', // from v2.1 added 22.5.2015
+ 'searchMime' : 'Zoek op invoer MIME Type', // from v2.1 added 22.5.2015
+ 'owner' : 'Eigenaar', // from v2.1 added 20.6.2015
+ 'group' : 'Groep', // from v2.1 added 20.6.2015
+ 'other' : 'Overig', // from v2.1 added 20.6.2015
+ 'execute' : 'Uitvoeren', // from v2.1 added 20.6.2015
+ 'perm' : 'Rechten', // from v2.1 added 20.6.2015
+ 'mode' : 'Modus', // from v2.1 added 20.6.2015
+
/********************************** mimetypes **********************************/
'kindUnknown' : 'Onbekend',
'kindFolder' : 'Map',
@@ -298,6 +346,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindTAR' : 'TAR archief',
'kindGZIP' : 'GZIP archief',
'kindBZIP' : 'BZIP archief',
+ 'kindXZ' : 'XZ archief',
'kindZIP' : 'ZIP archief',
'kindRAR' : 'RAR archief',
'kindJAR' : 'Java JAR bestand',
@@ -326,6 +375,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindAWK' : 'AWK bronbestand',
'kindCSV' : 'Komma gescheiden waardes',
'kindDOCBOOK' : 'Docbook XML document',
+ 'kindMarkdown' : 'Markdown tekst', // added 20.7.2015
// images
'kindImage' : 'Afbeelding',
'kindBMP' : 'BMP afbeelding',
@@ -356,6 +406,6 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindVideoMKV' : 'Matroska video',
'kindVideoOGG' : 'Ogg video'
}
- }
+ };
}
diff --git a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.no.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.no.js
similarity index 69%
rename from elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.no.js
rename to elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.no.js
index 87ec598..9f0bb32 100644
--- a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.no.js
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.no.js
@@ -1,12 +1,14 @@
/**
* Norwegian translation
* @author Stian Jacobsen
- * @version 2012-07-03
+ * @version 2014-12-19
*/
if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
elFinder.prototype.i18.no = {
translator : 'Stian Jacobsen <stian@promonorge.no>',
language : 'Norwegian Bokmål',
+ dateFormat : 'M d, Y h:i A', // Mar 13, 2012 05:27 PM
+ fancyDateFormat : '$1 h:i A', // will produce smth like: Today 12:25 PM
direction : 'ltr',
messages : {
@@ -48,23 +50,47 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'errRename' : 'Kunne ikke gi nytt navn til "$1".',
'errCopyFrom' : 'Kopiere filer fra "$1" er ikke tillatt.',
'errCopyTo' : 'Kopiere filer til "$1" er ikke tillatt.',
- 'errUploadCommon' : 'Feil under opplasting.',
- 'errUpload' : 'Kunne ikke laste opp "$1".',
+ 'errUpload' : 'Feil under opplasting.',
+ 'errUploadFile' : 'Kunne ikke laste opp "$1".',
'errUploadNoFiles' : 'Ingen filer funnet til opplasting.',
- 'errMaxSize' : 'Innholdet overgår maksimum tillatt størrelse.',
- 'errFileMaxSize' : 'Filen vergår maksimum tillatt størrelse.',
+ 'errUploadTotalSize' : 'Innholdet overgår maksimum tillatt størrelse.',
+ 'errUploadFileSize' : 'Filen vergår maksimum tillatt størrelse.',
'errUploadMime' : 'Filtypen ikke tillatt.',
- 'errUploadTransfer' : '"$1" overførings feil.',
+ 'errUploadTransfer' : '"$1" overførings feil.',
+ 'errNotReplace' : 'Object "$1" already exists at this location and can not be replaced by object with another type.',
+ 'errReplace' : 'Unable to replace "$1".',
'errSave' : 'Kunne ikke lagre "$1".',
'errCopy' : 'Kunne ikke kopiere "$1".',
'errMove' : 'Kunne ikke flytte "$1".',
'errCopyInItself' : 'Kunne ikke kopiere "$1" til seg selv.',
'errRm' : 'Kunne ikke slette "$1".',
+ 'errRmSrc' : 'Unable remove source file(s).',
'errExtract' : 'Kunne ikke pakke ut filer fra "$1".',
'errArchive' : 'Kunne ikke opprette arkiv.',
'errArcType' : 'akriv-typen er ikke støttet.',
'errNoArchive' : 'Filen er ikke et arkiv eller et arkiv som ikke er støttet.',
'errCmdNoSupport' : 'Backend støtter ikke denne kommandoen.',
+ 'errReplByChild' : 'The folder “$1” can’t be replaced by an item it contains.',
+ 'errArcSymlinks' : 'For security reason denied to unpack archives contains symlinks or files with not allowed names.', // edited 24.06.2012
+ 'errArcMaxSize' : 'Archive files exceeds maximum allowed size.',
+ 'errResize' : 'Unable to resize "$1".',
+ 'errResizeDegree' : 'Invalid rotate degree.', // added 7.3.2013
+ 'errResizeRotate' : 'Unable to rotate image.', // added 7.3.2013
+ 'errResizeSize' : 'Invalid image size.', // added 7.3.2013
+ 'errResizeNoChange' : 'Image size not changed.', // added 7.3.2013
+ 'errUsupportType' : 'Unsupported file type.',
+ 'errNotUTF8Content' : 'File "$1" is not in UTF-8 and cannot be edited.', // added 9.11.2011
+ 'errNetMount' : 'Unable to mount "$1".', // added 17.04.2012
+ 'errNetMountNoDriver' : 'Unsupported protocol.', // added 17.04.2012
+ 'errNetMountFailed' : 'Mount failed.', // added 17.04.2012
+ 'errNetMountHostReq' : 'Host required.', // added 18.04.2012
+ 'errSessionExpires' : 'Your session has expired due to inactivity.',
+ 'errCreatingTempDir' : 'Unable to create temporary directory: "$1"',
+ 'errFtpDownloadFile' : 'Unable to download file from FTP: "$1"',
+ 'errFtpUploadFile' : 'Unable to upload file to FTP: "$1"',
+ 'errFtpMkdir' : 'Unable to create remote directory on FTP: "$1"',
+ 'errArchiveExec' : 'Error while archiving files: "$1"',
+ 'errExtractExec' : 'Error while extracting files: "$1"',
/******************************* commands names ********************************/
'cmdarchive' : 'Opprett arkiv',
@@ -92,14 +118,19 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'cmdup' : 'Opp et nivå',
'cmdupload' : 'Last opp filer',
'cmdview' : 'Vis',
+ 'cmdresize' : 'Resize & Rotate',
+ 'cmdsort' : 'Sort',
+ 'cmdnetmount' : 'Mount network volume',
/*********************************** buttons ***********************************/
'btnClose' : 'Lukk',
'btnSave' : 'Lagre',
'btnRm' : 'Slett',
+ 'btnApply' : 'Apply',
'btnCancel' : 'Avbryt',
'btnNo' : 'Nei',
'btnYes' : 'Ja',
+ 'btnMount' : 'Mount',
/******************************** notifications ********************************/
'ntfopen' : 'Åpne mappe',
@@ -118,25 +149,62 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'ntfarchive' : 'Oppretter arkiv',
'ntfextract' : 'Pakker ut filer fra arkiv',
'ntfsearch' : 'Søker i filer',
+ 'ntfresize' : 'Resizing images',
'ntfsmth' : 'Gjør noe... >_<',
+ 'ntfloadimg' : 'Loading image',
+ 'ntfnetmount' : 'Mounting network volume', // added 18.04.2012
+ 'ntfdim' : 'Acquiring image dimension', // added 20.05.2013
/************************************ dates **********************************/
'dateUnknown' : 'Ukjent',
'Today' : 'I dag',
'Yesterday' : 'I går',
- 'Jan' : 'Jan',
- 'Feb' : 'Feb',
- 'Mar' : 'Mar',
- 'Apr' : 'Apr',
- 'May' : 'Mai',
- 'Jun' : 'Jun',
- 'Jul' : 'Jul',
- 'Aug' : 'Aug',
- 'Sep' : 'Sep',
- 'Oct' : 'Okt',
- 'Nov' : 'Nov',
- 'Dec' : 'Des',
+ 'msJan' : 'Jan',
+ 'msFeb' : 'Feb',
+ 'msMar' : 'Mar',
+ 'msApr' : 'Apr',
+ 'msMay' : 'Mai',
+ 'msJun' : 'Jun',
+ 'msJul' : 'Jul',
+ 'msAug' : 'Aug',
+ 'msSep' : 'Sep',
+ 'msOct' : 'Okt',
+ 'msNov' : 'Nov',
+ 'msDec' : 'Des',
+ 'January' : 'January',
+ 'February' : 'February',
+ 'March' : 'March',
+ 'April' : 'April',
+ 'May' : 'May',
+ 'June' : 'June',
+ 'July' : 'July',
+ 'August' : 'August',
+ 'September' : 'September',
+ 'October' : 'October',
+ 'November' : 'November',
+ 'December' : 'December',
+ 'Sunday' : 'Sunday',
+ 'Monday' : 'Monday',
+ 'Tuesday' : 'Tuesday',
+ 'Wednesday' : 'Wednesday',
+ 'Thursday' : 'Thursday',
+ 'Friday' : 'Friday',
+ 'Saturday' : 'Saturday',
+ 'Sun' : 'Sun',
+ 'Mon' : 'Mon',
+ 'Tue' : 'Tue',
+ 'Wed' : 'Wed',
+ 'Thu' : 'Thu',
+ 'Fri' : 'Fri',
+ 'Sat' : 'Sat',
+ /******************************** sort variants ********************************/
+ 'sortname' : 'by name',
+ 'sortkind' : 'by kind',
+ 'sortsize' : 'by size',
+ 'sortdate' : 'by date',
+ 'sortFoldersFirst' : 'Folders first',
+
/********************************** messages **********************************/
'confirmReq' : 'Bekreftelse nødvendig',
'confirmRm' : 'Er du sikker på at du ønsker å slette filene?',
@@ -197,6 +265,23 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'selectForUpload' : 'Velg filer til opplasting',
'moveFiles' : 'Flytt filer',
'copyFiles' : 'Kopier filer',
+ 'rmFromPlaces' : 'Remove from places',
+ 'aspectRatio' : 'Aspect ratio',
+ 'scale' : 'Scale',
+ 'width' : 'Width',
+ 'height' : 'Height',
+ 'resize' : 'Resize',
+ 'crop' : 'Crop',
+ 'rotate' : 'Rotate',
+ 'rotate-cw' : 'Rotate 90 degrees CW',
+ 'rotate-ccw' : 'Rotate 90 degrees CCW',
+ 'degree' : '°',
+ 'netMountDialogTitle' : 'Mount network volume', // added 18.04.2012
+ 'protocol' : 'Protocol', // added 18.04.2012
+ 'host' : 'Host', // added 18.04.2012
+ 'port' : 'Port', // added 18.04.2012
+ 'user' : 'User', // added 18.04.2012
+ 'pass' : 'Password', // added 18.04.2012
/********************************** mimetypes **********************************/
'kindUnknown' : 'Ukjent',
@@ -218,6 +303,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindTAR' : 'TAR arkiv',
'kindGZIP' : 'GZIP arkiv',
'kindBZIP' : 'BZIP arkiv',
+ 'kindXZ' : 'XZ arkiv',
'kindZIP' : 'ZIP arkiv',
'kindRAR' : 'RAR ar',
'kindJAR' : 'Java JAR file',
@@ -247,7 +333,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindCSV' : 'Comma separated values',
'kindDOCBOOK' : 'Docbook XML dokument',
// Images
- 'kindimage' : 'Bilde',
+ 'kindImage' : 'Bilde',
'kindBMP' : 'BMP bilde',
'kindJPEG' : 'JPEG bilde',
'kindGIF' : 'GIF bilde',
@@ -276,5 +362,5 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindVideoMKV' : 'Matroska film',
'kindVideoOGG' : 'Ogg film'
}
- }
-}
\ No newline at end of file
+ };
+}
diff --git a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.pl.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.pl.js
similarity index 51%
rename from elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.pl.js
rename to elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.pl.js
index 0e3d92b..2c714aa 100644
--- a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.pl.js
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.pl.js
@@ -1,13 +1,18 @@
/**
- * Polish translation
+ * Polski translation
* @author Marcin Mikołajczyk
- * @version 2012-01-28
+ * @author Wojciech Jabłoński
+ * @author Bogusław Zięba
+ * @author Bogusław Zięba
+ * @version 2016-09-04
*/
if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
elFinder.prototype.i18.pl = {
- translator : 'Marcin Mikołajczyk <marcin@pjwstk.edu.pl>',
+ translator : 'Marcin Mikołajczyk <marcin@pjwstk.edu.pl>, Wojciech Jabłoński <www.jablonski@gmail.com>, Bogusław Zięba <bobi@poczta.fm>',
language : 'Polski',
direction : 'ltr',
+ dateFormat : 'd M Y H:i', // Mar 13, 2012 05:27 PM
+ fancyDateFormat : '$1 H:i', // will produce smth like: Today 12:25 PM
messages : {
/********************************** errors **********************************/
@@ -18,20 +23,20 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'errNode' : 'elFinder wymaga utworzenia obiektu DOM.',
'errURL' : 'Niepoprawna konfiguracja elFinder! Pole URL nie jest ustawione.',
'errAccess' : 'Dostęp zabroniony.',
- 'errConnect' : 'Błąd połączenia z backend.',
+ 'errConnect' : 'Błąd połączenia z zapleczem.',
'errAbort' : 'Połączenie zostało przerwane.',
'errTimeout' : 'Upłynął czas oczekiwania na połączenie.',
- 'errNotFound' : 'Backend nie został znaleziony.',
- 'errResponse' : 'Nieprawidłowa odpowiedź backend.',
- 'errConf' : 'Niepoprawna konfiguracja backend.',
+ 'errNotFound' : 'Zaplecze nie zostało znalezione.',
+ 'errResponse' : 'Nieprawidłowa odpowiedź zaplecza.',
+ 'errConf' : 'Niepoprawna konfiguracja zaplecza.',
'errJSON' : 'Moduł PHP JSON nie jest zainstalowany.',
'errNoVolumes' : 'Brak możliwości odczytu katalogów.',
'errCmdParams' : 'Nieprawidłowe parametry dla polecenia "$1".',
'errDataNotJSON' : 'Dane nie są JSON.',
'errDataEmpty' : 'Dane są puste.',
- 'errCmdReq' : 'Backend wymaga podania nazwy polecenia.',
+ 'errCmdReq' : 'Zaplecze wymaga podania nazwy polecenia.',
'errOpen' : 'Nie można otworzyć "$1".',
- 'errNotFolder' : 'Obiekt nie jest folderem.',
+ 'errNotFolder' : 'Obiekt nie jest katalogiem.',
'errNotFile' : 'Obiekt nie jest plikiem.',
'errRead' : 'Nie można odczytać "$1".',
'errWrite' : 'Nie można zapisać do "$1".',
@@ -48,28 +53,54 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'errRename' : 'Nie można zmienić nazwy "$1".',
'errCopyFrom' : 'Kopiowanie z katalogu "$1" nie jest możliwe.',
'errCopyTo' : 'Kopiowanie do katalogu "$1" nie jest możliwe.',
- 'errUploadCommon' : 'Błąd wysyłania.',
- 'errUpload' : 'Nie można wysłać "$1".',
+ 'errMkOutLink' : 'Nie można utworzyć link do zewnętrznego katalogu głównego.', // from v2.1 added 03.10.2015
+ 'errUpload' : 'Błąd wysyłania.', // old name - errUploadCommon
+ 'errUploadFile' : 'Nie można wysłać "$1".', // old name - errUpload
'errUploadNoFiles' : 'Nie znaleziono plików do wysłania.',
- 'errMaxSize' : 'Przekroczono dopuszczalny rozmiar wysyłanych plików.',
- 'errFileMaxSize' : 'Plik przekracza dopuszczalny rozmiar.',
+ 'errUploadTotalSize' : 'Przekroczono dopuszczalny rozmiar wysyłanych plików.', // old name - errMaxSize
+ 'errUploadFileSize' : 'Plik przekracza dopuszczalny rozmiar.', // old name - errFileMaxSize
'errUploadMime' : 'Niedozwolony typ pliku.',
'errUploadTransfer' : 'Błąd przesyłania "$1".',
+ 'errUploadTemp' : 'Nie można wykonać tymczasowego pliku do przesłania.', // from v2.1 added 26.09.2015
+ 'errNotReplace' : 'Obiekt "$1" istnieje już w tej lokalizacji i nie może być zastąpiony przez inny typ obiektu.', // new
+ 'errReplace' : 'Nie można zastąpić "$1".',
'errSave' : 'Nie można zapisać "$1".',
'errCopy' : 'Nie można skopiować "$1".',
'errMove' : 'Nie można przenieść "$1".',
'errCopyInItself' : 'Nie można skopiować "$1" w miejsce jego samego.',
'errRm' : 'Nie można usunąć "$1".',
+ 'errRmSrc' : 'Nie należy usunąć pliku(s) źródłowy.',
'errExtract' : 'Nie można wypakować plików z "$1".',
'errArchive' : 'Nie można utworzyć archiwum.',
'errArcType' : 'Nieobsługiwany typ archiwum.',
'errNoArchive' : 'Plik nie jest prawidłowym typem archiwum.',
- 'errCmdNoSupport' : 'Backend nie obsługuje tego polecenia.',
+ 'errCmdNoSupport' : 'Zaplecze nie obsługuje tego polecenia.',
'errReplByChild' : 'Nie można zastąpić katalogu "$1" elementem w nim zawartym',
- 'errArcSymlinks' : 'Ze względów bezpieczeństwa rozpakowywanie archiwów zawierających dowiązania symboliczne (symlinks) jest niedozwolone.',
+ 'errArcSymlinks' : 'Ze względów bezpieczeństwa rozpakowywanie archiwów zawierających dowiązania symboliczne (symlinks) jest niedozwolone.', // edited 24.06.2012
'errArcMaxSize' : 'Archiwum przekracza maksymalny dopuszczalny rozmiar.',
'errResize' : 'Nie można zmienić rozmiaru "$1".',
+ 'errResizeDegree' : 'Nieprawidłowy stopień obracania.', // added 7.3.2013
+ 'errResizeRotate' : 'Nie można obrócić obrazu.', // added 7.3.2013
+ 'errResizeSize' : 'Nieprawidłowy rozmiar obrazu.', // added 7.3.2013
+ 'errResizeNoChange' : 'Nie zmieniono rozmiaru obrazu.', // added 7.3.2013
'errUsupportType' : 'Nieobsługiwany typ pliku.',
+ 'errNotUTF8Content' : 'Plik "$1" nie jest UTF-8 i nie może być edytowany.', // added 9.11.2011
+ 'errNetMount' : 'Nie można zamontować "$1".', // added 17.04.2012
+ 'errNetMountNoDriver' : 'Nieobsługiwany protokół.', // added 17.04.2012
+ 'errNetMountFailed' : 'Montowanie nie powiodło się.', // added 17.04.2012
+ 'errNetMountHostReq' : 'Host wymagany.', // added 18.04.2012
+ 'errSessionExpires' : 'Twoja sesja wygasła z powodu nieaktywności.',
+ 'errCreatingTempDir' : 'Nie można utworzyć katalogu tymczasowego: "$1"',
+ 'errFtpDownloadFile' : 'Nie można pobrać pliku z FTP: "$1"',
+ 'errFtpUploadFile' : 'Nie można przesłać pliku na serwer FTP: "$1"',
+ 'errFtpMkdir' : 'Nie można utworzyć zdalnego katalogu FTP: "$1"',
+ 'errArchiveExec' : 'Błąd podczas archiwizacji plików: "$1"',
+ 'errExtractExec' : 'Błąd podczas wyodrębniania plików: "$1"',
+ 'errNetUnMount' : 'Nie można odmontować', // from v2.1 added 30.04.2012
+ 'errConvUTF8' : 'Nie wymienialne na UTF-8', // from v2.1 added 08.04.2014
+ 'errFolderUpload' : 'Wypróbuj Google Chrome, jeśli chcesz przesłać katalog.', // from v2.1 added 26.6.2015
+ 'errSearchTimeout' : 'Upłynął limit czasu podczas wyszukiwania "$1". Wynik wyszukiwania jest częściowy.', // from v2.1 added 12.1.2016
+ 'errReauthRequire' : 'Wymagana jest ponowna autoryzacja.', // from v2.1.10 added 3.24.2016
/******************************* commands names ********************************/
'cmdarchive' : 'Utwórz archiwum',
@@ -85,7 +116,8 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'cmdhelp' : 'Informacje o programie',
'cmdhome' : 'Katalog główny',
'cmdinfo' : 'Właściwości',
- 'cmdmkdir' : 'Nowy folder',
+ 'cmdmkdir' : 'Nowy katalog',
+ 'cmdmkdirin' : 'Do nowego katalogu', // from v2.1.7 added 19.2.2016
'cmdmkfile' : 'Nowy plik tekstowy',
'cmdopen' : 'Otwórz',
'cmdpaste' : 'Wklej',
@@ -99,6 +131,13 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'cmdview' : 'Widok',
'cmdresize' : 'Zmień rozmiar obrazu',
'cmdsort' : 'Sortuj',
+ 'cmdnetmount' : 'Zamontuj wolumin sieciowy', // added 18.04.2012
+ 'cmdnetunmount': 'Odmontuj', // from v2.1 added 30.04.2012
+ 'cmdplaces' : 'Do Miejsc', // added 28.12.2014
+ 'cmdchmod' : 'Zmiana trybu', // from v2.1 added 20.6.2015
+ 'cmdopendir' : 'Otwórz katalog', // from v2.1 added 13.1.2016
+ 'cmdcolwidth' : 'Resetuj szerokość kolumny', // from v2.1.13 added 12.06.2016
+ 'cmdmove' : 'Przenieś', // from v2.1.15 added 21.08.2016
/*********************************** buttons ***********************************/
'btnClose' : 'Zamknij',
@@ -108,11 +147,22 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'btnCancel' : 'Anuluj',
'btnNo' : 'Nie',
'btnYes' : 'Tak',
+ 'btnMount' : 'Montaż', // added 18.04.2012
+ 'btnApprove': 'Idź do $1 & zatwierdź', // from v2.1 added 26.04.2012
+ 'btnUnmount': 'Odmontuj', // from v2.1 added 30.04.2012
+ 'btnConv' : 'Konwertuj', // from v2.1 added 08.04.2014
+ 'btnCwd' : 'Tutaj', // from v2.1 added 22.5.2015
+ 'btnVolume' : 'Wolumin', // from v2.1 added 22.5.2015
+ 'btnAll' : 'Wszystko', // from v2.1 added 22.5.2015
+ 'btnMime' : 'Typ MIME', // from v2.1 added 22.5.2015
+ 'btnFileName':'Nazwa pliku', // from v2.1 added 22.5.2015
+ 'btnSaveClose': 'Zapisz & Zamknij', // from v2.1 added 12.6.2015
+ 'btnBackup' : 'Kopia zapasowa', // fromv2.1 added 28.11.2015
/******************************** notifications ********************************/
- 'ntfopen' : 'Otwórz folder',
+ 'ntfopen' : 'Otwórz katalog',
'ntffile' : 'Otwórz plik',
- 'ntfreload' : 'Odśwież zawartość folderu',
+ 'ntfreload' : 'Odśwież zawartość katalogu',
'ntfmkdir' : 'Tworzenie katalogu',
'ntfmkfile' : 'Tworzenie plików',
'ntfrm' : 'Usuwanie plików',
@@ -126,40 +176,84 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'ntfarchive' : 'Tworzenie archiwum',
'ntfextract' : 'Wypakowywanie plików z archiwum',
'ntfsearch' : 'Wyszukiwanie plików',
+ 'ntfresize' : 'Zmiana rozmiaru obrazów',
'ntfsmth' : 'Robienie czegoś >_<',
'ntfloadimg' : 'Ładowanie obrazu',
+ 'ntfnetmount' : 'Montaż woluminu sieciowego', // added 18.04.2012
+ 'ntfnetunmount': 'Odłączanie woluminu sieciowego', // from v2.1 added 30.04.2012
+ 'ntfdim' : 'Pozyskiwanie wymiaru obrazu', // added 20.05.2013
+ 'ntfreaddir' : 'Odczytywanie informacji katalogu', // from v2.1 added 01.07.2013
+ 'ntfurl' : 'Pobieranie URL linku', // from v2.1 added 11.03.2014
+ 'ntfchmod' : 'Zmiana trybu pliku', // from v2.1 added 20.6.2015
+ 'ntfpreupload': 'Weryfikacja nazwy przesłanego pliku', // from v2.1 added 31.11.2015
+ 'ntfzipdl' : 'Tworzenie pliku do pobrania', // from v2.1.7 added 23.1.2016
/************************************ dates **********************************/
'dateUnknown' : 'nieznana',
'Today' : 'Dzisiaj',
'Yesterday' : 'Wczoraj',
- 'Jan' : 'sty',
- 'Feb' : 'lut',
- 'Mar' : 'mar',
- 'Apr' : 'kwi',
- 'May' : 'maj',
- 'Jun' : 'cze',
- 'Jul' : 'lip',
- 'Aug' : 'sie',
- 'Sep' : 'wrz',
- 'Oct' : 'paź',
- 'Nov' : 'lis',
- 'Dec' : 'gru',
+ 'msJan' : 'sty',
+ 'msFeb' : 'lut',
+ 'msMar' : 'mar',
+ 'msApr' : 'kwi',
+ 'msMay' : 'maj',
+ 'msJun' : 'cze',
+ 'msJul' : 'lip',
+ 'msAug' : 'sie',
+ 'msSep' : 'wrz',
+ 'msOct' : 'paź',
+ 'msNov' : 'lis',
+ 'msDec' : 'gru',
+ 'January' : 'Styczeń',
+ 'February' : 'Luty',
+ 'March' : 'Marzec',
+ 'April' : 'Kwiecień',
+ 'May' : 'Maj',
+ 'June' : 'Czerwiec',
+ 'July' : 'Lipiec',
+ 'August' : 'Sierpień',
+ 'September' : 'Wrzesień',
+ 'October' : 'Październik',
+ 'November' : 'Listopad',
+ 'December' : 'Grudzień',
+ 'Sunday' : 'niedziela',
+ 'Monday' : 'poniedziałek',
+ 'Tuesday' : 'wtorek',
+ 'Wednesday' : 'środa',
+ 'Thursday' : 'czwartek',
+ 'Friday' : 'piątek',
+ 'Saturday' : 'sobota',
+ 'Sun' : 'nie',
+ 'Mon' : 'pon',
+ 'Tue' : 'wto',
+ 'Wed' : 'śro',
+ 'Thu' : 'czw',
+ 'Fri' : 'pią',
+ 'Sat' : 'sob',
/******************************** sort variants ********************************/
- 'sortnameDirsFirst' : 'po nazwie (foldery pierwsze)',
- 'sortkindDirsFirst' : 'po typie (foldery pierwsze)',
- 'sortsizeDirsFirst' : 'po rozmiarze (foldery pierwsze)',
- 'sortdateDirsFirst' : 'po dacie (foldery pierwsze)',
- 'sortname' : 'po nazwie',
- 'sortkind' : 'po typie',
+ 'sortname' : 'po nazwie',
+ 'sortkind' : 'po typie',
'sortsize' : 'po rozmiarze',
'sortdate' : 'po dacie',
+ 'sortFoldersFirst' : 'katalogi pierwsze',
+ 'sortperm' : 'wg/nazwy', // from v2.1.13 added 13.06.2016
+ 'sortmode' : 'wg/trybu', // from v2.1.13 added 13.06.2016
+ 'sortowner' : 'wg/właściciela', // from v2.1.13 added 13.06.2016
+ 'sortgroup' : 'wg/grup', // from v2.1.13 added 13.06.2016
+ 'sortAlsoTreeview' : 'Również drzewa katalogów', // from v2.1.15 added 01.08.2016
+
+ /********************************** new items **********************************/
+ 'untitled file.txt' : 'NewFile.txt', // added 10.11.2015
+ 'untitled folder' : 'NewFolder', // added 10.11.2015
+ 'Archive' : 'NewArchive', // from v2.1 added 10.11.2015
/********************************** messages **********************************/
'confirmReq' : 'Wymagane potwierdzenie',
'confirmRm' : 'Czy na pewno chcesz usunąć pliki? Tej operacji nie można cofnąć!',
'confirmRepl' : 'Zastąpić stary plik nowym?',
+ 'confirmConvUTF8' : 'Nie w UTF-8 Konwertować na UTF-8? Zawartość stanie się UTF-8 poprzez zapisanie po konwersji.', // from v2.1 added 08.04.2014
+ 'confirmNotSave' : 'Został zmodyfikowany. Utracisz pracę, jeśli nie zapiszesz zmian.', // from v2.1 added 15.7.2015
'apllyAll' : 'Zastosuj do wszystkich',
'name' : 'Nazwa',
'size' : 'Rozmiar',
@@ -184,7 +278,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'locked' : 'Zablokowany',
'dim' : 'Wymiary',
'files' : 'Pliki',
- 'folders' : 'Foldery',
+ 'folders' : 'katalog',
'items' : 'Elementy',
'yes' : 'tak',
'no' : 'nie',
@@ -217,19 +311,60 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'moveFiles' : 'Przenieś pliki',
'copyFiles' : 'Kopiuj pliki',
'rmFromPlaces' : 'Usuń z ulubionych',
- 'untitled folder' : 'nowy folder',
- 'untitled file.txt' : 'nowy plik.txt',
'aspectRatio' : 'Zachowaj proporcje',
'scale' : 'Skala',
'width' : 'Szerokość',
'height' : 'Wysokość',
- 'mode' : 'Tryb',
'resize' : 'Zmień rozmiar',
'crop' : 'Przytnij',
+ 'rotate' : 'Obróć',
+ 'rotate-cw' : 'Obróć 90° w lewo',
+ 'rotate-ccw' : 'Obróć 90° w prawo',
+ 'degree' : '°',
+ 'netMountDialogTitle' : 'Montaż woluminu sieciowego', // added 18.04.2012
+ 'protocol' : 'Protokół', // added 18.04.2012
+ 'host' : 'Host', // added 18.04.2012
+ 'port' : 'Port', // added 18.04.2012
+ 'user' : 'Użytkownik', // added 18.04.2012
+ 'pass' : 'Hasło', // added 18.04.2012
+ 'confirmUnmount' : 'Czy chcesz odmontować $1?', // from v2.1 added 30.04.2012
+ 'dropFilesBrowser': 'Upuść lub Wklej pliki z przeglądarki', // from v2.1 added 30.05.2012
+ 'dropPasteFiles' : 'Upuść lub Wklej tutaj pliki i adresy URL', // from v2.1 added 07.04.2014
+ 'encoding' : 'Kodowanie', // from v2.1 added 19.12.2014
+ 'locale' : 'Lokalne', // from v2.1 added 19.12.2014
+ 'searchTarget' : 'Docelowo: $1', // from v2.1 added 22.5.2015
+ 'searchMime' : 'Wyszukiwanie poprzez wpisanie typu MIME', // from v2.1 added 22.5.2015
+ 'owner' : 'Właściciel', // from v2.1 added 20.6.2015
+ 'group' : 'Grupa', // from v2.1 added 20.6.2015
+ 'other' : 'Inne', // from v2.1 added 20.6.2015
+ 'execute' : 'Wykonaj', // from v2.1 added 20.6.2015
+ 'perm' : 'Uprawnienia', // from v2.1 added 20.6.2015
+ 'mode' : 'Tryb', // from v2.1 added 20.6.2015
+ 'emptyFolder' : 'Katalog jest pusty', // from v2.1.6 added 30.12.2015
+ 'emptyFolderDrop' : 'Katalog jest pusty\\Upuść aby dodać pozycje', // from v2.1.6 added 30.12.2015
+ 'emptyFolderLTap' : 'Katalog jest pusty\\Dotknij dłużej aby dodać pozycje', // from v2.1.6 added 30.12.2015
+ 'quality' : 'Jakość', // from v2.1.6 added 5.1.2016
+ 'autoSync' : 'Auto synchronizacja', // from v2.1.6 added 10.1.2016
+ 'moveUp' : 'Przenieś w górę', // from v2.1.6 added 18.1.2016
+ 'getLink' : 'Pobierz URL linku', // from v2.1.7 added 9.2.2016
+ 'selectedItems' : 'Wybrane pozycje ($1)', // from v2.1.7 added 2.19.2016
+ 'folderId' : 'ID Katalogu', // from v2.1.10 added 3.25.2016
+ 'offlineAccess' : 'Zezwól na dostęp offline', // from v2.1.10 added 3.25.2016
+ 'reAuth' : 'Aby ponownie uwierzytelnić', // from v2.1.10 added 3.25.2016
+ 'nowLoading' : 'Teraz ładuję...', // from v2.1.12 added 4.26.2016
+ 'openMulti' : 'Otwieranie wielu plików', // from v2.1.12 added 5.14.2016
+ 'openMultiConfirm': 'Próbujesz otworzyć $1 plików. Czy na pewno chcesz, aby otworzyć w przeglądarce?', // from v2.1.12 added 5.14.2016
+ 'emptySearch' : 'Wynik wyszukiwania jest pusty', // from v2.1.12 added 5.16.2016
+ 'editingFile' : 'Edytujesz plik.', // from v2.1.13 added 6.3.2016
+ 'hasSelected' : 'Masz wybranych $1 pozycji.', // from v2.1.13 added 6.3.2016
+ 'hasClipboard' : 'Masz $1 pozycji w schowku.', // from v2.1.13 added 6.3.2016
+ 'incSearchOnly' : 'Wyszukiwanie przyrostowe jest wyłącznie z bieżącego widoku.', // from v2.1.13 added 6.30.2016
+ 'reinstate' : 'Przywróć', // from v2.1.15 added 3.8.2016
+ 'complete' : '$1 zakończono', // from v2.1.15 added 21.8.2016
/********************************** mimetypes **********************************/
'kindUnknown' : 'Nieznany',
- 'kindFolder' : 'Folder',
+ 'kindFolder' : 'Katalog',
'kindAlias' : 'Alias',
'kindAliasBroken' : 'Utracony alias',
// applications
@@ -247,9 +382,10 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindTAR' : 'Archiwum TAR',
'kindGZIP' : 'Archiwum GZIP',
'kindBZIP' : 'Archiwum BZIP',
+ 'kindXZ' : 'Archiwum XZ',
'kindZIP' : 'Archiwum ZIP',
'kindRAR' : 'Archiwum RAR',
- 'kindJAR' : 'Java JAR file',
+ 'kindJAR' : 'Plik Java JAR',
'kindTTF' : 'Czcionka TrueType',
'kindOTF' : 'Czcionka OpenType',
'kindRPM' : 'Pakiet RPM',
@@ -275,6 +411,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindAWK' : 'Kod źródłowy AWK',
'kindCSV' : 'Tekst rozdzielany przecinkami CSV',
'kindDOCBOOK' : 'Dokument Docbook XML',
+ 'kindMarkdown' : 'Tekst promocyjny', // added 20.7.2015
// images
'kindImage' : 'Obraz',
'kindBMP' : 'Obraz BMP',
@@ -305,5 +442,6 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindVideoMKV' : 'Plik wideo Matroska',
'kindVideoOGG' : 'Plik wideo Ogg'
}
- }
-}
\ No newline at end of file
+ };
+}
+
diff --git a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.pt_BR.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.pt_BR.js
similarity index 58%
rename from elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.pt_BR.js
rename to elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.pt_BR.js
index 0cf0b10..2fb92f0 100644
--- a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.pt_BR.js
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.pt_BR.js
@@ -1,11 +1,13 @@
/**
- * Brazilian Portuguese translation
+ * Português translation
* @author Leandro Carvalho
- * @version 2013-01-22
+ * @author Wesley Osorio
+ * @author Fernando H. Bandeira
+ * @version 2016-04-28
*/
if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
elFinder.prototype.i18.pt_BR = {
- translator : 'Leandro Carvalho <contato@leandrowebdev.net>',
+ translator : 'Leandro Carvalho <contato@leandrowebdev.net>, Wesley Osorio<wesleyfosorio@hotmail.com>, Fernando H. Bandeira <fernando.bandeira94@gmail.com>',
language : 'Português',
direction : 'ltr',
dateFormat : 'd M Y H:i', // Mar 13, 2012 05:27 PM
@@ -16,13 +18,13 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'error' : 'Erro',
'errUnknown' : 'Erro desconhecido.',
'errUnknownCmd' : 'Comando desconhecido.',
- 'errJqui' : 'Configuração inválida do JQuery UI. Verifique os componentes selectable, draggable e droppable incluidos.',
+ 'errJqui' : 'Configuração inválida do JQuery UI. Verifique se os componentes selectable, draggable e droppable estão incluídos.',
'errNode' : 'elFinder requer um elemento DOM para ser criado.',
'errURL' : 'Configuração inválida do elFinder! Você deve setar a opção da URL.',
'errAccess' : 'Acesso negado.',
'errConnect' : 'Incapaz de conectar ao backend.',
'errAbort' : 'Conexão abortada.',
- 'errTimeout' : 'Connection timeout.',
+ 'errTimeout' : 'Tempo de conexão excedido',
'errNotFound' : 'Backend não encontrado.',
'errResponse' : 'Resposta inválida do backend.',
'errConf' : 'Configuração inválida do backend.',
@@ -44,48 +46,60 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'errFolderNotFound' : 'Pasta não encontrada.',
'errFileNotFound' : 'Arquivo não encontrado.',
'errTrgFolderNotFound' : 'Pasta de destino "$1" não encontrada.',
- 'errPopup' : 'Navegador impediu abertura da janela popup, Para abrir o arquivo desabilite está opção no navegador.',
+ 'errPopup' : 'O seu navegador está bloqueando popup\'s. Para abrir o arquivo, altere esta opção no seu Navegador.',
'errMkdir' : 'Incapaz de criar a pasta "$1".',
'errMkfile' : 'Incapaz de criar o arquivo "$1".',
'errRename' : 'Incapaz de renomear "$1".',
'errCopyFrom' : 'Copia dos arquivos do volume "$1" não permitida.',
'errCopyTo' : 'Copia dos arquivos para o volume "$1" não permitida.',
- 'errUploadCommon' : 'Erro no upload.',
- 'errUpload' : 'Incapaz de fazer o upload de "$1".',
+ 'errMkOutLink' : 'Incapaz de criar um link fora da unidade raiz.', // from v2.1 added 03.10.2015
+ 'errUpload' : 'Erro no upload.', // old name - errUploadCommon
+ 'errUploadFile' : 'Não foi possível fazer o upload "$1".', // old name - errUpload
'errUploadNoFiles' : 'Não foi encontrado nenhum arquivo para upload.',
- 'errMaxSize' : 'Os dados excedem o tamanho máximo permitido.',
- 'errFileMaxSize' : 'Arquivo excede o tamanho máximo permitido.',
+ 'errUploadTotalSize' : 'Os dados excedem o tamanho máximo permitido.', // old name - errMaxSize
+ 'errUploadFileSize' : 'Arquivo excede o tamanho máximo permitido.', // old name - errFileMaxSize
'errUploadMime' : 'Tipo de arquivo não permitido.',
- 'errUploadTransfer' : '"$1" erro na transferência.',
+ 'errUploadTransfer' : '"$1" erro na transferência.',
+ 'errUploadTemp' : 'Incapaz de criar um arquivo temporário para upload.', // from v2.1 added 26.09.2015
+ 'errNotReplace' : 'Objeto "$1" já existe neste local e não pode ser substituído por um objeto com outro tipo.', // new
+ 'errReplace' : 'Incapaz de substituir "$1".',
'errSave' : 'Incapaz de salvar "$1".',
'errCopy' : 'Incapaz de copiar "$1".',
'errMove' : 'Incapaz de mover "$1".',
'errCopyInItself' : 'Incapaz de copiar "$1" nele mesmo.',
'errRm' : 'Incapaz de remover "$1".',
+ 'errRmSrc' : 'Incapaz de remover o(s) arquivo(s) fonte.',
'errExtract' : 'Incapaz de extrair os arquivos de "$1".',
'errArchive' : 'Incapaz de criar o arquivo.',
'errArcType' : 'Tipo de arquivo não suportado.',
- 'errNoArchive' : 'Arquivo inválido ou é um tipo sem suporte.',
+ 'errNoArchive' : 'Arquivo inválido ou é de um tipo não suportado.',
'errCmdNoSupport' : 'Backend não suporta este comando.',
+ 'errReplByChild' : 'A pasta “$1” não pode ser substituída por um item que contém.',
+ 'errArcSymlinks' : 'Por razões de segurança, negada a permissão para descompactar arquivos que contenham links ou arquivos com nomes não permitidos.', // edited 24.06.2012
+ 'errArcMaxSize' : 'Arquivo excede o tamanho máximo permitido.',
+ 'errResize' : 'Incapaz de redimensionar "$1".',
+ 'errResizeDegree' : 'Grau de rotação inválido.', // added 7.3.2013
+ 'errResizeRotate' : 'Incapaz de rotacionar a imagem.', // added 7.3.2013
+ 'errResizeSize' : 'Tamanho inválido de imagem.', // added 7.3.2013
+ 'errResizeNoChange' : 'Tamanho da imagem não alterado.', // added 7.3.2013
+ 'errUsupportType' : 'Tipo de arquivo não suportado.',
'errNotUTF8Content' : 'Arquivo "$1" não está em UTF-8 e não pode ser editado.', // added 9.11.2011
- 'errNetMount' : 'Habilitar montagem "$1".', // added 17.04.2012
+ 'errNetMount' : 'Incapaz de montar montagem "$1".', // added 17.04.2012
'errNetMountNoDriver' : 'Protocolo não suportado.', // added 17.04.2012
- 'errNetMountFailed' : 'Monagem falhou.', // added 17.04.2012
+ 'errNetMountFailed' : 'Montagem falhou.', // added 17.04.2012
'errNetMountHostReq' : 'Servidor requerido.', // added 18.04.2012
- 'errSessionExpires' : 'Sua sessão expirou por inatividade',
+ 'errSessionExpires' : 'Sua sessão expirou por inatividade.',
'errCreatingTempDir' : 'Não foi possível criar um diretório temporário: "$1"',
'errFtpDownloadFile' : 'Não foi possível fazer o download do arquivo do FTP: "$1"',
'errFtpUploadFile' : 'Não foi possível fazer o upload do arquivo para o FTP: "$1"',
'errFtpMkdir' : 'Não foi possível criar um diretório remoto no FTP: "$1"',
- 'errArchiveExec' : 'Erro no arquivamento: "$1"',
+ 'errArchiveExec' : 'Erro ao arquivar os arquivos: "$1"',
'errExtractExec' : 'Erro na extração dos arquivos: "$1"',
- 'cmdsort' : 'Ordenar',
- 'sortkind' : 'por tipo',
- 'sortname' : 'por nome',
- 'sortsize' : 'por tamanho',
- 'sortdate' : 'por data',
- 'sortFoldersFirst' : 'Pastas primeiro',
- 'errUploadFile' : 'Não foi possível fazer o upload "$1".',
+ 'errNetUnMount' : 'Incapaz de desmontar', // from v2.1 added 30.04.2012
+ 'errConvUTF8' : 'Não conversivel para UTF-8', // from v2.1 added 08.04.2014
+ 'errFolderUpload' : 'Tente utilizar o Google Chrome, se você deseja enviar uma pasta.', // from v2.1 added 26.6.2015
+ 'errSearchTimeout' : 'Tempo limite atingido para a busca "$1". O resultado da pesquisa é parcial.', // from v2.1 added 12.1.2016
+ 'errReauthRequire' : 'Re-autorização é necessária.', // from v2.1.10 added 3.24.2016
/******************************* commands names ********************************/
'cmdarchive' : 'Criar arquivo',
@@ -100,8 +114,9 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'cmdgetfile' : 'Selecionar arquivos',
'cmdhelp' : 'Sobre este software',
'cmdhome' : 'Home',
- 'cmdinfo' : 'propriedades',
+ 'cmdinfo' : 'Propriedades',
'cmdmkdir' : 'Nova pasta',
+ 'cmdmkdirin' : 'Em uma nova pasta', // from v2.1.7 added 19.2.2016
'cmdmkfile' : 'Novo arquivo de texto',
'cmdopen' : 'Abrir',
'cmdpaste' : 'Colar',
@@ -113,21 +128,36 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'cmdup' : 'Ir para o diretório pai',
'cmdupload' : 'Fazer upload de arquivo',
'cmdview' : 'Vizualizar',
- 'cmdresize' : 'Redimencionar & Rodar',
+ 'cmdresize' : 'Redimencionar & Rotacionar',
'cmdsort' : 'Ordenar',
'cmdnetmount' : 'Montar unidade de rede', // added 18.04.2012
+ 'cmdnetunmount': 'Desmontar', // from v2.1 added 30.04.2012
+ 'cmdplaces' : 'Para locais', // added 28.12.2014
+ 'cmdchmod' : 'Alterar permissão', // from v2.1 added 20.6.2015
+ 'cmdopendir' : 'Abrir pasta', // from v2.1 added 13.1.2016
- /*********************************** buttons ***********************************/
+ /*********************************** buttons ***********************************/
'btnClose' : 'Fechar',
'btnSave' : 'Salvar',
'btnRm' : 'Remover',
+ 'btnApply' : 'Aplicar',
'btnCancel' : 'Cancelar',
'btnNo' : 'Não',
'btnYes' : 'Sim',
'btnMount' : 'Montar', // added 18.04.2012
+ 'btnApprove': 'Vá para $1 & aprove', // from v2.1 added 26.04.2012
+ 'btnUnmount': 'Desmontar', // from v2.1 added 30.04.2012
+ 'btnConv' : 'Converter', // from v2.1 added 08.04.2014
+ 'btnCwd' : 'Aqui', // from v2.1 added 22.5.2015
+ 'btnVolume' : 'Volume', // from v2.1 added 22.5.2015
+ 'btnAll' : 'Todos', // from v2.1 added 22.5.2015
+ 'btnMime' : 'MIME Type', // from v2.1 added 22.5.2015
+ 'btnFileName':'Nome do arquivo', // from v2.1 added 22.5.2015
+ 'btnSaveClose': 'Salvar & Fechar', // from v2.1 added 12.6.2015
+ 'btnBackup' : 'Backup', // fromv2.1 added 28.11.2015
/******************************** notifications ********************************/
- 'ntfopen' : 'Abrir Pasta',
+ 'ntfopen' : 'Abrir pasta',
'ntffile' : 'Abrir arquivo',
'ntfreload' : 'Recarregar conteudo da pasta',
'ntfmkdir' : 'Criar diretório',
@@ -135,46 +165,87 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'ntfrm' : 'Deletar arquivos',
'ntfcopy' : 'Copiar arquivos',
'ntfmove' : 'Mover arquivos',
- 'ntfprepare' : 'Preparando para copiar',
+ 'ntfprepare' : 'Preparando para copiar arquivos',
'ntfrename' : 'Renomear arquivos',
- 'ntfupload' : 'Subindo arquivos',
+ 'ntfupload' : 'Subindo os arquivos',
'ntfdownload' : 'Baixando os arquivos',
- 'ntfsave' : 'Slvando os arquivos',
+ 'ntfsave' : 'Salvando os arquivos',
'ntfarchive' : 'Criando os arquivos',
- 'ntfextract' : 'Extraindo arquivos',
+ 'ntfextract' : 'Extraindo arquivos compactados',
'ntfsearch' : 'Procurando arquivos',
+ 'ntfresize' : 'Redimensionando imagens',
'ntfsmth' : 'Fazendo alguma coisa',
+ 'ntfloadimg' : 'Carregando Imagem',
'ntfnetmount' : 'Montando unidade de rede', // added 18.04.2012
-
+ 'ntfnetunmount': 'Desmontando unidade de rede', // from v2.1 added 30.04.2012
+ 'ntfdim' : 'Adquirindo dimensão da imagem', // added 20.05.2013
+ 'ntfreaddir' : 'Lendo informações da pasta', // from v2.1 added 01.07.2013
+ 'ntfurl' : 'Recebendo URL do link', // from v2.1 added 11.03.2014
+ 'ntfchmod' : 'Alterando permissões do arquivo', // from v2.1 added 20.6.2015
+ 'ntfpreupload': 'Verificando o nome do arquivo de upload', // from v2.1 added 31.11.2015
+ 'ntfzipdl' : 'Criando um arquivo para download', // from v2.1.7 added 23.1.2016
/************************************ dates **********************************/
'dateUnknown' : 'Desconhecido',
'Today' : 'Hoje',
'Yesterday' : 'Ontem',
- 'Jan' : 'Jan',
- 'Feb' : 'Fev',
- 'Mar' : 'Mar',
- 'Apr' : 'Abr',
- 'May' : 'Mai',
- 'Jun' : 'Jun',
- 'Jul' : 'Jul',
- 'Aug' : 'Ago',
- 'Sep' : 'Set',
- 'Oct' : 'Out',
- 'Nov' : 'Nov',
- 'Dec' : 'Dez',
+ 'msJan' : 'Jan',
+ 'msFeb' : 'Fev',
+ 'msMar' : 'Mar',
+ 'msApr' : 'Abr',
+ 'msMay' : 'Mai',
+ 'msJun' : 'Jun',
+ 'msJul' : 'Jul',
+ 'msAug' : 'Ago',
+ 'msSep' : 'Set',
+ 'msOct' : 'Out',
+ 'msNov' : 'Nov',
+ 'msDec' : 'Dez',
+ 'January' : 'Janeiro',
+ 'February' : 'Fevereiro',
+ 'March' : 'Março',
+ 'April' : 'Abril',
+ 'May' : 'Maio',
+ 'June' : 'Junho',
+ 'July' : 'Julho',
+ 'August' : 'Agosto',
+ 'September' : 'Setembro',
+ 'October' : 'Outubro',
+ 'November' : 'Novembro',
+ 'December' : 'Dezembro',
+ 'Sunday' : 'Domingo',
+ 'Monday' : 'Segunda-feira',
+ 'Tuesday' : 'Terça-feira',
+ 'Wednesday' : 'Quarta-feira',
+ 'Thursday' : 'Quinta-feira',
+ 'Friday' : 'Sexta-feira',
+ 'Saturday' : 'Sábado',
+ 'Sun' : 'Dom',
+ 'Mon' : 'Seg',
+ 'Tue' : 'Ter',
+ 'Wed' : 'Qua',
+ 'Thu' : 'Qui',
+ 'Fri' : 'Sex',
+ 'Sat' : 'Sáb',
/******************************** sort variants ********************************/
- 'sortname' : 'por nome',
- 'sortkind' : 'por tipo',
+ 'sortname' : 'por nome',
+ 'sortkind' : 'por tipo',
'sortsize' : 'por tam.',
'sortdate' : 'por data',
'sortFoldersFirst' : 'Pastas primeiro',
-
+
+ /********************************** new items **********************************/
+ 'untitled file.txt' : 'NovoArquivo.txt', // added 10.11.2015
+ 'untitled folder' : 'NovaPasta', // added 10.11.2015
+ 'Archive' : 'NovoArquivo', // from v2.1 added 10.11.2015
+
/********************************** messages **********************************/
'confirmReq' : 'Confirmação requerida',
- 'confirmRm' : 'Você tem certeza que quer remover os arquivos? Isto não pode ser desfeito!',
+ 'confirmRm' : 'Você tem certeza que deseja remover os arquivos? Isto não pode ser desfeito!',
'confirmRepl' : 'Substituir arquivo velho com este novo?',
+ 'confirmConvUTF8' : 'Não está em UTF-8 Converter para UTF-8? Conteúdo se torna UTF-8 após salvar as conversões.', // from v2.1 added 08.04.2014
+ 'confirmNotSave' : 'Isto foi modificado. Você vai perder seu trabalho caso não salve as mudanças.', // from v2.1 added 15.7.2015
'apllyAll' : 'Aplicar a todos',
'name' : 'Nome',
'size' : 'Tamanho',
@@ -193,7 +264,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'viewlist' : 'Exibir como lista',
'viewicons' : 'Exibir como ícones',
'places' : 'Lugares',
- 'calc' : 'Calcular',
+ 'calc' : 'Calcular',
'path' : 'Caminho',
'aliasfor' : 'Alias para',
'locked' : 'Bloqueado',
@@ -204,7 +275,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'yes' : 'sim',
'no' : 'não',
'link' : 'Link',
- 'searcresult' : 'resultados da pesquisa',
+ 'searcresult' : 'Resultados da pesquisa',
'selected' : 'itens selecionados',
'about' : 'Sobre',
'shortcuts' : 'Atalhos',
@@ -224,7 +295,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'maintainer' : 'Mantenedor',
'translator' : 'Tradutor',
'icons' : 'Ícones',
- 'dontforget' : 'e não se esqueça de levar sua toalha',
+ 'dontforget' : 'e não se esqueça de levar a sua toalha',
'shortcutsof' : 'Atalhos desabilitados',
'dropFiles' : 'Solte os arquivos aqui',
'or' : 'ou',
@@ -248,6 +319,31 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'port' : 'Porta', // added 18.04.2012
'user' : 'Usuário', // added 18.04.2012
'pass' : 'Senha', // added 18.04.2012
+ 'confirmUnmount' : 'Deseja desmontar $1?', // from v2.1 added 30.04.2012
+ 'dropFilesBrowser': 'Soltar ou colar arquivos do navegador', // from v2.1 added 30.05.2012
+ 'dropPasteFiles' : 'Solte ou cole arquivos aqui', // from v2.1 added 07.04.2014
+ 'encoding' : 'Codificação', // from v2.1 added 19.12.2014
+ 'locale' : 'Local', // from v2.1 added 19.12.2014
+ 'searchTarget' : 'Alvo: $1', // from v2.1 added 22.5.2015
+ 'searchMime' : 'Perquisar por input MIME Type', // from v2.1 added 22.5.2015
+ 'owner' : 'Dono', // from v2.1 added 20.6.2015
+ 'group' : 'Grupo', // from v2.1 added 20.6.2015
+ 'other' : 'Outro', // from v2.1 added 20.6.2015
+ 'execute' : 'Executar', // from v2.1 added 20.6.2015
+ 'perm' : 'Permissão', // from v2.1 added 20.6.2015
+ 'mode' : 'Modo', // from v2.1 added 20.6.2015
+ 'emptyFolder' : 'Pasta vazia', // from v2.1.6 added 30.12.2015
+ 'emptyFolderDrop' : 'Pasta vazia\\A Arraste itens para os adicionar', // from v2.1.6 added 30.12.2015
+ 'emptyFolderLTap' : 'Pasta vazia\\A De um toque longo para adicionar itens', // from v2.1.6 added 30.12.2015
+ 'quality' : 'Qualidade', // from v2.1.6 added 5.1.2016
+ 'autoSync' : 'Auto sincronização', // from v2.1.6 added 10.1.2016
+ 'moveUp' : 'Mover para cima', // from v2.1.6 added 18.1.2016
+ 'getLink' : 'Obter link', // from v2.1.7 added 9.2.2016
+ 'selectedItems' : 'Itens selecionados ($1)', // from v2.1.7 added 2.19.2016
+ 'folderId' : 'ID da pasta', // from v2.1.10 added 3.25.2016
+ 'offlineAccess' : 'Permitir acesso offline', // from v2.1.10 added 3.25.2016
+ 'reAuth' : 'Se autenticar novamente', // from v2.1.10 added 3.25.2016
+ 'nowLoading' : 'Now loading...', // from v2.1.12 added 4.26.2016
/********************************** mimetypes **********************************/
'kindUnknown' : 'Desconhecio',
@@ -269,6 +365,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindTAR' : 'Arquivo TAR',
'kindGZIP' : 'Arquivo GZIP',
'kindBZIP' : 'Arquivo BZIP',
+ 'kindXZ' : 'Arquivo XZ',
'kindZIP' : 'Arquivo ZIP',
'kindRAR' : 'Arquivo RAR',
'kindJAR' : 'Arquivo JAR',
@@ -297,6 +394,7 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindAWK' : 'AWK',
'kindCSV' : 'Valores separados por vírgula',
'kindDOCBOOK' : 'Documento Docbook XML',
+ 'kindMarkdown' : 'Markdown text', // added 20.7.2015
// images
'kindImage' : 'Imagem',
'kindBMP' : 'Imagem BMP',
@@ -309,14 +407,14 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindXBITMAP' : 'Imagem X bitmap',
'kindPXM' : 'Imagem Pixelmator',
// media
- 'kindAudio' : 'Audio media',
+ 'kindAudio' : 'Arquivo de audio',
'kindAudioMPEG' : 'Audio MPEG',
'kindAudioMPEG4' : 'Audio MPEG-4',
'kindAudioMIDI' : 'Audio MIDI',
'kindAudioOGG' : 'Audio Ogg Vorbis',
'kindAudioWAV' : 'Audio WAV',
'AudioPlaylist' : 'MP3 playlist',
- 'kindVideo' : 'Video media',
+ 'kindVideo' : 'Arquivo de video',
'kindVideoDV' : 'DV filme',
'kindVideoMPEG' : 'Video MPEG',
'kindVideoMPEG4' : 'Video MPEG-4',
@@ -324,8 +422,9 @@ if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object'
'kindVideoMOV' : 'Quick Time movie',
'kindVideoWM' : 'Video Windows Media',
'kindVideoFlash' : 'Video Flash',
- 'kindVideoMKV' : 'Video Matroska',
+ 'kindVideoMKV' : 'MKV',
'kindVideoOGG' : 'Video Ogg'
}
- }
+ };
}
+
diff --git a/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.ro.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.ro.js
new file mode 100644
index 0000000..91620f7
--- /dev/null
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.ro.js
@@ -0,0 +1,409 @@
+/**
+ * Română translation
+ * @author Cristian Tabacitu
+ * @version 2015-11-13
+ */
+if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
+ elFinder.prototype.i18.ro = {
+ translator : 'Cristian Tabacitu <hello@tabacitu.ro>',
+ language : 'Română',
+ direction : 'ltr',
+ dateFormat : 'd M Y h:i', // Mar 13, 2012 05:27 PM
+ fancyDateFormat : '$1 h:i A', // will produce smth like: Today 12:25 PM
+ messages : {
+
+ /********************************** errors **********************************/
+ 'error' : 'Eroare',
+ 'errUnknown' : 'Eroare necunoscută.',
+ 'errUnknownCmd' : 'Comandă necunoscuta.',
+ 'errJqui' : 'Configurație jQuery UI necunoscută. Componentele selectable, draggable și droppable trebuie să fie incluse.',
+ 'errNode' : 'elFinder necesită ca DOM Element să fie creat.',
+ 'errURL' : 'Configurație elFinder nevalidă! URL option nu este setat.',
+ 'errAccess' : 'Acces interzis.',
+ 'errConnect' : 'Nu ne-am putut conecta la backend.',
+ 'errAbort' : 'Conexiunea a fost oprită.',
+ 'errTimeout' : 'Conexiunea a fost întreruptă.',
+ 'errNotFound' : 'Nu am gasit backend-ul.',
+ 'errResponse' : 'Răspuns backend greșit.',
+ 'errConf' : 'Configurație backend greșită.',
+ 'errJSON' : 'Modulul PHP JSON nu este instalat.',
+ 'errNoVolumes' : 'Volumele citibile nu sunt disponibile.',
+ 'errCmdParams' : 'Parametri greșiți pentru comanda "$1".',
+ 'errDataNotJSON' : 'Datele nu sunt în format JSON.',
+ 'errDataEmpty' : 'Datele sunt goale.',
+ 'errCmdReq' : 'Cererea către backend necesită un nume de comandă.',
+ 'errOpen' : 'Nu am putut deschide "$1".',
+ 'errNotFolder' : 'Obiectul nu este un dosar.',
+ 'errNotFile' : 'Obiectul nu este un fișier.',
+ 'errRead' : 'Nu am putut citi "$1".',
+ 'errWrite' : 'Nu am putu scrie în "$1".',
+ 'errPerm' : 'Nu ai permisiunea necesară.',
+ 'errLocked' : '"$1" este blocat și nu poate fi redenumit, mutat sau șters.',
+ 'errExists' : 'Un fișier cu numele "$1" există deja.',
+ 'errInvName' : 'Numele pentru fișier este greșit.',
+ 'errFolderNotFound' : 'Nu am găsit dosarul.',
+ 'errFileNotFound' : 'Nu am găsit fișierul.',
+ 'errTrgFolderNotFound' : 'Nu am găsit dosarul pentru destinație "$1".',
+ 'errPopup' : 'Browserul tău a prevenit deschiderea ferestrei popup. Pentru a deschide fișierul permite deschidere ferestrei.',
+ 'errMkdir' : 'Nu am putut crea dosarul "$1".',
+ 'errMkfile' : 'Nu am putut crea fișierul "$1".',
+ 'errRename' : 'Nu am putut redenumi "$1".',
+ 'errCopyFrom' : 'Copierea fișierelor de pe volumul "$1" este interzisă.',
+ 'errCopyTo' : 'Copierea fișierelor către volumul "$1" este interzisă.',
+ 'errMkOutLink' : 'Nu am putut crea linkul în afara volumului rădăcină.', // from v2.1 added 03.10.2015
+ 'errUpload' : 'Eroare de upload.', // old name - errUploadCommon
+ 'errUploadFile' : 'Nu am putut urca "$1".', // old name - errUpload
+ 'errUploadNoFiles' : 'Nu am găsit fișiere pentru a le urca.',
+ 'errUploadTotalSize' : 'Datele depâșest limita maximă de mărime.', // old name - errMaxSize
+ 'errUploadFileSize' : 'Fișierul este prea mare.', // old name - errFileMaxSize
+ 'errUploadMime' : 'Acest tip de fișier nu este permis.',
+ 'errUploadTransfer' : 'Eroare la transferarea "$1".',
+ 'errUploadTemp' : 'Nu am putut crea fișierul temporar pentru upload.', // from v2.1 added 26.09.2015
+ 'errNotReplace' : 'Obiectul "$1" există deja în acest loc și nu poate fi înlocuit de un obiect de alt tip.', // new
+ 'errReplace' : 'Nu am putut înlocui "$1".',
+ 'errSave' : 'Nu am putut salva "$1".',
+ 'errCopy' : 'Nu am putut copia "$1".',
+ 'errMove' : 'Nu am putut muta "$1".',
+ 'errCopyInItself' : 'Nu am putut copia "$1" în el însuși.',
+ 'errRm' : 'Nu am putut șterge "$1".',
+ 'errRmSrc' : 'Nu am putut șterge fișierul sursă.',
+ 'errExtract' : 'Nu am putut extrage fișierele din "$1".',
+ 'errArchive' : 'Nu am putut crea arhiva.',
+ 'errArcType' : 'Arhiva este de un tip nesuportat.',
+ 'errNoArchive' : 'Fișierul nu este o arhiva sau este o arhivă de un tip necunoscut.',
+ 'errCmdNoSupport' : 'Backend-ul nu suportă această comandă.',
+ 'errReplByChild' : 'Dosarul “$1” nu poate fi înlocuit de un element pe care el îl conține.',
+ 'errArcSymlinks' : 'Din motive de securitate, arhiva nu are voie să conțină symlinks sau fișiere cu nume interzise.', // edited 24.06.2012
+ 'errArcMaxSize' : 'Fișierul arhivei depășește mărimea maximă permisă.',
+ 'errResize' : 'Nu am putut redimensiona "$1".',
+ 'errResizeDegree' : 'Grad de rotație nevalid.', // added 7.3.2013
+ 'errResizeRotate' : 'Imaginea nu a fost rotită.', // added 7.3.2013
+ 'errResizeSize' : 'Mărimea imaginii este nevalidă.', // added 7.3.2013
+ 'errResizeNoChange' : 'Mărimea imaginii nu a fost schimbată.', // added 7.3.2013
+ 'errUsupportType' : 'Tipul acesta de fișier nu este suportat.',
+ 'errNotUTF8Content' : 'Fișierul "$1" nu folosește UTF-8 și nu poate fi editat.', // added 9.11.2011
+ 'errNetMount' : 'Nu am putut încărca "$1".', // added 17.04.2012
+ 'errNetMountNoDriver' : 'Protocol nesuportat.', // added 17.04.2012
+ 'errNetMountFailed' : 'Încărcare eșuată.', // added 17.04.2012
+ 'errNetMountHostReq' : 'Gazda este necesară.', // added 18.04.2012
+ 'errSessionExpires' : 'Sesiunea a expirat datorită lipsei de activitate.',
+ 'errCreatingTempDir' : 'Nu am putut crea fișierul temporar: "$1"',
+ 'errFtpDownloadFile' : 'Nu am putut descarca fișierul de pe FTP: "$1"',
+ 'errFtpUploadFile' : 'Nu am putut încărca fișierul pe FTP: "$1"',
+ 'errFtpMkdir' : 'Nu am putut crea acest dosar pe FTP: "$1"',
+ 'errArchiveExec' : 'Eroare la arhivarea fișierelor: "$1"',
+ 'errExtractExec' : 'Eroare la dezarhivarea fișierelor: "$1"',
+ 'errNetUnMount' : 'Nu am putut elimina volumul', // from v2.1 added 30.04.2012
+ 'errConvUTF8' : 'Nu poate fi convertit la UTF-8', // from v2.1 added 08.04.2014
+ 'errFolderUpload' : 'Pentru a urca dosare încearcă Google Chrome.', // from v2.1 added 26.6.2015
+
+ /******************************* commands names ********************************/
+ 'cmdarchive' : 'Creeaza arhivă',
+ 'cmdback' : 'Înapoi',
+ 'cmdcopy' : 'Copiază',
+ 'cmdcut' : 'Taie',
+ 'cmddownload' : 'Descarcă',
+ 'cmdduplicate' : 'Creează duplicat',
+ 'cmdedit' : 'Modifică fișier',
+ 'cmdextract' : 'Extrage fișierele din arhivă',
+ 'cmdforward' : 'Înainte',
+ 'cmdgetfile' : 'Alege fișiere',
+ 'cmdhelp' : 'Despre acest software',
+ 'cmdhome' : 'Acasă',
+ 'cmdinfo' : 'Informații',
+ 'cmdmkdir' : 'Dosar nou',
+ 'cmdmkfile' : 'Fișier text nou',
+ 'cmdopen' : 'Deschide',
+ 'cmdpaste' : 'Lipește',
+ 'cmdquicklook' : 'Previzualizează',
+ 'cmdreload' : 'Reîncarcă',
+ 'cmdrename' : 'Redenumește',
+ 'cmdrm' : 'Șterge',
+ 'cmdsearch' : 'Găsește fișiere',
+ 'cmdup' : 'Mergi la dosarul părinte',
+ 'cmdupload' : 'Urcă fișiere',
+ 'cmdview' : 'Vezi',
+ 'cmdresize' : 'Redimensionează & rotește',
+ 'cmdsort' : 'Sortează',
+ 'cmdnetmount' : 'Încarcă volum din rețea', // added 18.04.2012
+ 'cmdnetunmount': 'Elimină volum', // from v2.1 added 30.04.2012
+ 'cmdplaces' : 'La Locuri', // added 28.12.2014
+ 'cmdchmod' : 'Schimbă mod', // from v2.1 added 20.6.2015
+
+ /*********************************** buttons ***********************************/
+ 'btnClose' : 'Închide',
+ 'btnSave' : 'Salvează',
+ 'btnRm' : 'Șterge',
+ 'btnApply' : 'Aplică',
+ 'btnCancel' : 'Anulează',
+ 'btnNo' : 'Nu',
+ 'btnYes' : 'Da',
+ 'btnMount' : 'Încarcă', // added 18.04.2012
+ 'btnApprove': 'Mergi la $1 și aprobă', // from v2.1 added 26.04.2012
+ 'btnUnmount': 'Elimină volum', // from v2.1 added 30.04.2012
+ 'btnConv' : 'Convertește', // from v2.1 added 08.04.2014
+ 'btnCwd' : 'Aici', // from v2.1 added 22.5.2015
+ 'btnVolume' : 'Volum', // from v2.1 added 22.5.2015
+ 'btnAll' : 'Toate', // from v2.1 added 22.5.2015
+ 'btnMime' : 'Tipuri MIME', // from v2.1 added 22.5.2015
+ 'btnFileName':'Nume fișier', // from v2.1 added 22.5.2015
+ 'btnSaveClose': 'Salvează și închide', // from v2.1 added 12.6.2015
+
+ /******************************** notifications ********************************/
+ 'ntfopen' : 'Deschide dosar',
+ 'ntffile' : 'Deschide fișier',
+ 'ntfreload' : 'Actualizează conținutul dosarului',
+ 'ntfmkdir' : 'Se creează dosarul',
+ 'ntfmkfile' : 'Se creează fișierele',
+ 'ntfrm' : 'Șterge fișiere',
+ 'ntfcopy' : 'Copiază fișiere',
+ 'ntfmove' : 'Mută fișiere',
+ 'ntfprepare' : 'Pregătește copierea fișierelor',
+ 'ntfrename' : 'Redenumește fișiere',
+ 'ntfupload' : 'Se urcă fișierele',
+ 'ntfdownload' : 'Se descarcă fișierele',
+ 'ntfsave' : 'Salvează fișiere',
+ 'ntfarchive' : 'Se creează arhiva',
+ 'ntfextract' : 'Se extrag fișierele din arhivă',
+ 'ntfsearch' : 'Se caută fișierele',
+ 'ntfresize' : 'Se redimnesionează imaginile',
+ 'ntfsmth' : 'Se întamplă ceva',
+ 'ntfloadimg' : 'Se încarcă imaginea',
+ 'ntfnetmount' : 'Se încarcă volumul din rețea', // added 18.04.2012
+ 'ntfnetunmount': 'Se elimină volumul din rețea', // from v2.1 added 30.04.2012
+ 'ntfdim' : 'Se preiau dimensiunile imaginii', // added 20.05.2013
+ 'ntfreaddir' : 'Se citesc informațiile dosarului', // from v2.1 added 01.07.2013
+ 'ntfurl' : 'Se preia URL-ul din link', // from v2.1 added 11.03.2014
+ 'ntfchmod' : 'Se schimba modul de fișier', // from v2.1 added 20.6.2015
+
+ /************************************ dates **********************************/
+ 'dateUnknown' : 'necunoscută',
+ 'Today' : 'Astăzi',
+ 'Yesterday' : 'Ieri',
+ 'msJan' : 'Ian',
+ 'msFeb' : 'Feb',
+ 'msMar' : 'Mar',
+ 'msApr' : 'Apr',
+ 'msMay' : 'Mai',
+ 'msJun' : 'Iun',
+ 'msJul' : 'Iul',
+ 'msAug' : 'Aug',
+ 'msSep' : 'Sep',
+ 'msOct' : 'Oct',
+ 'msNov' : 'Nov',
+ 'msDec' : 'Dec',
+ 'January' : 'Ianuarie',
+ 'February' : 'Februarie',
+ 'March' : 'Martie',
+ 'April' : 'Aprilie',
+ 'May' : 'Mai',
+ 'June' : 'Iunie',
+ 'July' : 'Iulie',
+ 'August' : 'August',
+ 'September' : 'Septembrie',
+ 'October' : 'Octombrie',
+ 'November' : 'Noiembrie',
+ 'December' : 'Decembrie',
+ 'Sunday' : 'Duminică',
+ 'Monday' : 'Luni',
+ 'Tuesday' : 'Marți',
+ 'Wednesday' : 'Miercuri',
+ 'Thursday' : 'Joi',
+ 'Friday' : 'Vineri',
+ 'Saturday' : 'Sâmbătă',
+ 'Sun' : 'Du',
+ 'Mon' : 'Lu',
+ 'Tue' : 'Ma',
+ 'Wed' : 'Mi',
+ 'Thu' : 'Jo',
+ 'Fri' : 'Vi',
+ 'Sat' : 'Sâ',
+
+ /******************************** sort variants ********************************/
+ 'sortname' : 'după nume',
+ 'sortkind' : 'după tip',
+ 'sortsize' : 'după mărime',
+ 'sortdate' : 'după dată',
+ 'sortFoldersFirst' : 'Dosarele primele',
+
+ /********************************** new items **********************************/
+ 'untitled file.txt' : 'FisierNou.txt', // added 10.11.2015
+ 'untitled folder' : 'DosarNou', // added 10.11.2015
+ 'Archive' : 'ArhivaNoua', // from v2.1 added 10.11.2015
+
+ /********************************** messages **********************************/
+ 'confirmReq' : 'Este necesară confirmare',
+ 'confirmRm' : 'Ești sigur că vrei să ștergi fișierele? Acțiunea este ireversibilă!',
+ 'confirmRepl' : 'Înlocuiește fișierul vechi cu cel nou?',
+ 'confirmConvUTF8' : 'Nu este în UTF-8 Convertim la UTF-8? Conținutul devine UTF-8 după salvarea conversiei.', // from v2.1 added 08.04.2014
+ 'confirmNotSave' : 'Au avut loc modificări. Dacă nu salvezi se vor pierde modificările.', // from v2.1 added 15.7.2015
+ 'apllyAll' : 'Aplică pentru toate',
+ 'name' : 'Nume',
+ 'size' : 'Mărime',
+ 'perms' : 'Permisiuni',
+ 'modify' : 'Modificat la',
+ 'kind' : 'Tip',
+ 'read' : 'citire',
+ 'write' : 'scriere',
+ 'noaccess' : 'acces interzis',
+ 'and' : 'și',
+ 'unknown' : 'necunoscut',
+ 'selectall' : 'Alege toate fișierele',
+ 'selectfiles' : 'Alege fișier(e)',
+ 'selectffile' : 'Alege primul fișier',
+ 'selectlfile' : 'Alege ultimul fișier',
+ 'viewlist' : 'Vezi ca listă',
+ 'viewicons' : 'Vezi ca icoane',
+ 'places' : 'Locuri',
+ 'calc' : 'Calculează',
+ 'path' : 'Cale',
+ 'aliasfor' : 'Alias pentru',
+ 'locked' : 'Securizat',
+ 'dim' : 'Dimensiuni',
+ 'files' : 'Fișiere',
+ 'folders' : 'Dosare',
+ 'items' : 'Elemente',
+ 'yes' : 'da',
+ 'no' : 'nu',
+ 'link' : 'Link',
+ 'searcresult' : 'Rezultatele căutării',
+ 'selected' : 'elemente alese',
+ 'about' : 'Despre',
+ 'shortcuts' : 'Scurtături',
+ 'help' : 'Ajutor',
+ 'webfm' : 'Manager web pentru fișiere',
+ 'ver' : 'Versiune',
+ 'protocolver' : 'versiune protocol',
+ 'homepage' : 'Pagina proiectului',
+ 'docs' : 'Documentație',
+ 'github' : 'Fork nou pe Github',
+ 'twitter' : 'Urmărește-ne pe twitter',
+ 'facebook' : 'Alătura-te pe facebook',
+ 'team' : 'Echipa',
+ 'chiefdev' : 'chief developer',
+ 'developer' : 'developer',
+ 'contributor' : 'contributor',
+ 'maintainer' : 'maintainer',
+ 'translator' : 'translator',
+ 'icons' : 'Icoane',
+ 'dontforget' : 'și nu uita să-ți iei prosopul',
+ 'shortcutsof' : 'Scurtăturile sunt dezactivate',
+ 'dropFiles' : 'Dă drumul fișierelor aici',
+ 'or' : 'sau',
+ 'selectForUpload' : 'Alege fișiere pentru a le urca',
+ 'moveFiles' : 'Mută fișiere',
+ 'copyFiles' : 'Copiază fișiere',
+ 'rmFromPlaces' : 'Șterge din locuri',
+ 'aspectRatio' : 'Aspect ratio',
+ 'scale' : 'Scală',
+ 'width' : 'Lățime',
+ 'height' : 'Înălțime',
+ 'resize' : 'Redimensionează',
+ 'crop' : 'Decupează',
+ 'rotate' : 'Rotește',
+ 'rotate-cw' : 'Rotește cu 90° în sensul ceasului',
+ 'rotate-ccw' : 'Rotește cu 90° în sensul invers ceasului',
+ 'degree' : '°',
+ 'netMountDialogTitle' : 'Încarcă volum din rețea', // added 18.04.2012
+ 'protocol' : 'Protocol', // added 18.04.2012
+ 'host' : 'Gazdă', // added 18.04.2012
+ 'port' : 'Port', // added 18.04.2012
+ 'user' : 'Utilizator', // added 18.04.2012
+ 'pass' : 'Parolă', // added 18.04.2012
+ 'confirmUnmount' : 'Vrei să elimini volumul $1?', // from v2.1 added 30.04.2012
+ 'dropFilesBrowser': 'Drag&drop sau lipește din browser', // from v2.1 added 30.05.2012
+ 'dropPasteFiles' : 'Drag&drop sau lipește fișiere aici', // from v2.1 added 07.04.2014
+ 'encoding' : 'Encodare', // from v2.1 added 19.12.2014
+ 'locale' : 'Locale', // from v2.1 added 19.12.2014
+ 'searchTarget' : 'Țintă: $1', // from v2.1 added 22.5.2015
+ 'searchMime' : 'Caută după tipul MIME', // from v2.1 added 22.5.2015
+ 'owner' : 'Owner', // from v2.1 added 20.6.2015
+ 'group' : 'Group', // from v2.1 added 20.6.2015
+ 'other' : 'Other', // from v2.1 added 20.6.2015
+ 'execute' : 'Execute', // from v2.1 added 20.6.2015
+ 'perm' : 'Permission', // from v2.1 added 20.6.2015
+ 'mode' : 'Mod', // from v2.1 added 20.6.2015
+
+ /********************************** mimetypes **********************************/
+ 'kindUnknown' : 'Necunoscut',
+ 'kindFolder' : 'Dosar',
+ 'kindAlias' : 'Alias',
+ 'kindAliasBroken' : 'Alias stricat',
+ // applications
+ 'kindApp' : 'Aplicație',
+ 'kindPostscript' : 'Document Postscript',
+ 'kindMsOffice' : 'Document Microsoft Office',
+ 'kindMsWord' : 'Document Microsoft Word',
+ 'kindMsExcel' : 'Document Microsoft Excel',
+ 'kindMsPP' : 'Prezentare Microsoft Powerpoint',
+ 'kindOO' : 'Document Open Office',
+ 'kindAppFlash' : 'Aplicație Flash',
+ 'kindPDF' : 'Document Portabil (PDF)',
+ 'kindTorrent' : 'Fișier Bittorrent',
+ 'kind7z' : 'Arhivă 7z',
+ 'kindTAR' : 'Arhivă TAR',
+ 'kindGZIP' : 'Arhivă GZIP',
+ 'kindBZIP' : 'Arhivă BZIP',
+ 'kindXZ' : 'Arhivă XZ',
+ 'kindZIP' : 'Arhivă ZIP',
+ 'kindRAR' : 'Arhivă RAR',
+ 'kindJAR' : 'Fișier Java JAR',
+ 'kindTTF' : 'Font True Type',
+ 'kindOTF' : 'Font Open Type',
+ 'kindRPM' : 'Pachet RPM',
+ // texts
+ 'kindText' : 'Document text',
+ 'kindTextPlain' : 'Text simplu',
+ 'kindPHP' : 'Sursă PHP',
+ 'kindCSS' : 'Fișier de stil (CSS)',
+ 'kindHTML' : 'Document HTML',
+ 'kindJS' : 'Sursă Javascript',
+ 'kindRTF' : 'Text formatat (rich text)',
+ 'kindC' : 'Sursă C',
+ 'kindCHeader' : 'Sursă C header',
+ 'kindCPP' : 'Sursă C++',
+ 'kindCPPHeader' : 'Sursă C++ header',
+ 'kindShell' : 'Script terminal Unix',
+ 'kindPython' : 'Sursă Python',
+ 'kindJava' : 'Sursă Java',
+ 'kindRuby' : 'Sursă Ruby',
+ 'kindPerl' : 'Script Perl',
+ 'kindSQL' : 'Sursă SQL',
+ 'kindXML' : 'Document XML',
+ 'kindAWK' : 'Sursă AWK',
+ 'kindCSV' : 'Valori separate de virgulă (CSV)',
+ 'kindDOCBOOK' : 'Document Docbook XML',
+ 'kindMarkdown' : 'Text Markdown', // added 20.7.2015
+ // images
+ 'kindImage' : 'Imagine',
+ 'kindBMP' : 'Imagine BMP',
+ 'kindJPEG' : 'Imagine JPEG',
+ 'kindGIF' : 'Imagine GIF',
+ 'kindPNG' : 'Imagine PNG',
+ 'kindTIFF' : 'Imagine TIFF',
+ 'kindTGA' : 'Imagine TGA',
+ 'kindPSD' : 'Imagine Adobe Photoshop',
+ 'kindXBITMAP' : 'Imagine X bitmap',
+ 'kindPXM' : 'Imagine Pixelmator',
+ // media
+ 'kindAudio' : 'Audio',
+ 'kindAudioMPEG' : 'Audio MPEG',
+ 'kindAudioMPEG4' : 'Audio MPEG-4',
+ 'kindAudioMIDI' : 'Audio MIDI',
+ 'kindAudioOGG' : 'Audio Ogg Vorbis',
+ 'kindAudioWAV' : 'Audio WAV',
+ 'AudioPlaylist' : 'Playlist MP3',
+ 'kindVideo' : 'Video',
+ 'kindVideoDV' : 'Video DV',
+ 'kindVideoMPEG' : 'Video MPEG',
+ 'kindVideoMPEG4' : 'Video MPEG-4',
+ 'kindVideoAVI' : 'Video AVI',
+ 'kindVideoMOV' : 'Video Quick Time',
+ 'kindVideoWM' : 'Video Windows Media',
+ 'kindVideoFlash' : 'Video Flash',
+ 'kindVideoMKV' : 'Video Matroska',
+ 'kindVideoOGG' : 'Video Ogg'
+ }
+ };
+}
+
diff --git a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.ru.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.ru.js
similarity index 51%
rename from elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.ru.js
rename to elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.ru.js
index a03915b..4c60245 100644
--- a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.ru.js
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.ru.js
@@ -1,362 +1,432 @@
-/**
- * Russian translation
- * @author Dmitry "dio" Levashov
- * @version 2011-07-15
- */
-if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
- elFinder.prototype.i18.ru = {
- translator : 'Dmitry "dio" Levashov <dio@std42.ru>',
- language : 'Русский язык',
- direction : 'ltr',
- dateFormat : 'd M Y H:i',
- fancyDateFormat : '$1 H:i',
- messages : {
-
- /********************************** errors **********************************/
- 'error' : 'Ошибка',
- 'errUnknown' : 'Неизвестная ошибка.',
- 'errUnknownCmd' : 'Неизвестная комманда.',
- 'errJqui' : 'Отсутствуют необходимые компоненты jQuery UI - selectable, draggable и droppable.',
- 'errNode' : 'Отсутствует DOM элемент для инициализации elFinder.',
- 'errURL' : 'Некорректная настройка. Необходимо указать URL сервера.',
- 'errAccess' : 'Доступ запрещен.',
- 'errConnect' : 'Не удалось соединиться с сервером.',
- 'errAbort' : 'Соединение прервано.',
- 'errTimeout' : 'Таймаут соединения.',
- 'errNotFound' : 'Сервер не найден.',
- 'errResponse' : 'Некорректный ответ сервера.',
- 'errConf' : 'Некорректная настройка сервера.',
- 'errJSON' : 'Модуль PHP JSON не установлен.',
- 'errNoVolumes' : 'Отсутствуют корневые директории достуные для чтения.',
- 'errCmdParams' : 'Некорректные параметры комманды "$1".',
- 'errDataNotJSON' : 'Данные не формате JSON.',
- 'errDataEmpty' : 'Данные отсутствуют.',
- 'errCmdReq' : 'Для запроса к серверу необходимо указать имя комманды.',
- 'errOpen' : 'Не удалось открыть "$1".',
- 'errNotFolder' : 'Объект не является папкой.',
- 'errNotFile' : 'Объект не является файлом.',
- 'errRead' : 'Ошибка чтения "$1".',
- 'errWrite' : 'Ошибка записи "$1".',
- 'errPerm' : 'Доступ запрещен.',
- 'errLocked' : '"$1" защищен и не может быть переименован, перемещен или удален.',
- 'errExists' : 'В папке уже существует объект с именем "$1".',
- 'errInvName' : 'Недопустимое имя файла.',
- 'errFolderNotFound' : 'Папка не найдена.',
- 'errFileNotFound' : 'Файл не найден.',
- 'errTrgFolderNotFound' : 'Целевая папка "$1" не найдена.',
- 'errPopup' : 'Браузер заблокировал открытие нового окна. Чтобы окрыть файл, измените настройки браузера.',
- 'errMkdir' : 'Ошибка создания папки "$1".',
- 'errMkfile' : 'Ошибка создания файла "$1".',
- 'errRename' : 'Ошибка переименования "$1".',
- 'errCopyFrom' : 'Копирование из корневой директории "$1" запрещено.',
- 'errCopyTo' : 'Копирование в корневую директорию "$1" запрещено.',
- 'errUploadCommon' : 'Ошибка загрузки файлов.',
- 'errUpload' : 'Ошибка загрузки "$1".',
- 'errUploadNoFiles' : 'Отсутствуют загруженые файлы.',
- 'errMaxSize' : 'Превышен допустимый размер загружаемых файлов.',
- 'errFileMaxSize' : 'Размер файла превышает допустимый.',
- 'errUploadMime' : 'Недопустимый тип файла.',
- 'errUploadTransfer' : 'Ошибка передачи файла "$1".',
- 'errSave' : 'Ошибка сохранения "$1".',
- 'errCopy' : 'Ошибка копирования "$1".',
- 'errMove' : 'Ошибка перемещения "$1".',
- 'errCopyInItself' : 'Невозможно скопировать "$1" в самого себя.',
- 'errRm' : 'Ошибка удаления "$1".',
- 'errExtract' : 'Ошибка извлечения файлов из архива "$1".',
- 'errArchive' : 'Ошибка создания архива.',
- 'errArcType' : 'Неподдерживаемый тип архива.',
- 'errNoArchive' : 'Файл не является архивом допустимого типа.',
- 'errCmdNoSupport' : 'Сервер не поддерживает эту комманду.',
- 'errReplByChild' : 'Невозможно заменить папку "$1" содержащимся в ней объектом.',
- 'errArcSymlinks' : 'По соображениям безопасности запрещена распаковка архивов, содержащих ссылки (symlinks) или файлы с недопустимыми именами.', // edited 24.06.2012
- 'errArcMaxSize' : 'Размер файлов в архиве превышает максимально разрешенный.',
- 'errResize' : 'Не удалось изменить размер "$1".',
- 'errUsupportType' : 'Неподдерживаемый тип файла.',
- 'errNotUTF8Content' : 'Файл "$1" содержит текст в кодировке отличной от UTF-8 и не может быть отредактирован.', // added 9.11.2011
- 'errNetMount' : 'Не удалось подключить "$1".', // added 17.04.2012
- 'errNetMountNoDriver' : 'Неподдерживаемый протокол.', // added 17.04.2012
- 'errNetMountFailed' : 'Ошибка монтирования.', // added 17.04.2012
- 'errNetMountHostReq' : 'Host required.', // added 18.04.2012
- 'errSessionExpires' : 'Сессия была завершена так как превышено время отсутствия активности',
- 'errCreatingTempDir' : 'Ошибка при создании временной директории: "$1"',
- 'errFtpDownloadFile' : 'Ошибка при скачивании файла с FTP: "$1"',
- 'errFtpUploadFile' : 'Ошибка при загрузке файла на FTP: "$1"',
- 'errFtpMkdir' : 'Ошибка при создании директории на FTP: "$1"',
- 'errArchiveExec' : 'Ошибка при выполнении архивации: "$1"',
- 'errExtractExec' : 'Ошибка при выполнении распаковки: "$1"',
-
- 'errUploadFile' : 'Невозможно загрузить файл "$1"',
-
-
- /******************************* commands names ********************************/
- 'cmdarchive' : 'Создать архив',
- 'cmdback' : 'Назад',
- 'cmdcopy' : 'Копировать',
- 'cmdcut' : 'Вырезать',
- 'cmddownload' : 'Скачать',
- 'cmdduplicate' : 'Сделать копию',
- 'cmdedit' : 'Редактировать',
- 'cmdextract' : 'Распаковать архив',
- 'cmdforward' : 'Вперед',
- 'cmdgetfile' : 'Выбрать',
- 'cmdhelp' : 'О программе',
- 'cmdhome' : 'Домой',
- 'cmdinfo' : 'Свойства',
- 'cmdmkdir' : 'Новая папка',
- 'cmdmkfile' : 'Новый файл',
- 'cmdopen' : 'Открыть',
- 'cmdpaste' : 'Вставить',
- 'cmdquicklook' : 'Быстрый просмотр',
- 'cmdreload' : 'Обновить',
- 'cmdrename' : 'Переименовать',
- 'cmdrm' : 'Удалить',
- 'cmdsearch' : 'Поиск',
- 'cmdup' : 'Наверх',
- 'cmdupload' : 'Загрузить файлы',
- 'cmdview' : 'Вид',
- 'cmdresize' : 'Размер изображения',
- 'cmdsort' : 'Сортировать',
-
- /*********************************** buttons ***********************************/
- 'btnClose' : 'Закрыть',
- 'btnSave' : 'Сохранить',
- 'btnRm' : 'Удалить',
- 'btnCancel' : 'Отмена',
- 'btnApply' : 'Применить',
- 'btnNo' : 'Нет',
- 'btnYes' : 'Да',
- 'btnMount' : 'Подключить', // added 18.04.2012
- /******************************** notifications ********************************/
- 'ntfopen' : 'Открытие папки',
- 'ntffile' : 'Открытие файла',
- 'ntfreload' : 'Обновление текущей папки',
- 'ntfmkdir' : 'Создание папки',
- 'ntfmkfile' : 'Создание файла',
- 'ntfrm' : 'Удаление файлов',
- 'ntfcopy' : 'Копирование файлов',
- 'ntfmove' : 'Перемещение файлов',
- 'ntfprepare' : 'Подготовка к копированию',
- 'ntfrename' : 'Переименование файлов',
- 'ntfupload' : 'Загрузка файлов',
- 'ntfdownload' : 'Скачивание файлов',
- 'ntfsave' : 'Сохранение файлов',
- 'ntfarchive' : 'Создание архива',
- 'ntfextract' : 'Распаковка архива',
- 'ntfsearch' : 'Поиск файлов',
- 'ntfsmth' : 'Занят важным делом',
- 'ntfnetmount' : 'Монтирую сетевой диск', // added 18.04.2012
-
- /************************************ dates **********************************/
- 'dateUnknown' : 'Незвестно',
- 'Today' : 'Сегодня',
- 'Yesterday' : 'Вчера',
- 'Jan' : 'Янв',
- 'Feb' : 'Фев',
- 'Mar' : 'Мар',
- 'Apr' : 'Апр',
- 'May' : 'Май',
- 'Jun' : 'Июнь',
- 'Jul' : 'Июль',
- 'Aug' : 'Авг',
- 'Sep' : 'Сен',
- 'Oct' : 'Окт',
- 'Nov' : 'Ноя',
- 'Dec' : 'Дек',
- 'January' : 'Январь',
- 'February' : 'Февраль',
- 'March' : 'Март',
- 'April' : 'Апрель',
- 'May' : 'Май',
- 'June' : 'Июнь',
- 'July' : 'Июль',
- 'August' : 'Август',
- 'September' : 'Сентябрь',
- 'October' : 'Октябрь',
- 'November' : 'Ноябрь',
- 'December' : 'Декабрь',
- 'Sunday' : 'Воскресенье',
- 'Monday' : 'Понедельник',
- 'Tuesday' : 'Вторник',
- 'Wednesday' : 'Среда',
- 'Thursday' : 'Четверг',
- 'Friday' : 'Пятница',
- 'Saturday' : 'Суббота',
- 'Sun' : 'Вск',
- 'Mon' : 'Пнд',
- 'Tue' : 'Втр',
- 'Wed' : 'Срд',
- 'Thu' : 'Чтв',
- 'Fri' : 'Птн',
- 'Sat' : 'Сбт',
-
- /******************************** sort variants ********************************/
- 'sortname' : 'по имени',
- 'sortkind' : 'по типу',
- 'sortsize' : 'по размеру',
- 'sortdate' : 'по дате',
- 'sortFoldersFirst' : 'Папки в начале',
-
- /********************************** messages **********************************/
- 'confirmReq' : 'Необходимо подтверждение.',
- 'confirmRm' : 'Хотите удалить файлы? Действие необратимо.',
- 'confirmRepl' : 'Заменить старый файл новым?',
- 'apllyAll' : 'для всех',
- 'name' : 'Имя файла',
- 'size' : 'Размер',
- 'perms' : 'Доступ',
- 'modify' : 'Изменен',
- 'kind' : 'Тип',
- 'read' : 'чтение',
- 'write' : 'запись',
- 'noaccess' : 'нет доступа',
- 'and' : 'и',
- 'unknown' : 'неизвестно',
- 'selectall' : 'Выбрать все файлы',
- 'selectfiles' : 'Выбрать файл(ы)',
- 'selectffile' : 'Выбрать первый файл',
- 'selectlfile' : 'Выбрать последний файл',
- 'viewlist' : 'В виде списка',
- 'viewicons' : 'В виде иконок',
- 'places' : 'Избранное',
- 'calc' : 'вычисляю',
- 'path' : 'Путь',
- 'aliasfor' : 'Указывает на',
- 'locked' : 'Защита',
- 'dim' : 'Разрешение',
- 'files' : 'Файлы',
- 'folders' : 'Папки',
- 'items' : 'Объекты',
- 'yes' : 'да',
- 'no' : 'нет',
- 'link' : 'Ссылка',
- 'searcresult' : 'Результаты поиска',
- 'selected' : 'выбрано',
- 'about' : 'О программе',
- 'shortcuts' : 'Горячие клавиши',
- 'help' : 'Помощь',
- 'webfm' : 'Файловый менеджер для web',
- 'ver' : 'Версия',
- 'protocolver' : 'версия протокола',
- 'homepage' : 'Сайт проекта',
- 'docs' : 'Документация',
- 'github' : 'Fork us on Github',
- 'twitter' : 'Follow us in twitter',
- 'facebook' : 'Join us on facebook',
- 'team' : 'Авторы',
- 'chiefdev' : 'ведущий разработчик',
- 'developer' : 'разработчик',
- 'contributor' : 'участник',
- 'maintainer' : 'сопровождение проекта',
- 'translator' : 'переводчик',
- 'icons' : 'Иконки',
- 'dontforget' : 'и не забудьте взять своё полотенце',
- 'shortcutsof' : 'Горячие клавиши отключены',
- 'dropFiles' : 'Бросить файлы',
- 'or' : 'или',
- 'selectForUpload' : 'Выбрать файлы для загрузки',
- 'moveFiles' : 'Перемещение файлов',
- 'copyFiles' : 'Копирование файлов',
- 'rmFromPlaces' : 'Удалить из избранного',
- 'untitled folder' : 'новая папка',
- 'untitled file.txt' : 'новый файл.txt',
- 'aspectRatio' : 'Сохранять пропорции',
- 'scale' : 'Масштаб',
- 'width' : 'Ширина',
- 'height' : 'Высота',
- 'resize' : 'Размер',
- 'crop' : 'Кадрировать',
- 'rotate' : 'Поворот',
- 'rotate-cw' : 'Поворот на 90 градусов по часовой стрелке',
- 'rotate-ccw' : 'Поворот на 90 градусов против часовой стрелке',
- 'degree' : '°',
- 'netMountDialogTitle' : 'Подключить сетевой диск', // added 18.04.2012
- 'protocol' : 'Протокол', // added 18.04.2012
- 'host' : 'Хост', // added 18.04.2012
- 'port' : 'Порт', // added 18.04.2012
- 'user' : 'Пользователь', // added 18.04.2012
- 'pass' : 'Пароль', // added 18.04.2012
- /********************************** mimetypes **********************************/
- 'kindUnknown' : 'Неизвестный',
- 'kindFolder' : 'Папка',
- 'kindAlias' : 'Ссылка',
- 'kindAliasBroken' : 'Битая ссылка',
- // applications
- 'kindApp' : 'Приложение',
- 'kindPostscript' : 'Документ Postscript',
- 'kindMsOffice' : 'Документ Microsoft Office',
- 'kindMsWord' : 'Документ Microsoft Word',
- 'kindMsExcel' : 'Документ Microsoft Excel',
- 'kindMsPP' : 'Презентация Microsoft Powerpoint',
- 'kindOO' : 'Документ Open Office',
- 'kindAppFlash' : 'Приложение Flash',
- 'kindPDF' : 'Документ PDF',
- 'kindTorrent' : 'Файл Bittorrent',
- 'kind7z' : 'Архив 7z',
- 'kindTAR' : 'Архив TAR',
- 'kindGZIP' : 'Архив GZIP',
- 'kindBZIP' : 'Архив BZIP',
- 'kindZIP' : 'Архив ZIP',
- 'kindRAR' : 'Архив RAR',
- 'kindJAR' : 'Файл Java JAR',
- 'kindTTF' : 'Шрифт True Type',
- 'kindOTF' : 'Шрифт Open Type',
- 'kindRPM' : 'Пакет RPM',
- // texts
- 'kindText' : 'Текстовый документ',
- 'kindTextPlain' : 'Простой текст',
- 'kindPHP' : 'Исходник PHP',
- 'kindCSS' : 'Таблицы стилей CSS',
- 'kindHTML' : 'Документ HTML',
- 'kindJS' : 'Исходник Javascript',
- 'kindRTF' : 'Rich Text Format',
- 'kindC' : 'Исходник C',
- 'kindCHeader' : 'Заголовочный файл C',
- 'kindCPP' : 'Исходник C++',
- 'kindCPPHeader' : 'Заголовочный файл C++',
- 'kindShell' : 'Unix shell script',
- 'kindPython' : 'Исходник Python',
- 'kindJava' : 'Исходник Java',
- 'kindRuby' : 'Исходник Ruby',
- 'kindPerl' : 'Исходник Perl',
- 'kindSQL' : 'Исходник SQL',
- 'kindXML' : 'XML document',
- 'kindAWK' : 'Исходник AWK',
- 'kindCSV' : 'Текст с разделителями',
- 'kindDOCBOOK' : 'Документ Docbook XML',
- // images
- 'kindImage' : 'Изображение',
- 'kindBMP' : 'Изображение BMP',
- 'kindJPEG' : 'Изображение JPEG',
- 'kindGIF' : 'Изображение GIF',
- 'kindPNG' : 'Изображение PNG',
- 'kindTIFF' : 'Изображение TIFF',
- 'kindTGA' : 'Изображение TGA',
- 'kindPSD' : 'Изображение Adobe Photoshop',
- 'kindXBITMAP' : 'Изображение X bitmap',
- 'kindPXM' : 'Изображение Pixelmator',
- // media
- 'kindAudio' : 'Аудио файл',
- 'kindAudioMPEG' : 'Аудио MPEG',
- 'kindAudioMPEG4' : 'Аудио MPEG-4',
- 'kindAudioMIDI' : 'Аудио MIDI',
- 'kindAudioOGG' : 'Аудио Ogg Vorbis',
- 'kindAudioWAV' : 'Аудио WAV',
- 'AudioPlaylist' : 'Плейлист MP3',
- 'kindVideo' : 'Видео файл',
- 'kindVideoDV' : 'Видео DV',
- 'kindVideoMPEG' : 'Видео MPEG',
- 'kindVideoMPEG4' : 'Видео MPEG-4',
- 'kindVideoAVI' : 'Видео AVI',
- 'kindVideoMOV' : 'Видео Quick Time',
- 'kindVideoWM' : 'Видео Windows Media',
- 'kindVideoFlash' : 'Видео Flash',
- 'kindVideoMKV' : 'Видео Matroska',
- 'kindVideoOGG' : 'Видео Ogg'
- ,'volume_files' : 'Файлы '
- }
- }
-}
-
-
-
-
+/**
+ * Русский язык translation
+ * @author Dmitry "dio" Levashov
+ * @author Andrew Berezovsky
+ * @version 2016-06-01
+ */
+if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
+ elFinder.prototype.i18.ru = {
+ translator : 'Dmitry "dio" Levashov <dio@std42.ru>, Andrew Berezovsky <andrew.berezovsky@gmail.com>',
+ language : 'Русский язык',
+ direction : 'ltr',
+ dateFormat : 'd M Y H:i', // Mar 13, 2012 05:27 PM
+ fancyDateFormat : '$1 H:i', // will produce smth like: Today 12:25 PM
+ messages : {
+
+ /********************************** errors **********************************/
+ 'error' : 'Ошибка',
+ 'errUnknown' : 'Неизвестная ошибка.',
+ 'errUnknownCmd' : 'Неизвестная команда.',
+ 'errJqui' : 'Отсутствуют необходимые компоненты jQuery UI - selectable, draggable и droppable.',
+ 'errNode' : 'Отсутствует DOM элемент для инициализации elFinder.',
+ 'errURL' : 'Неверная конфигурация elFinder! Не указан URL.',
+ 'errAccess' : 'Доступ запрещен.',
+ 'errConnect' : 'Не удалось соединиться с сервером.',
+ 'errAbort' : 'Соединение прервано.',
+ 'errTimeout' : 'Таймаут соединения.',
+ 'errNotFound' : 'Сервер не найден.',
+ 'errResponse' : 'Некорректный ответ сервера.',
+ 'errConf' : 'Некорректная настройка сервера.',
+ 'errJSON' : 'Модуль PHP JSON не установлен.',
+ 'errNoVolumes' : 'Отсутствуют корневые директории достуные для чтения.',
+ 'errCmdParams' : 'Некорректные параметры команды "$1".',
+ 'errDataNotJSON' : 'Данные не в формате JSON.',
+ 'errDataEmpty' : 'Данные отсутствуют.',
+ 'errCmdReq' : 'Для запроса к серверу необходимо указать имя команды.',
+ 'errOpen' : 'Не удалось открыть "$1".',
+ 'errNotFolder' : 'Объект не является папкой.',
+ 'errNotFile' : 'Объект не является файлом.',
+ 'errRead' : 'Ошибка чтения "$1".',
+ 'errWrite' : 'Ошибка записи в "$1".',
+ 'errPerm' : 'Доступ запрещен.',
+ 'errLocked' : '"$1" защищен и не может быть переименован, перемещен или удален.',
+ 'errExists' : 'В папке уже существует файл с именем "$1".',
+ 'errInvName' : 'Недопустимое имя файла.',
+ 'errFolderNotFound' : 'Папка не найдена.',
+ 'errFileNotFound' : 'Файл не найден.',
+ 'errTrgFolderNotFound' : 'Целевая папка "$1" не найдена.',
+ 'errPopup' : 'Браузер заблокировал открытие нового окна. Чтобы открыть файл, измените настройки браузера.',
+ 'errMkdir' : 'Ошибка создания папки "$1".',
+ 'errMkfile' : 'Ошибка создания файла "$1".',
+ 'errRename' : 'Ошибка переименования "$1".',
+ 'errCopyFrom' : 'Копирование файлов из директории "$1" запрещено.',
+ 'errCopyTo' : 'Копирование файлов в директорию "$1" запрещено.',
+ 'errMkOutLink' : 'Невозможно создать ссылку вне корня раздела.', // from v2.1 added 03.10.2015
+ 'errUpload' : 'Ошибка загрузки.', // old name - errUploadCommon
+ 'errUploadFile' : 'Невозможно загрузить "$1".', // old name - errUpload
+ 'errUploadNoFiles' : 'Нет файлов для загрузки.',
+ 'errUploadTotalSize' : 'Превышен допустимый размер загружаемых данных.', // old name - errMaxSize
+ 'errUploadFileSize' : 'Размер файла превышает допустимый.', // old name - errFileMaxSize
+ 'errUploadMime' : 'Недопустимый тип файла.',
+ 'errUploadTransfer' : 'Ошибка передачи файла "$1".',
+ 'errUploadTemp' : 'Невозможно создать временный файл для загрузки.', // from v2.1 added 26.09.2015
+ 'errNotReplace' : 'Объект "$1" по этому адресу уже существует и не может быть заменен объектом другого типа.', // new
+ 'errReplace' : 'Невозможно заменить "$1".',
+ 'errSave' : 'Невозможно сохранить "$1".',
+ 'errCopy' : 'Невозможно скопировать "$1".',
+ 'errMove' : 'Невозможно переместить "$1".',
+ 'errCopyInItself' : 'Невозможно скопировать "$1" в самого себя.',
+ 'errRm' : 'Невозможно удалить "$1".',
+ 'errRmSrc' : 'Невозможно удалить файлы источника.',
+ 'errExtract' : 'Невозможно извлечь фалы из "$1".',
+ 'errArchive' : 'Невозможно создать архив.',
+ 'errArcType' : 'Неподдерживаемый тип архива.',
+ 'errNoArchive' : 'Файл не является архивом или неподдерживаемый тип архива.',
+ 'errCmdNoSupport' : 'Сервер не поддерживает эту команду.',
+ 'errReplByChild' : 'Невозможно заменить папку "$1" содержащимся в ней объектом.',
+ 'errArcSymlinks' : 'По соображениям безопасности запрещена распаковка архивов, содержащих ссылки (symlinks) или файлы с недопустимыми именами.', // edited 24.06.2012
+ 'errArcMaxSize' : 'Размер файлов в архиве превышает максимально разрешенный.',
+ 'errResize' : 'Не удалось изменить размер "$1".',
+ 'errResizeDegree' : 'Некорректный градус поворота.', // added 7.3.2013
+ 'errResizeRotate' : 'Невозможно повернуть изображение.', // added 7.3.2013
+ 'errResizeSize' : 'Некорректный размер изображения.', // added 7.3.2013
+ 'errResizeNoChange' : 'Размер изображения не изменился.', // added 7.3.2013
+ 'errUsupportType' : 'Неподдерживаемый тип файла.',
+ 'errNotUTF8Content' : 'Файл "$1" содержит текст в кодировке отличной от UTF-8 и не может быть отредактирован.', // added 9.11.2011
+ 'errNetMount' : 'Невозможно подключить "$1".', // added 17.04.2012
+ 'errNetMountNoDriver' : 'Неподдерживаемый протокол.', // added 17.04.2012
+ 'errNetMountFailed' : 'Ошибка монтирования.', // added 17.04.2012
+ 'errNetMountHostReq' : 'Требуется указать хост.', // added 18.04.2012
+ 'errSessionExpires' : 'Сессия была завершена так как превышено время отсутствия активности.',
+ 'errCreatingTempDir' : 'Невозможно создать временную директорию: "$1"',
+ 'errFtpDownloadFile' : 'Невозможно скачать файл с FTP: "$1"',
+ 'errFtpUploadFile' : 'Невозможно загрузить файл на FTP: "$1"',
+ 'errFtpMkdir' : 'Невозможно создать директорию на FTP: "$1"',
+ 'errArchiveExec' : 'Ошибка при выполнении архивации: "$1"',
+ 'errExtractExec' : 'Ошибка при выполнении распаковки: "$1"',
+ 'errNetUnMount' : 'Невозможно отключить', // from v2.1 added 30.04.2012
+ 'errConvUTF8' : 'Не конвертируется в UTF-8', // from v2.1 added 08.04.2014
+ 'errFolderUpload' : 'Если вы хотите загружать папки, попробуйте Google Chrome.', // from v2.1 added 26.6.2015
+ 'errSearchTimeout' : 'Превышено время ожидания при поиске "$1". Результаты поиска частичные.', // from v2.1 added 12.1.2016
+ 'errReauthRequire' : 'Требуется повторная авторизация.', // from v2.1.10 added 3.24.2016
+
+ /******************************* commands names ********************************/
+ 'cmdarchive' : 'Создать архив',
+ 'cmdback' : 'Назад',
+ 'cmdcopy' : 'Копировать',
+ 'cmdcut' : 'Вырезать',
+ 'cmddownload' : 'Скачать',
+ 'cmdduplicate' : 'Сделать копию',
+ 'cmdedit' : 'Редактировать файл',
+ 'cmdextract' : 'Распаковать архив',
+ 'cmdforward' : 'Вперед',
+ 'cmdgetfile' : 'Выбрать файлы',
+ 'cmdhelp' : 'О программе',
+ 'cmdhome' : 'Домой',
+ 'cmdinfo' : 'Свойства',
+ 'cmdmkdir' : 'Новая папка',
+ 'cmdmkdirin' : 'В новую папку', // from v2.1.7 added 19.2.2016
+ 'cmdmkfile' : 'Новый текстовый файл',
+ 'cmdopen' : 'Открыть',
+ 'cmdpaste' : 'Вставить',
+ 'cmdquicklook' : 'Быстрый просмотр',
+ 'cmdreload' : 'Обновить',
+ 'cmdrename' : 'Переименовать',
+ 'cmdrm' : 'Удалить',
+ 'cmdsearch' : 'Поиск файлов',
+ 'cmdup' : 'Наверх',
+ 'cmdupload' : 'Загрузить файлы',
+ 'cmdview' : 'Вид',
+ 'cmdresize' : 'Изменить размер и повернуть',
+ 'cmdsort' : 'Сортировать',
+ 'cmdnetmount' : 'Подключить сетевой раздел', // added 18.04.2012
+ 'cmdnetunmount': 'Отключить', // from v2.1 added 30.04.2012
+ 'cmdplaces' : 'В избранное', // added 28.12.2014
+ 'cmdchmod' : 'Изменить права доступа', // from v2.1 added 20.6.2015
+ 'cmdopendir' : 'Открыть папку', // from v2.1 added 13.1.2016
+
+ /*********************************** buttons ***********************************/
+ 'btnClose' : 'Закрыть',
+ 'btnSave' : 'Сохранить',
+ 'btnRm' : 'Удалить',
+ 'btnApply' : 'Применить',
+ 'btnCancel' : 'Отмена',
+ 'btnNo' : 'Нет',
+ 'btnYes' : 'Да',
+ 'btnMount' : 'Подключить', // added 18.04.2012
+ 'btnApprove': 'Перейти в $1 и применить', // from v2.1 added 26.04.2012
+ 'btnUnmount': 'Отключить', // from v2.1 added 30.04.2012
+ 'btnConv' : 'Конвертировать', // from v2.1 added 08.04.2014
+ 'btnCwd' : 'Здесь', // from v2.1 added 22.5.2015
+ 'btnVolume' : 'Раздел', // from v2.1 added 22.5.2015
+ 'btnAll' : 'Все', // from v2.1 added 22.5.2015
+ 'btnMime' : 'MIME тип', // from v2.1 added 22.5.2015
+ 'btnFileName':'Имя файла', // from v2.1 added 22.5.2015
+ 'btnSaveClose': 'Сохранить и закрыть', // from v2.1 added 12.6.2015
+ 'btnBackup' : 'Резервная копия', // fromv2.1 added 28.11.2015
+
+ /******************************** notifications ********************************/
+ 'ntfopen' : 'Открыть папку',
+ 'ntffile' : 'Открыть файл',
+ 'ntfreload' : 'Обновить текущую папку',
+ 'ntfmkdir' : 'Создание папки',
+ 'ntfmkfile' : 'Создание файлов',
+ 'ntfrm' : 'Удалить файлы',
+ 'ntfcopy' : 'Скопировать файлы',
+ 'ntfmove' : 'Переместить файлы',
+ 'ntfprepare' : 'Подготовка к копированию файлов',
+ 'ntfrename' : 'Переименовать файлы',
+ 'ntfupload' : 'Загрузка файлов',
+ 'ntfdownload' : 'Скачивание файлов',
+ 'ntfsave' : 'Сохранить файлы',
+ 'ntfarchive' : 'Создание архива',
+ 'ntfextract' : 'Распаковка архива',
+ 'ntfsearch' : 'Поиск файлов',
+ 'ntfresize' : 'Изменение размеров изображений',
+ 'ntfsmth' : 'Занят важным делом',
+ 'ntfloadimg' : 'Загрузка изображения',
+ 'ntfnetmount' : 'Подключение сетевого диска', // added 18.04.2012
+ 'ntfnetunmount': 'Отключение сетевого диска', // from v2.1 added 30.04.2012
+ 'ntfdim' : 'Получение размеров изображения', // added 20.05.2013
+ 'ntfreaddir' : 'Чтение информации о папке', // from v2.1 added 01.07.2013
+ 'ntfurl' : 'Получение URL ссылки', // from v2.1 added 11.03.2014
+ 'ntfchmod' : 'Изменение прав доступа к файлу', // from v2.1 added 20.6.2015
+ 'ntfpreupload': 'Проверка измени загруженного файла', // from v2.1 added 31.11.2015
+ 'ntfzipdl' : 'Создание файла для скачки', // from v2.1.7 added 23.1.2016
+
+ /************************************ dates **********************************/
+ 'dateUnknown' : 'неизвестно',
+ 'Today' : 'Сегодня',
+ 'Yesterday' : 'Вчера',
+ 'msJan' : 'Янв',
+ 'msFeb' : 'Фев',
+ 'msMar' : 'Мар',
+ 'msApr' : 'Апр',
+ 'msMay' : 'Май',
+ 'msJun' : 'Июн',
+ 'msJul' : 'Июл',
+ 'msAug' : 'Авг',
+ 'msSep' : 'Сен',
+ 'msOct' : 'Окт',
+ 'msNov' : 'Ноя',
+ 'msDec' : 'Дек',
+ 'January' : 'Январь',
+ 'February' : 'Февраль',
+ 'March' : 'Март',
+ 'April' : 'Апрель',
+ 'May' : 'Май',
+ 'June' : 'Июнь',
+ 'July' : 'Июль',
+ 'August' : 'Август',
+ 'September' : 'Сентябрь',
+ 'October' : 'Октябрь',
+ 'November' : 'Ноябрь',
+ 'December' : 'Декабрь',
+ 'Sunday' : 'Воскресенье',
+ 'Monday' : 'Понедельник',
+ 'Tuesday' : 'Вторник',
+ 'Wednesday' : 'Среда',
+ 'Thursday' : 'Четверг',
+ 'Friday' : 'Пятница',
+ 'Saturday' : 'Суббота',
+ 'Sun' : 'Вск',
+ 'Mon' : 'Пнд',
+ 'Tue' : 'Втр',
+ 'Wed' : 'Срд',
+ 'Thu' : 'Чтв',
+ 'Fri' : 'Птн',
+ 'Sat' : 'Сбт',
+
+ /******************************** sort variants ********************************/
+ 'sortname' : 'по имени',
+ 'sortkind' : 'по типу',
+ 'sortsize' : 'по размеру',
+ 'sortdate' : 'по дате',
+ 'sortFoldersFirst' : 'Папки в начале',
+
+ /********************************** new items **********************************/
+ 'untitled file.txt' : 'НовыйФайл.txt', // added 10.11.2015
+ 'untitled folder' : 'НоваяПапка', // added 10.11.2015
+ 'Archive' : 'НовыйАрхив', // from v2.1 added 10.11.2015
+
+ /********************************** messages **********************************/
+ 'confirmReq' : 'Необходимо подтверждение',
+ 'confirmRm' : 'Вы уверены, что хотите удалить файлы? Действие необратимо!',
+ 'confirmRepl' : 'Заменить старый файл новым?',
+ 'confirmConvUTF8' : 'Не UTF-8 Сконвертировать в UTF-8? Данные станут UTF-8 при сохранении после конвертации.', // from v2.1 added 08.04.2014
+ 'confirmNotSave' : 'Произошли изменения. Если не сохраните изменения, то потеряете их.', // from v2.1 added 15.7.2015
+ 'apllyAll' : 'Применить для всех',
+ 'name' : 'Имя',
+ 'size' : 'Размер',
+ 'perms' : 'Доступ',
+ 'modify' : 'Изменен',
+ 'kind' : 'Тип',
+ 'read' : 'чтение',
+ 'write' : 'запись',
+ 'noaccess' : 'нет доступа',
+ 'and' : 'и',
+ 'unknown' : 'неизвестно',
+ 'selectall' : 'Выбрать все файлы',
+ 'selectfiles' : 'Выбрать файл(ы)',
+ 'selectffile' : 'Выбрать первый файл',
+ 'selectlfile' : 'Выбрать последний файл',
+ 'viewlist' : 'В виде списка',
+ 'viewicons' : 'В виде иконок',
+ 'places' : 'Избранное',
+ 'calc' : 'Вычислить',
+ 'path' : 'Путь',
+ 'aliasfor' : 'Указывает на',
+ 'locked' : 'Защита',
+ 'dim' : 'Размеры',
+ 'files' : 'Файлы',
+ 'folders' : 'Папки',
+ 'items' : 'Объекты',
+ 'yes' : 'да',
+ 'no' : 'нет',
+ 'link' : 'Ссылка',
+ 'searcresult' : 'Результаты поиска',
+ 'selected' : 'выбрано',
+ 'about' : 'О программе',
+ 'shortcuts' : 'Горячие клавиши',
+ 'help' : 'Помощь',
+ 'webfm' : 'Файловый менеджер для web',
+ 'ver' : 'Версия',
+ 'protocolver' : 'версия протокола',
+ 'homepage' : 'Сайт проекта',
+ 'docs' : 'Документация',
+ 'github' : 'Форкните на Github',
+ 'twitter' : 'Следите в twitter',
+ 'facebook' : 'Присоединяйтесь на facebook',
+ 'team' : 'Команда',
+ 'chiefdev' : 'ведущий разработчик',
+ 'developer' : 'разработчик',
+ 'contributor' : 'участник',
+ 'maintainer' : 'сопровождение проекта',
+ 'translator' : 'переводчик',
+ 'icons' : 'Иконки',
+ 'dontforget' : 'и не забудьте взять своё полотенце',
+ 'shortcutsof' : 'Горячие клавиши отключены',
+ 'dropFiles' : 'Перетащите файлы сюда',
+ 'or' : 'или',
+ 'selectForUpload' : 'Выбрать файлы для загрузки',
+ 'moveFiles' : 'Переместить файлы',
+ 'copyFiles' : 'Скопировать файлы',
+ 'rmFromPlaces' : 'Удалить из избранного',
+ 'aspectRatio' : 'Соотношение сторон',
+ 'scale' : 'Масштаб',
+ 'width' : 'Ширина',
+ 'height' : 'Высота',
+ 'resize' : 'Изменить размер',
+ 'crop' : 'Обрезать',
+ 'rotate' : 'Повернуть',
+ 'rotate-cw' : 'Повернуть на 90 градусов по часовой стрелке',
+ 'rotate-ccw' : 'Повернуть на 90 градусов против часовой стрелке',
+ 'degree' : '°',
+ 'netMountDialogTitle' : 'Подключить сетевой диск', // added 18.04.2012
+ 'protocol' : 'Протокол', // added 18.04.2012
+ 'host' : 'Хост', // added 18.04.2012
+ 'port' : 'Порт', // added 18.04.2012
+ 'user' : 'Пользователь', // added 18.04.2012
+ 'pass' : 'Пароль', // added 18.04.2012
+ 'confirmUnmount' : 'Вы хотите отключить $1?', // from v2.1 added 30.04.2012
+ 'dropFilesBrowser': 'Перетащите или вставьте файлы из браузера', // from v2.1 added 30.05.2012
+ 'dropPasteFiles' : 'Перетащите или вставьте файлы и ссылки сюда', // from v2.1 added 07.04.2014
+ 'encoding' : 'Кодировка', // from v2.1 added 19.12.2014
+ 'locale' : 'Локаль', // from v2.1 added 19.12.2014
+ 'searchTarget' : 'Цель: $1', // from v2.1 added 22.5.2015
+ 'searchMime' : 'Поиск по введенному MIME типу', // from v2.1 added 22.5.2015
+ 'owner' : 'Владелец', // from v2.1 added 20.6.2015
+ 'group' : 'Группа', // from v2.1 added 20.6.2015
+ 'other' : 'Остальные', // from v2.1 added 20.6.2015
+ 'execute' : 'Исполнить', // from v2.1 added 20.6.2015
+ 'perm' : 'Разрешение', // from v2.1 added 20.6.2015
+ 'mode' : 'Режим', // from v2.1 added 20.6.2015
+ 'emptyFolder' : 'Папка пуста', // from v2.1.6 added 30.12.2015
+ 'emptyFolderDrop' : 'Папка пуста\\A Перетащите чтобы добавить', // from v2.1.6 added 30.12.2015
+ 'emptyFolderLTap' : 'Папка пуста\\A Долгое нажатие чтобы добавить', // from v2.1.6 added 30.12.2015
+ 'quality' : 'Качество', // from v2.1.6 added 5.1.2016
+ 'autoSync' : 'Авто синхронизация', // from v2.1.6 added 10.1.2016
+ 'moveUp' : 'Передвинуть вверх', // from v2.1.6 added 18.1.2016
+ 'getLink' : 'Получить URL ссылку', // from v2.1.7 added 9.2.2016
+ 'selectedItems' : 'Выбранные объекты ($1)', // from v2.1.7 added 2.19.2016
+ 'folderId' : 'ID папки', // from v2.1.10 added 3.25.2016
+ 'offlineAccess' : 'Позволить автономный доступ', // from v2.1.10 added 3.25.2016
+ 'reAuth' : 'Авторизоваться повторно', // from v2.1.10 added 3.25.2016
+ 'nowLoading' : 'Загружается...', // from v2.1.12 added 4.26.2016
+ 'openMulti' : 'Открыть несколько файлов', // from v2.1.12 added 5.14.2016
+ 'openMultiConfirm': 'Вы пытаетесь открыть $1 файл(а/ов). Вы уверены, что хотите открыть их в браузере?', // from v2.1.12 added 5.14.2016
+ 'emptySearch' : 'Ничего не найдено', // from v2.1.12 added 5.16.2016
+
+ /********************************** mimetypes **********************************/
+ 'kindUnknown' : 'Неизвестный',
+ 'kindFolder' : 'Папка',
+ 'kindAlias' : 'Ссылка',
+ 'kindAliasBroken' : 'Битая ссылка',
+ // applications
+ 'kindApp' : 'Приложение',
+ 'kindPostscript' : 'Документ Postscript',
+ 'kindMsOffice' : 'Документ Microsoft Office',
+ 'kindMsWord' : 'Документ Microsoft Word',
+ 'kindMsExcel' : 'Документ Microsoft Excel',
+ 'kindMsPP' : 'Презентация Microsoft Powerpoint',
+ 'kindOO' : 'Документ Open Office',
+ 'kindAppFlash' : 'Приложение Flash',
+ 'kindPDF' : 'Документ PDF',
+ 'kindTorrent' : 'Файл Bittorrent',
+ 'kind7z' : 'Архив 7z',
+ 'kindTAR' : 'Архив TAR',
+ 'kindGZIP' : 'Архив GZIP',
+ 'kindBZIP' : 'Архив BZIP',
+ 'kindXZ' : 'Архив XZ',
+ 'kindZIP' : 'Архив ZIP',
+ 'kindRAR' : 'Архив RAR',
+ 'kindJAR' : 'Файл Java JAR',
+ 'kindTTF' : 'Шрифт True Type',
+ 'kindOTF' : 'Шрифт Open Type',
+ 'kindRPM' : 'Пакет RPM',
+ // texts
+ 'kindText' : 'Текстовый документ',
+ 'kindTextPlain' : 'Простой текст',
+ 'kindPHP' : 'Исходник PHP',
+ 'kindCSS' : 'Таблицы стилей CSS',
+ 'kindHTML' : 'Документ HTML',
+ 'kindJS' : 'Исходник Javascript',
+ 'kindRTF' : 'Rich Text Format',
+ 'kindC' : 'Исходник C',
+ 'kindCHeader' : 'Заголовочный файл C',
+ 'kindCPP' : 'Исходник C++',
+ 'kindCPPHeader' : 'Заголовочный файл C++',
+ 'kindShell' : 'Unix shell script',
+ 'kindPython' : 'Исходник Python',
+ 'kindJava' : 'Исходник Java',
+ 'kindRuby' : 'Исходник Ruby',
+ 'kindPerl' : 'Исходник Perl',
+ 'kindSQL' : 'Исходник SQL',
+ 'kindXML' : 'Документ XML',
+ 'kindAWK' : 'Исходник AWK',
+ 'kindCSV' : 'Текст с разделителями',
+ 'kindDOCBOOK' : 'Документ Docbook XML',
+ 'kindMarkdown' : 'Markdown text', // added 20.7.2015
+ // images
+ 'kindImage' : 'Изображение',
+ 'kindBMP' : 'Изображение BMP',
+ 'kindJPEG' : 'Изображение JPEG',
+ 'kindGIF' : 'Изображение GIF',
+ 'kindPNG' : 'Изображение PNG',
+ 'kindTIFF' : 'Изображение TIFF',
+ 'kindTGA' : 'Изображение TGA',
+ 'kindPSD' : 'Изображение Adobe Photoshop',
+ 'kindXBITMAP' : 'Изображение X bitmap',
+ 'kindPXM' : 'Изображение Pixelmator',
+ // media
+ 'kindAudio' : 'Аудио файл',
+ 'kindAudioMPEG' : 'Аудио MPEG',
+ 'kindAudioMPEG4' : 'Аудио MPEG-4',
+ 'kindAudioMIDI' : 'Аудио MIDI',
+ 'kindAudioOGG' : 'Аудио Ogg Vorbis',
+ 'kindAudioWAV' : 'Аудио WAV',
+ 'AudioPlaylist' : 'Плейлист MP3',
+ 'kindVideo' : 'Видео файл',
+ 'kindVideoDV' : 'Видео DV',
+ 'kindVideoMPEG' : 'Видео MPEG',
+ 'kindVideoMPEG4' : 'Видео MPEG-4',
+ 'kindVideoAVI' : 'Видео AVI',
+ 'kindVideoMOV' : 'Видео Quick Time',
+ 'kindVideoWM' : 'Видео Windows Media',
+ 'kindVideoFlash' : 'Видео Flash',
+ 'kindVideoMKV' : 'Видео Matroska',
+ 'kindVideoOGG' : 'Видео Ogg'
+ }
+ };
+}
+
diff --git a/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.sk.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.sk.js
new file mode 100644
index 0000000..33edb3f
--- /dev/null
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.sk.js
@@ -0,0 +1,458 @@
+/**
+ * Slovak translation
+ * @author Jakub Ďuraš
+ * @author RobiNN
+ * @version 2016-10-22
+ */
+if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
+ elFinder.prototype.i18.sk = {
+ translator : 'Jakub Ďuraš <jkblmr@gmail.com>, RobiNN <admin@robonetwork.cf>',
+ language : 'slovenčina',
+ direction : 'ltr',
+ dateFormat : 'd.m.Y H:i', // Mar 13, 2012 05:27 PM
+ fancyDateFormat : '$1 H:i', // will produce smth like: Today 12:25 PM
+ messages : {
+
+ /********************************** errors **********************************/
+ 'error' : 'Chyba',
+ 'errUnknown' : 'Neznáma chyba.',
+ 'errUnknownCmd' : 'Neznámy príkaz.',
+ 'errJqui' : 'Nesprávna jQuery UI konfigurácia. Selectable, draggable a droppable musia byť načítané.',
+ 'errNode' : 'elFinder vyžaduje vytvorenie DOM Elementu.',
+ 'errURL' : 'Nesprávna elFinder konfigurácia! URL nie je definovaná.',
+ 'errAccess' : 'Prístup zamietnutý.',
+ 'errConnect' : 'Nepodarilo sa pripojiť do backendu.',
+ 'errAbort' : 'Pripojenie zrušené.',
+ 'errTimeout' : 'Vypršal limit pripojenia.',
+ 'errNotFound' : 'Backend nenájdený.',
+ 'errResponse' : 'Nesprávna backend odpoveď.',
+ 'errConf' : 'Nesprávna backend konfigurácia.',
+ 'errJSON' : 'Požadovaný PHP JSON modul nie je nainštalovaný.',
+ 'errNoVolumes' : 'Nie je dostupné žiadne čitateľné médium.',
+ 'errCmdParams' : 'Nesprávne parametre pre príkaz "$1".',
+ 'errDataNotJSON' : 'Dáta nie sú formátu JSON.',
+ 'errDataEmpty' : 'Prázdne dáta.',
+ 'errCmdReq' : 'Backend požiadavka požaduje meno príkazu.',
+ 'errOpen' : 'Nie je možné otvoriť súbor "$1".',
+ 'errNotFolder' : 'Objekt nie je priečinok.',
+ 'errNotFile' : 'Objekt nie je súbor.',
+ 'errRead' : 'Nie je možné prečítať súbor "$1".',
+ 'errWrite' : 'Nie je možné písať do súboru "$1".',
+ 'errPerm' : 'Nepovolený prístup.',
+ 'errLocked' : '"$1" je uzamknutý, a nemôže byť premenovaný, presunutý alebo odstránený.',
+ 'errExists' : 'Súbor s názvom "$1" už existuje.',
+ 'errInvName' : 'Nesprávný názov súboru.',
+ 'errFolderNotFound' : 'Priečinok nenájdený.',
+ 'errFileNotFound' : 'Súbor nenájdený.',
+ 'errTrgFolderNotFound' : 'Zvolený priečinok "$1" nenájdený.',
+ 'errPopup' : 'Prehliadač zablokoval otvorenie vyskakovacieho okna. Pre otvorenie súboru povoľte vyskakovacie okná.',
+ 'errMkdir' : 'Nie je možné vytvoriť priečinok "$1".',
+ 'errMkfile' : 'Nie je možné vytvoriť súbor "$1".',
+ 'errRename' : 'Nie je možné premenovať "$1".',
+ 'errCopyFrom' : 'Kopírovanie súborov z média "$1" nie je povolené.',
+ 'errCopyTo' : 'Kopírovanie súborov na médium "$1" nie je povolené.',
+ 'errMkOutLink' : 'Nie je možné vytvoriť odkaz mimo koreňového zväzku.', // from v2.1 added 03.10.2015
+ 'errUpload' : 'Problém s nahrávaním.', // old name - errUploadCommon
+ 'errUploadFile' : 'Nie je možné nahrať "$1".', // old name - errUpload
+ 'errUploadNoFiles' : 'Žiadne súbory neboli nájdené na nahranie.',
+ 'errUploadTotalSize' : 'Dáta prekračujú maximálnu povolenú veľkosť.', // old name - errMaxSize
+ 'errUploadFileSize' : 'Súbor prekračuje maximálnu povolenú veľkosť.', // old name - errFileMaxSize
+ 'errUploadMime' : 'Nepovolený typ súboru.',
+ 'errUploadTransfer' : 'Problém s nahrávaním "$1".',
+ 'errUploadTemp' : 'Nie je možné vytvoriť dočasný súbor pre nahranie.', // from v2.1 added 26.09.2015
+ 'errNotReplace' : 'Objekt "$1" na tomto mieste už existuje a nemôže byť nahradený objektom s iným typom.',
+ 'errReplace' : 'Nie je možné nahradiť "$1".',
+ 'errSave' : 'Nie je možné uložiť "$1".',
+ 'errCopy' : 'Nie je možné kopíropvať "$1".',
+ 'errMove' : 'Nie je možné preniesť "$1".',
+ 'errCopyInItself' : 'Nie je možné kopírovať "$1" do seba.',
+ 'errRm' : 'Nie je možné vymazať "$1".',
+ 'errRmSrc' : 'Nie je možné odstrániť zdrojové súbor(y).',
+ 'errExtract' : 'Nie je možné extrahovať súbory z "$1".',
+ 'errArchive' : 'Nie je možné vytvoriť archív.',
+ 'errArcType' : 'Nepodporovaný typ archívu.',
+ 'errNoArchive' : 'Súbor nie je archívom, alebo je nepodporovaného typu.',
+ 'errCmdNoSupport' : 'Backend nepodporuje tento príkaz.',
+ 'errReplByChild' : 'Priečinok "$1" nemôže byť nahradený položkou, ktorú už obsahuje.',
+ 'errArcSymlinks' : 'Z bezpečnostných dôvodov bolo zakázané extrahovanie archívov obsahujúcich symlinky, alebo súborov s nepovolenými menami.',
+ 'errArcMaxSize' : 'Súbory archívu prekračujú maximálnu povolenú veľkosť.',
+ 'errResize' : 'Nie je možné zmeniť veľkost "$1".',
+ 'errResizeDegree' : 'Neplatný stupeň otočenia.', // added 7.3.2013
+ 'errResizeRotate' : 'Nie je možné otočiť obrázok.', // added 7.3.2013
+ 'errResizeSize' : 'Neplatná veľkosť obrázka.', // added 7.3.2013
+ 'errResizeNoChange' : 'Veľkosť obrázka sa nezmení.', // added 7.3.2013
+ 'errUsupportType' : 'Nepodporovaný typ súboru.',
+ 'errNotUTF8Content' : 'Súbor "$1" nemá obsah kódovaný v UTF-8, a nemôže byť upravený.', // added 9.11.2011
+ 'errNetMount' : 'Nie je možné pripojiť "$1".', // added 17.04.2012
+ 'errNetMountNoDriver' : 'Nepodporovaný protokol.', // added 17.04.2012
+ 'errNetMountFailed' : 'Pripájanie zlyhalo.', // added 17.04.2012
+ 'errNetMountHostReq' : 'Hosť je požadovaný.', // added 18.04.2012
+ 'errSessionExpires' : 'Platnosť relácie uplynula z dôvodu nečinnosti.',
+ 'errCreatingTempDir' : 'Nedá sa vytvoriť dočasný adresár: "$1"',
+ 'errFtpDownloadFile' : 'Nie je možné stiahnuť súbor z FTP: "$1"',
+ 'errFtpUploadFile' : 'Nie je možné nahrať súbor na FTP: "$1"',
+ 'errFtpMkdir' : 'Nedá sa vytvoriť vzdialený adresár na FTP: "$1"',
+ 'errArchiveExec' : 'Chyba pri archivácii súborov: "$1"',
+ 'errExtractExec' : 'Chyba pri extrahovaní súborov: "$1"',
+ 'errNetUnMount' : 'Nepodarilo sa odpojiť', // from v2.1 added 30.04.2012
+ 'errConvUTF8' : 'Nedá sa previesť do UTF-8', // from v2.1 added 08.04.2014
+ 'errFolderUpload' : 'Ak by ste chceli nahrať zložku, skúste prehliadač Google Chrome.', // from v2.1 added 26.6.2015
+ 'errSearchTimeout' : 'Vypršal časový limit pri hľadaní "$1". Výsledok vyhľadávania je čiastočný.', // from v2.1 added 12.1.2016
+ 'errReauthRequire' : 'Opätovné povolenie je nutné.', // from v2.1.10 added 24.3.2016
+ 'errMaxTargets' : 'Maximálny počet voliteľných predmetov je $1.', // from v2.1.17 added 17.10.2016
+
+ /******************************* commands names ********************************/
+ 'cmdarchive' : 'Vytvoriť archív',
+ 'cmdback' : 'Späť',
+ 'cmdcopy' : 'Kopírovať',
+ 'cmdcut' : 'Vystrihnúť',
+ 'cmddownload' : 'Stiahnuť',
+ 'cmdduplicate' : 'Duplikovať',
+ 'cmdedit' : 'Upraviť súbor',
+ 'cmdextract' : 'Extrahovať súbory z archívu',
+ 'cmdforward' : 'Ďalej',
+ 'cmdgetfile' : 'Zvoliť súbory',
+ 'cmdhelp' : 'O tomto softvéri',
+ 'cmdhome' : 'Domov',
+ 'cmdinfo' : 'Získať info',
+ 'cmdmkdir' : 'Nový priečinok',
+ 'cmdmkdirin' : 'Do novej zložky', // from v2.1.7 added 19.2.2016
+ 'cmdmkfile' : 'Nový textový súbor',
+ 'cmdopen' : 'Otvoriť',
+ 'cmdpaste' : 'Vložiť',
+ 'cmdquicklook' : 'Náhľad',
+ 'cmdreload' : 'Obnoviť',
+ 'cmdrename' : 'Premenovať',
+ 'cmdrm' : 'Vymazať',
+ 'cmdsearch' : 'Nájsť súbory',
+ 'cmdup' : 'Prejsť do nadradeného priečinka',
+ 'cmdupload' : 'Nahrať súbory',
+ 'cmdview' : 'Pozrieť',
+ 'cmdresize' : 'Zmeniť veľkosť obrázku',
+ 'cmdsort' : 'Zoradiť',
+ 'cmdnetmount' : 'Pripojiť sieťové médium', // added 18.04.2012
+ 'cmdnetunmount': 'Odpojiť', // from v2.1 added 30.04.2012
+ 'cmdplaces' : 'Na umiestnenie', // added 28.12.2014
+ 'cmdchmod' : 'Zmeniť režim', // from v2.1 added 20.6.2015
+ 'cmdopendir' : 'Otvoriť priečinok', // from v2.1 added 13.1.2016
+ 'cmdcolwidth' : 'Resetovať šírku stĺpca', // from v2.1.13 added 12.06.2016
+ 'cmdfullscreen': 'Celá obrazovka', // from v2.1.15 added 03.08.2016
+ 'cmdmove' : 'Posúvať', // from v2.1.15 added 21.08.2016
+
+ /*********************************** buttons ***********************************/
+ 'btnClose' : 'Zavrieť',
+ 'btnSave' : 'Uložiť',
+ 'btnRm' : 'Vymazať',
+ 'btnApply' : 'Použiť',
+ 'btnCancel' : 'Zrušiť',
+ 'btnNo' : 'Nie',
+ 'btnYes' : 'Áno',
+ 'btnMount' : 'Pripojiť', // added 18.04.2012
+ 'btnApprove': 'Ísť na $1 & schváliť', // from v2.1 added 26.04.2012
+ 'btnUnmount': 'Odpojiť', // from v2.1 added 30.04.2012
+ 'btnConv' : 'Previesť', // from v2.1 added 08.04.2014
+ 'btnCwd' : 'Tu', // from v2.1 added 22.5.2015
+ 'btnVolume' : 'Médium', // from v2.1 added 22.5.2015
+ 'btnAll' : 'Všetko', // from v2.1 added 22.5.2015
+ 'btnMime' : 'MIME typ', // from v2.1 added 22.5.2015
+ 'btnFileName':'Názov súboru', // from v2.1 added 22.5.2015
+ 'btnSaveClose': 'Uložiť & zavrieť', // from v2.1 added 12.6.2015
+ 'btnBackup' : 'Zálohovať', // from v2.1 added 28.11.2015
+
+ /******************************** notifications ********************************/
+ 'ntfopen' : 'Otváranie priečinka',
+ 'ntffile' : 'Otváranie súboru',
+ 'ntfreload' : 'Znovu-načítanie obsahu priečinka',
+ 'ntfmkdir' : 'Vytváranie priečinka',
+ 'ntfmkfile' : 'Vytváranie súborov',
+ 'ntfrm' : 'Vymazanie súborov',
+ 'ntfcopy' : 'Kopírovanie súborov',
+ 'ntfmove' : 'Premiestnenie súborov',
+ 'ntfprepare' : 'Príprava na kopírovanie súborov',
+ 'ntfrename' : 'Premenovanie súborov',
+ 'ntfupload' : 'Nahrávanie súborov',
+ 'ntfdownload' : 'Sťahovanie súborov',
+ 'ntfsave' : 'Uloženie súborov',
+ 'ntfarchive' : 'Vytváranie archívu',
+ 'ntfextract' : 'Extrahovanie súborov z archívu',
+ 'ntfsearch' : 'Vyhľadávanie súborov',
+ 'ntfresize' : 'Zmena veľkosti obrázkov',
+ 'ntfsmth' : 'Počkajte prosím...',
+ 'ntfloadimg' : 'Načítavanie obrázka',
+ 'ntfnetmount' : 'Pripájanie sieťového média', // added 18.04.2012
+ 'ntfnetunmount': 'Odpájanie sieťového média', // from v2.1 added 30.04.2012
+ 'ntfdim' : 'Získanie rozmeru obrázka', // added 20.05.2013
+ 'ntfreaddir' : 'Čítajú sa informácie o priečinku', // from v2.1 added 01.07.2013
+ 'ntfurl' : 'Získanie adresy URL odkazu', // from v2.1 added 11.03.2014
+ 'ntfchmod' : 'Zmena súboru', // from v2.1 added 20.6.2015
+ 'ntfpreupload': 'Overenie názvu nahravaného súboru', // from v2.1 added 31.11.2015
+ 'ntfzipdl' : 'Vytvorenie súboru na stiahnutie', // from v2.1.7 added 23.1.2016
+
+ /************************************ dates **********************************/
+ 'dateUnknown' : 'neznámy',
+ 'Today' : 'Dnes',
+ 'Yesterday' : 'Včera',
+ 'msJan' : 'Jan',
+ 'msFeb' : 'Feb',
+ 'msMar' : 'Mar',
+ 'msApr' : 'Apr',
+ 'msMay' : 'Maj',
+ 'msJun' : 'Jun',
+ 'msJul' : 'Júl',
+ 'msAug' : 'Aug',
+ 'msSep' : 'Sep',
+ 'msOct' : 'Okt',
+ 'msNov' : 'Nov',
+ 'msDec' : 'Dec',
+ 'January' : 'Január',
+ 'February' : 'Február',
+ 'March' : 'Marec',
+ 'April' : 'Apríl',
+ 'May' : 'Máj',
+ 'June' : 'Jún',
+ 'July' : 'Júl',
+ 'August' : 'August',
+ 'September' : 'September',
+ 'October' : 'Október',
+ 'November' : 'November',
+ 'December' : 'December',
+ 'Sunday' : 'Nedeľa',
+ 'Monday' : 'Pondelok',
+ 'Tuesday' : 'Utorok',
+ 'Wednesday' : 'Streda',
+ 'Thursday' : 'Štvrtok',
+ 'Friday' : 'Piatok',
+ 'Saturday' : 'Sobota',
+ 'Sun' : 'Ned',
+ 'Mon' : 'Pon',
+ 'Tue' : 'Ut',
+ 'Wed' : 'Str',
+ 'Thu' : 'Štv',
+ 'Fri' : 'Pia',
+ 'Sat' : 'Sob',
+
+ /******************************** sort variants ********************************/
+ 'sortname' : 'podľa mena',
+ 'sortkind' : 'podľa druhu',
+ 'sortsize' : 'podľa veľkosti',
+ 'sortdate' : 'podľa dátumu',
+ 'sortFoldersFirst' : 'Najskôr Priečinky',
+ 'sortperm' : 'podľa povolenia', // from v2.1.13 added 13.06.2016
+ 'sortmode' : 'podľa módu', // from v2.1.13 added 13.06.2016
+ 'sortowner' : 'podľa majiteľa', // from v2.1.13 added 13.06.2016
+ 'sortgroup' : 'podľa skupiny', // from v2.1.13 added 13.06.2016
+ 'sortAlsoTreeview' : 'Tiež stromove zobrazenie', // from v2.1.15 added 01.08.2016
+
+ /********************************** new items **********************************/
+ 'untitled file.txt' : 'Nový textový súbor.txt', // added 10.11.2015
+ 'untitled folder' : 'Nový priečinok', // added 10.11.2015
+ 'Archive' : 'Nový archív', // from v2.1 added 10.11.2015
+
+ /********************************** messages **********************************/
+ 'confirmReq' : 'Očakávam potvrdenie',
+ 'confirmRm' : 'Určite chcete vymazať súbory? Nebude sa to dať vrátiť späť!',
+ 'confirmRepl' : 'Nahradiť starý súbor novým?',
+ 'confirmConvUTF8' : 'Nie je v UTF-8 Previesť na UTF-8? Obsah sa stane UTF-8 uložením po konverzii.', // from v2.1 added 08.04.2014
+ 'confirmNotSave' : 'Bol upravený. Ak zmeny neuložíte, stratíte vykonanú prácu.', // from v2.1 added 15.7.2015
+ 'apllyAll' : 'Použiť na všetky',
+ 'name' : 'Meno',
+ 'size' : 'Veľkosť',
+ 'perms' : 'Povolenia',
+ 'modify' : 'Zmenené',
+ 'kind' : 'Druh',
+ 'read' : 'čítať',
+ 'write' : 'zapisovať',
+ 'noaccess' : 'bez prístupu',
+ 'and' : 'a',
+ 'unknown' : 'neznámy',
+ 'selectall' : 'Vybrať všetky súbory',
+ 'selectfiles' : 'Vybrať súbor(y)',
+ 'selectffile' : 'Vybrať prvý súbor',
+ 'selectlfile' : 'Vybrať posledný súbor',
+ 'viewlist' : 'Zoznam',
+ 'viewicons' : 'Ikony',
+ 'places' : 'Miesta',
+ 'calc' : 'Prepočítavanie',
+ 'path' : 'Cesta',
+ 'aliasfor' : 'Alias pre',
+ 'locked' : 'Uzamknuté',
+ 'dim' : 'Rozmery',
+ 'files' : 'Súbory',
+ 'folders' : 'Priečinky',
+ 'items' : 'Položky',
+ 'yes' : 'áno',
+ 'no' : 'nie',
+ 'link' : 'Odkaz',
+ 'searcresult' : 'Výsledky hľadania',
+ 'selected' : 'zvolené položky',
+ 'about' : 'O aplikácii',
+ 'shortcuts' : 'Skratky',
+ 'help' : 'Pomoc',
+ 'webfm' : 'Webový správca súborov',
+ 'ver' : 'Verzia',
+ 'protocolver' : 'verzia protokolu',
+ 'homepage' : 'Domovská stránka',
+ 'docs' : 'Dokumentácia',
+ 'github' : 'Pozri nás na Githube',
+ 'twitter' : 'Nasleduj nás na Twitteri',
+ 'facebook' : 'Pripoj sa k nám na Facebooku',
+ 'team' : 'Tím',
+ 'chiefdev' : 'hlavný vývojár',
+ 'developer' : 'vývojár',
+ 'contributor' : 'prispievateľ',
+ 'maintainer' : 'správca',
+ 'translator' : 'prekladateľ',
+ 'icons' : 'Ikony',
+ 'dontforget' : 'a nezabudnite si plavky',
+ 'shortcutsof' : 'Skratky nie sú povolené',
+ 'dropFiles' : 'Sem pretiahnite súbory',
+ 'or' : 'alebo',
+ 'selectForUpload' : 'Vyberte súbory',
+ 'moveFiles' : 'Premiestniť súbory',
+ 'copyFiles' : 'Kopírovať súbory',
+ 'rmFromPlaces' : 'Odstrániť z umiestnení',
+ 'aspectRatio' : 'Pomer zobrazenia',
+ 'scale' : 'Mierka',
+ 'width' : 'Šírka',
+ 'height' : 'Výška',
+ 'resize' : 'Zmeniť veľkosť',
+ 'crop' : 'Orezať',
+ 'rotate' : 'Otočiť',
+ 'rotate-cw' : 'Otočiť o 90 stupňov (v smere h.r.)',
+ 'rotate-ccw' : 'Otočiť o 90 stupňov (proti smeru)',
+ 'degree' : '°',
+ 'netMountDialogTitle' : 'Pripojiť sieťové médium', // added 18.04.2012
+ 'protocol' : 'Protokol', // added 18.04.2012
+ 'host' : 'Hosť', // added 18.04.2012
+ 'port' : 'Port', // added 18.04.2012
+ 'user' : 'Užívateľ', // added 18.04.2012
+ 'pass' : 'Heslo', // added 18.04.2012
+ 'confirmUnmount' : 'Chcete odpojiť $1?', // from v2.1 added 30.04.2012
+ 'dropFilesBrowser': 'Premiestnite alebo presunte súbory z prehliadača', // from v2.1 added 30.05.2012
+ 'dropPasteFiles' : 'Tu premiestnite alebo presunte súbory a adresy URL', // from v2.1 added 07.04.2014
+ 'encoding' : 'Kódovanie', // from v2.1 added 19.12.2014
+ 'locale' : 'Lokalizácia', // from v2.1 added 19.12.2014
+ 'searchTarget' : 'Cieľ: $1', // from v2.1 added 22.5.2015
+ 'searchMime' : 'Vyhľadávanie podľa vstupného MIME typu', // from v2.1 added 22.5.2015
+ 'owner' : 'Majiteľ', // from v2.1 added 20.6.2015
+ 'group' : 'Skupina', // from v2.1 added 20.6.2015
+ 'other' : 'Ostatné', // from v2.1 added 20.6.2015
+ 'execute' : 'Spustiť', // from v2.1 added 20.6.2015
+ 'perm' : 'Povolenie', // from v2.1 added 20.6.2015
+ 'mode' : 'Režim', // from v2.1 added 20.6.2015
+ 'emptyFolder' : 'Priečinok je prázdny', // from v2.1.6 added 30.12.2015
+ 'emptyFolderDrop' : 'Priečinok je prázdny, premiestnite alebo presunte položky', // from v2.1.6 added 30.12.2015
+ 'emptyFolderLTap' : 'Priečinok je prázdny, dlhým kliknutím pridáte položky', // from v2.1.6 added 30.12.2015
+ 'quality' : 'Kvalita', // from v2.1.6 added 5.1.2016
+ 'autoSync' : 'Automatická synchronizácia', // from v2.1.6 added 10.1.2016
+ 'moveUp' : 'Posunúť nahor', // from v2.1.6 added 18.1.2016
+ 'getLink' : 'Získať URL odkaz', // from v2.1.7 added 9.2.2016
+ 'selectedItems' : 'Vybraté položky ($1)', // from v2.1.7 added 2.19.2016
+ 'folderId' : 'ID priečinka', // from v2.1.10 added 3.25.2016
+ 'offlineAccess' : 'Povoliť prístup v offline režime', // from v2.1.10 added 3.25.2016
+ 'reAuth' : 'Znova overiť', // from v2.1.10 added 3.25.2016
+ 'nowLoading' : 'Práve načítava...', // from v2.1.12 added 4.26.2016
+ 'openMulti' : 'Otvorenie viacerých súborov', // from v2.1.12 added 5.14.2016
+ 'openMultiConfirm': 'Pokúšate sa otvoriť súbor $1. Naozaj ho chcete otvoriť v prehliadači?', // from v2.1.12 added 5.14.2016
+ 'emptySearch' : 'Výsledky vyhľadávania su prázdne v hľadanom cieli.', // from v2.1.12 added 5.16.2016
+ 'editingFile' : 'Upravujete súbor.', // from v2.1.13 added 6.3.2016
+ 'hasSelected' : 'Vybrali ste $1 položky.', // from v2.1.13 added 6.3.2016
+ 'hasClipboard' : 'Máte $1 položky v schránke.', // from v2.1.13 added 6.3.2016
+ 'incSearchOnly' : 'Prírastkové hľadanie je iba z aktuálneho zobrazenia.', // from v2.1.13 added 6.30.2016
+ 'reinstate' : 'Obnoviť', // from v2.1.15 added 3.8.2016
+ 'complete' : '$1 kompletné', // from v2.1.15 added 21.8.2016
+ 'contextmenu' : 'Kontextové menu', // from v2.1.15 added 9.9.2016
+ 'pageTurning' : 'Otáčanie stránky', // from v2.1.15 added 10.9.2016
+ 'volumeRoots' : 'Korene média', // from v2.1.16 added 16.9.2016
+ 'reset' : 'Reset', // from v2.1.16 added 1.10.2016
+ 'bgcolor' : 'Farba pozadia', // from v2.1.16 added 1.10.2016
+ 'colorPicker' : 'Výber farby', // from v2.1.16 added 1.10.2016
+ '8pxgrid' : '8px Grid', // from v2.1.16 added 4.10.2016
+ 'enabled' : 'Povolené', // from v2.1.16 added 4.10.2016
+ 'disabled' : 'Zakázané', // from v2.1.16 added 4.10.2016
+ 'emptyIncSearch' : 'Výsledky vyhľadávania sú prázdne v aktuálnom zobrazení.\\Stlačením tlačidla [Enter] rozšírite vyhľadávanie cieľa.', // from v2.1.16 added 5.10.2016
+ 'textLabel' : 'Nápis textu', // from v2.1.17 added 13.10.2016
+
+ /********************************** mimetypes **********************************/
+ 'kindUnknown' : 'Neznámy',
+ 'kindRoot' : 'Koreň média', // from v2.1.16 added 16.10.2016
+ 'kindFolder' : 'Priečinok',
+ 'kindAlias' : 'Alias',
+ 'kindAliasBroken' : 'Porušený alias',
+ // applications
+ 'kindApp' : 'Aplikácia',
+ 'kindPostscript' : 'Postscript dokument',
+ 'kindMsOffice' : 'Microsoft Office dokument',
+ 'kindMsWord' : 'Microsoft Word dokument',
+ 'kindMsExcel' : 'Microsoft Excel dokument',
+ 'kindMsPP' : 'Microsoft Powerpoint prezentácia',
+ 'kindOO' : 'Open Office dokument',
+ 'kindAppFlash' : 'Flashová aplikácia',
+ 'kindPDF' : 'Portable Document Format (PDF)',
+ 'kindTorrent' : 'Bittorrent súbor',
+ 'kind7z' : '7z archív',
+ 'kindTAR' : 'TAR archív',
+ 'kindGZIP' : 'GZIP archív',
+ 'kindBZIP' : 'BZIP archív',
+ 'kindXZ' : 'XZ archív',
+ 'kindZIP' : 'ZIP archív',
+ 'kindRAR' : 'RAR archív',
+ 'kindJAR' : 'Java JAR súbor',
+ 'kindTTF' : 'True Type font',
+ 'kindOTF' : 'Open Type font',
+ 'kindRPM' : 'RPM balík',
+ // texts
+ 'kindText' : 'Textový document',
+ 'kindTextPlain' : 'Obyčajný text',
+ 'kindPHP' : 'PHP zdrojový kód',
+ 'kindCSS' : 'Cascading style sheet (CSS)',
+ 'kindHTML' : 'HTML dokument',
+ 'kindJS' : 'Javascript zdrojový kód',
+ 'kindRTF' : 'Rich Text Format',
+ 'kindC' : 'C zdrojový kód',
+ 'kindCHeader' : 'C header zdrojový kód',
+ 'kindCPP' : 'C++ zdrojový kód',
+ 'kindCPPHeader' : 'C++ header zdrojový kód',
+ 'kindShell' : 'Unix shell skript',
+ 'kindPython' : 'Python zdrojový kód',
+ 'kindJava' : 'Java zdrojový kód',
+ 'kindRuby' : 'Ruby zdrojový kód',
+ 'kindPerl' : 'Perl zdrojový kód',
+ 'kindSQL' : 'SQL zdrojový kód',
+ 'kindXML' : 'XML dokument',
+ 'kindAWK' : 'AWK zdrojový kód',
+ 'kindCSV' : 'Čiarkou oddeľované hodnoty',
+ 'kindDOCBOOK' : 'Docbook XML dokument',
+ 'kindMarkdown' : 'Markdown text', // added 20.7.2015
+ // images
+ 'kindImage' : 'Obrázok',
+ 'kindBMP' : 'BMP obrázok',
+ 'kindJPEG' : 'JPEG obrázok',
+ 'kindGIF' : 'GIF obrázok',
+ 'kindPNG' : 'PNG obrázok',
+ 'kindTIFF' : 'TIFF obrázok',
+ 'kindTGA' : 'TGA obrázok',
+ 'kindPSD' : 'Adobe Photoshop obrázok',
+ 'kindXBITMAP' : 'X bitmap obrázok',
+ 'kindPXM' : 'Pixelmator obrázok',
+ // media
+ 'kindAudio' : 'Zvukový súbor',
+ 'kindAudioMPEG' : 'MPEG zvuk',
+ 'kindAudioMPEG4' : 'MPEG-4 zvuk',
+ 'kindAudioMIDI' : 'MIDI zvuk',
+ 'kindAudioOGG' : 'Ogg Vorbis zvuk',
+ 'kindAudioWAV' : 'WAV zvuk',
+ 'AudioPlaylist' : 'MP3 playlist',
+ 'kindVideo' : 'Video súbor',
+ 'kindVideoDV' : 'DV video',
+ 'kindVideoMPEG' : 'MPEG video',
+ 'kindVideoMPEG4' : 'MPEG-4 video',
+ 'kindVideoAVI' : 'AVI video',
+ 'kindVideoMOV' : 'Quick Time video',
+ 'kindVideoWM' : 'Windows Media video',
+ 'kindVideoFlash' : 'Flash video',
+ 'kindVideoMKV' : 'Matroska video',
+ 'kindVideoOGG' : 'Ogg video'
+ }
+ };
+}
diff --git a/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.sl.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.sl.js
new file mode 100644
index 0000000..5c9c926
--- /dev/null
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.sl.js
@@ -0,0 +1,366 @@
+/**
+ * Slovenian translation
+ * @author Damjan Rems
+ * @version 2014-12-19
+ */
+if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
+ elFinder.prototype.i18.sl = {
+ translator : 'Damjan Rems <d_rems at yahoo.com>',
+ language : 'Slovenščina',
+ direction : 'ltr',
+ dateFormat : 'd.m.Y H:i',
+ fancyDateFormat : '$1 H:i',
+ messages : {
+
+ /********************************** errors **********************************/
+ 'error' : 'Napaka',
+ 'errUnknown' : 'Neznana napaka.',
+ 'errUnknownCmd' : 'Neznan ukaz.',
+ 'errJqui' : 'Napačna jQuery UI nastavitev. Selectable, draggable in droppable dodatki morajo biti vključeni.',
+ 'errNode' : 'elFinder potrebuje "DOM Element".',
+ 'errURL' : 'Napačna nastavitev elFinder-ja! Manjka URL nastavitev.',
+ 'errAccess' : 'Dostop zavrnjen.',
+ 'errConnect' : 'Ne morem se priključiti na "backend".',
+ 'errAbort' : 'Povezava prekinjena (aborted).',
+ 'errTimeout' : 'Povezava potekla (timeout).',
+ 'errNotFound' : 'Nisem našel "backend-a".',
+ 'errResponse' : 'Napačni "backend" odgovor.',
+ 'errConf' : 'Napačna "backend" nastavitev.',
+ 'errJSON' : 'JSON modul ni instaliran.',
+ 'errNoVolumes' : 'Readable volumes not available.',
+ 'errCmdParams' : 'Napačni parametri za ukaz "$1".',
+ 'errDataNotJSON' : 'Podatki niso v JSON obliki.',
+ 'errDataEmpty' : 'Ni podatkov oz. so prazni.',
+ 'errCmdReq' : '"Backend" zahtevek potrebuje ime ukaza.',
+ 'errOpen' : '"$1" ni možno odpreti.',
+ 'errNotFolder' : 'Objekt ni mapa.',
+ 'errNotFile' : 'Objekt ni datoteka.',
+ 'errRead' : '"$1" ni možno brati.',
+ 'errWrite' : 'Ne morem pisati v "$1".',
+ 'errPerm' : 'Dostop zavrnjen.',
+ 'errLocked' : '"$1" je zaklenjen(a) in je ni možno preimenovati, premakniti ali izbrisati.',
+ 'errExists' : 'Datoteka z imenom "$1" že obstaja.',
+ 'errInvName' : 'Napačno ime datoteke.',
+ 'errFolderNotFound' : 'Mape nisem našel.',
+ 'errFileNotFound' : 'Datoteke nisem našel.',
+ 'errTrgFolderNotFound' : 'Ciljna mapa "$1" ne obstaja.',
+ 'errPopup' : 'Brskalnik je preprečil prikaz (popup) okna. Za vpogled datoteke omogočite nastavitev v vašem brskalniku.',
+ 'errMkdir' : 'Ni možno dodati mape "$1".',
+ 'errMkfile' : 'Ni možno dodati datoteke "$1".',
+ 'errRename' : 'Ni možno preimenovati "$1".',
+ 'errCopyFrom' : 'Kopiranje datotek iz "$1" ni dovoljeno.',
+ 'errCopyTo' : 'Kopiranje datotek na "$1" ni dovoljeno.',
+ 'errUpload' : 'Napaka pri prenosu.',
+ 'errUploadFile' : '"$1" ni možno naložiti (upload).',
+ 'errUploadNoFiles' : 'Ni datotek za nalaganje (upload).',
+ 'errUploadTotalSize' : 'Podatki presegajo največjo dovoljeno velikost.',
+ 'errUploadFileSize' : 'Datoteka presega največjo dovoljeno velikost.',
+ 'errUploadMime' : 'Datoteke s to končnico niso dovoljene.',
+ 'errUploadTransfer' : '"$1" napaka pri prenosu.',
+ 'errNotReplace' : 'Object "$1" already exists at this location and can not be replaced by object with another type.',
+ 'errReplace' : 'Unable to replace "$1".',
+ 'errSave' : '"$1" ni možno shraniti.',
+ 'errCopy' : '"$1" ni možno kopirati.',
+ 'errMove' : '"$1" ni možno premakniti.',
+ 'errCopyInItself' : '"$1" ni možno kopirati samo vase.',
+ 'errRm' : '"$1" ni možno izbrisati.',
+ 'errRmSrc' : 'Unable remove source file(s).',
+ 'errExtract' : 'Datotek iz "$1" ni možno odpakirati.',
+ 'errArchive' : 'Napaka pri delanju arhiva.',
+ 'errArcType' : 'Nepodprta vrsta arhiva.',
+ 'errNoArchive' : 'Datoteka ni arhiv ali vrsta arhiva ni podprta.',
+ 'errCmdNoSupport' : '"Backend" ne podpira tega ukaza.',
+ 'errReplByChild' : 'Mape “$1” ni možno zamenjati z vsebino mape.',
+ 'errArcSymlinks' : 'Zaradi varnostnih razlogov arhiva ki vsebuje "symlinks" ni možno odpakirati.',
+ 'errArcMaxSize' : 'Datoteke v arhivu presegajo največjo dovoljeno velikost.',
+ 'errResize' : '"$1" ni možno razširiti.',
+ 'errResizeDegree' : 'Invalid rotate degree.',
+ 'errResizeRotate' : 'Unable to rotate image.',
+ 'errResizeSize' : 'Invalid image size.',
+ 'errResizeNoChange' : 'Image size not changed.',
+ 'errUsupportType' : 'Nepodprta vrsta datoteke.',
+ 'errNotUTF8Content' : 'File "$1" is not in UTF-8 and cannot be edited.', // added 9.11.2011
+ 'errNetMount' : 'Unable to mount "$1".', // added 17.04.2012
+ 'errNetMountNoDriver' : 'Unsupported protocol.', // added 17.04.2012
+ 'errNetMountFailed' : 'Mount failed.', // added 17.04.2012
+ 'errNetMountHostReq' : 'Host required.', // added 18.04.2012
+ 'errSessionExpires' : 'Your session has expired due to inactivity.',
+ 'errCreatingTempDir' : 'Unable to create temporary directory: "$1"',
+ 'errFtpDownloadFile' : 'Unable to download file from FTP: "$1"',
+ 'errFtpUploadFile' : 'Unable to upload file to FTP: "$1"',
+ 'errFtpMkdir' : 'Unable to create remote directory on FTP: "$1"',
+ 'errArchiveExec' : 'Error while archiving files: "$1"',
+ 'errExtractExec' : 'Error while extracting files: "$1"',
+
+ /******************************* commands names ********************************/
+ 'cmdarchive' : 'Naredi arhiv',
+ 'cmdback' : 'Nazaj',
+ 'cmdcopy' : 'Kopiraj',
+ 'cmdcut' : 'Izreži',
+ 'cmddownload' : 'Poberi (download)',
+ 'cmdduplicate' : 'Podvoji',
+ 'cmdedit' : 'Uredi datoteko',
+ 'cmdextract' : 'Odpakiraj datoteke iz arhiva',
+ 'cmdforward' : 'Naprej',
+ 'cmdgetfile' : 'Izberi datoteke',
+ 'cmdhelp' : 'Več o',
+ 'cmdhome' : 'Domov',
+ 'cmdinfo' : 'Lastnosti',
+ 'cmdmkdir' : 'Nova mapa',
+ 'cmdmkfile' : 'Nova datoteka',
+ 'cmdopen' : 'Odpri',
+ 'cmdpaste' : 'Prilepi',
+ 'cmdquicklook' : 'Hitri ogled',
+ 'cmdreload' : 'Osveži',
+ 'cmdrename' : 'Preimenuj',
+ 'cmdrm' : 'Izbriši',
+ 'cmdsearch' : 'Poišči datoteke',
+ 'cmdup' : 'Mapa nazaj',
+ 'cmdupload' : 'Naloži (upload)',
+ 'cmdview' : 'Ogled',
+ 'cmdresize' : 'Povečaj (pomanjšaj) sliko',
+ 'cmdsort' : 'Razvrsti',
+ 'cmdnetmount' : 'Mount network volume',
+
+ /*********************************** buttons ***********************************/
+ 'btnClose' : 'Zapri',
+ 'btnSave' : 'Shrani',
+ 'btnRm' : 'Izbriši',
+ 'btnApply' : 'Uporabi',
+ 'btnCancel' : 'Prekliči',
+ 'btnNo' : 'Ne',
+ 'btnYes' : 'Da',
+ 'btnMount' : 'Mount',
+
+ /******************************** notifications ********************************/
+ 'ntfopen' : 'Odpri mapo',
+ 'ntffile' : 'Odpri datoteko',
+ 'ntfreload' : 'Osveži vsebino mape',
+ 'ntfmkdir' : 'Ustvarjam mapo',
+ 'ntfmkfile' : 'Ustvarjam datoteke',
+ 'ntfrm' : 'Brišem datoteke',
+ 'ntfcopy' : 'Kopiram datoteke',
+ 'ntfmove' : 'Premikam datoteke',
+ 'ntfprepare' : 'Pripravljam se na kopiranje datotek',
+ 'ntfrename' : 'Preimenujem datoteke',
+ 'ntfupload' : 'Nalagam (upload) datoteke',
+ 'ntfdownload' : 'Pobiram (download) datoteke',
+ 'ntfsave' : 'Shranjujem datoteke',
+ 'ntfarchive' : 'Ustvarjam arhiv',
+ 'ntfextract' : 'Razpakiram datoteke iz arhiva',
+ 'ntfsearch' : 'Iščem datoteke',
+ 'ntfresize' : 'Resizing images',
+ 'ntfsmth' : 'Počakaj delam >_<',
+ 'ntfloadimg' : 'Nalagam sliko',
+ 'ntfnetmount' : 'Mounting network volume', // added 18.04.2012
+ 'ntfdim' : 'Acquiring image dimension', // added 20.05.2013
+
+ /************************************ dates **********************************/
+ 'dateUnknown' : 'neznan',
+ 'Today' : 'Danes',
+ 'Yesterday' : 'Včeraj',
+ 'msJan' : 'Jan',
+ 'msFeb' : 'Feb',
+ 'msMar' : 'Mar',
+ 'msApr' : 'Apr',
+ 'msMay' : 'Maj',
+ 'msJun' : 'Jun',
+ 'msJul' : 'Jul',
+ 'msAug' : 'Avg',
+ 'msSep' : 'Sep',
+ 'msOct' : 'Okt',
+ 'msNov' : 'Nov',
+ 'msDec' : 'Dec',
+ 'January' : 'Januar',
+ 'February' : 'Februar',
+ 'March' : 'Marec',
+ 'April' : 'April',
+ 'May' : 'Maj',
+ 'June' : 'Junij',
+ 'July' : 'Julij',
+ 'August' : 'Avgust',
+ 'September' : 'September',
+ 'October' : 'Oktober',
+ 'November' : 'November',
+ 'December' : 'December',
+ 'Sunday' : 'Nedelja',
+ 'Monday' : 'Ponedeljek',
+ 'Tuesday' : 'Torek',
+ 'Wednesday' : 'Sreda',
+ 'Thursday' : 'Četrtek',
+ 'Friday' : 'Petek',
+ 'Saturday' : 'Sobota',
+ 'Sun' : 'Ned',
+ 'Mon' : 'Pon',
+ 'Tue' : 'Tor',
+ 'Wed' : 'Sre',
+ 'Thu' : 'Čet',
+ 'Fri' : 'Pet',
+ 'Sat' : 'Sob',
+
+ /******************************** sort variants ********************************/
+ 'sortname' : 'po imenu',
+ 'sortkind' : 'po vrsti',
+ 'sortsize' : 'po velikosti',
+ 'sortdate' : 'po datumu',
+ 'sortFoldersFirst' : 'Folders first',
+
+ /********************************** messages **********************************/
+ 'confirmReq' : 'Zahtevana je potrditev',
+ 'confirmRm' : 'Ste prepričani, da želite izbrisati datoteko? POZOR! Tega ukaza ni možno preklicati!',
+ 'confirmRepl' : 'Zamenjam staro datoteko z novo?',
+ 'apllyAll' : 'Uporabi pri vseh',
+ 'name' : 'Ime',
+ 'size' : 'Velikost',
+ 'perms' : 'Dovoljenja',
+ 'modify' : 'Spremenjeno',
+ 'kind' : 'Vrsta',
+ 'read' : 'beri',
+ 'write' : 'piši',
+ 'noaccess' : 'ni dostopa',
+ 'and' : 'in',
+ 'unknown' : 'neznan',
+ 'selectall' : 'Izberi vse datoteke',
+ 'selectfiles' : 'Izberi datotek(o)e',
+ 'selectffile' : 'Izberi prvo datoteko',
+ 'selectlfile' : 'Izberi zadnjo datoteko',
+ 'viewlist' : 'Seznam',
+ 'viewicons' : 'Ikone',
+ 'places' : 'Mesta (places)',
+ 'calc' : 'Izračun',
+ 'path' : 'Pot do',
+ 'aliasfor' : 'Sopomenka (alias) za',
+ 'locked' : 'Zaklenjeno',
+ 'dim' : 'Dimenzije',
+ 'files' : 'Datoteke',
+ 'folders' : 'Mape',
+ 'items' : 'Predmeti',
+ 'yes' : 'da',
+ 'no' : 'ne',
+ 'link' : 'Povezava',
+ 'searcresult' : 'Rezultati iskanja',
+ 'selected' : 'izbrani predmeti',
+ 'about' : 'Več o',
+ 'shortcuts' : 'Bližnjice',
+ 'help' : 'Pomoč',
+ 'webfm' : 'Spletni upravitelj datotek',
+ 'ver' : 'Verzija',
+ 'protocolver' : 'verzija protokola',
+ 'homepage' : 'Domača stran',
+ 'docs' : 'Dokumentacija',
+ 'github' : 'Fork us on Github',
+ 'twitter' : 'Sledi na twitterju',
+ 'facebook' : 'Pridruži se nam na facebook-u',
+ 'team' : 'Tim',
+ 'chiefdev' : 'Glavni razvijalec',
+ 'developer' : 'razvijalec',
+ 'contributor' : 'contributor',
+ 'maintainer' : 'vzdrževalec',
+ 'translator' : 'prevajalec',
+ 'icons' : 'Ikone',
+ 'dontforget' : 'In ne pozabi na brisačo',
+ 'shortcutsof' : 'Bližnjica onemogočena',
+ 'dropFiles' : 'Datoteke spusti tukaj',
+ 'or' : 'ali',
+ 'selectForUpload' : 'Izberi datoteke za nalaganje',
+ 'moveFiles' : 'Premakni datoteke',
+ 'copyFiles' : 'Kopiraj datoteke',
+ 'rmFromPlaces' : 'Izbriši iz mesta (places)',
+ 'aspectRatio' : 'Razmerje slike',
+ 'scale' : 'Razširi',
+ 'width' : 'Širina',
+ 'height' : 'Višina',
+ 'resize' : 'Povečaj',
+ 'crop' : 'Obreži',
+ 'rotate' : 'Zavrti',
+ 'rotate-cw' : 'Zavrti 90 st. v smeri ure',
+ 'rotate-ccw' : 'Zavrti 90 st. v obratni smeri ure',
+ 'degree' : 'Stopnja',
+ 'netMountDialogTitle' : 'Mount network volume', // added 18.04.2012
+ 'protocol' : 'Protocol', // added 18.04.2012
+ 'host' : 'Host', // added 18.04.2012
+ 'port' : 'Port', // added 18.04.2012
+ 'user' : 'User', // added 18.04.2012
+ 'pass' : 'Password', // added 18.04.2012
+
+ /********************************** mimetypes **********************************/
+ 'kindUnknown' : 'Neznan',
+ 'kindFolder' : 'Mapa',
+ 'kindAlias' : 'Sopomenka (alias)',
+ 'kindAliasBroken' : 'Nedelujoča sopomenka (alias)',
+ // applications
+ 'kindApp' : 'Program',
+ 'kindPostscript' : 'Postscript dokument',
+ 'kindMsOffice' : 'Microsoft Office dokument',
+ 'kindMsWord' : 'Microsoft Word dokument',
+ 'kindMsExcel' : 'Microsoft Excel dokument',
+ 'kindMsPP' : 'Microsoft Powerpoint predstavitev',
+ 'kindOO' : 'Open Office dokument',
+ 'kindAppFlash' : 'Flash program',
+ 'kindPDF' : 'Portable Document Format (PDF)',
+ 'kindTorrent' : 'Bittorrent datoteka',
+ 'kind7z' : '7z arhiv',
+ 'kindTAR' : 'TAR arhiv',
+ 'kindGZIP' : 'GZIP arhiv',
+ 'kindBZIP' : 'BZIP arhiv',
+ 'kindXZ' : 'XZ arhiv',
+ 'kindZIP' : 'ZIP arhiv',
+ 'kindRAR' : 'RAR arhiv',
+ 'kindJAR' : 'Java JAR datoteka',
+ 'kindTTF' : 'True Type font',
+ 'kindOTF' : 'Open Type font',
+ 'kindRPM' : 'RPM paket',
+ // texts
+ 'kindText' : 'Tekst dokument',
+ 'kindTextPlain' : 'Samo tekst',
+ 'kindPHP' : 'PHP koda',
+ 'kindCSS' : 'Cascading style sheet (CSS)',
+ 'kindHTML' : 'HTML dokument',
+ 'kindJS' : 'Javascript koda',
+ 'kindRTF' : 'Rich Text Format (RTF)',
+ 'kindC' : 'C koda',
+ 'kindCHeader' : 'C header koda',
+ 'kindCPP' : 'C++ koda',
+ 'kindCPPHeader' : 'C++ header koda',
+ 'kindShell' : 'Unix shell skripta',
+ 'kindPython' : 'Python kdoa',
+ 'kindJava' : 'Java koda',
+ 'kindRuby' : 'Ruby koda',
+ 'kindPerl' : 'Perl skripta',
+ 'kindSQL' : 'SQL koda',
+ 'kindXML' : 'XML dokument',
+ 'kindAWK' : 'AWK koda',
+ 'kindCSV' : 'Besedilo ločeno z vejico (CSV)',
+ 'kindDOCBOOK' : 'Docbook XML dokument',
+ // images
+ 'kindImage' : 'Slika',
+ 'kindBMP' : 'BMP slika',
+ 'kindJPEG' : 'JPEG slika',
+ 'kindGIF' : 'GIF slika',
+ 'kindPNG' : 'PNG slika',
+ 'kindTIFF' : 'TIFF slika',
+ 'kindTGA' : 'TGA slika',
+ 'kindPSD' : 'Adobe Photoshop slika',
+ 'kindXBITMAP' : 'X bitmap slika',
+ 'kindPXM' : 'Pixelmator slika',
+ // media
+ 'kindAudio' : 'Avdio medija',
+ 'kindAudioMPEG' : 'MPEG zvok',
+ 'kindAudioMPEG4' : 'MPEG-4 zvok',
+ 'kindAudioMIDI' : 'MIDI zvok',
+ 'kindAudioOGG' : 'Ogg Vorbis zvok',
+ 'kindAudioWAV' : 'WAV zvok',
+ 'AudioPlaylist' : 'MP3 seznam',
+ 'kindVideo' : 'Video medija',
+ 'kindVideoDV' : 'DV film',
+ 'kindVideoMPEG' : 'MPEG film',
+ 'kindVideoMPEG4' : 'MPEG-4 film',
+ 'kindVideoAVI' : 'AVI film',
+ 'kindVideoMOV' : 'Quick Time film',
+ 'kindVideoWM' : 'Windows Media film',
+ 'kindVideoFlash' : 'Flash film',
+ 'kindVideoMKV' : 'Matroska film',
+ 'kindVideoOGG' : 'Ogg film'
+ }
+ };
+}
diff --git a/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.sr.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.sr.js
new file mode 100644
index 0000000..59d7464
--- /dev/null
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.sr.js
@@ -0,0 +1,366 @@
+ /**
+ * Serbian translation
+ * @author Momčilo m0k1 Mićanović
+ * @version 2014-12-19
+ */
+if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
+ elFinder.prototype.i18.sr = {
+ translator : 'Momčilo m0k1 Mićanović <moki.forum@gmail.com>',
+ language : 'Srpski',
+ direction : 'ltr',
+ dateFormat : 'd.m.Y H:i',
+ fancyDateFormat : '$1 H:i',
+ messages : {
+
+ /********************************** errors **********************************/
+ 'error' : 'Greška',
+ 'errUnknown' : 'Nepoznata greška.',
+ 'errUnknownCmd' : 'Nepoznata komanda.',
+ 'errJqui' : 'Neispravna konfiguracija jQuery UI. Komponente koje mogu da se odabiru, povlače, izbacuju moraju biti uključene.',
+ 'errNode' : 'elFinder zahteva DOM Element da bude kreiran.',
+ 'errURL' : 'Neispravna elFinder konfiguracija! URL opcija nije postavljena.',
+ 'errAccess' : 'Pristup odbijen.',
+ 'errConnect' : 'Nije moguće povezivanje s skriptom.',
+ 'errAbort' : 'Veza prekinuta.',
+ 'errTimeout' : 'Veza odbačena.',
+ 'errNotFound' : 'Skripta nije pronađena.',
+ 'errResponse' : 'Neispravan odgovor skripte.',
+ 'errConf' : 'Neispravna konfiguracija skripte.',
+ 'errJSON' : 'PHP JSON modul nije instaliran.',
+ 'errNoVolumes' : 'Vidljivi volumeni nisu dostupni.',
+ 'errCmdParams' : 'Nevažeći parametri za komandu "$1".',
+ 'errDataNotJSON' : 'Podaci nisu JSON.',
+ 'errDataEmpty' : 'Podaci nisu prazni.',
+ 'errCmdReq' : 'Skripta zahteva komandu.',
+ 'errOpen' : 'Nemoguće otvoriti "$1".',
+ 'errNotFolder' : 'Objekat nije folder.',
+ 'errNotFile' : 'Objekat nije datoteka.',
+ 'errRead' : 'Nemoguće pročitati "$1".',
+ 'errWrite' : 'Nemoguće pisati u "$1".',
+ 'errPerm' : 'Dozvola je odbijena.',
+ 'errLocked' : '"$1" je zaključan i nemože biti preimenovan, premešten ili obrisan.',
+ 'errExists' : 'Datoteka zvana "$1" već postoji.',
+ 'errInvName' : 'Neispravno ime datoteke.',
+ 'errFolderNotFound' : 'Folder nije pronađen.',
+ 'errFileNotFound' : 'Datoteka nije pronađena.',
+ 'errTrgFolderNotFound' : 'Izabrani folder "$1" nije pronađen.',
+ 'errPopup' : 'Pretraživač sprečava otvaranje iskačućih prozora. Da otvorite datoteku uključite iskačuće prozore u opcijama pretraživača.',
+ 'errMkdir' : 'Nemoguće kreirati folder "$1".',
+ 'errMkfile' : 'Nemoguće kreirati datoteku "$1".',
+ 'errRename' : 'Nemoguće preimenovati datoteku "$1".',
+ 'errCopyFrom' : 'Kopiranje datoteki sa "$1" nije dozvoljeno.',
+ 'errCopyTo' : 'Kopiranje datoteki na "$1" nije dozvoljeno.',
+ 'errUpload' : 'Greska pri slanju.',
+ 'errUploadFile' : 'Nemoguće poslati "$1".',
+ 'errUploadNoFiles' : 'Nisu pronađene datoteke za slanje.',
+ 'errUploadTotalSize' : 'Podaci premašuju najveću dopuštenu veličinu.',
+ 'errUploadFileSize' : 'Datoteka premašuje najveću dopuštenu veličinu.',
+ 'errUploadMime' : 'Vrsta datoteke nije dopuštena.',
+ 'errUploadTransfer' : '"$1" greška prilikom slanja.',
+ 'errNotReplace' : 'Object "$1" already exists at this location and can not be replaced by object with another type.',
+ 'errReplace' : 'Unable to replace "$1".',
+ 'errSave' : 'Nemožeš sačuvati "$1".',
+ 'errCopy' : 'Nemožeš kopirati "$1".',
+ 'errMove' : 'Nemožeš premestiti "$1".',
+ 'errCopyInItself' : 'Nemožeš kopirati "$1" na istu lokaciju.',
+ 'errRm' : 'Nemožeš obrisati "$1".',
+ 'errRmSrc' : 'Unable remove source file(s).',
+ 'errExtract' : 'Nemoguće izvaditi datoteke iz "$1".',
+ 'errArchive' : 'Nemoguće kreirati arhivu.',
+ 'errArcType' : 'Nepodržani tip arhive.',
+ 'errNoArchive' : 'Datoteka nije arhiva ili je nepodržani tip arhive.',
+ 'errCmdNoSupport' : 'Skripta nepodržava ovu komandu.',
+ 'errReplByChild' : 'Folder “$1” ne može biti zamenut stavkom koju sadrži.',
+ 'errArcSymlinks' : 'Zbog bezbednosnih razloga ne možete raspakovati arhive koje sadrže simboličke veze ili datoteke sa nedozvoljenim imenima.',
+ 'errArcMaxSize' : 'Arhiva je dostigla maksimalnu veličinu.',
+ 'errResize' : 'Nemoguće promeniti veličinu "$1".',
+ 'errResizeDegree' : 'Invalid rotate degree.',
+ 'errResizeRotate' : 'Unable to rotate image.',
+ 'errResizeSize' : 'Invalid image size.',
+ 'errResizeNoChange' : 'Image size not changed.',
+ 'errUsupportType' : 'nepodržan tip datoteke.',
+ 'errNotUTF8Content' : 'Datoteka "$1" nije u UTF-8 formati i ne može biti izmenjena.',
+ 'errNetMount' : 'Nije moguće montirati "$1".',
+ 'errNetMountNoDriver' : 'Nepodržani protokol.',
+ 'errNetMountFailed' : 'Montiranje neuspelo.',
+ 'errNetMountHostReq' : 'Host je potreban.',
+ 'errSessionExpires' : 'Your session has expired due to inactivity.',
+ 'errCreatingTempDir' : 'Unable to create temporary directory: "$1"',
+ 'errFtpDownloadFile' : 'Unable to download file from FTP: "$1"',
+ 'errFtpUploadFile' : 'Unable to upload file to FTP: "$1"',
+ 'errFtpMkdir' : 'Unable to create remote directory on FTP: "$1"',
+ 'errArchiveExec' : 'Error while archiving files: "$1"',
+ 'errExtractExec' : 'Error while extracting files: "$1"',
+
+ /******************************* commands names ********************************/
+ 'cmdarchive' : 'Kreiraj arhivu',
+ 'cmdback' : 'Nazad',
+ 'cmdcopy' : 'Kopiraj',
+ 'cmdcut' : 'Iseci',
+ 'cmddownload' : 'Preuzmi',
+ 'cmdduplicate' : 'Dupliraj',
+ 'cmdedit' : 'Izmeni datoteku',
+ 'cmdextract' : 'Raspakuj arhivu',
+ 'cmdforward' : 'Napred',
+ 'cmdgetfile' : 'Izaberi datoteke',
+ 'cmdhelp' : 'O ovom softveru',
+ 'cmdhome' : 'Početna',
+ 'cmdinfo' : 'Proveri informacije',
+ 'cmdmkdir' : 'Novi folder',
+ 'cmdmkfile' : 'Nova tekstualna datoteka',
+ 'cmdopen' : 'Otvori',
+ 'cmdpaste' : 'Zalepi',
+ 'cmdquicklook' : 'Pregledaj',
+ 'cmdreload' : 'Povno učitaj',
+ 'cmdrename' : 'Preimenuj',
+ 'cmdrm' : 'Obriši',
+ 'cmdsearch' : 'Pronađi datoteke',
+ 'cmdup' : 'Idi na nadređeni folder',
+ 'cmdupload' : 'Pošalji datoteke',
+ 'cmdview' : 'Pogledaj',
+ 'cmdresize' : 'Promeni veličinu slike',
+ 'cmdsort' : 'Sortiraj',
+ 'cmdnetmount' : 'Mount network volume',
+
+ /*********************************** buttons ***********************************/
+ 'btnClose' : 'Zatvori',
+ 'btnSave' : 'Sačuvaj',
+ 'btnRm' : 'Preimenuj',
+ 'btnApply' : 'Potvrdi',
+ 'btnCancel' : 'Prekini',
+ 'btnNo' : 'Ne',
+ 'btnYes' : 'Da',
+ 'btnMount' : 'Mount',
+
+ /******************************** notifications ********************************/
+ 'ntfopen' : 'Otvaranje foldera',
+ 'ntffile' : 'Otvaranje datoteke',
+ 'ntfreload' : 'Ponovo učitavanje sadržaja foldera',
+ 'ntfmkdir' : 'Kreiranje foldera',
+ 'ntfmkfile' : 'Kreiranje datoteke',
+ 'ntfrm' : 'Brisanje datoteke',
+ 'ntfcopy' : 'Kopiranje datoteke',
+ 'ntfmove' : 'Premeštanje datoteke',
+ 'ntfprepare' : 'Priprema za kopiranje dateoteke',
+ 'ntfrename' : 'Primenovanje datoteke',
+ 'ntfupload' : 'Slanje datoteke',
+ 'ntfdownload' : 'Preuzimanje datoteke',
+ 'ntfsave' : 'Čuvanje datoteke',
+ 'ntfarchive' : 'Kreiranje arhive',
+ 'ntfextract' : 'Izdvajanje datoteka iz arhive',
+ 'ntfsearch' : 'Pretraga datoteka',
+ 'ntfresize' : 'Resizing images',
+ 'ntfsmth' : 'Radim nešto >_<',
+ 'ntfloadimg' : 'Učitavanje slike',
+ 'ntfnetmount' : 'Montiranje mrežnog volumena',
+ 'ntfdim' : 'Acquiring image dimension',
+
+ /************************************ dates **********************************/
+ 'dateUnknown' : 'nepoznat',
+ 'Today' : 'Danas',
+ 'Yesterday' : 'Sutra',
+ 'msJan' : 'Jan',
+ 'msFeb' : 'Feb',
+ 'msMar' : 'Mar',
+ 'msApr' : 'Apr',
+ 'msMay' : 'Maj',
+ 'msJun' : 'Jun',
+ 'msJul' : 'Jul',
+ 'msAug' : 'Avg',
+ 'msSep' : 'Sep',
+ 'msOct' : 'Okt',
+ 'msNov' : 'Nov',
+ 'msDec' : 'Dec',
+ 'January' : 'Januar',
+ 'February' : 'Februar',
+ 'March' : 'Mart',
+ 'April' : 'April',
+ 'May' : 'Maj',
+ 'June' : 'Jun',
+ 'July' : 'Jul',
+ 'August' : 'Avgust',
+ 'September' : 'Septembar',
+ 'October' : 'Oktobar',
+ 'November' : 'Novembar',
+ 'December' : 'Decembar',
+ 'Sunday' : 'Nedelja',
+ 'Monday' : 'Ponedeljak',
+ 'Tuesday' : 'Utorak',
+ 'Wednesday' : 'Sreda',
+ 'Thursday' : 'Četvrtak',
+ 'Friday' : 'Petak',
+ 'Saturday' : 'Subota',
+ 'Sun' : 'Ned',
+ 'Mon' : 'Pon',
+ 'Tue' : 'Uto',
+ 'Wed' : 'Sre',
+ 'Thu' : 'Čet',
+ 'Fri' : 'Pet',
+ 'Sat' : 'Sub',
+
+ /******************************** sort variants ********************************/
+ 'sortname' : 'po imenu',
+ 'sortkind' : 'po vrsti',
+ 'sortsize' : 'po veličini',
+ 'sortdate' : 'po datumu',
+ 'sortFoldersFirst' : 'Prvo folderi',
+
+ /********************************** messages **********************************/
+ 'confirmReq' : 'Potrebna potvrda',
+ 'confirmRm' : 'Da li ste sigurni da želite da obrišete datoteke? Ovo se ne može poništiti!',
+ 'confirmRepl' : 'Zameniti stare datoteke sa novima?',
+ 'apllyAll' : 'Potvrdi za sve',
+ 'name' : 'Ime',
+ 'size' : 'Veličina',
+ 'perms' : 'Dozvole',
+ 'modify' : 'Izmenjeno',
+ 'kind' : 'Vrsta',
+ 'read' : 'čitanje',
+ 'write' : 'pisanje',
+ 'noaccess' : 'bez pristupa',
+ 'and' : 'i',
+ 'unknown' : 'nepoznato',
+ 'selectall' : 'Izaberi sve datoteke',
+ 'selectfiles' : 'Izaberi datoteku(e)',
+ 'selectffile' : 'Izaberi prvu datoteku',
+ 'selectlfile' : 'Izaberi poslednju datoteku',
+ 'viewlist' : 'Popisni prikaz',
+ 'viewicons' : 'Pregled ikona',
+ 'places' : 'Mesta',
+ 'calc' : 'Izračunaj',
+ 'path' : 'Putanja',
+ 'aliasfor' : 'Nadimak za',
+ 'locked' : 'Zaključano',
+ 'dim' : 'Dimenzije',
+ 'files' : 'Datoteke',
+ 'folders' : 'Folderi',
+ 'items' : 'Stavke',
+ 'yes' : 'da',
+ 'no' : 'ne',
+ 'link' : 'Veza',
+ 'searcresult' : 'Rezultati pretrage',
+ 'selected' : 'odabrane stavke',
+ 'about' : 'O softveru',
+ 'shortcuts' : 'Prečice',
+ 'help' : 'Pomoć',
+ 'webfm' : 'Web menađer datoteka',
+ 'ver' : 'Verzija',
+ 'protocolver' : 'verzija protokla',
+ 'homepage' : 'Adresa projekta',
+ 'docs' : 'Dokumentacija',
+ 'github' : 'Forkuj nas na Github',
+ 'twitter' : 'Prati nas na twitter',
+ 'facebook' : 'Pridruži nam se na facebook',
+ 'team' : 'Tim',
+ 'chiefdev' : 'glavni programer',
+ 'developer' : 'programer',
+ 'contributor' : 'pomoćnik',
+ 'maintainer' : 'održavatelj',
+ 'translator' : 'prevodilac',
+ 'icons' : 'Ikone',
+ 'dontforget' : 'i ne zaboravite da ponesete peškir',
+ 'shortcutsof' : 'Prečice isključene',
+ 'dropFiles' : 'Prevucite datoteke ovde',
+ 'or' : 'ili',
+ 'selectForUpload' : 'Odaberite datoteke za slanje',
+ 'moveFiles' : 'Premesti datoteke',
+ 'copyFiles' : 'Kopiraj datoteke',
+ 'rmFromPlaces' : 'Ukloni iz mesta',
+ 'aspectRatio' : 'Omer širine i visine',
+ 'scale' : 'Razmera',
+ 'width' : 'Širina',
+ 'height' : 'Visina',
+ 'resize' : 'Promeni veličinu',
+ 'crop' : 'Iseci',
+ 'rotate' : 'Rotiraj',
+ 'rotate-cw' : 'Rotiraj 90 stepeni CW',
+ 'rotate-ccw' : 'Rotiraj 90 stepeni CCW',
+ 'degree' : 'Stepeni',
+ 'netMountDialogTitle' : 'Montiraj mrežni volumen',
+ 'protocol' : 'Protokol',
+ 'host' : 'Host',
+ 'port' : 'Port',
+ 'user' : 'Korisničko Ime',
+ 'pass' : 'Lozinka',
+
+ /********************************** mimetypes **********************************/
+ 'kindUnknown' : 'Nepoznat',
+ 'kindFolder' : 'Folder',
+ 'kindAlias' : 'Nadimak',
+ 'kindAliasBroken' : 'Neispravan nadimak',
+ // applications
+ 'kindApp' : 'Aplikacija',
+ 'kindPostscript' : 'Postscript dokument',
+ 'kindMsOffice' : 'Microsoft Office dokument',
+ 'kindMsWord' : 'Microsoft Word dokument',
+ 'kindMsExcel' : 'Microsoft Excel dokument',
+ 'kindMsPP' : 'Microsoft Powerpoint prezentacija',
+ 'kindOO' : 'Open Office dokument',
+ 'kindAppFlash' : 'Flash aplikacija',
+ 'kindPDF' : 'Portable Document Format (PDF)',
+ 'kindTorrent' : 'Bittorrent datoteka',
+ 'kind7z' : '7z arhiva',
+ 'kindTAR' : 'TAR arhiva',
+ 'kindGZIP' : 'GZIP arhiva',
+ 'kindBZIP' : 'BZIP arhiva',
+ 'kindXZ' : 'XZ arhiva',
+ 'kindZIP' : 'ZIP arhiva',
+ 'kindRAR' : 'RAR arhiva',
+ 'kindJAR' : 'Java JAR datoteka',
+ 'kindTTF' : 'True Type font',
+ 'kindOTF' : 'Open Type font',
+ 'kindRPM' : 'RPM paket',
+ // texts
+ 'kindText' : 'Teokstualni dokument',
+ 'kindTextPlain' : 'Čist tekst',
+ 'kindPHP' : 'PHP kod',
+ 'kindCSS' : 'CSS kod',
+ 'kindHTML' : 'HTML dokument',
+ 'kindJS' : 'Javascript kod',
+ 'kindRTF' : 'Rich Text Format',
+ 'kindC' : 'C kod',
+ 'kindCHeader' : 'C header kod',
+ 'kindCPP' : 'C++ kod',
+ 'kindCPPHeader' : 'C++ header kod',
+ 'kindShell' : 'Unix shell skripta',
+ 'kindPython' : 'Python kod',
+ 'kindJava' : 'Java kod',
+ 'kindRuby' : 'Ruby kod',
+ 'kindPerl' : 'Perl skripta',
+ 'kindSQL' : 'SQL kod',
+ 'kindXML' : 'XML dokument',
+ 'kindAWK' : 'AWK kod',
+ 'kindCSV' : 'Comma separated values',
+ 'kindDOCBOOK' : 'Docbook XML dokument',
+ // images
+ 'kindImage' : 'Slika',
+ 'kindBMP' : 'BMP slika',
+ 'kindJPEG' : 'JPEG slika',
+ 'kindGIF' : 'GIF slika',
+ 'kindPNG' : 'PNG slika',
+ 'kindTIFF' : 'TIFF slika',
+ 'kindTGA' : 'TGA slika',
+ 'kindPSD' : 'Adobe Photoshop slika',
+ 'kindXBITMAP' : 'X bitmap slika',
+ 'kindPXM' : 'Pixelmator slika',
+ // media
+ 'kindAudio' : 'Zvuk',
+ 'kindAudioMPEG' : 'MPEG zvuk',
+ 'kindAudioMPEG4' : 'MPEG-4 zvuk',
+ 'kindAudioMIDI' : 'MIDI zvuk',
+ 'kindAudioOGG' : 'Ogg Vorbis zvuk',
+ 'kindAudioWAV' : 'WAV zvuk',
+ 'AudioPlaylist' : 'MP3 lista',
+ 'kindVideo' : 'Video',
+ 'kindVideoDV' : 'DV video',
+ 'kindVideoMPEG' : 'MPEG video',
+ 'kindVideoMPEG4' : 'MPEG-4 video',
+ 'kindVideoAVI' : 'AVI video',
+ 'kindVideoMOV' : 'Quick Time video',
+ 'kindVideoWM' : 'Windows Media video',
+ 'kindVideoFlash' : 'Flash video',
+ 'kindVideoMKV' : 'Matroska video',
+ 'kindVideoOGG' : 'Ogg video'
+ }
+ };
+}
diff --git a/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.sv.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.sv.js
new file mode 100644
index 0000000..6813661
--- /dev/null
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.sv.js
@@ -0,0 +1,367 @@
+/**
+ * Swedish translation
+ * @author Gabriel Satzger
+ * @version 2014-12-19
+ */
+if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
+ elFinder.prototype.i18.sv = {
+ translator : 'Gabriel Satzger <gabriel.satzger@sbg.se>',
+ language : 'Svenska',
+ direction : 'ltr',
+ dateFormat : 'Y-m-d H:i',
+ fancyDateFormat : '$1 H:i',
+ messages : {
+
+ /********************************** errors **********************************/
+ 'error' : 'Error',
+ 'errUnknown' : 'Okänt error.',
+ 'errUnknownCmd' : 'Okänt kommando.',
+ 'errJqui' : 'Felaktig jQuery UI konfiguration. Komponenterna selectable, draggable och droppable måste vara inkluderade.',
+ 'errNode' : 'elFinder kräver att DOM Elementen skapats.',
+ 'errURL' : 'Felaktig elFinder konfiguration! URL parametern är inte satt.',
+ 'errAccess' : 'Åtkomst nekad.',
+ 'errConnect' : 'Kan inte ansluta till backend.',
+ 'errAbort' : 'Anslutningen avbröts.',
+ 'errTimeout' : 'Anslutningen löpte ut.',
+ 'errNotFound' : 'Backend hittades inte.',
+ 'errResponse' : 'Ogiltig backend svar.',
+ 'errConf' : 'Ogiltig backend konfiguration.',
+ 'errJSON' : 'PHP JSON modul är inte installerad.',
+ 'errNoVolumes' : 'Läsbara volymer är inte tillgängliga.',
+ 'errCmdParams' : 'Ogiltiga parametrar för kommandot "$1".',
+ 'errDataNotJSON' : 'Datan är inte JSON.',
+ 'errDataEmpty' : 'Datan är tom.',
+ 'errCmdReq' : 'Backend begäran kräver kommandonamn.',
+ 'errOpen' : 'Kan inte öppna "$1".',
+ 'errNotFolder' : 'Objektet är inte en mapp.',
+ 'errNotFile' : 'Objektet är inte en fil.',
+ 'errRead' : 'Kan inte läsa "$1".',
+ 'errWrite' : 'Kan inte skriva till "$1".',
+ 'errPerm' : 'Tillstånd nekat.',
+ 'errLocked' : '"$1" är låst och kan inte döpas om, flyttas eller tas bort.',
+ 'errExists' : 'Fil med namn "$1" finns redan.',
+ 'errInvName' : 'Ogiltigt filnamn.',
+ 'errFolderNotFound' : 'Mappen hittades inte.',
+ 'errFileNotFound' : 'Filen hittades inte.',
+ 'errTrgFolderNotFound' : 'Målmappen "$1" hittades inte.',
+ 'errPopup' : 'Webbläsaren hindrade popup-fönstret att öppnas. Ändra i webbläsarens inställningar för att kunna öppna filen.',
+ 'errMkdir' : 'Kan inte skapa mappen "$1".',
+ 'errMkfile' : 'Kan inte skapa filen "$1".',
+ 'errRename' : 'Kan inte döpa om "$1".',
+ 'errCopyFrom' : 'Kopiera filer från volym "$1" tillåts inte.',
+ 'errCopyTo' : 'Kopiera filer till volym "$1" tillåts inte.',
+ 'errUpload' : 'Error vid uppladdningen.',
+ 'errUploadFile' : 'Kan inte ladda upp "$1".',
+ 'errUploadNoFiles' : 'Inga filer hittades för uppladdning.',
+ 'errUploadTotalSize' : 'Data överskrider den högsta tillåtna storleken.',
+ 'errUploadFileSize' : 'Filen överskrider den högsta tillåtna storleken.',
+ 'errUploadMime' : 'Otillåten filtyp.',
+ 'errUploadTransfer' : '"$1" överföringsfel.',
+ 'errNotReplace' : 'Object "$1" already exists at this location and can not be replaced by object with another type.',
+ 'errReplace' : 'Unable to replace "$1".',
+ 'errSave' : 'Kan inte spara "$1".',
+ 'errCopy' : 'Kan inte kopiera "$1".',
+ 'errMove' : 'Kan inte flytta "$1".',
+ 'errCopyInItself' : 'Kan inte flytta "$1" till sig själv.',
+ 'errRm' : 'Kan inte ta bort "$1".',
+ 'errRmSrc' : 'Unable remove source file(s).',
+ 'errExtract' : 'Kan inte packa upp filen från "$1".',
+ 'errArchive' : 'Kan inte skapa arkiv.',
+ 'errArcType' : 'Arkivtypen stöds inte.',
+ 'errNoArchive' : 'Filen är inte av typen arkiv.',
+ 'errCmdNoSupport' : 'Backend stöder inte detta kommando.',
+ 'errReplByChild' : 'Mappen “$1” kan inte ersättas av ett objekt den innehåller.',
+ 'errArcSymlinks' : 'Av säkerhetsskäl nekas arkivet att packas upp då det innehåller symboliska länkar eller filer med ej tillåtna namn.', // edited 24.06.2012
+ 'errArcMaxSize' : 'Arkivfiler överskrider största tillåtna storlek.',
+ 'errResize' : 'Kan inte ändra storlek "$1".',
+ 'errResizeDegree' : 'Invalid rotate degree.',
+ 'errResizeRotate' : 'Unable to rotate image.',
+ 'errResizeSize' : 'Invalid image size.',
+ 'errResizeNoChange' : 'Image size not changed.',
+ 'errUsupportType' : 'Filtypen stöds inte.',
+ 'errNotUTF8Content' : 'Filen "$1" är inte i UTF-8 och kan inte redigeras.', // added 9.11.2011
+ 'errNetMount' : 'Kan inte koppla "$1".', // added 17.04.2012
+ 'errNetMountNoDriver' : 'Protokollet stöds inte.', // added 17.04.2012
+ 'errNetMountFailed' : 'Kopplingen misslyckades.', // added 17.04.2012
+ 'errNetMountHostReq' : 'Host krävs.', // added 18.04.2012
+ 'errSessionExpires' : 'Your session has expired due to inactivity.',
+ 'errCreatingTempDir' : 'Unable to create temporary directory: "$1"',
+ 'errFtpDownloadFile' : 'Unable to download file from FTP: "$1"',
+ 'errFtpUploadFile' : 'Unable to upload file to FTP: "$1"',
+ 'errFtpMkdir' : 'Unable to create remote directory on FTP: "$1"',
+ 'errArchiveExec' : 'Error while archiving files: "$1"',
+ 'errExtractExec' : 'Error while extracting files: "$1"',
+
+ /******************************* commands names ********************************/
+ 'cmdarchive' : 'Skapa arkiv',
+ 'cmdback' : 'Tillbaka',
+ 'cmdcopy' : 'Kopiera',
+ 'cmdcut' : 'Klipp ut',
+ 'cmddownload' : 'Ladda ned',
+ 'cmdduplicate' : 'Duplicera',
+ 'cmdedit' : 'Redigera fil',
+ 'cmdextract' : 'Extrahera filer från arkiv',
+ 'cmdforward' : 'Framåt',
+ 'cmdgetfile' : 'Välj filer',
+ 'cmdhelp' : 'Om denna programvara',
+ 'cmdhome' : 'Hem',
+ 'cmdinfo' : 'Visa info',
+ 'cmdmkdir' : 'Ny mapp',
+ 'cmdmkfile' : 'Ny textfil',
+ 'cmdopen' : 'Öpna',
+ 'cmdpaste' : 'Klistra in',
+ 'cmdquicklook' : 'Förhandsgranska',
+ 'cmdreload' : 'Ladda om',
+ 'cmdrename' : 'Döp om',
+ 'cmdrm' : 'Radera',
+ 'cmdsearch' : 'Hitta filer',
+ 'cmdup' : 'Gå till överordnade katalog',
+ 'cmdupload' : 'Ladda upp filer',
+ 'cmdview' : 'Visa',
+ 'cmdresize' : 'Ändra bildstorlek',
+ 'cmdsort' : 'Sortera',
+ 'cmdnetmount' : 'Mount network volume',
+
+ /*********************************** buttons ***********************************/
+ 'btnClose' : 'Stäng',
+ 'btnSave' : 'Spara',
+ 'btnRm' : 'Ta bort',
+ 'btnApply' : 'Verkställ',
+ 'btnCancel' : 'Ångra',
+ 'btnNo' : 'Nej',
+ 'btnYes' : 'Ja',
+ 'btnMount' : 'Mount',
+
+ /******************************** notifications ********************************/
+ 'ntfopen' : 'Öppnar mapp',
+ 'ntffile' : 'Öppnar fil',
+ 'ntfreload' : 'Laddar om mappinnehållet',
+ 'ntfmkdir' : 'Skapar katalog',
+ 'ntfmkfile' : 'Skapar fil',
+ 'ntfrm' : 'Tar bort filer',
+ 'ntfcopy' : 'Kopierar filer',
+ 'ntfmove' : 'Flyttar filer',
+ 'ntfprepare' : 'Förbereder att flytta filer',
+ 'ntfrename' : 'Döper om filer',
+ 'ntfupload' : 'Laddar upp filer',
+ 'ntfdownload' : 'Laddar ner filer',
+ 'ntfsave' : 'Sparar filer',
+ 'ntfarchive' : 'Skapar arkiv',
+ 'ntfextract' : 'Extraherar filer från arkiv',
+ 'ntfsearch' : 'Söker filer',
+ 'ntfresize' : 'Resizing images',
+ 'ntfsmth' : 'Gör någonting >_<',
+ 'ntfloadimg' : 'Laddar bild',
+ 'ntfnetmount' : 'kopplar nätverksvolym', // added 18.04.2012
+ 'ntfdim' : 'Acquiring image dimension',
+
+ /************************************ dates **********************************/
+ 'dateUnknown' : 'okänt',
+ 'Today' : 'Idag',
+ 'Yesterday' : 'Igår',
+ 'msJan' : 'Jan',
+ 'msFeb' : 'Feb',
+ 'msMar' : 'Mar',
+ 'msApr' : 'Apr',
+ 'msMay' : 'Maj',
+ 'msJun' : 'Jun',
+ 'msJul' : 'Jul',
+ 'msAug' : 'Aug',
+ 'msSep' : 'Sep',
+ 'msOct' : 'Okt',
+ 'msNov' : 'Nov',
+ 'msDec' : 'Dec',
+ 'January' : 'Januari',
+ 'February' : 'Februari',
+ 'March' : 'Mars',
+ 'April' : 'April',
+ 'May' : 'Maj',
+ 'June' : 'Juni',
+ 'July' : 'Juli',
+ 'August' : 'Augusti',
+ 'September' : 'September',
+ 'October' : 'Oktober',
+ 'November' : 'November',
+ 'December' : 'December',
+ 'Sunday' : 'Söndag',
+ 'Monday' : 'Måndag',
+ 'Tuesday' : 'Tisdag',
+ 'Wednesday' : 'Onsdag',
+ 'Thursday' : 'Torsdag',
+ 'Friday' : 'Fredag',
+ 'Saturday' : 'Lördag',
+ 'Sun' : 'Sön',
+ 'Mon' : 'Mån',
+ 'Tue' : 'Tis',
+ 'Wed' : 'Ons',
+ 'Thu' : 'Tor',
+ 'Fri' : 'Fre',
+ 'Sat' : 'Lör',
+
+ /******************************** sort variants ********************************/
+ 'sortname' : 'efter namn',
+ 'sortkind' : 'efter sort',
+ 'sortsize' : 'efter storlek',
+ 'sortdate' : 'efter datum',
+ 'sortFoldersFirst' : 'Mappar först', // added 22.06.2012
+
+ /********************************** messages **********************************/
+ 'confirmReq' : 'Bekräftelse krävs',
+ 'confirmRm' : 'Är du säker på att du vill ta bort filer? Detta kan inte ångras!',
+ 'confirmRepl' : 'Ersätt den gamla filen med en ny?',
+ 'apllyAll' : 'Använd för alla',
+ 'name' : 'Namn',
+ 'size' : 'Storlek',
+ 'perms' : 'Rättigheter',
+ 'modify' : 'Ändrad',
+ 'kind' : 'Sort',
+ 'read' : 'läs',
+ 'write' : 'skriv',
+ 'noaccess' : 'ingen åtkomst',
+ 'and' : 'och',
+ 'unknown' : 'okänd',
+ 'selectall' : 'Välj alla filer',
+ 'selectfiles' : 'Välj fil(er)',
+ 'selectffile' : 'Välj första filen',
+ 'selectlfile' : 'Välj sista filen',
+ 'viewlist' : 'Listvy',
+ 'viewicons' : 'Ikonvy',
+ 'places' : 'Platser',
+ 'calc' : 'Beräkna',
+ 'path' : 'Sökväg',
+ 'aliasfor' : 'Alias för',
+ 'locked' : 'Låst',
+ 'dim' : 'Dimensioner',
+ 'files' : 'Filer',
+ 'folders' : 'Mappar',
+ 'items' : 'Objekt',
+ 'yes' : 'ja',
+ 'no' : 'nej',
+ 'link' : 'Länk',
+ 'searcresult' : 'Sökresultat',
+ 'selected' : 'valda objekt',
+ 'about' : 'Om',
+ 'shortcuts' : 'Genväg',
+ 'help' : 'Hjälp',
+ 'webfm' : 'Webbfilhanterare',
+ 'ver' : 'Version',
+ 'protocolver' : 'protokolversion',
+ 'homepage' : 'Projekt hemsida',
+ 'docs' : 'Dokumentation',
+ 'github' : 'Forka oss på Github',
+ 'twitter' : 'Följ oss på twitter',
+ 'facebook' : 'Följ oss på facebook',
+ 'team' : 'Team',
+ 'chiefdev' : 'senior utvecklare',
+ 'developer' : 'utvecklare',
+ 'contributor' : 'bidragsgivare',
+ 'maintainer' : 'underhållare',
+ 'translator' : 'översättare',
+ 'icons' : 'Ikoner',
+ 'dontforget' : 'och glöm inte att ta med din handduk',
+ 'shortcutsof' : 'Genvägar avaktiverade',
+ 'dropFiles' : 'Släpp filerna här',
+ 'or' : 'eller',
+ 'selectForUpload' : 'Välj filer att ladda upp',
+ 'moveFiles' : 'Flytta filer',
+ 'copyFiles' : 'Kopiera filer',
+ 'rmFromPlaces' : 'Ta bort från platser',
+ 'aspectRatio' : 'Aspekt ratio',
+ 'scale' : 'Skala',
+ 'width' : 'Bredd',
+ 'height' : 'Höjd',
+ 'resize' : 'Ändra storlek',
+ 'crop' : 'Beskär',
+ 'rotate' : 'Rotera',
+ 'rotate-cw' : 'Rotera 90 grader medurs',
+ 'rotate-ccw' : 'Rotera 90 grader moturs',
+ 'degree' : 'Grader',
+ 'netMountDialogTitle' : 'Koppla nätverksvolym', // added 18.04.2012
+ 'protocol' : 'Protokol', // added 18.04.2012
+ 'host' : 'Host', // added 18.04.2012
+ 'port' : 'Port', // added 18.04.2012
+ 'user' : 'användare', // added 18.04.2012
+ 'pass' : 'Lösenord', // added 18.04.2012
+
+ /********************************** mimetypes **********************************/
+ 'kindUnknown' : 'Okänd',
+ 'kindFolder' : 'Mapp',
+ 'kindAlias' : 'Alias',
+ 'kindAliasBroken' : 'Trasigt alias',
+ // applications
+ 'kindApp' : 'Applikation',
+ 'kindPostscript' : 'Postscript',
+ 'kindMsOffice' : 'Microsoft Office',
+ 'kindMsWord' : 'Microsoft Word',
+ 'kindMsExcel' : 'Microsoft Excel',
+ 'kindMsPP' : 'Microsoft Powerpoint',
+ 'kindOO' : 'Open Office',
+ 'kindAppFlash' : 'Flash',
+ 'kindPDF' : 'Portable Document Format (PDF)',
+ 'kindTorrent' : 'Bittorrent',
+ 'kind7z' : '7z',
+ 'kindTAR' : 'TAR',
+ 'kindGZIP' : 'GZIP',
+ 'kindBZIP' : 'BZIP',
+ 'kindXZ' : 'XZ',
+ 'kindZIP' : 'ZIP',
+ 'kindRAR' : 'RAR',
+ 'kindJAR' : 'Java JAR',
+ 'kindTTF' : 'True Type',
+ 'kindOTF' : 'Open Type',
+ 'kindRPM' : 'RPM',
+ // texts
+ 'kindText' : 'Text',
+ 'kindTextPlain' : 'Plain',
+ 'kindPHP' : 'PHP',
+ 'kindCSS' : 'Cascading style sheet',
+ 'kindHTML' : 'HTML',
+ 'kindJS' : 'Javascript',
+ 'kindRTF' : 'Rich Text Format',
+ 'kindC' : 'C',
+ 'kindCHeader' : 'C header',
+ 'kindCPP' : 'C++',
+ 'kindCPPHeader' : 'C++ header',
+ 'kindShell' : 'Unix shell script',
+ 'kindPython' : 'Python',
+ 'kindJava' : 'Java',
+ 'kindRuby' : 'Ruby',
+ 'kindPerl' : 'Perl',
+ 'kindSQL' : 'SQL',
+ 'kindXML' : 'XML',
+ 'kindAWK' : 'AWK',
+ 'kindCSV' : 'CSV',
+ 'kindDOCBOOK' : 'Docbook XML',
+ // images
+ 'kindImage' : 'Bild',
+ 'kindBMP' : 'BMP',
+ 'kindJPEG' : 'JPEG',
+ 'kindGIF' : 'GIF',
+ 'kindPNG' : 'PNG',
+ 'kindTIFF' : 'TIFF',
+ 'kindTGA' : 'TGA',
+ 'kindPSD' : 'Adobe Photoshop',
+ 'kindXBITMAP' : 'X bitmap',
+ 'kindPXM' : 'Pixelmator',
+ // media
+ 'kindAudio' : 'Audio media',
+ 'kindAudioMPEG' : 'MPEG audio',
+ 'kindAudioMPEG4' : 'MPEG-4 audio',
+ 'kindAudioMIDI' : 'MIDI audio',
+ 'kindAudioOGG' : 'Ogg Vorbis audio',
+ 'kindAudioWAV' : 'WAV audio',
+ 'AudioPlaylist' : 'MP3 playlist',
+ 'kindVideo' : 'Video media',
+ 'kindVideoDV' : 'DV movie',
+ 'kindVideoMPEG' : 'MPEG movie',
+ 'kindVideoMPEG4' : 'MPEG-4 movie',
+ 'kindVideoAVI' : 'AVI movie',
+ 'kindVideoMOV' : 'Quick Time movie',
+ 'kindVideoWM' : 'Windows Media movie',
+ 'kindVideoFlash' : 'Flash movie',
+ 'kindVideoMKV' : 'Matroska movie',
+ 'kindVideoOGG' : 'Ogg movie'
+ }
+ };
+}
+
diff --git a/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.tr.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.tr.js
new file mode 100644
index 0000000..5030837
--- /dev/null
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.tr.js
@@ -0,0 +1,460 @@
+/**
+ * Türkçe translation
+ * @author I.Taskinoglu & A.Kaya
+ * @author Abdullah ELEN
+ * @version 2016-11-12
+ */
+if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
+ elFinder.prototype.i18.tr = {
+ translator : 'I.Taskinoglu & A.Kaya <alikaya@armsyazilim.com>, Abdullah ELEN <abdullahelen@msn.com>',
+ language : 'Türkçe',
+ direction : 'ltr',
+ dateFormat : 'd.m.Y H:i', // Mar 13, 2012 05:27 PM
+ fancyDateFormat : '$1 H:i', // will produce smth like: Today 12:25 PM
+ messages : {
+
+ /********************************** errors **********************************/
+ 'error' : 'Hata',
+ 'errUnknown' : 'Bilinmeyen hata.',
+ 'errUnknownCmd' : 'Bilinmeyen komut.',
+ 'errJqui' : 'Geçersiz jQuery UI yapılandırması. Seçilebilir, sürükle ve bırak bileşenlerini içermelidir.',
+ 'errNode' : 'elFinder, DOM Element\'ini oluşturması gerekir.',
+ 'errURL' : 'Geçersiz elFinder yapılandırması! URL seçeneği ayarlı değil.',
+ 'errAccess' : 'Erişim engellendi.',
+ 'errConnect' : 'Sunucuya bağlanamıyor.',
+ 'errAbort' : 'Bağlantı durduruldu.',
+ 'errTimeout' : 'Bağlantı zaman aşımı.',
+ 'errNotFound' : 'Sunucu bulunamadı.',
+ 'errResponse' : 'Geçersiz sunucu yanıtı.',
+ 'errConf' : 'Geçersiz sunucu yapılandırması.',
+ 'errJSON' : 'PHP JSON modülü kurulu değil.',
+ 'errNoVolumes' : 'Okunabilir birimler mevcut değil.',
+ 'errCmdParams' : '"$1" komutu için geçersiz parametre.',
+ 'errDataNotJSON' : 'Bu veri JSON formatında değil.',
+ 'errDataEmpty' : 'Boş veri.',
+ 'errCmdReq' : 'Sunucu isteği için komut adı gerekli.',
+ 'errOpen' : '"$1" açılamıyor.',
+ 'errNotFolder' : 'Bu nesne bir klasör değil.',
+ 'errNotFile' : 'Bu nesne bir dosya değil.',
+ 'errRead' : '"$1" okunamıyor.',
+ 'errWrite' : '"$1" yazılamıyor.',
+ 'errPerm' : 'Yetki engellendi.',
+ 'errLocked' : '"$1" kilitli. Bu nedenle taşıma, yeniden adlandırma veya kaldırma yapılamıyor.',
+ 'errExists' : '"$1" adında bir dosya zaten var.',
+ 'errInvName' : 'Geçersiz dosya ismi.',
+ 'errFolderNotFound' : 'Klasör bulunamıyor.',
+ 'errFileNotFound' : 'Dosya bulunamadı.',
+ 'errTrgFolderNotFound' : 'Hedef klasör "$1" bulunamadı.',
+ 'errPopup' : 'Tarayıcı popup penceresi açmayı engelledi. Tarayıcı ayarlarından dosya açmayı aktif hale getirin.',
+ 'errMkdir' : 'Klasör oluşturulamıyor "$1".',
+ 'errMkfile' : '"$1" dosyası oluşturulamıyor.',
+ 'errRename' : '"$1" yeniden adlandırma yapılamıyor.',
+ 'errCopyFrom' : '"$1" biriminden dosya kopyalamaya izin verilmedi.',
+ 'errCopyTo' : '"$1" birimine dosya kopyalamaya izin verilmedi.',
+ 'errMkOutLink' : 'Kök birim dışında bir bağlantı oluşturulamıyor', // from v2.1 added 03.10.2015
+ 'errUpload' : 'Dosya yükleme hatası.', // old name - errUploadCommon
+ 'errUploadFile' : '"$1" dosya yüklenemedi.', // old name - errUpload
+ 'errUploadNoFiles' : 'Yüklenecek dosya bulunamadı.',
+ 'errUploadTotalSize' : 'Veri izin verilen boyuttan büyük.', // old name - errMaxSize
+ 'errUploadFileSize' : 'Dosya izin verilen boyuttan büyük.', // old name - errFileMaxSize
+ 'errUploadMime' : 'Dosya türüne izin verilmedi.',
+ 'errUploadTransfer' : '"$1" transfer hatası.',
+ 'errUploadTemp' : 'Yükleme için geçici dosya yapılamıyor.', // from v2.1 added 26.09.2015
+ 'errNotReplace' : '"$1" nesnesi bu konumda zaten var ve başka türde nesne ile değiştirilemez.', // new
+ 'errReplace' : 'Değişiklik yapılamıyor "$1".',
+ 'errSave' : '"$1" kaydedilemiyor.',
+ 'errCopy' : '"$1" kopyalanamıyor.',
+ 'errMove' : '"$1" taşınamıyor.',
+ 'errCopyInItself' : '"$1" kendi içine kopyalanamaz.',
+ 'errRm' : '"$1" kaldırılamıyor.',
+ 'errRmSrc' : 'Kaynak dosya(lar) kaldırılamıyor.',
+ 'errExtract' : '"$1" kaynağından dosyalar çıkartılamıyor.',
+ 'errArchive' : 'Arşiv oluşturulamıyor.',
+ 'errArcType' : 'Desteklenmeyen arşiv türü.',
+ 'errNoArchive' : 'Dosya arşiv değil veya desteklenmeyen arşiv türü.',
+ 'errCmdNoSupport' : 'Sunucu bu komutu desteklemiyor.',
+ 'errReplByChild' : '“$1” klasörü içerdiği bir öğe tarafından değiştirilemez.',
+ 'errArcSymlinks' : 'Sembolik bağlantıları içeren arşivlerin açılması güvenlik nedeniyle reddedildi.', // edited 24.06.2012
+ 'errArcMaxSize' : 'Arşiv dosyaları izin verilen maksimum boyutu aştı.',
+ 'errResize' : '"$1" yeniden boyutlandırılamıyor.',
+ 'errResizeDegree' : 'Geçersiz döndürme derecesi.', // added 7.3.2013
+ 'errResizeRotate' : 'Resim döndürülemiyor.', // added 7.3.2013
+ 'errResizeSize' : 'Geçersiz resim boyutu.', // added 7.3.2013
+ 'errResizeNoChange' : 'Resim boyutu değiştirilemez.', // added 7.3.2013
+ 'errUsupportType' : 'Desteklenmeyen dosya türü.',
+ 'errNotUTF8Content' : 'Dosya "$1" UTF-8 olmadığından düzenlenemez.', // added 9.11.2011
+ 'errNetMount' : '"$1" bağlanamadı.', // added 17.04.2012
+ 'errNetMountNoDriver' : 'Desteklenmeyen protokol.', // added 17.04.2012
+ 'errNetMountFailed' : 'Bağlama hatası.', // added 17.04.2012
+ 'errNetMountHostReq' : 'Sunucu gerekli.', // added 18.04.2012
+ 'errSessionExpires' : 'Uzun süre işlem yapılmadığından oturumunuz sonlandı.',
+ 'errCreatingTempDir' : 'Geçici dizin oluşturulamıyor: "$1"',
+ 'errFtpDownloadFile' : 'Unable to download file from FTP: "$1"',
+ 'errFtpUploadFile' : 'Unable to upload file to FTP: "$1"',
+ 'errFtpMkdir' : 'Unable to create remote directory on FTP: "$1"',
+ 'errArchiveExec' : 'Error while archiving files: "$1"',
+ 'errExtractExec' : 'Error while extracting files: "$1"',
+ 'errNetUnMount' : 'Unable to unmount', // from v2.1 added 30.04.2012
+ 'errConvUTF8' : 'Not convertible to UTF-8', // from v2.1 added 08.04.2014
+ 'errFolderUpload' : 'Try Google Chrome, If you\'d like to upload the folder.', // from v2.1 added 26.6.2015
+ 'errSearchTimeout' : 'Timed out while searching "$1". Search result is partial.', // from v2.1 added 12.1.2016
+ 'errReauthRequire' : 'Re-authorization is required.', // from v2.1.10 added 24.3.2016
+ 'errMaxTargets' : 'Max number of selectable items is $1.', // from v2.1.17 added 17.10.2016
+
+ /******************************* commands names ********************************/
+ 'cmdarchive' : 'Arşiv oluştur',
+ 'cmdback' : 'Geri',
+ 'cmdcopy' : 'Kopyala',
+ 'cmdcut' : 'Kes',
+ 'cmddownload' : 'İndir',
+ 'cmdduplicate' : 'Çoğalt',
+ 'cmdedit' : 'Dosyayı düzenle',
+ 'cmdextract' : 'Arşivden dosyaları çıkart',
+ 'cmdforward' : 'İleri',
+ 'cmdgetfile' : 'Dosyaları seç',
+ 'cmdhelp' : 'Bu yazılım hakkında',
+ 'cmdhome' : 'Anasayfa',
+ 'cmdinfo' : 'Bilgi göster',
+ 'cmdmkdir' : 'Yeni Klasör',
+ 'cmdmkdirin' : 'Into new folder', // from v2.1.7 added 19.2.2016
+ 'cmdmkfile' : 'Yeni metin dosyası',
+ 'cmdopen' : 'Aç',
+ 'cmdpaste' : 'Yapıştır',
+ 'cmdquicklook' : 'Ön izleme',
+ 'cmdreload' : 'Geri Yükle',
+ 'cmdrename' : 'Yeniden Adlandır',
+ 'cmdrm' : 'Sil',
+ 'cmdsearch' : 'Dosyaları bul',
+ 'cmdup' : 'Üst dizine çık',
+ 'cmdupload' : 'Dosyaları yükle',
+ 'cmdview' : 'Görüntüle',
+ 'cmdresize' : 'Resmi yeniden boyutlandır',
+ 'cmdsort' : 'Sırala',
+ 'cmdnetmount' : 'Bağlı ağ birimi', // added 18.04.2012
+ 'cmdnetunmount': 'Devredışı bırak', // from v2.1 added 30.04.2012
+ 'cmdplaces' : 'Yerlere', // added 28.12.2014
+ 'cmdchmod' : 'Mod değiştir', // from v2.1 added 20.6.2015
+ 'cmdopendir' : 'Open a folder', // from v2.1 added 13.1.2016
+ 'cmdcolwidth' : 'Reset column width', // from v2.1.13 added 12.06.2016
+ 'cmdmove' : 'Move', // from v2.1.15 added 21.08.2016
+
+ /*********************************** buttons ***********************************/
+ 'btnClose' : 'Kapat',
+ 'btnSave' : 'Kaydet',
+ 'btnRm' : 'Kaldır',
+ 'btnApply' : 'Uygula',
+ 'btnCancel' : 'İptal',
+ 'btnNo' : 'Hayır',
+ 'btnYes' : 'Evet',
+ 'btnMount' : 'Bağla', // added 18.04.2012
+ 'btnApprove': 'Git $1 & onayla', // from v2.1 added 26.04.2012
+ 'btnUnmount': 'Bağlantıyı kes', // from v2.1 added 30.04.2012
+ 'btnConv' : 'Dönüştür', // from v2.1 added 08.04.2014
+ 'btnCwd' : 'Buraya', // from v2.1 added 22.5.2015
+ 'btnVolume' : 'Birim', // from v2.1 added 22.5.2015
+ 'btnAll' : 'Hepsi', // from v2.1 added 22.5.2015
+ 'btnMime' : 'MIME Türü', // from v2.1 added 22.5.2015
+ 'btnFileName':'Dosya adı', // from v2.1 added 22.5.2015
+ 'btnSaveClose': 'Kaydet & Kapat', // from v2.1 added 12.6.2015
+ 'btnBackup' : 'Yedekle', // fromv2.1 added 28.11.2015
+
+ /******************************** notifications ********************************/
+ 'ntfopen' : 'Klasör Aç',
+ 'ntffile' : 'Dosya Aç',
+ 'ntfreload' : 'Klasör içeriğini yeniden yükle',
+ 'ntfmkdir' : 'Dizin oluşturuluyor',
+ 'ntfmkfile' : 'Dosyaları oluşturma',
+ 'ntfrm' : 'Dosyaları sil',
+ 'ntfcopy' : 'Dosyaları kopyala',
+ 'ntfmove' : 'Dosyaları taşı',
+ 'ntfprepare' : 'Dosyaları kopyalamaya hazırla',
+ 'ntfrename' : 'Dosyaları yeniden adlandır',
+ 'ntfupload' : 'Dosyalar yükleniyor',
+ 'ntfdownload' : 'Dosyalar indiriliyor',
+ 'ntfsave' : 'Dosyalar kaydediliyor',
+ 'ntfarchive' : 'Arşiv oluşturuluyor',
+ 'ntfextract' : 'Arşivden dosyalar çıkartılıyor',
+ 'ntfsearch' : 'Dosyalar aranıyor',
+ 'ntfresize' : 'Resimler boyutlandırılıyor',
+ 'ntfsmth' : 'İşlem yapılıyor >_<',
+ 'ntfloadimg' : 'Resim yükleniyor',
+ 'ntfnetmount' : 'Ağ birimine bağlanılıyor', // added 18.04.2012
+ 'ntfnetunmount': 'Ağ birimi bağlantısı kesiliyor', // from v2.1 added 30.04.2012
+ 'ntfdim' : 'Resim boyutu alınıyor', // added 20.05.2013
+ 'ntfreaddir' : 'Klasör bilgisi okunuyor', // from v2.1 added 01.07.2013
+ 'ntfurl' : 'Bağlantının URL\'si alınıyor', // from v2.1 added 11.03.2014
+ 'ntfchmod' : 'Dosya modu değiştiriliyor', // from v2.1 added 20.6.2015
+ 'ntfpreupload': 'Verifying upload file name', // from v2.1 added 31.11.2015
+ 'ntfzipdl' : 'Creating a file for download', // from v2.1.7 added 23.1.2016
+ 'ntfparents' : 'Getting path infomation', // from v2.1.17 added 2.11.2016
+ 'ntfchunkmerge': 'Processing the uploaded file', // from v2.1.17 added 2.11.2016
+
+ /************************************ dates **********************************/
+ 'dateUnknown' : 'Bilinmiyor',
+ 'Today' : 'Bugün',
+ 'Yesterday' : 'Dün',
+ 'msJan' : 'Oca',
+ 'msFeb' : 'Şub',
+ 'msMar' : 'Mar',
+ 'msApr' : 'Nis',
+ 'msMay' : 'May',
+ 'msJun' : 'Haz',
+ 'msJul' : 'Tem',
+ 'msAug' : 'Ağu',
+ 'msSep' : 'Eyl',
+ 'msOct' : 'Ekm',
+ 'msNov' : 'Kas',
+ 'msDec' : 'Ara',
+ 'January' : 'Ocak',
+ 'February' : 'Şubat',
+ 'March' : 'Mart',
+ 'April' : 'Nisan',
+ 'May' : 'Mayıs',
+ 'June' : 'Haziran',
+ 'July' : 'Temmuz',
+ 'August' : 'Ağustos',
+ 'September' : 'Eylül',
+ 'October' : 'Ekim',
+ 'November' : 'Kasım',
+ 'December' : 'Aralık',
+ 'Sunday' : 'Pazar',
+ 'Monday' : 'Pazartesi',
+ 'Tuesday' : 'Salı',
+ 'Wednesday' : 'Çarşamba',
+ 'Thursday' : 'Perşembe',
+ 'Friday' : 'Cuma',
+ 'Saturday' : 'Cumartesi',
+ 'Sun' : 'Paz',
+ 'Mon' : 'Pzt',
+ 'Tue' : 'Sal',
+ 'Wed' : 'Çar',
+ 'Thu' : 'Per',
+ 'Fri' : 'Cum',
+ 'Sat' : 'Cmt',
+
+ /******************************** sort variants ********************************/
+ 'sortname' : 'Ada göre',
+ 'sortkind' : 'Türe göre',
+ 'sortsize' : 'Boyuta göre',
+ 'sortdate' : 'Tarihe göre',
+ 'sortFoldersFirst' : 'Önce klasörler',
+ 'sortperm' : 'by permission', // from v2.1.13 added 13.06.2016
+ 'sortmode' : 'by mode', // from v2.1.13 added 13.06.2016
+ 'sortowner' : 'by owner', // from v2.1.13 added 13.06.2016
+ 'sortgroup' : 'by group', // from v2.1.13 added 13.06.2016
+ 'sortAlsoTreeview' : 'Also Treeview', // from v2.1.15 added 01.08.2016
+
+ /********************************** new items **********************************/
+ 'untitled file.txt' : 'YeniDosya.txt', // added 10.11.2015
+ 'untitled folder' : 'YeniKlasor', // added 10.11.2015
+ 'Archive' : 'YeniArsiv', // from v2.1 added 10.11.2015
+
+ /********************************** messages **********************************/
+ 'confirmReq' : 'Onay gerekli',
+ 'confirmRm' : 'Dosyaları kaldırmak istediğinden emin misin? Bu işlem geri alınamaz!',
+ 'confirmRepl' : 'Eski dosya yenisi ile değiştirilsin mi?',
+ 'confirmConvUTF8' : 'UTF-8 değil UTF-8\'e dönüştürülsün mü? Dönüştürme sonrası kaydedebilmek için içeriğin UTF-8 olması gerekir.', // from v2.1 added 08.04.2014
+ 'confirmNotSave' : 'Düzenlenmiş içerik. Değişiklikleri kaydetmek istemiyorsanız son yapılanlar kaybolacak.', // from v2.1 added 15.7.2015
+ 'apllyAll' : 'Tümüne uygula',
+ 'name' : 'İsim',
+ 'size' : 'Boyut',
+ 'perms' : 'Yetkiler',
+ 'modify' : 'Değiştirildi',
+ 'kind' : 'Tür',
+ 'read' : 'oku',
+ 'write' : 'yaz',
+ 'noaccess' : 'erişim yok',
+ 'and' : 've',
+ 'unknown' : 'bilinimiyor',
+ 'selectall' : 'Tüm dosyaları seç',
+ 'selectfiles' : 'Dosya(lar)ı seç',
+ 'selectffile' : 'İlk dosyayı seç',
+ 'selectlfile' : 'Son dosyayı seç',
+ 'viewlist' : 'Liste görünümü',
+ 'viewicons' : 'Simge görünümü',
+ 'places' : 'Yerler',
+ 'calc' : 'Hesapla',
+ 'path' : 'Yol',
+ 'aliasfor' : 'Takma adı:',
+ 'locked' : 'Kilitli',
+ 'dim' : 'Ölçüler',
+ 'files' : 'Dosyalar',
+ 'folders' : 'Klasörler',
+ 'items' : 'Nesneler',
+ 'yes' : 'evet',
+ 'no' : 'hayır',
+ 'link' : 'Bağlantı',
+ 'searcresult' : 'Arama sonuçları',
+ 'selected' : 'Seçili öğeler',
+ 'about' : 'Hakkında',
+ 'shortcuts' : 'Kısayollar',
+ 'help' : 'Yardım',
+ 'webfm' : 'Web dosyası yöneticisi',
+ 'ver' : 'Sürüm',
+ 'protocolver' : 'protokol sürümü',
+ 'homepage' : 'Proje Anasayfası',
+ 'docs' : 'Belgeler',
+ 'github' : 'Github\'ta bizi takip edin',
+ 'twitter' : 'Twitter\'da bizi takip edin',
+ 'facebook' : 'Facebook\'ta bize katılın',
+ 'team' : 'Takım',
+ 'chiefdev' : 'geliştirici şefi',
+ 'developer' : 'geliştirici',
+ 'contributor' : 'iştirakçi',
+ 'maintainer' : 'bakıcı',
+ 'translator' : 'çeviri',
+ 'icons' : 'Simgeler',
+ 'dontforget' : 've havlunuzu almayı unutmayın',
+ 'shortcutsof' : 'Shortcuts disabled',
+ 'dropFiles' : 'Dosyaları buraya taşı',
+ 'or' : 'veya',
+ 'selectForUpload' : 'Yüklemek için dosyaları seçin',
+ 'moveFiles' : 'Dosyaları taşı',
+ 'copyFiles' : 'Dosyaları kopyala',
+ 'rmFromPlaces' : 'Remove from places',
+ 'aspectRatio' : 'Görünüm oranı',
+ 'scale' : 'Ölçeklendir',
+ 'width' : 'Genişlik',
+ 'height' : 'Yükseklik',
+ 'resize' : 'Boyutlandır',
+ 'crop' : 'Kırp',
+ 'rotate' : 'Döndür',
+ 'rotate-cw' : '90 derece sağa döndür',
+ 'rotate-ccw' : '90 derece sola döndür',
+ 'degree' : 'Derece',
+ 'netMountDialogTitle' : 'Bağlı (Mount) ağ birimi', // added 18.04.2012
+ 'protocol' : 'Protokol', // added 18.04.2012
+ 'host' : 'Sunucu', // added 18.04.2012
+ 'port' : 'Port', // added 18.04.2012
+ 'user' : 'Kullanıcı', // added 18.04.2012
+ 'pass' : 'Şifre', // added 18.04.2012
+ 'confirmUnmount' : 'Bağlantı kesilsin mi $1?', // from v2.1 added 30.04.2012
+ 'dropFilesBrowser': 'Dosyaları tarayıcıdan yapıştır veya bırak', // from v2.1 added 30.05.2012
+ 'dropPasteFiles' : 'Dosyaları buraya yapıştır veya bırak', // from v2.1 added 07.04.2014
+ 'encoding' : 'Kodlama', // from v2.1 added 19.12.2014
+ 'locale' : 'Yerel', // from v2.1 added 19.12.2014
+ 'searchTarget' : 'Hedef: $1', // from v2.1 added 22.5.2015
+ 'searchMime' : 'Giriş MIME Türüne Göre Arama', // from v2.1 added 22.5.2015
+ 'owner' : 'Sahibi', // from v2.1 added 20.6.2015
+ 'group' : 'Grup', // from v2.1 added 20.6.2015
+ 'other' : 'Diğer', // from v2.1 added 20.6.2015
+ 'execute' : 'Çalıştır', // from v2.1 added 20.6.2015
+ 'perm' : 'Yetki', // from v2.1 added 20.6.2015
+ 'mode' : 'Mod', // from v2.1 added 20.6.2015
+ 'emptyFolder' : 'Klasör boş', // from v2.1.6 added 30.12.2015
+ 'emptyFolderDrop' : 'Klasör boş\\A Eklemek için sürükleyin', // from v2.1.6 added 30.12.2015
+ 'emptyFolderLTap' : 'Klasör boş\\A Eklemek için basılı tutun', // from v2.1.6 added 30.12.2015
+ 'quality' : 'Kalite', // from v2.1.6 added 5.1.2016
+ 'autoSync' : 'Auto sync', // from v2.1.6 added 10.1.2016
+ 'moveUp' : 'Move up', // from v2.1.6 added 18.1.2016
+ 'getLink' : 'Get URL link', // from v2.1.7 added 9.2.2016
+ 'selectedItems' : 'Selected items ($1)', // from v2.1.7 added 2.19.2016
+ 'folderId' : 'Folder ID', // from v2.1.10 added 3.25.2016
+ 'offlineAccess' : 'Allow offline access', // from v2.1.10 added 3.25.2016
+ 'reAuth' : 'To re-authenticate', // from v2.1.10 added 3.25.2016
+ 'nowLoading' : 'Now loading...', // from v2.1.12 added 4.26.2016
+ 'openMulti' : 'Open multiple files', // from v2.1.12 added 5.14.2016
+ 'openMultiConfirm': 'You are trying to open the $1 files. Are you sure you want to open in browser?', // from v2.1.12 added 5.14.2016
+ 'emptySearch' : 'No match results in search targets', // from v2.1.12 added 5.16.2016
+ 'editingFile' : 'You are editing a file.', // from v2.1.13 added 6.3.2016
+ 'hasSelected' : 'You have selected $1 items.', // from v2.1.13 added 6.3.2016
+ 'hasClipboard' : 'You have $1 items in the clipboard.', // from v2.1.13 added 6.3.2016
+ 'incSearchOnly' : 'Incremental search is only from the current view.', // from v2.1.13 added 6.30.2016
+ 'reinstate' : 'Reinstate', // from v2.1.15 added 3.8.2016
+ 'complete' : '$1 complete', // from v2.1.15 added 21.8.2016
+ 'contextmenu' : 'Context menu', // from v2.1.15 added 9.9.2016
+ 'pageTurning' : 'Page turning', // from v2.1.15 added 10.9.2016
+ 'volumeRoots' : 'Volume roots', // from v2.1.16 added 16.9.2016
+ 'reset' : 'Reset', // from v2.1.16 added 1.10.2016
+ 'bgcolor' : 'Arkaplan rengi', // from v2.1.16 added 1.10.2016
+ 'colorPicker' : 'Renk seçici', // from v2.1.16 added 1.10.2016
+ '8pxgrid' : '8px tablo', // from v2.1.16 added 4.10.2016
+ 'enabled' : 'Enabled', // from v2.1.16 added 4.10.2016
+ 'disabled' : 'Disabled', // from v2.1.16 added 4.10.2016
+ 'emptyIncSearch' : 'No match results in current view', // from v2.1.16 added 5.10.2016
+ 'textLabel' : 'Text lable', // from v2.1.17 added 13.10.2016
+
+ /********************************** mimetypes **********************************/
+ 'kindUnknown' : 'Bilinmiyor',
+ 'kindRoot' : 'Sürücü Kök dizini', // from v2.1.16 added 16.10.2016
+ 'kindFolder' : 'Klasör',
+ 'kindAlias' : 'Alias (Takma ad)',
+ 'kindAliasBroken' : 'Bozuk alias',
+ // applications
+ 'kindApp' : 'Uygulama',
+ 'kindPostscript' : 'Postscript dosyası',
+ 'kindMsOffice' : 'Microsoft Office dosyası',
+ 'kindMsWord' : 'Microsoft Word dosyası',
+ 'kindMsExcel' : 'Microsoft Excel dosyası',
+ 'kindMsPP' : 'Microsoft Powerpoint sunumu',
+ 'kindOO' : 'Open Office dosyası',
+ 'kindAppFlash' : 'Flash uygulaması',
+ 'kindPDF' : 'PDF',
+ 'kindTorrent' : 'Bittorrent dosyası',
+ 'kind7z' : '7z arşivi',
+ 'kindTAR' : 'TAR arşivi',
+ 'kindGZIP' : 'GZIP arşivi',
+ 'kindBZIP' : 'BZIP arşivi',
+ 'kindXZ' : 'XZ arşivi',
+ 'kindZIP' : 'ZIP arşivi',
+ 'kindRAR' : 'RAR arşivi',
+ 'kindJAR' : 'Java JAR dosyası',
+ 'kindTTF' : 'True Type fontu',
+ 'kindOTF' : 'Open Type fontu',
+ 'kindRPM' : 'RPM paketi',
+ // texts
+ 'kindText' : 'Metin dosyası',
+ 'kindTextPlain' : 'Düz metin',
+ 'kindPHP' : 'PHP kodu',
+ 'kindCSS' : 'CSS dosyası',
+ 'kindHTML' : 'HTML dosyası',
+ 'kindJS' : 'Javascript kodu',
+ 'kindRTF' : 'Zengin Metin Belgesi',
+ 'kindC' : 'C kodu',
+ 'kindCHeader' : 'C başlık kodu',
+ 'kindCPP' : 'C++ kodu',
+ 'kindCPPHeader' : 'C++ başlık kodu',
+ 'kindShell' : 'Unix shell scripti',
+ 'kindPython' : 'Python kodu',
+ 'kindJava' : 'Java kodu',
+ 'kindRuby' : 'Ruby kodu',
+ 'kindPerl' : 'Perl scripti',
+ 'kindSQL' : 'SQL kodu',
+ 'kindXML' : 'XML dosyası',
+ 'kindAWK' : 'AWK kodu',
+ 'kindCSV' : 'CSV',
+ 'kindDOCBOOK' : 'Docbook XML dosyası',
+ 'kindMarkdown' : 'Markdown dosyası', // added 20.7.2015
+ // images
+ 'kindImage' : 'Resim',
+ 'kindBMP' : 'BMP dosyası',
+ 'kindJPEG' : 'JPEG dosyası',
+ 'kindGIF' : 'GIF dosyası',
+ 'kindPNG' : 'PNG dosyası',
+ 'kindTIFF' : 'TIFF dosyası',
+ 'kindTGA' : 'TGA dosyası',
+ 'kindPSD' : 'Adobe Photoshop dosyası',
+ 'kindXBITMAP' : 'X bitmap dosyası',
+ 'kindPXM' : 'Pixelmator dosyası',
+ // media
+ 'kindAudio' : 'Ses ortamı',
+ 'kindAudioMPEG' : 'MPEG ses',
+ 'kindAudioMPEG4' : 'MPEG-4 ses',
+ 'kindAudioMIDI' : 'MIDI ses',
+ 'kindAudioOGG' : 'Ogg Vorbis ses',
+ 'kindAudioWAV' : 'WAV ses',
+ 'AudioPlaylist' : 'MP3 listesi',
+ 'kindVideo' : 'Video ortamı',
+ 'kindVideoDV' : 'DV video',
+ 'kindVideoMPEG' : 'MPEG video',
+ 'kindVideoMPEG4' : 'MPEG-4 video',
+ 'kindVideoAVI' : 'AVI video',
+ 'kindVideoMOV' : 'Quick Time video',
+ 'kindVideoWM' : 'Windows Media video',
+ 'kindVideoFlash' : 'Flash video',
+ 'kindVideoMKV' : 'Matroska video',
+ 'kindVideoOGG' : 'Ogg video'
+ }
+ };
+}
+
diff --git a/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.ug_CN.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.ug_CN.js
new file mode 100644
index 0000000..b5f0a7f
--- /dev/null
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.ug_CN.js
@@ -0,0 +1,366 @@
+/**
+ * Uyghur translation
+ * @author Alim.Boyaq
+ * @version 2014-12-19
+ */
+if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
+ elFinder.prototype.i18.ug_CN = {
+ translator : 'تەرجىمە قىلغۇچى: ئۆتكۈر بىز شىركىتى info@otkur.biz',
+ language : 'ئۇيغۇرچە',
+ direction : 'rtl',
+ dateFormat : 'Y-m-d H:i',
+ fancyDateFormat : '$1 H:i',
+ messages : {
+
+ /********************************** errors **********************************/
+ 'error' : 'خاتالىق',
+ 'errUnknown' : 'كۈتۈلمىگەن خاتالىقكەن.',
+ 'errUnknownCmd' : 'كۈتۈلمىگەن بۇيرۇقكەن.',
+ 'errJqui' : 'jQuery UI تەڭشىكى توغرا بولمىغان. چوقۇم Selectable، draggable، droppabl قاتارلىق بۆلەكلەر بولۇشى كېرەك.',
+ 'errNode' : 'elFinder DOM ئېلىمىنتلىرىنى قۇرالىشى كېرەك.',
+ 'errURL' : 'elFinder تەڭشىكى توغرا بولمىغان! URL تەڭشىكى يېزىلمىغان.',
+ 'errAccess' : 'زىيارەت قىلىش چەكلەنگەن.',
+ 'errConnect' : 'ئارقا سۇپىغا ئۇلاش مەغلۇپ بولدى..',
+ 'errAbort' : 'ئارقا سۇپىغا توختىتىلدى.',
+ 'errTimeout' : 'ئارقا سۇپىغا بەلگىلەنگەن ۋاقىتتا ئۇلىيالمىدى.',
+ 'errNotFound' : 'ئارقا سۇپا تېپىلمىدى.',
+ 'errResponse' : 'ئارقا سۇپىدىن توغرا بولمىغان ئىنكاس قايتتى.',
+ 'errConf' : 'ئارقا سۇپا تەڭشىكى توغرا ئەمەس.',
+ 'errJSON' : 'PHP JSON بۆلىكى قاچىلانمىغان.',
+ 'errNoVolumes' : 'ئوقۇشقا بولىدىغان ھۈججەت خالتىسى يوق.',
+ 'errCmdParams' : 'پارامېتىر خاتا، بۇيرۇق: "$1".',
+ 'errDataNotJSON' : 'ئارقا سۇپا قايتۇرغان سانلىق مەلۇمات توغرا بولغان JSON ئەمەسكەن.',
+ 'errDataEmpty' : 'ئارقا سۇپا قايتۇرغان سانلىق مەلۇمات قۇرۇقكەن.',
+ 'errCmdReq' : 'ئارقا سۇپىدىكى بۇيرۇقنىڭ ئسىمى تەمىنلىنىشى كېرەك.',
+ 'errOpen' : '"$1"نى ئاچالمىدى.',
+ 'errNotFolder' : 'ئوبىكىت مۇندەرىجە ئەمەسكەن.',
+ 'errNotFile' : 'ئوبىكىت ھۈججەت ئەمەسكەن.',
+ 'errRead' : '"$1"نى ئوقۇيالمىدى.',
+ 'errWrite' : '"$1"نى يازالمىدى.',
+ 'errPerm' : 'ھوقۇق يوق.',
+ 'errLocked' : '"$1" تاقالغان,ئۆزگەرتەلمەيسىز.',
+ 'errExists' : '"$1" ناملىق ھۈججەت باركەن.',
+ 'errInvName' : 'توغرا بولمىغان ھۈججەت قىسقۇچ ئىسمى.',
+ 'errFolderNotFound' : 'ھۈججەت قىسقۇچنى تاپالمىدى.',
+ 'errFileNotFound' : 'ھۈججەتنى تاپالمىدى.',
+ 'errTrgFolderNotFound' : '"$1" ناملىق ھۈججەت قىسقۇچنى تاپالمىدى.',
+ 'errPopup' : 'سەكرەپ چىققان يېڭى بەتنى تور كۆرگۈچ كۆرسەتمىدى، ئۈستىدىكى ئەسكەرتىشتىن تور كۆرگۈچنى كۆرسىتىشكە تەڭشەڭ.',
+ 'errMkdir' : '"$1" ناملىق ھۈججەت قىسقۇچنى قۇرالمىدى.',
+ 'errMkfile' : '"$1" ناملىق ھۈججەتنى قۇرالمىدى.',
+ 'errRename' : '"$1" ناملىق ھۈججەتنىڭ ئىسمىنى يېڭىلاش مەغلۇپ بولدى.',
+ 'errCopyFrom' : ' "$1" ناملىق ئورۇندىن ھۈججەت كۆچۈرۈش چەكلەنگەن.',
+ 'errCopyTo' : '"$1" ناملىق ئورۇنغا ھۈججەت كۆچۈرۈش چەكلەنگەن.',
+ 'errUpload' : 'يۈكلەشتە خاتالىق كۆرۈلدى.',
+ 'errUploadFile' : '"$1" ناملىق ھۈججەتنى يۈكلەشتە خاتالىق كۆرۈلدى.',
+ 'errUploadNoFiles' : 'يۈكلىمەكچى بولغان ھۈججەت تېپىلمىدى.',
+ 'errUploadTotalSize' : 'سانلىق مەلۇمات چوڭلىقى چەكلىمىدىن ئېشىپ كەتكەن..',
+ 'errUploadFileSize' : 'ھۈججەت چوڭلىقى چەكلىمىدىن ئېشىپ كەتكەن..',
+ 'errUploadMime' : 'چەكلەنگەن ھۈججەت شەكلى.',
+ 'errUploadTransfer' : '"$1" ناملىق ھۈججەتنى يوللاشتا خاتالىق كۆرۈلدى.',
+ 'errNotReplace' : '"$1" ناملىق ھۈججەت باركەن، ئالماشتۇرۇشقا بولمايدۇ.', // new
+ 'errReplace' : '"$1" ناملىق ھۈججەتنى ئالماشتۇرۇش مەغلۇپ بولدى.',
+ 'errSave' : '"$1" ناملىق ھۈججەتنى ساقلاش مەغلۇپ بولدى.',
+ 'errCopy' : '"$1" ناملىق ھۈججەتنى كۆچۈرۈش مەغلۇپ بولدى.',
+ 'errMove' : '"$1" ناملىق ھۈججەتنى يۆتكەش مەغلۇپ بولدى.',
+ 'errCopyInItself' : '"$1" ناملىق ھۈججەتنى ئەسلى ئورنىغا يۆتكەش مەغلۇپ بولدى.',
+ 'errRm' : '"$1" ناملىق ھۈججەتنى ئۆچۈرۈش مەغلۇپ بولدى.',
+ 'errRmSrc' : 'ئەسلى ھۈججەتنى ئۆچۈرۈش مەغلۇپ بولدى.',
+ 'errExtract' : ' "$1" ناملىق مەلۇماتتىن ھۈججەت ئايرىش مەغلۇپ بولدى..',
+ 'errArchive' : 'پىرىسلانغان ھۈججەت ھاسىللاش مەغلۇپ بولدى.',
+ 'errArcType' : 'بۇ خىل پىرىسلانغان ھۈججەت شەكلىنى سىستېما بىر تەرەپ قىلالمىدى.',
+ 'errNoArchive' : 'ھۈججەت پىرىسلانغان ھۈججەت ئەمەس، ياكى توغرا پىرىسلانمىغان.',
+ 'errCmdNoSupport' : 'بۇ خىل بۇيرۇقنى بىر تەرەپ قىلالمىدى.',
+ 'errReplByChild' : '“$1” ناملىق ھۈججەت قىسقۇچنى ئالماشۇتۇرۇشقا بولمايدۇ.',
+ 'errArcSymlinks' : 'بىخەتەرلىك ئۈچۈن بۇ مەشغۇلات ئەمەلدىن قالدۇرۇلدى..',
+ 'errArcMaxSize' : 'پىرىسلانغان ھۈججەتنىڭ چوڭلىقى چەكلىمىدىن ئېشىپ كەنكەن.',
+ 'errResize' : ' "$1" چوڭلۇقنى تەڭشەشكە بولمىدى.',
+ 'errResizeDegree' : 'توغرا بولمىغان پىقىرىتىش گىرادۇسى',
+ 'errResizeRotate' : 'رەسىمنى پىقىرىتىشقا بولمىدى.',
+ 'errResizeSize' : 'توغرا بولمىغان رەسىم چوڭلىقى.',
+ 'errResizeNoChange' : 'رەسىم چوڭلىقى ئۆزگەرمىگەن.',
+ 'errUsupportType' : 'قوللىمايدىغان ھۈججەت شەكلى.',
+ 'errNotUTF8Content' : '"$1" ناملىق ھۈججەتنىڭ كودى UTF-8ئەمەسكەن، تەھرىرلىگىلى بولمايدۇ.', // added 9.11.2011
+ 'errNetMount' : ' "$1" نى يۈكلەشتە خاتلىق يۈز بەردى..', // added 17.04.2012
+ 'errNetMountNoDriver' : 'بۇ خىل پروتوكول قوللانمىدى..', // added 17.04.2012
+ 'errNetMountFailed' : 'يۈكلەش مەغلۇپ بولدى.', // added 17.04.2012
+ 'errNetMountHostReq' : 'مۇلازىمىتىرنى كۆرسىتىپ بېرىڭ.', // added 18.04.2012
+ 'errSessionExpires' : 'Your session has expired due to inactivity.',
+ 'errCreatingTempDir' : 'Unable to create temporary directory: "$1"',
+ 'errFtpDownloadFile' : 'Unable to download file from FTP: "$1"',
+ 'errFtpUploadFile' : 'Unable to upload file to FTP: "$1"',
+ 'errFtpMkdir' : 'Unable to create remote directory on FTP: "$1"',
+ 'errArchiveExec' : 'Error while archiving files: "$1"',
+ 'errExtractExec' : 'Error while extracting files: "$1"',
+
+ /******************************* commands names ********************************/
+ 'cmdarchive' : 'پىرىسلاش',
+ 'cmdback' : 'قايتىش',
+ 'cmdcopy' : 'كۆچۈرۈش',
+ 'cmdcut' : 'كېسىش',
+ 'cmddownload' : 'چۈشۈرۈش',
+ 'cmdduplicate' : 'نۇسخىلاش',
+ 'cmdedit' : 'تەھرىرلەش',
+ 'cmdextract' : 'پىرىستىن ھۈججەت چىقىرىش',
+ 'cmdforward' : 'ئالدىغا مېڭىش',
+ 'cmdgetfile' : 'تاللاش',
+ 'cmdhelp' : 'ئەپ ھەققىدە',
+ 'cmdhome' : 'باش بەت',
+ 'cmdinfo' : 'ئۇچۇرلىرى',
+ 'cmdmkdir' : 'يېڭى ھۈججەت قىسقۇچ',
+ 'cmdmkfile' : 'يېڭى ھۈججەت',
+ 'cmdopen' : 'ئېچىش',
+ 'cmdpaste' : 'چاپلاش',
+ 'cmdquicklook' : 'كۆرۈش',
+ 'cmdreload' : 'يېڭىلاش',
+ 'cmdrename' : 'نام يېڭىلاش',
+ 'cmdrm' : 'ئۆچۈرۈش',
+ 'cmdsearch' : 'ھۈججەت ئىزدەش',
+ 'cmdup' : 'ئالدىنقى مۇندەرىجىگە بېرىش',
+ 'cmdupload' : 'يۈكلەش',
+ 'cmdview' : 'كۆرۈش',
+ 'cmdresize' : 'چوڭلىقىنى تەڭشەش',
+ 'cmdsort' : 'تەرتىپ',
+ 'cmdnetmount' : 'توردىن قوشۇش', // added 18.04.2012
+
+ /*********************************** buttons ***********************************/
+ 'btnClose' : 'تاقاش',
+ 'btnSave' : 'ساقلاش',
+ 'btnRm' : 'ئۆچۈرۈش',
+ 'btnApply' : 'ئىشلىتىش',
+ 'btnCancel' : 'بېكارلاش',
+ 'btnNo' : 'ياق',
+ 'btnYes' : 'ھەئە',
+ 'btnMount' : 'يۈكلەش', // added 18.04.2012
+
+ /******************************** notifications ********************************/
+ 'ntfopen' : 'قىسقۇچنى ئېچىش',
+ 'ntffile' : 'ھۈججەتنى ئېچىش',
+ 'ntfreload' : 'يېڭىلاش',
+ 'ntfmkdir' : 'قىسقۇچ قۇرۇش',
+ 'ntfmkfile' : 'ھۈججەت قۇرۇش',
+ 'ntfrm' : 'ئۆچۈرۈش',
+ 'ntfcopy' : 'كۆچۈرۈش',
+ 'ntfmove' : 'يۆتكەش',
+ 'ntfprepare' : 'كۆچۈرۈش تەييارلىقى',
+ 'ntfrename' : 'نام يېڭىلاش',
+ 'ntfupload' : 'يۈكلەش',
+ 'ntfdownload' : 'چۈشۈرۈش',
+ 'ntfsave' : 'ساقلاش',
+ 'ntfarchive' : 'پىرىسلاش',
+ 'ntfextract' : 'پىرىستىن يېشىش',
+ 'ntfsearch' : 'ئىزدەش',
+ 'ntfresize' : 'چوڭلىقى ئۆزگەرتىلىۋاتىدۇ',
+ 'ntfsmth' : 'ئالدىراش >_<',
+ 'ntfloadimg' : 'رەسىم ئېچىلىۋاتىدۇ',
+ 'ntfnetmount' : 'تور ھۈججىتى يۈكلىنىۋاتىدۇ', // added 18.04.2012
+ 'ntfdim' : 'Acquiring image dimension',
+
+ /************************************ dates **********************************/
+ 'dateUnknown' : 'ئېنىق ئەمەس',
+ 'Today' : 'بۈگۈن',
+ 'Yesterday' : 'تۆنۈگۈن',
+ 'msJan' : '1-ئاي',
+ 'msFeb' : '2-ئاي',
+ 'msMar' : '3-ئاي',
+ 'msApr' : '4-ئاي',
+ 'msMay' : '5-ئاي',
+ 'msJun' : '6-ئاي',
+ 'msJul' : '7-ئاي',
+ 'msAug' : '8-ئاي',
+ 'msSep' : '9-ئاي',
+ 'msOct' : '10-ئاي',
+ 'msNov' : '11-ئاي',
+ 'msDec' : '12-ئاي',
+ 'January' : '1-ئاي',
+ 'February' : '2-ئاي',
+ 'March' : '3-ئاي',
+ 'April' : '4-ئاي',
+ 'May' : '5-ئاي',
+ 'June' : '6-ئاي',
+ 'July' : '7-ئاي',
+ 'August' : '8-ئاي',
+ 'September' : '9-ئاي',
+ 'October' : '10-ئاي',
+ 'November' : '11-ئاي',
+ 'December' : '12-ئاي',
+ 'Sunday' : 'يەكشەنبە',
+ 'Monday' : 'دۈشەنبە',
+ 'Tuesday' : 'سەيشەنبە',
+ 'Wednesday' : 'چارشەنبە',
+ 'Thursday' : 'پەيشەنبە',
+ 'Friday' : 'جۈمە',
+ 'Saturday' : 'شەنبە',
+ 'Sun' : 'يە',
+ 'Mon' : 'دۈ',
+ 'Tue' : 'سە',
+ 'Wed' : 'چا',
+ 'Thu' : 'پە',
+ 'Fri' : 'جۈ',
+ 'Sat' : 'شە',
+
+ /******************************** sort variants ********************************/
+ 'sortname' : 'نامى ',
+ 'sortkind' : 'شەكلى ',
+ 'sortsize' : 'چوڭلىقى',
+ 'sortdate' : 'ۋاقتى',
+ 'sortFoldersFirst' : 'قىسقۇچلار باشتا',
+
+ /********************************** messages **********************************/
+ 'confirmReq' : 'مۇقىملاشتۇرۇڭ',
+ 'confirmRm' : 'راستىنلا ئۆچۈرەمسىز? كەينىگە قايتۇرغىلى بولمايدۇ!',
+ 'confirmRepl' : 'ھازىرقى ھۈججەت بىلەن كونىسىنى ئالماشتۇرامسىز?',
+ 'apllyAll' : 'ھەممىسىگە ئىشلىتىش',
+ 'name' : 'نامى',
+ 'size' : 'چوڭلىقى',
+ 'perms' : 'ھوقۇق',
+ 'modify' : 'ئۆزگەرگەن ۋاقتى',
+ 'kind' : 'تۈرى',
+ 'read' : 'ئوقۇش',
+ 'write' : 'يېزىش',
+ 'noaccess' : 'ھوقۇق يوق',
+ 'and' : 'ھەم',
+ 'unknown' : 'ئېنىق ئەمەس',
+ 'selectall' : 'ھەممىنى تاللاش',
+ 'selectfiles' : 'تاللاش',
+ 'selectffile' : 'بىرىنچىسىنى تاللاش',
+ 'selectlfile' : 'ئەڭ ئاخىرقىسىنى تاللاش',
+ 'viewlist' : 'جەدۋەللىك كۆرىنىشى',
+ 'viewicons' : 'رەسىملىك كۆرىنىشى',
+ 'places' : 'ئورنى',
+ 'calc' : 'ھېسابلاش',
+ 'path' : 'ئورنى',
+ 'aliasfor' : 'باشقا نامى',
+ 'locked' : 'تاقالغان',
+ 'dim' : 'چوڭلىقى',
+ 'files' : 'ھۈججەت',
+ 'folders' : 'قىسقۇچ',
+ 'items' : 'تۈرلەر',
+ 'yes' : 'ھەئە',
+ 'no' : 'ياق',
+ 'link' : 'ئۇلىنىش',
+ 'searcresult' : 'ئىزدەش نەتىجىسى',
+ 'selected' : 'تاللانغان تۈرلەر',
+ 'about' : 'چۈشەنچە',
+ 'shortcuts' : 'تېز كونۇپكىلار',
+ 'help' : 'ياردەم',
+ 'webfm' : 'تور ھۈججەتلىرىنى باشقۇرۇش',
+ 'ver' : 'نەشرى',
+ 'protocolver' : 'پروتوكول نەشرى',
+ 'homepage' : 'تۈر باش بېتى',
+ 'docs' : 'ھۈججەت',
+ 'github' : 'Fork us on Github',
+ 'twitter' : 'Follow us on twitter',
+ 'facebook' : 'Join us on facebook',
+ 'team' : 'گۇرۇپپا',
+ 'chiefdev' : 'باش پىروگراممىر',
+ 'developer' : 'پىروگراممىر',
+ 'contributor' : 'تۆھپىكار',
+ 'maintainer' : 'ئاسرىغۇچى',
+ 'translator' : 'تەرجىمان',
+ 'icons' : 'سىنبەلگە',
+ 'dontforget' : 'تەرىڭىزنى سۈرتىدىغان قولياغلىقىڭىزنى ئۇنۇتماڭ جۇمۇ',
+ 'shortcutsof' : 'تېز كونۇپكىلار چەكلەنگەن',
+ 'dropFiles' : 'ھۈججەتنى موشۇ يەرگە تاشلاڭ',
+ 'or' : 'ياكى',
+ 'selectForUpload' : 'يۈكلىمەكچى بولغان ھۈججەتنى تاللاڭ',
+ 'moveFiles' : 'يۆتكەش',
+ 'copyFiles' : 'كۆچۈرۈش',
+ 'rmFromPlaces' : 'ھۈججەتلەرنى ئۆچۈرۈش',
+ 'aspectRatio' : 'نىسبىتىنى ساقلاش',
+ 'scale' : 'نىسبىتى',
+ 'width' : 'ئۇزۇنلىقى',
+ 'height' : 'ئىگىزلىكى',
+ 'resize' : 'چوڭلىقىنى تەڭشەش',
+ 'crop' : 'كېسىش',
+ 'rotate' : 'پىقىرىتىش',
+ 'rotate-cw' : 'سائەت ئىستىرىلكىسى بويىچە 90 گىرادۇس پىقىرىتىش',
+ 'rotate-ccw' : 'سائەت ئىستىرىلكىسىنى تەتۈر يۆنىلىشى بويىچە 90گىرادۇس پىقىرىتىش',
+ 'degree' : 'گىرادۇس',
+ 'netMountDialogTitle' : 'Mount network volume', // added 18.04.2012
+ 'protocol' : 'پىروتوكڭل', // added 18.04.2012
+ 'host' : 'مۇلازىمىتىر', // added 18.04.2012
+ 'port' : 'پورت', // added 18.04.2012
+ 'user' : 'ئەزا', // added 18.04.2012
+ 'pass' : 'ئىم', // added 18.04.2012
+
+ /********************************** mimetypes **********************************/
+ 'kindUnknown' : 'ئېنىق ئەمەس',
+ 'kindFolder' : 'ھۈججەت قىسقۇچ',
+ 'kindAlias' : 'باشقا نامى',
+ 'kindAliasBroken' : 'باشقا نامى خاتا',
+ // applications
+ 'kindApp' : 'كود ھۈججىتى',
+ 'kindPostscript' : 'Postscript ھۈججىتى',
+ 'kindMsOffice' : 'Microsoft Office ھۈججىتى',
+ 'kindMsWord' : 'Microsoft Word ھۈججىتى',
+ 'kindMsExcel' : 'Microsoft Excel ھۈججىتى',
+ 'kindMsPP' : 'Microsoft Powerpoint ھۈججىتى',
+ 'kindOO' : 'Open Office ھۈججىتى',
+ 'kindAppFlash' : 'Flash ھۈججىتى',
+ 'kindPDF' : 'Portable Document Format (PDF)',
+ 'kindTorrent' : 'Bittorrent ھۈججىتى',
+ 'kind7z' : '7z ھۈججىتى',
+ 'kindTAR' : 'TAR ھۈججىتى',
+ 'kindGZIP' : 'GZIP ھۈججىتى',
+ 'kindBZIP' : 'BZIP ھۈججىتى',
+ 'kindXZ' : 'XZ ھۈججىتى',
+ 'kindZIP' : 'ZIP ھۈججىتى',
+ 'kindRAR' : 'RAR ھۈججىتى',
+ 'kindJAR' : 'Java JAR ھۈججىتى',
+ 'kindTTF' : 'True Type فونت',
+ 'kindOTF' : 'Open Type فونت',
+ 'kindRPM' : 'RPM',
+ // texts
+ 'kindText' : 'تېكىست',
+ 'kindTextPlain' : 'تېكىست',
+ 'kindPHP' : 'PHP ھۈججىتى',
+ 'kindCSS' : 'CSS ھۈججىتى',
+ 'kindHTML' : 'HTML ھۈججىتى',
+ 'kindJS' : 'Javascript ھۈججىتى',
+ 'kindRTF' : 'RTF ھۈججىتى',
+ 'kindC' : 'C ھۈججىتى',
+ 'kindCHeader' : 'C باش ھۈججىتى',
+ 'kindCPP' : 'C++ ھۈججىتى',
+ 'kindCPPHeader' : 'C++ باش ھۈججىتى',
+ 'kindShell' : 'Unix سىكىرىپت ھۈججىتى',
+ 'kindPython' : 'Python ھۈججىتى',
+ 'kindJava' : 'Java ھۈججىتى',
+ 'kindRuby' : 'Ruby ھۈججىتى',
+ 'kindPerl' : 'Perl ھۈججىتى',
+ 'kindSQL' : 'SQL ھۈججىتى',
+ 'kindXML' : 'XML ھۈججىتى',
+ 'kindAWK' : 'AWK ھۈججىتى',
+ 'kindCSV' : 'CSV ھۈججىتى',
+ 'kindDOCBOOK' : 'Docbook XML ھۈججىتى',
+ // images
+ 'kindImage' : 'رەسىم',
+ 'kindBMP' : 'BMP رەسىم',
+ 'kindJPEG' : 'JPEG رەسىم',
+ 'kindGIF' : 'GIF رەسىم',
+ 'kindPNG' : 'PNG رەسىم',
+ 'kindTIFF' : 'TIFF رەسىم',
+ 'kindTGA' : 'TGA رەسىم',
+ 'kindPSD' : 'Adobe Photoshop رەسىم',
+ 'kindXBITMAP' : 'X bitmap رەسىم',
+ 'kindPXM' : 'Pixelmator رەسىم',
+ // media
+ 'kindAudio' : 'ئاۋاز',
+ 'kindAudioMPEG' : 'MPEG ئاۋاز',
+ 'kindAudioMPEG4' : 'MPEG-4 ئاۋاز',
+ 'kindAudioMIDI' : 'MIDI ئاۋاز',
+ 'kindAudioOGG' : 'Ogg Vorbis ئاۋاز',
+ 'kindAudioWAV' : 'WAV ئاۋاز',
+ 'AudioPlaylist' : 'MP3 قويۇش تىزىملىكى',
+ 'kindVideo' : 'سىن',
+ 'kindVideoDV' : 'DV سىن',
+ 'kindVideoMPEG' : 'MPEG سىن',
+ 'kindVideoMPEG4' : 'MPEG-4 سىن',
+ 'kindVideoAVI' : 'AVI سىن',
+ 'kindVideoMOV' : 'Quick Time سىن',
+ 'kindVideoWM' : 'Windows Media سىن',
+ 'kindVideoFlash' : 'Flash سىن',
+ 'kindVideoMKV' : 'Matroska سىن',
+ 'kindVideoOGG' : 'Ogg سىن'
+ }
+ };
+}
diff --git a/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.uk.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.uk.js
new file mode 100644
index 0000000..bda3afd
--- /dev/null
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.uk.js
@@ -0,0 +1,383 @@
+/**
+ * Ukrainian translation
+ * @author Oleksandr Palianytsia
+ * @version 2015-04-16
+ */
+if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
+ elFinder.prototype.i18.uk = {
+ translator : 'ITLancer',
+ language : 'Українська мова',
+ direction : 'ltr',
+ dateFormat : 'd.m.Y H:i',
+ fancyDateFormat : '$1 H:i',
+ messages : {
+
+ /********************************** errors **********************************/
+ 'error' : 'Помилка',
+ 'errUnknown' : 'Невідома помилка.',
+ 'errUnknownCmd' : 'Невідома команда.',
+ 'errJqui' : 'Неправильне налаштування jQuery UI. Відсутні компоненти: selectable, draggable, droppable.',
+ 'errNode' : 'Відсутній елемент DOM для створення elFinder.',
+ 'errURL' : 'Неправильне налаштування! Не вказана опція URL.',
+ 'errAccess' : 'Доступ заборонено.',
+ 'errConnect' : 'Не вдалося з’єднатися з сервером.',
+ 'errAbort' : 'З’єднання розірване.',
+ 'errTimeout' : 'Тайм-аут з’єднання.',
+ 'errNotFound' : 'Не знайдено серверної частини.',
+ 'errResponse' : 'Неправильна відповідь від сервера.',
+ 'errConf' : 'Неправильне налаштування серверної частини.',
+ 'errJSON' : 'Модуль PHP JSON не встановлено.',
+ 'errNoVolumes' : 'Немає доступних для читання директорій.',
+ 'errCmdParams' : 'Неправильний параметр для команди "$1".',
+ 'errDataNotJSON' : 'Дані не у форматі JSON.',
+ 'errDataEmpty' : 'Дані відсутні.',
+ 'errCmdReq' : 'Серверна частина вимагає назву команди.',
+ 'errOpen' : 'Неможливо відкрити "$1".',
+ 'errNotFolder' : 'Об’єкт не є папкою.',
+ 'errNotFile' : 'Об’єкт не є файлом.',
+ 'errRead' : 'Неможливо прочитати "$1".',
+ 'errWrite' : 'Неможливо записати в "$1".',
+ 'errPerm' : 'Помилка доступу.',
+ 'errLocked' : 'Файл "$1" заблоковано - не можливо перемістити, перейменувати чи вилучити.',
+ 'errExists' : 'Файл з назвою "$1" вже існує.',
+ 'errInvName' : 'Недійсна назва файла.',
+ 'errFolderNotFound' : 'Теку не знайдено.',
+ 'errFileNotFound' : 'Файл не знайдено.',
+ 'errTrgFolderNotFound' : 'Цільову теку "$1" не знайдено.',
+ 'errPopup' : 'Браузер забороняє відкривати popup-вікно. Дозвольте у налаштування браузера, щоб відкрити файл.',
+ 'errMkdir' : 'Неможливо створити теку "$1".',
+ 'errMkfile' : 'Неможливо створити файл "$1".',
+ 'errRename' : 'Неможливо перейменувати файл "$1".',
+ 'errCopyFrom' : 'Копіювання файлів з тому "$1" не дозволено.',
+ 'errCopyTo' : 'Копіювання файлів на том "$1" не дозволено.',
+ 'errUpload' : 'Помилка відвантаження.',
+ 'errUploadCommon' : 'Помилка відвантаження.',
+ 'errUploadFile' : 'Неможливо відвантажити файл "$1".',
+ 'errUploadNoFiles' : 'Не знайдено файлів для відвантаження.',
+ 'errMaxSize' : 'Розмір даних перевищує допустиме значення.',
+ 'errFileMaxSize' : 'Розмір файла перевищує допустиме значення.',
+ 'errUploadMime' : 'Файли цього типу заборонені.',
+ 'errUploadTransfer' : '"$1" : помилка передачі.',
+ 'errSave' : 'Неможливо записати "$1".',
+ 'errCopy' : 'Неможливо скопіювати "$1".',
+ 'errMove' : 'Неможливо перенести "$1".',
+ 'errCopyInItself' : 'Неможливо скопіювати "$1" сам у себе.',
+ 'errRm' : 'Неможливо вилучити "$1".',
+ 'errExtract' : 'Неможливо розпакувати файли з "$1".',
+ 'errArchive' : 'Неможливо створити архів.',
+ 'errArcType' : 'Тип архіву не підтримується.',
+ 'errNoArchive' : 'Файл не є архівом, або є архівом, тип якого не підтримується.',
+ 'errCmdNoSupport' : 'Серверна частина не підтримує цієї команди.',
+ 'errReplByChild' : 'Папка “$1” не може бути замінена елементом, який вона містить.',
+ 'errArcSymlinks' : 'З міркувань безпеки заборонено розпаковувати архіви з символічними посиланнями.',
+ 'errArcMaxSize' : 'Розмір файлів архіву перевищує допустиме значення.',
+ 'errResize' : 'Неможливо масштабувати "$1".',
+ 'errUsupportType' : 'Непідтримуваний тип файла.',
+ 'errNotUTF8Content' : 'Файл "$1" не в UTF-8 і не може бути відредагований.', // added 9.11.2011
+ 'errNetMount' : 'Неможливо змонтувати "$1".', // added 17.04.2012
+ 'errNetMountNoDriver' : 'Непідтримуваний протокл.', // added 17.04.2012
+ 'errNetMountFailed' : 'В процесі монтування сталася помилка.', // added 17.04.2012
+ 'errNetMountHostReq' : 'Host required.', // added 18.04.2012
+ 'errSessionExpires' : 'Час сеансу минув через неактивність.',
+ 'errCreatingTempDir' : 'НЕможливо створити тимчасову директорію: "$1"',
+ 'errFtpDownloadFile' : 'Неможливо завантажити файл з FTP: "$1"',
+ 'errFtpUploadFile' : 'Неможливо завантажити файл на FTP: "$1"',
+ 'errFtpMkdir' : 'Неможливо створити віддалений каталог на FTP: "$1"',
+ 'errArchiveExec' : 'Помилка при архівації файлів: "$1"',
+ 'errExtractExec' : 'Помилка при розархівуванні файлів: "$1"',
+ 'errNetUnMount' : 'Неможливо демонтувати', // from v2.1 added 30.04.2012
+ 'errConvUTF8' : 'Неможливо конвертувати в UTF - 8', // from v2.1 added 08.04.2014
+ 'errFolderUpload' : 'Використовуйте Google Chrome, якщо ви хочете завантажити папку', // from v2.1 added 26.6.2015
+ 'errSearchTimeout' : 'Час пошуку "$1" вийшов. Результат пошуку частковий', // from v2.1 added 12.1.2016
+ 'errReauthRequire' : 'Необхідна повторна авторизація.', // from v2.1.10 added 3.24.2016
+
+ /******************************* commands names ********************************/
+ 'cmdarchive' : 'Архівувати',
+ 'cmdback' : 'Назад',
+ 'cmdcopy' : 'Копівати',
+ 'cmdcut' : 'Вирізати',
+ 'cmddownload' : 'Завантажити',
+ 'cmdduplicate' : 'Дублювати',
+ 'cmdedit' : 'Редагувати файл',
+ 'cmdextract' : 'Розпакувати файли з архіву',
+ 'cmdforward' : 'Вперед',
+ 'cmdgetfile' : 'Вибрати файли',
+ 'cmdhelp' : 'Про програму',
+ 'cmdhome' : 'Додому',
+ 'cmdinfo' : 'Інформація',
+ 'cmdmkdir' : 'Створити теку',
+ 'cmdmkfile' : 'Створити текстовий файл',
+ 'cmdopen' : 'Відкрити',
+ 'cmdpaste' : 'Вставити',
+ 'cmdquicklook' : 'Попередній перегляд',
+ 'cmdreload' : 'Перечитати',
+ 'cmdrename' : 'Перейменувати',
+ 'cmdrm' : 'Вилучити',
+ 'cmdsearch' : 'Шукати файли',
+ 'cmdup' : 'На 1 рівень вгору',
+ 'cmdupload' : 'Відвантажити файли',
+ 'cmdview' : 'Перегляд',
+ 'cmdresize' : 'Масштабувати зображення',
+ 'cmdsort' : 'Сортування',
+ 'cmdnetmount' : 'Змонтувати мережевий диск', // added 18.04.2012
+ 'cmdnetunmount': 'Розмонтувати', // from v2.1 added 30.04.2012
+ 'cmdplaces' : 'To Places', // added 28.12.2014
+ 'cmdchmod' : 'Змінити права', // from v2.1 added 20.6.2015
+ 'cmdopendir' : 'Відкрии директорію', // from v2.1 added 13.1.2016
+
+ /*********************************** buttons ***********************************/
+ 'btnClose' : 'Закрити',
+ 'btnSave' : 'Зберегти',
+ 'btnRm' : 'Вилучити',
+ 'btnApply' : 'Застосувати',
+ 'btnCancel' : 'Скасувати',
+ 'btnNo' : 'Ні',
+ 'btnYes' : 'Так',
+ 'btnMount' : 'Підключити', // added 18.04.2012
+ 'btnApprove': 'Перейти в $1 і прийняти', // from v2.1 added 26.04.2012
+ 'btnUnmount': 'Відключити', // from v2.1 added 30.04.2012
+ 'btnConv' : 'Конвертувати', // from v2.1 added 08.04.2014
+ 'btnCwd' : 'Тут', // from v2.1 added 22.5.2015
+ 'btnVolume' : 'Розділ', // from v2.1 added 22.5.2015
+ 'btnAll' : 'Всі', // from v2.1 added 22.5.2015
+ 'btnMime' : 'MIME тип', // from v2.1 added 22.5.2015
+ 'btnFileName':'Назва файла', // from v2.1 added 22.5.2015
+ 'btnSaveClose': 'Зберегти і вийти', // from v2.1 added 12.6.2015
+ 'btnBackup' : 'Резервна копія', // fromv2.1 added 28.11.2015
+
+ /******************************** notifications ********************************/
+ 'ntfopen' : 'Відкрити теку',
+ 'ntffile' : 'Відкрити файл',
+ 'ntfreload' : 'Перечитати вміст теки',
+ 'ntfmkdir' : 'Створення теки',
+ 'ntfmkfile' : 'Створення файлів',
+ 'ntfrm' : 'Вилучити файли',
+ 'ntfcopy' : 'Копіювати файли',
+ 'ntfmove' : 'Перенести файли',
+ 'ntfprepare' : 'Підготовка до копіювання файлів',
+ 'ntfrename' : 'Перейменувати файли',
+ 'ntfupload' : 'Відвантажити файли',
+ 'ntfdownload' : 'Завантажити файли',
+ 'ntfsave' : 'Записати файли',
+ 'ntfarchive' : 'Створення архіву',
+ 'ntfextract' : 'Розпаковування архіву',
+ 'ntfsearch' : 'Пошук файлів',
+ 'ntfsmth' : 'Виконується >_<',
+ 'ntfloadimg' : 'Завантаження зображення',
+ 'ntfnetmount' : 'Монтування мережевого диска', // added 18.04.2012
+ 'ntfnetunmount': 'Розмонтування мережевого диска', // from v2.1 added 30.04.2012
+ 'ntfdim' : 'Acquiring image dimension', // added 20.05.2013
+ 'ntfreaddir' : 'Читання інформації директорії', // from v2.1 added 01.07.2013
+ 'ntfurl' : 'отримання URL посилання', // from v2.1 added 11.03.2014
+ 'ntfchmod' : 'Зміна прав файлу', // from v2.1 added 20.6.2015
+ 'ntfpreupload': 'Перевірка імені завантажуваного файла', // from v2.1 added 31.11.2015
+ 'ntfzipdl' : 'Створення файлу для завантаження', // from v2.1.7 added 23.1.2016
+
+ /************************************ dates **********************************/
+ 'dateUnknown' : 'невідомо',
+ 'Today' : 'сьогодні',
+ 'Yesterday' : 'вчора',
+ 'Jan' : 'Січ',
+ 'Feb' : 'Лют',
+ 'Mar' : 'Бер',
+ 'Apr' : 'Кві',
+ 'May' : 'Тра',
+ 'Jun' : 'Чер',
+ 'Jul' : 'Лип',
+ 'Aug' : 'Сер',
+ 'Sep' : 'Вер',
+ 'Oct' : 'Жов',
+ 'Nov' : 'Лис',
+ 'Dec' : 'Гру',
+ 'January' : 'січня',
+ 'February' : 'лютого',
+ 'March' : 'березня',
+ 'April' : 'квітня',
+ 'May' : 'травня',
+ 'June' : 'червня',
+ 'July' : 'липня',
+ 'August' : 'серпня',
+ 'September' : 'вересня',
+ 'October' : 'жовтня',
+ 'November' : 'листопада',
+ 'December' : 'грудня',
+ 'Sunday' : 'Неділя',
+ 'Monday' : 'Понеділок',
+ 'Tuesday' : 'Вівторок',
+ 'Wednesday' : 'Середа',
+ 'Thursday' : 'Четвер',
+ 'Friday' : 'П’ятниця',
+ 'Saturday' : 'Субота',
+ 'Sun' : 'Нд',
+ 'Mon' : 'Пн',
+ 'Tue' : 'Вт',
+ 'Wed' : 'Ср',
+ 'Thu' : 'Чт',
+ 'Fri' : 'Пт',
+ 'Sat' : 'Сб',
+ /******************************** sort variants ********************************/
+ 'sortnameDirsFirst' : 'за назвою (теки на початку)',
+ 'sortkindDirsFirst' : 'за типом (теки на початку)',
+ 'sortsizeDirsFirst' : 'за розміром (теки на початку)',
+ 'sortdateDirsFirst' : 'за датою (теки на початку)',
+ 'sortname' : 'за назвою',
+ 'sortkind' : 'за типом',
+ 'sortsize' : 'за розміром',
+ 'sortdate' : 'за датою',
+
+ /********************************** messages **********************************/
+ 'confirmReq' : 'Підтвердіть',
+ 'confirmRm' : 'Ви справді хочете вилучити файли? Операція незворотня!',
+ 'confirmRepl' : 'Замінити старий файл новим?',
+ 'apllyAll' : 'Застосувати до всіх',
+ 'name' : 'Назва',
+ 'size' : 'Розмір',
+ 'perms' : 'Доступи',
+ 'modify' : 'Змінено',
+ 'kind' : 'Тип',
+ 'read' : 'читання',
+ 'write' : 'запис',
+ 'noaccess' : 'недоступно',
+ 'and' : 'і',
+ 'unknown' : 'невідомо',
+ 'selectall' : 'Вибрати всі файли',
+ 'selectfiles' : 'Вибрати файл(и)',
+ 'selectffile' : 'Вибрати перший файл',
+ 'selectlfile' : 'Вибрати останній файл',
+ 'viewlist' : 'Списком',
+ 'viewicons' : 'Значками',
+ 'places' : 'Розташування',
+ 'calc' : 'Вирахувати',
+ 'path' : 'Шлях',
+ 'aliasfor' : 'Аліас для',
+ 'locked' : 'Заблоковано',
+ 'dim' : 'Розміри',
+ 'files' : 'Файли',
+ 'folders' : 'теки',
+ 'items' : 'Елементи',
+ 'yes' : 'так',
+ 'no' : 'ні',
+ 'link' : 'Посилання',
+ 'searcresult' : 'Результати пошуку',
+ 'selected' : 'Вибрані елементи',
+ 'about' : 'Про',
+ 'shortcuts' : 'Ярлики',
+ 'help' : 'Допомога',
+ 'webfm' : 'Web-менеджер файлів',
+ 'ver' : 'Версія',
+ 'protocol' : 'версія протоколу',
+ 'homepage' : 'Сторінка проекту',
+ 'docs' : 'Документація',
+ 'github' : 'Fork us on Github',
+ 'twitter' : 'Слідкуйте у Твітері',
+ 'facebook' : 'Приєднуйтесь у фейсбуці',
+ 'team' : 'Автори',
+ 'chiefdev' : 'головний розробник',
+ 'developer' : 'розробник',
+ 'contributor' : 'учасник',
+ 'maintainer' : 'супроводжувач',
+ 'translator' : 'перекладач',
+ 'icons' : 'Значки',
+ 'dontforget' : 'і не забудьте рушничок',
+ 'shortcutsof' : 'Ярлики заборонені',
+ 'dropFiles' : 'Кидайте файли сюди',
+ 'or' : 'або',
+ 'selectForUpload' : 'Виберіть файли для відвантаження',
+ 'moveFiles' : 'Перемістити файли',
+ 'copyFiles' : 'Копіювати файли',
+ 'rmFromPlaces' : 'Вилучити з розташувань',
+ 'untitled folder' : 'неназвана папка',
+ 'untitled file.txt' : 'неназваний файл.txt',
+ 'aspectRatio' : 'Співвідношення',
+ 'scale' : 'Масштаб',
+ 'width' : 'Ширина',
+ 'height' : 'Висота',
+ 'mode' : 'Режим',
+ 'resize' : 'Змінити розмір',
+ 'crop' : 'Обрізати',
+ 'rotate' : 'Повернути',
+ 'rotate-cw' : 'Повернути на 90 градусів за год. стр.',
+ 'rotate-ccw' : 'Повернути на 90 градусів проти год. стр.',
+ 'degree' : 'Градус',
+
+ /********************************** mimetypes **********************************/
+ 'kindUnknown' : 'Невідомо',
+ 'kindFolder' : 'Папка',
+ 'kindAlias' : 'Аліас',
+ 'kindAliasBroken' : 'Битий аліас',
+ // applications
+ 'kindApp' : 'Програма',
+ 'kindPostscript' : 'Документ Postscript',
+ 'kindMsOffice' : 'Документ Microsoft Office',
+ 'kindMsWord' : 'Документ Microsoft Word',
+ 'kindMsExcel' : 'Документ Microsoft Excel',
+ 'kindMsPP' : 'Презентація Microsoft Powerpoint',
+ 'kindOO' : 'Документ Open Office',
+ 'kindAppFlash' : 'Flash-додаток',
+ 'kindPDF' : 'Документ переносного формату (PDF)',
+ 'kindTorrent' : 'Файл Bittorrent',
+ 'kind7z' : 'Архів 7z archive',
+ 'kindTAR' : 'Архів TAR archive',
+ 'kindGZIP' : 'Архів GZIP archive',
+ 'kindBZIP' : 'Архів BZIP archive',
+ 'kindZIP' : 'Архів ZIP archive',
+ 'kindRAR' : 'Архів RAR archive',
+ 'kindJAR' : 'Файл Java JAR',
+ 'kindTTF' : 'Шрифт True Type',
+ 'kindOTF' : 'Шрифт Open Type',
+ 'kindRPM' : 'Пакунок RPM',
+ // texts
+ 'kindText' : 'Текстовий документ',
+ 'kindTextPlain' : 'Простий текст',
+ 'kindPHP' : 'Код PHP',
+ 'kindCSS' : 'Каскадна таблиця стилів (CSS)',
+ 'kindHTML' : 'Документ HTML',
+ 'kindJS' : 'Код Javascript',
+ 'kindRTF' : 'Rich Text Format',
+ 'kindC' : 'Код C',
+ 'kindCHeader' : 'Заголовковий код C',
+ 'kindCPP' : 'Код C++',
+ 'kindCPPHeader' : 'Заголовковий код C++',
+ 'kindShell' : 'Скрипт Unix shell',
+ 'kindPython' : 'Код Python',
+ 'kindJava' : 'Код Java',
+ 'kindRuby' : 'Код Ruby',
+ 'kindPerl' : 'Код Perl',
+ 'kindSQL' : 'Код SQL',
+ 'kindXML' : 'Документ XML',
+ 'kindAWK' : 'Код AWK',
+ 'kindCSV' : 'Значення розділені комою (CSV)',
+ 'kindDOCBOOK' : 'Документ Docbook XML',
+ // images
+ 'kindImage' : 'Зображення',
+ 'kindBMP' : 'Зображення BMP',
+ 'kindJPEG' : 'Зображення JPEG',
+ 'kindGIF' : 'Зображення GIF',
+ 'kindPNG' : 'Зображення PNG',
+ 'kindTIFF' : 'Зображення TIFF',
+ 'kindTGA' : 'Зображення TGA',
+ 'kindPSD' : 'Зображення Adobe Photoshop',
+ 'kindXBITMAP' : 'Зображення X bitmap',
+ 'kindPXM' : 'Зображення Pixelmator',
+ // media
+ 'kindAudio' : 'Аудіо',
+ 'kindAudioMPEG' : 'Аудіо MPEG',
+ 'kindAudioMPEG4' : 'Аудіо MPEG-4',
+ 'kindAudioMIDI' : 'Аудіо MIDI',
+ 'kindAudioOGG' : 'Аудіо Ogg Vorbis',
+ 'kindAudioWAV' : 'Аудіо WAV',
+ 'AudioPlaylist' : 'Список відтворення MP3',
+ 'kindVideo' : 'Відео',
+ 'kindVideoDV' : 'Відео DV movie',
+ 'kindVideoMPEG' : 'Відео MPEG movie',
+ 'kindVideoMPEG4' : 'Відео MPEG-4 movie',
+ 'kindVideoAVI' : 'Відео AVI movie',
+ 'kindVideoMOV' : 'Відео Quick Time',
+ 'kindVideoWM' : 'Відео Windows Media',
+ 'kindVideoFlash' : 'Відео Flash',
+ 'kindVideoMKV' : 'Відео Matroska',
+ 'kindVideoOGG' : 'Відео Ogg'
+ }
+ }
+}
+
diff --git a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.vi.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.vi.js
similarity index 59%
rename from elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.vi.js
rename to elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.vi.js
index 99fcb7d..87d50f5 100644
--- a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.vi.js
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.vi.js
@@ -1,77 +1,96 @@
/**
-
-Bản dịch Việt Nam
-@Được dịch bởi Chung Thủy f
-@Phiên bản 16-01-2013 */
+ * Vietnamese translation
+ * @author Chung Thủy f
+ * @version 2014-12-19
+ */
if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
-elFinder.prototype.i18.vi = {
-translator : 'Chung Thủy f ',
-language : 'Ngôn ngữ Việt Nam',
-direction : 'ltr',
-dateFormat : 'd.m.Y H:i',
-fancyDateFormat : '$1 H:i',
-messages : {
+ elFinder.prototype.i18.vi = {
+ translator : 'Chung Thủy f <chungthuyf@gmail.com>,Son Nguyen <son.nguyen@catalyst.net.nz>',
+ language : 'Ngôn ngữ Việt Nam',
+ direction : 'ltr',
+ dateFormat : 'd.m.Y H:i',
+ fancyDateFormat : '$1 H:i',
+ messages : {
/********************************** errors **********************************/
'error' : 'Lỗi',
'errUnknown' : 'Lỗi không xác định được.',
'errUnknownCmd' : 'Lỗi không rõ lệnh.',
- 'errJqui' : 'Invalid jQuery UI configuration. Selectable, draggable and droppable components must be included.',
- 'errNode' : 'elFinder requires DOM Element to be created.',
- 'errURL' : 'Cấu elFinder không hợp lệ! URL không được thiết lập tùy chọn.',
+ 'errJqui' : 'Cấu hình jQueryUI không hợp lệ. Các thành phần lựa chọn, kéo và thả phải được bao gồm.',
+ 'errNode' : 'elFinder đòi hỏi phần tử DOM phải được tạo ra.',
+ 'errURL' : 'Cấu hình elFinder không hợp lệ! URL không được thiết lập tùy chọn.',
'errAccess' : 'Truy cập bị từ chối.',
- 'errConnect' : 'Unable to connect to backend.',
+ 'errConnect' : 'Không thể kết nối với backend.',
'errAbort' : 'Kết nối bị hủy bỏ.',
- 'errTimeout' : 'Connection timeout.',
- 'errNotFound' : 'Backend not found.',
- 'errResponse' : 'Invalid backend response.',
- 'errConf' : 'Invalid backend configuration.',
- 'errJSON' : 'PHP JSON module not installed.',
- 'errNoVolumes' : 'Readable volumes not available.',
- 'errCmdParams' : 'Invalid parameters for command "$1".',
- 'errDataNotJSON' : 'Data is not JSON.',
- 'errDataEmpty' : 'Data is empty.',
- 'errCmdReq' : 'Backend request requires command name.',
- 'errOpen' : 'Unable to open "$1".',
- 'errNotFolder' : 'Object is not a folder.',
- 'errNotFile' : 'Object is not a file.',
- 'errRead' : 'Unable to read "$1".',
- 'errWrite' : 'Unable to write into "$1".',
- 'errPerm' : 'Permission denied.',
- 'errLocked' : '"$1" is locked and can not be renamed, moved or removed.',
- 'errExists' : 'File named "$1" already exists.',
- 'errInvName' : 'Invalid file name.',
- 'errFolderNotFound' : 'Folder not found.',
- 'errFileNotFound' : 'File not found.',
- 'errTrgFolderNotFound' : 'Target folder "$1" not found.',
- 'errPopup' : 'Browser prevented opening popup window. To open file enable it in browser options.',
- 'errMkdir' : 'Unable to create folder "$1".',
- 'errMkfile' : 'Unable to create file "$1".',
- 'errRename' : 'Unable to rename "$1".',
- 'errCopyFrom' : 'Copying files from volume "$1" not allowed.',
- 'errCopyTo' : 'Copying files to volume "$1" not allowed.',
- 'errUploadCommon' : 'Upload error.',
- 'errUpload' : 'Unable to upload "$1".',
- 'errUploadNoFiles' : 'No files found for upload.',
- 'errMaxSize' : 'Data exceeds the maximum allowed size.',
- 'errFileMaxSize' : 'File exceeds maximum allowed size.',
- 'errUploadMime' : 'File type not allowed.',
- 'errUploadTransfer' : '"$1" transfer error.',
- 'errSave' : 'Unable to save "$1".',
- 'errCopy' : 'Unable to copy "$1".',
- 'errMove' : 'Unable to move "$1".',
- 'errCopyInItself' : 'Unable to copy "$1" into itself.',
- 'errRm' : 'Unable to remove "$1".',
- 'errExtract' : 'Unable to extract files from "$1".',
- 'errArchive' : 'Unable to create archive.',
- 'errArcType' : 'Unsupported archive type.',
- 'errNoArchive' : 'File is not archive or has unsupported archive type.',
- 'errCmdNoSupport' : 'Backend does not support this command.',
- 'errReplByChild' : 'The folder “$1” can’t be replaced by an item it contains.',
- 'errArcSymlinks' : 'For security reason denied to unpack archives contains symlinks.',
- 'errArcMaxSize' : 'Archive files exceeds maximum allowed size.',
- 'errResize' : 'Unable to resize "$1".',
- 'errUsupportType' : 'Unsupported file type.',
+ 'errTimeout' : 'Thời gian chờ kết nối đã hết.',
+ 'errNotFound' : 'Backend không tìm thấy.',
+ 'errResponse' : 'Phản hồi backend không hợp lệ.',
+ 'errConf' : 'Cấu hình backend không hợp lệ.',
+ 'errJSON' : 'Mô-đun PHP JSON không được cài đặt.',
+ 'errNoVolumes' : 'Tập có thể đọc không có sẵn.',
+ 'errCmdParams' : 'Thông số không hợp lệ cho lệnh "$1".',
+ 'errDataNotJSON' : 'Dữ liệu không phải là JSON.',
+ 'errDataEmpty' : 'Dữ liệu trống.',
+ 'errCmdReq' : 'Backend đòi hỏi tên lệnh.',
+ 'errOpen' : 'Không thể mở "$1".',
+ 'errNotFolder' : 'Đối tượng không phải là một thư mục.',
+ 'errNotFile' : 'Đối tượng không phải là một tập tin.',
+ 'errRead' : 'Không thể đọc "$1".',
+ 'errWrite' : 'Không thể ghi vào "$1".',
+ 'errPerm' : 'Quyền bị từ chối.',
+ 'errLocked' : '"$1" đã bị khóa và không thể đổi tên, di chuyển hoặc loại bỏ.',
+ 'errExists' : 'Tập tin có tên "$1" đã tồn tại.',
+ 'errInvName' : 'Tên tập tin không hợp lệ.',
+ 'errFolderNotFound' : 'Thư mục không tìm thấy.',
+ 'errFileNotFound' : 'Tập tin không tìm thấy.',
+ 'errTrgFolderNotFound' : 'Thư mục đích "$1" không được tìm thấy.',
+ 'errPopup' : 'Trình duyệt ngăn chặn mở cửa sổ popup.',
+ 'errMkdir' : 'Không thể tạo thư mục "$1".',
+ 'errMkfile' : 'Không thể tạo tập tin "$1".',
+ 'errRename' : 'Không thể đổi tên "$1".',
+ 'errCopyFrom' : 'Sao chép tập tin từ tập "$1" không được phép.',
+ 'errCopyTo' : 'Sao chép tập tin tới tập "$1" không được phép.',
+ 'errUpload' : 'Tải lên báo lỗi.',
+ 'errUploadFile' : 'Không thể tải lên "$1".',
+ 'errUploadNoFiles' : 'Không thấy tập tin nào để tải lên.',
+ 'errUploadTotalSize' : 'Dữ liệu vượt quá kích thước tối đa cho phép.',
+ 'errUploadFileSize' : 'Tập tin vượt quá kích thước tối đa cho phép.',
+ 'errUploadMime' : 'Kiểu tập tin không được phép.',
+ 'errUploadTransfer' : 'Lỗi khi truyền "$1".',
+ 'errNotReplace' : 'Object "$1" already exists at this location and can not be replaced by object with another type.',
+ 'errReplace' : 'Unable to replace "$1".',
+ 'errSave' : 'Không thể lưu "$1".',
+ 'errCopy' : 'Không thể sao chép "$1".',
+ 'errMove' : 'Không thể chuyển "$1".',
+ 'errCopyInItself' : 'Không thể sao chép "$1" vào chính nó.',
+ 'errRm' : 'Không thể xóa "$1".',
+ 'errRmSrc' : 'Unable remove source file(s).',
+ 'errExtract' : 'Không thể giải nén các tập tin từ"$1".',
+ 'errArchive' : 'Không thể tạo ra lưu trữ.',
+ 'errArcType' : 'Loại lưu trữ không được hỗ trợ.',
+ 'errNoArchive' : 'Tập tin không phải là lưu trữ hoặc có kiểu lưu trữ không được hỗ trợ.',
+ 'errCmdNoSupport' : 'Backend không hỗ trợ lệnh này.',
+ 'errReplByChild' : 'Thư mục "$1" không thể được thay thế bằng một mục con mà nó chứa.',
+ 'errArcSymlinks' : 'Vì lý do bảo mật, từ chối giải nén tập tin lưu trữ có chứa liên kết mềm.',
+ 'errArcMaxSize' : 'Tập tin lưu trữ vượt quá kích thước tối đa cho phép.',
+ 'errResize' : 'Không thể thay đổi kích thước "$1".',
+ 'errResizeDegree' : 'Invalid rotate degree.',
+ 'errResizeRotate' : 'Unable to rotate image.',
+ 'errResizeSize' : 'Invalid image size.',
+ 'errResizeNoChange' : 'Image size not changed.',
+ 'errUsupportType' : 'Loại tập tin không được hỗ trợ.',
+ 'errNotUTF8Content' : 'File "$1" is not in UTF-8 and cannot be edited.', // added 9.11.2011
+ 'errNetMount' : 'Unable to mount "$1".', // added 17.04.2012
+ 'errNetMountNoDriver' : 'Unsupported protocol.', // added 17.04.2012
+ 'errNetMountFailed' : 'Mount failed.', // added 17.04.2012
+ 'errNetMountHostReq' : 'Host required.', // added 18.04.2012
+ 'errSessionExpires' : 'Your session has expired due to inactivity.',
+ 'errCreatingTempDir' : 'Unable to create temporary directory: "$1"',
+ 'errFtpDownloadFile' : 'Unable to download file from FTP: "$1"',
+ 'errFtpUploadFile' : 'Unable to upload file to FTP: "$1"',
+ 'errFtpMkdir' : 'Unable to create remote directory on FTP: "$1"',
+ 'errArchiveExec' : 'Error while archiving files: "$1"',
+ 'errExtractExec' : 'Error while extracting files: "$1"',
/******************************* commands names ********************************/
'cmdarchive' : 'Tạo tập tin nén',
@@ -101,6 +120,7 @@ messages : {
'cmdview' : 'Xem',
'cmdresize' : 'Resize image',
'cmdsort' : 'Sắp xếp',
+ 'cmdnetmount' : 'Mount network volume',
/*********************************** buttons ***********************************/
'btnClose' : 'Đóng',
@@ -110,6 +130,7 @@ messages : {
'btnCancel' : 'Hủy bỏ',
'btnNo' : 'Không',
'btnYes' : 'Đồng ý',
+ 'btnMount' : 'Mount',
/******************************** notifications ********************************/
'ntfopen' : 'Mở thư mục',
@@ -128,25 +149,28 @@ messages : {
'ntfarchive' : 'Tạo tập tin nén',
'ntfextract' : 'Giải nén tập tin',
'ntfsearch' : 'Tìm kiếm tập tin',
+ 'ntfresize' : 'Resizing images',
'ntfsmth' : 'Doing something >_<',
'ntfloadimg' : 'Đang tải hình ảnh',
+ 'ntfnetmount' : 'Mounting network volume', // added 18.04.2012
+ 'ntfdim' : 'Acquiring image dimension', // added 20.05.2013
/************************************ dates **********************************/
'dateUnknown' : 'Chưa biết',
'Today' : 'Hôm nay',
'Yesterday' : 'Yesterday',
- 'Jan' : 'Jan',
- 'Feb' : 'Feb',
- 'Mar' : 'Mar',
- 'Apr' : 'Apr',
- 'May' : 'May',
- 'Jun' : 'Jun',
- 'Jul' : 'Jul',
- 'Aug' : 'Aug',
- 'Sep' : 'Sep',
- 'Oct' : 'Oct',
- 'Nov' : 'Nov',
- 'Dec' : 'Dec',
+ 'msJan' : 'Jan',
+ 'msFeb' : 'Feb',
+ 'msMar' : 'Mar',
+ 'msApr' : 'Apr',
+ 'msMay' : 'May',
+ 'msJun' : 'Jun',
+ 'msJul' : 'Jul',
+ 'msAug' : 'Aug',
+ 'msSep' : 'Sep',
+ 'msOct' : 'Oct',
+ 'msNov' : 'Nov',
+ 'msDec' : 'Dec',
'January' : 'January',
'February' : 'February',
'March' : 'March',
@@ -173,15 +197,13 @@ messages : {
'Thu' : 'Thu',
'Fri' : 'Fri',
'Sat' : 'Sat',
+
/******************************** sort variants ********************************/
- 'sortnameDirsFirst' : 'by name (folders first)',
- 'sortkindDirsFirst' : 'by kind (folders first)',
- 'sortsizeDirsFirst' : 'by size (folders first)',
- 'sortdateDirsFirst' : 'by date (folders first)',
'sortname' : 'by name',
'sortkind' : 'by kind',
'sortsize' : 'by size',
'sortdate' : 'by date',
+ 'sortFoldersFirst' : 'Folders first',
/********************************** messages **********************************/
'confirmReq' : 'Confirmation required',
@@ -223,7 +245,7 @@ messages : {
'help' : 'Help',
'webfm' : 'Web file manager',
'ver' : 'Version',
- 'protocol' : 'protocol version',
+ 'protocolver' : 'protocol version',
'homepage' : 'Project home',
'docs' : 'Documentation',
'github' : 'Fork us on Github',
@@ -244,19 +266,22 @@ messages : {
'moveFiles' : 'Move files',
'copyFiles' : 'Copy files',
'rmFromPlaces' : 'Remove from places',
- 'untitled folder' : 'untitled folder',
- 'untitled file.txt' : 'untitled file.txt',
'aspectRatio' : 'Aspect ratio',
'scale' : 'Scale',
'width' : 'Width',
'height' : 'Height',
- 'mode' : 'Mode',
'resize' : 'Resize',
'crop' : 'Crop',
'rotate' : 'Rotate',
'rotate-cw' : 'Rotate 90 degrees CW',
'rotate-ccw' : 'Rotate 90 degrees CCW',
'degree' : 'Degree',
+ 'netMountDialogTitle' : 'Mount network volume', // added 18.04.2012
+ 'protocol' : 'Protocol', // added 18.04.2012
+ 'host' : 'Host', // added 18.04.2012
+ 'port' : 'Port', // added 18.04.2012
+ 'user' : 'User', // added 18.04.2012
+ 'pass' : 'Password', // added 18.04.2012
/********************************** mimetypes **********************************/
'kindUnknown' : 'Unknown',
@@ -278,6 +303,7 @@ messages : {
'kindTAR' : 'TAR archive',
'kindGZIP' : 'GZIP archive',
'kindBZIP' : 'BZIP archive',
+ 'kindXZ' : 'XZ archive',
'kindZIP' : 'ZIP archive',
'kindRAR' : 'RAR archive',
'kindJAR' : 'Java JAR file',
@@ -336,5 +362,5 @@ messages : {
'kindVideoMKV' : 'Matroska movie',
'kindVideoOGG' : 'Ogg movie'
}
+ };
}
-}
\ No newline at end of file
diff --git a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.zh_CN.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.zh_CN.js
similarity index 58%
rename from elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.zh_CN.js
rename to elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.zh_CN.js
index 4896062..e49ba1c 100644
--- a/elFinder.Net.Web/Content/elfinder/js/i18n/elfinder.zh_CN.js
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.zh_CN.js
@@ -1,354 +1,459 @@
-/**
- * Simplified Chinese translation
- * @author deerchao
- * @author Andy Hu
- * @version 2013-01-29
- */
-if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
- elFinder.prototype.i18.zh_CN = {
- translator : '翻译者 deerchao <deerchao@gmail.com>, Andy Hu <andyhu7@yahoo.com.hk>',
- language : '简体中文',
- direction : 'ltr',
- dateFormat : 'Y-m-d H:i',
- fancyDateFormat : '$1 H:i',
- messages : {
-
- /********************************** errors **********************************/
- 'error' : '错误',
- 'errUnknown' : '未知的错误.',
- 'errUnknownCmd' : '未知的命令.',
- 'errJqui' : '无效的 jQuery UI 配置. 必须包含 Selectable, draggable 以及 droppable 组件.',
- 'errNode' : 'elFinder 需要能创建 DOM 元素.',
- 'errURL' : '无效的 elFinder 配置! URL 选项未配置.',
- 'errAccess' : '访问被拒绝.',
- 'errConnect' : '不能连接到后端.',
- 'errAbort' : '连接中止.',
- 'errTimeout' : '连接超时.',
- 'errNotFound' : '未找到后端.',
- 'errResponse' : '无效的后端响应.',
- 'errConf' : '无效的后端配置.',
- 'errJSON' : 'PHP JSON 模块未安装.',
- 'errNoVolumes' : '无可读的卷.',
- 'errCmdParams' : '无效的参数, 命令: "$1".',
- 'errDataNotJSON' : '响应不符合 JSON 格式.',
- 'errDataEmpty' : '响应为空.',
- 'errCmdReq' : '后端请求需要命令名称.',
- 'errOpen' : '无法打开 "$1".',
- 'errNotFolder' : '对象不是文件夹.',
- 'errNotFile' : '对象不是文件.',
- 'errRead' : '无法读取 "$1".',
- 'errWrite' : '无法写入 "$1".',
- 'errPerm' : '无权限.',
- 'errLocked' : '"$1" 被锁定,不能重命名, 移动或删除.',
- 'errExists' : '文件 "$1" 已经存在了.',
- 'errInvName' : '无效的文件名.',
- 'errFolderNotFound' : '未找到文件夹.',
- 'errFileNotFound' : '未找到文件.',
- 'errTrgFolderNotFound' : '未找到目标文件夹 "$1".',
- 'errPopup' : '浏览器拦截了弹出窗口. 请在选项中允许弹出窗口.',
- 'errMkdir' : '不能创建文件夹 "$1".',
- 'errMkfile' : '不能创建文件 "$1".',
- 'errRename' : '不能重命名 "$1".',
- 'errCopyFrom' : '不允许从卷 "$1" 复制.',
- 'errCopyTo' : '不允许向卷 "$1" 复制.',
- 'errUpload' : '上传出错.',
- 'errUploadFile' : '无法上传 "$1".',
- 'errUploadNoFiles' : '未找到要上传的文件.',
- 'errUploadTotalSize' : '数据超过了允许的最大大小.',
- 'errUploadFileSize' : '文件超过了允许的最大大小.',
- 'errUploadMime' : '不允许的文件类型.',
- 'errUploadTransfer' : '"$1" 传输错误.',
- 'errNotReplace' : '对象 "$1" 已经在此位置存在, 不能被其他对象替换.', // new
- 'errReplace' : '无法替换 "$1".',
- 'errSave' : '无法保存 "$1".',
- 'errCopy' : '无法复制 "$1".',
- 'errMove' : '无法移动 "$1".',
- 'errCopyInItself' : '不能移动 "$1" 到原有位置.',
- 'errRm' : '无法删除 "$1".',
- 'errRmSrc' : '不能删除源文件.',
- 'errExtract' : '无法从 "$1" 提取文件.',
- 'errArchive' : '无法创建压缩包.',
- 'errArcType' : '不支持的压缩格式.',
- 'errNoArchive' : '文件不是压缩包, 或者不支持该压缩格式.',
- 'errCmdNoSupport' : '后端不支持该命令.',
- 'errReplByChild' : '文件夹 “$1” 不能被它所包含的项目替换.',
- 'errArcSymlinks' : '出于安全上的考虑,不允许解压包含符号链接的压缩包.',
- 'errArcMaxSize' : '压缩包文件超过最大允许文件大小范围.',
- 'errResize' : '无法重新调整大小 "$1".',
- 'errUsupportType' : '不被支持的文件格式.',
- 'errNotUTF8Content' : '文件 "$1" 不是 UTF-8 格式, 不能编辑.', // added 9.11.2011
- 'errNetMount' : '无法装载 "$1".', // added 17.04.2012
- 'errNetMountNoDriver' : '不支持该协议.', // added 17.04.2012
- 'errNetMountFailed' : '装载失败.', // added 17.04.2012
- 'errNetMountHostReq' : '需要指定主机.', // added 18.04.2012
- /******************************* commands names ********************************/
- 'cmdarchive' : '创建压缩包',
- 'cmdback' : '后退',
- 'cmdcopy' : '复制',
- 'cmdcut' : '剪切',
- 'cmddownload' : '下载',
- 'cmdduplicate' : '创建复本',
- 'cmdedit' : '编辑文件',
- 'cmdextract' : '从压缩包提取文件',
- 'cmdforward' : '前进',
- 'cmdgetfile' : '选择文件',
- 'cmdhelp' : '关于本软件',
- 'cmdhome' : '首页',
- 'cmdinfo' : '查看信息',
- 'cmdmkdir' : '新建文件夹',
- 'cmdmkfile' : '新建文本文件',
- 'cmdopen' : '打开',
- 'cmdpaste' : '粘贴',
- 'cmdquicklook' : '预览',
- 'cmdreload' : '刷新',
- 'cmdrename' : '重命名',
- 'cmdrm' : '删除',
- 'cmdsearch' : '查找文件',
- 'cmdup' : '转到上一级文件夹',
- 'cmdupload' : '上传文件',
- 'cmdview' : '查看',
- 'cmdresize' : '重新调整大小',
- 'cmdsort' : '排序',
- 'cmdnetmount' : '装载网络卷', // added 18.04.2012
-
- /*********************************** buttons ***********************************/
- 'btnClose' : '关闭',
- 'btnSave' : '保存',
- 'btnRm' : '删除',
- 'btnApply' : '应用',
- 'btnCancel' : '取消',
- 'btnNo' : '否',
- 'btnYes' : '是',
- 'btnMount' : '装载', // added 18.04.2012
- /******************************** notifications ********************************/
- 'ntfopen' : '打开文件夹',
- 'ntffile' : '打开文件',
- 'ntfreload' : '刷新文件夹内容',
- 'ntfmkdir' : '创建文件夹',
- 'ntfmkfile' : '创建文件',
- 'ntfrm' : '删除文件',
- 'ntfcopy' : '复制文件',
- 'ntfmove' : '移动文件',
- 'ntfprepare' : '准备复制文件',
- 'ntfrename' : '重命名文件',
- 'ntfupload' : '上传文件',
- 'ntfdownload' : '下载文件',
- 'ntfsave' : '保存文件',
- 'ntfarchive' : '创建压缩包',
- 'ntfextract' : '从压缩包提取文件',
- 'ntfsearch' : '搜索文件',
- 'ntfresize' : '正在更改尺寸',
- 'ntfsmth' : '正在忙 >_<',
- 'ntfloadimg' : '正在加载图片',
- 'ntfnetmount' : '正在装载网络卷', // added 18.04.2012
-
- /************************************ dates **********************************/
- 'dateUnknown' : '未知',
- 'Today' : '今天',
- 'Yesterday' : '昨天',
- 'Jan' : '一月',
- 'Feb' : '二月',
- 'Mar' : '三月',
- 'Apr' : '四月',
- 'May' : '五月',
- 'Jun' : '六月',
- 'Jul' : '七月',
- 'Aug' : '八月',
- 'Sep' : '九月',
- 'Oct' : '十月',
- 'Nov' : '十一月',
- 'Dec' : '十二月',
- 'January' : '一月',
- 'February' : '二月',
- 'March' : '三月',
- 'April' : '四月',
- 'May' : '五月',
- 'June' : '六月',
- 'July' : '七月',
- 'August' : '八月',
- 'September' : '九月',
- 'October' : '十月',
- 'November' : '十一月',
- 'December' : '十二月',
- 'Sunday' : '星期日',
- 'Monday' : '星期一',
- 'Tuesday' : '星期二',
- 'Wednesday' : '星期三',
- 'Thursday' : '星期四',
- 'Friday' : '星期五',
- 'Saturday' : '星期六',
- 'Sun' : '周日',
- 'Mon' : '周一',
- 'Tue' : '周二',
- 'Wed' : '周三',
- 'Thu' : '周四',
- 'Fri' : '周五',
- 'Sat' : '周六',
- /******************************** sort variants ********************************/
- 'sortnameDirsFirst' : '按名称 (文件夹在最前)',
- 'sortkindDirsFirst' : '按类型 (文件夹在最前)',
- 'sortsizeDirsFirst' : '按大小 (文件夹在最前)',
- 'sortdateDirsFirst' : '按日期 (文件夹在最前)',
- 'sortname' : '按名称',
- 'sortkind' : '按类型',
- 'sortsize' : '按大小',
- 'sortdate' : '按日期',
-
- /********************************** messages **********************************/
- 'confirmReq' : '请确认',
- 'confirmRm' : '确定要删除文件吗? 该操作不可撤销!',
- 'confirmRepl' : '用新的文件替换原有文件?',
- 'apllyAll' : '全部应用',
- 'name' : '名称',
- 'size' : '大小',
- 'perms' : '权限',
- 'modify' : '修改于',
- 'kind' : '类别',
- 'read' : '读取',
- 'write' : '写入',
- 'noaccess' : '无权限',
- 'and' : '和',
- 'unknown' : '未知',
- 'selectall' : '选择所有文件',
- 'selectfiles' : '选择文件',
- 'selectffile' : '选择第一个文件',
- 'selectlfile' : '选择最后一个文件',
- 'viewlist' : '列表视图',
- 'viewicons' : '图标视图',
- 'places' : '位置',
- 'calc' : '计算',
- 'path' : '路径',
- 'aliasfor' : '别名',
- 'locked' : '锁定',
- 'dim' : '尺寸',
- 'files' : '文件',
- 'folders' : '文件夹',
- 'items' : '项目',
- 'yes' : '是',
- 'no' : '否',
- 'link' : '链接',
- 'searcresult' : '搜索结果',
- 'selected' : '选中的项目',
- 'about' : '关于',
- 'shortcuts' : '快捷键',
- 'help' : '帮助',
- 'webfm' : '网络文件管理器',
- 'ver' : '版本',
- 'protocolver' : '协议版本',
- 'homepage' : '项目主页',
- 'docs' : '文档',
- 'github' : 'Fork us on Github',
- 'twitter' : 'Follow us on twitter',
- 'facebook' : 'Join us on facebook',
- 'team' : '团队',
- 'chiefdev' : '首席开发',
- 'developer' : '开发',
- 'contributor' : '贡献',
- 'maintainer' : '维护',
- 'translator' : '翻译',
- 'icons' : '图标',
- 'dontforget' : '别忘了带上你擦汗的毛巾',
- 'shortcutsof' : '快捷键已禁用',
- 'dropFiles' : '把文件拖到这里',
- 'or' : '或者',
- 'selectForUpload' : '选择要上传的文件',
- 'moveFiles' : '移动文件',
- 'copyFiles' : '复制文件',
- 'rmFromPlaces' : '从位置中删除',
- 'untitled folder' : '未命名文件夹',
- 'untitled file.txt' : '未命名文件.txt',
- 'aspectRatio' : '保持比例',
- 'scale' : '高宽比',
- 'width' : '宽',
- 'height' : '高',
- 'mode' : '模式',
- 'resize' : '重新调整大小',
- 'crop' : '裁切',
- 'rotate' : '旋转',
- 'rotate-cw' : '顺时针旋转90度',
- 'rotate-ccw' : '逆时针旋转90度',
- 'degree' : '度',
- 'port' : '端口', // added 18.04.2012
- 'user' : '用户', // added 18.04.2012
- 'pass' : '密码', // added 18.04.2012
-
- /********************************** mimetypes **********************************/
- 'kindUnknown' : '未知',
- 'kindFolder' : '文件夹',
- 'kindAlias' : '别名',
- 'kindAliasBroken' : '错误的别名',
- // applications
- 'kindApp' : '程序',
- 'kindPostscript' : 'Postscript 文档',
- 'kindMsOffice' : 'Microsoft Office 文档',
- 'kindMsWord' : 'Microsoft Word 文档',
- 'kindMsExcel' : 'Microsoft Excel 文档',
- 'kindMsPP' : 'Microsoft Powerpoint 演示',
- 'kindOO' : 'Open Office 文档',
- 'kindAppFlash' : 'Flash 程序',
- 'kindPDF' : 'Portable Document Format (PDF)',
- 'kindTorrent' : 'Bittorrent 文件',
- 'kind7z' : '7z 压缩包',
- 'kindTAR' : 'TAR 压缩包',
- 'kindGZIP' : 'GZIP 压缩包',
- 'kindBZIP' : 'BZIP 压缩包',
- 'kindZIP' : 'ZIP 压缩包',
- 'kindRAR' : 'RAR 压缩包',
- 'kindJAR' : 'Java JAR 文件',
- 'kindTTF' : 'True Type 字体',
- 'kindOTF' : 'Open Type 字体',
- 'kindRPM' : 'RPM 包',
- // texts
- 'kindText' : '文本文件',
- 'kindTextPlain' : '纯文本',
- 'kindPHP' : 'PHP 源代码',
- 'kindCSS' : '层叠样式表(CSS)',
- 'kindHTML' : 'HTML 文档',
- 'kindJS' : 'Javascript 源代码',
- 'kindRTF' : '富文本格式(RTF)',
- 'kindC' : 'C 源代码',
- 'kindCHeader' : 'C 头文件',
- 'kindCPP' : 'C++ 源代码',
- 'kindCPPHeader' : 'C++ 头文件',
- 'kindShell' : 'Unix 外壳脚本',
- 'kindPython' : 'Python 源代码',
- 'kindJava' : 'Java 源代码',
- 'kindRuby' : 'Ruby 源代码',
- 'kindPerl' : 'Perl 源代码',
- 'kindSQL' : 'SQL 脚本',
- 'kindXML' : 'XML 文档',
- 'kindAWK' : 'AWK 源代码',
- 'kindCSV' : '逗号分隔值文件(CSV)',
- 'kindDOCBOOK' : 'Docbook XML 文档',
- // images
- 'kindImage' : '图片',
- 'kindBMP' : 'BMP 图片',
- 'kindJPEG' : 'JPEG 图片',
- 'kindGIF' : 'GIF 图片',
- 'kindPNG' : 'PNG 图片',
- 'kindTIFF' : 'TIFF 图片',
- 'kindTGA' : 'TGA 图片',
- 'kindPSD' : 'Adobe Photoshop 图片',
- 'kindXBITMAP' : 'X bitmap 图片',
- 'kindPXM' : 'Pixelmator 图片',
- // media
- 'kindAudio' : '音频',
- 'kindAudioMPEG' : 'MPEG 音频',
- 'kindAudioMPEG4' : 'MPEG-4 音频',
- 'kindAudioMIDI' : 'MIDI 音频',
- 'kindAudioOGG' : 'Ogg Vorbis 音频',
- 'kindAudioWAV' : 'WAV 音频',
- 'AudioPlaylist' : 'MP3 播放列表',
- 'kindVideo' : '视频',
- 'kindVideoDV' : 'DV 视频',
- 'kindVideoMPEG' : 'MPEG 视频',
- 'kindVideoMPEG4' : 'MPEG-4 视频',
- 'kindVideoAVI' : 'AVI 视频',
- 'kindVideoMOV' : 'Quick Time 视频',
- 'kindVideoWM' : 'Windows Media 视频',
- 'kindVideoFlash' : 'Flash 视频',
- 'kindVideoMKV' : 'Matroska 视频',
- 'kindVideoOGG' : 'Ogg 视频'
- }
- }
-}
+/**
+ * 简体中文 translation
+ * @author 翻译者 deerchao
+ * @author Andy Hu
+ * @author Max Wen
+ * @version 2016-10-20
+ */
+if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
+ elFinder.prototype.i18.zh_CN = {
+ translator : '翻译者 deerchao <deerchao@gmail.com>, Andy Hu <andyhu7@yahoo.com.hk>, Max Wen<max.wen@qq.com>',
+ language : '简体中文',
+ direction : 'ltr',
+ dateFormat : 'Y-m-d H:i', // Mar 13, 2012 05:27 PM
+ fancyDateFormat : '$1 H:i', // will produce smth like: Today 12:25 PM
+ messages : {
+
+ /********************************** errors **********************************/
+ 'error' : '错误',
+ 'errUnknown' : '未知的错误.',
+ 'errUnknownCmd' : '未知的命令.',
+ 'errJqui' : '无效的 jQuery UI 配置. 必须包含 Selectable, draggable 以及 droppable 组件.',
+ 'errNode' : 'elFinder 需要能创建 DOM 元素.',
+ 'errURL' : '无效的 elFinder 配置! URL 选项未配置.',
+ 'errAccess' : '访问被拒绝.',
+ 'errConnect' : '不能连接到后端.',
+ 'errAbort' : '连接中止.',
+ 'errTimeout' : '连接超时.',
+ 'errNotFound' : '未找到后端.',
+ 'errResponse' : '无效的后端响应.',
+ 'errConf' : '无效的后端配置.',
+ 'errJSON' : 'PHP JSON 模块未安装.',
+ 'errNoVolumes' : '无可读的卷.',
+ 'errCmdParams' : '无效的参数, 命令: "$1".',
+ 'errDataNotJSON' : '响应不符合 JSON 格式.',
+ 'errDataEmpty' : '响应为空.',
+ 'errCmdReq' : '后端请求需要命令名称.',
+ 'errOpen' : '无法打开 "$1".',
+ 'errNotFolder' : '对象不是文件夹.',
+ 'errNotFile' : '对象不是文件.',
+ 'errRead' : '无法读取 "$1".',
+ 'errWrite' : '无法写入 "$1".',
+ 'errPerm' : '无权限.',
+ 'errLocked' : '"$1" 被锁定,不能重命名, 移动或删除.',
+ 'errExists' : '文件 "$1" 已经存在了.',
+ 'errInvName' : '无效的文件名.',
+ 'errFolderNotFound' : '未找到文件夹.',
+ 'errFileNotFound' : '未找到文件.',
+ 'errTrgFolderNotFound' : '未找到目标文件夹 "$1".',
+ 'errPopup' : '浏览器拦截了弹出窗口. 请在选项中允许弹出窗口.',
+ 'errMkdir' : '不能创建文件夹 "$1".',
+ 'errMkfile' : '不能创建文件 "$1".',
+ 'errRename' : '不能重命名 "$1".',
+ 'errCopyFrom' : '不允许从卷 "$1" 复制.',
+ 'errCopyTo' : '不允许向卷 "$1" 复制.',
+ 'errMkOutLink' : '无法创建链接到卷根以外的链接.', // from v2.1 added 03.10.2015
+ 'errUpload' : '上传出错.', // old name - errUploadCommon
+ 'errUploadFile' : '无法上传 "$1".', // old name - errUpload
+ 'errUploadNoFiles' : '未找到要上传的文件.',
+ 'errUploadTotalSize' : '数据超过了允许的最大大小.', // old name - errMaxSize
+ 'errUploadFileSize' : '文件超过了允许的最大大小.', // old name - errFileMaxSize
+ 'errUploadMime' : '不允许的文件类型.',
+ 'errUploadTransfer' : '"$1" 传输错误.',
+ 'errUploadTemp' : '无法为上传文件创建临时文件.', // from v2.1 added 26.09.2015
+ 'errNotReplace' : '对象 "$1" 已经在此位置存在, 不能被其他对象替换.', // new
+ 'errReplace' : '无法替换 "$1".',
+ 'errSave' : '无法保存 "$1".',
+ 'errCopy' : '无法复制 "$1".',
+ 'errMove' : '无法移动 "$1".',
+ 'errCopyInItself' : '不能移动 "$1" 到原有位置.',
+ 'errRm' : '无法删除 "$1".',
+ 'errRmSrc' : '不能删除源文件.',
+ 'errExtract' : '无法从 "$1" 提取文件.',
+ 'errArchive' : '无法创建压缩包.',
+ 'errArcType' : '不支持的压缩格式.',
+ 'errNoArchive' : '文件不是压缩包, 或者不支持该压缩格式.',
+ 'errCmdNoSupport' : '后端不支持该命令.',
+ 'errReplByChild' : '文件夹 “$1” 不能被它所包含的项目替换.',
+ 'errArcSymlinks' : '出于安全上的考虑,不允许解压包含符号链接的压缩包.', // edited 24.06.2012
+ 'errArcMaxSize' : '压缩包文件超过最大允许文件大小范围.',
+ 'errResize' : '无法重新调整大小 "$1".',
+ 'errResizeDegree' : '无效的旋转角度.', // added 7.3.2013
+ 'errResizeRotate' : '无法旋转图片.', // added 7.3.2013
+ 'errResizeSize' : '无效的图片尺寸.', // added 7.3.2013
+ 'errResizeNoChange' : '图片尺寸未改变.', // added 7.3.2013
+ 'errUsupportType' : '不被支持的文件格式.',
+ 'errNotUTF8Content' : '文件 "$1" 不是 UTF-8 格式, 不能编辑.', // added 9.11.2011
+ 'errNetMount' : '无法装载 "$1".', // added 17.04.2012
+ 'errNetMountNoDriver' : '不支持该协议.', // added 17.04.2012
+ 'errNetMountFailed' : '装载失败.', // added 17.04.2012
+ 'errNetMountHostReq' : '需要指定主机.', // added 18.04.2012
+ 'errSessionExpires' : '您的会话由于长时间未活动已过期.',
+ 'errCreatingTempDir' : '无法创建临时目录: "$1"',
+ 'errFtpDownloadFile' : '无法从FTP下载: "$1" 文件',
+ 'errFtpUploadFile' : '无法将文件: "$1" 上传至FTP',
+ 'errFtpMkdir' : '无法在FTP上创建远程目录: "$1"',
+ 'errArchiveExec' : '归档文件时出错: "$1"',
+ 'errExtractExec' : '解压文件时出错: "$1"',
+ 'errNetUnMount' : '无法卸载', // from v2.1 added 30.04.2012
+ 'errConvUTF8' : '未转换至UTF-8', // from v2.1 added 08.04.2014
+ 'errFolderUpload' : '如果您需要上传目录, 请尝试使用Google Chrome.', // from v2.1 added 26.6.2015
+ 'errSearchTimeout' : '搜索 "$1" 超时. 仅显示部分搜索结果.', // from v2.1 added 12.1.2016
+ 'errReauthRequire' : '必需重新授权.', // from v2.1.10 added 24.3.2016
+ 'errMaxTargets' : '可选择项目的最大数量为 $1.', // from v2.1.17 added 17.10.2016
+
+ /******************************* commands names ********************************/
+ 'cmdarchive' : '创建压缩包',
+ 'cmdback' : '后退',
+ 'cmdcopy' : '复制',
+ 'cmdcut' : '剪切',
+ 'cmddownload' : '下载',
+ 'cmdduplicate' : '创建复本',
+ 'cmdedit' : '编辑文件',
+ 'cmdextract' : '从压缩包提取文件',
+ 'cmdforward' : '前进',
+ 'cmdgetfile' : '选择文件',
+ 'cmdhelp' : '关于本软件',
+ 'cmdhome' : '首页',
+ 'cmdinfo' : '查看信息',
+ 'cmdmkdir' : '新建文件夹',
+ 'cmdmkdirin' : '至新文件夹', // from v2.1.7 added 19.2.2016
+ 'cmdmkfile' : '新建文本文件',
+ 'cmdopen' : '打开',
+ 'cmdpaste' : '粘贴',
+ 'cmdquicklook' : '预览',
+ 'cmdreload' : '刷新',
+ 'cmdrename' : '重命名',
+ 'cmdrm' : '删除',
+ 'cmdsearch' : '查找文件',
+ 'cmdup' : '转到上一级文件夹',
+ 'cmdupload' : '上传文件',
+ 'cmdview' : '查看',
+ 'cmdresize' : '重新调整大小',
+ 'cmdsort' : '排序',
+ 'cmdnetmount' : '装载网络卷', // added 18.04.2012
+ 'cmdnetunmount': '卸载', // from v2.1 added 30.04.2012
+ 'cmdplaces' : 'To Places', // added 28.12.2014
+ 'cmdchmod' : '改变模式', // from v2.1 added 20.6.2015
+ 'cmdopendir' : '打开文件夹', // from v2.1 added 13.1.2016
+ 'cmdcolwidth' : '设置列宽', // from v2.1.13 added 12.06.2016
+ 'cmdmove' : '移动', // from v2.1.15 added 21.08.2016
+
+ /*********************************** buttons ***********************************/
+ 'btnClose' : '关闭',
+ 'btnSave' : '保存',
+ 'btnRm' : '删除',
+ 'btnApply' : '应用',
+ 'btnCancel' : '取消',
+ 'btnNo' : '否',
+ 'btnYes' : '是',
+ 'btnMount' : '装载', // added 18.04.2012
+ 'btnApprove': '至 $1 并确认', // from v2.1 added 26.04.2012
+ 'btnUnmount': '卸载', // from v2.1 added 30.04.2012
+ 'btnConv' : '转换', // from v2.1 added 08.04.2014
+ 'btnCwd' : '这里', // from v2.1 added 22.5.2015
+ 'btnVolume' : '卷', // from v2.1 added 22.5.2015
+ 'btnAll' : '全部', // from v2.1 added 22.5.2015
+ 'btnMime' : 'MIME类型', // from v2.1 added 22.5.2015
+ 'btnFileName':'文件名', // from v2.1 added 22.5.2015
+ 'btnSaveClose': '保存并关闭', // from v2.1 added 12.6.2015
+ 'btnBackup' : '备份', // fromv2.1 added 28.11.2015
+
+ /******************************** notifications ********************************/
+ 'ntfopen' : '打开文件夹',
+ 'ntffile' : '打开文件',
+ 'ntfreload' : '刷新文件夹内容',
+ 'ntfmkdir' : '创建文件夹',
+ 'ntfmkfile' : '创建文件',
+ 'ntfrm' : '删除文件',
+ 'ntfcopy' : '复制文件',
+ 'ntfmove' : '移动文件',
+ 'ntfprepare' : '准备复制文件',
+ 'ntfrename' : '重命名文件',
+ 'ntfupload' : '上传文件',
+ 'ntfdownload' : '下载文件',
+ 'ntfsave' : '保存文件',
+ 'ntfarchive' : '创建压缩包',
+ 'ntfextract' : '从压缩包提取文件',
+ 'ntfsearch' : '搜索文件',
+ 'ntfresize' : '正在更改尺寸',
+ 'ntfsmth' : '正在忙 >_<',
+ 'ntfloadimg' : '正在加载图片',
+ 'ntfnetmount' : '正在装载网络卷', // added 18.04.2012
+ 'ntfnetunmount': '卸载网络卷', // from v2.1 added 30.04.2012
+ 'ntfdim' : '获取图像尺寸', // added 20.05.2013
+ 'ntfreaddir' : '正在读取文件夹信息', // from v2.1 added 01.07.2013
+ 'ntfurl' : '正在获取链接地址', // from v2.1 added 11.03.2014
+ 'ntfchmod' : '正在改变文件模式', // from v2.1 added 20.6.2015
+ 'ntfpreupload': '正在验证上传文件名', // from v2.1 added 31.11.2015
+ 'ntfzipdl' : '正在创建一个下载文件', // from v2.1.7 added 23.1.2016
+
+ /************************************ dates **********************************/
+ 'dateUnknown' : '未知',
+ 'Today' : '今天',
+ 'Yesterday' : '昨天',
+ 'msJan' : '一月',
+ 'msFeb' : '二月',
+ 'msMar' : '三月',
+ 'msApr' : '四月',
+ 'msMay' : '五月',
+ 'msJun' : '六月',
+ 'msJul' : '七月',
+ 'msAug' : '八月',
+ 'msSep' : '九月',
+ 'msOct' : '十月',
+ 'msNov' : '十一月',
+ 'msDec' : '十二月',
+ 'January' : '一月',
+ 'February' : '二月',
+ 'March' : '三月',
+ 'April' : '四月',
+ 'May' : '五月',
+ 'June' : '六月',
+ 'July' : '七月',
+ 'August' : '八月',
+ 'September' : '九月',
+ 'October' : '十月',
+ 'November' : '十一月',
+ 'December' : '十二月',
+ 'Sunday' : '星期日',
+ 'Monday' : '星期一',
+ 'Tuesday' : '星期二',
+ 'Wednesday' : '星期三',
+ 'Thursday' : '星期四',
+ 'Friday' : '星期五',
+ 'Saturday' : '星期六',
+ 'Sun' : '周日',
+ 'Mon' : '周一',
+ 'Tue' : '周二',
+ 'Wed' : '周三',
+ 'Thu' : '周四',
+ 'Fri' : '周五',
+ 'Sat' : '周六',
+
+ /******************************** sort variants ********************************/
+ 'sortname' : '按名称',
+ 'sortkind' : '按类型',
+ 'sortsize' : '按大小',
+ 'sortdate' : '按日期',
+ 'sortFoldersFirst' : '文件夹优先',
+ 'sortperm' : 'by permission', // from v2.1.13 added 13.06.2016
+ 'sortmode' : 'by mode', // from v2.1.13 added 13.06.2016
+ 'sortowner' : 'by owner', // from v2.1.13 added 13.06.2016
+ 'sortgroup' : 'by group', // from v2.1.13 added 13.06.2016
+ 'sortAlsoTreeview' : 'Also Treeview', // from v2.1.15 added 01.08.2016
+
+ /********************************** new items **********************************/
+ 'untitled file.txt' : 'NewFile.txt', // added 10.11.2015
+ 'untitled folder' : 'NewFolder', // added 10.11.2015
+ 'Archive' : 'NewArchive', // from v2.1 added 10.11.2015
+
+ /********************************** messages **********************************/
+ 'confirmReq' : '请确认',
+ 'confirmRm' : '确定要删除文件吗? 该操作不可撤销!',
+ 'confirmRepl' : '用新的文件替换原有文件?',
+ 'confirmConvUTF8' : 'Not in UTF-8 Convert to UTF-8? Contents become UTF-8 by saving after conversion.', // from v2.1 added 08.04.2014
+ 'confirmNotSave' : 'It has been modified. Losing work if you do not save changes.', // from v2.1 added 15.7.2015
+ 'apllyAll' : '全部应用',
+ 'name' : '名称',
+ 'size' : '大小',
+ 'perms' : '权限',
+ 'modify' : '修改于',
+ 'kind' : '类别',
+ 'read' : '读取',
+ 'write' : '写入',
+ 'noaccess' : '无权限',
+ 'and' : '和',
+ 'unknown' : '未知',
+ 'selectall' : '选择所有文件',
+ 'selectfiles' : '选择文件',
+ 'selectffile' : '选择第一个文件',
+ 'selectlfile' : '选择最后一个文件',
+ 'viewlist' : '列表视图',
+ 'viewicons' : '图标视图',
+ 'places' : '位置',
+ 'calc' : '计算',
+ 'path' : '路径',
+ 'aliasfor' : '别名',
+ 'locked' : '锁定',
+ 'dim' : '尺寸',
+ 'files' : '文件',
+ 'folders' : '文件夹',
+ 'items' : '项目',
+ 'yes' : '是',
+ 'no' : '否',
+ 'link' : '链接',
+ 'searcresult' : '搜索结果',
+ 'selected' : '选中的项目',
+ 'about' : '关于',
+ 'shortcuts' : '快捷键',
+ 'help' : '帮助',
+ 'webfm' : '网络文件管理器',
+ 'ver' : '版本',
+ 'protocolver' : '协议版本',
+ 'homepage' : '项目主页',
+ 'docs' : '文档',
+ 'github' : 'Fork us on Github',
+ 'twitter' : 'Follow us on twitter',
+ 'facebook' : 'Join us on facebook',
+ 'team' : '团队',
+ 'chiefdev' : '首席开发',
+ 'developer' : '开发',
+ 'contributor' : '贡献',
+ 'maintainer' : '维护',
+ 'translator' : '翻译',
+ 'icons' : '图标',
+ 'dontforget' : '别忘了带上你擦汗的毛巾',
+ 'shortcutsof' : '快捷键已禁用',
+ 'dropFiles' : '把文件拖到这里',
+ 'or' : '或者',
+ 'selectForUpload' : '选择要上传的文件',
+ 'moveFiles' : '移动文件',
+ 'copyFiles' : '复制文件',
+ 'rmFromPlaces' : '从位置中删除',
+ 'aspectRatio' : '保持比例',
+ 'scale' : '高宽比',
+ 'width' : '宽',
+ 'height' : '高',
+ 'resize' : '重新调整大小',
+ 'crop' : '裁切',
+ 'rotate' : '旋转',
+ 'rotate-cw' : '顺时针旋转90度',
+ 'rotate-ccw' : '逆时针旋转90度',
+ 'degree' : '度',
+ 'netMountDialogTitle' : 'Mount network volume', // added 18.04.2012
+ 'protocol' : 'Protocol', // added 18.04.2012
+ 'host' : 'Host', // added 18.04.2012
+ 'port' : '端口', // added 18.04.2012
+ 'user' : '用户', // added 18.04.2012
+ 'pass' : '密码', // added 18.04.2012
+ 'confirmUnmount' : 'Are you unmount $1?', // from v2.1 added 30.04.2012
+ 'dropFilesBrowser': 'Drop or Paste files from browser', // from v2.1 added 30.05.2012
+ 'dropPasteFiles' : 'Drop or Paste files and URLs here', // from v2.1 added 07.04.2014
+ 'encoding' : 'Encoding', // from v2.1 added 19.12.2014
+ 'locale' : 'Locale', // from v2.1 added 19.12.2014
+ 'searchTarget' : 'Target: $1', // from v2.1 added 22.5.2015
+ 'searchMime' : 'Search by input MIME Type', // from v2.1 added 22.5.2015
+ 'owner' : 'Owner', // from v2.1 added 20.6.2015
+ 'group' : 'Group', // from v2.1 added 20.6.2015
+ 'other' : 'Other', // from v2.1 added 20.6.2015
+ 'execute' : 'Execute', // from v2.1 added 20.6.2015
+ 'perm' : 'Permission', // from v2.1 added 20.6.2015
+ 'mode' : 'Mode', // from v2.1 added 20.6.2015
+ 'emptyFolder' : '文件夹是空的', // from v2.1.6 added 30.12.2015
+ 'emptyFolderDrop' : 'Folder is empty\\A Drop to add items', // from v2.1.6 added 30.12.2015
+ 'emptyFolderLTap' : 'Folder is empty\\A Long tap to add items', // from v2.1.6 added 30.12.2015
+ 'quality' : 'Quality', // from v2.1.6 added 5.1.2016
+ 'autoSync' : 'Auto sync', // from v2.1.6 added 10.1.2016
+ 'moveUp' : 'Move up', // from v2.1.6 added 18.1.2016
+ 'getLink' : 'Get URL link', // from v2.1.7 added 9.2.2016
+ 'selectedItems' : 'Selected items ($1)', // from v2.1.7 added 2.19.2016
+ 'folderId' : 'Folder ID', // from v2.1.10 added 3.25.2016
+ 'offlineAccess' : 'Allow offline access', // from v2.1.10 added 3.25.2016
+ 'reAuth' : 'To re-authenticate', // from v2.1.10 added 3.25.2016
+ 'nowLoading' : 'Now loading...', // from v2.1.12 added 4.26.2016
+ 'openMulti' : 'Open multiple files', // from v2.1.12 added 5.14.2016
+ 'openMultiConfirm': 'You are trying to open the $1 files. Are you sure you want to open in browser?', // from v2.1.12 added 5.14.2016
+ 'emptySearch' : 'No match results in search targets', // from v2.1.12 added 5.16.2016
+ 'editingFile' : 'You are editing a file.', // from v2.1.13 added 6.3.2016
+ 'hasSelected' : 'You have selected $1 items.', // from v2.1.13 added 6.3.2016
+ 'hasClipboard' : 'You have $1 items in the clipboard.', // from v2.1.13 added 6.3.2016
+ 'incSearchOnly' : 'Incremental search is only from the current view.', // from v2.1.13 added 6.30.2016
+ 'reinstate' : 'Reinstate', // from v2.1.15 added 3.8.2016
+ 'complete' : '$1 complete', // from v2.1.15 added 21.8.2016
+ 'contextmenu' : 'Context menu', // from v2.1.15 added 9.9.2016
+ 'pageTurning' : 'Page turning', // from v2.1.15 added 10.9.2016
+ 'volumeRoots' : 'Volume roots', // from v2.1.16 added 16.9.2016
+ 'reset' : 'Reset', // from v2.1.16 added 1.10.2016
+ 'bgcolor' : 'Background color', // from v2.1.16 added 1.10.2016
+ 'colorPicker' : 'Color picker', // from v2.1.16 added 1.10.2016
+ '8pxgrid' : '8px Grid', // from v2.1.16 added 4.10.2016
+ 'enabled' : 'Enabled', // from v2.1.16 added 4.10.2016
+ 'disabled' : 'Disabled', // from v2.1.16 added 4.10.2016
+ 'emptyIncSearch' : 'No match results in current view', // from v2.1.16 added 5.10.2016
+ 'textLabel' : 'Text lable', // from v2.1.17 added 13.10.2016
+
+ /********************************** mimetypes **********************************/
+ 'kindUnknown' : '未知',
+ 'kindRoot' : 'Volume Root', // from v2.1.16 added 16.10.2016
+ 'kindFolder' : '文件夹',
+ 'kindAlias' : '别名',
+ 'kindAliasBroken' : '错误的别名',
+ // applications
+ 'kindApp' : '程序',
+ 'kindPostscript' : 'Postscript 文档',
+ 'kindMsOffice' : 'Microsoft Office 文档',
+ 'kindMsWord' : 'Microsoft Word 文档',
+ 'kindMsExcel' : 'Microsoft Excel 文档',
+ 'kindMsPP' : 'Microsoft Powerpoint 演示',
+ 'kindOO' : 'Open Office 文档',
+ 'kindAppFlash' : 'Flash 程序',
+ 'kindPDF' : 'Portable Document Format (PDF)',
+ 'kindTorrent' : 'Bittorrent 文件',
+ 'kind7z' : '7z 压缩包',
+ 'kindTAR' : 'TAR 压缩包',
+ 'kindGZIP' : 'GZIP 压缩包',
+ 'kindBZIP' : 'BZIP 压缩包',
+ 'kindXZ' : 'XZ 压缩包',
+ 'kindZIP' : 'ZIP 压缩包',
+ 'kindRAR' : 'RAR 压缩包',
+ 'kindJAR' : 'Java JAR 文件',
+ 'kindTTF' : 'True Type 字体',
+ 'kindOTF' : 'Open Type 字体',
+ 'kindRPM' : 'RPM 包',
+ // texts
+ 'kindText' : '文本文件',
+ 'kindTextPlain' : '纯文本',
+ 'kindPHP' : 'PHP 源代码',
+ 'kindCSS' : '层叠样式表(CSS)',
+ 'kindHTML' : 'HTML 文档',
+ 'kindJS' : 'Javascript 源代码',
+ 'kindRTF' : '富文本格式(RTF)',
+ 'kindC' : 'C 源代码',
+ 'kindCHeader' : 'C 头文件',
+ 'kindCPP' : 'C++ 源代码',
+ 'kindCPPHeader' : 'C++ 头文件',
+ 'kindShell' : 'Unix 外壳脚本',
+ 'kindPython' : 'Python 源代码',
+ 'kindJava' : 'Java 源代码',
+ 'kindRuby' : 'Ruby 源代码',
+ 'kindPerl' : 'Perl 源代码',
+ 'kindSQL' : 'SQL 脚本',
+ 'kindXML' : 'XML 文档',
+ 'kindAWK' : 'AWK 源代码',
+ 'kindCSV' : '逗号分隔值文件(CSV)',
+ 'kindDOCBOOK' : 'Docbook XML 文档',
+ 'kindMarkdown' : 'Markdown text', // added 20.7.2015
+ // images
+ 'kindImage' : '图片',
+ 'kindBMP' : 'BMP 图片',
+ 'kindJPEG' : 'JPEG 图片',
+ 'kindGIF' : 'GIF 图片',
+ 'kindPNG' : 'PNG 图片',
+ 'kindTIFF' : 'TIFF 图片',
+ 'kindTGA' : 'TGA 图片',
+ 'kindPSD' : 'Adobe Photoshop 图片',
+ 'kindXBITMAP' : 'X bitmap 图片',
+ 'kindPXM' : 'Pixelmator 图片',
+ // media
+ 'kindAudio' : '音频',
+ 'kindAudioMPEG' : 'MPEG 音频',
+ 'kindAudioMPEG4' : 'MPEG-4 音频',
+ 'kindAudioMIDI' : 'MIDI 音频',
+ 'kindAudioOGG' : 'Ogg Vorbis 音频',
+ 'kindAudioWAV' : 'WAV 音频',
+ 'AudioPlaylist' : 'MP3 播放列表',
+ 'kindVideo' : '视频',
+ 'kindVideoDV' : 'DV 视频',
+ 'kindVideoMPEG' : 'MPEG 视频',
+ 'kindVideoMPEG4' : 'MPEG-4 视频',
+ 'kindVideoAVI' : 'AVI 视频',
+ 'kindVideoMOV' : 'Quick Time 视频',
+ 'kindVideoWM' : 'Windows Media 视频',
+ 'kindVideoFlash' : 'Flash 视频',
+ 'kindVideoMKV' : 'Matroska 视频',
+ 'kindVideoOGG' : 'Ogg 视频'
+ }
+ };
+}
+
diff --git a/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.zh_TW.js b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.zh_TW.js
new file mode 100644
index 0000000..075d986
--- /dev/null
+++ b/elFinder.Net.Web/Scripts/elfinder/i18n/elfinder.zh_TW.js
@@ -0,0 +1,366 @@
+/**
+ * Traditional Chinese translation
+ * @author Yuwei Chuang
+ * @version 2014-12-19
+ */
+if (elFinder && elFinder.prototype && typeof(elFinder.prototype.i18) == 'object') {
+ elFinder.prototype.i18.zh_TW = {
+ translator : 'Yuwei Chuang <ywchuang.tw@gmail.com>',
+ language : '正體中文',
+ direction : 'ltr',
+ dateFormat : 'M d, Y h:i A', // Mar 13, 2012 05:27 PM
+ fancyDateFormat : '$1 H:i',
+ messages : {
+
+ /********************************** errors **********************************/
+ 'error' : '錯誤',
+ 'errUnknown' : '未知的錯誤.',
+ 'errUnknownCmd' : '未知的指令.',
+ 'errJqui' : '無效的 jQuery UI 設定. 必須包含 Selectable, draggable 以及 droppable 元件.',
+ 'errNode' : 'elFinder 需要能建立 DOM 元素.',
+ 'errURL' : '無效的 elFinder 設定! 尚未設定 URL 選項.',
+ 'errAccess' : '拒絕存取.',
+ 'errConnect' : '無法連線至後端.',
+ 'errAbort' : '連線中斷.',
+ 'errTimeout' : '連線逾時.',
+ 'errNotFound' : '後端不存在.',
+ 'errResponse' : '無效的後端回復.',
+ 'errConf' : '無效的後端設定.',
+ 'errJSON' : '未安裝 PHP JSON 模組.',
+ 'errNoVolumes' : '無可讀取的 volumes.',
+ 'errCmdParams' : '無效的參數, 指令: "$1".',
+ 'errDataNotJSON' : '資料不是 JSON 格式.',
+ 'errDataEmpty' : '沒有資料.',
+ 'errCmdReq' : '後端請求需要命令名稱.',
+ 'errOpen' : '無法打開 "$1".',
+ 'errNotFolder' : '非資料夾.',
+ 'errNotFile' : '非檔案.',
+ 'errRead' : '無法讀取 "$1".',
+ 'errWrite' : '無法寫入 "$1".',
+ 'errPerm' : '無權限.',
+ 'errLocked' : '"$1" 被鎖定,不能重新命名, 移動或删除.',
+ 'errExists' : '檔案 "$1" 已經存在了.',
+ 'errInvName' : '無效的檔案名稱.',
+ 'errFolderNotFound' : '未找到資料夾.',
+ 'errFileNotFound' : '未找到檔案.',
+ 'errTrgFolderNotFound' : '未找到目標資料夾 "$1".',
+ 'errPopup' : '連覽器攔截了彈跳視窗. 請在瀏覽器選項允許彈跳視窗.',
+ 'errMkdir' : '不能建立資料夾 "$1".',
+ 'errMkfile' : '不能建立檔案 "$1".',
+ 'errRename' : '不能重新命名 "$1".',
+ 'errCopyFrom' : '不允許從 volume "$1" 複製.',
+ 'errCopyTo' : '不允複製到 volume "$1".',
+ 'errUpload' : '上船錯誤.',
+ 'errUploadFile' : '無法上傳 "$1".',
+ 'errUploadNoFiles' : '未找到要上傳的檔案.',
+ 'errUploadTotalSize' : '資料超過了最大允許大小.',
+ 'errUploadFileSize' : '檔案超過了最大允許大小.',
+ 'errUploadMime' : '不允許的檔案類型.',
+ 'errUploadTransfer' : '"$1" 傳輸錯誤.',
+ 'errNotReplace' : '"$1" 已經存在此位置, 不能被其他的替换.', // new
+ 'errReplace' : '無法替换 "$1".',
+ 'errSave' : '無法保存 "$1".',
+ 'errCopy' : '無法複製 "$1".',
+ 'errMove' : '無法移動 "$1".',
+ 'errCopyInItself' : '無法移動 "$1" 到原有位置.',
+ 'errRm' : '無法删除 "$1".',
+ 'errRmSrc' : '無法删除來源檔案.',
+ 'errExtract' : '無法從 "$1" 解壓縮檔案.',
+ 'errArchive' : '無法建立壓縮膽案.',
+ 'errArcType' : '不支援的壓縮格式.',
+ 'errNoArchive' : '檔案不是壓縮檔案, 或者不支援該壓缩格式.',
+ 'errCmdNoSupport' : '後端不支援該指令.',
+ 'errReplByChild' : '資料夾 “$1” 不能被它所包含的檔案(資料夾)替换.',
+ 'errArcSymlinks' : '出于安全上的考量,禁止解壓縮檔案包含不允許的檔案名稱.',
+ 'errArcMaxSize' : '壓縮檔案超過最大允許檔案大小範圍.',
+ 'errResize' : '無法重新調整大小 "$1".',
+ 'errResizeDegree' : 'Invalid rotate degree.',
+ 'errResizeRotate' : 'Unable to rotate image.',
+ 'errResizeSize' : 'Invalid image size.',
+ 'errResizeNoChange' : 'Image size not changed.',
+ 'errUsupportType' : '不支援的檔案格式.',
+ 'errNotUTF8Content' : '檔案 "$1" 不是 UTF-8 格式, 不能編輯.', // added 9.11.2011
+ 'errNetMount' : '無法掛載 "$1".', // added 17.04.2012
+ 'errNetMountNoDriver' : '不支援該通訊協議.', // added 17.04.2012
+ 'errNetMountFailed' : '掛載失敗.', // added 17.04.2012
+ 'errNetMountHostReq' : '需要指定主機位置.', // added 18.04.2012
+ 'errSessionExpires' : 'Your session has expired due to inactivity.',
+ 'errCreatingTempDir' : 'Unable to create temporary directory: "$1"',
+ 'errFtpDownloadFile' : 'Unable to download file from FTP: "$1"',
+ 'errFtpUploadFile' : 'Unable to upload file to FTP: "$1"',
+ 'errFtpMkdir' : 'Unable to create remote directory on FTP: "$1"',
+ 'errArchiveExec' : 'Error while archiving files: "$1"',
+ 'errExtractExec' : 'Error while extracting files: "$1"',
+
+ /******************************* commands names ********************************/
+ 'cmdarchive' : '建立壓縮檔案',
+ 'cmdback' : '後退',
+ 'cmdcopy' : '複製',
+ 'cmdcut' : '剪下',
+ 'cmddownload' : '下載',
+ 'cmdduplicate' : '建立副本',
+ 'cmdedit' : '編輯檔案',
+ 'cmdextract' : '從壓縮檔案解壓縮',
+ 'cmdforward' : '前進',
+ 'cmdgetfile' : '選擇檔案',
+ 'cmdhelp' : '關於本軟體',
+ 'cmdhome' : '首頁',
+ 'cmdinfo' : '查看關於',
+ 'cmdmkdir' : '建立資料夾',
+ 'cmdmkfile' : '建立文字檔案',
+ 'cmdopen' : '打開',
+ 'cmdpaste' : '貼上',
+ 'cmdquicklook' : '預覽',
+ 'cmdreload' : '更新',
+ 'cmdrename' : '重新命名',
+ 'cmdrm' : '删除',
+ 'cmdsearch' : '搜尋檔案',
+ 'cmdup' : '移到上一層資料夾',
+ 'cmdupload' : '上傳檔案',
+ 'cmdview' : '查看',
+ 'cmdresize' : '重新調整大小',
+ 'cmdsort' : '排序',
+ 'cmdnetmount' : '掛載 net volume', // added 18.04.2012
+
+ /*********************************** buttons ***********************************/
+ 'btnClose' : '關閉',
+ 'btnSave' : '儲存',
+ 'btnRm' : '删除',
+ 'btnApply' : '使用',
+ 'btnCancel' : '取消',
+ 'btnNo' : '否',
+ 'btnYes' : '是',
+ 'btnMount' : '掛載', // added 18.04.2012
+
+ /******************************** notifications ********************************/
+ 'ntfopen' : '打開資料夾',
+ 'ntffile' : '打開檔案',
+ 'ntfreload' : '更新資料夾内容',
+ 'ntfmkdir' : '建立資料夾',
+ 'ntfmkfile' : '建立檔案',
+ 'ntfrm' : '删除檔案',
+ 'ntfcopy' : '複製檔案',
+ 'ntfmove' : '移動檔案',
+ 'ntfprepare' : '準備複製檔案',
+ 'ntfrename' : '重新命名檔案',
+ 'ntfupload' : '上傳檔案',
+ 'ntfdownload' : '下載檔案',
+ 'ntfsave' : '儲存檔案',
+ 'ntfarchive' : '建立壓縮檔案',
+ 'ntfextract' : '從壓縮檔案解壓縮',
+ 'ntfsearch' : '搜尋檔案',
+ 'ntfresize' : '正在更改尺寸',
+ 'ntfsmth' : '正在忙 >_<',
+ 'ntfloadimg' : '正在讀取圖片',
+ 'ntfnetmount' : '正在掛載 net volume', // added 18.04.2012
+ 'ntfdim' : 'Acquiring image dimension',
+
+ /************************************ dates **********************************/
+ 'dateUnknown' : '未知',
+ 'Today' : '今天',
+ 'Yesterday' : '昨天',
+ 'msJan' : '一月',
+ 'msFeb' : '二月',
+ 'msMar' : '三月',
+ 'msApr' : '四月',
+ 'msMay' : '五月',
+ 'msJun' : '六月',
+ 'msJul' : '七月',
+ 'msAug' : '八月',
+ 'msSep' : '九月',
+ 'msOct' : '十月',
+ 'msNov' : '十一月',
+ 'msDec' : '十二月',
+ 'January' : '一月',
+ 'February' : '二月',
+ 'March' : '三月',
+ 'April' : '四月',
+ 'May' : '五月',
+ 'June' : '六月',
+ 'July' : '七月',
+ 'August' : '八月',
+ 'September' : '九月',
+ 'October' : '十月',
+ 'November' : '十一月',
+ 'December' : '十二月',
+ 'Sunday' : '星期日',
+ 'Monday' : '星期一',
+ 'Tuesday' : '星期二',
+ 'Wednesday' : '星期三',
+ 'Thursday' : '星期四',
+ 'Friday' : '星期五',
+ 'Saturday' : '星期六',
+ 'Sun' : '周日',
+ 'Mon' : '周一',
+ 'Tue' : '周二',
+ 'Wed' : '周三',
+ 'Thu' : '周四',
+ 'Fri' : '周五',
+ 'Sat' : '周六',
+
+ /******************************** sort variants ********************************/
+ 'sortname' : '按名稱',
+ 'sortkind' : '按類型',
+ 'sortsize' : '按大小',
+ 'sortdate' : '按日期',
+ 'sortFoldersFirst' : 'Folders first',
+
+ /********************************** messages **********************************/
+ 'confirmReq' : '請確認',
+ 'confirmRm' : '確定要删除檔案嗎? 該操作不可回復!',
+ 'confirmRepl' : '用新的檔案替换原有檔案?',
+ 'apllyAll' : '全部使用',
+ 'name' : '名稱',
+ 'size' : '大小',
+ 'perms' : '權限',
+ 'modify' : '修改于',
+ 'kind' : '類別',
+ 'read' : '讀取',
+ 'write' : '寫入',
+ 'noaccess' : '無權限',
+ 'and' : '和',
+ 'unknown' : '未知',
+ 'selectall' : '選擇所有檔案',
+ 'selectfiles' : '選擇檔案',
+ 'selectffile' : '選擇第一個檔案',
+ 'selectlfile' : '選擇最後一個檔案',
+ 'viewlist' : '列表檢視',
+ 'viewicons' : '圖示檢視',
+ 'places' : '位置',
+ 'calc' : '計算',
+ 'path' : '路徑',
+ 'aliasfor' : '别名',
+ 'locked' : '鎖定',
+ 'dim' : '尺寸',
+ 'files' : '檔案',
+ 'folders' : '資料夾',
+ 'items' : '項目',
+ 'yes' : '是',
+ 'no' : '否',
+ 'link' : '連結',
+ 'searcresult' : '搜尋结果',
+ 'selected' : '選取的項目',
+ 'about' : '關於',
+ 'shortcuts' : '快捷鍵',
+ 'help' : '幫助',
+ 'webfm' : '網路檔案總管',
+ 'ver' : '版本',
+ 'protocolver' : '協定版本',
+ 'homepage' : '首頁',
+ 'docs' : '文件',
+ 'github' : 'Fork us on Github',
+ 'twitter' : 'Follow us on twitter',
+ 'facebook' : 'Join us on facebook',
+ 'team' : '團隊',
+ 'chiefdev' : '首席開發者',
+ 'developer' : '開發者',
+ 'contributor' : '貢獻者',
+ 'maintainer' : '維護者',
+ 'translator' : '翻譯',
+ 'icons' : '圖示',
+ 'dontforget' : '别忘了帶上你擦汗的毛巾',
+ 'shortcutsof' : '快捷鍵已禁用',
+ 'dropFiles' : '把檔案拖到此處',
+ 'or' : '或者',
+ 'selectForUpload' : '選擇要上傳的檔案',
+ 'moveFiles' : '移動檔案',
+ 'copyFiles' : '複製檔案',
+ 'rmFromPlaces' : '從位置中删除',
+ 'aspectRatio' : '保持比例',
+ 'scale' : '寬高比',
+ 'width' : '寬',
+ 'height' : '高',
+ 'resize' : '重新調整大小',
+ 'crop' : '裁切',
+ 'rotate' : '旋轉',
+ 'rotate-cw' : '順時針旋轉90度',
+ 'rotate-ccw' : '逆時針旋轉90度',
+ 'degree' : '度',
+ 'netMountDialogTitle' : 'Mount network volume', // added 18.04.2012
+ 'protocol' : 'Protocol', // added 18.04.2012
+ 'host' : 'Host', // added 18.04.2012
+ 'port' : '接口', // added 18.04.2012
+ 'user' : '使用者', // added 18.04.2012
+ 'pass' : '密碼', // added 18.04.2012
+
+ /********************************** mimetypes **********************************/
+ 'kindUnknown' : '未知',
+ 'kindFolder' : '資料夾',
+ 'kindAlias' : '别名',
+ 'kindAliasBroken' : '錯誤的别名',
+ // applications
+ 'kindApp' : '應用程式',
+ 'kindPostscript' : 'Postscript 文件',
+ 'kindMsOffice' : 'Microsoft Office 文件',
+ 'kindMsWord' : 'Microsoft Word 文件',
+ 'kindMsExcel' : 'Microsoft Excel 文件',
+ 'kindMsPP' : 'Microsoft Powerpoint 簡報',
+ 'kindOO' : 'Open Office 文件',
+ 'kindAppFlash' : 'Flash 應用程式',
+ 'kindPDF' : 'Portable Document Format (PDF)',
+ 'kindTorrent' : 'Bittorrent 檔案',
+ 'kind7z' : '7z 壓縮檔案',
+ 'kindTAR' : 'TAR 壓縮檔案',
+ 'kindGZIP' : 'GZIP 壓縮檔案',
+ 'kindBZIP' : 'BZIP 壓縮檔案',
+ 'kindXZ' : 'XZ 壓縮檔案',
+ 'kindZIP' : 'ZIP 壓縮檔案',
+ 'kindRAR' : 'RAR 壓縮檔案',
+ 'kindJAR' : 'Java JAR 檔案',
+ 'kindTTF' : 'True Type 字體',
+ 'kindOTF' : 'Open Type 字體',
+ 'kindRPM' : 'RPM 封裝',
+ // texts
+ 'kindText' : '文字檔案',
+ 'kindTextPlain' : '純文字',
+ 'kindPHP' : 'PHP 程式碼',
+ 'kindCSS' : 'CSS',
+ 'kindHTML' : 'HTML 文件',
+ 'kindJS' : 'Javascript 程式碼',
+ 'kindRTF' : '富文字格式(RTF)',
+ 'kindC' : 'C 程式碼',
+ 'kindCHeader' : 'C 標頭檔',
+ 'kindCPP' : 'C++ 程式碼',
+ 'kindCPPHeader' : 'C++ 標頭檔',
+ 'kindShell' : 'Unix Shell 脚本',
+ 'kindPython' : 'Python 程式碼',
+ 'kindJava' : 'Java 程式碼',
+ 'kindRuby' : 'Ruby 程式碼',
+ 'kindPerl' : 'Perl 程式碼',
+ 'kindSQL' : 'SQL 脚本',
+ 'kindXML' : 'XML 文件',
+ 'kindAWK' : 'AWK 程式碼',
+ 'kindCSV' : '逗號分隔值檔案(CSV)',
+ 'kindDOCBOOK' : 'Docbook XML 文件',
+ // images
+ 'kindImage' : '圖片',
+ 'kindBMP' : 'BMP 圖片',
+ 'kindJPEG' : 'JPEG 圖片',
+ 'kindGIF' : 'GIF 圖片',
+ 'kindPNG' : 'PNG 圖片',
+ 'kindTIFF' : 'TIFF 圖片',
+ 'kindTGA' : 'TGA 圖片',
+ 'kindPSD' : 'Adobe Photoshop 圖片',
+ 'kindXBITMAP' : 'X bitmap 圖片',
+ 'kindPXM' : 'Pixelmator 圖片',
+ // media
+ 'kindAudio' : '聲音',
+ 'kindAudioMPEG' : 'MPEG 聲音',
+ 'kindAudioMPEG4' : 'MPEG-4 聲音',
+ 'kindAudioMIDI' : 'MIDI 聲音',
+ 'kindAudioOGG' : 'Ogg Vorbis 聲音',
+ 'kindAudioWAV' : 'WAV 聲音',
+ 'AudioPlaylist' : 'MP3 播放列表',
+ 'kindVideo' : '影片',
+ 'kindVideoDV' : 'DV 影片',
+ 'kindVideoMPEG' : 'MPEG 影片',
+ 'kindVideoMPEG4' : 'MPEG-4 影片',
+ 'kindVideoAVI' : 'AVI 影片',
+ 'kindVideoMOV' : 'Quick Time 影片',
+ 'kindVideoWM' : 'Windows Media 影片',
+ 'kindVideoFlash' : 'Flash 影片',
+ 'kindVideoMKV' : 'Matroska 影片',
+ 'kindVideoOGG' : 'Ogg 影片'
+ }
+ };
+}
diff --git a/elFinder.Net.Web/Scripts/elfinder/proxy/elFinderSupportVer1.js b/elFinder.Net.Web/Scripts/elfinder/proxy/elFinderSupportVer1.js
new file mode 100644
index 0000000..317152c
--- /dev/null
+++ b/elFinder.Net.Web/Scripts/elfinder/proxy/elFinderSupportVer1.js
@@ -0,0 +1,420 @@
+"use strict";
+/**
+ * elFinder transport to support old protocol.
+ *
+ * @example
+ * $('selector').elfinder({
+ * ....
+ * transport : new elFinderSupportVer1()
+ * })
+ *
+ * @author Dmitry (dio) Levashov
+ **/
+window.elFinderSupportVer1 = function(upload) {
+ var self = this,
+ dateObj, today, yesterday,
+ getDateString = function(date) {
+ return date.replace('Today', today).replace('Yesterday', yesterday);
+ };
+
+ dateObj = new Date();
+ today = dateObj.getFullYear() + '/' + (dateObj.getMonth() + 1) + '/' + dateObj.getDate();
+ dateObj = new Date(Date.now() - 86400000);
+ yesterday = dateObj.getFullYear() + '/' + (dateObj.getMonth() + 1) + '/' + dateObj.getDate();
+
+ this.upload = upload || 'auto';
+
+ this.init = function(fm) {
+ this.fm = fm;
+ this.fm.parseUploadData = function(text) {
+ var data;
+
+ if (!$.trim(text)) {
+ return {error : ['errResponse', 'errDataEmpty']};
+ }
+
+ try {
+ data = JSON.parse(text);
+ } catch (e) {
+ return {error : ['errResponse', 'errDataNotJSON']}
+ }
+
+ return self.normalize('upload', data);
+ }
+ }
+
+
+ this.send = function(opts) {
+ var self = this,
+ fm = this.fm,
+ dfrd = $.Deferred(),
+ cmd = opts.data.cmd,
+ args = [],
+ _opts = {},
+ data,
+ xhr;
+
+ dfrd.abort = function() {
+ if (xhr.state() == 'pending') {
+ xhr.quiet = true;
+ xhr.abort();
+ }
+ }
+
+ switch (cmd) {
+ case 'open':
+ opts.data.tree = 1;
+ break;
+ case 'parents':
+ case 'tree':
+ return dfrd.resolve({tree : []});
+ break;
+ case 'get':
+ opts.data.cmd = 'read';
+ opts.data.current = fm.file(opts.data.target).phash;
+ break;
+ case 'put':
+ opts.data.cmd = 'edit';
+ opts.data.current = fm.file(opts.data.target).phash;
+ break;
+ case 'archive':
+ case 'rm':
+ opts.data.current = fm.file(opts.data.targets[0]).phash;
+ break;
+ case 'extract':
+ case 'rename':
+ case 'resize':
+ opts.data.current = fm.file(opts.data.target).phash;
+ break;
+ case 'duplicate':
+ _opts = $.extend(true, {}, opts);
+
+ $.each(opts.data.targets, function(i, hash) {
+ $.ajax($.extend(_opts, {data : {cmd : 'duplicate', target : hash, current : fm.file(hash).phash}}))
+ .error(function(error) {
+ fm.error(fm.res('error', 'connect'));
+ })
+ .done(function(data) {
+ data = self.normalize('duplicate', data);
+ if (data.error) {
+ fm.error(data.error);
+ } else if (data.added) {
+ fm.trigger('add', {added : data.added});
+ }
+ })
+ });
+ return dfrd.resolve({})
+ break;
+
+ case 'mkdir':
+ case 'mkfile':
+ opts.data.current = opts.data.target;
+ break;
+ case 'paste':
+ opts.data.current = opts.data.dst;
+ if (! opts.data.tree) {
+ $.each(opts.data.targets, function(i, h) {
+ if (fm.file(h) && fm.file(h).mime === 'directory') {
+ opts.data.tree = '1';
+ return false;
+ }
+ });
+ }
+ break;
+
+ case 'size':
+ return dfrd.resolve({error : fm.res('error', 'cmdsupport')});
+ break;
+ case 'search':
+ return dfrd.resolve({error : fm.res('error', 'cmdsupport')});
+ break;
+
+ case 'file':
+ opts.data.cmd = 'open';
+ opts.data.current = fm.file(opts.data.target).phash;
+ break;
+ }
+ // cmd = opts.data.cmd
+
+ xhr = $.ajax(opts)
+ .fail(function(error) {
+ dfrd.reject(error)
+ })
+ .done(function(raw) {
+ data = self.normalize(cmd, raw);
+
+ if (cmd == 'paste') {
+ if (! data.error && ! data.added.length && ! data.removed.length && ! data.changed.length) {
+ data.error = [opts.data.cut? 'errMove' : 'errCopy', fm.i18n('items'), 'errExists', fm.file(opts.data.targets[0]).name];
+ }
+ if (! data.error) {
+ fm.sync();
+ }
+ }
+ dfrd.resolve(data);
+ })
+
+ return dfrd;
+ }
+
+ // fix old connectors errors messages as possible
+ // this.errors = {
+ // 'Unknown command' : 'Unknown command.',
+ // 'Invalid backend configuration' : 'Invalid backend configuration.',
+ // 'Access denied' : 'Access denied.',
+ // 'PHP JSON module not installed' : 'PHP JSON module not installed.',
+ // 'File not found' : 'File not found.',
+ // 'Invalid name' : 'Invalid file name.',
+ // 'File or folder with the same name already exists' : 'File named "$1" already exists in this location.',
+ // 'Not allowed file type' : 'Not allowed file type.',
+ // 'File exceeds the maximum allowed filesize' : 'File exceeds maximum allowed size.',
+ // 'Unable to copy into itself' : 'Unable to copy "$1" into itself.',
+ // 'Unable to create archive' : 'Unable to create archive.',
+ // 'Unable to extract files from archive' : 'Unable to extract files from "$1".'
+ // }
+
+ this.normalize = function(cmd, data) {
+ var self = this,
+ fm = this.fm,
+ files = {},
+ filter = function(file) { return file && file.hash && file.name && file.mime ? file : null; },
+ getDirs = function(items) {
+ return $.map(items, function(i) {
+ return i && i.mime && i.mime === 'directory'? i : null;
+ });
+ },
+ getTreeDiff = function(files) {
+ var dirs = getDirs(files);
+ treeDiff = fm.diff(dirs, null, ['date', 'ts']);
+ if (treeDiff.added.length) {
+ treeDiff.added = getDirs(treeDiff.added);
+ }
+ if (treeDiff.changed.length) {
+ treeDiff.changed = getDirs(treeDiff.changed);
+ }
+ if (treeDiff.removed.length) {
+ var removed = [];
+ $.each(treeDiff.removed, function(i, h) {
+ var item;
+ if ((item = fm.file(h)) && item.mime === 'directory') {
+ removed.push(h);
+ }
+ });
+ treeDiff.removed = removed;
+ }
+ return treeDiff;
+ },
+ phash, diff, isCwd, treeDiff;
+
+ if ((cmd == 'tmb' || cmd == 'get')) {
+ return data;
+ }
+
+ // if (data.error) {
+ // $.each(data.error, function(i, msg) {
+ // if (self.errors[msg]) {
+ // data.error[i] = self.errors[msg];
+ // }
+ // });
+ // }
+
+ if (cmd == 'upload' && data.error && data.cwd) {
+ data.warning = $.extend({}, data.error);
+ data.error = false;
+ }
+
+
+ if (data.error) {
+ return data;
+ }
+
+ if (cmd == 'put') {
+
+ phash = fm.file(data.target.hash).phash;
+ return {changed : [this.normalizeFile(data.target, phash)]};
+ }
+
+ phash = data.cwd.hash;
+
+ isCwd = (phash == fm.cwd().hash);
+
+ if (data.tree) {
+ $.each(this.normalizeTree(data.tree), function(i, file) {
+ files[file.hash] = file;
+ });
+ }
+
+ $.each(data.cdc||[], function(i, file) {
+ var hash = file.hash,
+ mcts;
+
+ if (files[hash]) {
+ if (file.date) {
+ mcts = Date.parse(getDateString(file.date));
+ if (mcts && !isNaN(mcts)) {
+ files[hash].ts = Math.floor(mcts / 1000);
+ } else {
+ files[hash].date = file.date || fm.formatDate(file);
+ }
+ }
+ files[hash].locked = file.hash == phash ? true : file.rm === void(0) ? false : !file.rm;
+ } else {
+ files[hash] = self.normalizeFile(file, phash, data.tmb);
+ }
+ });
+
+ if (!data.tree) {
+ $.each(fm.files(), function(hash, file) {
+ if (!files[hash] && file.phash != phash && file.mime == 'directory') {
+ files[hash] = file;
+ }
+ });
+ }
+
+ if (cmd == 'open') {
+ return {
+ cwd : files[phash] || this.normalizeFile(data.cwd),
+ files : $.map(files, function(f) { return f }),
+ options : self.normalizeOptions(data),
+ init : !!data.params,
+ debug : data.debug
+ };
+ }
+
+ if (isCwd) {
+ diff = fm.diff($.map(files, filter));
+ } else {
+ if (data.tree) {
+ diff = getTreeDiff(files);
+ } else {
+ diff = {
+ added : [],
+ removed : [],
+ changed : []
+ };
+ }
+ }
+
+ return $.extend({
+ current : data.cwd.hash,
+ error : data.error,
+ warning : data.warning,
+ options : {tmb : !!data.tmb}
+ }, diff);
+
+ }
+
+ /**
+ * Convert old api tree into plain array of dirs
+ *
+ * @param Object root dir
+ * @return Array
+ */
+ this.normalizeTree = function(root) {
+ var self = this,
+ result = [],
+ traverse = function(dirs, phash) {
+ var i, dir;
+
+ for (i = 0; i < dirs.length; i++) {
+ dir = dirs[i];
+ result.push(self.normalizeFile(dir, phash))
+ dir.dirs.length && traverse(dir.dirs, dir.hash);
+ }
+ };
+
+ traverse([root]);
+
+ return result;
+ }
+
+ /**
+ * Convert file info from old api format into new one
+ *
+ * @param Object file
+ * @param String parent dir hash
+ * @return Object
+ */
+ this.normalizeFile = function(file, phash, tmb) {
+ var mime = file.mime || 'directory',
+ size = mime == 'directory' && !file.linkTo ? 0 : file.size,
+ mcts = file.date? Date.parse(getDateString(file.date)) : void 0,
+ info = {
+ url : file.url,
+ hash : file.hash,
+ phash : phash,
+ name : file.name,
+ mime : mime,
+ ts : file.ts,
+ size : size,
+ read : file.read,
+ write : file.write,
+ locked : !phash ? true : file.rm === void(0) ? false : !file.rm
+ };
+
+ if (! info.ts) {
+ if (mcts && !isNaN(mcts)) {
+ info.ts = Math.floor(mcts / 1000);
+ } else {
+ info.date = file.date || this.fm.formatDate(file);
+ }
+ }
+
+ if (file.mime == 'application/x-empty' || file.mime == 'inode/x-empty') {
+ info.mime = 'text/plain';
+ }
+
+ if (file.linkTo) {
+ info.alias = file.linkTo;
+ }
+
+ if (file.linkTo) {
+ info.linkTo = file.linkTo;
+ }
+
+ if (file.tmb) {
+ info.tmb = file.tmb;
+ } else if (info.mime.indexOf('image/') === 0 && tmb) {
+ info.tmb = 1;
+
+ }
+
+ if (file.dirs && file.dirs.length) {
+ info.dirs = true;
+ }
+ if (file.dim) {
+ info.dim = file.dim;
+ }
+ if (file.resize) {
+ info.resize = file.resize;
+ }
+ return info;
+ }
+
+ this.normalizeOptions = function(data) {
+ var opts = {
+ path : data.cwd.rel,
+ disabled : $.merge((data.disabled || []), [ 'search', 'netmount', 'zipdl' ]),
+ tmb : !!data.tmb,
+ copyOverwrite : true
+ };
+
+ if (data.params) {
+ opts.api = 1;
+ opts.url = data.params.url;
+ opts.archivers = {
+ create : data.params.archives || [],
+ extract : data.params.extract || []
+ }
+ }
+
+ if (opts.path.indexOf('/') !== -1) {
+ opts.separator = '/';
+ } else if (opts.path.indexOf('\\') !== -1) {
+ opts.separator = '\\';
+ }
+ return opts;
+ }
+
+
+};
diff --git a/elFinder.Net.Web/Scripts/jquery-1.9.1.intellisense.js b/elFinder.Net.Web/Scripts/jquery-1.12.4.intellisense.js
similarity index 100%
rename from elFinder.Net.Web/Scripts/jquery-1.9.1.intellisense.js
rename to elFinder.Net.Web/Scripts/jquery-1.12.4.intellisense.js
diff --git a/elFinder.Net.Web/Scripts/jquery-1.9.1.js b/elFinder.Net.Web/Scripts/jquery-1.12.4.js
similarity index 56%
rename from elFinder.Net.Web/Scripts/jquery-1.9.1.js
rename to elFinder.Net.Web/Scripts/jquery-1.12.4.js
index 80e1a9a..7fc60fc 100644
--- a/elFinder.Net.Web/Scripts/jquery-1.9.1.js
+++ b/elFinder.Net.Web/Scripts/jquery-1.12.4.js
@@ -1,90 +1,84 @@
-/*!
- * jQuery JavaScript Library v1.9.1
+/*!
+ * jQuery JavaScript Library v1.12.4
* http://jquery.com/
*
* Includes Sizzle.js
* http://sizzlejs.com/
*
- * Copyright 2005, 2012 jQuery Foundation, Inc. and other contributors
+ * Copyright jQuery Foundation and other contributors
* Released under the MIT license
* http://jquery.org/license
*
- * Date: 2013-2-4
+ * Date: 2016-05-20T17:17Z
*/
-(function( window, undefined ) {
-// Can't do this because several apps including ASP.NET trace
+(function( global, factory ) {
+
+ if ( typeof module === "object" && typeof module.exports === "object" ) {
+ // For CommonJS and CommonJS-like environments where a proper `window`
+ // is present, execute the factory and get jQuery.
+ // For environments that do not have a `window` with a `document`
+ // (such as Node.js), expose a factory as module.exports.
+ // This accentuates the need for the creation of a real `window`.
+ // e.g. var jQuery = require("jquery")(window);
+ // See ticket #14549 for more info.
+ module.exports = global.document ?
+ factory( global, true ) :
+ function( w ) {
+ if ( !w.document ) {
+ throw new Error( "jQuery requires a window with a document" );
+ }
+ return factory( w );
+ };
+ } else {
+ factory( global );
+ }
+
+// Pass this if window is not defined yet
+}(typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
+
+// Support: Firefox 18+
+// Can't be in strict mode, several libs including ASP.NET trace
// the stack via arguments.caller.callee and Firefox dies if
// you try to trace through "use strict" call chains. (#13335)
-// Support: Firefox 18+
//"use strict";
-var
- // The deferred used on DOM ready
- readyList,
+var deletedIds = [];
- // A central reference to the root jQuery(document)
- rootjQuery,
+var document = window.document;
- // Support: IE<9
- // For `typeof node.method` instead of `node.method !== undefined`
- core_strundefined = typeof undefined,
+var slice = deletedIds.slice;
- // Use the correct document accordingly with window argument (sandbox)
- document = window.document,
- location = window.location,
+var concat = deletedIds.concat;
- // Map over jQuery in case of overwrite
- _jQuery = window.jQuery,
+var push = deletedIds.push;
- // Map over the $ in case of overwrite
- _$ = window.$,
+var indexOf = deletedIds.indexOf;
+
+var class2type = {};
+
+var toString = class2type.toString;
+
+var hasOwn = class2type.hasOwnProperty;
- // [[Class]] -> type pairs
- class2type = {},
+var support = {};
- // List of deleted data cache ids, so we can reuse them
- core_deletedIds = [],
- core_version = "1.9.1",
- // Save a reference to some core methods
- core_concat = core_deletedIds.concat,
- core_push = core_deletedIds.push,
- core_slice = core_deletedIds.slice,
- core_indexOf = core_deletedIds.indexOf,
- core_toString = class2type.toString,
- core_hasOwn = class2type.hasOwnProperty,
- core_trim = core_version.trim,
+var
+ version = "1.12.4",
// Define a local copy of jQuery
jQuery = function( selector, context ) {
+
// The jQuery object is actually just the init constructor 'enhanced'
- return new jQuery.fn.init( selector, context, rootjQuery );
+ // Need init if jQuery is called (just allow error to be thrown if not included)
+ return new jQuery.fn.init( selector, context );
},
- // Used for matching numbers
- core_pnum = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
-
- // Used for splitting on whitespace
- core_rnotwhite = /\S+/g,
-
- // Make sure we trim BOM and NBSP (here's looking at you, Safari 5.0 and IE)
+ // Support: Android<4.1, IE<9
+ // Make sure we trim BOM and NBSP
rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
- // A simple way to check for HTML strings
- // Prioritize #id over to avoid XSS via location.hash (#9521)
- // Strict HTML recognition (#11290: must start with <)
- rquickExpr = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,
-
- // Match a standalone tag
- rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>|)$/,
-
- // JSON RegExp
- rvalidchars = /^[\],:{}\s]*$/,
- rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g,
- rvalidescape = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,
- rvalidtokens = /"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,
-
// Matches dashed string for camelizing
rmsPrefix = /^-ms-/,
rdashAlpha = /-([\da-z])/gi,
@@ -92,134 +86,14 @@ var
// Used by jQuery.camelCase as callback to replace()
fcamelCase = function( all, letter ) {
return letter.toUpperCase();
- },
-
- // The ready event handler
- completed = function( event ) {
-
- // readyState === "complete" is good enough for us to call the dom ready in oldIE
- if ( document.addEventListener || event.type === "load" || document.readyState === "complete" ) {
- detach();
- jQuery.ready();
- }
- },
- // Clean-up method for dom ready events
- detach = function() {
- if ( document.addEventListener ) {
- document.removeEventListener( "DOMContentLoaded", completed, false );
- window.removeEventListener( "load", completed, false );
-
- } else {
- document.detachEvent( "onreadystatechange", completed );
- window.detachEvent( "onload", completed );
- }
};
jQuery.fn = jQuery.prototype = {
+
// The current version of jQuery being used
- jquery: core_version,
+ jquery: version,
constructor: jQuery,
- init: function( selector, context, rootjQuery ) {
- var match, elem;
-
- // HANDLE: $(""), $(null), $(undefined), $(false)
- if ( !selector ) {
- return this;
- }
-
- // Handle HTML strings
- if ( typeof selector === "string" ) {
- if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) {
- // Assume that strings that start and end with <> are HTML and skip the regex check
- match = [ null, selector, null ];
-
- } else {
- match = rquickExpr.exec( selector );
- }
-
- // Match html or make sure no context is specified for #id
- if ( match && (match[1] || !context) ) {
-
- // HANDLE: $(html) -> $(array)
- if ( match[1] ) {
- context = context instanceof jQuery ? context[0] : context;
-
- // scripts is true for back-compat
- jQuery.merge( this, jQuery.parseHTML(
- match[1],
- context && context.nodeType ? context.ownerDocument || context : document,
- true
- ) );
-
- // HANDLE: $(html, props)
- if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) {
- for ( match in context ) {
- // Properties of context are called as methods if possible
- if ( jQuery.isFunction( this[ match ] ) ) {
- this[ match ]( context[ match ] );
-
- // ...and otherwise set as attributes
- } else {
- this.attr( match, context[ match ] );
- }
- }
- }
-
- return this;
-
- // HANDLE: $(#id)
- } else {
- elem = document.getElementById( match[2] );
-
- // Check parentNode to catch when Blackberry 4.6 returns
- // nodes that are no longer in the document #6963
- if ( elem && elem.parentNode ) {
- // Handle the case where IE and Opera return items
- // by name instead of ID
- if ( elem.id !== match[2] ) {
- return rootjQuery.find( selector );
- }
-
- // Otherwise, we inject the element directly into the jQuery object
- this.length = 1;
- this[0] = elem;
- }
-
- this.context = document;
- this.selector = selector;
- return this;
- }
-
- // HANDLE: $(expr, $(...))
- } else if ( !context || context.jquery ) {
- return ( context || rootjQuery ).find( selector );
-
- // HANDLE: $(expr, context)
- // (which is just equivalent to: $(context).find(expr)
- } else {
- return this.constructor( context ).find( selector );
- }
-
- // HANDLE: $(DOMElement)
- } else if ( selector.nodeType ) {
- this.context = this[0] = selector;
- this.length = 1;
- return this;
-
- // HANDLE: $(function)
- // Shortcut for document ready
- } else if ( jQuery.isFunction( selector ) ) {
- return rootjQuery.ready( selector );
- }
-
- if ( selector.selector !== undefined ) {
- this.selector = selector.selector;
- this.context = selector.context;
- }
-
- return jQuery.makeArray( selector, this );
- },
// Start with an empty selector
selector: "",
@@ -227,25 +101,20 @@ jQuery.fn = jQuery.prototype = {
// The default length of a jQuery object is 0
length: 0,
- // The number of elements contained in the matched element set
- size: function() {
- return this.length;
- },
-
toArray: function() {
- return core_slice.call( this );
+ return slice.call( this );
},
// Get the Nth element in the matched element set OR
// Get the whole matched element set as a clean array
get: function( num ) {
- return num == null ?
+ return num != null ?
- // Return a 'clean' array
- this.toArray() :
+ // Return just the one element from the set
+ ( num < 0 ? this[ num + this.length ] : this[ num ] ) :
- // Return just the object
- ( num < 0 ? this[ this.length + num ] : this[ num ] );
+ // Return all the elements in a clean array
+ slice.call( this );
},
// Take an array of elements and push it onto the stack
@@ -264,21 +133,18 @@ jQuery.fn = jQuery.prototype = {
},
// Execute a callback for every element in the matched set.
- // (You can seed the arguments with an array of args, but this is
- // only used internally.)
- each: function( callback, args ) {
- return jQuery.each( this, callback, args );
+ each: function( callback ) {
+ return jQuery.each( this, callback );
},
- ready: function( fn ) {
- // Add the callback
- jQuery.ready.promise().done( fn );
-
- return this;
+ map: function( callback ) {
+ return this.pushStack( jQuery.map( this, function( elem, i ) {
+ return callback.call( elem, i, elem );
+ } ) );
},
slice: function() {
- return this.pushStack( core_slice.apply( this, arguments ) );
+ return this.pushStack( slice.apply( this, arguments ) );
},
first: function() {
@@ -292,32 +158,23 @@ jQuery.fn = jQuery.prototype = {
eq: function( i ) {
var len = this.length,
j = +i + ( i < 0 ? len : 0 );
- return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] );
- },
-
- map: function( callback ) {
- return this.pushStack( jQuery.map(this, function( elem, i ) {
- return callback.call( elem, i, elem );
- }));
+ return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );
},
end: function() {
- return this.prevObject || this.constructor(null);
+ return this.prevObject || this.constructor();
},
// For internal use only.
// Behaves like an Array's method, not like a jQuery method.
- push: core_push,
- sort: [].sort,
- splice: [].splice
+ push: push,
+ sort: deletedIds.sort,
+ splice: deletedIds.splice
};
-// Give the init function the jQuery prototype for later instantiation
-jQuery.fn.init.prototype = jQuery.fn;
-
jQuery.extend = jQuery.fn.extend = function() {
var src, copyIsArray, copy, name, options, clone,
- target = arguments[0] || {},
+ target = arguments[ 0 ] || {},
i = 1,
length = arguments.length,
deep = false;
@@ -325,25 +182,28 @@ jQuery.extend = jQuery.fn.extend = function() {
// Handle a deep copy situation
if ( typeof target === "boolean" ) {
deep = target;
- target = arguments[1] || {};
+
// skip the boolean and the target
- i = 2;
+ target = arguments[ i ] || {};
+ i++;
}
// Handle case when target is a string or something (possible in deep copy)
- if ( typeof target !== "object" && !jQuery.isFunction(target) ) {
+ if ( typeof target !== "object" && !jQuery.isFunction( target ) ) {
target = {};
}
// extend jQuery itself if only one argument is passed
- if ( length === i ) {
+ if ( i === length ) {
target = this;
- --i;
+ i--;
}
for ( ; i < length; i++ ) {
+
// Only deal with non-null/undefined values
- if ( (options = arguments[ i ]) != null ) {
+ if ( ( options = arguments[ i ] ) != null ) {
+
// Extend the base object
for ( name in options ) {
src = target[ name ];
@@ -355,13 +215,15 @@ jQuery.extend = jQuery.fn.extend = function() {
}
// Recurse if we're merging plain objects or arrays
- if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) {
+ if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
+ ( copyIsArray = jQuery.isArray( copy ) ) ) ) {
+
if ( copyIsArray ) {
copyIsArray = false;
- clone = src && jQuery.isArray(src) ? src : [];
+ clone = src && jQuery.isArray( src ) ? src : [];
} else {
- clone = src && jQuery.isPlainObject(src) ? src : {};
+ clone = src && jQuery.isPlainObject( src ) ? src : {};
}
// Never move original objects, clone them
@@ -379,285 +241,140 @@ jQuery.extend = jQuery.fn.extend = function() {
return target;
};
-jQuery.extend({
- noConflict: function( deep ) {
- if ( window.$ === jQuery ) {
- window.$ = _$;
- }
-
- if ( deep && window.jQuery === jQuery ) {
- window.jQuery = _jQuery;
- }
-
- return jQuery;
- },
+jQuery.extend( {
- // Is the DOM ready to be used? Set to true once it occurs.
- isReady: false,
+ // Unique for each copy of jQuery on the page
+ expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
- // A counter to track how many items to wait for before
- // the ready event fires. See #6781
- readyWait: 1,
+ // Assume jQuery is ready without the ready module
+ isReady: true,
- // Hold (or release) the ready event
- holdReady: function( hold ) {
- if ( hold ) {
- jQuery.readyWait++;
- } else {
- jQuery.ready( true );
- }
+ error: function( msg ) {
+ throw new Error( msg );
},
- // Handle when the DOM is ready
- ready: function( wait ) {
-
- // Abort if there are pending holds or we're already ready
- if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
- return;
- }
-
- // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
- if ( !document.body ) {
- return setTimeout( jQuery.ready );
- }
-
- // Remember that the DOM is ready
- jQuery.isReady = true;
-
- // If a normal DOM Ready event fired, decrement, and wait if need be
- if ( wait !== true && --jQuery.readyWait > 0 ) {
- return;
- }
-
- // If there are functions bound, to execute
- readyList.resolveWith( document, [ jQuery ] );
-
- // Trigger any bound ready events
- if ( jQuery.fn.trigger ) {
- jQuery( document ).trigger("ready").off("ready");
- }
- },
+ noop: function() {},
// See test/unit/core.js for details concerning isFunction.
// Since version 1.3, DOM methods and functions like alert
// aren't supported. They return false on IE (#2968).
isFunction: function( obj ) {
- return jQuery.type(obj) === "function";
+ return jQuery.type( obj ) === "function";
},
isArray: Array.isArray || function( obj ) {
- return jQuery.type(obj) === "array";
+ return jQuery.type( obj ) === "array";
},
isWindow: function( obj ) {
+ /* jshint eqeqeq: false */
return obj != null && obj == obj.window;
},
isNumeric: function( obj ) {
- return !isNaN( parseFloat(obj) ) && isFinite( obj );
+
+ // parseFloat NaNs numeric-cast false positives (null|true|false|"")
+ // ...but misinterprets leading-number strings, particularly hex literals ("0x...")
+ // subtraction forces infinities to NaN
+ // adding 1 corrects loss of precision from parseFloat (#15100)
+ var realStringObj = obj && obj.toString();
+ return !jQuery.isArray( obj ) && ( realStringObj - parseFloat( realStringObj ) + 1 ) >= 0;
},
- type: function( obj ) {
- if ( obj == null ) {
- return String( obj );
+ isEmptyObject: function( obj ) {
+ var name;
+ for ( name in obj ) {
+ return false;
}
- return typeof obj === "object" || typeof obj === "function" ?
- class2type[ core_toString.call(obj) ] || "object" :
- typeof obj;
+ return true;
},
isPlainObject: function( obj ) {
+ var key;
+
// Must be an Object.
// Because of IE, we also have to check the presence of the constructor property.
// Make sure that DOM nodes and window objects don't pass through, as well
- if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) {
+ if ( !obj || jQuery.type( obj ) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) {
return false;
}
try {
+
// Not own constructor property must be Object
if ( obj.constructor &&
- !core_hasOwn.call(obj, "constructor") &&
- !core_hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) {
+ !hasOwn.call( obj, "constructor" ) &&
+ !hasOwn.call( obj.constructor.prototype, "isPrototypeOf" ) ) {
return false;
}
} catch ( e ) {
+
// IE8,9 Will throw exceptions on certain host objects #9897
return false;
}
+ // Support: IE<9
+ // Handle iteration over inherited properties before own properties.
+ if ( !support.ownFirst ) {
+ for ( key in obj ) {
+ return hasOwn.call( obj, key );
+ }
+ }
+
// Own properties are enumerated firstly, so to speed up,
// if last one is own, then all properties are own.
-
- var key;
for ( key in obj ) {}
- return key === undefined || core_hasOwn.call( obj, key );
+ return key === undefined || hasOwn.call( obj, key );
},
- isEmptyObject: function( obj ) {
- var name;
- for ( name in obj ) {
- return false;
+ type: function( obj ) {
+ if ( obj == null ) {
+ return obj + "";
}
- return true;
- },
-
- error: function( msg ) {
- throw new Error( msg );
+ return typeof obj === "object" || typeof obj === "function" ?
+ class2type[ toString.call( obj ) ] || "object" :
+ typeof obj;
},
- // data: string of html
- // context (optional): If specified, the fragment will be created in this context, defaults to document
- // keepScripts (optional): If true, will include scripts passed in the html string
- parseHTML: function( data, context, keepScripts ) {
- if ( !data || typeof data !== "string" ) {
- return null;
- }
- if ( typeof context === "boolean" ) {
- keepScripts = context;
- context = false;
- }
- context = context || document;
-
- var parsed = rsingleTag.exec( data ),
- scripts = !keepScripts && [];
-
- // Single tag
- if ( parsed ) {
- return [ context.createElement( parsed[1] ) ];
- }
+ // Workarounds based on findings by Jim Driscoll
+ // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
+ globalEval: function( data ) {
+ if ( data && jQuery.trim( data ) ) {
- parsed = jQuery.buildFragment( [ data ], context, scripts );
- if ( scripts ) {
- jQuery( scripts ).remove();
+ // We use execScript on Internet Explorer
+ // We use an anonymous function so that context is window
+ // rather than jQuery in Firefox
+ ( window.execScript || function( data ) {
+ window[ "eval" ].call( window, data ); // jscs:ignore requireDotNotation
+ } )( data );
}
- return jQuery.merge( [], parsed.childNodes );
},
- parseJSON: function( data ) {
- // Attempt to parse using the native JSON parser first
- if ( window.JSON && window.JSON.parse ) {
- return window.JSON.parse( data );
- }
-
- if ( data === null ) {
- return data;
- }
-
- if ( typeof data === "string" ) {
+ // Convert dashed to camelCase; used by the css and data modules
+ // Microsoft forgot to hump their vendor prefix (#9572)
+ camelCase: function( string ) {
+ return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
+ },
- // Make sure leading/trailing whitespace is removed (IE can't handle it)
- data = jQuery.trim( data );
+ nodeName: function( elem, name ) {
+ return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
+ },
- if ( data ) {
- // Make sure the incoming data is actual JSON
- // Logic borrowed from http://json.org/json2.js
- if ( rvalidchars.test( data.replace( rvalidescape, "@" )
- .replace( rvalidtokens, "]" )
- .replace( rvalidbraces, "")) ) {
+ each: function( obj, callback ) {
+ var length, i = 0;
- return ( new Function( "return " + data ) )();
- }
- }
- }
-
- jQuery.error( "Invalid JSON: " + data );
- },
-
- // Cross-browser xml parsing
- parseXML: function( data ) {
- var xml, tmp;
- if ( !data || typeof data !== "string" ) {
- return null;
- }
- try {
- if ( window.DOMParser ) { // Standard
- tmp = new DOMParser();
- xml = tmp.parseFromString( data , "text/xml" );
- } else { // IE
- xml = new ActiveXObject( "Microsoft.XMLDOM" );
- xml.async = "false";
- xml.loadXML( data );
- }
- } catch( e ) {
- xml = undefined;
- }
- if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) {
- jQuery.error( "Invalid XML: " + data );
- }
- return xml;
- },
-
- noop: function() {},
-
- // Evaluates a script in a global context
- // Workarounds based on findings by Jim Driscoll
- // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
- globalEval: function( data ) {
- if ( data && jQuery.trim( data ) ) {
- // We use execScript on Internet Explorer
- // We use an anonymous function so that context is window
- // rather than jQuery in Firefox
- ( window.execScript || function( data ) {
- window[ "eval" ].call( window, data );
- } )( data );
- }
- },
-
- // Convert dashed to camelCase; used by the css and data modules
- // Microsoft forgot to hump their vendor prefix (#9572)
- camelCase: function( string ) {
- return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
- },
-
- nodeName: function( elem, name ) {
- return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
- },
-
- // args is for internal usage only
- each: function( obj, callback, args ) {
- var value,
- i = 0,
- length = obj.length,
- isArray = isArraylike( obj );
-
- if ( args ) {
- if ( isArray ) {
- for ( ; i < length; i++ ) {
- value = callback.apply( obj[ i ], args );
-
- if ( value === false ) {
- break;
- }
- }
- } else {
- for ( i in obj ) {
- value = callback.apply( obj[ i ], args );
-
- if ( value === false ) {
- break;
- }
- }
- }
-
- // A special, fast, case for the most common use of each
- } else {
- if ( isArray ) {
- for ( ; i < length; i++ ) {
- value = callback.call( obj[ i ], i, obj[ i ] );
-
- if ( value === false ) {
- break;
- }
- }
- } else {
- for ( i in obj ) {
- value = callback.call( obj[ i ], i, obj[ i ] );
-
- if ( value === false ) {
- break;
- }
+ if ( isArrayLike( obj ) ) {
+ length = obj.length;
+ for ( ; i < length; i++ ) {
+ if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+ break;
+ }
+ }
+ } else {
+ for ( i in obj ) {
+ if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+ break;
}
}
}
@@ -665,33 +382,25 @@ jQuery.extend({
return obj;
},
- // Use native String.trim function wherever possible
- trim: core_trim && !core_trim.call("\uFEFF\xA0") ?
- function( text ) {
- return text == null ?
- "" :
- core_trim.call( text );
- } :
-
- // Otherwise use our own trimming functionality
- function( text ) {
- return text == null ?
- "" :
- ( text + "" ).replace( rtrim, "" );
- },
+ // Support: Android<4.1, IE<9
+ trim: function( text ) {
+ return text == null ?
+ "" :
+ ( text + "" ).replace( rtrim, "" );
+ },
// results is for internal usage only
makeArray: function( arr, results ) {
var ret = results || [];
if ( arr != null ) {
- if ( isArraylike( Object(arr) ) ) {
+ if ( isArrayLike( Object( arr ) ) ) {
jQuery.merge( ret,
typeof arr === "string" ?
[ arr ] : arr
);
} else {
- core_push.call( ret, arr );
+ push.call( ret, arr );
}
}
@@ -702,14 +411,15 @@ jQuery.extend({
var len;
if ( arr ) {
- if ( core_indexOf ) {
- return core_indexOf.call( arr, elem, i );
+ if ( indexOf ) {
+ return indexOf.call( arr, elem, i );
}
len = arr.length;
i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0;
for ( ; i < len; i++ ) {
+
// Skip accessing in sparse arrays
if ( i in arr && arr[ i ] === elem ) {
return i;
@@ -721,16 +431,18 @@ jQuery.extend({
},
merge: function( first, second ) {
- var l = second.length,
- i = first.length,
- j = 0;
+ var len = +second.length,
+ j = 0,
+ i = first.length;
- if ( typeof l === "number" ) {
- for ( ; j < l; j++ ) {
- first[ i++ ] = second[ j ];
- }
- } else {
- while ( second[j] !== undefined ) {
+ while ( j < len ) {
+ first[ i++ ] = second[ j++ ];
+ }
+
+ // Support: IE<9
+ // Workaround casting of .length to NaN on otherwise arraylike objects (e.g., NodeLists)
+ if ( len !== len ) {
+ while ( second[ j ] !== undefined ) {
first[ i++ ] = second[ j++ ];
}
}
@@ -740,40 +452,39 @@ jQuery.extend({
return first;
},
- grep: function( elems, callback, inv ) {
- var retVal,
- ret = [],
+ grep: function( elems, callback, invert ) {
+ var callbackInverse,
+ matches = [],
i = 0,
- length = elems.length;
- inv = !!inv;
+ length = elems.length,
+ callbackExpect = !invert;
// Go through the array, only saving the items
// that pass the validator function
for ( ; i < length; i++ ) {
- retVal = !!callback( elems[ i ], i );
- if ( inv !== retVal ) {
- ret.push( elems[ i ] );
+ callbackInverse = !callback( elems[ i ], i );
+ if ( callbackInverse !== callbackExpect ) {
+ matches.push( elems[ i ] );
}
}
- return ret;
+ return matches;
},
// arg is for internal usage only
map: function( elems, callback, arg ) {
- var value,
+ var length, value,
i = 0,
- length = elems.length,
- isArray = isArraylike( elems ),
ret = [];
- // Go through the array, translating each of the items to their
- if ( isArray ) {
+ // Go through the array, translating each of the items to their new values
+ if ( isArrayLike( elems ) ) {
+ length = elems.length;
for ( ; i < length; i++ ) {
value = callback( elems[ i ], i, arg );
if ( value != null ) {
- ret[ ret.length ] = value;
+ ret.push( value );
}
}
@@ -783,13 +494,13 @@ jQuery.extend({
value = callback( elems[ i ], i, arg );
if ( value != null ) {
- ret[ ret.length ] = value;
+ ret.push( value );
}
}
}
// Flatten any nested arrays
- return core_concat.apply( [], ret );
+ return concat.apply( [], ret );
},
// A global GUID counter for objects
@@ -813,9 +524,9 @@ jQuery.extend({
}
// Simulated bind
- args = core_slice.call( arguments, 2 );
+ args = slice.call( arguments, 2 );
proxy = function() {
- return fn.apply( context || this, args.concat( core_slice.call( arguments ) ) );
+ return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
};
// Set the guid of unique handler to the same of original handler, so it can be removed
@@ -824,171 +535,2645 @@ jQuery.extend({
return proxy;
},
- // Multifunctional method to get and set values of a collection
- // The value/s can optionally be executed if it's a function
- access: function( elems, fn, key, value, chainable, emptyGet, raw ) {
- var i = 0,
- length = elems.length,
- bulk = key == null;
+ now: function() {
+ return +( new Date() );
+ },
- // Sets many values
- if ( jQuery.type( key ) === "object" ) {
- chainable = true;
- for ( i in key ) {
- jQuery.access( elems, fn, i, key[i], true, emptyGet, raw );
- }
+ // jQuery.support is not used in Core but other projects attach their
+ // properties to it so it needs to exist.
+ support: support
+} );
- // Sets one value
- } else if ( value !== undefined ) {
- chainable = true;
+// JSHint would error on this code due to the Symbol not being defined in ES5.
+// Defining this global in .jshintrc would create a danger of using the global
+// unguarded in another place, it seems safer to just disable JSHint for these
+// three lines.
+/* jshint ignore: start */
+if ( typeof Symbol === "function" ) {
+ jQuery.fn[ Symbol.iterator ] = deletedIds[ Symbol.iterator ];
+}
+/* jshint ignore: end */
- if ( !jQuery.isFunction( value ) ) {
- raw = true;
- }
+// Populate the class2type map
+jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
+function( i, name ) {
+ class2type[ "[object " + name + "]" ] = name.toLowerCase();
+} );
- if ( bulk ) {
- // Bulk operations run against the entire set
- if ( raw ) {
- fn.call( elems, value );
- fn = null;
+function isArrayLike( obj ) {
- // ...except when executing function values
- } else {
- bulk = fn;
- fn = function( elem, key, value ) {
- return bulk.call( jQuery( elem ), value );
- };
- }
- }
+ // Support: iOS 8.2 (not reproducible in simulator)
+ // `in` check used to prevent JIT error (gh-2145)
+ // hasOwn isn't used here due to false negatives
+ // regarding Nodelist length in IE
+ var length = !!obj && "length" in obj && obj.length,
+ type = jQuery.type( obj );
- if ( fn ) {
- for ( ; i < length; i++ ) {
- fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) );
- }
- }
+ if ( type === "function" || jQuery.isWindow( obj ) ) {
+ return false;
+ }
+
+ return type === "array" || length === 0 ||
+ typeof length === "number" && length > 0 && ( length - 1 ) in obj;
+}
+var Sizzle =
+/*!
+ * Sizzle CSS Selector Engine v2.2.1
+ * http://sizzlejs.com/
+ *
+ * Copyright jQuery Foundation and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2015-10-17
+ */
+(function( window ) {
+
+var i,
+ support,
+ Expr,
+ getText,
+ isXML,
+ tokenize,
+ compile,
+ select,
+ outermostContext,
+ sortInput,
+ hasDuplicate,
+
+ // Local document vars
+ setDocument,
+ document,
+ docElem,
+ documentIsHTML,
+ rbuggyQSA,
+ rbuggyMatches,
+ matches,
+ contains,
+
+ // Instance-specific data
+ expando = "sizzle" + 1 * new Date(),
+ preferredDoc = window.document,
+ dirruns = 0,
+ done = 0,
+ classCache = createCache(),
+ tokenCache = createCache(),
+ compilerCache = createCache(),
+ sortOrder = function( a, b ) {
+ if ( a === b ) {
+ hasDuplicate = true;
}
+ return 0;
+ },
- return chainable ?
- elems :
+ // General-purpose constants
+ MAX_NEGATIVE = 1 << 31,
- // Gets
- bulk ?
- fn.call( elems ) :
- length ? fn( elems[0], key ) : emptyGet;
+ // Instance methods
+ hasOwn = ({}).hasOwnProperty,
+ arr = [],
+ pop = arr.pop,
+ push_native = arr.push,
+ push = arr.push,
+ slice = arr.slice,
+ // Use a stripped-down indexOf as it's faster than native
+ // http://jsperf.com/thor-indexof-vs-for/5
+ indexOf = function( list, elem ) {
+ var i = 0,
+ len = list.length;
+ for ( ; i < len; i++ ) {
+ if ( list[i] === elem ) {
+ return i;
+ }
+ }
+ return -1;
},
- now: function() {
- return ( new Date() ).getTime();
- }
-});
+ booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
-jQuery.ready.promise = function( obj ) {
- if ( !readyList ) {
+ // Regular expressions
- readyList = jQuery.Deferred();
+ // http://www.w3.org/TR/css3-selectors/#whitespace
+ whitespace = "[\\x20\\t\\r\\n\\f]",
- // Catch cases where $(document).ready() is called after the browser event has already occurred.
- // we once tried to use readyState "interactive" here, but it caused issues like the one
- // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15
- if ( document.readyState === "complete" ) {
- // Handle it asynchronously to allow scripts the opportunity to delay ready
- setTimeout( jQuery.ready );
+ // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
+ identifier = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
+
+ // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
+ attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
+ // Operator (capture 2)
+ "*([*^$|!~]?=)" + whitespace +
+ // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
+ "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
+ "*\\]",
+
+ pseudos = ":(" + identifier + ")(?:\\((" +
+ // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
+ // 1. quoted (capture 3; capture 4 or capture 5)
+ "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
+ // 2. simple (capture 6)
+ "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
+ // 3. anything else (capture 2)
+ ".*" +
+ ")\\)|)",
- // Standards-based browsers support DOMContentLoaded
- } else if ( document.addEventListener ) {
- // Use the handy event callback
- document.addEventListener( "DOMContentLoaded", completed, false );
+ // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
+ rwhitespace = new RegExp( whitespace + "+", "g" ),
+ rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
- // A fallback to window.onload, that will always work
- window.addEventListener( "load", completed, false );
+ rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
+ rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
- // If IE event model is used
- } else {
- // Ensure firing before onload, maybe late but safe also for iframes
- document.attachEvent( "onreadystatechange", completed );
+ rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ),
- // A fallback to window.onload, that will always work
- window.attachEvent( "onload", completed );
+ rpseudo = new RegExp( pseudos ),
+ ridentifier = new RegExp( "^" + identifier + "$" ),
- // If IE and not a frame
- // continually check to see if the document is ready
- var top = false;
+ matchExpr = {
+ "ID": new RegExp( "^#(" + identifier + ")" ),
+ "CLASS": new RegExp( "^\\.(" + identifier + ")" ),
+ "TAG": new RegExp( "^(" + identifier + "|[*])" ),
+ "ATTR": new RegExp( "^" + attributes ),
+ "PSEUDO": new RegExp( "^" + pseudos ),
+ "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +
+ "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
+ "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
+ "bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
+ // For use in libraries implementing .is()
+ // We use this for POS matching in `select`
+ "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
+ whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
+ },
- try {
- top = window.frameElement == null && document.documentElement;
- } catch(e) {}
+ rinputs = /^(?:input|select|textarea|button)$/i,
+ rheader = /^h\d$/i,
- if ( top && top.doScroll ) {
- (function doScrollCheck() {
- if ( !jQuery.isReady ) {
+ rnative = /^[^{]+\{\s*\[native \w/,
- try {
- // Use the trick by Diego Perini
- // http://javascript.nwbox.com/IEContentLoaded/
- top.doScroll("left");
- } catch(e) {
- return setTimeout( doScrollCheck, 50 );
- }
+ // Easily-parseable/retrievable ID or TAG or CLASS selectors
+ rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
- // detach all dom ready events
- detach();
+ rsibling = /[+~]/,
+ rescape = /'|\\/g,
- // and execute any waiting functions
- jQuery.ready();
- }
- })();
- }
+ // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
+ runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
+ funescape = function( _, escaped, escapedWhitespace ) {
+ var high = "0x" + escaped - 0x10000;
+ // NaN means non-codepoint
+ // Support: Firefox<24
+ // Workaround erroneous numeric interpretation of +"0x"
+ return high !== high || escapedWhitespace ?
+ escaped :
+ high < 0 ?
+ // BMP codepoint
+ String.fromCharCode( high + 0x10000 ) :
+ // Supplemental Plane codepoint (surrogate pair)
+ String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
+ },
+
+ // Used for iframes
+ // See setDocument()
+ // Removing the function wrapper causes a "Permission Denied"
+ // error in IE
+ unloadHandler = function() {
+ setDocument();
+ };
+
+// Optimize for push.apply( _, NodeList )
+try {
+ push.apply(
+ (arr = slice.call( preferredDoc.childNodes )),
+ preferredDoc.childNodes
+ );
+ // Support: Android<4.0
+ // Detect silently failing push.apply
+ arr[ preferredDoc.childNodes.length ].nodeType;
+} catch ( e ) {
+ push = { apply: arr.length ?
+
+ // Leverage slice if possible
+ function( target, els ) {
+ push_native.apply( target, slice.call(els) );
+ } :
+
+ // Support: IE<9
+ // Otherwise append directly
+ function( target, els ) {
+ var j = target.length,
+ i = 0;
+ // Can't trust NodeList.length
+ while ( (target[j++] = els[i++]) ) {}
+ target.length = j - 1;
}
- }
- return readyList.promise( obj );
-};
+ };
+}
-// Populate the class2type map
-jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) {
- class2type[ "[object " + name + "]" ] = name.toLowerCase();
-});
+function Sizzle( selector, context, results, seed ) {
+ var m, i, elem, nid, nidselect, match, groups, newSelector,
+ newContext = context && context.ownerDocument,
-function isArraylike( obj ) {
- var length = obj.length,
- type = jQuery.type( obj );
+ // nodeType defaults to 9, since context defaults to document
+ nodeType = context ? context.nodeType : 9;
- if ( jQuery.isWindow( obj ) ) {
- return false;
- }
+ results = results || [];
- if ( obj.nodeType === 1 && length ) {
- return true;
+ // Return early from calls with invalid selector or context
+ if ( typeof selector !== "string" || !selector ||
+ nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {
+
+ return results;
}
- return type === "array" || type !== "function" &&
- ( length === 0 ||
- typeof length === "number" && length > 0 && ( length - 1 ) in obj );
-}
+ // Try to shortcut find operations (as opposed to filters) in HTML documents
+ if ( !seed ) {
-// All jQuery objects should point back to these
-rootjQuery = jQuery(document);
-// String to Object options format cache
-var optionsCache = {};
+ if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
+ setDocument( context );
+ }
+ context = context || document;
-// Convert String-formatted options into Object-formatted ones and store in cache
-function createOptions( options ) {
- var object = optionsCache[ options ] = {};
- jQuery.each( options.match( core_rnotwhite ) || [], function( _, flag ) {
- object[ flag ] = true;
- });
- return object;
-}
+ if ( documentIsHTML ) {
-/*
- * Create a callback list using the following parameters:
- *
- * options: an optional list of space-separated options that will change how
- * the callback list behaves or a more traditional option object
- *
- * By default a callback list will act like an event callback list and can be
- * "fired" multiple times.
- *
- * Possible options:
+ // If the selector is sufficiently simple, try using a "get*By*" DOM method
+ // (excepting DocumentFragment context, where the methods don't exist)
+ if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {
+
+ // ID selector
+ if ( (m = match[1]) ) {
+
+ // Document context
+ if ( nodeType === 9 ) {
+ if ( (elem = context.getElementById( m )) ) {
+
+ // Support: IE, Opera, Webkit
+ // TODO: identify versions
+ // getElementById can match elements by name instead of ID
+ if ( elem.id === m ) {
+ results.push( elem );
+ return results;
+ }
+ } else {
+ return results;
+ }
+
+ // Element context
+ } else {
+
+ // Support: IE, Opera, Webkit
+ // TODO: identify versions
+ // getElementById can match elements by name instead of ID
+ if ( newContext && (elem = newContext.getElementById( m )) &&
+ contains( context, elem ) &&
+ elem.id === m ) {
+
+ results.push( elem );
+ return results;
+ }
+ }
+
+ // Type selector
+ } else if ( match[2] ) {
+ push.apply( results, context.getElementsByTagName( selector ) );
+ return results;
+
+ // Class selector
+ } else if ( (m = match[3]) && support.getElementsByClassName &&
+ context.getElementsByClassName ) {
+
+ push.apply( results, context.getElementsByClassName( m ) );
+ return results;
+ }
+ }
+
+ // Take advantage of querySelectorAll
+ if ( support.qsa &&
+ !compilerCache[ selector + " " ] &&
+ (!rbuggyQSA || !rbuggyQSA.test( selector )) ) {
+
+ if ( nodeType !== 1 ) {
+ newContext = context;
+ newSelector = selector;
+
+ // qSA looks outside Element context, which is not what we want
+ // Thanks to Andrew Dupont for this workaround technique
+ // Support: IE <=8
+ // Exclude object elements
+ } else if ( context.nodeName.toLowerCase() !== "object" ) {
+
+ // Capture the context ID, setting it first if necessary
+ if ( (nid = context.getAttribute( "id" )) ) {
+ nid = nid.replace( rescape, "\\$&" );
+ } else {
+ context.setAttribute( "id", (nid = expando) );
+ }
+
+ // Prefix every selector in the list
+ groups = tokenize( selector );
+ i = groups.length;
+ nidselect = ridentifier.test( nid ) ? "#" + nid : "[id='" + nid + "']";
+ while ( i-- ) {
+ groups[i] = nidselect + " " + toSelector( groups[i] );
+ }
+ newSelector = groups.join( "," );
+
+ // Expand context for sibling selectors
+ newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
+ context;
+ }
+
+ if ( newSelector ) {
+ try {
+ push.apply( results,
+ newContext.querySelectorAll( newSelector )
+ );
+ return results;
+ } catch ( qsaError ) {
+ } finally {
+ if ( nid === expando ) {
+ context.removeAttribute( "id" );
+ }
+ }
+ }
+ }
+ }
+ }
+
+ // All others
+ return select( selector.replace( rtrim, "$1" ), context, results, seed );
+}
+
+/**
+ * Create key-value caches of limited size
+ * @returns {function(string, object)} Returns the Object data after storing it on itself with
+ * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
+ * deleting the oldest entry
+ */
+function createCache() {
+ var keys = [];
+
+ function cache( key, value ) {
+ // Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
+ if ( keys.push( key + " " ) > Expr.cacheLength ) {
+ // Only keep the most recent entries
+ delete cache[ keys.shift() ];
+ }
+ return (cache[ key + " " ] = value);
+ }
+ return cache;
+}
+
+/**
+ * Mark a function for special use by Sizzle
+ * @param {Function} fn The function to mark
+ */
+function markFunction( fn ) {
+ fn[ expando ] = true;
+ return fn;
+}
+
+/**
+ * Support testing using an element
+ * @param {Function} fn Passed the created div and expects a boolean result
+ */
+function assert( fn ) {
+ var div = document.createElement("div");
+
+ try {
+ return !!fn( div );
+ } catch (e) {
+ return false;
+ } finally {
+ // Remove from its parent by default
+ if ( div.parentNode ) {
+ div.parentNode.removeChild( div );
+ }
+ // release memory in IE
+ div = null;
+ }
+}
+
+/**
+ * Adds the same handler for all of the specified attrs
+ * @param {String} attrs Pipe-separated list of attributes
+ * @param {Function} handler The method that will be applied
+ */
+function addHandle( attrs, handler ) {
+ var arr = attrs.split("|"),
+ i = arr.length;
+
+ while ( i-- ) {
+ Expr.attrHandle[ arr[i] ] = handler;
+ }
+}
+
+/**
+ * Checks document order of two siblings
+ * @param {Element} a
+ * @param {Element} b
+ * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
+ */
+function siblingCheck( a, b ) {
+ var cur = b && a,
+ diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
+ ( ~b.sourceIndex || MAX_NEGATIVE ) -
+ ( ~a.sourceIndex || MAX_NEGATIVE );
+
+ // Use IE sourceIndex if available on both nodes
+ if ( diff ) {
+ return diff;
+ }
+
+ // Check if b follows a
+ if ( cur ) {
+ while ( (cur = cur.nextSibling) ) {
+ if ( cur === b ) {
+ return -1;
+ }
+ }
+ }
+
+ return a ? 1 : -1;
+}
+
+/**
+ * Returns a function to use in pseudos for input types
+ * @param {String} type
+ */
+function createInputPseudo( type ) {
+ return function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return name === "input" && elem.type === type;
+ };
+}
+
+/**
+ * Returns a function to use in pseudos for buttons
+ * @param {String} type
+ */
+function createButtonPseudo( type ) {
+ return function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return (name === "input" || name === "button") && elem.type === type;
+ };
+}
+
+/**
+ * Returns a function to use in pseudos for positionals
+ * @param {Function} fn
+ */
+function createPositionalPseudo( fn ) {
+ return markFunction(function( argument ) {
+ argument = +argument;
+ return markFunction(function( seed, matches ) {
+ var j,
+ matchIndexes = fn( [], seed.length, argument ),
+ i = matchIndexes.length;
+
+ // Match elements found at the specified indexes
+ while ( i-- ) {
+ if ( seed[ (j = matchIndexes[i]) ] ) {
+ seed[j] = !(matches[j] = seed[j]);
+ }
+ }
+ });
+ });
+}
+
+/**
+ * Checks a node for validity as a Sizzle context
+ * @param {Element|Object=} context
+ * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
+ */
+function testContext( context ) {
+ return context && typeof context.getElementsByTagName !== "undefined" && context;
+}
+
+// Expose support vars for convenience
+support = Sizzle.support = {};
+
+/**
+ * Detects XML nodes
+ * @param {Element|Object} elem An element or a document
+ * @returns {Boolean} True iff elem is a non-HTML XML node
+ */
+isXML = Sizzle.isXML = function( elem ) {
+ // documentElement is verified for cases where it doesn't yet exist
+ // (such as loading iframes in IE - #4833)
+ var documentElement = elem && (elem.ownerDocument || elem).documentElement;
+ return documentElement ? documentElement.nodeName !== "HTML" : false;
+};
+
+/**
+ * Sets document-related variables once based on the current document
+ * @param {Element|Object} [doc] An element or document object to use to set the document
+ * @returns {Object} Returns the current document
+ */
+setDocument = Sizzle.setDocument = function( node ) {
+ var hasCompare, parent,
+ doc = node ? node.ownerDocument || node : preferredDoc;
+
+ // Return early if doc is invalid or already selected
+ if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
+ return document;
+ }
+
+ // Update global variables
+ document = doc;
+ docElem = document.documentElement;
+ documentIsHTML = !isXML( document );
+
+ // Support: IE 9-11, Edge
+ // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
+ if ( (parent = document.defaultView) && parent.top !== parent ) {
+ // Support: IE 11
+ if ( parent.addEventListener ) {
+ parent.addEventListener( "unload", unloadHandler, false );
+
+ // Support: IE 9 - 10 only
+ } else if ( parent.attachEvent ) {
+ parent.attachEvent( "onunload", unloadHandler );
+ }
+ }
+
+ /* Attributes
+ ---------------------------------------------------------------------- */
+
+ // Support: IE<8
+ // Verify that getAttribute really returns attributes and not properties
+ // (excepting IE8 booleans)
+ support.attributes = assert(function( div ) {
+ div.className = "i";
+ return !div.getAttribute("className");
+ });
+
+ /* getElement(s)By*
+ ---------------------------------------------------------------------- */
+
+ // Check if getElementsByTagName("*") returns only elements
+ support.getElementsByTagName = assert(function( div ) {
+ div.appendChild( document.createComment("") );
+ return !div.getElementsByTagName("*").length;
+ });
+
+ // Support: IE<9
+ support.getElementsByClassName = rnative.test( document.getElementsByClassName );
+
+ // Support: IE<10
+ // Check if getElementById returns elements by name
+ // The broken getElementById methods don't pick up programatically-set names,
+ // so use a roundabout getElementsByName test
+ support.getById = assert(function( div ) {
+ docElem.appendChild( div ).id = expando;
+ return !document.getElementsByName || !document.getElementsByName( expando ).length;
+ });
+
+ // ID find and filter
+ if ( support.getById ) {
+ Expr.find["ID"] = function( id, context ) {
+ if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
+ var m = context.getElementById( id );
+ return m ? [ m ] : [];
+ }
+ };
+ Expr.filter["ID"] = function( id ) {
+ var attrId = id.replace( runescape, funescape );
+ return function( elem ) {
+ return elem.getAttribute("id") === attrId;
+ };
+ };
+ } else {
+ // Support: IE6/7
+ // getElementById is not reliable as a find shortcut
+ delete Expr.find["ID"];
+
+ Expr.filter["ID"] = function( id ) {
+ var attrId = id.replace( runescape, funescape );
+ return function( elem ) {
+ var node = typeof elem.getAttributeNode !== "undefined" &&
+ elem.getAttributeNode("id");
+ return node && node.value === attrId;
+ };
+ };
+ }
+
+ // Tag
+ Expr.find["TAG"] = support.getElementsByTagName ?
+ function( tag, context ) {
+ if ( typeof context.getElementsByTagName !== "undefined" ) {
+ return context.getElementsByTagName( tag );
+
+ // DocumentFragment nodes don't have gEBTN
+ } else if ( support.qsa ) {
+ return context.querySelectorAll( tag );
+ }
+ } :
+
+ function( tag, context ) {
+ var elem,
+ tmp = [],
+ i = 0,
+ // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
+ results = context.getElementsByTagName( tag );
+
+ // Filter out possible comments
+ if ( tag === "*" ) {
+ while ( (elem = results[i++]) ) {
+ if ( elem.nodeType === 1 ) {
+ tmp.push( elem );
+ }
+ }
+
+ return tmp;
+ }
+ return results;
+ };
+
+ // Class
+ Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) {
+ if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
+ return context.getElementsByClassName( className );
+ }
+ };
+
+ /* QSA/matchesSelector
+ ---------------------------------------------------------------------- */
+
+ // QSA and matchesSelector support
+
+ // matchesSelector(:active) reports false when true (IE9/Opera 11.5)
+ rbuggyMatches = [];
+
+ // qSa(:focus) reports false when true (Chrome 21)
+ // We allow this because of a bug in IE8/9 that throws an error
+ // whenever `document.activeElement` is accessed on an iframe
+ // So, we allow :focus to pass through QSA all the time to avoid the IE error
+ // See http://bugs.jquery.com/ticket/13378
+ rbuggyQSA = [];
+
+ if ( (support.qsa = rnative.test( document.querySelectorAll )) ) {
+ // Build QSA regex
+ // Regex strategy adopted from Diego Perini
+ assert(function( div ) {
+ // Select is set to empty string on purpose
+ // This is to test IE's treatment of not explicitly
+ // setting a boolean content attribute,
+ // since its presence should be enough
+ // http://bugs.jquery.com/ticket/12359
+ docElem.appendChild( div ).innerHTML = " " +
+ "" +
+ " ";
+
+ // Support: IE8, Opera 11-12.16
+ // Nothing should be selected when empty strings follow ^= or $= or *=
+ // The test attribute must be unknown in Opera but "safe" for WinRT
+ // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
+ if ( div.querySelectorAll("[msallowcapture^='']").length ) {
+ rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
+ }
+
+ // Support: IE8
+ // Boolean attributes and "value" are not treated correctly
+ if ( !div.querySelectorAll("[selected]").length ) {
+ rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
+ }
+
+ // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
+ if ( !div.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
+ rbuggyQSA.push("~=");
+ }
+
+ // Webkit/Opera - :checked should return selected option elements
+ // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+ // IE8 throws error here and will not see later tests
+ if ( !div.querySelectorAll(":checked").length ) {
+ rbuggyQSA.push(":checked");
+ }
+
+ // Support: Safari 8+, iOS 8+
+ // https://bugs.webkit.org/show_bug.cgi?id=136851
+ // In-page `selector#id sibing-combinator selector` fails
+ if ( !div.querySelectorAll( "a#" + expando + "+*" ).length ) {
+ rbuggyQSA.push(".#.+[+~]");
+ }
+ });
+
+ assert(function( div ) {
+ // Support: Windows 8 Native Apps
+ // The type and name attributes are restricted during .innerHTML assignment
+ var input = document.createElement("input");
+ input.setAttribute( "type", "hidden" );
+ div.appendChild( input ).setAttribute( "name", "D" );
+
+ // Support: IE8
+ // Enforce case-sensitivity of name attribute
+ if ( div.querySelectorAll("[name=d]").length ) {
+ rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
+ }
+
+ // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
+ // IE8 throws error here and will not see later tests
+ if ( !div.querySelectorAll(":enabled").length ) {
+ rbuggyQSA.push( ":enabled", ":disabled" );
+ }
+
+ // Opera 10-11 does not throw on post-comma invalid pseudos
+ div.querySelectorAll("*,:x");
+ rbuggyQSA.push(",.*:");
+ });
+ }
+
+ if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||
+ docElem.webkitMatchesSelector ||
+ docElem.mozMatchesSelector ||
+ docElem.oMatchesSelector ||
+ docElem.msMatchesSelector) )) ) {
+
+ assert(function( div ) {
+ // Check to see if it's possible to do matchesSelector
+ // on a disconnected node (IE 9)
+ support.disconnectedMatch = matches.call( div, "div" );
+
+ // This should fail with an exception
+ // Gecko does not error, returns false instead
+ matches.call( div, "[s!='']:x" );
+ rbuggyMatches.push( "!=", pseudos );
+ });
+ }
+
+ rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
+ rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
+
+ /* Contains
+ ---------------------------------------------------------------------- */
+ hasCompare = rnative.test( docElem.compareDocumentPosition );
+
+ // Element contains another
+ // Purposefully self-exclusive
+ // As in, an element does not contain itself
+ contains = hasCompare || rnative.test( docElem.contains ) ?
+ function( a, b ) {
+ var adown = a.nodeType === 9 ? a.documentElement : a,
+ bup = b && b.parentNode;
+ return a === bup || !!( bup && bup.nodeType === 1 && (
+ adown.contains ?
+ adown.contains( bup ) :
+ a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
+ ));
+ } :
+ function( a, b ) {
+ if ( b ) {
+ while ( (b = b.parentNode) ) {
+ if ( b === a ) {
+ return true;
+ }
+ }
+ }
+ return false;
+ };
+
+ /* Sorting
+ ---------------------------------------------------------------------- */
+
+ // Document order sorting
+ sortOrder = hasCompare ?
+ function( a, b ) {
+
+ // Flag for duplicate removal
+ if ( a === b ) {
+ hasDuplicate = true;
+ return 0;
+ }
+
+ // Sort on method existence if only one input has compareDocumentPosition
+ var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
+ if ( compare ) {
+ return compare;
+ }
+
+ // Calculate position if both inputs belong to the same document
+ compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?
+ a.compareDocumentPosition( b ) :
+
+ // Otherwise we know they are disconnected
+ 1;
+
+ // Disconnected nodes
+ if ( compare & 1 ||
+ (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {
+
+ // Choose the first element that is related to our preferred document
+ if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {
+ return -1;
+ }
+ if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {
+ return 1;
+ }
+
+ // Maintain original order
+ return sortInput ?
+ ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+ 0;
+ }
+
+ return compare & 4 ? -1 : 1;
+ } :
+ function( a, b ) {
+ // Exit early if the nodes are identical
+ if ( a === b ) {
+ hasDuplicate = true;
+ return 0;
+ }
+
+ var cur,
+ i = 0,
+ aup = a.parentNode,
+ bup = b.parentNode,
+ ap = [ a ],
+ bp = [ b ];
+
+ // Parentless nodes are either documents or disconnected
+ if ( !aup || !bup ) {
+ return a === document ? -1 :
+ b === document ? 1 :
+ aup ? -1 :
+ bup ? 1 :
+ sortInput ?
+ ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+ 0;
+
+ // If the nodes are siblings, we can do a quick check
+ } else if ( aup === bup ) {
+ return siblingCheck( a, b );
+ }
+
+ // Otherwise we need full lists of their ancestors for comparison
+ cur = a;
+ while ( (cur = cur.parentNode) ) {
+ ap.unshift( cur );
+ }
+ cur = b;
+ while ( (cur = cur.parentNode) ) {
+ bp.unshift( cur );
+ }
+
+ // Walk down the tree looking for a discrepancy
+ while ( ap[i] === bp[i] ) {
+ i++;
+ }
+
+ return i ?
+ // Do a sibling check if the nodes have a common ancestor
+ siblingCheck( ap[i], bp[i] ) :
+
+ // Otherwise nodes in our document sort first
+ ap[i] === preferredDoc ? -1 :
+ bp[i] === preferredDoc ? 1 :
+ 0;
+ };
+
+ return document;
+};
+
+Sizzle.matches = function( expr, elements ) {
+ return Sizzle( expr, null, null, elements );
+};
+
+Sizzle.matchesSelector = function( elem, expr ) {
+ // Set document vars if needed
+ if ( ( elem.ownerDocument || elem ) !== document ) {
+ setDocument( elem );
+ }
+
+ // Make sure that attribute selectors are quoted
+ expr = expr.replace( rattributeQuotes, "='$1']" );
+
+ if ( support.matchesSelector && documentIsHTML &&
+ !compilerCache[ expr + " " ] &&
+ ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
+ ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {
+
+ try {
+ var ret = matches.call( elem, expr );
+
+ // IE 9's matchesSelector returns false on disconnected nodes
+ if ( ret || support.disconnectedMatch ||
+ // As well, disconnected nodes are said to be in a document
+ // fragment in IE 9
+ elem.document && elem.document.nodeType !== 11 ) {
+ return ret;
+ }
+ } catch (e) {}
+ }
+
+ return Sizzle( expr, document, null, [ elem ] ).length > 0;
+};
+
+Sizzle.contains = function( context, elem ) {
+ // Set document vars if needed
+ if ( ( context.ownerDocument || context ) !== document ) {
+ setDocument( context );
+ }
+ return contains( context, elem );
+};
+
+Sizzle.attr = function( elem, name ) {
+ // Set document vars if needed
+ if ( ( elem.ownerDocument || elem ) !== document ) {
+ setDocument( elem );
+ }
+
+ var fn = Expr.attrHandle[ name.toLowerCase() ],
+ // Don't get fooled by Object.prototype properties (jQuery #13807)
+ val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
+ fn( elem, name, !documentIsHTML ) :
+ undefined;
+
+ return val !== undefined ?
+ val :
+ support.attributes || !documentIsHTML ?
+ elem.getAttribute( name ) :
+ (val = elem.getAttributeNode(name)) && val.specified ?
+ val.value :
+ null;
+};
+
+Sizzle.error = function( msg ) {
+ throw new Error( "Syntax error, unrecognized expression: " + msg );
+};
+
+/**
+ * Document sorting and removing duplicates
+ * @param {ArrayLike} results
+ */
+Sizzle.uniqueSort = function( results ) {
+ var elem,
+ duplicates = [],
+ j = 0,
+ i = 0;
+
+ // Unless we *know* we can detect duplicates, assume their presence
+ hasDuplicate = !support.detectDuplicates;
+ sortInput = !support.sortStable && results.slice( 0 );
+ results.sort( sortOrder );
+
+ if ( hasDuplicate ) {
+ while ( (elem = results[i++]) ) {
+ if ( elem === results[ i ] ) {
+ j = duplicates.push( i );
+ }
+ }
+ while ( j-- ) {
+ results.splice( duplicates[ j ], 1 );
+ }
+ }
+
+ // Clear input after sorting to release objects
+ // See https://github.com/jquery/sizzle/pull/225
+ sortInput = null;
+
+ return results;
+};
+
+/**
+ * Utility function for retrieving the text value of an array of DOM nodes
+ * @param {Array|Element} elem
+ */
+getText = Sizzle.getText = function( elem ) {
+ var node,
+ ret = "",
+ i = 0,
+ nodeType = elem.nodeType;
+
+ if ( !nodeType ) {
+ // If no nodeType, this is expected to be an array
+ while ( (node = elem[i++]) ) {
+ // Do not traverse comment nodes
+ ret += getText( node );
+ }
+ } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
+ // Use textContent for elements
+ // innerText usage removed for consistency of new lines (jQuery #11153)
+ if ( typeof elem.textContent === "string" ) {
+ return elem.textContent;
+ } else {
+ // Traverse its children
+ for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+ ret += getText( elem );
+ }
+ }
+ } else if ( nodeType === 3 || nodeType === 4 ) {
+ return elem.nodeValue;
+ }
+ // Do not include comment or processing instruction nodes
+
+ return ret;
+};
+
+Expr = Sizzle.selectors = {
+
+ // Can be adjusted by the user
+ cacheLength: 50,
+
+ createPseudo: markFunction,
+
+ match: matchExpr,
+
+ attrHandle: {},
+
+ find: {},
+
+ relative: {
+ ">": { dir: "parentNode", first: true },
+ " ": { dir: "parentNode" },
+ "+": { dir: "previousSibling", first: true },
+ "~": { dir: "previousSibling" }
+ },
+
+ preFilter: {
+ "ATTR": function( match ) {
+ match[1] = match[1].replace( runescape, funescape );
+
+ // Move the given value to match[3] whether quoted or unquoted
+ match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );
+
+ if ( match[2] === "~=" ) {
+ match[3] = " " + match[3] + " ";
+ }
+
+ return match.slice( 0, 4 );
+ },
+
+ "CHILD": function( match ) {
+ /* matches from matchExpr["CHILD"]
+ 1 type (only|nth|...)
+ 2 what (child|of-type)
+ 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
+ 4 xn-component of xn+y argument ([+-]?\d*n|)
+ 5 sign of xn-component
+ 6 x of xn-component
+ 7 sign of y-component
+ 8 y of y-component
+ */
+ match[1] = match[1].toLowerCase();
+
+ if ( match[1].slice( 0, 3 ) === "nth" ) {
+ // nth-* requires argument
+ if ( !match[3] ) {
+ Sizzle.error( match[0] );
+ }
+
+ // numeric x and y parameters for Expr.filter.CHILD
+ // remember that false/true cast respectively to 0/1
+ match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) );
+ match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" );
+
+ // other types prohibit arguments
+ } else if ( match[3] ) {
+ Sizzle.error( match[0] );
+ }
+
+ return match;
+ },
+
+ "PSEUDO": function( match ) {
+ var excess,
+ unquoted = !match[6] && match[2];
+
+ if ( matchExpr["CHILD"].test( match[0] ) ) {
+ return null;
+ }
+
+ // Accept quoted arguments as-is
+ if ( match[3] ) {
+ match[2] = match[4] || match[5] || "";
+
+ // Strip excess characters from unquoted arguments
+ } else if ( unquoted && rpseudo.test( unquoted ) &&
+ // Get excess from tokenize (recursively)
+ (excess = tokenize( unquoted, true )) &&
+ // advance to the next closing parenthesis
+ (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {
+
+ // excess is a negative index
+ match[0] = match[0].slice( 0, excess );
+ match[2] = unquoted.slice( 0, excess );
+ }
+
+ // Return only captures needed by the pseudo filter method (type and argument)
+ return match.slice( 0, 3 );
+ }
+ },
+
+ filter: {
+
+ "TAG": function( nodeNameSelector ) {
+ var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
+ return nodeNameSelector === "*" ?
+ function() { return true; } :
+ function( elem ) {
+ return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
+ };
+ },
+
+ "CLASS": function( className ) {
+ var pattern = classCache[ className + " " ];
+
+ return pattern ||
+ (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) &&
+ classCache( className, function( elem ) {
+ return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" );
+ });
+ },
+
+ "ATTR": function( name, operator, check ) {
+ return function( elem ) {
+ var result = Sizzle.attr( elem, name );
+
+ if ( result == null ) {
+ return operator === "!=";
+ }
+ if ( !operator ) {
+ return true;
+ }
+
+ result += "";
+
+ return operator === "=" ? result === check :
+ operator === "!=" ? result !== check :
+ operator === "^=" ? check && result.indexOf( check ) === 0 :
+ operator === "*=" ? check && result.indexOf( check ) > -1 :
+ operator === "$=" ? check && result.slice( -check.length ) === check :
+ operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
+ operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
+ false;
+ };
+ },
+
+ "CHILD": function( type, what, argument, first, last ) {
+ var simple = type.slice( 0, 3 ) !== "nth",
+ forward = type.slice( -4 ) !== "last",
+ ofType = what === "of-type";
+
+ return first === 1 && last === 0 ?
+
+ // Shortcut for :nth-*(n)
+ function( elem ) {
+ return !!elem.parentNode;
+ } :
+
+ function( elem, context, xml ) {
+ var cache, uniqueCache, outerCache, node, nodeIndex, start,
+ dir = simple !== forward ? "nextSibling" : "previousSibling",
+ parent = elem.parentNode,
+ name = ofType && elem.nodeName.toLowerCase(),
+ useCache = !xml && !ofType,
+ diff = false;
+
+ if ( parent ) {
+
+ // :(first|last|only)-(child|of-type)
+ if ( simple ) {
+ while ( dir ) {
+ node = elem;
+ while ( (node = node[ dir ]) ) {
+ if ( ofType ?
+ node.nodeName.toLowerCase() === name :
+ node.nodeType === 1 ) {
+
+ return false;
+ }
+ }
+ // Reverse direction for :only-* (if we haven't yet done so)
+ start = dir = type === "only" && !start && "nextSibling";
+ }
+ return true;
+ }
+
+ start = [ forward ? parent.firstChild : parent.lastChild ];
+
+ // non-xml :nth-child(...) stores cache data on `parent`
+ if ( forward && useCache ) {
+
+ // Seek `elem` from a previously-cached index
+
+ // ...in a gzip-friendly way
+ node = parent;
+ outerCache = node[ expando ] || (node[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ node.uniqueID ] ||
+ (outerCache[ node.uniqueID ] = {});
+
+ cache = uniqueCache[ type ] || [];
+ nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
+ diff = nodeIndex && cache[ 2 ];
+ node = nodeIndex && parent.childNodes[ nodeIndex ];
+
+ while ( (node = ++nodeIndex && node && node[ dir ] ||
+
+ // Fallback to seeking `elem` from the start
+ (diff = nodeIndex = 0) || start.pop()) ) {
+
+ // When found, cache indexes on `parent` and break
+ if ( node.nodeType === 1 && ++diff && node === elem ) {
+ uniqueCache[ type ] = [ dirruns, nodeIndex, diff ];
+ break;
+ }
+ }
+
+ } else {
+ // Use previously-cached element index if available
+ if ( useCache ) {
+ // ...in a gzip-friendly way
+ node = elem;
+ outerCache = node[ expando ] || (node[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ node.uniqueID ] ||
+ (outerCache[ node.uniqueID ] = {});
+
+ cache = uniqueCache[ type ] || [];
+ nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
+ diff = nodeIndex;
+ }
+
+ // xml :nth-child(...)
+ // or :nth-last-child(...) or :nth(-last)?-of-type(...)
+ if ( diff === false ) {
+ // Use the same loop as above to seek `elem` from the start
+ while ( (node = ++nodeIndex && node && node[ dir ] ||
+ (diff = nodeIndex = 0) || start.pop()) ) {
+
+ if ( ( ofType ?
+ node.nodeName.toLowerCase() === name :
+ node.nodeType === 1 ) &&
+ ++diff ) {
+
+ // Cache the index of each encountered element
+ if ( useCache ) {
+ outerCache = node[ expando ] || (node[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ node.uniqueID ] ||
+ (outerCache[ node.uniqueID ] = {});
+
+ uniqueCache[ type ] = [ dirruns, diff ];
+ }
+
+ if ( node === elem ) {
+ break;
+ }
+ }
+ }
+ }
+ }
+
+ // Incorporate the offset, then check against cycle size
+ diff -= last;
+ return diff === first || ( diff % first === 0 && diff / first >= 0 );
+ }
+ };
+ },
+
+ "PSEUDO": function( pseudo, argument ) {
+ // pseudo-class names are case-insensitive
+ // http://www.w3.org/TR/selectors/#pseudo-classes
+ // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
+ // Remember that setFilters inherits from pseudos
+ var args,
+ fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
+ Sizzle.error( "unsupported pseudo: " + pseudo );
+
+ // The user may use createPseudo to indicate that
+ // arguments are needed to create the filter function
+ // just as Sizzle does
+ if ( fn[ expando ] ) {
+ return fn( argument );
+ }
+
+ // But maintain support for old signatures
+ if ( fn.length > 1 ) {
+ args = [ pseudo, pseudo, "", argument ];
+ return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
+ markFunction(function( seed, matches ) {
+ var idx,
+ matched = fn( seed, argument ),
+ i = matched.length;
+ while ( i-- ) {
+ idx = indexOf( seed, matched[i] );
+ seed[ idx ] = !( matches[ idx ] = matched[i] );
+ }
+ }) :
+ function( elem ) {
+ return fn( elem, 0, args );
+ };
+ }
+
+ return fn;
+ }
+ },
+
+ pseudos: {
+ // Potentially complex pseudos
+ "not": markFunction(function( selector ) {
+ // Trim the selector passed to compile
+ // to avoid treating leading and trailing
+ // spaces as combinators
+ var input = [],
+ results = [],
+ matcher = compile( selector.replace( rtrim, "$1" ) );
+
+ return matcher[ expando ] ?
+ markFunction(function( seed, matches, context, xml ) {
+ var elem,
+ unmatched = matcher( seed, null, xml, [] ),
+ i = seed.length;
+
+ // Match elements unmatched by `matcher`
+ while ( i-- ) {
+ if ( (elem = unmatched[i]) ) {
+ seed[i] = !(matches[i] = elem);
+ }
+ }
+ }) :
+ function( elem, context, xml ) {
+ input[0] = elem;
+ matcher( input, null, xml, results );
+ // Don't keep the element (issue #299)
+ input[0] = null;
+ return !results.pop();
+ };
+ }),
+
+ "has": markFunction(function( selector ) {
+ return function( elem ) {
+ return Sizzle( selector, elem ).length > 0;
+ };
+ }),
+
+ "contains": markFunction(function( text ) {
+ text = text.replace( runescape, funescape );
+ return function( elem ) {
+ return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;
+ };
+ }),
+
+ // "Whether an element is represented by a :lang() selector
+ // is based solely on the element's language value
+ // being equal to the identifier C,
+ // or beginning with the identifier C immediately followed by "-".
+ // The matching of C against the element's language value is performed case-insensitively.
+ // The identifier C does not have to be a valid language name."
+ // http://www.w3.org/TR/selectors/#lang-pseudo
+ "lang": markFunction( function( lang ) {
+ // lang value must be a valid identifier
+ if ( !ridentifier.test(lang || "") ) {
+ Sizzle.error( "unsupported lang: " + lang );
+ }
+ lang = lang.replace( runescape, funescape ).toLowerCase();
+ return function( elem ) {
+ var elemLang;
+ do {
+ if ( (elemLang = documentIsHTML ?
+ elem.lang :
+ elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {
+
+ elemLang = elemLang.toLowerCase();
+ return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
+ }
+ } while ( (elem = elem.parentNode) && elem.nodeType === 1 );
+ return false;
+ };
+ }),
+
+ // Miscellaneous
+ "target": function( elem ) {
+ var hash = window.location && window.location.hash;
+ return hash && hash.slice( 1 ) === elem.id;
+ },
+
+ "root": function( elem ) {
+ return elem === docElem;
+ },
+
+ "focus": function( elem ) {
+ return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);
+ },
+
+ // Boolean properties
+ "enabled": function( elem ) {
+ return elem.disabled === false;
+ },
+
+ "disabled": function( elem ) {
+ return elem.disabled === true;
+ },
+
+ "checked": function( elem ) {
+ // In CSS3, :checked should return both checked and selected elements
+ // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+ var nodeName = elem.nodeName.toLowerCase();
+ return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
+ },
+
+ "selected": function( elem ) {
+ // Accessing this property makes selected-by-default
+ // options in Safari work properly
+ if ( elem.parentNode ) {
+ elem.parentNode.selectedIndex;
+ }
+
+ return elem.selected === true;
+ },
+
+ // Contents
+ "empty": function( elem ) {
+ // http://www.w3.org/TR/selectors/#empty-pseudo
+ // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
+ // but not by others (comment: 8; processing instruction: 7; etc.)
+ // nodeType < 6 works because attributes (2) do not appear as children
+ for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+ if ( elem.nodeType < 6 ) {
+ return false;
+ }
+ }
+ return true;
+ },
+
+ "parent": function( elem ) {
+ return !Expr.pseudos["empty"]( elem );
+ },
+
+ // Element/input types
+ "header": function( elem ) {
+ return rheader.test( elem.nodeName );
+ },
+
+ "input": function( elem ) {
+ return rinputs.test( elem.nodeName );
+ },
+
+ "button": function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return name === "input" && elem.type === "button" || name === "button";
+ },
+
+ "text": function( elem ) {
+ var attr;
+ return elem.nodeName.toLowerCase() === "input" &&
+ elem.type === "text" &&
+
+ // Support: IE<8
+ // New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
+ ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" );
+ },
+
+ // Position-in-collection
+ "first": createPositionalPseudo(function() {
+ return [ 0 ];
+ }),
+
+ "last": createPositionalPseudo(function( matchIndexes, length ) {
+ return [ length - 1 ];
+ }),
+
+ "eq": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ return [ argument < 0 ? argument + length : argument ];
+ }),
+
+ "even": createPositionalPseudo(function( matchIndexes, length ) {
+ var i = 0;
+ for ( ; i < length; i += 2 ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "odd": createPositionalPseudo(function( matchIndexes, length ) {
+ var i = 1;
+ for ( ; i < length; i += 2 ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ var i = argument < 0 ? argument + length : argument;
+ for ( ; --i >= 0; ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ var i = argument < 0 ? argument + length : argument;
+ for ( ; ++i < length; ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ })
+ }
+};
+
+Expr.pseudos["nth"] = Expr.pseudos["eq"];
+
+// Add button/input type pseudos
+for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
+ Expr.pseudos[ i ] = createInputPseudo( i );
+}
+for ( i in { submit: true, reset: true } ) {
+ Expr.pseudos[ i ] = createButtonPseudo( i );
+}
+
+// Easy API for creating new setFilters
+function setFilters() {}
+setFilters.prototype = Expr.filters = Expr.pseudos;
+Expr.setFilters = new setFilters();
+
+tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
+ var matched, match, tokens, type,
+ soFar, groups, preFilters,
+ cached = tokenCache[ selector + " " ];
+
+ if ( cached ) {
+ return parseOnly ? 0 : cached.slice( 0 );
+ }
+
+ soFar = selector;
+ groups = [];
+ preFilters = Expr.preFilter;
+
+ while ( soFar ) {
+
+ // Comma and first run
+ if ( !matched || (match = rcomma.exec( soFar )) ) {
+ if ( match ) {
+ // Don't consume trailing commas as valid
+ soFar = soFar.slice( match[0].length ) || soFar;
+ }
+ groups.push( (tokens = []) );
+ }
+
+ matched = false;
+
+ // Combinators
+ if ( (match = rcombinators.exec( soFar )) ) {
+ matched = match.shift();
+ tokens.push({
+ value: matched,
+ // Cast descendant combinators to space
+ type: match[0].replace( rtrim, " " )
+ });
+ soFar = soFar.slice( matched.length );
+ }
+
+ // Filters
+ for ( type in Expr.filter ) {
+ if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
+ (match = preFilters[ type ]( match ))) ) {
+ matched = match.shift();
+ tokens.push({
+ value: matched,
+ type: type,
+ matches: match
+ });
+ soFar = soFar.slice( matched.length );
+ }
+ }
+
+ if ( !matched ) {
+ break;
+ }
+ }
+
+ // Return the length of the invalid excess
+ // if we're just parsing
+ // Otherwise, throw an error or return tokens
+ return parseOnly ?
+ soFar.length :
+ soFar ?
+ Sizzle.error( selector ) :
+ // Cache the tokens
+ tokenCache( selector, groups ).slice( 0 );
+};
+
+function toSelector( tokens ) {
+ var i = 0,
+ len = tokens.length,
+ selector = "";
+ for ( ; i < len; i++ ) {
+ selector += tokens[i].value;
+ }
+ return selector;
+}
+
+function addCombinator( matcher, combinator, base ) {
+ var dir = combinator.dir,
+ checkNonElements = base && dir === "parentNode",
+ doneName = done++;
+
+ return combinator.first ?
+ // Check against closest ancestor/preceding element
+ function( elem, context, xml ) {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ return matcher( elem, context, xml );
+ }
+ }
+ } :
+
+ // Check against all ancestor/preceding elements
+ function( elem, context, xml ) {
+ var oldCache, uniqueCache, outerCache,
+ newCache = [ dirruns, doneName ];
+
+ // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
+ if ( xml ) {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ if ( matcher( elem, context, xml ) ) {
+ return true;
+ }
+ }
+ }
+ } else {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ outerCache = elem[ expando ] || (elem[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});
+
+ if ( (oldCache = uniqueCache[ dir ]) &&
+ oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
+
+ // Assign to newCache so results back-propagate to previous elements
+ return (newCache[ 2 ] = oldCache[ 2 ]);
+ } else {
+ // Reuse newcache so results back-propagate to previous elements
+ uniqueCache[ dir ] = newCache;
+
+ // A match means we're done; a fail means we have to keep checking
+ if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {
+ return true;
+ }
+ }
+ }
+ }
+ }
+ };
+}
+
+function elementMatcher( matchers ) {
+ return matchers.length > 1 ?
+ function( elem, context, xml ) {
+ var i = matchers.length;
+ while ( i-- ) {
+ if ( !matchers[i]( elem, context, xml ) ) {
+ return false;
+ }
+ }
+ return true;
+ } :
+ matchers[0];
+}
+
+function multipleContexts( selector, contexts, results ) {
+ var i = 0,
+ len = contexts.length;
+ for ( ; i < len; i++ ) {
+ Sizzle( selector, contexts[i], results );
+ }
+ return results;
+}
+
+function condense( unmatched, map, filter, context, xml ) {
+ var elem,
+ newUnmatched = [],
+ i = 0,
+ len = unmatched.length,
+ mapped = map != null;
+
+ for ( ; i < len; i++ ) {
+ if ( (elem = unmatched[i]) ) {
+ if ( !filter || filter( elem, context, xml ) ) {
+ newUnmatched.push( elem );
+ if ( mapped ) {
+ map.push( i );
+ }
+ }
+ }
+ }
+
+ return newUnmatched;
+}
+
+function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
+ if ( postFilter && !postFilter[ expando ] ) {
+ postFilter = setMatcher( postFilter );
+ }
+ if ( postFinder && !postFinder[ expando ] ) {
+ postFinder = setMatcher( postFinder, postSelector );
+ }
+ return markFunction(function( seed, results, context, xml ) {
+ var temp, i, elem,
+ preMap = [],
+ postMap = [],
+ preexisting = results.length,
+
+ // Get initial elements from seed or context
+ elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
+
+ // Prefilter to get matcher input, preserving a map for seed-results synchronization
+ matcherIn = preFilter && ( seed || !selector ) ?
+ condense( elems, preMap, preFilter, context, xml ) :
+ elems,
+
+ matcherOut = matcher ?
+ // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
+ postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
+
+ // ...intermediate processing is necessary
+ [] :
+
+ // ...otherwise use results directly
+ results :
+ matcherIn;
+
+ // Find primary matches
+ if ( matcher ) {
+ matcher( matcherIn, matcherOut, context, xml );
+ }
+
+ // Apply postFilter
+ if ( postFilter ) {
+ temp = condense( matcherOut, postMap );
+ postFilter( temp, [], context, xml );
+
+ // Un-match failing elements by moving them back to matcherIn
+ i = temp.length;
+ while ( i-- ) {
+ if ( (elem = temp[i]) ) {
+ matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
+ }
+ }
+ }
+
+ if ( seed ) {
+ if ( postFinder || preFilter ) {
+ if ( postFinder ) {
+ // Get the final matcherOut by condensing this intermediate into postFinder contexts
+ temp = [];
+ i = matcherOut.length;
+ while ( i-- ) {
+ if ( (elem = matcherOut[i]) ) {
+ // Restore matcherIn since elem is not yet a final match
+ temp.push( (matcherIn[i] = elem) );
+ }
+ }
+ postFinder( null, (matcherOut = []), temp, xml );
+ }
+
+ // Move matched elements from seed to results to keep them synchronized
+ i = matcherOut.length;
+ while ( i-- ) {
+ if ( (elem = matcherOut[i]) &&
+ (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {
+
+ seed[temp] = !(results[temp] = elem);
+ }
+ }
+ }
+
+ // Add elements to results, through postFinder if defined
+ } else {
+ matcherOut = condense(
+ matcherOut === results ?
+ matcherOut.splice( preexisting, matcherOut.length ) :
+ matcherOut
+ );
+ if ( postFinder ) {
+ postFinder( null, results, matcherOut, xml );
+ } else {
+ push.apply( results, matcherOut );
+ }
+ }
+ });
+}
+
+function matcherFromTokens( tokens ) {
+ var checkContext, matcher, j,
+ len = tokens.length,
+ leadingRelative = Expr.relative[ tokens[0].type ],
+ implicitRelative = leadingRelative || Expr.relative[" "],
+ i = leadingRelative ? 1 : 0,
+
+ // The foundational matcher ensures that elements are reachable from top-level context(s)
+ matchContext = addCombinator( function( elem ) {
+ return elem === checkContext;
+ }, implicitRelative, true ),
+ matchAnyContext = addCombinator( function( elem ) {
+ return indexOf( checkContext, elem ) > -1;
+ }, implicitRelative, true ),
+ matchers = [ function( elem, context, xml ) {
+ var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
+ (checkContext = context).nodeType ?
+ matchContext( elem, context, xml ) :
+ matchAnyContext( elem, context, xml ) );
+ // Avoid hanging onto element (issue #299)
+ checkContext = null;
+ return ret;
+ } ];
+
+ for ( ; i < len; i++ ) {
+ if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
+ matchers = [ addCombinator(elementMatcher( matchers ), matcher) ];
+ } else {
+ matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
+
+ // Return special upon seeing a positional matcher
+ if ( matcher[ expando ] ) {
+ // Find the next relative operator (if any) for proper handling
+ j = ++i;
+ for ( ; j < len; j++ ) {
+ if ( Expr.relative[ tokens[j].type ] ) {
+ break;
+ }
+ }
+ return setMatcher(
+ i > 1 && elementMatcher( matchers ),
+ i > 1 && toSelector(
+ // If the preceding token was a descendant combinator, insert an implicit any-element `*`
+ tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" })
+ ).replace( rtrim, "$1" ),
+ matcher,
+ i < j && matcherFromTokens( tokens.slice( i, j ) ),
+ j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
+ j < len && toSelector( tokens )
+ );
+ }
+ matchers.push( matcher );
+ }
+ }
+
+ return elementMatcher( matchers );
+}
+
+function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
+ var bySet = setMatchers.length > 0,
+ byElement = elementMatchers.length > 0,
+ superMatcher = function( seed, context, xml, results, outermost ) {
+ var elem, j, matcher,
+ matchedCount = 0,
+ i = "0",
+ unmatched = seed && [],
+ setMatched = [],
+ contextBackup = outermostContext,
+ // We must always have either seed elements or outermost context
+ elems = seed || byElement && Expr.find["TAG"]( "*", outermost ),
+ // Use integer dirruns iff this is the outermost matcher
+ dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),
+ len = elems.length;
+
+ if ( outermost ) {
+ outermostContext = context === document || context || outermost;
+ }
+
+ // Add elements passing elementMatchers directly to results
+ // Support: IE<9, Safari
+ // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id
+ for ( ; i !== len && (elem = elems[i]) != null; i++ ) {
+ if ( byElement && elem ) {
+ j = 0;
+ if ( !context && elem.ownerDocument !== document ) {
+ setDocument( elem );
+ xml = !documentIsHTML;
+ }
+ while ( (matcher = elementMatchers[j++]) ) {
+ if ( matcher( elem, context || document, xml) ) {
+ results.push( elem );
+ break;
+ }
+ }
+ if ( outermost ) {
+ dirruns = dirrunsUnique;
+ }
+ }
+
+ // Track unmatched elements for set filters
+ if ( bySet ) {
+ // They will have gone through all possible matchers
+ if ( (elem = !matcher && elem) ) {
+ matchedCount--;
+ }
+
+ // Lengthen the array for every element, matched or not
+ if ( seed ) {
+ unmatched.push( elem );
+ }
+ }
+ }
+
+ // `i` is now the count of elements visited above, and adding it to `matchedCount`
+ // makes the latter nonnegative.
+ matchedCount += i;
+
+ // Apply set filters to unmatched elements
+ // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`
+ // equals `i`), unless we didn't visit _any_ elements in the above loop because we have
+ // no element matchers and no seed.
+ // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that
+ // case, which will result in a "00" `matchedCount` that differs from `i` but is also
+ // numerically zero.
+ if ( bySet && i !== matchedCount ) {
+ j = 0;
+ while ( (matcher = setMatchers[j++]) ) {
+ matcher( unmatched, setMatched, context, xml );
+ }
+
+ if ( seed ) {
+ // Reintegrate element matches to eliminate the need for sorting
+ if ( matchedCount > 0 ) {
+ while ( i-- ) {
+ if ( !(unmatched[i] || setMatched[i]) ) {
+ setMatched[i] = pop.call( results );
+ }
+ }
+ }
+
+ // Discard index placeholder values to get only actual matches
+ setMatched = condense( setMatched );
+ }
+
+ // Add matches to results
+ push.apply( results, setMatched );
+
+ // Seedless set matches succeeding multiple successful matchers stipulate sorting
+ if ( outermost && !seed && setMatched.length > 0 &&
+ ( matchedCount + setMatchers.length ) > 1 ) {
+
+ Sizzle.uniqueSort( results );
+ }
+ }
+
+ // Override manipulation of globals by nested matchers
+ if ( outermost ) {
+ dirruns = dirrunsUnique;
+ outermostContext = contextBackup;
+ }
+
+ return unmatched;
+ };
+
+ return bySet ?
+ markFunction( superMatcher ) :
+ superMatcher;
+}
+
+compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
+ var i,
+ setMatchers = [],
+ elementMatchers = [],
+ cached = compilerCache[ selector + " " ];
+
+ if ( !cached ) {
+ // Generate a function of recursive functions that can be used to check each element
+ if ( !match ) {
+ match = tokenize( selector );
+ }
+ i = match.length;
+ while ( i-- ) {
+ cached = matcherFromTokens( match[i] );
+ if ( cached[ expando ] ) {
+ setMatchers.push( cached );
+ } else {
+ elementMatchers.push( cached );
+ }
+ }
+
+ // Cache the compiled function
+ cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
+
+ // Save selector and tokenization
+ cached.selector = selector;
+ }
+ return cached;
+};
+
+/**
+ * A low-level selection function that works with Sizzle's compiled
+ * selector functions
+ * @param {String|Function} selector A selector or a pre-compiled
+ * selector function built with Sizzle.compile
+ * @param {Element} context
+ * @param {Array} [results]
+ * @param {Array} [seed] A set of elements to match against
+ */
+select = Sizzle.select = function( selector, context, results, seed ) {
+ var i, tokens, token, type, find,
+ compiled = typeof selector === "function" && selector,
+ match = !seed && tokenize( (selector = compiled.selector || selector) );
+
+ results = results || [];
+
+ // Try to minimize operations if there is only one selector in the list and no seed
+ // (the latter of which guarantees us context)
+ if ( match.length === 1 ) {
+
+ // Reduce context if the leading compound selector is an ID
+ tokens = match[0] = match[0].slice( 0 );
+ if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
+ support.getById && context.nodeType === 9 && documentIsHTML &&
+ Expr.relative[ tokens[1].type ] ) {
+
+ context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
+ if ( !context ) {
+ return results;
+
+ // Precompiled matchers will still verify ancestry, so step up a level
+ } else if ( compiled ) {
+ context = context.parentNode;
+ }
+
+ selector = selector.slice( tokens.shift().value.length );
+ }
+
+ // Fetch a seed set for right-to-left matching
+ i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
+ while ( i-- ) {
+ token = tokens[i];
+
+ // Abort if we hit a combinator
+ if ( Expr.relative[ (type = token.type) ] ) {
+ break;
+ }
+ if ( (find = Expr.find[ type ]) ) {
+ // Search, expanding context for leading sibling combinators
+ if ( (seed = find(
+ token.matches[0].replace( runescape, funescape ),
+ rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
+ )) ) {
+
+ // If seed is empty or no tokens remain, we can return early
+ tokens.splice( i, 1 );
+ selector = seed.length && toSelector( tokens );
+ if ( !selector ) {
+ push.apply( results, seed );
+ return results;
+ }
+
+ break;
+ }
+ }
+ }
+ }
+
+ // Compile and execute a filtering function if one is not provided
+ // Provide `match` to avoid retokenization if we modified the selector above
+ ( compiled || compile( selector, match ) )(
+ seed,
+ context,
+ !documentIsHTML,
+ results,
+ !context || rsibling.test( selector ) && testContext( context.parentNode ) || context
+ );
+ return results;
+};
+
+// One-time assignments
+
+// Sort stability
+support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;
+
+// Support: Chrome 14-35+
+// Always assume duplicates if they aren't passed to the comparison function
+support.detectDuplicates = !!hasDuplicate;
+
+// Initialize against the default document
+setDocument();
+
+// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
+// Detached nodes confoundingly follow *each other*
+support.sortDetached = assert(function( div1 ) {
+ // Should return 1, but returns 4 (following)
+ return div1.compareDocumentPosition( document.createElement("div") ) & 1;
+});
+
+// Support: IE<8
+// Prevent attribute/property "interpolation"
+// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
+if ( !assert(function( div ) {
+ div.innerHTML = " ";
+ return div.firstChild.getAttribute("href") === "#" ;
+}) ) {
+ addHandle( "type|href|height|width", function( elem, name, isXML ) {
+ if ( !isXML ) {
+ return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
+ }
+ });
+}
+
+// Support: IE<9
+// Use defaultValue in place of getAttribute("value")
+if ( !support.attributes || !assert(function( div ) {
+ div.innerHTML = " ";
+ div.firstChild.setAttribute( "value", "" );
+ return div.firstChild.getAttribute( "value" ) === "";
+}) ) {
+ addHandle( "value", function( elem, name, isXML ) {
+ if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
+ return elem.defaultValue;
+ }
+ });
+}
+
+// Support: IE<9
+// Use getAttributeNode to fetch booleans when getAttribute lies
+if ( !assert(function( div ) {
+ return div.getAttribute("disabled") == null;
+}) ) {
+ addHandle( booleans, function( elem, name, isXML ) {
+ var val;
+ if ( !isXML ) {
+ return elem[ name ] === true ? name.toLowerCase() :
+ (val = elem.getAttributeNode( name )) && val.specified ?
+ val.value :
+ null;
+ }
+ });
+}
+
+return Sizzle;
+
+})( window );
+
+
+
+jQuery.find = Sizzle;
+jQuery.expr = Sizzle.selectors;
+jQuery.expr[ ":" ] = jQuery.expr.pseudos;
+jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;
+jQuery.text = Sizzle.getText;
+jQuery.isXMLDoc = Sizzle.isXML;
+jQuery.contains = Sizzle.contains;
+
+
+
+var dir = function( elem, dir, until ) {
+ var matched = [],
+ truncate = until !== undefined;
+
+ while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {
+ if ( elem.nodeType === 1 ) {
+ if ( truncate && jQuery( elem ).is( until ) ) {
+ break;
+ }
+ matched.push( elem );
+ }
+ }
+ return matched;
+};
+
+
+var siblings = function( n, elem ) {
+ var matched = [];
+
+ for ( ; n; n = n.nextSibling ) {
+ if ( n.nodeType === 1 && n !== elem ) {
+ matched.push( n );
+ }
+ }
+
+ return matched;
+};
+
+
+var rneedsContext = jQuery.expr.match.needsContext;
+
+var rsingleTag = ( /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/ );
+
+
+
+var risSimple = /^.[^:#\[\.,]*$/;
+
+// Implement the identical functionality for filter and not
+function winnow( elements, qualifier, not ) {
+ if ( jQuery.isFunction( qualifier ) ) {
+ return jQuery.grep( elements, function( elem, i ) {
+ /* jshint -W018 */
+ return !!qualifier.call( elem, i, elem ) !== not;
+ } );
+
+ }
+
+ if ( qualifier.nodeType ) {
+ return jQuery.grep( elements, function( elem ) {
+ return ( elem === qualifier ) !== not;
+ } );
+
+ }
+
+ if ( typeof qualifier === "string" ) {
+ if ( risSimple.test( qualifier ) ) {
+ return jQuery.filter( qualifier, elements, not );
+ }
+
+ qualifier = jQuery.filter( qualifier, elements );
+ }
+
+ return jQuery.grep( elements, function( elem ) {
+ return ( jQuery.inArray( elem, qualifier ) > -1 ) !== not;
+ } );
+}
+
+jQuery.filter = function( expr, elems, not ) {
+ var elem = elems[ 0 ];
+
+ if ( not ) {
+ expr = ":not(" + expr + ")";
+ }
+
+ return elems.length === 1 && elem.nodeType === 1 ?
+ jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] :
+ jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {
+ return elem.nodeType === 1;
+ } ) );
+};
+
+jQuery.fn.extend( {
+ find: function( selector ) {
+ var i,
+ ret = [],
+ self = this,
+ len = self.length;
+
+ if ( typeof selector !== "string" ) {
+ return this.pushStack( jQuery( selector ).filter( function() {
+ for ( i = 0; i < len; i++ ) {
+ if ( jQuery.contains( self[ i ], this ) ) {
+ return true;
+ }
+ }
+ } ) );
+ }
+
+ for ( i = 0; i < len; i++ ) {
+ jQuery.find( selector, self[ i ], ret );
+ }
+
+ // Needed because $( selector, context ) becomes $( context ).find( selector )
+ ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret );
+ ret.selector = this.selector ? this.selector + " " + selector : selector;
+ return ret;
+ },
+ filter: function( selector ) {
+ return this.pushStack( winnow( this, selector || [], false ) );
+ },
+ not: function( selector ) {
+ return this.pushStack( winnow( this, selector || [], true ) );
+ },
+ is: function( selector ) {
+ return !!winnow(
+ this,
+
+ // If this is a positional/relative selector, check membership in the returned set
+ // so $("p:first").is("p:last") won't return true for a doc with two "p".
+ typeof selector === "string" && rneedsContext.test( selector ) ?
+ jQuery( selector ) :
+ selector || [],
+ false
+ ).length;
+ }
+} );
+
+
+// Initialize a jQuery object
+
+
+// A central reference to the root jQuery(document)
+var rootjQuery,
+
+ // A simple way to check for HTML strings
+ // Prioritize #id over to avoid XSS via location.hash (#9521)
+ // Strict HTML recognition (#11290: must start with <)
+ rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,
+
+ init = jQuery.fn.init = function( selector, context, root ) {
+ var match, elem;
+
+ // HANDLE: $(""), $(null), $(undefined), $(false)
+ if ( !selector ) {
+ return this;
+ }
+
+ // init accepts an alternate rootjQuery
+ // so migrate can support jQuery.sub (gh-2101)
+ root = root || rootjQuery;
+
+ // Handle HTML strings
+ if ( typeof selector === "string" ) {
+ if ( selector.charAt( 0 ) === "<" &&
+ selector.charAt( selector.length - 1 ) === ">" &&
+ selector.length >= 3 ) {
+
+ // Assume that strings that start and end with <> are HTML and skip the regex check
+ match = [ null, selector, null ];
+
+ } else {
+ match = rquickExpr.exec( selector );
+ }
+
+ // Match html or make sure no context is specified for #id
+ if ( match && ( match[ 1 ] || !context ) ) {
+
+ // HANDLE: $(html) -> $(array)
+ if ( match[ 1 ] ) {
+ context = context instanceof jQuery ? context[ 0 ] : context;
+
+ // scripts is true for back-compat
+ // Intentionally let the error be thrown if parseHTML is not present
+ jQuery.merge( this, jQuery.parseHTML(
+ match[ 1 ],
+ context && context.nodeType ? context.ownerDocument || context : document,
+ true
+ ) );
+
+ // HANDLE: $(html, props)
+ if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {
+ for ( match in context ) {
+
+ // Properties of context are called as methods if possible
+ if ( jQuery.isFunction( this[ match ] ) ) {
+ this[ match ]( context[ match ] );
+
+ // ...and otherwise set as attributes
+ } else {
+ this.attr( match, context[ match ] );
+ }
+ }
+ }
+
+ return this;
+
+ // HANDLE: $(#id)
+ } else {
+ elem = document.getElementById( match[ 2 ] );
+
+ // Check parentNode to catch when Blackberry 4.6 returns
+ // nodes that are no longer in the document #6963
+ if ( elem && elem.parentNode ) {
+
+ // Handle the case where IE and Opera return items
+ // by name instead of ID
+ if ( elem.id !== match[ 2 ] ) {
+ return rootjQuery.find( selector );
+ }
+
+ // Otherwise, we inject the element directly into the jQuery object
+ this.length = 1;
+ this[ 0 ] = elem;
+ }
+
+ this.context = document;
+ this.selector = selector;
+ return this;
+ }
+
+ // HANDLE: $(expr, $(...))
+ } else if ( !context || context.jquery ) {
+ return ( context || root ).find( selector );
+
+ // HANDLE: $(expr, context)
+ // (which is just equivalent to: $(context).find(expr)
+ } else {
+ return this.constructor( context ).find( selector );
+ }
+
+ // HANDLE: $(DOMElement)
+ } else if ( selector.nodeType ) {
+ this.context = this[ 0 ] = selector;
+ this.length = 1;
+ return this;
+
+ // HANDLE: $(function)
+ // Shortcut for document ready
+ } else if ( jQuery.isFunction( selector ) ) {
+ return typeof root.ready !== "undefined" ?
+ root.ready( selector ) :
+
+ // Execute immediately if ready is not present
+ selector( jQuery );
+ }
+
+ if ( selector.selector !== undefined ) {
+ this.selector = selector.selector;
+ this.context = selector.context;
+ }
+
+ return jQuery.makeArray( selector, this );
+ };
+
+// Give the init function the jQuery prototype for later instantiation
+init.prototype = jQuery.fn;
+
+// Initialize central reference
+rootjQuery = jQuery( document );
+
+
+var rparentsprev = /^(?:parents|prev(?:Until|All))/,
+
+ // methods guaranteed to produce a unique set when starting from a unique set
+ guaranteedUnique = {
+ children: true,
+ contents: true,
+ next: true,
+ prev: true
+ };
+
+jQuery.fn.extend( {
+ has: function( target ) {
+ var i,
+ targets = jQuery( target, this ),
+ len = targets.length;
+
+ return this.filter( function() {
+ for ( i = 0; i < len; i++ ) {
+ if ( jQuery.contains( this, targets[ i ] ) ) {
+ return true;
+ }
+ }
+ } );
+ },
+
+ closest: function( selectors, context ) {
+ var cur,
+ i = 0,
+ l = this.length,
+ matched = [],
+ pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ?
+ jQuery( selectors, context || this.context ) :
+ 0;
+
+ for ( ; i < l; i++ ) {
+ for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {
+
+ // Always skip document fragments
+ if ( cur.nodeType < 11 && ( pos ?
+ pos.index( cur ) > -1 :
+
+ // Don't pass non-elements to Sizzle
+ cur.nodeType === 1 &&
+ jQuery.find.matchesSelector( cur, selectors ) ) ) {
+
+ matched.push( cur );
+ break;
+ }
+ }
+ }
+
+ return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );
+ },
+
+ // Determine the position of an element within
+ // the matched set of elements
+ index: function( elem ) {
+
+ // No argument, return index in parent
+ if ( !elem ) {
+ return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;
+ }
+
+ // index in selector
+ if ( typeof elem === "string" ) {
+ return jQuery.inArray( this[ 0 ], jQuery( elem ) );
+ }
+
+ // Locate the position of the desired element
+ return jQuery.inArray(
+
+ // If it receives a jQuery object, the first element is used
+ elem.jquery ? elem[ 0 ] : elem, this );
+ },
+
+ add: function( selector, context ) {
+ return this.pushStack(
+ jQuery.uniqueSort(
+ jQuery.merge( this.get(), jQuery( selector, context ) )
+ )
+ );
+ },
+
+ addBack: function( selector ) {
+ return this.add( selector == null ?
+ this.prevObject : this.prevObject.filter( selector )
+ );
+ }
+} );
+
+function sibling( cur, dir ) {
+ do {
+ cur = cur[ dir ];
+ } while ( cur && cur.nodeType !== 1 );
+
+ return cur;
+}
+
+jQuery.each( {
+ parent: function( elem ) {
+ var parent = elem.parentNode;
+ return parent && parent.nodeType !== 11 ? parent : null;
+ },
+ parents: function( elem ) {
+ return dir( elem, "parentNode" );
+ },
+ parentsUntil: function( elem, i, until ) {
+ return dir( elem, "parentNode", until );
+ },
+ next: function( elem ) {
+ return sibling( elem, "nextSibling" );
+ },
+ prev: function( elem ) {
+ return sibling( elem, "previousSibling" );
+ },
+ nextAll: function( elem ) {
+ return dir( elem, "nextSibling" );
+ },
+ prevAll: function( elem ) {
+ return dir( elem, "previousSibling" );
+ },
+ nextUntil: function( elem, i, until ) {
+ return dir( elem, "nextSibling", until );
+ },
+ prevUntil: function( elem, i, until ) {
+ return dir( elem, "previousSibling", until );
+ },
+ siblings: function( elem ) {
+ return siblings( ( elem.parentNode || {} ).firstChild, elem );
+ },
+ children: function( elem ) {
+ return siblings( elem.firstChild );
+ },
+ contents: function( elem ) {
+ return jQuery.nodeName( elem, "iframe" ) ?
+ elem.contentDocument || elem.contentWindow.document :
+ jQuery.merge( [], elem.childNodes );
+ }
+}, function( name, fn ) {
+ jQuery.fn[ name ] = function( until, selector ) {
+ var ret = jQuery.map( this, fn, until );
+
+ if ( name.slice( -5 ) !== "Until" ) {
+ selector = until;
+ }
+
+ if ( selector && typeof selector === "string" ) {
+ ret = jQuery.filter( selector, ret );
+ }
+
+ if ( this.length > 1 ) {
+
+ // Remove duplicates
+ if ( !guaranteedUnique[ name ] ) {
+ ret = jQuery.uniqueSort( ret );
+ }
+
+ // Reverse order for parents* and prev-derivatives
+ if ( rparentsprev.test( name ) ) {
+ ret = ret.reverse();
+ }
+ }
+
+ return this.pushStack( ret );
+ };
+} );
+var rnotwhite = ( /\S+/g );
+
+
+
+// Convert String-formatted options into Object-formatted ones
+function createOptions( options ) {
+ var object = {};
+ jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) {
+ object[ flag ] = true;
+ } );
+ return object;
+}
+
+/*
+ * Create a callback list using the following parameters:
+ *
+ * options: an optional list of space-separated options that will change how
+ * the callback list behaves or a more traditional option object
+ *
+ * By default a callback list will act like an event callback list and can be
+ * "fired" multiple times.
+ *
+ * Possible options:
*
* once: will ensure the callback list can only be fired once (like a Deferred)
*
@@ -1006,155 +3191,186 @@ jQuery.Callbacks = function( options ) {
// Convert options from String-formatted to Object-formatted if needed
// (we check in cache first)
options = typeof options === "string" ?
- ( optionsCache[ options ] || createOptions( options ) ) :
+ createOptions( options ) :
jQuery.extend( {}, options );
var // Flag to know if list is currently firing
firing,
- // Last fire value (for non-forgettable lists)
+
+ // Last fire value for non-forgettable lists
memory,
+
// Flag to know if list was already fired
fired,
- // End of the loop when firing
- firingLength,
- // Index of currently firing callback (modified by remove if needed)
- firingIndex,
- // First callback to fire (used internally by add and fireWith)
- firingStart,
+
+ // Flag to prevent firing
+ locked,
+
// Actual callback list
list = [],
- // Stack of fire calls for repeatable lists
- stack = !options.once && [],
+
+ // Queue of execution data for repeatable lists
+ queue = [],
+
+ // Index of currently firing callback (modified by add/remove as needed)
+ firingIndex = -1,
+
// Fire callbacks
- fire = function( data ) {
- memory = options.memory && data;
- fired = true;
- firingIndex = firingStart || 0;
- firingStart = 0;
- firingLength = list.length;
- firing = true;
- for ( ; list && firingIndex < firingLength; firingIndex++ ) {
- if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) {
- memory = false; // To prevent further calls using add
- break;
+ fire = function() {
+
+ // Enforce single-firing
+ locked = options.once;
+
+ // Execute callbacks for all pending executions,
+ // respecting firingIndex overrides and runtime changes
+ fired = firing = true;
+ for ( ; queue.length; firingIndex = -1 ) {
+ memory = queue.shift();
+ while ( ++firingIndex < list.length ) {
+
+ // Run callback and check for early termination
+ if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&
+ options.stopOnFalse ) {
+
+ // Jump to end and forget the data so .add doesn't re-fire
+ firingIndex = list.length;
+ memory = false;
+ }
}
}
+
+ // Forget the data if we're done with it
+ if ( !options.memory ) {
+ memory = false;
+ }
+
firing = false;
- if ( list ) {
- if ( stack ) {
- if ( stack.length ) {
- fire( stack.shift() );
- }
- } else if ( memory ) {
+
+ // Clean up if we're done firing for good
+ if ( locked ) {
+
+ // Keep an empty list if we have data for future add calls
+ if ( memory ) {
list = [];
+
+ // Otherwise, this object is spent
} else {
- self.disable();
+ list = "";
}
}
},
+
// Actual Callbacks object
self = {
+
// Add a callback or a collection of callbacks to the list
add: function() {
if ( list ) {
- // First, we save the current length
- var start = list.length;
- (function add( args ) {
+
+ // If we have memory from a past run, we should fire after adding
+ if ( memory && !firing ) {
+ firingIndex = list.length - 1;
+ queue.push( memory );
+ }
+
+ ( function add( args ) {
jQuery.each( args, function( _, arg ) {
- var type = jQuery.type( arg );
- if ( type === "function" ) {
+ if ( jQuery.isFunction( arg ) ) {
if ( !options.unique || !self.has( arg ) ) {
list.push( arg );
}
- } else if ( arg && arg.length && type !== "string" ) {
+ } else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) {
+
// Inspect recursively
add( arg );
}
- });
- })( arguments );
- // Do we need to add the callbacks to the
- // current firing batch?
- if ( firing ) {
- firingLength = list.length;
- // With memory, if we're not firing then
- // we should call right away
- } else if ( memory ) {
- firingStart = start;
- fire( memory );
+ } );
+ } )( arguments );
+
+ if ( memory && !firing ) {
+ fire();
}
}
return this;
},
+
// Remove a callback from the list
remove: function() {
- if ( list ) {
- jQuery.each( arguments, function( _, arg ) {
- var index;
- while( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
- list.splice( index, 1 );
- // Handle firing indexes
- if ( firing ) {
- if ( index <= firingLength ) {
- firingLength--;
- }
- if ( index <= firingIndex ) {
- firingIndex--;
- }
- }
+ jQuery.each( arguments, function( _, arg ) {
+ var index;
+ while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
+ list.splice( index, 1 );
+
+ // Handle firing indexes
+ if ( index <= firingIndex ) {
+ firingIndex--;
}
- });
- }
+ }
+ } );
return this;
},
+
// Check if a given callback is in the list.
// If no argument is given, return whether or not list has callbacks attached.
has: function( fn ) {
- return fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length );
+ return fn ?
+ jQuery.inArray( fn, list ) > -1 :
+ list.length > 0;
},
+
// Remove all callbacks from the list
empty: function() {
- list = [];
+ if ( list ) {
+ list = [];
+ }
return this;
},
- // Have the list do nothing anymore
+
+ // Disable .fire and .add
+ // Abort any current/pending executions
+ // Clear all callbacks and values
disable: function() {
- list = stack = memory = undefined;
+ locked = queue = [];
+ list = memory = "";
return this;
},
- // Is it disabled?
disabled: function() {
return !list;
},
- // Lock the list in its current state
+
+ // Disable .fire
+ // Also disable .add unless we have memory (since it would have no effect)
+ // Abort any pending executions
lock: function() {
- stack = undefined;
+ locked = true;
if ( !memory ) {
self.disable();
}
return this;
},
- // Is it locked?
locked: function() {
- return !stack;
+ return !!locked;
},
+
// Call all callbacks with the given context and arguments
fireWith: function( context, args ) {
- args = args || [];
- args = [ context, args.slice ? args.slice() : args ];
- if ( list && ( !fired || stack ) ) {
- if ( firing ) {
- stack.push( args );
- } else {
- fire( args );
+ if ( !locked ) {
+ args = args || [];
+ args = [ context, args.slice ? args.slice() : args ];
+ queue.push( args );
+ if ( !firing ) {
+ fire();
}
}
return this;
},
+
// Call all the callbacks with the given arguments
fire: function() {
self.fireWith( this, arguments );
return this;
},
+
// To know if the callbacks have already been called at least once
fired: function() {
return !!fired;
@@ -1163,14 +3379,17 @@ jQuery.Callbacks = function( options ) {
return self;
};
-jQuery.extend({
+
+
+jQuery.extend( {
Deferred: function( func ) {
var tuples = [
+
// action, add listener, listener list, final state
- [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ],
- [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ],
- [ "notify", "progress", jQuery.Callbacks("memory") ]
+ [ "resolve", "done", jQuery.Callbacks( "once memory" ), "resolved" ],
+ [ "reject", "fail", jQuery.Callbacks( "once memory" ), "rejected" ],
+ [ "notify", "progress", jQuery.Callbacks( "memory" ) ]
],
state = "pending",
promise = {
@@ -1183,26 +3402,30 @@ jQuery.extend({
},
then: function( /* fnDone, fnFail, fnProgress */ ) {
var fns = arguments;
- return jQuery.Deferred(function( newDefer ) {
+ return jQuery.Deferred( function( newDefer ) {
jQuery.each( tuples, function( i, tuple ) {
- var action = tuple[ 0 ],
- fn = jQuery.isFunction( fns[ i ] ) && fns[ i ];
+ var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ];
+
// deferred[ done | fail | progress ] for forwarding actions to newDefer
- deferred[ tuple[1] ](function() {
+ deferred[ tuple[ 1 ] ]( function() {
var returned = fn && fn.apply( this, arguments );
if ( returned && jQuery.isFunction( returned.promise ) ) {
returned.promise()
+ .progress( newDefer.notify )
.done( newDefer.resolve )
- .fail( newDefer.reject )
- .progress( newDefer.notify );
+ .fail( newDefer.reject );
} else {
- newDefer[ action + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments );
+ newDefer[ tuple[ 0 ] + "With" ](
+ this === promise ? newDefer.promise() : this,
+ fn ? [ returned ] : arguments
+ );
}
- });
- });
+ } );
+ } );
fns = null;
- }).promise();
+ } ).promise();
},
+
// Get a promise for this deferred
// If obj is provided, the promise aspect is added to the object
promise: function( obj ) {
@@ -1220,342 +3443,396 @@ jQuery.extend({
stateString = tuple[ 3 ];
// promise[ done | fail | progress ] = list.add
- promise[ tuple[1] ] = list.add;
+ promise[ tuple[ 1 ] ] = list.add;
// Handle state
if ( stateString ) {
- list.add(function() {
+ list.add( function() {
+
// state = [ resolved | rejected ]
state = stateString;
- // [ reject_list | resolve_list ].disable; progress_list.lock
- }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock );
- }
+ // [ reject_list | resolve_list ].disable; progress_list.lock
+ }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock );
+ }
+
+ // deferred[ resolve | reject | notify ]
+ deferred[ tuple[ 0 ] ] = function() {
+ deferred[ tuple[ 0 ] + "With" ]( this === deferred ? promise : this, arguments );
+ return this;
+ };
+ deferred[ tuple[ 0 ] + "With" ] = list.fireWith;
+ } );
+
+ // Make the deferred a promise
+ promise.promise( deferred );
+
+ // Call given func if any
+ if ( func ) {
+ func.call( deferred, deferred );
+ }
+
+ // All done!
+ return deferred;
+ },
+
+ // Deferred helper
+ when: function( subordinate /* , ..., subordinateN */ ) {
+ var i = 0,
+ resolveValues = slice.call( arguments ),
+ length = resolveValues.length,
+
+ // the count of uncompleted subordinates
+ remaining = length !== 1 ||
+ ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0,
+
+ // the master Deferred.
+ // If resolveValues consist of only a single Deferred, just use that.
+ deferred = remaining === 1 ? subordinate : jQuery.Deferred(),
+
+ // Update function for both resolve and progress values
+ updateFunc = function( i, contexts, values ) {
+ return function( value ) {
+ contexts[ i ] = this;
+ values[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
+ if ( values === progressValues ) {
+ deferred.notifyWith( contexts, values );
+
+ } else if ( !( --remaining ) ) {
+ deferred.resolveWith( contexts, values );
+ }
+ };
+ },
+
+ progressValues, progressContexts, resolveContexts;
+
+ // add listeners to Deferred subordinates; treat others as resolved
+ if ( length > 1 ) {
+ progressValues = new Array( length );
+ progressContexts = new Array( length );
+ resolveContexts = new Array( length );
+ for ( ; i < length; i++ ) {
+ if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) {
+ resolveValues[ i ].promise()
+ .progress( updateFunc( i, progressContexts, progressValues ) )
+ .done( updateFunc( i, resolveContexts, resolveValues ) )
+ .fail( deferred.reject );
+ } else {
+ --remaining;
+ }
+ }
+ }
+
+ // if we're not waiting on anything, resolve the master
+ if ( !remaining ) {
+ deferred.resolveWith( resolveContexts, resolveValues );
+ }
+
+ return deferred.promise();
+ }
+} );
+
+
+// The deferred used on DOM ready
+var readyList;
+
+jQuery.fn.ready = function( fn ) {
+
+ // Add the callback
+ jQuery.ready.promise().done( fn );
+
+ return this;
+};
+
+jQuery.extend( {
+
+ // Is the DOM ready to be used? Set to true once it occurs.
+ isReady: false,
+
+ // A counter to track how many items to wait for before
+ // the ready event fires. See #6781
+ readyWait: 1,
+
+ // Hold (or release) the ready event
+ holdReady: function( hold ) {
+ if ( hold ) {
+ jQuery.readyWait++;
+ } else {
+ jQuery.ready( true );
+ }
+ },
+
+ // Handle when the DOM is ready
+ ready: function( wait ) {
+
+ // Abort if there are pending holds or we're already ready
+ if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
+ return;
+ }
+
+ // Remember that the DOM is ready
+ jQuery.isReady = true;
+
+ // If a normal DOM Ready event fired, decrement, and wait if need be
+ if ( wait !== true && --jQuery.readyWait > 0 ) {
+ return;
+ }
+
+ // If there are functions bound, to execute
+ readyList.resolveWith( document, [ jQuery ] );
+
+ // Trigger any bound ready events
+ if ( jQuery.fn.triggerHandler ) {
+ jQuery( document ).triggerHandler( "ready" );
+ jQuery( document ).off( "ready" );
+ }
+ }
+} );
+
+/**
+ * Clean-up method for dom ready events
+ */
+function detach() {
+ if ( document.addEventListener ) {
+ document.removeEventListener( "DOMContentLoaded", completed );
+ window.removeEventListener( "load", completed );
+
+ } else {
+ document.detachEvent( "onreadystatechange", completed );
+ window.detachEvent( "onload", completed );
+ }
+}
+
+/**
+ * The ready event handler and self cleanup method
+ */
+function completed() {
+
+ // readyState === "complete" is good enough for us to call the dom ready in oldIE
+ if ( document.addEventListener ||
+ window.event.type === "load" ||
+ document.readyState === "complete" ) {
+
+ detach();
+ jQuery.ready();
+ }
+}
+
+jQuery.ready.promise = function( obj ) {
+ if ( !readyList ) {
+
+ readyList = jQuery.Deferred();
- // deferred[ resolve | reject | notify ]
- deferred[ tuple[0] ] = function() {
- deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments );
- return this;
- };
- deferred[ tuple[0] + "With" ] = list.fireWith;
- });
+ // Catch cases where $(document).ready() is called
+ // after the browser event has already occurred.
+ // Support: IE6-10
+ // Older IE sometimes signals "interactive" too soon
+ if ( document.readyState === "complete" ||
+ ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) {
- // Make the deferred a promise
- promise.promise( deferred );
+ // Handle it asynchronously to allow scripts the opportunity to delay ready
+ window.setTimeout( jQuery.ready );
- // Call given func if any
- if ( func ) {
- func.call( deferred, deferred );
- }
+ // Standards-based browsers support DOMContentLoaded
+ } else if ( document.addEventListener ) {
- // All done!
- return deferred;
- },
+ // Use the handy event callback
+ document.addEventListener( "DOMContentLoaded", completed );
- // Deferred helper
- when: function( subordinate /* , ..., subordinateN */ ) {
- var i = 0,
- resolveValues = core_slice.call( arguments ),
- length = resolveValues.length,
+ // A fallback to window.onload, that will always work
+ window.addEventListener( "load", completed );
- // the count of uncompleted subordinates
- remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0,
+ // If IE event model is used
+ } else {
- // the master Deferred. If resolveValues consist of only a single Deferred, just use that.
- deferred = remaining === 1 ? subordinate : jQuery.Deferred(),
+ // Ensure firing before onload, maybe late but safe also for iframes
+ document.attachEvent( "onreadystatechange", completed );
- // Update function for both resolve and progress values
- updateFunc = function( i, contexts, values ) {
- return function( value ) {
- contexts[ i ] = this;
- values[ i ] = arguments.length > 1 ? core_slice.call( arguments ) : value;
- if( values === progressValues ) {
- deferred.notifyWith( contexts, values );
- } else if ( !( --remaining ) ) {
- deferred.resolveWith( contexts, values );
- }
- };
- },
+ // A fallback to window.onload, that will always work
+ window.attachEvent( "onload", completed );
- progressValues, progressContexts, resolveContexts;
+ // If IE and not a frame
+ // continually check to see if the document is ready
+ var top = false;
- // add listeners to Deferred subordinates; treat others as resolved
- if ( length > 1 ) {
- progressValues = new Array( length );
- progressContexts = new Array( length );
- resolveContexts = new Array( length );
- for ( ; i < length; i++ ) {
- if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) {
- resolveValues[ i ].promise()
- .done( updateFunc( i, resolveContexts, resolveValues ) )
- .fail( deferred.reject )
- .progress( updateFunc( i, progressContexts, progressValues ) );
- } else {
- --remaining;
- }
- }
- }
+ try {
+ top = window.frameElement == null && document.documentElement;
+ } catch ( e ) {}
- // if we're not waiting on anything, resolve the master
- if ( !remaining ) {
- deferred.resolveWith( resolveContexts, resolveValues );
- }
+ if ( top && top.doScroll ) {
+ ( function doScrollCheck() {
+ if ( !jQuery.isReady ) {
- return deferred.promise();
- }
-});
-jQuery.support = (function() {
+ try {
- var support, all, a,
- input, select, fragment,
- opt, eventName, isSupported, i,
- div = document.createElement("div");
+ // Use the trick by Diego Perini
+ // http://javascript.nwbox.com/IEContentLoaded/
+ top.doScroll( "left" );
+ } catch ( e ) {
+ return window.setTimeout( doScrollCheck, 50 );
+ }
- // Setup
- div.setAttribute( "className", "t" );
- div.innerHTML = " a ";
+ // detach all dom ready events
+ detach();
- // Support tests won't run in some limited or non-browser environments
- all = div.getElementsByTagName("*");
- a = div.getElementsByTagName("a")[ 0 ];
- if ( !all || !a || !all.length ) {
- return {};
+ // and execute any waiting functions
+ jQuery.ready();
+ }
+ } )();
+ }
+ }
}
+ return readyList.promise( obj );
+};
- // First batch of tests
- select = document.createElement("select");
- opt = select.appendChild( document.createElement("option") );
- input = div.getElementsByTagName("input")[ 0 ];
+// Kick off the DOM ready check even if the user does not
+jQuery.ready.promise();
- a.style.cssText = "top:1px;float:left;opacity:.5";
- support = {
- // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7)
- getSetAttribute: div.className !== "t",
- // IE strips leading whitespace when .innerHTML is used
- leadingWhitespace: div.firstChild.nodeType === 3,
- // Make sure that tbody elements aren't automatically inserted
- // IE will insert them into empty tables
- tbody: !div.getElementsByTagName("tbody").length,
- // Make sure that link elements get serialized correctly by innerHTML
- // This requires a wrapper element in IE
- htmlSerialize: !!div.getElementsByTagName("link").length,
+// Support: IE<9
+// Iteration over object's inherited properties before its own
+var i;
+for ( i in jQuery( support ) ) {
+ break;
+}
+support.ownFirst = i === "0";
- // Get the style information from getAttribute
- // (IE uses .cssText instead)
- style: /top/.test( a.getAttribute("style") ),
+// Note: most support tests are defined in their respective modules.
+// false until the test is run
+support.inlineBlockNeedsLayout = false;
- // Make sure that URLs aren't manipulated
- // (IE normalizes it by default)
- hrefNormalized: a.getAttribute("href") === "/a",
+// Execute ASAP in case we need to set body.style.zoom
+jQuery( function() {
- // Make sure that element opacity exists
- // (IE uses filter instead)
- // Use a regex to work around a WebKit issue. See #5145
- opacity: /^0.5/.test( a.style.opacity ),
+ // Minified: var a,b,c,d
+ var val, div, body, container;
- // Verify style float existence
- // (IE uses styleFloat instead of cssFloat)
- cssFloat: !!a.style.cssFloat,
+ body = document.getElementsByTagName( "body" )[ 0 ];
+ if ( !body || !body.style ) {
- // Check the default checkbox/radio value ("" on WebKit; "on" elsewhere)
- checkOn: !!input.value,
+ // Return for frameset docs that don't have a body
+ return;
+ }
- // Make sure that a selected-by-default option has a working selected property.
- // (WebKit defaults to false instead of true, IE too, if it's in an optgroup)
- optSelected: opt.selected,
+ // Setup
+ div = document.createElement( "div" );
+ container = document.createElement( "div" );
+ container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px";
+ body.appendChild( container ).appendChild( div );
- // Tests for enctype support on a form (#6743)
- enctype: !!document.createElement("form").enctype,
+ if ( typeof div.style.zoom !== "undefined" ) {
- // Makes sure cloning an html5 element does not cause problems
- // Where outerHTML is undefined, this still works
- html5Clone: document.createElement("nav").cloneNode( true ).outerHTML !== "<:nav>",
+ // Support: IE<8
+ // Check if natively block-level elements act like inline-block
+ // elements when setting their display to 'inline' and giving
+ // them layout
+ div.style.cssText = "display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1";
- // jQuery.support.boxModel DEPRECATED in 1.8 since we don't support Quirks Mode
- boxModel: document.compatMode === "CSS1Compat",
+ support.inlineBlockNeedsLayout = val = div.offsetWidth === 3;
+ if ( val ) {
- // Will be defined later
- deleteExpando: true,
- noCloneEvent: true,
- inlineBlockNeedsLayout: false,
- shrinkWrapBlocks: false,
- reliableMarginRight: true,
- boxSizingReliable: true,
- pixelPosition: false
- };
+ // Prevent IE 6 from affecting layout for positioned elements #11048
+ // Prevent IE from shrinking the body in IE 7 mode #12869
+ // Support: IE<8
+ body.style.zoom = 1;
+ }
+ }
- // Make sure checked status is properly cloned
- input.checked = true;
- support.noCloneChecked = input.cloneNode( true ).checked;
+ body.removeChild( container );
+} );
- // Make sure that the options inside disabled selects aren't marked as disabled
- // (WebKit marks them as disabled)
- select.disabled = true;
- support.optDisabled = !opt.disabled;
+
+( function() {
+ var div = document.createElement( "div" );
// Support: IE<9
+ support.deleteExpando = true;
try {
delete div.test;
- } catch( e ) {
+ } catch ( e ) {
support.deleteExpando = false;
}
- // Check if we can trust getAttribute("value")
- input = document.createElement("input");
- input.setAttribute( "value", "" );
- support.input = input.getAttribute( "value" ) === "";
-
- // Check if an input maintains its value after becoming a radio
- input.value = "t";
- input.setAttribute( "type", "radio" );
- support.radioValue = input.value === "t";
-
- // #11217 - WebKit loses check when the name is after the checked attribute
- input.setAttribute( "checked", "t" );
- input.setAttribute( "name", "t" );
-
- fragment = document.createDocumentFragment();
- fragment.appendChild( input );
-
- // Check if a disconnected checkbox will retain its checked
- // value of true after appended to the DOM (IE6/7)
- support.appendChecked = input.checked;
+ // Null elements to avoid leaks in IE.
+ div = null;
+} )();
+var acceptData = function( elem ) {
+ var noData = jQuery.noData[ ( elem.nodeName + " " ).toLowerCase() ],
+ nodeType = +elem.nodeType || 1;
- // WebKit doesn't clone checked state correctly in fragments
- support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked;
+ // Do not set data on non-element DOM nodes because it will not be cleared (#8335).
+ return nodeType !== 1 && nodeType !== 9 ?
+ false :
- // Support: IE<9
- // Opera does not clone events (and typeof div.attachEvent === undefined).
- // IE9-10 clones events bound via attachEvent, but they don't trigger with .click()
- if ( div.attachEvent ) {
- div.attachEvent( "onclick", function() {
- support.noCloneEvent = false;
- });
+ // Nodes accept data unless otherwise specified; rejection can be conditional
+ !noData || noData !== true && elem.getAttribute( "classid" ) === noData;
+};
- div.cloneNode( true ).click();
- }
- // Support: IE<9 (lack submit/change bubble), Firefox 17+ (lack focusin event)
- // Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP), test/csp.php
- for ( i in { submit: true, change: true, focusin: true }) {
- div.setAttribute( eventName = "on" + i, "t" );
- support[ i + "Bubbles" ] = eventName in window || div.attributes[ eventName ].expando === false;
- }
- div.style.backgroundClip = "content-box";
- div.cloneNode( true ).style.backgroundClip = "";
- support.clearCloneStyle = div.style.backgroundClip === "content-box";
+var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
+ rmultiDash = /([A-Z])/g;
- // Run tests that need a body at doc ready
- jQuery(function() {
- var container, marginDiv, tds,
- divReset = "padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",
- body = document.getElementsByTagName("body")[0];
+function dataAttr( elem, key, data ) {
- if ( !body ) {
- // Return for frameset docs that don't have a body
- return;
- }
+ // If nothing was found internally, try to fetch any
+ // data from the HTML5 data-* attribute
+ if ( data === undefined && elem.nodeType === 1 ) {
- container = document.createElement("div");
- container.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px";
+ var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase();
- body.appendChild( container ).appendChild( div );
+ data = elem.getAttribute( name );
- // Support: IE8
- // Check if table cells still have offsetWidth/Height when they are set
- // to display:none and there are still other visible table cells in a
- // table row; if so, offsetWidth/Height are not reliable for use when
- // determining if an element has been hidden directly using
- // display:none (it is still safe to use offsets if a parent element is
- // hidden; don safety goggles and see bug #4512 for more information).
- div.innerHTML = "";
- tds = div.getElementsByTagName("td");
- tds[ 0 ].style.cssText = "padding:0;margin:0;border:0;display:none";
- isSupported = ( tds[ 0 ].offsetHeight === 0 );
+ if ( typeof data === "string" ) {
+ try {
+ data = data === "true" ? true :
+ data === "false" ? false :
+ data === "null" ? null :
- tds[ 0 ].style.display = "";
- tds[ 1 ].style.display = "none";
+ // Only convert to a number if it doesn't change the string
+ +data + "" === data ? +data :
+ rbrace.test( data ) ? jQuery.parseJSON( data ) :
+ data;
+ } catch ( e ) {}
- // Support: IE8
- // Check if empty table cells still have offsetWidth/Height
- support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 );
+ // Make sure we set the data so it isn't changed later
+ jQuery.data( elem, key, data );
- // Check box-sizing and margin behavior
- div.innerHTML = "";
- div.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;";
- support.boxSizing = ( div.offsetWidth === 4 );
- support.doesNotIncludeMarginInBodyOffset = ( body.offsetTop !== 1 );
+ } else {
+ data = undefined;
+ }
+ }
- // Use window.getComputedStyle because jsdom on node.js will break without it.
- if ( window.getComputedStyle ) {
- support.pixelPosition = ( window.getComputedStyle( div, null ) || {} ).top !== "1%";
- support.boxSizingReliable = ( window.getComputedStyle( div, null ) || { width: "4px" } ).width === "4px";
+ return data;
+}
- // Check if div with explicit width and no margin-right incorrectly
- // gets computed margin-right based on width of container. (#3333)
- // Fails in WebKit before Feb 2011 nightlies
- // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
- marginDiv = div.appendChild( document.createElement("div") );
- marginDiv.style.cssText = div.style.cssText = divReset;
- marginDiv.style.marginRight = marginDiv.style.width = "0";
- div.style.width = "1px";
+// checks a cache object for emptiness
+function isEmptyDataObject( obj ) {
+ var name;
+ for ( name in obj ) {
- support.reliableMarginRight =
- !parseFloat( ( window.getComputedStyle( marginDiv, null ) || {} ).marginRight );
+ // if the public data object is empty, the private is still empty
+ if ( name === "data" && jQuery.isEmptyObject( obj[ name ] ) ) {
+ continue;
}
-
- if ( typeof div.style.zoom !== core_strundefined ) {
- // Support: IE<8
- // Check if natively block-level elements act like inline-block
- // elements when setting their display to 'inline' and giving
- // them layout
- div.innerHTML = "";
- div.style.cssText = divReset + "width:1px;padding:1px;display:inline;zoom:1";
- support.inlineBlockNeedsLayout = ( div.offsetWidth === 3 );
-
- // Support: IE6
- // Check if elements with layout shrink-wrap their children
- div.style.display = "block";
- div.innerHTML = "
";
- div.firstChild.style.width = "5px";
- support.shrinkWrapBlocks = ( div.offsetWidth !== 3 );
-
- if ( support.inlineBlockNeedsLayout ) {
- // Prevent IE 6 from affecting layout for positioned elements #11048
- // Prevent IE from shrinking the body in IE 7 mode #12869
- // Support: IE<8
- body.style.zoom = 1;
- }
+ if ( name !== "toJSON" ) {
+ return false;
}
+ }
- body.removeChild( container );
-
- // Null elements to avoid leaks in IE
- container = div = tds = marginDiv = null;
- });
-
- // Null elements to avoid leaks in IE
- all = select = fragment = opt = a = input = null;
-
- return support;
-})();
-
-var rbrace = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/,
- rmultiDash = /([A-Z])/g;
+ return true;
+}
-function internalData( elem, name, data, pvt /* Internal Use Only */ ){
- if ( !jQuery.acceptData( elem ) ) {
+function internalData( elem, name, data, pvt /* Internal Use Only */ ) {
+ if ( !acceptData( elem ) ) {
return;
}
- var thisCache, ret,
+ var ret, thisCache,
internalKey = jQuery.expando,
- getByName = typeof name === "string",
// We have to handle DOM nodes and JS objects differently because IE6-7
// can't GC object references properly across the DOM-JS boundary
@@ -1571,28 +3848,27 @@ function internalData( elem, name, data, pvt /* Internal Use Only */ ){
// Avoid doing any more work than we need to when trying to get data on an
// object that has no data at all
- if ( (!id || !cache[id] || (!pvt && !cache[id].data)) && getByName && data === undefined ) {
+ if ( ( !id || !cache[ id ] || ( !pvt && !cache[ id ].data ) ) &&
+ data === undefined && typeof name === "string" ) {
return;
}
if ( !id ) {
+
// Only DOM nodes need a new unique ID for each element since their data
// ends up in the global cache
if ( isNode ) {
- elem[ internalKey ] = id = core_deletedIds.pop() || jQuery.guid++;
+ id = elem[ internalKey ] = deletedIds.pop() || jQuery.guid++;
} else {
id = internalKey;
}
}
if ( !cache[ id ] ) {
- cache[ id ] = {};
- // Avoids exposing jQuery metadata on plain JS objects when the object
+ // Avoid exposing jQuery metadata on plain JS objects when the object
// is serialized using JSON.stringify
- if ( !isNode ) {
- cache[ id ].toJSON = jQuery.noop;
- }
+ cache[ id ] = isNode ? {} : { toJSON: jQuery.noop };
}
// An object can be passed to jQuery.data instead of a key/value pair; this gets
@@ -1624,7 +3900,7 @@ function internalData( elem, name, data, pvt /* Internal Use Only */ ){
// Check for both converted-to-camel and non-converted data property names
// If a data property was specified
- if ( getByName ) {
+ if ( typeof name === "string" ) {
// First Try to find as-is property data
ret = thisCache[ name ];
@@ -1643,11 +3919,11 @@ function internalData( elem, name, data, pvt /* Internal Use Only */ ){
}
function internalRemoveData( elem, name, pvt ) {
- if ( !jQuery.acceptData( elem ) ) {
+ if ( !acceptData( elem ) ) {
return;
}
- var i, l, thisCache,
+ var thisCache, i,
isNode = elem.nodeType,
// See jQuery.data for more information
@@ -1679,10 +3955,11 @@ function internalRemoveData( elem, name, pvt ) {
if ( name in thisCache ) {
name = [ name ];
} else {
- name = name.split(" ");
+ name = name.split( " " );
}
}
} else {
+
// If "name" is an array of keys...
// When data is initially created, via ("key", "val") signature,
// keys will be converted to camelCase.
@@ -1692,13 +3969,14 @@ function internalRemoveData( elem, name, pvt ) {
name = name.concat( jQuery.map( name, jQuery.camelCase ) );
}
- for ( i = 0, l = name.length; i < l; i++ ) {
- delete thisCache[ name[i] ];
+ i = name.length;
+ while ( i-- ) {
+ delete thisCache[ name[ i ] ];
}
// If there is no data left in the cache, we want to continue
// and let the cache object itself get destroyed
- if ( !( pvt ? isEmptyDataObject : jQuery.isEmptyObject )( thisCache ) ) {
+ if ( pvt ? !isEmptyDataObject( thisCache ) : !jQuery.isEmptyObject( thisCache ) ) {
return;
}
}
@@ -1720,33 +3998,32 @@ function internalRemoveData( elem, name, pvt ) {
jQuery.cleanData( [ elem ], true );
// Use delete when supported for expandos or `cache` is not a window per isWindow (#10080)
- } else if ( jQuery.support.deleteExpando || cache != cache.window ) {
+ /* jshint eqeqeq: false */
+ } else if ( support.deleteExpando || cache != cache.window ) {
+ /* jshint eqeqeq: true */
delete cache[ id ];
- // When all else fails, null
+ // When all else fails, undefined
} else {
- cache[ id ] = null;
+ cache[ id ] = undefined;
}
}
-jQuery.extend({
+jQuery.extend( {
cache: {},
- // Unique for each copy of jQuery on the page
- // Non-digits removed to match rinlinejQuery
- expando: "jQuery" + ( core_version + Math.random() ).replace( /\D/g, "" ),
-
- // The following elements throw uncatchable exceptions if you
- // attempt to add expando properties to them.
+ // The following elements (space-suffixed to avoid Object.prototype collisions)
+ // throw uncatchable exceptions if you attempt to set expando properties
noData: {
- "embed": true,
- // Ban all objects except for Flash (which handle expandos)
- "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
- "applet": true
+ "applet ": true,
+ "embed ": true,
+
+ // ...but Flash objects (which have this classid) *can* handle expandos
+ "object ": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
},
hasData: function( elem ) {
- elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ];
+ elem = elem.nodeType ? jQuery.cache[ elem[ jQuery.expando ] ] : elem[ jQuery.expando ];
return !!elem && !isEmptyDataObject( elem );
},
@@ -1765,127 +4042,72 @@ jQuery.extend({
_removeData: function( elem, name ) {
return internalRemoveData( elem, name, true );
- },
-
- // A method for determining if a DOM node can handle the data expando
- acceptData: function( elem ) {
- // Do not set data on non-element because it will not be cleared (#8335).
- if ( elem.nodeType && elem.nodeType !== 1 && elem.nodeType !== 9 ) {
- return false;
- }
-
- var noData = elem.nodeName && jQuery.noData[ elem.nodeName.toLowerCase() ];
-
- // nodes accept data unless otherwise specified; rejection can be conditional
- return !noData || noData !== true && elem.getAttribute("classid") === noData;
}
-});
+} );
-jQuery.fn.extend({
+jQuery.fn.extend( {
data: function( key, value ) {
- var attrs, name,
- elem = this[0],
- i = 0,
- data = null;
-
- // Gets all values
- if ( key === undefined ) {
- if ( this.length ) {
- data = jQuery.data( elem );
-
- if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) {
- attrs = elem.attributes;
- for ( ; i < attrs.length; i++ ) {
- name = attrs[i].name;
-
- if ( !name.indexOf( "data-" ) ) {
- name = jQuery.camelCase( name.slice(5) );
-
- dataAttr( elem, name, data[ name ] );
- }
- }
- jQuery._data( elem, "parsedAttrs", true );
- }
- }
-
- return data;
- }
-
- // Sets multiple values
- if ( typeof key === "object" ) {
- return this.each(function() {
- jQuery.data( this, key );
- });
- }
-
- return jQuery.access( this, function( value ) {
-
- if ( value === undefined ) {
- // Try to fetch any internally stored data first
- return elem ? dataAttr( elem, key, jQuery.data( elem, key ) ) : null;
- }
-
- this.each(function() {
- jQuery.data( this, key, value );
- });
- }, null, value, arguments.length > 1, null, true );
- },
-
- removeData: function( key ) {
- return this.each(function() {
- jQuery.removeData( this, key );
- });
- }
-});
-
-function dataAttr( elem, key, data ) {
- // If nothing was found internally, try to fetch any
- // data from the HTML5 data-* attribute
- if ( data === undefined && elem.nodeType === 1 ) {
-
- var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase();
-
- data = elem.getAttribute( name );
-
- if ( typeof data === "string" ) {
- try {
- data = data === "true" ? true :
- data === "false" ? false :
- data === "null" ? null :
- // Only convert to a number if it doesn't change the string
- +data + "" === data ? +data :
- rbrace.test( data ) ? jQuery.parseJSON( data ) :
- data;
- } catch( e ) {}
+ var i, name, data,
+ elem = this[ 0 ],
+ attrs = elem && elem.attributes;
- // Make sure we set the data so it isn't changed later
- jQuery.data( elem, key, data );
+ // Special expections of .data basically thwart jQuery.access,
+ // so implement the relevant behavior ourselves
- } else {
- data = undefined;
- }
- }
+ // Gets all values
+ if ( key === undefined ) {
+ if ( this.length ) {
+ data = jQuery.data( elem );
- return data;
-}
+ if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) {
+ i = attrs.length;
+ while ( i-- ) {
-// checks a cache object for emptiness
-function isEmptyDataObject( obj ) {
- var name;
- for ( name in obj ) {
+ // Support: IE11+
+ // The attrs elements can be null (#14894)
+ if ( attrs[ i ] ) {
+ name = attrs[ i ].name;
+ if ( name.indexOf( "data-" ) === 0 ) {
+ name = jQuery.camelCase( name.slice( 5 ) );
+ dataAttr( elem, name, data[ name ] );
+ }
+ }
+ }
+ jQuery._data( elem, "parsedAttrs", true );
+ }
+ }
- // if the public data object is empty, the private is still empty
- if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) {
- continue;
+ return data;
}
- if ( name !== "toJSON" ) {
- return false;
+
+ // Sets multiple values
+ if ( typeof key === "object" ) {
+ return this.each( function() {
+ jQuery.data( this, key );
+ } );
}
+
+ return arguments.length > 1 ?
+
+ // Sets one value
+ this.each( function() {
+ jQuery.data( this, key, value );
+ } ) :
+
+ // Gets one value
+ // Try to fetch any internally stored data first
+ elem ? dataAttr( elem, key, jQuery.data( elem, key ) ) : undefined;
+ },
+
+ removeData: function( key ) {
+ return this.each( function() {
+ jQuery.removeData( this, key );
+ } );
}
+} );
- return true;
-}
-jQuery.extend({
+
+jQuery.extend( {
queue: function( elem, type, data ) {
var queue;
@@ -1895,8 +4117,8 @@ jQuery.extend({
// Speed up dequeue by getting out quickly if this is just a lookup
if ( data ) {
- if ( !queue || jQuery.isArray(data) ) {
- queue = jQuery._data( elem, type, jQuery.makeArray(data) );
+ if ( !queue || jQuery.isArray( data ) ) {
+ queue = jQuery._data( elem, type, jQuery.makeArray( data ) );
} else {
queue.push( data );
}
@@ -1922,7 +4144,6 @@ jQuery.extend({
startLength--;
}
- hooks.cur = fn;
if ( fn ) {
// Add a progress sentinel to prevent the fx queue from being
@@ -1941,19 +4162,20 @@ jQuery.extend({
}
},
- // not intended for public consumption - generates a queueHooks object, or returns the current one
+ // not intended for public consumption - generates a queueHooks object,
+ // or returns the current one
_queueHooks: function( elem, type ) {
var key = type + "queueHooks";
return jQuery._data( elem, key ) || jQuery._data( elem, key, {
- empty: jQuery.Callbacks("once memory").add(function() {
+ empty: jQuery.Callbacks( "once memory" ).add( function() {
jQuery._removeData( elem, type + "queue" );
jQuery._removeData( elem, key );
- })
- });
+ } )
+ } );
}
-});
+} );
-jQuery.fn.extend({
+jQuery.fn.extend( {
queue: function( type, data ) {
var setter = 2;
@@ -1964,43 +4186,31 @@ jQuery.fn.extend({
}
if ( arguments.length < setter ) {
- return jQuery.queue( this[0], type );
+ return jQuery.queue( this[ 0 ], type );
}
return data === undefined ?
this :
- this.each(function() {
+ this.each( function() {
var queue = jQuery.queue( this, type, data );
// ensure a hooks for this queue
jQuery._queueHooks( this, type );
- if ( type === "fx" && queue[0] !== "inprogress" ) {
+ if ( type === "fx" && queue[ 0 ] !== "inprogress" ) {
jQuery.dequeue( this, type );
}
- });
+ } );
},
dequeue: function( type ) {
- return this.each(function() {
+ return this.each( function() {
jQuery.dequeue( this, type );
- });
- },
- // Based off of the plugin by Clint Helfers, with permission.
- // http://blindsignals.com/index.php/2009/07/jquery-delay/
- delay: function( time, type ) {
- time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
- type = type || "fx";
-
- return this.queue( type, function( next, hooks ) {
- var timeout = setTimeout( next, time );
- hooks.stop = function() {
- clearTimeout( timeout );
- };
- });
+ } );
},
clearQueue: function( type ) {
return this.queue( type || "fx", [] );
},
+
// Get a promise resolved when queues of a certain type
// are emptied (fx is the type by default)
promise: function( type, obj ) {
@@ -2021,7 +4231,7 @@ jQuery.fn.extend({
}
type = type || "fx";
- while( i-- ) {
+ while ( i-- ) {
tmp = jQuery._data( elements[ i ], type + "queueHooks" );
if ( tmp && tmp.empty ) {
count++;
@@ -2031,673 +4241,520 @@ jQuery.fn.extend({
resolve();
return defer.promise( obj );
}
-});
-var nodeHook, boolHook,
- rclass = /[\t\r\n]/g,
- rreturn = /\r/g,
- rfocusable = /^(?:input|select|textarea|button|object)$/i,
- rclickable = /^(?:a|area)$/i,
- rboolean = /^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,
- ruseDefault = /^(?:checked|selected)$/i,
- getSetAttribute = jQuery.support.getSetAttribute,
- getSetInput = jQuery.support.input;
+} );
-jQuery.fn.extend({
- attr: function( name, value ) {
- return jQuery.access( this, jQuery.attr, name, value, arguments.length > 1 );
- },
- removeAttr: function( name ) {
- return this.each(function() {
- jQuery.removeAttr( this, name );
- });
- },
+( function() {
+ var shrinkWrapBlocksVal;
- prop: function( name, value ) {
- return jQuery.access( this, jQuery.prop, name, value, arguments.length > 1 );
- },
+ support.shrinkWrapBlocks = function() {
+ if ( shrinkWrapBlocksVal != null ) {
+ return shrinkWrapBlocksVal;
+ }
- removeProp: function( name ) {
- name = jQuery.propFix[ name ] || name;
- return this.each(function() {
- // try/catch handles cases where IE balks (such as removing a property on window)
- try {
- this[ name ] = undefined;
- delete this[ name ];
- } catch( e ) {}
- });
- },
+ // Will be changed later if needed.
+ shrinkWrapBlocksVal = false;
- addClass: function( value ) {
- var classes, elem, cur, clazz, j,
- i = 0,
- len = this.length,
- proceed = typeof value === "string" && value;
+ // Minified: var b,c,d
+ var div, body, container;
- if ( jQuery.isFunction( value ) ) {
- return this.each(function( j ) {
- jQuery( this ).addClass( value.call( this, j, this.className ) );
- });
+ body = document.getElementsByTagName( "body" )[ 0 ];
+ if ( !body || !body.style ) {
+
+ // Test fired too early or in an unsupported environment, exit.
+ return;
}
- if ( proceed ) {
- // The disjunction here is for better compressibility (see removeClass)
- classes = ( value || "" ).match( core_rnotwhite ) || [];
+ // Setup
+ div = document.createElement( "div" );
+ container = document.createElement( "div" );
+ container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px";
+ body.appendChild( container ).appendChild( div );
- for ( ; i < len; i++ ) {
- elem = this[ i ];
- cur = elem.nodeType === 1 && ( elem.className ?
- ( " " + elem.className + " " ).replace( rclass, " " ) :
- " "
- );
+ // Support: IE6
+ // Check if elements with layout shrink-wrap their children
+ if ( typeof div.style.zoom !== "undefined" ) {
- if ( cur ) {
- j = 0;
- while ( (clazz = classes[j++]) ) {
- if ( cur.indexOf( " " + clazz + " " ) < 0 ) {
- cur += clazz + " ";
- }
- }
- elem.className = jQuery.trim( cur );
+ // Reset CSS: box-sizing; display; margin; border
+ div.style.cssText =
- }
- }
+ // Support: Firefox<29, Android 2.3
+ // Vendor-prefix box-sizing
+ "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;" +
+ "box-sizing:content-box;display:block;margin:0;border:0;" +
+ "padding:1px;width:1px;zoom:1";
+ div.appendChild( document.createElement( "div" ) ).style.width = "5px";
+ shrinkWrapBlocksVal = div.offsetWidth !== 3;
}
- return this;
- },
+ body.removeChild( container );
- removeClass: function( value ) {
- var classes, elem, cur, clazz, j,
- i = 0,
- len = this.length,
- proceed = arguments.length === 0 || typeof value === "string" && value;
+ return shrinkWrapBlocksVal;
+ };
- if ( jQuery.isFunction( value ) ) {
- return this.each(function( j ) {
- jQuery( this ).removeClass( value.call( this, j, this.className ) );
- });
- }
- if ( proceed ) {
- classes = ( value || "" ).match( core_rnotwhite ) || [];
+} )();
+var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source;
- for ( ; i < len; i++ ) {
- elem = this[ i ];
- // This expression is here for better compressibility (see addClass)
- cur = elem.nodeType === 1 && ( elem.className ?
- ( " " + elem.className + " " ).replace( rclass, " " ) :
- ""
- );
+var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );
- if ( cur ) {
- j = 0;
- while ( (clazz = classes[j++]) ) {
- // Remove *all* instances
- while ( cur.indexOf( " " + clazz + " " ) >= 0 ) {
- cur = cur.replace( " " + clazz + " ", " " );
- }
- }
- elem.className = value ? jQuery.trim( cur ) : "";
- }
- }
- }
- return this;
- },
+var cssExpand = [ "Top", "Right", "Bottom", "Left" ];
- toggleClass: function( value, stateVal ) {
- var type = typeof value,
- isBool = typeof stateVal === "boolean";
+var isHidden = function( elem, el ) {
- if ( jQuery.isFunction( value ) ) {
- return this.each(function( i ) {
- jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal );
- });
- }
+ // isHidden might be called from jQuery#filter function;
+ // in that case, element will be second argument
+ elem = el || elem;
+ return jQuery.css( elem, "display" ) === "none" ||
+ !jQuery.contains( elem.ownerDocument, elem );
+ };
- return this.each(function() {
- if ( type === "string" ) {
- // toggle individual class names
- var className,
- i = 0,
- self = jQuery( this ),
- state = stateVal,
- classNames = value.match( core_rnotwhite ) || [];
-
- while ( (className = classNames[ i++ ]) ) {
- // check each className given, space separated list
- state = isBool ? state : !self.hasClass( className );
- self[ state ? "addClass" : "removeClass" ]( className );
- }
- // Toggle whole class name
- } else if ( type === core_strundefined || type === "boolean" ) {
- if ( this.className ) {
- // store className if set
- jQuery._data( this, "__className__", this.className );
- }
- // If the element has a class name or if we're passed "false",
- // then remove the whole classname (if there was one, the above saved it).
- // Otherwise bring back whatever was previously saved (if anything),
- // falling back to the empty string if nothing was stored.
- this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || "";
- }
- });
- },
+function adjustCSS( elem, prop, valueParts, tween ) {
+ var adjusted,
+ scale = 1,
+ maxIterations = 20,
+ currentValue = tween ?
+ function() { return tween.cur(); } :
+ function() { return jQuery.css( elem, prop, "" ); },
+ initial = currentValue(),
+ unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),
- hasClass: function( selector ) {
- var className = " " + selector + " ",
- i = 0,
- l = this.length;
- for ( ; i < l; i++ ) {
- if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) >= 0 ) {
- return true;
- }
- }
+ // Starting value computation is required for potential unit mismatches
+ initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
+ rcssNum.exec( jQuery.css( elem, prop ) );
- return false;
- },
+ if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {
- val: function( value ) {
- var ret, hooks, isFunction,
- elem = this[0];
+ // Trust units reported by jQuery.css
+ unit = unit || initialInUnit[ 3 ];
- if ( !arguments.length ) {
- if ( elem ) {
- hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ];
+ // Make sure we update the tween properties later on
+ valueParts = valueParts || [];
- if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) {
- return ret;
- }
+ // Iteratively approximate from a nonzero starting point
+ initialInUnit = +initial || 1;
- ret = elem.value;
+ do {
- return typeof ret === "string" ?
- // handle most common string cases
- ret.replace(rreturn, "") :
- // handle cases where value is null/undef or number
- ret == null ? "" : ret;
- }
+ // If previous iteration zeroed out, double until we get *something*.
+ // Use string for doubling so we don't accidentally see scale as unchanged below
+ scale = scale || ".5";
- return;
+ // Adjust and apply
+ initialInUnit = initialInUnit / scale;
+ jQuery.style( elem, prop, initialInUnit + unit );
+
+ // Update scale, tolerating zero or NaN from tween.cur()
+ // Break the loop if scale is unchanged or perfect, or if we've just had enough.
+ } while (
+ scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations
+ );
+ }
+
+ if ( valueParts ) {
+ initialInUnit = +initialInUnit || +initial || 0;
+
+ // Apply relative offset (+=/-=) if specified
+ adjusted = valueParts[ 1 ] ?
+ initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :
+ +valueParts[ 2 ];
+ if ( tween ) {
+ tween.unit = unit;
+ tween.start = initialInUnit;
+ tween.end = adjusted;
}
+ }
+ return adjusted;
+}
- isFunction = jQuery.isFunction( value );
- return this.each(function( i ) {
- var val,
- self = jQuery(this);
+// Multifunctional method to get and set values of a collection
+// The value/s can optionally be executed if it's a function
+var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
+ var i = 0,
+ length = elems.length,
+ bulk = key == null;
- if ( this.nodeType !== 1 ) {
- return;
- }
+ // Sets many values
+ if ( jQuery.type( key ) === "object" ) {
+ chainable = true;
+ for ( i in key ) {
+ access( elems, fn, i, key[ i ], true, emptyGet, raw );
+ }
- if ( isFunction ) {
- val = value.call( this, i, self.val() );
- } else {
- val = value;
- }
+ // Sets one value
+ } else if ( value !== undefined ) {
+ chainable = true;
- // Treat null/undefined as ""; convert numbers to string
- if ( val == null ) {
- val = "";
- } else if ( typeof val === "number" ) {
- val += "";
- } else if ( jQuery.isArray( val ) ) {
- val = jQuery.map(val, function ( value ) {
- return value == null ? "" : value + "";
- });
- }
+ if ( !jQuery.isFunction( value ) ) {
+ raw = true;
+ }
- hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];
+ if ( bulk ) {
- // If set returns undefined, fall back to normal setting
- if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) {
- this.value = val;
+ // Bulk operations run against the entire set
+ if ( raw ) {
+ fn.call( elems, value );
+ fn = null;
+
+ // ...except when executing function values
+ } else {
+ bulk = fn;
+ fn = function( elem, key, value ) {
+ return bulk.call( jQuery( elem ), value );
+ };
}
- });
- }
-});
+ }
-jQuery.extend({
- valHooks: {
- option: {
- get: function( elem ) {
- // attributes.value is undefined in Blackberry 4.7 but
- // uses .value. See #6932
- var val = elem.attributes.value;
- return !val || val.specified ? elem.value : elem.text;
+ if ( fn ) {
+ for ( ; i < length; i++ ) {
+ fn(
+ elems[ i ],
+ key,
+ raw ? value : value.call( elems[ i ], i, fn( elems[ i ], key ) )
+ );
}
- },
- select: {
- get: function( elem ) {
- var value, option,
- options = elem.options,
- index = elem.selectedIndex,
- one = elem.type === "select-one" || index < 0,
- values = one ? null : [],
- max = one ? index + 1 : options.length,
- i = index < 0 ?
- max :
- one ? index : 0;
+ }
+ }
- // Loop through all the selected options
- for ( ; i < max; i++ ) {
- option = options[ i ];
+ return chainable ?
+ elems :
- // oldIE doesn't update selected after form reset (#2551)
- if ( ( option.selected || i === index ) &&
- // Don't return options that are disabled or in a disabled optgroup
- ( jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null ) &&
- ( !option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) {
+ // Gets
+ bulk ?
+ fn.call( elems ) :
+ length ? fn( elems[ 0 ], key ) : emptyGet;
+};
+var rcheckableType = ( /^(?:checkbox|radio)$/i );
- // Get the specific value for the option
- value = jQuery( option ).val();
+var rtagName = ( /<([\w:-]+)/ );
- // We don't need an array for one selects
- if ( one ) {
- return value;
- }
+var rscriptType = ( /^$|\/(?:java|ecma)script/i );
- // Multi-Selects return an array
- values.push( value );
- }
- }
+var rleadingWhitespace = ( /^\s+/ );
- return values;
- },
+var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|" +
+ "details|dialog|figcaption|figure|footer|header|hgroup|main|" +
+ "mark|meter|nav|output|picture|progress|section|summary|template|time|video";
- set: function( elem, value ) {
- var values = jQuery.makeArray( value );
- jQuery(elem).find("option").each(function() {
- this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0;
- });
- if ( !values.length ) {
- elem.selectedIndex = -1;
- }
- return values;
- }
+function createSafeFragment( document ) {
+ var list = nodeNames.split( "|" ),
+ safeFrag = document.createDocumentFragment();
+
+ if ( safeFrag.createElement ) {
+ while ( list.length ) {
+ safeFrag.createElement(
+ list.pop()
+ );
}
- },
+ }
+ return safeFrag;
+}
- attr: function( elem, name, value ) {
- var hooks, notxml, ret,
- nType = elem.nodeType;
- // don't get/set attributes on text, comment and attribute nodes
- if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
- return;
- }
+( function() {
+ var div = document.createElement( "div" ),
+ fragment = document.createDocumentFragment(),
+ input = document.createElement( "input" );
+
+ // Setup
+ div.innerHTML = " a ";
+
+ // IE strips leading whitespace when .innerHTML is used
+ support.leadingWhitespace = div.firstChild.nodeType === 3;
- // Fallback to prop when attributes are not supported
- if ( typeof elem.getAttribute === core_strundefined ) {
- return jQuery.prop( elem, name, value );
- }
+ // Make sure that tbody elements aren't automatically inserted
+ // IE will insert them into empty tables
+ support.tbody = !div.getElementsByTagName( "tbody" ).length;
- notxml = nType !== 1 || !jQuery.isXMLDoc( elem );
+ // Make sure that link elements get serialized correctly by innerHTML
+ // This requires a wrapper element in IE
+ support.htmlSerialize = !!div.getElementsByTagName( "link" ).length;
- // All attributes are lowercase
- // Grab necessary hook if one is defined
- if ( notxml ) {
- name = name.toLowerCase();
- hooks = jQuery.attrHooks[ name ] || ( rboolean.test( name ) ? boolHook : nodeHook );
- }
+ // Makes sure cloning an html5 element does not cause problems
+ // Where outerHTML is undefined, this still works
+ support.html5Clone =
+ document.createElement( "nav" ).cloneNode( true ).outerHTML !== "<:nav>";
- if ( value !== undefined ) {
+ // Check if a disconnected checkbox will retain its checked
+ // value of true after appended to the DOM (IE6/7)
+ input.type = "checkbox";
+ input.checked = true;
+ fragment.appendChild( input );
+ support.appendChecked = input.checked;
- if ( value === null ) {
- jQuery.removeAttr( elem, name );
+ // Make sure textarea (and checkbox) defaultValue is properly cloned
+ // Support: IE6-IE11+
+ div.innerHTML = "";
+ support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
- } else if ( hooks && notxml && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) {
- return ret;
+ // #11217 - WebKit loses check when the name is after the checked attribute
+ fragment.appendChild( div );
- } else {
- elem.setAttribute( name, value + "" );
- return value;
- }
+ // Support: Windows Web Apps (WWA)
+ // `name` and `type` must use .setAttribute for WWA (#14901)
+ input = document.createElement( "input" );
+ input.setAttribute( "type", "radio" );
+ input.setAttribute( "checked", "checked" );
+ input.setAttribute( "name", "t" );
- } else if ( hooks && notxml && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) {
- return ret;
+ div.appendChild( input );
- } else {
+ // Support: Safari 5.1, iOS 5.1, Android 4.x, Android 2.3
+ // old WebKit doesn't clone checked state correctly in fragments
+ support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
- // In IE9+, Flash objects don't have .getAttribute (#12945)
- // Support: IE9+
- if ( typeof elem.getAttribute !== core_strundefined ) {
- ret = elem.getAttribute( name );
- }
+ // Support: IE<9
+ // Cloned elements keep attachEvent handlers, we use addEventListener on IE9+
+ support.noCloneEvent = !!div.addEventListener;
- // Non-existent attributes return null, we normalize to undefined
- return ret == null ?
- undefined :
- ret;
- }
- },
+ // Support: IE<9
+ // Since attributes and properties are the same in IE,
+ // cleanData must set properties to undefined rather than use removeAttribute
+ div[ jQuery.expando ] = 1;
+ support.attributes = !div.getAttribute( jQuery.expando );
+} )();
+
+
+// We have to close these tags to support XHTML (#13200)
+var wrapMap = {
+ option: [ 1, "", " " ],
+ legend: [ 1, "", " " ],
+ area: [ 1, "", " " ],
+
+ // Support: IE8
+ param: [ 1, "", " " ],
+ thead: [ 1, "" ],
+ tr: [ 2, "" ],
+ col: [ 2, "" ],
+ td: [ 3, "" ],
+
+ // IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags,
+ // unless wrapped in a div with non-breaking characters in front of it.
+ _default: support.htmlSerialize ? [ 0, "", "" ] : [ 1, "X", "
" ]
+};
- removeAttr: function( elem, value ) {
- var name, propName,
- i = 0,
- attrNames = value && value.match( core_rnotwhite );
+// Support: IE8-IE9
+wrapMap.optgroup = wrapMap.option;
- if ( attrNames && elem.nodeType === 1 ) {
- while ( (name = attrNames[i++]) ) {
- propName = jQuery.propFix[ name ] || name;
+wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
+wrapMap.th = wrapMap.td;
- // Boolean attributes get special treatment (#10870)
- if ( rboolean.test( name ) ) {
- // Set corresponding property to false for boolean attributes
- // Also clear defaultChecked/defaultSelected (if appropriate) for IE<8
- if ( !getSetAttribute && ruseDefault.test( name ) ) {
- elem[ jQuery.camelCase( "default-" + name ) ] =
- elem[ propName ] = false;
- } else {
- elem[ propName ] = false;
- }
- // See #9699 for explanation of this approach (setting first, then removal)
- } else {
- jQuery.attr( elem, name, "" );
- }
+function getAll( context, tag ) {
+ var elems, elem,
+ i = 0,
+ found = typeof context.getElementsByTagName !== "undefined" ?
+ context.getElementsByTagName( tag || "*" ) :
+ typeof context.querySelectorAll !== "undefined" ?
+ context.querySelectorAll( tag || "*" ) :
+ undefined;
- elem.removeAttribute( getSetAttribute ? name : propName );
+ if ( !found ) {
+ for ( found = [], elems = context.childNodes || context;
+ ( elem = elems[ i ] ) != null;
+ i++
+ ) {
+ if ( !tag || jQuery.nodeName( elem, tag ) ) {
+ found.push( elem );
+ } else {
+ jQuery.merge( found, getAll( elem, tag ) );
}
}
- },
+ }
- attrHooks: {
- type: {
- set: function( elem, value ) {
- if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) {
- // Setting the type on a radio button after the value resets the value in IE6-9
- // Reset value to default in case type is set after value during creation
- var val = elem.value;
- elem.setAttribute( "type", value );
- if ( val ) {
- elem.value = val;
- }
- return value;
- }
- }
- }
- },
+ return tag === undefined || tag && jQuery.nodeName( context, tag ) ?
+ jQuery.merge( [ context ], found ) :
+ found;
+}
- propFix: {
- tabindex: "tabIndex",
- readonly: "readOnly",
- "for": "htmlFor",
- "class": "className",
- maxlength: "maxLength",
- cellspacing: "cellSpacing",
- cellpadding: "cellPadding",
- rowspan: "rowSpan",
- colspan: "colSpan",
- usemap: "useMap",
- frameborder: "frameBorder",
- contenteditable: "contentEditable"
- },
- prop: function( elem, name, value ) {
- var ret, hooks, notxml,
- nType = elem.nodeType;
+// Mark scripts as having already been evaluated
+function setGlobalEval( elems, refElements ) {
+ var elem,
+ i = 0;
+ for ( ; ( elem = elems[ i ] ) != null; i++ ) {
+ jQuery._data(
+ elem,
+ "globalEval",
+ !refElements || jQuery._data( refElements[ i ], "globalEval" )
+ );
+ }
+}
- // don't get/set properties on text, comment and attribute nodes
- if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
- return;
- }
- notxml = nType !== 1 || !jQuery.isXMLDoc( elem );
+var rhtml = /<|?\w+;/,
+ rtbody = / from table fragments
+ if ( !support.tbody ) {
- // Use this for any attribute in IE6/7
- // This fixes almost every IE6/7 issue
- nodeHook = jQuery.valHooks.button = {
- get: function( elem, name ) {
- var ret = elem.getAttributeNode( name );
- return ret && ( name === "id" || name === "name" || name === "coords" ? ret.value !== "" : ret.specified ) ?
- ret.value :
- undefined;
- },
- set: function( elem, value, name ) {
- // Set the existing or create a new attribute node
- var ret = elem.getAttributeNode( name );
- if ( !ret ) {
- elem.setAttributeNode(
- (ret = elem.ownerDocument.createAttribute( name ))
- );
- }
+ // String was a , *may* have spurious
+ elem = tag === "table" && !rtbody.test( elem ) ?
+ tmp.firstChild :
- ret.value = value += "";
+ // String was a bare or
+ wrap[ 1 ] === "" && !rtbody.test( elem ) ?
+ tmp :
+ 0;
- // Break association with cloned elements by also using setAttribute (#9646)
- return name === "value" || value === elem.getAttribute( name ) ?
- value :
- undefined;
- }
- };
+ j = elem && elem.childNodes.length;
+ while ( j-- ) {
+ if ( jQuery.nodeName( ( tbody = elem.childNodes[ j ] ), "tbody" ) &&
+ !tbody.childNodes.length ) {
- // Set contenteditable to false on removals(#10429)
- // Setting to empty string throws an error as an invalid value
- jQuery.attrHooks.contenteditable = {
- get: nodeHook.get,
- set: function( elem, value, name ) {
- nodeHook.set( elem, value === "" ? false : value, name );
- }
- };
+ elem.removeChild( tbody );
+ }
+ }
+ }
- // Set width and height to auto instead of 0 on empty string( Bug #8150 )
- // This is for removals
- jQuery.each([ "width", "height" ], function( i, name ) {
- jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], {
- set: function( elem, value ) {
- if ( value === "" ) {
- elem.setAttribute( name, "auto" );
- return value;
+ jQuery.merge( nodes, tmp.childNodes );
+
+ // Fix #12392 for WebKit and IE > 9
+ tmp.textContent = "";
+
+ // Fix #12392 for oldIE
+ while ( tmp.firstChild ) {
+ tmp.removeChild( tmp.firstChild );
}
+
+ // Remember the top-level container for proper cleanup
+ tmp = safe.lastChild;
}
- });
- });
-}
+ }
+ }
+ // Fix #11356: Clear elements from fragment
+ if ( tmp ) {
+ safe.removeChild( tmp );
+ }
-// Some attributes require a special call on IE
-// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
-if ( !jQuery.support.hrefNormalized ) {
- jQuery.each([ "href", "src", "width", "height" ], function( i, name ) {
- jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], {
- get: function( elem ) {
- var ret = elem.getAttribute( name, 2 );
- return ret == null ? undefined : ret;
- }
- });
- });
+ // Reset defaultChecked for any radios and checkboxes
+ // about to be appended to the DOM in IE 6/7 (#8060)
+ if ( !support.appendChecked ) {
+ jQuery.grep( getAll( nodes, "input" ), fixDefaultChecked );
+ }
- // href/src property should get the full normalized URL (#10299/#12915)
- jQuery.each([ "href", "src" ], function( i, name ) {
- jQuery.propHooks[ name ] = {
- get: function( elem ) {
- return elem.getAttribute( name, 4 );
+ i = 0;
+ while ( ( elem = nodes[ i++ ] ) ) {
+
+ // Skip elements already in the context collection (trac-4087)
+ if ( selection && jQuery.inArray( elem, selection ) > -1 ) {
+ if ( ignored ) {
+ ignored.push( elem );
}
- };
- });
-}
-if ( !jQuery.support.style ) {
- jQuery.attrHooks.style = {
- get: function( elem ) {
- // Return undefined in the case of empty string
- // Note: IE uppercases css property names, but if we were to .toLowerCase()
- // .cssText, that would destroy case senstitivity in URL's, like in "background"
- return elem.style.cssText || undefined;
- },
- set: function( elem, value ) {
- return ( elem.style.cssText = value + "" );
+ continue;
}
- };
-}
-// Safari mis-reports the default selected property of an option
-// Accessing the parent's selectedIndex property fixes it
-if ( !jQuery.support.optSelected ) {
- jQuery.propHooks.selected = jQuery.extend( jQuery.propHooks.selected, {
- get: function( elem ) {
- var parent = elem.parentNode;
+ contains = jQuery.contains( elem.ownerDocument, elem );
- if ( parent ) {
- parent.selectedIndex;
+ // Append to fragment
+ tmp = getAll( safe.appendChild( elem ), "script" );
- // Make sure that it also works with optgroups, see #5701
- if ( parent.parentNode ) {
- parent.parentNode.selectedIndex;
+ // Preserve script evaluation history
+ if ( contains ) {
+ setGlobalEval( tmp );
+ }
+
+ // Capture executables
+ if ( scripts ) {
+ j = 0;
+ while ( ( elem = tmp[ j++ ] ) ) {
+ if ( rscriptType.test( elem.type || "" ) ) {
+ scripts.push( elem );
}
}
- return null;
}
- });
-}
+ }
-// IE6/7 call enctype encoding
-if ( !jQuery.support.enctype ) {
- jQuery.propFix.enctype = "encoding";
-}
+ tmp = null;
-// Radios and checkboxes getter/setter
-if ( !jQuery.support.checkOn ) {
- jQuery.each([ "radio", "checkbox" ], function() {
- jQuery.valHooks[ this ] = {
- get: function( elem ) {
- // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified
- return elem.getAttribute("value") === null ? "on" : elem.value;
- }
- };
- });
+ return safe;
}
-jQuery.each([ "radio", "checkbox" ], function() {
- jQuery.valHooks[ this ] = jQuery.extend( jQuery.valHooks[ this ], {
- set: function( elem, value ) {
- if ( jQuery.isArray( value ) ) {
- return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 );
- }
+
+
+( function() {
+ var i, eventName,
+ div = document.createElement( "div" );
+
+ // Support: IE<9 (lack submit/change bubble), Firefox (lack focus(in | out) events)
+ for ( i in { submit: true, change: true, focusin: true } ) {
+ eventName = "on" + i;
+
+ if ( !( support[ i ] = eventName in window ) ) {
+
+ // Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP)
+ div.setAttribute( eventName, "t" );
+ support[ i ] = div.attributes[ eventName ].expando === false;
}
- });
-});
+ }
+
+ // Null elements to avoid leaks in IE.
+ div = null;
+} )();
+
+
var rformElems = /^(?:input|select|textarea)$/i,
rkeyEvent = /^key/,
- rmouseEvent = /^(?:mouse|contextmenu)|click/,
+ rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
- rtypenamespace = /^([^.]*)(?:\.(.+)|)$/;
+ rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
function returnTrue() {
return true;
@@ -2707,6 +4764,75 @@ function returnFalse() {
return false;
}
+// Support: IE9
+// See #13393 for more info
+function safeActiveElement() {
+ try {
+ return document.activeElement;
+ } catch ( err ) { }
+}
+
+function on( elem, types, selector, data, fn, one ) {
+ var origFn, type;
+
+ // Types can be a map of types/handlers
+ if ( typeof types === "object" ) {
+
+ // ( types-Object, selector, data )
+ if ( typeof selector !== "string" ) {
+
+ // ( types-Object, data )
+ data = data || selector;
+ selector = undefined;
+ }
+ for ( type in types ) {
+ on( elem, type, selector, data, types[ type ], one );
+ }
+ return elem;
+ }
+
+ if ( data == null && fn == null ) {
+
+ // ( types, fn )
+ fn = selector;
+ data = selector = undefined;
+ } else if ( fn == null ) {
+ if ( typeof selector === "string" ) {
+
+ // ( types, selector, fn )
+ fn = data;
+ data = undefined;
+ } else {
+
+ // ( types, data, fn )
+ fn = data;
+ data = selector;
+ selector = undefined;
+ }
+ }
+ if ( fn === false ) {
+ fn = returnFalse;
+ } else if ( !fn ) {
+ return elem;
+ }
+
+ if ( one === 1 ) {
+ origFn = fn;
+ fn = function( event ) {
+
+ // Can use an empty set, since event contains the info
+ jQuery().off( event );
+ return origFn.apply( this, arguments );
+ };
+
+ // Use same guid so caller can remove using origFn
+ fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
+ }
+ return elem.each( function() {
+ jQuery.event.add( this, types, fn, data, selector );
+ } );
+}
+
/*
* Helper functions for managing events -- not part of the public interface.
* Props to Dean Edwards' addEvent library for many of the ideas.
@@ -2739,29 +4865,37 @@ jQuery.event = {
}
// Init the element's event structure and main handler, if this is the first
- if ( !(events = elemData.events) ) {
+ if ( !( events = elemData.events ) ) {
events = elemData.events = {};
}
- if ( !(eventHandle = elemData.handle) ) {
+ if ( !( eventHandle = elemData.handle ) ) {
eventHandle = elemData.handle = function( e ) {
+
// Discard the second event of a jQuery.event.trigger() and
// when an event is called after a page has unloaded
- return typeof jQuery !== core_strundefined && (!e || jQuery.event.triggered !== e.type) ?
+ return typeof jQuery !== "undefined" &&
+ ( !e || jQuery.event.triggered !== e.type ) ?
jQuery.event.dispatch.apply( eventHandle.elem, arguments ) :
undefined;
};
- // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events
+
+ // Add elem as a property of the handle fn to prevent a memory leak
+ // with IE non-native events
eventHandle.elem = elem;
}
// Handle multiple events separated by a space
- // jQuery(...).bind("mouseover mouseout", fn);
- types = ( types || "" ).match( core_rnotwhite ) || [""];
+ types = ( types || "" ).match( rnotwhite ) || [ "" ];
t = types.length;
while ( t-- ) {
- tmp = rtypenamespace.exec( types[t] ) || [];
- type = origType = tmp[1];
- namespaces = ( tmp[2] || "" ).split( "." ).sort();
+ tmp = rtypenamespace.exec( types[ t ] ) || [];
+ type = origType = tmp[ 1 ];
+ namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
+
+ // There *must* be a type, no attaching namespace-only handlers
+ if ( !type ) {
+ continue;
+ }
// If event changes its type, use the special event handlers for the changed type
special = jQuery.event.special[ type ] || {};
@@ -2773,7 +4907,7 @@ jQuery.event = {
special = jQuery.event.special[ type ] || {};
// handleObj is passed to all event handlers
- handleObj = jQuery.extend({
+ handleObj = jQuery.extend( {
type: type,
origType: origType,
data: data,
@@ -2781,16 +4915,18 @@ jQuery.event = {
guid: handler.guid,
selector: selector,
needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
- namespace: namespaces.join(".")
+ namespace: namespaces.join( "." )
}, handleObjIn );
// Init the event handler queue if we're the first
- if ( !(handlers = events[ type ]) ) {
+ if ( !( handlers = events[ type ] ) ) {
handlers = events[ type ] = [];
handlers.delegateCount = 0;
// Only use addEventListener/attachEvent if the special events handler returns false
- if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
+ if ( !special.setup ||
+ special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
+
// Bind the global event handler to the element
if ( elem.addEventListener ) {
elem.addEventListener( type, eventHandle, false );
@@ -2832,17 +4968,17 @@ jQuery.event = {
namespaces, origType,
elemData = jQuery.hasData( elem ) && jQuery._data( elem );
- if ( !elemData || !(events = elemData.events) ) {
+ if ( !elemData || !( events = elemData.events ) ) {
return;
}
// Once for each type.namespace in types; type may be omitted
- types = ( types || "" ).match( core_rnotwhite ) || [""];
+ types = ( types || "" ).match( rnotwhite ) || [ "" ];
t = types.length;
while ( t-- ) {
- tmp = rtypenamespace.exec( types[t] ) || [];
- type = origType = tmp[1];
- namespaces = ( tmp[2] || "" ).split( "." ).sort();
+ tmp = rtypenamespace.exec( types[ t ] ) || [];
+ type = origType = tmp[ 1 ];
+ namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
// Unbind all events (on this namespace, if provided) for the element
if ( !type ) {
@@ -2855,7 +4991,8 @@ jQuery.event = {
special = jQuery.event.special[ type ] || {};
type = ( selector ? special.delegateType : special.bindType ) || type;
handlers = events[ type ] || [];
- tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" );
+ tmp = tmp[ 2 ] &&
+ new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" );
// Remove matching events
origCount = j = handlers.length;
@@ -2865,7 +5002,8 @@ jQuery.event = {
if ( ( mappedTypes || origType === handleObj.origType ) &&
( !handler || handler.guid === handleObj.guid ) &&
( !tmp || tmp.test( handleObj.namespace ) ) &&
- ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) {
+ ( !selector || selector === handleObj.selector ||
+ selector === "**" && handleObj.selector ) ) {
handlers.splice( j, 1 );
if ( handleObj.selector ) {
@@ -2880,7 +5018,9 @@ jQuery.event = {
// Remove generic event handler if we removed something and no more handlers exist
// (avoids potential for endless recursion during removal of special event handlers)
if ( origCount && !handlers.length ) {
- if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
+ if ( !special.teardown ||
+ special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
+
jQuery.removeEvent( elem, type, elemData.handle );
}
@@ -2902,8 +5042,8 @@ jQuery.event = {
var handle, ontype, cur,
bubbleType, special, tmp, i,
eventPath = [ elem || document ],
- type = core_hasOwn.call( event, "type" ) ? event.type : event,
- namespaces = core_hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : [];
+ type = hasOwn.call( event, "type" ) ? event.type : event,
+ namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : [];
cur = tmp = elem = elem || document;
@@ -2917,23 +5057,25 @@ jQuery.event = {
return;
}
- if ( type.indexOf(".") >= 0 ) {
+ if ( type.indexOf( "." ) > -1 ) {
+
// Namespaced trigger; create a regexp to match event type in handle()
- namespaces = type.split(".");
+ namespaces = type.split( "." );
type = namespaces.shift();
namespaces.sort();
}
- ontype = type.indexOf(":") < 0 && "on" + type;
+ ontype = type.indexOf( ":" ) < 0 && "on" + type;
// Caller can pass in a jQuery.Event object, Object, or just an event type string
event = event[ jQuery.expando ] ?
event :
new jQuery.Event( type, typeof event === "object" && event );
- event.isTrigger = true;
- event.namespace = namespaces.join(".");
- event.namespace_re = event.namespace ?
- new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) :
+ // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
+ event.isTrigger = onlyHandlers ? 2 : 3;
+ event.namespace = namespaces.join( "." );
+ event.rnamespace = event.namespace ?
+ new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) :
null;
// Clean up the event in case it is being reused
@@ -2967,29 +5109,34 @@ jQuery.event = {
}
// Only add window if we got to document (e.g., not plain obj or detached DOM)
- if ( tmp === (elem.ownerDocument || document) ) {
+ if ( tmp === ( elem.ownerDocument || document ) ) {
eventPath.push( tmp.defaultView || tmp.parentWindow || window );
}
}
// Fire handlers on the event path
i = 0;
- while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) {
+ while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {
event.type = i > 1 ?
bubbleType :
special.bindType || type;
// jQuery handler
- handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" );
+ handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] &&
+ jQuery._data( cur, "handle" );
+
if ( handle ) {
handle.apply( cur, data );
}
// Native handler
handle = ontype && cur[ ontype ];
- if ( handle && jQuery.acceptData( cur ) && handle.apply && handle.apply( cur, data ) === false ) {
- event.preventDefault();
+ if ( handle && handle.apply && acceptData( cur ) ) {
+ event.result = handle.apply( cur, data );
+ if ( event.result === false ) {
+ event.preventDefault();
+ }
}
}
event.type = type;
@@ -2997,8 +5144,11 @@ jQuery.event = {
// If nobody prevented the default action, do it now
if ( !onlyHandlers && !event.isDefaultPrevented() ) {
- if ( (!special._default || special._default.apply( elem.ownerDocument, data ) === false) &&
- !(type === "click" && jQuery.nodeName( elem, "a" )) && jQuery.acceptData( elem ) ) {
+ if (
+ ( !special._default ||
+ special._default.apply( eventPath.pop(), data ) === false
+ ) && acceptData( elem )
+ ) {
// Call a native DOM method on the target with the same name name as the event.
// Can't use an .isFunction() check here because IE6/7 fails that test.
@@ -3017,6 +5167,7 @@ jQuery.event = {
try {
elem[ type ]();
} catch ( e ) {
+
// IE<9 dies on focus/blur to hidden element (#1486,#12518)
// only reproducible on winXP IE8 native, not IE9 in IE8 mode
}
@@ -3037,14 +5188,14 @@ jQuery.event = {
// Make a writable jQuery.Event from the native event object
event = jQuery.event.fix( event );
- var i, ret, handleObj, matched, j,
+ var i, j, ret, matched, handleObj,
handlerQueue = [],
- args = core_slice.call( arguments ),
+ args = slice.call( arguments ),
handlers = ( jQuery._data( this, "events" ) || {} )[ event.type ] || [],
special = jQuery.event.special[ event.type ] || {};
// Use the fix-ed jQuery.Event rather than the (read-only) native event
- args[0] = event;
+ args[ 0 ] = event;
event.delegateTarget = this;
// Call the preDispatch hook for the mapped type, and let it bail if desired
@@ -3057,24 +5208,25 @@ jQuery.event = {
// Run delegates first; they may want to stop propagation beneath us
i = 0;
- while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) {
+ while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {
event.currentTarget = matched.elem;
j = 0;
- while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) {
+ while ( ( handleObj = matched.handlers[ j++ ] ) &&
+ !event.isImmediatePropagationStopped() ) {
- // Triggered event must either 1) have no namespace, or
- // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace).
- if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) {
+ // Triggered event must either 1) have no namespace, or 2) have namespace(s)
+ // a subset or equal to those in the bound event (both can have no namespace).
+ if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) {
event.handleObj = handleObj;
event.data = handleObj.data;
- ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler )
- .apply( matched.elem, args );
+ ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||
+ handleObj.handler ).apply( matched.elem, args );
if ( ret !== undefined ) {
- if ( (event.result = ret) === false ) {
+ if ( ( event.result = ret ) === false ) {
event.preventDefault();
event.stopPropagation();
}
@@ -3092,21 +5244,27 @@ jQuery.event = {
},
handlers: function( event, handlers ) {
- var sel, handleObj, matches, i,
+ var i, matches, sel, handleObj,
handlerQueue = [],
delegateCount = handlers.delegateCount,
cur = event.target;
+ // Support (at least): Chrome, IE9
// Find delegate handlers
// Black-hole SVG instance trees (#13180)
- // Avoid non-left-click bubbling in Firefox (#3861)
- if ( delegateCount && cur.nodeType && (!event.button || event.type !== "click") ) {
+ //
+ // Support: Firefox<=42+
+ // Avoid non-left-click in FF but don't block IE radio events (#3861, gh-2343)
+ if ( delegateCount && cur.nodeType &&
+ ( event.type !== "click" || isNaN( event.button ) || event.button < 1 ) ) {
+ /* jshint eqeqeq: false */
for ( ; cur != this; cur = cur.parentNode || this ) {
+ /* jshint eqeqeq: true */
// Don't check non-elements (#13208)
// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
- if ( cur.nodeType === 1 && (cur.disabled !== true || event.type !== "click") ) {
+ if ( cur.nodeType === 1 && ( cur.disabled !== true || event.type !== "click" ) ) {
matches = [];
for ( i = 0; i < delegateCount; i++ ) {
handleObj = handlers[ i ];
@@ -3116,7 +5274,7 @@ jQuery.event = {
if ( matches[ sel ] === undefined ) {
matches[ sel ] = handleObj.needsContext ?
- jQuery( sel, this ).index( cur ) >= 0 :
+ jQuery( sel, this ).index( cur ) > -1 :
jQuery.find( sel, this, null, [ cur ] ).length;
}
if ( matches[ sel ] ) {
@@ -3124,7 +5282,7 @@ jQuery.event = {
}
}
if ( matches.length ) {
- handlerQueue.push({ elem: cur, handlers: matches });
+ handlerQueue.push( { elem: cur, handlers: matches } );
}
}
}
@@ -3132,7 +5290,7 @@ jQuery.event = {
// Add the remaining (directly-bound) handlers
if ( delegateCount < handlers.length ) {
- handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) });
+ handlerQueue.push( { elem: this, handlers: handlers.slice( delegateCount ) } );
}
return handlerQueue;
@@ -3171,7 +5329,7 @@ jQuery.event = {
event.target = originalEvent.srcElement || document;
}
- // Support: Chrome 23+, Safari?
+ // Support: Safari 6-8+
// Target should not be a text node (#504, #13143)
if ( event.target.nodeType === 3 ) {
event.target = event.target.parentNode;
@@ -3185,12 +5343,13 @@ jQuery.event = {
},
// Includes some event props shared by KeyEvent and MouseEvent
- props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
+ props: ( "altKey bubbles cancelable ctrlKey currentTarget detail eventPhase " +
+ "metaKey relatedTarget shiftKey target timeStamp view which" ).split( " " ),
fixHooks: {},
keyHooks: {
- props: "char charCode key keyCode".split(" "),
+ props: "char charCode key keyCode".split( " " ),
filter: function( event, original ) {
// Add which for key events
@@ -3203,7 +5362,8 @@ jQuery.event = {
},
mouseHooks: {
- props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
+ props: ( "button buttons clientX clientY fromElement offsetX offsetY " +
+ "pageX pageY screenX screenY toElement" ).split( " " ),
filter: function( event, original ) {
var body, eventDoc, doc,
button = original.button,
@@ -3215,13 +5375,19 @@ jQuery.event = {
doc = eventDoc.documentElement;
body = eventDoc.body;
- event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 );
- event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 );
+ event.pageX = original.clientX +
+ ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) -
+ ( doc && doc.clientLeft || body && body.clientLeft || 0 );
+ event.pageY = original.clientY +
+ ( doc && doc.scrollTop || body && body.scrollTop || 0 ) -
+ ( doc && doc.clientTop || body && body.clientTop || 0 );
}
// Add relatedTarget, if necessary
if ( !event.relatedTarget && fromElement ) {
- event.relatedTarget = fromElement === event.target ? original.toElement : fromElement;
+ event.relatedTarget = fromElement === event.target ?
+ original.toElement :
+ fromElement;
}
// Add which for click: 1 === left; 2 === middle; 3 === right
@@ -3236,26 +5402,20 @@ jQuery.event = {
special: {
load: {
+
// Prevent triggered image.load events from bubbling to window.load
noBubble: true
},
- click: {
- // For checkbox, fire native event so checked state will be right
- trigger: function() {
- if ( jQuery.nodeName( this, "input" ) && this.type === "checkbox" && this.click ) {
- this.click();
- return false;
- }
- }
- },
focus: {
+
// Fire native event if possible so blur/focus sequence is correct
trigger: function() {
- if ( this !== document.activeElement && this.focus ) {
+ if ( this !== safeActiveElement() && this.focus ) {
try {
this.focus();
return false;
} catch ( e ) {
+
// Support: IE<9
// If we error on focus to hidden element (#1486, #12518),
// let .trigger() run the handlers
@@ -3266,42 +5426,63 @@ jQuery.event = {
},
blur: {
trigger: function() {
- if ( this === document.activeElement && this.blur ) {
+ if ( this === safeActiveElement() && this.blur ) {
this.blur();
return false;
}
},
delegateType: "focusout"
},
+ click: {
+
+ // For checkbox, fire native event so checked state will be right
+ trigger: function() {
+ if ( jQuery.nodeName( this, "input" ) && this.type === "checkbox" && this.click ) {
+ this.click();
+ return false;
+ }
+ },
+
+ // For cross-browser consistency, don't fire native .click() on links
+ _default: function( event ) {
+ return jQuery.nodeName( event.target, "a" );
+ }
+ },
beforeunload: {
postDispatch: function( event ) {
- // Even when returnValue equals to undefined Firefox will still show alert
- if ( event.result !== undefined ) {
+ // Support: Firefox 20+
+ // Firefox doesn't alert if the returnValue field is not set.
+ if ( event.result !== undefined && event.originalEvent ) {
event.originalEvent.returnValue = event.result;
}
}
}
},
- simulate: function( type, elem, event, bubble ) {
- // Piggyback on a donor event to simulate a different one.
- // Fake originalEvent to avoid donor's stopPropagation, but if the
- // simulated event prevents default then we do the same on the donor.
+ // Piggyback on a donor event to simulate a different one
+ simulate: function( type, elem, event ) {
var e = jQuery.extend(
new jQuery.Event(),
event,
- { type: type,
- isSimulated: true,
- originalEvent: {}
+ {
+ type: type,
+ isSimulated: true
+
+ // Previously, `originalEvent: {}` was set here, so stopPropagation call
+ // would not be triggered on donor event, since in our own
+ // jQuery.event.stopPropagation function we had a check for existence of
+ // originalEvent.stopPropagation method, so, consequently it would be a noop.
+ //
+ // Guard for simulated events was moved to jQuery.event.stopPropagation function
+ // since `originalEvent` should point to the original event for the
+ // constancy with other events and for more focused logic
}
);
- if ( bubble ) {
- jQuery.event.trigger( e, null, elem );
- } else {
- jQuery.event.dispatch.call( elem, e );
- }
+
+ jQuery.event.trigger( e, null, elem );
+
if ( e.isDefaultPrevented() ) {
event.preventDefault();
}
@@ -3310,8 +5491,10 @@ jQuery.event = {
jQuery.removeEvent = document.removeEventListener ?
function( elem, type, handle ) {
+
+ // This "if" is needed for plain objects
if ( elem.removeEventListener ) {
- elem.removeEventListener( type, handle, false );
+ elem.removeEventListener( type, handle );
}
} :
function( elem, type, handle ) {
@@ -3320,8 +5503,9 @@ jQuery.removeEvent = document.removeEventListener ?
if ( elem.detachEvent ) {
// #8545, #7054, preventing memory leaks for custom events in IE6-8
- // detachEvent needed property on element, by name of that event, to properly expose it to GC
- if ( typeof elem[ name ] === core_strundefined ) {
+ // detachEvent needed property on element, by name of that event,
+ // to properly expose it to GC
+ if ( typeof elem[ name ] === "undefined" ) {
elem[ name ] = null;
}
@@ -3330,4101 +5514,3575 @@ jQuery.removeEvent = document.removeEventListener ?
};
jQuery.Event = function( src, props ) {
+
// Allow instantiation without the 'new' keyword
- if ( !(this instanceof jQuery.Event) ) {
+ if ( !( this instanceof jQuery.Event ) ) {
return new jQuery.Event( src, props );
}
// Event object
if ( src && src.type ) {
- this.originalEvent = src;
- this.type = src.type;
-
- // Events bubbling up the document may have been marked as prevented
- // by a handler lower down the tree; reflect the correct value.
- this.isDefaultPrevented = ( src.defaultPrevented || src.returnValue === false ||
- src.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse;
-
- // Event type
- } else {
- this.type = src;
- }
-
- // Put explicitly provided properties onto the event object
- if ( props ) {
- jQuery.extend( this, props );
- }
-
- // Create a timestamp if incoming event doesn't have one
- this.timeStamp = src && src.timeStamp || jQuery.now();
-
- // Mark it as fixed
- this[ jQuery.expando ] = true;
-};
-
-// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
-// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
-jQuery.Event.prototype = {
- isDefaultPrevented: returnFalse,
- isPropagationStopped: returnFalse,
- isImmediatePropagationStopped: returnFalse,
-
- preventDefault: function() {
- var e = this.originalEvent;
-
- this.isDefaultPrevented = returnTrue;
- if ( !e ) {
- return;
- }
-
- // If preventDefault exists, run it on the original event
- if ( e.preventDefault ) {
- e.preventDefault();
-
- // Support: IE
- // Otherwise set the returnValue property of the original event to false
- } else {
- e.returnValue = false;
- }
- },
- stopPropagation: function() {
- var e = this.originalEvent;
-
- this.isPropagationStopped = returnTrue;
- if ( !e ) {
- return;
- }
- // If stopPropagation exists, run it on the original event
- if ( e.stopPropagation ) {
- e.stopPropagation();
- }
-
- // Support: IE
- // Set the cancelBubble property of the original event to true
- e.cancelBubble = true;
- },
- stopImmediatePropagation: function() {
- this.isImmediatePropagationStopped = returnTrue;
- this.stopPropagation();
- }
-};
-
-// Create mouseenter/leave events using mouseover/out and event-time checks
-jQuery.each({
- mouseenter: "mouseover",
- mouseleave: "mouseout"
-}, function( orig, fix ) {
- jQuery.event.special[ orig ] = {
- delegateType: fix,
- bindType: fix,
-
- handle: function( event ) {
- var ret,
- target = this,
- related = event.relatedTarget,
- handleObj = event.handleObj;
-
- // For mousenter/leave call the handler if related is outside the target.
- // NB: No relatedTarget if the mouse left/entered the browser window
- if ( !related || (related !== target && !jQuery.contains( target, related )) ) {
- event.type = handleObj.origType;
- ret = handleObj.handler.apply( this, arguments );
- event.type = fix;
- }
- return ret;
- }
- };
-});
-
-// IE submit delegation
-if ( !jQuery.support.submitBubbles ) {
-
- jQuery.event.special.submit = {
- setup: function() {
- // Only need this for delegated form submit events
- if ( jQuery.nodeName( this, "form" ) ) {
- return false;
- }
-
- // Lazy-add a submit handler when a descendant form may potentially be submitted
- jQuery.event.add( this, "click._submit keypress._submit", function( e ) {
- // Node name check avoids a VML-related crash in IE (#9807)
- var elem = e.target,
- form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined;
- if ( form && !jQuery._data( form, "submitBubbles" ) ) {
- jQuery.event.add( form, "submit._submit", function( event ) {
- event._submit_bubble = true;
- });
- jQuery._data( form, "submitBubbles", true );
- }
- });
- // return undefined since we don't need an event listener
- },
-
- postDispatch: function( event ) {
- // If form was submitted by the user, bubble the event up the tree
- if ( event._submit_bubble ) {
- delete event._submit_bubble;
- if ( this.parentNode && !event.isTrigger ) {
- jQuery.event.simulate( "submit", this.parentNode, event, true );
- }
- }
- },
-
- teardown: function() {
- // Only need this for delegated form submit events
- if ( jQuery.nodeName( this, "form" ) ) {
- return false;
- }
-
- // Remove delegated handlers; cleanData eventually reaps submit handlers attached above
- jQuery.event.remove( this, "._submit" );
- }
- };
-}
-
-// IE change delegation and checkbox/radio fix
-if ( !jQuery.support.changeBubbles ) {
-
- jQuery.event.special.change = {
-
- setup: function() {
-
- if ( rformElems.test( this.nodeName ) ) {
- // IE doesn't fire change on a check/radio until blur; trigger it on click
- // after a propertychange. Eat the blur-change in special.change.handle.
- // This still fires onchange a second time for check/radio after blur.
- if ( this.type === "checkbox" || this.type === "radio" ) {
- jQuery.event.add( this, "propertychange._change", function( event ) {
- if ( event.originalEvent.propertyName === "checked" ) {
- this._just_changed = true;
- }
- });
- jQuery.event.add( this, "click._change", function( event ) {
- if ( this._just_changed && !event.isTrigger ) {
- this._just_changed = false;
- }
- // Allow triggered, simulated change events (#11500)
- jQuery.event.simulate( "change", this, event, true );
- });
- }
- return false;
- }
- // Delegated event; lazy-add a change handler on descendant inputs
- jQuery.event.add( this, "beforeactivate._change", function( e ) {
- var elem = e.target;
-
- if ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, "changeBubbles" ) ) {
- jQuery.event.add( elem, "change._change", function( event ) {
- if ( this.parentNode && !event.isSimulated && !event.isTrigger ) {
- jQuery.event.simulate( "change", this.parentNode, event, true );
- }
- });
- jQuery._data( elem, "changeBubbles", true );
- }
- });
- },
-
- handle: function( event ) {
- var elem = event.target;
-
- // Swallow native change events from checkbox/radio, we already triggered them above
- if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) {
- return event.handleObj.handler.apply( this, arguments );
- }
- },
+ this.originalEvent = src;
+ this.type = src.type;
- teardown: function() {
- jQuery.event.remove( this, "._change" );
+ // Events bubbling up the document may have been marked as prevented
+ // by a handler lower down the tree; reflect the correct value.
+ this.isDefaultPrevented = src.defaultPrevented ||
+ src.defaultPrevented === undefined &&
- return !rformElems.test( this.nodeName );
- }
- };
-}
+ // Support: IE < 9, Android < 4.0
+ src.returnValue === false ?
+ returnTrue :
+ returnFalse;
-// Create "bubbling" focus and blur events
-if ( !jQuery.support.focusinBubbles ) {
- jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) {
+ // Event type
+ } else {
+ this.type = src;
+ }
- // Attach a single capturing handler while someone wants focusin/focusout
- var attaches = 0,
- handler = function( event ) {
- jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true );
- };
+ // Put explicitly provided properties onto the event object
+ if ( props ) {
+ jQuery.extend( this, props );
+ }
- jQuery.event.special[ fix ] = {
- setup: function() {
- if ( attaches++ === 0 ) {
- document.addEventListener( orig, handler, true );
- }
- },
- teardown: function() {
- if ( --attaches === 0 ) {
- document.removeEventListener( orig, handler, true );
- }
- }
- };
- });
-}
+ // Create a timestamp if incoming event doesn't have one
+ this.timeStamp = src && src.timeStamp || jQuery.now();
+
+ // Mark it as fixed
+ this[ jQuery.expando ] = true;
+};
-jQuery.fn.extend({
+// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
+// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
+jQuery.Event.prototype = {
+ constructor: jQuery.Event,
+ isDefaultPrevented: returnFalse,
+ isPropagationStopped: returnFalse,
+ isImmediatePropagationStopped: returnFalse,
- on: function( types, selector, data, fn, /*INTERNAL*/ one ) {
- var type, origFn;
+ preventDefault: function() {
+ var e = this.originalEvent;
- // Types can be a map of types/handlers
- if ( typeof types === "object" ) {
- // ( types-Object, selector, data )
- if ( typeof selector !== "string" ) {
- // ( types-Object, data )
- data = data || selector;
- selector = undefined;
- }
- for ( type in types ) {
- this.on( type, selector, data, types[ type ], one );
- }
- return this;
+ this.isDefaultPrevented = returnTrue;
+ if ( !e ) {
+ return;
}
- if ( data == null && fn == null ) {
- // ( types, fn )
- fn = selector;
- data = selector = undefined;
- } else if ( fn == null ) {
- if ( typeof selector === "string" ) {
- // ( types, selector, fn )
- fn = data;
- data = undefined;
- } else {
- // ( types, data, fn )
- fn = data;
- data = selector;
- selector = undefined;
- }
- }
- if ( fn === false ) {
- fn = returnFalse;
- } else if ( !fn ) {
- return this;
- }
+ // If preventDefault exists, run it on the original event
+ if ( e.preventDefault ) {
+ e.preventDefault();
- if ( one === 1 ) {
- origFn = fn;
- fn = function( event ) {
- // Can use an empty set, since event contains the info
- jQuery().off( event );
- return origFn.apply( this, arguments );
- };
- // Use same guid so caller can remove using origFn
- fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
+ // Support: IE
+ // Otherwise set the returnValue property of the original event to false
+ } else {
+ e.returnValue = false;
}
- return this.each( function() {
- jQuery.event.add( this, types, fn, data, selector );
- });
- },
- one: function( types, selector, data, fn ) {
- return this.on( types, selector, data, fn, 1 );
},
- off: function( types, selector, fn ) {
- var handleObj, type;
- if ( types && types.preventDefault && types.handleObj ) {
- // ( event ) dispatched jQuery.Event
- handleObj = types.handleObj;
- jQuery( types.delegateTarget ).off(
- handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType,
- handleObj.selector,
- handleObj.handler
- );
- return this;
- }
- if ( typeof types === "object" ) {
- // ( types-object [, selector] )
- for ( type in types ) {
- this.off( type, selector, types[ type ] );
- }
- return this;
- }
- if ( selector === false || typeof selector === "function" ) {
- // ( types [, fn] )
- fn = selector;
- selector = undefined;
+ stopPropagation: function() {
+ var e = this.originalEvent;
+
+ this.isPropagationStopped = returnTrue;
+
+ if ( !e || this.isSimulated ) {
+ return;
}
- if ( fn === false ) {
- fn = returnFalse;
+
+ // If stopPropagation exists, run it on the original event
+ if ( e.stopPropagation ) {
+ e.stopPropagation();
}
- return this.each(function() {
- jQuery.event.remove( this, types, fn, selector );
- });
- },
- bind: function( types, data, fn ) {
- return this.on( types, null, data, fn );
- },
- unbind: function( types, fn ) {
- return this.off( types, null, fn );
+ // Support: IE
+ // Set the cancelBubble property of the original event to true
+ e.cancelBubble = true;
},
+ stopImmediatePropagation: function() {
+ var e = this.originalEvent;
- delegate: function( selector, types, data, fn ) {
- return this.on( types, selector, data, fn );
- },
- undelegate: function( selector, types, fn ) {
- // ( namespace ) or ( selector, types [, fn] )
- return arguments.length === 1 ? this.off( selector, "**" ) : this.off( types, selector || "**", fn );
- },
+ this.isImmediatePropagationStopped = returnTrue;
- trigger: function( type, data ) {
- return this.each(function() {
- jQuery.event.trigger( type, data, this );
- });
- },
- triggerHandler: function( type, data ) {
- var elem = this[0];
- if ( elem ) {
- return jQuery.event.trigger( type, data, elem, true );
+ if ( e && e.stopImmediatePropagation ) {
+ e.stopImmediatePropagation();
}
- }
-});
-/*!
- * Sizzle CSS Selector Engine
- * Copyright 2012 jQuery Foundation and other contributors
- * Released under the MIT license
- * http://sizzlejs.com/
- */
-(function( window, undefined ) {
-
-var i,
- cachedruns,
- Expr,
- getText,
- isXML,
- compile,
- hasDuplicate,
- outermostContext,
- // Local document vars
- setDocument,
- document,
- docElem,
- documentIsXML,
- rbuggyQSA,
- rbuggyMatches,
- matches,
- contains,
- sortOrder,
+ this.stopPropagation();
+ }
+};
- // Instance-specific data
- expando = "sizzle" + -(new Date()),
- preferredDoc = window.document,
- support = {},
- dirruns = 0,
- done = 0,
- classCache = createCache(),
- tokenCache = createCache(),
- compilerCache = createCache(),
+// Create mouseenter/leave events using mouseover/out and event-time checks
+// so that event delegation works in jQuery.
+// Do the same for pointerenter/pointerleave and pointerover/pointerout
+//
+// Support: Safari 7 only
+// Safari sends mouseenter too often; see:
+// https://code.google.com/p/chromium/issues/detail?id=470258
+// for the description of the bug (it existed in older Chrome versions as well).
+jQuery.each( {
+ mouseenter: "mouseover",
+ mouseleave: "mouseout",
+ pointerenter: "pointerover",
+ pointerleave: "pointerout"
+}, function( orig, fix ) {
+ jQuery.event.special[ orig ] = {
+ delegateType: fix,
+ bindType: fix,
- // General-purpose constants
- strundefined = typeof undefined,
- MAX_NEGATIVE = 1 << 31,
+ handle: function( event ) {
+ var ret,
+ target = this,
+ related = event.relatedTarget,
+ handleObj = event.handleObj;
- // Array methods
- arr = [],
- pop = arr.pop,
- push = arr.push,
- slice = arr.slice,
- // Use a stripped-down indexOf if we can't use a native one
- indexOf = arr.indexOf || function( elem ) {
- var i = 0,
- len = this.length;
- for ( ; i < len; i++ ) {
- if ( this[i] === elem ) {
- return i;
+ // For mouseenter/leave call the handler if related is outside the target.
+ // NB: No relatedTarget if the mouse left/entered the browser window
+ if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {
+ event.type = handleObj.origType;
+ ret = handleObj.handler.apply( this, arguments );
+ event.type = fix;
}
+ return ret;
}
- return -1;
- },
-
-
- // Regular expressions
-
- // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace
- whitespace = "[\\x20\\t\\r\\n\\f]",
- // http://www.w3.org/TR/css3-syntax/#characters
- characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
-
- // Loosely modeled on CSS identifier characters
- // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors
- // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
- identifier = characterEncoding.replace( "w", "w#" ),
-
- // Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors
- operators = "([*^$|!~]?=)",
- attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace +
- "*(?:" + operators + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]",
-
- // Prefer arguments quoted,
- // then not containing pseudos/brackets,
- // then attribute selectors/non-parenthetical expressions,
- // then anything else
- // These preferences are here to reduce the number of selectors
- // needing tokenize in the PSEUDO preFilter
- pseudos = ":(" + characterEncoding + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + attributes.replace( 3, 8 ) + ")*)|.*)\\)|)",
-
- // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
- rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
-
- rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
- rcombinators = new RegExp( "^" + whitespace + "*([\\x20\\t\\r\\n\\f>+~])" + whitespace + "*" ),
- rpseudo = new RegExp( pseudos ),
- ridentifier = new RegExp( "^" + identifier + "$" ),
-
- matchExpr = {
- "ID": new RegExp( "^#(" + characterEncoding + ")" ),
- "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ),
- "NAME": new RegExp( "^\\[name=['\"]?(" + characterEncoding + ")['\"]?\\]" ),
- "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ),
- "ATTR": new RegExp( "^" + attributes ),
- "PSEUDO": new RegExp( "^" + pseudos ),
- "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +
- "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
- "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
- // For use in libraries implementing .is()
- // We use this for POS matching in `select`
- "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
- whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
- },
-
- rsibling = /[\x20\t\r\n\f]*[+~]/,
+ };
+} );
- rnative = /^[^{]+\{\s*\[native code/,
+// IE submit delegation
+if ( !support.submit ) {
- // Easily-parseable/retrievable ID or TAG or CLASS selectors
- rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
+ jQuery.event.special.submit = {
+ setup: function() {
- rinputs = /^(?:input|select|textarea|button)$/i,
- rheader = /^h\d$/i,
+ // Only need this for delegated form submit events
+ if ( jQuery.nodeName( this, "form" ) ) {
+ return false;
+ }
- rescape = /'|\\/g,
- rattributeQuotes = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,
+ // Lazy-add a submit handler when a descendant form may potentially be submitted
+ jQuery.event.add( this, "click._submit keypress._submit", function( e ) {
- // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
- runescape = /\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,
- funescape = function( _, escaped ) {
- var high = "0x" + escaped - 0x10000;
- // NaN means non-codepoint
- return high !== high ?
- escaped :
- // BMP codepoint
- high < 0 ?
- String.fromCharCode( high + 0x10000 ) :
- // Supplemental Plane codepoint (surrogate pair)
- String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
- };
+ // Node name check avoids a VML-related crash in IE (#9807)
+ var elem = e.target,
+ form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ?
-// Use a stripped-down slice if we can't use a native one
-try {
- slice.call( preferredDoc.documentElement.childNodes, 0 )[0].nodeType;
-} catch ( e ) {
- slice = function( i ) {
- var elem,
- results = [];
- while ( (elem = this[i++]) ) {
- results.push( elem );
- }
- return results;
- };
-}
+ // Support: IE <=8
+ // We use jQuery.prop instead of elem.form
+ // to allow fixing the IE8 delegated submit issue (gh-2332)
+ // by 3rd party polyfills/workarounds.
+ jQuery.prop( elem, "form" ) :
+ undefined;
-/**
- * For feature detection
- * @param {Function} fn The function to test for native support
- */
-function isNative( fn ) {
- return rnative.test( fn + "" );
-}
+ if ( form && !jQuery._data( form, "submit" ) ) {
+ jQuery.event.add( form, "submit._submit", function( event ) {
+ event._submitBubble = true;
+ } );
+ jQuery._data( form, "submit", true );
+ }
+ } );
-/**
- * Create key-value caches of limited size
- * @returns {Function(string, Object)} Returns the Object data after storing it on itself with
- * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
- * deleting the oldest entry
- */
-function createCache() {
- var cache,
- keys = [];
+ // return undefined since we don't need an event listener
+ },
- return (cache = function( key, value ) {
- // Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
- if ( keys.push( key += " " ) > Expr.cacheLength ) {
- // Only keep the most recent entries
- delete cache[ keys.shift() ];
- }
- return (cache[ key ] = value);
- });
-}
+ postDispatch: function( event ) {
-/**
- * Mark a function for special use by Sizzle
- * @param {Function} fn The function to mark
- */
-function markFunction( fn ) {
- fn[ expando ] = true;
- return fn;
-}
+ // If form was submitted by the user, bubble the event up the tree
+ if ( event._submitBubble ) {
+ delete event._submitBubble;
+ if ( this.parentNode && !event.isTrigger ) {
+ jQuery.event.simulate( "submit", this.parentNode, event );
+ }
+ }
+ },
-/**
- * Support testing using an element
- * @param {Function} fn Passed the created div and expects a boolean result
- */
-function assert( fn ) {
- var div = document.createElement("div");
+ teardown: function() {
- try {
- return fn( div );
- } catch (e) {
- return false;
- } finally {
- // release memory in IE
- div = null;
- }
+ // Only need this for delegated form submit events
+ if ( jQuery.nodeName( this, "form" ) ) {
+ return false;
+ }
+
+ // Remove delegated handlers; cleanData eventually reaps submit handlers attached above
+ jQuery.event.remove( this, "._submit" );
+ }
+ };
}
-function Sizzle( selector, context, results, seed ) {
- var match, elem, m, nodeType,
- // QSA vars
- i, groups, old, nid, newContext, newSelector;
+// IE change delegation and checkbox/radio fix
+if ( !support.change ) {
- if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
- setDocument( context );
- }
+ jQuery.event.special.change = {
- context = context || document;
- results = results || [];
+ setup: function() {
- if ( !selector || typeof selector !== "string" ) {
- return results;
- }
+ if ( rformElems.test( this.nodeName ) ) {
- if ( (nodeType = context.nodeType) !== 1 && nodeType !== 9 ) {
- return [];
- }
+ // IE doesn't fire change on a check/radio until blur; trigger it on click
+ // after a propertychange. Eat the blur-change in special.change.handle.
+ // This still fires onchange a second time for check/radio after blur.
+ if ( this.type === "checkbox" || this.type === "radio" ) {
+ jQuery.event.add( this, "propertychange._change", function( event ) {
+ if ( event.originalEvent.propertyName === "checked" ) {
+ this._justChanged = true;
+ }
+ } );
+ jQuery.event.add( this, "click._change", function( event ) {
+ if ( this._justChanged && !event.isTrigger ) {
+ this._justChanged = false;
+ }
- if ( !documentIsXML && !seed ) {
+ // Allow triggered, simulated change events (#11500)
+ jQuery.event.simulate( "change", this, event );
+ } );
+ }
+ return false;
+ }
- // Shortcuts
- if ( (match = rquickExpr.exec( selector )) ) {
- // Speed-up: Sizzle("#ID")
- if ( (m = match[1]) ) {
- if ( nodeType === 9 ) {
- elem = context.getElementById( m );
- // Check parentNode to catch when Blackberry 4.6 returns
- // nodes that are no longer in the document #6963
- if ( elem && elem.parentNode ) {
- // Handle the case where IE, Opera, and Webkit return items
- // by name instead of ID
- if ( elem.id === m ) {
- results.push( elem );
- return results;
+ // Delegated event; lazy-add a change handler on descendant inputs
+ jQuery.event.add( this, "beforeactivate._change", function( e ) {
+ var elem = e.target;
+
+ if ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, "change" ) ) {
+ jQuery.event.add( elem, "change._change", function( event ) {
+ if ( this.parentNode && !event.isSimulated && !event.isTrigger ) {
+ jQuery.event.simulate( "change", this.parentNode, event );
}
- } else {
- return results;
- }
- } else {
- // Context is not a document
- if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) &&
- contains( context, elem ) && elem.id === m ) {
- results.push( elem );
- return results;
- }
+ } );
+ jQuery._data( elem, "change", true );
}
+ } );
+ },
- // Speed-up: Sizzle("TAG")
- } else if ( match[2] ) {
- push.apply( results, slice.call(context.getElementsByTagName( selector ), 0) );
- return results;
+ handle: function( event ) {
+ var elem = event.target;
- // Speed-up: Sizzle(".CLASS")
- } else if ( (m = match[3]) && support.getByClassName && context.getElementsByClassName ) {
- push.apply( results, slice.call(context.getElementsByClassName( m ), 0) );
- return results;
+ // Swallow native change events from checkbox/radio, we already triggered them above
+ if ( this !== elem || event.isSimulated || event.isTrigger ||
+ ( elem.type !== "radio" && elem.type !== "checkbox" ) ) {
+
+ return event.handleObj.handler.apply( this, arguments );
}
+ },
+
+ teardown: function() {
+ jQuery.event.remove( this, "._change" );
+
+ return !rformElems.test( this.nodeName );
}
+ };
+}
- // QSA path
- if ( support.qsa && !rbuggyQSA.test(selector) ) {
- old = true;
- nid = expando;
- newContext = context;
- newSelector = nodeType === 9 && selector;
+// Support: Firefox
+// Firefox doesn't have focus(in | out) events
+// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
+//
+// Support: Chrome, Safari
+// focus(in | out) events fire after focus & blur events,
+// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
+// Related ticket - https://code.google.com/p/chromium/issues/detail?id=449857
+if ( !support.focusin ) {
+ jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) {
+
+ // Attach a single capturing handler on the document while someone wants focusin/focusout
+ var handler = function( event ) {
+ jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );
+ };
- // qSA works strangely on Element-rooted queries
- // We can work around this by specifying an extra ID on the root
- // and working up from there (Thanks to Andrew Dupont for the technique)
- // IE 8 doesn't work on object elements
- if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) {
- groups = tokenize( selector );
+ jQuery.event.special[ fix ] = {
+ setup: function() {
+ var doc = this.ownerDocument || this,
+ attaches = jQuery._data( doc, fix );
- if ( (old = context.getAttribute("id")) ) {
- nid = old.replace( rescape, "\\$&" );
- } else {
- context.setAttribute( "id", nid );
+ if ( !attaches ) {
+ doc.addEventListener( orig, handler, true );
}
- nid = "[id='" + nid + "'] ";
+ jQuery._data( doc, fix, ( attaches || 0 ) + 1 );
+ },
+ teardown: function() {
+ var doc = this.ownerDocument || this,
+ attaches = jQuery._data( doc, fix ) - 1;
- i = groups.length;
- while ( i-- ) {
- groups[i] = nid + toSelector( groups[i] );
+ if ( !attaches ) {
+ doc.removeEventListener( orig, handler, true );
+ jQuery._removeData( doc, fix );
+ } else {
+ jQuery._data( doc, fix, attaches );
}
- newContext = rsibling.test( selector ) && context.parentNode || context;
- newSelector = groups.join(",");
}
+ };
+ } );
+}
- if ( newSelector ) {
- try {
- push.apply( results, slice.call( newContext.querySelectorAll(
- newSelector
- ), 0 ) );
- return results;
- } catch(qsaError) {
- } finally {
- if ( !old ) {
- context.removeAttribute("id");
- }
- }
+jQuery.fn.extend( {
+
+ on: function( types, selector, data, fn ) {
+ return on( this, types, selector, data, fn );
+ },
+ one: function( types, selector, data, fn ) {
+ return on( this, types, selector, data, fn, 1 );
+ },
+ off: function( types, selector, fn ) {
+ var handleObj, type;
+ if ( types && types.preventDefault && types.handleObj ) {
+
+ // ( event ) dispatched jQuery.Event
+ handleObj = types.handleObj;
+ jQuery( types.delegateTarget ).off(
+ handleObj.namespace ?
+ handleObj.origType + "." + handleObj.namespace :
+ handleObj.origType,
+ handleObj.selector,
+ handleObj.handler
+ );
+ return this;
+ }
+ if ( typeof types === "object" ) {
+
+ // ( types-object [, selector] )
+ for ( type in types ) {
+ this.off( type, selector, types[ type ] );
}
+ return this;
}
- }
+ if ( selector === false || typeof selector === "function" ) {
- // All others
- return select( selector.replace( rtrim, "$1" ), context, results, seed );
-}
+ // ( types [, fn] )
+ fn = selector;
+ selector = undefined;
+ }
+ if ( fn === false ) {
+ fn = returnFalse;
+ }
+ return this.each( function() {
+ jQuery.event.remove( this, types, fn, selector );
+ } );
+ },
-/**
- * Detect xml
- * @param {Element|Object} elem An element or a document
- */
-isXML = Sizzle.isXML = function( elem ) {
- // documentElement is verified for cases where it doesn't yet exist
- // (such as loading iframes in IE - #4833)
- var documentElement = elem && (elem.ownerDocument || elem).documentElement;
- return documentElement ? documentElement.nodeName !== "HTML" : false;
-};
+ trigger: function( type, data ) {
+ return this.each( function() {
+ jQuery.event.trigger( type, data, this );
+ } );
+ },
+ triggerHandler: function( type, data ) {
+ var elem = this[ 0 ];
+ if ( elem ) {
+ return jQuery.event.trigger( type, data, elem, true );
+ }
+ }
+} );
-/**
- * Sets document-related variables once based on the current document
- * @param {Element|Object} [doc] An element or document object to use to set the document
- * @returns {Object} Returns the current document
- */
-setDocument = Sizzle.setDocument = function( node ) {
- var doc = node ? node.ownerDocument || node : preferredDoc;
- // If no document and documentElement is available, return
- if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
- return document;
- }
+var rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g,
+ rnoshimcache = new RegExp( "<(?:" + nodeNames + ")[\\s/>]", "i" ),
+ rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,
- // Set our document
- document = doc;
- docElem = doc.documentElement;
+ // Support: IE 10-11, Edge 10240+
+ // In IE/Edge using regex groups here causes severe slowdowns.
+ // See https://connect.microsoft.com/IE/feedback/details/1736512/
+ rnoInnerhtml = /