mx pak1Vmbackground.htmlrwI css\options.css&$֚def.json*mQF defaults.jsnf-C'xZ icon-18.png.s icon.png2r&"icons\icon_16.pngL#Jicons\icon_32.pngP'Uicons\icon_48.pngW- ^includes\app.js`F |eyincludes\content.js4jU{50 js\app_bg.jsRwpjs\background.jsJM js\options.js,G#locale\cs-cz.iniÕlocale\el-gr.ini'd| locale\en.ini09 -ϖlocale\es-mx.iniENlocale\fi-fi.iniTV vlocale\fr-ca.ini#bg lYMlocale\hu-hu.inio 2=locale\nl-nl.ini} =plocale\pl-pl.ini Vlocale\pt-br.iniR Klocale\ru-ru.ini locale\uk-ua.ini  )locale\zh-cn.ini x4locale\zh-tw.inie g locales.jsnGƿ options.htmlB :: Viewhance :: bgProcess ::-moz-selection { background: #adf; } ::selection { background: #adf; } html { cursor: default; min-height: 100%; background-color: #f3f3f5; } body { display: none; font: 13px "Lucida Grande", "Lucida Sans Unicode", "Tahoma", sans-serif; position: relative; background-color: #fff; max-width: 700px; min-height: 300px; margin: 0 auto; padding: 6px 15px 15px; border-top: 0; box-shadow: 0 0 6px #000; -webkit-box-shadow: 0 0 6px #000; } a { color: #1155ef; text-decoration: none; } a:hover { color: #000; } :focus { outline: none; } .fn { float: none; } .cur_zmin { cursor: -webkit-zoom-in; cursor: -moz-zoom-in; cursor: zoom-in; } /* http://nicolasgallagher.com/micro-clearfix-hack/ */ .cf:before, .cf:after { content: ""; display: table; } .cf:after { clear: both; } #app_version { display: block; padding-bottom: 5px; } hr { border: 1px solid #eee; margin: 10px 0; } #right_panel { position: absolute; left: 100%; top: 0; } #right_panel > aside { padding: 0 5px 3px 8px; position: fixed; top: 0; background-color: rgba(255, 255, 255, .8); text-align: center; box-shadow: 2px 2px 2px #aaa; -webkit-box-shadow: 2px 2px 2px #aaa; overflow: hidden; } #right_panel > aside, section { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } .hidden, body.opera .opera, body.firefox .firefox, body.chrome .chrome, body.safari .safari, body.maxthon .maxthon { display: none; } .logo { margin-top: 5px; width: 128px; height: 128px; background: url(../icon.png) no-repeat center; -webkit-transition: -webkit-box-shadow .2s; -moz-transition: box-shadow .2s; transition: box-shadow .2s; border-radius: 10px; } body > form > section { display: none; } nav { margin-bottom: 20px; text-align: center; } nav > a { -webkit-transition: border-bottom-color .5s; -moz-transition: border-bottom-color .5s; -o-transition: border-bottom-color .5s; transition: border-bottom-color .5s; text-decoration: none; display: inline-block; color: #1155ef; padding: 5px 6px; border-bottom: 3px solid transparent; } nav > a:hover { -webkit-transition: border-bottom-color 0s; -moz-transition: border-bottom-color 0s; -o-transition: border-bottom-color 0s; transition: border-bottom-color 0s; border-bottom: 3px solid #aaf; color: #000; } nav > .active { color: #000; border-bottom: 3px solid #000; } .prow { clear: both; padding-bottom: 3px; } .prow, .tiptop { position: relative; } .tip { overflow: hidden; position: absolute; padding: 5px 7px; left: -48px; top: -5px; border: 1px solid transparent; max-width: 100%; width: 33px; height: 25px; font: 12px/150% Verdana, sans-serif; white-space: pre-wrap; color: rgba(0, 0, 0, 0); z-index: 1; visibility: hidden; opacity: 0; -webkit-transition: visibility 0s 0.5s, opacity 0.5s, color .7s; -moz-transition: visibility 0s 0.5s, opacity 0.5s, color .7s; -o-transition: visibility 0s 0.5s, opacity 0.5s, color .7s; transition: visibility 0s 0.5s, opacity 0.5s, color .7s; } .tiptop:hover > .tip:not(:empty), .tipvis > .tip:not(:empty) { -webkit-transition-delay: 0s; -moz-transition-delay: 0s; -o-transition-delay: 0s; transition-delay: 0s; visibility: visible; opacity: 1; } .tip:hover { overflow: visible; left: -45px; background-color: rgba(245, 245, 255, .9); background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(0%, #fff), color-stop(100%, rgba(245, 245, 255, 0))); background-image: -moz-linear-gradient(top, #fff, rgba(245, 245, 255, 0)); background-image: -o-linear-gradient(top, #fff, rgba(245, 245, 255, 0)); background-image: linear-gradient(to bottom, #fff, rgba(245, 245, 255, 0)); color: #000; padding: 10px; padding-left: 40px; border: 1px solid #ddd; border-left: none; border-radius: 6px; box-shadow: 0 0 10px #666; -webkit-box-shadow: 0 0 10px #666; width: auto; height: auto; } .tip::before { display: inline-block; padding: 0 6px 2px; margin-right: 20px; border: 3px solid #aaa; border-right: none; border-radius: 10px 6px 6px 10px; text-align: center; font: 700 17px Verdana, sans-serif; color: #fff; text-shadow: 0 0 3px #000, 0 0 3px #000; content: "?"; } .tip:hover::before { position: absolute; top: 5px; left: 5px; } .prow > label, .prow > span:not(.clean) { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; display: inline-block; width: 49.6%; } .prow > label { padding-top: 8px; } .prow:hover label:not(.checkbox), label:not(.checkbox):hover { color: #45f; } .prow > span:not(.clean) { float: right; margin-top: 4px; max-width: 50%; text-align: right; } .prow input[type="text"] { width: 300px; } .prow select { max-width: 308px; } .prow input[type="color"] + input[type="text"], .shorter_input { width: 242px; vertical-align: middle; } .prowone > label, .prowone > span { width: auto !important; padding: 2px 0; } .inp_tf_short { width: 100px !important; } .sub_opt { padding-left: 20px; } input, textarea, select, code, .checkbox, .pager > a { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; -webkit-transition: color .2s, border-color .2s; -moz-transition: color .2s, border-color .2s; -o-transition: color .2s, border-top-color .2s, border-right-color .2s, border-left-color .2s, border-bottom-color .2s; transition: color .2s, border-color .2s; background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(0%, #fff), color-stop(100%, #f5f5f5)); background-image: -moz-linear-gradient(top, #fff, #f5f5f5); background-image: -o-linear-gradient(top, #fff, #f5f5f5); background-image: linear-gradient(to bottom, #fff, #f5f5f5); background-color: rgba(242, 242, 242, 0); padding: 3px; margin: 2px; border: 1px solid #ddd; border-radius: 3px; font: 13px Verdana, sans-serif; } pre, code, textarea { font: 13px Consolas, Monaco, monospace; } code { display: inline-block; background-image: linear-gradient(to bottom, #FFFFFF, #F5F5F5); border: 1px solid silver; padding: 3px 5px; } select { max-width: 100%; } textarea { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; -webkit-tab-size: 4; -moz-tab-size: 4; -o-tab-size: 4; tab-size: 4; resize: none; width: 100%; } select:focus, textarea:focus, input[type="text"]:focus, input:hover, select:hover, textarea:hover, .prow:hover input, .prow:hover select, label:hover input, .pager > a:hover, .prow:hover .checkbox, label:hover > .checkbox, .checkbox:hover { border: 1px solid #888; } input[type="checkbox"] { display: none; } .checkbox { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; color: transparent; display: inline-block; vertical-align: middle; width: 20px; height: 20px; padding: 0; position: relative; } .checkbox:after { content: "✔"; font-weight: 700; position: absolute; top: 0; left: 3px; } input[type="checkbox"]:checked + .checkbox { color: #616161; } input[type="number"], input[type="color"] { width: 50px; text-align: center; } input[type="color"] { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; background: none; padding: 2px; vertical-align: middle; } input[type="number"] { width: 60px; box-shadow: none; /* Firefox marks "invalid" inputs */ } input[type="range"] { height: 24px; vertical-align: middle; } output { display: inline-block; min-width: 24px; } h3 { clear: left; } .color_helper { transition: opacity .3s; float: right; opacity: 0.1; } .color_helper:hover { opacity: 1; } .color_helper > input[type="text"] { width: 80px !important; } .shortcuts > label { display: block; } .shortcuts > label:hover input { border: 1px solid #aaa; } .shortcuts input, .sub_shortcuts input { margin: 5px; width: 35px; text-align: center; } .sub_shortcuts input { margin: 0; } .sub_shortcuts li { line-height: 200%; } .op_buttons > button, .action_buttons > span { position: relative; background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(0%, #fff), color-stop(100%, #f5f5f5)); background-image: -moz-linear-gradient(top, #fff, #f5f5f5); background-image: -o-linear-gradient(top, #fff, #f5f5f5); background-image: linear-gradient(to bottom, #fff, #f5f5f5); cursor: pointer; color: #000; font-weight: 700; font-size: 14px; border-radius: 3px; border: 1px solid #ddd; } .op_buttons > button { -webkit-transition: border-color .3s, color .3s; -moz-transition: border-color .3s, color .3s; -o-transition-property: border-top-color, border-right-color, border-left-color, border-bottom-color, color; -o-transition-duration: .3s; transition: border-color .3s, color .3s; box-shadow: 0 1px 2px rgba(0, 0, 0, .5); -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .5); margin-bottom: 10px; font: 700 14px Arial; width: 95%; padding: 10px 0; } .op_buttons > button:hover { border: 1px solid #999; } .container_info { text-align: center; } #info_sec > pre { white-space: pre-line; } #locales_table { border-collapse: separate; border-spacing: 25px 2px; margin: 0 auto; font: 13px Consolas, Monaco; } #locales_table > tr:hover { border-collapse: separate; border-spacing: 25px 2px; margin: 0 auto; font: 13px Consolas, Monaco; } #locales_table th:first-child { text-align: left; } #locales_table td:last-child { text-align: center; }[{ "type": "extension", "frameworkVersion": "1.0.1", "guid": "{000008f5-8a32-4389-a7da-2daa0e9d7760}", "version": "0.9", "title": {"en": "Viewhance"}, "description": {"_t": "APP_DESCRIPTION"}, "author": { "name": "Deathamns", "email": "deathamns@gmail.com" }, "permissions": {"httpRequest": ["*"]}, "config": "options.html", "service": { "main": "background.html" }, "actions": [ { "type": "script", "entryPoints": ["doc_start"], "exclude": ["res"], "js": [ "includes/app.js", "includes/content.js" ], "includeFrames": true } ] }] // Sat, 28 Jun 2014 17:07:56 GMT { "mode": 1, "minUpscale": 0, "imgInfo": "%ow×%oh | %name (%perc%)", "favicon": "", "customCSS": "", "center": true, "wheelZoom": false, "lpDelay": 350, "lpLeft": 1, "lpRight": 0, "key_mOrig": "0", "key_mFit": "1", "key_mFitW": "2", "key_mFitH": "3", "key_rotate": "R", "key_flip": "F", "key_cycle": "C" }PNG  IHDRVΎWIDAT8oTU3Ngj -!Z0jq>\r^]pmA6IiJC;;y9~>n%R %"ԍsxywy?RRh0ZhEV_7b]1rlXg)QR?o]k@1es˫K\ѣ/D!pej38Ȑo}gNҡYzuH70Q184XYhr ,.&YO,ZE&^%Ĭ%s'dU1³cc䝘c:1//'ZOk[zTOxLf<WJ+r9HC{k/MnmDŽZ]#BCLYY@`+P*/lw"wIDATx^}\y{oL!"aB CJfM ;ة-QFF&6 ,JZvx7"Ļ|H`&,rbhFf43=}ϻ;ۭAVܹV?yޏVrAE0- $ @9BNLO%2P''`L(}yD!8Ao'^TU4JS@+CyAބ.~'{U5TQ* hO0mʊ>^9УLV9䑲"NEmY; iN_?+A%l aWB:V01EK1>7W 8YP-2W%=ƔdWR_9J>b' Z'QP,Ok'ӬF#SB#>· wAB'VP ,;_M& <8Iޛ +bi}y pն,LE,?I!%arrYc/N^R9(XNPa`gloV)y&"]fz\VL ? !,K'p"~Y;YKؒ\^HOz@Y)X~f.{G$[@j$(81I!]/Jo!TqNkTpdoOSs_Q@8C0t.лٯ鍴uGVTC1>~7NhCR>|ƚ@o pe Y#,Ƒ 4k.'=OlOUƝyOؚ@Qa IDI+9<9]H < u[MEXCJ 8%Lr\`9 pP#lO2pGDu'#hIbGNqHWTp1(Fѫ!(VH^o茂/E3XMfJfb%8pD}Eq2 {ŮGYNYeMvu)`yǂw5$EZ̒P$@mHiΤ>,i; F~DpBOe(Y9+E1P~ {m>& 㰮 Vvnd@ ¾@)#{U( ?Bf >~=C7\ h("{zt'ɳ nBN7\Dҳbƻ{&BoOVSčk4sU #iǚX8S*#E`2cMcLM QmBi,8fʖ _~n߽{LdD8Xa`S$m34]λ~ {GENHV P_pMH7j^v+u`h ;lpv2VBy&!`8@rH;C避xw1>?% i׌Ǐv݀ˊNˉ ,7atXI$.xkHnչWuXpoٞm;Wv\u0p9xL<+Q"WZRIcɲ1$!/3ː=#+/;p^ᤁv@T5XpW :fw92(܀2/ o3",F,qJG[>8{7TPgR2?'=9K۹ARE:et6&>yu]^D%1$= gO8p~;Aё^/kҀdlPyPˁݺ8g&"ZCu,+ 9B038~- 㴂CNxx׌ .Vގi;]x<`G[Rъj)椠 CI( kĕ{vYBv(vxi?AQj d9ۂAj/\noR( x;R!rCv%;lㅀytz`‹f?]>vզ}lE$\_cZp,?@$p໮֦<@{1{uGú)ǸQHQc͉'r5C x c< .Q7t#@υ7@[Ӑ~\vٺuTLj@b]pIgC\24fJo)g8.v˜*+OdX%,~El]}яͳOѫH'ޔ@A]>)tFv\^Qk'>xstN9p@MPE%N`GgϭɊ.R塆0J^@8 LՐeUhUV} <^nW 53to&˝+ \NZD^2!E~TIBPgk\*WGgPm:)_2JpH_qb 1@vHr z!t,Z-e&aΩQBxޓi_KODsZ*()-Sc:@]o%?67waL,ZSO ɫ02U~Uk?hC_RoBHJ7ح ߕӑ#i jODHVt I(laS`DtVh/挗0&I1/: 8###x5󟭶Xn{E?ъUg<3SӐ> \^^l=3fDpI_Aӿ(N[JyH`]lh3Pi+R#SPձN9BvҾ;Ib7(7\MXSSY8[ٰ[B`t$\cB@&p)*uy|ݭ'?kS+3dž9rJ&r*74~]@{iZC FTƐ#p>BGzY?ҬQUS6qp2W&зRjdZ3G3)SOj:G,xJPo2Y [FDgϋ{.8 94R͏wj~Dbmt~dՈ p%%ڋ 9:Sq倫4(H_I:!}چ KN"(o=]u GN\G"m Xno X;-ʃX Gj|BiLQYm0 o6γI#,_p^ܙOYX0rDP_@VFK̉Sqp\8xTj8ʷL.oE` . 9/9u? 2(־9;)Vlv{ҥ_$\2A’k.Tj="=,? yߨEoB<}A蟟8οs$P`p rMSC A,S}3X»ܩ/8;pAsh%k@0ȋ8 n|c7́I3tǔ4:ہ`R၍3Q_>>)Li,}eblVZkCz@X[Ṕj( /ŝȡ].>;"s4S䮸@[9Yq;sG[?g;ز|0#_ȁC?5 2^p>%78vkjǥ 6>{r`LJ+ |Ng,]q;ՂAD~d@y;G ;pO?>Efas q7F1P 0qd3̱! 9c|vӓAB2_󡒘6|{;+>q>qX Ld!P8hC}ɂDhpON:tqgI*zŤzǐ<'9 A,.-A /d^36wu; '#ä~++s΃&0"zfQXxKib|X߼AAOG`EꄽfqHh *J(*z\  2!w^1 y̿ mT^ <\O4zt R"@8@'2priE:o8H`~U@? Uc[tR %qq/ZE3SS @GD71%[1h肜J~A`pcoe* b5RxQDdP*$Ah Ϋ eE߷&]8qL;=F2D1 lD|h*Sj?:L!n g0y V~y[}ndlfuJ\ ](! 1'\eJ_~jHnqB/.IrԄnIENDB`PNG  IHDRasRGBgAMA a pHYsodtEXtSoftwarepaint.net 4.0;imIDAT8O-Ogg-zv%[nD3c&u )ȀЁRhK-WGKKm)-`2~{J<;s]ܒTy[ǁx#PLm#HCIO|/cQ9K^ex)`UxUJ&Dps 7vrᵋ̆"K#ĥlNd<;q5,]J6}/d&'IrB ͨYEaG.G[ G+GS5cIQtk M?!.!OCR9*\<`iSbMZ Uzp-@SG>@f(%7R4xtv)e|] wpoZ x@#͗C>jܚKro]t,'(LIFW;Ẓ^'< qFb1M=EXjwtyDq *=.bk[vNiԌopJ,:g#\jRP?9CBl:~vɯln3F~kf8U9Li<:*tV:3 q /7Ňl}{{\OsM^f?UkLs;3?(yN >R=J6`r&^I.?n(%-xﺞ_aa+U[LwYYiz3M׊Jz(}sa:*wE:ߋ2OMiLE2 ~эyh 0Q4K{]9ߟ4nd KF?֌r﹋ujcqGW+aIENDB`PNG  IHDR DPLTEֱԭԣϝԝˍЊ҇ч҇ӋՍԌҐ֔Քڙڔ֑Շ΃͂Ђ̅}urrk|ۄޅ}uruvzrnpswx~ܑܛޡߠݩݮ۳ڮ֚ڙ̍ЅȒÌʷyzrĴsqfgc^TNI}Bw:t>p9f2e5_;Z8T1W3N2I1F8B@IEMCXHbJdPoWwVvbjkukxj|lor|}{}jph{nj[_Q_F~EB8ӌ+fH؀ D fl8{sM8 ]#r;c=ht!Z!֋ay|[u߽7nˆe [of_-vb.@|yҐ,o~AX4/ޓh.8?є4*KvGC,Fo?װXBSez+QLő #L'֛፣CNڪ?EC,e䋭`nj~L&kӓBteL}08!$5J('U~^ja4(v)0~@T+nH "h%@K3 ^#UQ MT@9_ zĚ^'[IENDB`PNG  IHDR00` PLTEms$v(z084:?H~EzBw?q;k3i9c3`2Z:[:T2S9N7J0J4C;EBLCXASNZHaPfPn^hm`TT2;1rMVQX\dblluqkox~}ل܇҇ыӑ֌ԍѐՌדٔ՘טܕےݗٛߵݦוӖztwvsmmg`V^bhqy~}ysouqɃЂ~̂̇φЍӉɅ̝ʤΗ٤ܵ٥ɠqlxY\cSSrJKA@S`lzeqZ{b}jϴ֖omyqidyъޠűǣܧިץ̟s8itRNS0>I|IDATx]ole 15 && e.which < 19; }, key: function(e) { return this.specKeys[e.which] || String.fromCharCode(e.which).toUpperCase(); } }; if (browser.opera || browser.firefox) { img.style.display = "none"; } head = head && (head.data || head.message || head); // Opera / Maxthon / Chrome, Safari, Firefox if (browser.opera) { win.donotrun = img.error = true; img.naturalWidth = 0; img.onclick = win.ondragstart = win.onkeypress = win.onmousedown = win.onmouseup = win.onmousemove = null; } ["class", "style"].forEach(function(attr) { doc.documentElement.removeAttribute(attr); doc.body.removeAttribute(attr); }); cfg = JSON.parse(head.prefs); var root, init_params, sub_init, after_calc, moving, winW, winH, sX, sY, URL = img.src, noFit = {cur: false, real: false}, lastEvent = {}, progress = null, cancelAction = false, fZoom = null, dragSlide = [], borderSize = 0, MAXSIZE = 0x7fff; if (head = doc.querySelector("head")) { doc.documentElement.removeChild(head); } head = doc.createElement("head"); if (cfg.favicon) { root = doc.createElement("link"); root.rel = "shortcut icon"; root.href = cfg.favicon === "%url" ? win.location.href : cfg.favicon.replace("%url", encodeURIComponent(win.location.href)); } if (root) { head.appendChild(root); } root = doc.createElement("style"); root.appendChild(doc.createTextNode( "html, body{width: 100%; height: 100%; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none}" + "body {cursor: default; margin:0; padding: 0; font: 12px 'Trebuchet MS', sans-serif}" + "h2 {margin: 0; padding-top: 15%; text-align: center; text-shadow: 1px 1px 15px #000; color: #fff; font: 700 30px 'Trebuchet MS', sans-serif}" + ".m_1 {max-width: 100%; max-height: 100%; width: auto; height: auto}" + ".m_2 {width: 100%; height:auto} .m_3 {height: 100%; width: auto}" + "a {text-decoration: none}" + "#menu {position: fixed; " + browser["transition_css"] + ": left .3s; width: 50px; height: 33.33%; top: 0}" + "ul {display: inline-block; text-align: center; margin: 0; padding: 5px 10px; list-style: none; font-size: 25px; font-weight: 700; background: rgba(255, 255, 255, 0.9)}" + "li {display: inline-block; position: relative}" + "li[data-cmd] {cursor: pointer}" + "li[data-cmd=cycle], li[data-cmd=rotate] {position: relative}" + "li[data-cmd=cycle]::after {content: '\u2195' ; position: absolute; left: 25%}" + "li[data-cmd=rotate]::after {content: '\u21BB'; position: absolute; left: 0%}" + "li ul {position: absolute; left: 100%; top: 0; visibility: hidden; opacity: 0; " + browser["transition_css"] + ": visibility .4s, opacity .2s .3s; text-align: left}" + "li:hover ul {display: block; opacity: 1; visibility: visible}" + "li ul>li {display: block !important; font-size: 15px; padding: 3px 0; color: black}" + ".send_hosts li > a {background-size: 16px 16px; background-repeat: no-repeat; background-position: 0 3px; padding-left: 25px;}" + "#menu>ul>li {margin: 0 10px}" + "#menu>ul>li:hover {color: silver}" + "li ul>li {white-space: nowrap}" + ".filters>ul {font-size: 15px}" + ".filters>form {margin: 0; padding: 0}")); head.appendChild(root); doc.documentElement.insertBefore(head, doc.body); sub_init = function() { if (!cfg.imgInfo) { cfg.imgInfo = false; } var style = doc.getElementById(app.name + "_CSS"); if (!style) { style = doc.createElement("style"); style.id = app.name + "_CSS"; head.appendChild(style); } if (!img || !img.width) { return; } style.textContent = "body>img{background-clip: padding-box;" + browser["box-sizing_css"] + ": border-box; position: absolute;" + "max-width:" + Math.min( MAXSIZE, Math.floor(img.naturalWidth * MAXSIZE / img.naturalHeight) ) + "px;max-height:" + Math.min( MAXSIZE, Math.floor(img.naturalHeight * MAXSIZE / img.naturalWidth) ) + "px}" + (cfg.customCSS || "html{overflow: hidden; background-color: #f3f3f5}"); cfg.hiddenScrollbars = win.getComputedStyle(root).overflow === "hidden" || win.getComputedStyle(doc.body).overflow === "hidden"; var menu = doc.body.appendChild(doc.createElement("div")); menu.id = "menu"; if (win.getComputedStyle(menu).display === "none") { return; } menu.innerHTML = '
    ' + '
  • ' + '
  • ' + '
  • ' + '
  • 🔍' + '' + '
  • ' + '
  • ≡' + '
      ' + '
    • brightness
    • ' + '
    • contrast
    • ' + '
    • saturate
    • ' + '
    • grayscale
    • ' + '
    • invert
    • ' + '
    • sepia
    • ' + '
    • hue-rotate
    • ' + '
    • blur
    • ' + '
    ' + '
  • ' + '
'; menu.addEventListener("mousedown", function(e) { var t = e.target; if (t.href && t.href.slice(-1) === "%") { t.href = t.href.slice(0, -1) + encodeURIComponent(win.location.href); } if (t.textContent) { pdsp(e); } }, false); menu.style.cssText = "-webkit-filter: blur(1px); filter: blur(1px)"; if (menu.style.webkitFilter || menu.style.filter) { img.filters = {}; menu.onchange = function(e) { var t = e.target, f = ""; if (t.value) { if (t.value === t.defaultValue) { delete img.filters[e.target.parentNode.textContent]; } else { img.filters[t.parentNode.textContent.trim()] = t.value + t.getAttribute("unit"); } for (var fname in img.filters) { f += fname + "(" + img.filters[fname] + ") "; } } img.style.webkitFilter = f; img.style.filter = f; }; } else { menu.lastElementChild.lastElementChild.style.display = "none"; } menu.style.cssText = "display: none; left: -" + menu.offsetWidth + "px"; // load favicons only when the menu item is hovered the first time menu.querySelector(".send_hosts").onmouseover = function() { this.onmouseover = null; [].forEach.call(this.querySelectorAll(".send_hosts>ul>li>a"), function(el) { el.style.backgroundImage = "url(http://" + (el.getAttribute("data-favicon") || (el.host + "/favicon.ico")) + ")"; }); }; var handle_cmd = function(cmd, e) { if (e.button === 1) { return; } var p = (-e.wheelDelta || e.deltaY || e.detail) > 0 || e.button === 3 ? 1 : 0; if (cmd === "cycle") { img.cycle(p); } else if (cmd === "flip") { transform.flip(img, p); } else if (cmd === "rotate") { img.rotate(p, e.shiftKey); } else { p = null; } if (p !== null) { pdsp(e); } }; menu.addEventListener(browser["wheel"], function(e) { var t = e.target; if (t.type === "range") { t.value = Math.max(t.getAttribute("min"), Math.min(parseInt(t.value, 10) + t.getAttribute("step") * ((-e.wheelDelta || e.deltaY || e.detail) > 0 ? -1 : 1), t.getAttribute("max"))); menu.onchange(e); pdsp(e); } else if (t.getAttribute("data-cmd") !== "flip") { handle_cmd(t.getAttribute("data-cmd"), e); } }, false); menu.onclick = function(e) { if (e.target.hasAttribute("data-cmd")) { handle_cmd(e.target.getAttribute("data-cmd"), e); } }; menu.oncontextmenu = function(e) { var t = e.target; if (t.type === "range") { t.value = t.defaultValue; menu.onchange(e); pdsp(e); } else if (t.hasAttribute("data-cmd")) { handle_cmd(t.getAttribute("data-cmd"), e); } }; menu.addEventListener(browser["transitionend"], function() { if (this.style.left[0] === "-") { menu.style.display = "none"; } }, false); if (win.Node.prototype && !win.Node.prototype.contains) { win.Node.prototype.contains = function(n) { return n instanceof Node && (this === n || !!(this.compareDocumentPosition(n) & 16)); }; } menu.onmouseover = function() { if (menu.mtimer) { clearTimeout(menu.mtimer); menu.mtimer = null; menu.style.left = "0"; } }; menu.onmouseout = function(e) { if (!this.contains(e.relatedTarget)) { doc.addEventListener("mousemove", mmove, false); menu.mtimer = setTimeout(function() { menu.style.left = "-" + menu.offsetHeight + "px"; menu.mtimer = null; }, 1000); } }; function mmove(e) { if (!moving && e.clientX < 40 && e.clientY < win.innerHeight / 3) { if (menu.style.display !== "block") { menu.style.display = "block"; setTimeout(function() { menu.style.left = "0"; }, 50); doc.removeEventListener("mousemove", mmove, false); } } } doc.addEventListener("mousemove", mmove, false); }; init = function() { if (!(img.width || init_params === null)) { if (init_params && ++init_params.loop >= init_params.maxLoop && progress) { clearInterval(progress); } return; } if (progress) { clearInterval(progress); } if (win.location.href !== img.src) { try { win.history.pushState(null, null, img.src); } catch (ex) {} } if (browser.opera || browser.firefox || !doc.images.length) { doc.body.textContent = ""; doc.body.appendChild(img); } else { doc.body.replaceChild(img, doc.images[0]); } sub_init(); after_calc = function() { if (img.calcFit) { winH = doc.compatMode[0] === "B" ? doc.body : root; winW = winH.clientWidth; winH = winH.clientHeight; img.setPos(); if (!cfg.wheelZoom) { doc[(img.width > winW || img.height > winH ? "add" : "remove") + "EventListener"]( browser["wheel"], onWheel, false ); } setTimeout(function() { // Gecko and WebKit/Blink render scrollbars for a split of a second // even if the image fits into the view-port winH = doc.compatMode[0] === "B" ? doc.body : root; winW = winH.clientWidth; winH = winH.clientHeight; img.calcFit(); img.setInfo(); img.setCur(); }, 0xf); } }; img.resize = function(m, w) { if (m === -1 || (m === -1 && fZoom)) { if (w) { this.style.width = w; } } if (m === void 0) { m = 1; } if (m !== -1 && this.mode === -1) { this.style.width = this.style.height = ""; } this.mode = m; this.className = "m_" + m; if (this.naturalWidth) { after_calc(); } }; img.setInfo = function() { if (!cfg.imgInfo || !(img.naturalWidth && img.naturalHeight)) { return; } doc.title = cfg.imgInfo.replace(/%(o?[wh]|url|name|ratio|perc)/g, function(a, a1) { switch (a1) { case "w": return img.width; case "h": return img.height; case "ow": return img.naturalWidth; case "oh": return img.naturalHeight; case "url": return win.location; case "name": return img.alt; case "ratio": return Math.round(img.width / img.height * 100) / 100; case "perc": return ~~(0.5 + 1e4 * (img.width / img.naturalWidth)) / 100; } }); }; img.setPos = function() { var s = this.style; if (cfg.center) { s.top = Math.max(0, (winH - this.offsetHeight) / 2) + "px"; s.left = Math.max(0, (winW - this.offsetWidth) / 2) + "px"; } else { s.top = s.left = "0"; } this.box = this.getBoundingClientRect(); if (this.box.left < 0) { s.left = (parseInt(s.left, 10) - this.box.left - win.pageXOffset) + "px"; } if (this.box.top < 0) { s.top = (parseInt(s.top, 10) - this.box.top - win.pageYOffset) + "px"; } }; img.calcFit = function() { var box = this.box || this.getBoundingClientRect(); noFit = { cur: (box.width <= winW && box.height <= winH), real: (this.naturalWidth <= winW && this.naturalHeight <= winH) }; }; img.wheelZoom = function(e) { pdsp(e); stopScroll(); var w = img.offsetWidth, h = img.offsetHeight; if ((-e.wheelDelta || e.deltaY || e.detail) > 0) { img.resize(-1, Math.max(1, w * 0.75) + "px"); } else { var width = w * (4 / 3); img.resize(-1, (width > 10 ? width : width + 3) + "px"); } if (e.keypress || e.target.nodeName.toUpperCase() === "IMG") { win.scrollTo( (e.offsetX || e.layerX || 0) * img.offsetWidth / w - e.clientX + borderSize, (e.offsetY || e.layerY || 0) * img.offsetHeight / h - e.clientY + borderSize ); } }; if (cfg.wheelZoom) { doc.addEventListener(browser["wheel"], img.wheelZoom, false); } else { var onWheel = function(e) { var x = 0, y = ((-e.wheelDelta || e.deltaY || e.detail) > 0 ? winH : -winH) / 5; if (img.width <= winW && img.height > winH) { if (!cfg.hiddenScrollbars) { return; } } else if (img.height <= winH && img.width > winW || e.clientX < winW / 3 && e.clientY < winH / 3) { x = (y < 0 ? -winW : winW) / 5; y = 0; } else if (!cfg.hiddenScrollbars) { return; } win.scrollBy(x, y); e.preventDefault(); }; } img.setCur = function() { if (this.width > winW || this.height > winH) { this.style.cursor = "move"; } else if ( ((winH >= this.height && winW >= this.width) && (winH < this.naturalHeight || winW < this.naturalWidth)) || (noFit.cur && noFit.real && (this.height < this.naturalHeight || this.width < this.naturalWidth))) { this.style.cursor = browser["zoom-in"]; } else { this.style.cursor = "default"; } }; win.addEventListener("resize", after_calc, false); doc.addEventListener("contextmenu", function(e) { doc.removeEventListener("mousemove", onmove, false); if (progress) { clearTimeout(progress); progress = null; } if (cancelAction) { e.preventDefault(); } }, false); var x, y; var onmove = function(e) { x = e.clientX; y = e.clientY; if (x === lastEvent.clientX && y === lastEvent.clientY) { return; } else if (progress) { clearTimeout(progress); progress = lastEvent.button = null; } if (sX === true || noFit.cur) { doc.removeEventListener("mousemove", onmove, false); return; } if (!moving) { moving = win.requestAnimationFrame(onmoveonmoveframe); } if (dragSlide.length !== 3) { dragSlide = [[x, y], [x, y], [x, y]]; return; } // Opera fires move event before mouseup if (dragSlide[2][0] === x && dragSlide[2][1] === y) { return; } dragSlide[0] = [dragSlide[1][0], dragSlide[1][1]]; dragSlide[1] = [dragSlide[2][0], dragSlide[2][1]]; dragSlide[2] = [x, y]; // e.timeStamp; img.dragSlideTime = Date.now(); }; var pan = function() { win.scrollBy(sX - x, sY - y); sX = x; sY = y; }; var onmoveonmoveframe = function() { pan(); moving = null; }; var stopScroll = function(e) { if (dragSlide.length) { clearInterval(progress); progress = null; cancelAction = false; dragSlide.length = 0; img.dragSlideTime = false; } if (e) { doc.removeEventListener(browser["wheel"], stopScroll, false); } }; var startScroll = function() { progress = setInterval(function() { win.scrollBy(dragSlide[0], dragSlide[1]); if (dragSlide[0]) { if (Math.abs(dragSlide[0]) < 1) { dragSlide[0] = 0; } dragSlide[0] /= 1.11; } if (dragSlide[1]) { if (Math.abs(dragSlide[1]) < 1) { dragSlide[1] = 0; } dragSlide[1] /= 1.11; } var atRight = root.scrollWidth - win.pageXOffset === winW, atBottom = root.scrollHeight - win.pageYOffset === winH; if (!(dragSlide[0] && dragSlide[1]) || (!win.pageYOffset && !win.pageXOffset) || (!win.pageYOffset && atRight) || (atBottom && !win.pageXOffset) || (atBottom && atRight)) { stopScroll(); } }, 25); }; var draw_mask = function(e) { if (++fZoom.counter % 3) { return; } var x = e.clientX - fZoom.left, y = e.clientY - fZoom.top; if (e.ctrlKey) { var rx = fZoom.prevX ? x - fZoom.prevX : 0, ry = fZoom.prevY ? y - fZoom.prevY : 0; fZoom.prevX = x; fZoom.prevY = y; fZoom.x += rx; fZoom.y += ry; fZoom.X += rx; fZoom.Y += ry; } else { if (fZoom.prevX) { delete fZoom.prevX; delete fZoom.prevY; } fZoom.w = Math.abs(fZoom.X - x); fZoom.h = Math.abs(fZoom.Y - y); fZoom.x = fZoom.X < x ? fZoom.X : fZoom.X - fZoom.w; fZoom.y = fZoom.Y < y ? fZoom.Y : fZoom.Y - fZoom.h; } img.mctx.clearRect(0, 0, img.mask.width, img.mask.height); img.mctx.fillRect(0, 0, img.mask.width, img.mask.height); img.mctx.clearRect(fZoom.x, fZoom.y, fZoom.w, fZoom.h); }; img.addEventListener("mousedown", function(e) { if (e.button === 1 || e.ctrlKey || e.altKey) { return; } if ((e.button === 0 && img.mode < 4) || e.button === 2) { if (e.button === 2) { sX = true; } else { if (!e.shiftKey && noFit.cur && img.width >= 60 && img.width - (e.offsetX || e.layerX || 0) <= 30) { lastEvent.clientX = e.clientX; lastEvent.clientY = e.clientY; return; } e.preventDefault(); win.focus(); sX = e.clientX; sY = e.clientY; } if (!e.shiftKey) { doc.addEventListener("mousemove", onmove, false); } } if (!cfg.lpDelay) { return; } // for fine move and free zoom if (e.shiftKey) { cancelAction = true; if (e.button === 0) { fZoom = { counter: 0, left: parseInt(img.style.left, 10), top: parseInt(img.style.top, 10) }; fZoom.X = e.clientX - fZoom.left; fZoom.Y = e.clientY - fZoom.top; if (!img.mask) { img.mask = doc.createElement("canvas"); img.mask.className = "mask"; img.mask.style.cssText = "display: block; position: fixed; left: 0; top: 0;"; img.mctx = img.mask.getContext("2d"); } doc.addEventListener("mousemove", draw_mask, false); var h = img.curdeg && Math.sin(img.curdeg) ? true : false, w = h ? img.offsetHeight : img.offsetWidth; h = h ? img.offsetWidth : img.offsetHeight; img.mask.width = Math.min(winW, w); img.mask.height = Math.min(winH, h); img.mask.style.left = img.style.left; img.mask.style.top = img.style.top; img.mctx.clearRect(0, 0, img.mask.width, img.mask.height); doc.body.appendChild(img.mask); w = win.getComputedStyle(img.mask).color; img.mctx.fillStyle = !w || w === "rgb(0, 0, 0)" ? "rgba(0,0,0,.4)" : w; } } // is dragSlideing if (progress) { if (stopScroll) { stopScroll(); cancelAction = e.button === 0; } if (e.button === 0) { return; } } if (e.shiftKey || (e.button === 0 && !cfg.lpLeft) || (e.button === 2 && !cfg.lpRight)) { return; } lastEvent.clientX = e.clientX; lastEvent.clientY = e.clientY; lastEvent.layerX = e.offsetX || e.layerX || 0; lastEvent.layerY = e.offsetY || e.layerY || 0; lastEvent.button = e.button; progress = setTimeout(longpress_handler, cfg.lpDelay); }, false); var longpress_handler = function() { cancelAction = true; progress = null; longpress_func(cfg[lastEvent.button === 2 ? "lpRight" : "lpLeft"]); }, longpress_func = function(id) { switch (id) { case 1: // fit to width/height var x, y; if (img.mode === 2 || img.width === doc.body.clientWidth || (doc.body.clientHeight > img.height && winW < doc.body.clientWidth)) { x = img.width; img.resize(3); x = lastEvent.layerX * img.width / x - winW / 2; y = 0; } else { y = img.height; img.resize(2); x = 0; y = lastEvent.layerY * img.height / y - winH / 2; } win.scrollTo(x, y); break; } }; doc.addEventListener("mouseup", function(e) { if (e.button !== 0) { return; } var x, y; if (img.mode < 4) { doc.removeEventListener("mousemove", onmove, false); if (fZoom) { doc.removeEventListener("mousemove", draw_mask, false); doc.body.removeChild(img.mask); var w = Math.min( img.width, fZoom.w + Math.min(fZoom.x, 0) + (fZoom.x + fZoom.w > img.mask.width ? img.mask.width - fZoom.x - fZoom.w : 0) ), h = Math.min( img.height, fZoom.h + Math.min(fZoom.y, 0) + (fZoom.y + fZoom.h > img.mask.height ? img.mask.height - fZoom.y - fZoom.h : 0) ); x = Math.max(0, fZoom.x); y = Math.max(0, fZoom.y); fZoom = null; cancelAction = false; if (!w || !h || x >= img.width || y >= img.height) { return; } var nimgw, nimgh, scrollbars = (win.innerWidth - winW) || (win.innerHeight - winH); var fitW = winW < w * winH / h; fitW = e.ctrlKey ? !fitW : fitW; if (fitW) { nimgw = img.width * winW / w; nimgh = nimgw * img.height / img.width; } else { nimgh = img.height * winH / h; nimgw = nimgh * img.width / img.height; } // not needed in Opera 12, except for positioning if (nimgw > MAXSIZE) { nimgw = MAXSIZE; nimgh = img.height * MAXSIZE / img.width; } if (nimgh > MAXSIZE) { nimgw = img.width * MAXSIZE / img.height; nimgh = MAXSIZE; } var cx = (win.pageXOffset + x + w / 2) * nimgw / img.width - winW / 2 - scrollbars; var cy = (win.pageYOffset + y + h / 2) * nimgh / img.height - winH / 2 - scrollbars; img.resize(-1, nimgw + "px"); win.scrollTo(cx, cy); return; } else if (dragSlide.length === 3) { x = dragSlide[0][0] - dragSlide[2][0]; y = dragSlide[0][1] - dragSlide[2][1]; // e.timeStamp if ((Date.now() - img.dragSlideTime) > 100) { cancelAction = false; dragSlide.length = 0; return; } if (x || y) { dragSlide.length = 2; dragSlide[0] = x; dragSlide[1] = y; startScroll(); doc.addEventListener(browser["wheel"], stopScroll, false); return; } } } if (progress) { clearTimeout(progress); progress = null; } if (cancelAction) { cancelAction = false; return; } if (e.shiftKey || e.ctrlKey || e.altKey || e.target !== img || lastEvent.button === null || e.clientX !== lastEvent.clientX || e.clientY !== lastEvent.clientY) { return; } if (img.mode < 2 && noFit.real) { if (img.mode === -1) { img.resize(0); } else if (winW / winH < img.naturalWidth / img.naturalHeight || winH === img.offsetHeight && winW > img.offsetWidth) { img.resize(2); } else { img.resize(3); } } else if (img.mode === 1 || noFit.cur) { if (img.naturalWidth === img.width && img.naturalHeight === img.height) { return; } x = e.offsetX || e.layerX || 0; y = e.offsetY || e.layerY || 0; if (img.scale) { if (img.scale.h === -1) { x = img.width - x; } if (img.scale.v === -1) { y = img.height - y; } } x = x * img.naturalWidth / img.width - winW / 2; y = y * img.naturalHeight / img.height - winH / 2; img.resize(0); win.scrollTo(x, y); } else { img.resize(1); } }, false); doc.addEventListener("keydown", function(e) { if (stopScroll) { stopScroll(); } if (shortcut.isModifier(e)) { return; } var key = shortcut.key(e); if (e.ctrlKey || (fZoom && key !== "Esc")) { return; } if (key === "+" || key === "-") { e.keypress = true; e.wheelDelta = key === "+" ? 1 : -1; e.clientX = winW / 2; e.clientY = winH / 2; e.offsetX = win.pageXOffset + img.offsetLeft + e.clientX; e.offsetY = win.pageYOffset + img.offsetTop + e.clientY; img.wheelZoom(e); return false; } var x, y, z; switch (key) { case "Esc": img.reset(); break; case "PgUp": x = e.shiftKey ? -winW / 2 : 0; y = e.shiftKey ? 0 : -winH / 2; break; case "PgDn": x = e.shiftKey ? winW / 2 : 0; y = e.shiftKey ? 0 : winH / 2; break; case "End": x = e.shiftKey ? root.scrollWidth : win.pageXOffset; y = e.shiftKey ? win.pageYOffset : root.scrollHeight; z = true; break; case "Home": x = e.shiftKey ? 0 : win.pageXOffset; y = e.shiftKey ? win.pageYOffset : 0; z = true; break; default: x = true; } if (x !== true) { if (x !== void 0) { win[z ? "scrollTo" : "scrollBy"](x, y); e.preventDefault(); } return; } switch (key) { case cfg.key_mOrig: img.resize(0); break; case cfg.key_mFit: img.resize(1); break; case cfg.key_mFitW: img.resize(2); break; case cfg.key_mFitH: img.resize(3); break; case cfg.key_cycle: img.cycle(); break; case cfg.key_rotate: img.rotate(!e.shiftKey, e.ctrlKey); break; case cfg.key_flip: transform.flip(img, e.shiftKey ? 0 : 1); break; default: x = true; } if (x !== true) { pdsp(e); } }, false); img.cycle = function(back) { var n_s = this.mode - (back ? 1 : -1); if (n_s === 1) { n_s = n_s - (back ? 1 : -1); } else if (n_s < 0) { n_s = 3; } else if (n_s > 3) { n_s = 0; } this.resize(n_s); }; img.reset = function() { if (fZoom) { doc.removeEventListener("mousemove", draw_mask, false); doc.body.removeChild(img.mask); fZoom = null; cancelAction = false; return; } if (doc.readyState !== "complete") { return; } var filters = doc.body.querySelector("#menu li.filters > form"); if (filters) { this.style.filter = this.style.webkitFilter = ""; img.filters = {}; filters.reset(); } delete this.curdeg; delete this.scale; this.style[browser["transform"]] = this.style.width = this.style.height = ""; this.resize(0); }; img.rotate = function(deg, fine) { var rot; if (!this.curdeg) { this.curdeg = 0; } if (deg) { this.curdeg += (fine ? 10 : 90); } else { this.curdeg -= (fine ? 10 : 90); } win.status = this.curdeg + "°"; rot = "rotate(" + this.curdeg + "deg)"; if (this.scale) { rot += " scale(" + this.scale.h + ", " + this.scale.v + ")"; } this.style[browser["transform"]] = rot; this.setPos(); }; img.mode = cfg.mode; img.calcFit(); progress = []; if (cfg.minUpscale) { if (img.naturalWidth >= winW * cfg.minUpscale / 100) { progress[0] = 1; } if (img.naturalHeight >= winH * cfg.minUpscale / 100) { progress[1] = 1; } } if (img.mode === 4) { img.mode = img.naturalWidth / img.naturalHeight > winW / winH ? 3 : 2; } else if ((img.mode === 1 || (img.mode === 0 && noFit.real)) && progress.length) { img.mode = img.naturalWidth / img.naturalHeight > winW / winH ? 2 : 3; } if ((img.mode === 2 && img.naturalWidth < winW && !progress[0]) || (img.mode === 3 && img.naturalHeight < winH && !progress[1])) { img.mode = 0; } progress = null; img.resize(img.mode); }; root = doc.documentElement; img = doc.createElement("img"); img.addEventListener("error", function() { clearInterval(progress); doc.body.textContent = ""; doc.body.appendChild(doc.createElement("h2")).textContent = _("LOAD_FAILED"); }, false); img.src = URL; if (/^data:/.test(img.src)) { img.alt = _("VW_IMAGE") + " (data:)"; if (!cfg.imgInfo) { doc.title = img.alt; } } else { img.alt = img.src.replace(/#.*/, "").match(/(?:[^\/]+)?$/)[0] || _("VW_IMAGE"); try { // some Unicode characters caused problems img.alt = decodeURIComponent(img.alt); } catch (ex) {} } if (img.naturalWidth) { init_params = null; // Firefox and Safari won't position the image without setTimeout setTimeout(init, 0xf); } else { if (browser.opera || browser.firefox) { doc.body.textContent = ""; progress = doc.body.appendChild(doc.createElement("h2")); progress.textContent = img.alt; progress.addEventListener("click", function() { doc.body.replaceChild(img, this); }, false); } init_params = {loop: 0, wait: 150, maxLoop: 900}; progress = setInterval(init, init_params.wait); } }; (function() { var is_image_document = function() { var d = document, img = d.images && d.images.length === 1 && d.images[0]; return img && img.parentNode === d.body && img.src === window.location.href; }; if (browser.opera || browser.firefox) { if (is_image_document()) { Port.listen(function(e) { Port.listen(null); init(window, document, e); }); Port.send({"cmd": "hello"}); } else { init = null; } } else { Port.listen(function(e) { Port.listen(null); if (!is_image_document()) { init = null; return; } init(window, document, e); }); Port.send({"cmd": "hello"}); } })(); "use strict"; var app, cfg, Tabs, Port; app = { "name": /*~APP_NAME~*/"Viewhance", "version": /*~APP_VERSION~*/"0.9" }; app.runtime = external.mxGetRuntime(); cfg = { storage: app.runtime.storage, getItem: function(k, fn) { fn(this.storage.getConfig(k)); }, setItem: function(k, v) { return this.storage.setConfig(k, v); } }; /*Tabs = new mx.browser.tabs; Tabs.baseURI = app.runtime.getPrivateUrl(); Tabs.rgxNoLocal = /^[^:]{2,20}:/; Tabs.getSelected = function(cb) { cb(this.getCurrentTab()); }; Tabs.create = function(p) { if (!this.rgxNoLocal.test(p["url"])) { p["url"] = this.baseURI + p["url"]; } this.newTab({ "url": p["url"], "activate": p["active"] }); };*/ Port = { parse_msg: function(msg) { var id = msg.mxPort.id; return { msg: msg.message, origin: msg.mxPort.url, postMessage: function(msg) { app.runtime.post(id, msg); } }; }, listen: function(func, name) { app.runtime.listen(name || "service", func); } }; Port.listen(function(e) { e = Port.parse_msg(e); if (e.msg.cmd === "function") { window[e.msg.fn_name](); } }, "mx"); /* global cfg, Port */ "use strict"; cfg.getItem("cfg", function(v) { if (!v) { var def_prefs = new XMLHttpRequest; def_prefs.overrideMimeType("application/json;charset=utf-8"); def_prefs.open("GET", "defaults.jsn", false); def_prefs.send(null); cfg.setItem("cfg", JSON.stringify(JSON.parse(def_prefs.responseText))); } }); function onMessage(ev, origin, postMessage) { var e = Port.parse_msg(ev, origin, postMessage), msg = e.msg; if (!msg.cmd) { return; } switch (msg.cmd) { case "hello": cfg.getItem("cfg", function(v) { e.postMessage({ "cmd": "hello", "prefs": v }); }); break; case "save": cfg.setItem("cfg", JSON.stringify(msg.prefs)); break; } return true; // Chrome } Port.listen(onMessage);/* global browser, app, Port, _, cfg */ "use strict"; // Older Gecko versions open a pop-up window instead of a content tab if (!location.hash && app.platform_version < 7) { Port.send({ "cmd": "open", "url": "options.html#general" }); window.close(); } var def_prefs, input_changes = {}, $ = function(id) { return document.getElementById(id); }, processLNG = function(nodes) { var i = nodes.length, els, l, args, string; while (i--) { if (nodes[i].lng_loaded) { continue; } els = nodes[i].querySelectorAll("[data-lng]"); l = els.length; while (l--) { string = _(els[l].dataset["lng"]); if (els[l].dataset["lngargs"]) { args = els[l].dataset["lngargs"].split(" "); args.idx = args.length; while (args.idx--) { string = string.replace( "%" + args[args.idx], els[l].dataset[args[args.idx]] || args[args.idx] ); } } els[l][els[l].dataset["lngattr"] || "innerHTML"] = string; } nodes[i].lng_loaded = true; } }; function color_trans(node, color, time) { clearTimeout(node.col_trans_timer); if (color === null) { node.style.color = ""; delete node.col_trans_timer; return; } node.style.color = color; node.col_trans_timer = setTimeout(function() { color_trans(node, null); }, time || 2000); } function fill_output(e) { e = e.target || e; var op = e.previousElementSibling; op.value = op.dataset["as_percent"] ? parseInt(e.value * 100, 10) : e.value; op.defaultValue = def_prefs[e.name]; } function color_text_input(e) { e = e.type === "input" ? this : e; var v = /^#([\da-f]{3}){1,2}/i.test(e.value) ? e.value : "#ffffff"; e.previousElementSibling.value = v.length === 4 ? "#" + v[1] + v[1] + v[2] + v[2] + v[3] + v[3]: v; } function color_change() { this.nextElementSibling.value = this.value; } function setDefault(query) { if (!query) { return; } [].forEach.call(typeof query === "string" ? document.querySelectorAll(query) : [query], function(el) { if (el.type === "checkbox") { el.checked = el.defaultChecked; } else if (/^SELECT/i.test(el.type)) { for (var i = el.length; i--;) { if (el[i].hasAttribute("selected")) { el.selectedIndex = i; break; } } } else { el.value = el.defaultValue; if (el.type === "range") { fill_output(el); } } }); } function load(prefs) { if (!prefs) { cfg.getItem("cfg", function(value) { load(JSON.parse(value) || {}); }); return; } var fields = document.querySelectorAll("[name]"), i = fields.length, m, fld, fld_type, pref; def_prefs = new XMLHttpRequest; def_prefs.overrideMimeType("application/json;charset=utf-8"); def_prefs.open("GET", "defaults.jsn", false); def_prefs.send(null); def_prefs = JSON.parse(def_prefs.responseText); while (i--) { fld = fields[i]; pref = fld.name; if (fld.disabled || fld.readOnly || def_prefs[pref] === void 0) { continue; } fld_type = fld.getAttribute("type") || "text"; if (fld.type !== fld_type) { fld_type = fld.type; } if (fld_type === "checkbox") { fld.checked = fld.defChecked = !!(prefs[pref] === void 0 ? def_prefs : prefs)[pref]; fld.defaultChecked = def_prefs[pref]; } else { if (fld_type.slice(0, 6) === "select") { [].some.call(fld, function(el) { if (el.value == def_prefs[pref]) { el.defaultSelected = true; return true; } }); } else { fld.defaultValue = def_prefs[pref]; } fld.value = fld.defValue = (prefs[pref] === void 0 ? def_prefs : prefs)[pref]; if (fld_type === "range") { m = fld.previousElementSibling; if (m && m.nodeName === "OUTPUT") { fill_output(fld); } m = m.previousElementSibling; if (m && m.getAttribute("type") === "color") { m.style.opacity = fld.value; } fld.addEventListener("change", fill_output, false); } else if (fld_type === "text" && fld.previousElementSibling && fld.previousElementSibling.getAttribute("type") === "color") { fld.addEventListener("input", color_text_input, false); color_text_input(fld); fld.previousElementSibling.addEventListener("change", color_change, false); } } } } function save() { var i, m, fld, fld_type, fields = document.querySelectorAll("[name]"), pref, prefs = {}; for (i = 0; i < fields.length; ++i) { fld = fields[i]; pref = fld.name; if (fld.disabled || fld.readOnly || def_prefs[pref] === void 0) { continue; } fld_type = fld.getAttribute("type"); if (fld_type === "checkbox") { prefs[pref] = fld.checked; } else if (fld_type === "range" || fld_type === "number" || fld.classList.contains("number")) { prefs[pref] = (fld.min ? Math.max(fld.min, Math.min(fld.max, parseFloat(fld.value))) : parseFloat(fld.value)); if (typeof prefs[pref] !== "number") { prefs[pref] = parseFloat(fld.defaultValue); } fld.value = prefs[pref]; } else { prefs[pref] = fld.value; } if (prefs[pref] === void 0) { prefs[pref] = def_prefs[pref]; } } Port.send({"cmd": "save", "prefs": prefs}); } window.onhashchange = function() { var section, args = [], menu = $("nav_menu"), old = menu && menu.active && menu.active.hash.slice(1) || "general", hash = location.hash.slice(1) || "general"; if (hash.indexOf("/") > -1) { args = hash.split("/"); hash = args.shift(); } section = $(hash + "_sec"); if (!section.lng_loaded) { if (hash === "info") { if (args[0]) { $(args[0] === "0" ? "app_installed" : "app_updated").style.display = "block"; } if (!_.locales) { _.locales = new XMLHttpRequest; _.locales.overrideMimeType("application/json;charset=utf-8"); _.locales.open("GET", "./locales.jsn", false); _.locales.send(null); _.locales = _.locales.responseText ? JSON.parse(_.locales.responseText) : []; } var locales = ""; var lng_map = function(el) { el.name = ((el.name || el.fullname || "") + (el.fullname && el.name ? " (" + el.fullname + ")" : "")) || el.email || el.web; return el.email || el.web ? '' + el.name + "" : el.name; }; for (var alpha2 in _.locales) { if (alpha2 === "_") { continue; } locales += '' + "" + alpha2 + ", " + _.locales[alpha2].name + "" + "" + (_.locales[alpha2].translators ? _.locales[alpha2].translators.map(lng_map).join(", ") : "anonymous") + ""; } $("locales_table").innerHTML += locales; } } if (old !== hash && (old = $(old + "_sec"))) { old.style.display = "none"; } if (section) { processLNG([section]); section.style.display = "block"; } if (menu.active) { menu.active.classList.remove("active"); } if (menu.active = menu.querySelector('a[href="#' + hash + '"]')) { menu.active.classList.add("active"); } }; window.addEventListener("load", function() { var tmp = $("app_version"); tmp.textContent = app.name + " v" + app.version; ["opera", "firefox", "chrome", "safari", "maxthon"].some(function(el) { if (browser[el]) { document.body.classList.add(el); return true; } return false; }); var menu = $("nav_menu"); processLNG([menu, $("right_panel").firstElementChild]); load(); tmp = document.body.querySelector('.color_helper>input[type="text"]'); if (tmp) { tmp.addEventListener("input", color_text_input, false); color_text_input(tmp); tmp.previousElementSibling.addEventListener("change", color_change, false); } menu.onclick = function(e) { if (e.target.hash) { e.preventDefault(); location.hash = e.target.hash; } }; window.onhashchange(); document.body.style.display = "block"; document.forms[0].addEventListener("keydown", function(e) { e.stopPropagation(); if (e.which === 13) { e.target.form_saved = true; } if (e.repeat || !e.target.name || e.target.name.indexOf("key_") !== 0 || e.ctrlKey || e.altKey || e.metaKey || e.which < 47) { return; } e.preventDefault(); color_trans(e.target, null); var keys = { 96: "0", 97: "1", 98: "2", 99: "3", 100: "4", 101: "5", 102: "6", 103: "7", 104: "8", 105: "9", 106: "*", 107: "+", 109: "-", 110: ".", 111: "/", 186: ";", 187: "=", 188: ",", 189: "-", 190: ".", 191: "/", 192: "`", 219: "[", 220: "\\", 221: "]", 222: "'", 112: "F1", 113: "F2", 114: "F3", 115: "F4", 116: "F5", 117: "F6", 118: "F7", 119: "F8", 120: "F9", 121: "F10", 122: "F11", 123: "F12" }, key = keys[e.which] || String.fromCharCode(e.which).toUpperCase(); keys = document.body.querySelectorAll('input[name^="key_"]'); for (var i = 0; i < keys.length; ++i) { if (keys[i].value.toUpperCase() === key) { if (e.target !== keys[i]) { color_trans(e.target, "red"); } return false; } } e.target.value = key; document.forms[0].onchange(e); }, false); document.forms[0].addEventListener("contextmenu", function(e) { e.stopPropagation(); var t = e.target; if (t.classList.contains("checkbox")) { t = t.previousElementSibling; } if (!t.name) { return; } if (e.ctrlKey) { e.preventDefault(); setDefault(t); document.forms[0].onchange({target: t}); } }, false); // leave it callable document.forms[0].onchange = function(e) { if (e.stopPropagation) { e.stopPropagation(); } var defval, t = e.target; if (t.form_saved) { delete t.form_saved; } else if (t.parentNode.dataset["form"] || t.parentNode.parentNode.dataset["form"]) { defval = "default"; } else if (t.name.indexOf("_") > 0) { defval = "def"; } if (!defval) { return; } if ((t.type === "checkbox" && t[defval + "Checked"] !== t.checked) || (t.type !== "checkbox" && t[defval + "Value"] != t.value)) { // != is not a mistake input_changes[t.name] = true; } else { delete input_changes[t.name]; } $("save_button").style.color = Object.keys(input_changes).length ? "#e03c00" : ""; }; var reset_button = $("reset_button"); reset_button.reset = function() { delete reset_button.pending; reset_button.style.color = "#000"; }; reset_button.addEventListener("click", function(e) { if (reset_button.pending) { input_changes["form_reset"] = true; clearTimeout(reset_button.pending); delete this.pending; reset_button.style.color = ""; reset_button.nextElementSibling.style.color = "#e03c00"; if (e.ctrlKey) { e.preventDefault(); e = (location.hash || "#general") + "_sec "; setDefault(e + "input," + e + "select," + e + "textarea"); reset_button.style.color = "lime"; } else { reset_button.style.color = "green"; } reset_button.pending = setTimeout(reset_button.reset, 2000); return; } reset_button.style.color = "orange"; reset_button.pending = setTimeout(reset_button.reset, 2000); e.preventDefault(); }, false); $("save_button").addEventListener("click", function(e) { e.preventDefault(); save(); color_trans(this, "green"); }, false); [].forEach.call(document.body.querySelectorAll(".action_buttons") || [], function(el) { el.onmousedown = function(e) { e.preventDefault(); }; }); }, false);; @language cs, Czech (čeština) (95.74%) ; @translators jaramat (Jaroslav Matura) [lang] APP_DESCRIPTION=Rozšiřuje funkčnost v oblasti obrázků vašeho prohlížeče. VW_IMAGE=Obrázek LOAD_FAILED=Chyba při načítání... NAV_GENERAL=Obecné NAV_INFO=O doplňku SHORTCUTS=Klávesové zkratky PH_CLICKFORSAMPLE=kliknutím zobrazíte příklady... DISABLED=zakázáno BUTTON_RESET=Výchozí nastavení BUTTON_SAVE=Uložit VW_MODE=Výchozí přiblížení VW_MODE_NATURL=původní velikost VW_MODE_AUTOFIT=přizpůsobit automaticky VW_MODE_FITWIDTH=roztáhnout na šířku VW_MODE_FITHEIGHT=roztáhnout na výšku VW_MODE_BESTFIT=roztáhnout automaticky VW_MINUPSCALE=Zvětšit malé obrázky VW_MINUPSCALE_TIP="Ve výchozím nastavení nebudou malé obrázky automaticky zvětšovány. Přeje-li si to, použijte tuto volbu.\nObrázky, které jsou větší než daný počet procent šířky nebo výšky okna prohlížeče (záleží na předchozí volbě) budou automaticky roztaženy." VW_IMGINFO=Vlastnosti obrázku VW_FAVICON=Vlastní ikona VW_FAVICON_TIP="Toto vám umožňuje nastavit vlastní ikonu, která se zobrazí vedle názvu panelu v prohlížeči.\nChcete-li jako ikonu použít obrázek samotný, použijte proměnnou %url." VW_WHEELZOOM=Povolit použití kolečka myši jako lupy VW_LPDELAY=Prodleva dlouhého stisku VW_LPLEFT=Akce při dlouhém stisku levého tlačítka myši VW_LPRIGHT=Akce při dlouhém stisku pravého tlačítka myši VW_LPA_FITWH=roztáhnout na výšku/šířku VW_SC_CYCLE=Přepínat mezi režimy zvětšení: původní velikost, roztáhnout na šířku a roztáhnout na výšku VW_SC_DRAGNDROP=Držte Ctrl nebo začněte v pravé části obrázku, chcete-li obrázek přetáhnout jinam (např. mimo okno prohlížeče) VW_SC_RESET=Esc obnoví obrázek do jeho původní podoby (např. pokud byl zvětšen, otočen nebo převrácen) nebo ukončí režim ručního zvětšení VW_SC_FREEZOOM=Shift + výběr myší pro vyvolání režimu ručního zvětšení (pro posunutí výběru držte Ctrl) SC_ZOOMINOUT=Přiblížit / oddálit SC_FLIP=Překlopit vodorovně (horizontálně se Shiftem) SC_ROTATE=Otočit vpravo (vlevo se Shiftem) SC_MORIG=Skutečná velikost SC_MFIT=Automaticky SC_MFITW=Roztáhnout na šířku SC_MFITH=Roztáhnout na výšku LANGUAGE=Jazyk TRANSLATIONS=Překlady TRANSLATIONS_TIP=Chcete-li se stát překladatelem, pošlete e-mail na tuto adresu a uveďte jazyky, kterými mluvíte. TRANSLATORS=Překladatelé VW_CENTER=Zarovnat na střed CUSTOM_CSS=Vlastní styl (CSS) VW_SC_HORIZONTALSCROLL=Pro vodorovné posouvání kolečkem myši přesuňte kurzor do levé horní části obrázku VW_IMGINFO_TIP="Display custom information in the title of the tab. It may contain the following variables:\n%ow - original width\n%oh - original height\n%ratio - current width / current height\n%w - current width\n%h - current height\n%perc - percent of the original size\n%url - full URL\n%name - filename" CUSTOM_CSS_TIP="body {\n background: #f3f3f5; /* Any valid background property (color, url(), gradient...). */\n overflow: hidden; /* Hides the scrollbars. To show them, change \"hidden\" to \"auto\". */\n}\n\nimg {\n background: #eef; /* Different background for the image. */\n border: 10px solid white; /* Image border. */\n box-shadow: 0 0 10px grey; /* Shadow of the image. */\n cursor: default !important; /* Don't allow the mouse curosr to change. */\n}\n\n.mask {\n color: rgba(0, 0, 0, .4); /* Color of the free-zoom mask. */\n}\n\n#menu {\n display: none; /* Disable the floating menu. */\n}\n" ; @language el, Greek (Ελληνικά) (74.47%) ; @translators Farow [lang] VW_IMAGE=Εικόνα LOAD_FAILED=Σφάλμα κατά τη διάρκεια της φόρτωσης... NAV_INFO=Πληροφορίες SHORTCUTS=Συντομεύσεις DISABLED=απενεργοποιημένο BUTTON_RESET=Επαναφορά BUTTON_SAVE=Αποθήκευση VW_MODE=Αρχικό μεγέθος VW_MODE_NATURL=φυσικό μέγεθος VW_MODE_AUTOFIT=αυτόματη προσαρμογή VW_MODE_FITWIDTH=προσαρμογή στο πλάτος VW_MODE_FITHEIGHT=προσαρμογή στο ύψος VW_MODE_BESTFIT=βέλτιστη προσαρμογή VW_MINUPSCALE=Μεγέθυνση μικρών εικόνων VW_MINUPSCALE_TIP="Μικρές εικόνες δεν μεγεθύνονται. Αυτή η επιλογή τις αναγκάζει να μεγεθυνθούν.\nΗ τιμή είναι σε ποσοστό και μεγεθύνει τις εικόνες που είναι μεγαλύτερες από το επιλεγμένο ποσοστό του ύψους ή του πλάτους της οθόνης." VW_IMGINFO=Πληροφορίες εικόνας VW_FAVICON=Προσαρμοσμένο εικονίδιο VW_FAVICON_TIP="Η επιλογή αυτή ορίζει ένα εικονίδιο καρτέλας για την ανοιγμένη εικόνα.\nΗ διεύθυνση της εικόνας μπορεί να χρησιμοποιηθεί και ως μια μεταβλητή: %url" VW_WHEELZOOM=Μεγεύθυνση με τη ροδέλα του ποντικιού VW_LPDELAY=Καθυστέριση παρατετημένου πατήματος (ms) VW_LPLEFT=Λειτουργία παρατετημένου πατήματος αριστερού κουμπιού VW_LPRIGHT=Λειτουργία παρατετημένου πατήματος δεξιού κουμπιού VW_LPA_FITWH=προσαρμογή στο πλάτος/ύψος VW_SC_CYCLE=Εναλαγή μεταξύ μεγεθών: φυσικό, προσαρμογή στο πλάτος, προσαρμογή στο ύψος VW_SC_RESET=To Esc θα επαναφέρει την εικόνα στην αρχική της μορφή ή θα κλείσει την ελεύθερη μεγέθυνση VW_SC_FREEZOOM=Shift + μεταφορά στην εικόνα για ελεύθερη μεγέθυνση, κρατήστε το Ctrl για να μετακινήσετε την επιλογή SC_MORIG=Φυσικό μέγεθος SC_MFIT=Αυτόματη προσαρμογή SC_MFITW=Προσρμογή στο πλάτος SC_MFITH=Προσρμογή στο ύψος LANGUAGE=Γλώσσα TRANSLATIONS=Μεταφράσεις TRANSLATIONS_TIP=Εάν θέλεις να γίνεις μεταφραστής, τότε στείλε ένα e-mail σε αυτή τη διεύθυνση αναφέροντας τις γλώσσες ομιλείτε. TRANSLATORS=Μεταφραστές CUSTOM_CSS=Προσαρμοσμένο στυλ NAV_GENERAL=General PH_CLICKFORSAMPLE=click for examples... VW_IMGINFO_TIP="Display custom information in the title of the tab. It may contain the following variables:\n%ow - original width\n%oh - original height\n%ratio - current width / current height\n%w - current width\n%h - current height\n%perc - percent of the original size\n%url - full URL\n%name - filename" VW_SC_DRAGNDROP=Hold Ctrl to allow drag-and-drop, or drag from the right edge of the image, if that fits into the window SC_ZOOMINOUT=Zoom in / out SC_FLIP=Flip (vertical flip with Shift) SC_ROTATE=Rotate (counterclockwise with Shift) VW_CENTER=Center content CUSTOM_CSS_TIP="body {\n background: #f3f3f5; /* Any valid background property (color, url(), gradient...). */\n overflow: hidden; /* Hides the scrollbars. To show them, change \"hidden\" to \"auto\". */\n}\n\nimg {\n background: #eef; /* Different background for the image. */\n border: 10px solid white; /* Image border. */\n box-shadow: 0 0 10px grey; /* Shadow of the image. */\n cursor: default !important; /* Don't allow the mouse curosr to change. */\n}\n\n.mask {\n color: rgba(0, 0, 0, .4); /* Color of the free-zoom mask. */\n}\n\n#menu {\n display: none; /* Disable the floating menu. */\n}\n" VW_SC_HORIZONTALSCROLL=To scroll the image horizontally, use the mouse wheel in the top left corner ; @language en, English (100%) ; @translators Deathamns [lang] APP_DESCRIPTION=Additional functionality for the browser's default image viewer. VW_IMAGE=Image LOAD_FAILED=Error while loading... NAV_GENERAL=General NAV_INFO=Info SHORTCUTS=Shortcuts PH_CLICKFORSAMPLE=click for examples... DISABLED=disabled BUTTON_RESET=Default BUTTON_SAVE=Save VW_MODE=Initial sizing mode VW_MODE_NATURL=natural size VW_MODE_AUTOFIT=contain VW_MODE_FITWIDTH=fit to width VW_MODE_FITHEIGHT=fit to height VW_MODE_BESTFIT=best fit VW_MINUPSCALE=Enlarge small images VW_MINUPSCALE_TIP="Normally, smaller images won't be upscaled to the view-port. This option forces them to do so.\nThe value is given in percent, and tells the script to enlarge those images that are larger than the given percent of view-port's width or height (it depends on the previous option)." VW_IMGINFO=Image informations VW_IMGINFO_TIP="Display custom information in the title of the tab. It may contain the following variables:\n%ow - original width\n%oh - original height\n%ratio - current width / current height\n%w - current width\n%h - current height\n%perc - percent of the original size\n%url - full URL\n%name - filename" VW_FAVICON=Custom favicon VW_FAVICON_TIP="This option allows to set a custom tab-icon for the opened image.\nThe address of the image can be used as a variable: %url" VW_WHEELZOOM=Zoom with mouse wheel VW_LPDELAY=Long-press delay (ms) VW_LPLEFT=Left long-press action VW_LPRIGHT=Right long-press action VW_LPA_FITWH=fit to width/height VW_SC_CYCLE=Cycle through sizing modes: natural, fit to width, fit to height VW_SC_DRAGNDROP=Hold Ctrl to allow drag-and-drop, or drag from the right edge of the image, if that fits into the window VW_SC_RESET=Esc will reset the image to its original form, or quits from free-zoom VW_SC_FREEZOOM=Shift + drag on the image to use free-zoom, hold Ctrl to move the selection SC_ZOOMINOUT=Zoom in / out SC_FLIP=Flip (vertical flip with Shift) SC_ROTATE=Rotate (counterclockwise with Shift) SC_MORIG=Natural size SC_MFIT=Auto fit SC_MFITW=Fit to width SC_MFITH=Fit to height LANGUAGE=Language TRANSLATIONS=Translations TRANSLATIONS_TIP=If you want to become a translator, then send an e-mail to this address mentioning your spoken languages. TRANSLATORS=Translators VW_CENTER=Center content CUSTOM_CSS=Custom style (CSS) CUSTOM_CSS_TIP="body {\n background: #f3f3f5; /* Any valid background property (color, url(), gradient...). */\n overflow: hidden; /* Hides the scrollbars. To show them, change \"hidden\" to \"auto\". */\n}\n\nimg {\n background: #eef; /* Different background for the image. */\n border: 10px solid white; /* Image border. */\n box-shadow: 0 0 10px grey; /* Shadow of the image. */\n cursor: default !important; /* Don't allow the mouse curosr to change. */\n}\n\n.mask {\n color: rgba(0, 0, 0, .4); /* Color of the free-zoom mask. */\n}\n\n#menu {\n display: none; /* Disable the floating menu. */\n}\n" VW_SC_HORIZONTALSCROLL=To scroll the image horizontally, use the mouse wheel in the top left corner ; @language es, Spanish (español) (78.72%) ; @translators DurianZheitk (JavierVH) [lang] VW_IMAGE=Imagen LOAD_FAILED=Error al cargar la imagen... NAV_INFO=Información SHORTCUTS=Atajos PH_CLICKFORSAMPLE=haz clic para mostrar ejemplos... DISABLED=deshabilitado BUTTON_RESET=Predeterminado BUTTON_SAVE=Guardar VW_MODE=Modo inicial de escalado VW_MODE_NATURL=tamaño original VW_MODE_AUTOFIT=ajustar VW_MODE_FITWIDTH=ajustar solo a lo ancho VW_MODE_FITHEIGHT=ajustar solo a lo alto VW_MODE_BESTFIT=mejor ajuste VW_MINUPSCALE=Ampliar imágenes pequeñas VW_MINUPSCALE_TIP="Por defecto, las imágenes pequeñas no serán ampliadas para encajar en la ventana de visualización. Esta opción las fuerza a hacerlo.\nEl valor esta dado en porcentaje, e indica a la extensión que amplié las imágenes que sean mayores al porcentaje en anchura o altura de la ventana de visualización (esto depende de la opción anterior).\n Ejemplo: si el valor esta fijado en 20%, y una imagen ocupa el 30% de la ventana de visualización, será ampliada de acuerdo a la opción anterior (Modo inicial de escalado)." VW_IMGINFO=Información de la imagen VW_FAVICON=Icono personalizado VW_FAVICON_TIP="Esta opción permite establecer un favicono personalizado para las pestañas con imágenes abiertas.\nLa dirección de la imagen puede ser usada como variable: %url" VW_WHEELZOOM=Ampliar (zoom) con la rueda del ratón VW_LPDELAY=Retraso para activar una pulsación larga (ms) VW_LPLEFT=Acción para una pulsación larga con el botón izquierdo VW_LPRIGHT=Acción para una pulsación larga con el botón derecho VW_LPA_FITWH=ajustar a la anchura/altura VW_SC_CYCLE=Cambiar entre los modos de escalado: tamaño original, ajustar a la anchura, ajustar a la altura VW_SC_RESET=Esc devolverá la imagen a su forma original, o saldrá del modo de ampliación de selección VW_SC_FREEZOOM=Shift + arrastrar sobre la imagen para usar el modo de ampliación de selección, mantén presionado Ctrl (sin soltar Shift) para mover la selección SC_ZOOMINOUT=Acercar/alejar la imagen SC_MORIG=Tamaño original SC_MFIT=Ajuste automático SC_MFITW=Ajustar a lo ancho SC_MFITH=Ajustar a lo alto LANGUAGE=Idioma TRANSLATIONS=Traducciones TRANSLATIONS_TIP=Si quieres ayudar en la traducción la extensión, envía un e-mail a esta dirección mencionando los idiomas que dominas. TRANSLATORS=Traductores CUSTOM_CSS=Estilo personalizado (CSS) NAV_GENERAL=General VW_IMGINFO_TIP="Display custom information in the title of the tab. It may contain the following variables:\n%ow - original width\n%oh - original height\n%ratio - current width / current height\n%w - current width\n%h - current height\n%perc - percent of the original size\n%url - full URL\n%name - filename" VW_SC_DRAGNDROP=Hold Ctrl to allow drag-and-drop, or drag from the right edge of the image, if that fits into the window SC_FLIP=Flip (vertical flip with Shift) SC_ROTATE=Rotate (counterclockwise with Shift) VW_CENTER=Center content CUSTOM_CSS_TIP="body {\n background: #f3f3f5; /* Any valid background property (color, url(), gradient...). */\n overflow: hidden; /* Hides the scrollbars. To show them, change \"hidden\" to \"auto\". */\n}\n\nimg {\n background: #eef; /* Different background for the image. */\n border: 10px solid white; /* Image border. */\n box-shadow: 0 0 10px grey; /* Shadow of the image. */\n cursor: default !important; /* Don't allow the mouse curosr to change. */\n}\n\n.mask {\n color: rgba(0, 0, 0, .4); /* Color of the free-zoom mask. */\n}\n\n#menu {\n display: none; /* Disable the floating menu. */\n}\n" VW_SC_HORIZONTALSCROLL=To scroll the image horizontally, use the mouse wheel in the top left corner ; @language fi, Finnish (suomi) (65.96%) ; @translators Opeeera [lang] VW_IMAGE=Kuva LOAD_FAILED=Error while loading... NAV_INFO=Tietoja SHORTCUTS=Näppäinoikotiet PH_CLICKFORSAMPLE=klikkaa nähdäksesi esimerkkejä... DISABLED=poissa käytöstä BUTTON_RESET=Palauta oletukset BUTTON_SAVE=Tallenna VW_MODE=Oletuskoko VW_MODE_NATURL=luonnollinen koko VW_MODE_AUTOFIT=automaattinen sovitus VW_MODE_FITWIDTH=sovita leveyteen VW_MODE_FITHEIGHT=sovita korkeuteen VW_MODE_BESTFIT=paras sovitus VW_MINUPSCALE=Suurenna pieniä kuvia (%) VW_MINUPSCALE_TIP="Tavallisesti pieniä kuvia ei skaalata näkymäalueeseen, mutta tämä asetus pakottaa sen päälle.\nArvo annetaan prosentteina, ja se saa skriptin suurentamaan kuvia, jotka ovat suurempia kuin annettu prosenttiosuus näkymäalueen leveydestä tai korkeudesta (riippuen edellisestä asetuksesta)." VW_IMGINFO=Kuvan tiedot VW_FAVICON=Oma kuvake VW_WHEELZOOM=Suurennus hiiren rullalla VW_LPDELAY=Pitkän hiiren painalluksen viive (ms) VW_LPLEFT=Ykköspainikkeen pitkän painalluksen toiminto VW_LPRIGHT=Kakkospainikkeen pitkän painalluksen toiminto VW_LPA_FITWH=sovita leveyteen tai korkeuteen VW_SC_CYCLE=Siirry suurennustilojen välillä: luonnollinen koko, sovita leveyteen, sovita korkeuteen VW_SC_RESET=Esc palauttaa kuvan alkuperäiseen tilaan tai poistuu FreeZoom-tilasta VW_SC_FREEZOOM=Pidä Vaihtoa pohjassa ja vedä kuvan päällä käyttääksesi FreeZoomia, pidä Ctrl:ia pohjassa siirtääksesi valittua aluetta SC_ZOOMINOUT=Suurenna / pienennä SC_MORIG=Luonnollinen koko SC_MFIT=Automaattinen sovitus SC_MFITW=Sovita leveyteen SC_MFITH=Sovita korkeuteen LANGUAGE=Kieli NAV_GENERAL=General VW_IMGINFO_TIP="Display custom information in the title of the tab. It may contain the following variables:\n%ow - original width\n%oh - original height\n%ratio - current width / current height\n%w - current width\n%h - current height\n%perc - percent of the original size\n%url - full URL\n%name - filename" VW_FAVICON_TIP="This option allows to set a custom tab-icon for the opened image.\nThe address of the image can be used as a variable: %url" VW_SC_DRAGNDROP=Hold Ctrl to allow drag-and-drop, or drag from the right edge of the image, if that fits into the window SC_FLIP=Flip (vertical flip with Shift) SC_ROTATE=Rotate (counterclockwise with Shift) TRANSLATIONS=Translations TRANSLATIONS_TIP=If you want to become a translator, then send an e-mail to this address mentioning your spoken languages. TRANSLATORS=Translators VW_CENTER=Center content CUSTOM_CSS=Custom style (CSS) CUSTOM_CSS_TIP="body {\n background: #f3f3f5; /* Any valid background property (color, url(), gradient...). */\n overflow: hidden; /* Hides the scrollbars. To show them, change \"hidden\" to \"auto\". */\n}\n\nimg {\n background: #eef; /* Different background for the image. */\n border: 10px solid white; /* Image border. */\n box-shadow: 0 0 10px grey; /* Shadow of the image. */\n cursor: default !important; /* Don't allow the mouse curosr to change. */\n}\n\n.mask {\n color: rgba(0, 0, 0, .4); /* Color of the free-zoom mask. */\n}\n\n#menu {\n display: none; /* Disable the floating menu. */\n}\n" VW_SC_HORIZONTALSCROLL=To scroll the image horizontally, use the mouse wheel in the top left corner ; @language fr, French (français) (80.85%) ; @translators Tmnath [lang] VW_IMAGE=Image LOAD_FAILED=Erreur lors du chargement... NAV_INFO=Infos SHORTCUTS=Raccourcis PH_CLICKFORSAMPLE=cliquez pour avoir un exemple... DISABLED=désactivé BUTTON_RESET=Par défaut BUTTON_SAVE=Sauvegarder VW_MODE=Redimensionnement VW_MODE_NATURL=taille initiale VW_MODE_AUTOFIT=réduire VW_MODE_FITWIDTH=adapter à la largeur VW_MODE_FITHEIGHT=adapter à la hauteur VW_MODE_BESTFIT=taille optimale VW_MINUPSCALE=Agrandir les petites images VW_MINUPSCALE_TIP="En temps normal, les petites images ne sont pas élargies à la taille de la fenêtre. Cette option les y force.\nLa valeur est un pourcentage, et indique au script d'élargir les images plus grandes qu'un certain pourcentage de la hauteur ou de la largeur de la fenêtre (en fonction de l'option choisie précédemment)." VW_IMGINFO=Détails de l'image VW_FAVICON=Favicon personnalisé VW_FAVICON_TIP="Cette option permet de choisir un icône personnalisé pour l'onglet de l'image ouverte.\nL'adresse de l'image peut être utilisée comme une variable : %url" VW_WHEELZOOM=Zoomer avec la molette VW_LPDELAY=Durée du clic prolongé (ms) VW_LPLEFT=Clic gauche prolongé VW_LPRIGHT=Clic droit prolongé VW_LPA_FITWH=adapter à la largeur/hauteur VW_SC_CYCLE=Faire défiler les différents modes : taille initiale, adapter à la largeur, adapter à la hauteur VW_SC_RESET=Échap ramènera l'image à sa taille initiale, ou sortira du zoom libre VW_SC_FREEZOOM=Maj + glisser sur l'image pour utiliser le zoom libre, maintenir Ctrl pour déplacer la sélection SC_ZOOMINOUT=Zoom avant / arrière SC_MORIG=Taille initiale SC_MFIT=Redimensionnement automatique SC_MFITW=Adapter à la largeur SC_MFITH=Adapter à la hauteur LANGUAGE=Langue TRANSLATIONS=Traductions TRANSLATIONS_TIP=Si vous souhaitez devenir un traducteur, envoyez-moi un mail à cette adresse en indiquant les langues que vous parlez. TRANSLATORS=Traducteurs CUSTOM_CSS=Style personnalisé (CSS) NAV_GENERAL=General VW_IMGINFO_TIP="Display custom information in the title of the tab. It may contain the following variables:\n%ow - original width\n%oh - original height\n%ratio - current width / current height\n%w - current width\n%h - current height\n%perc - percent of the original size\n%url - full URL\n%name - filename" VW_SC_DRAGNDROP=Hold Ctrl to allow drag-and-drop, or drag from the right edge of the image, if that fits into the window SC_FLIP=Flip (vertical flip with Shift) SC_ROTATE=Rotate (counterclockwise with Shift) VW_CENTER=Center content CUSTOM_CSS_TIP="body {\n background: #f3f3f5; /* Any valid background property (color, url(), gradient...). */\n overflow: hidden; /* Hides the scrollbars. To show them, change \"hidden\" to \"auto\". */\n}\n\nimg {\n background: #eef; /* Different background for the image. */\n border: 10px solid white; /* Image border. */\n box-shadow: 0 0 10px grey; /* Shadow of the image. */\n cursor: default !important; /* Don't allow the mouse curosr to change. */\n}\n\n.mask {\n color: rgba(0, 0, 0, .4); /* Color of the free-zoom mask. */\n}\n\n#menu {\n display: none; /* Disable the floating menu. */\n}\n" VW_SC_HORIZONTALSCROLL=To scroll the image horizontally, use the mouse wheel in the top left corner ; @language hu, Hungarian (magyar) (100%) ; @translators Deathamns [lang] APP_DESCRIPTION=A beépített képnézegető funkcióit bővíti. VW_IMAGE=Kép LOAD_FAILED=Hiba betöltés közben... NAV_GENERAL=Beállítások NAV_INFO=Infó SHORTCUTS=Billentyűparancsok PH_CLICKFORSAMPLE=kattints példákért... DISABLED=kikapcsolva BUTTON_RESET=Alap BUTTON_SAVE=Mentés VW_MODE=Alap méretezés VW_MODE_NATURL=eredeti méret VW_MODE_AUTOFIT=ablakhoz méretez VW_MODE_FITWIDTH=szélességhez méretez VW_MODE_FITHEIGHT=magassághoz méretez VW_MODE_BESTFIT=illeszkedés az ablakhoz VW_MINUPSCALE=Kis képek nagyítása VW_MINUPSCALE_TIP="A kisebb képek alapból nem méreteződnek az ablakhoz. Ez a beállítás az ellenkezőjére kényszeríti őket.\nAzok a képek méreteződnek fel, amelyek méretei nagyobbak, mint a százalékban megadott ablak szélessége vagy magassága (az előző beállítástól függ)." VW_IMGINFO=Képinformációk VW_IMGINFO_TIP="Egyéni adatok megjelenítése a fül címében, a következő változók felhaszanálásával:\n%ow - eredeti szélesség\n%oh - eredeti magasság\n%ratio - jelenlegi szélesség és magasság aránya\n%w - jelenlegi szélesség\n%h - jelenlegi magasság\n%perc - átméretezés százalékban\n%url - teljes cím\n%name - fájl neve" VW_FAVICON=Egyéni ikon a fülön VW_FAVICON_TIP=A kép címe használható változóként a megadott értékben: %url VW_WHEELZOOM=Nagyítás görgetéssel VW_LPDELAY=Egérgomb hosszan-tartás ideje (ms) VW_LPLEFT=Bal hosszan-tartás funkciója VW_LPRIGHT=Jobb hosszan-tartás funkciója VW_LPA_FITWH=szélességhez/magassághoz méretez VW_SC_CYCLE=Méretezések közti váltás: eredeti, szélességhez-, magassághoz méretez VW_SC_DRAGNDROP=Ctrl nyomva-tartása engedélyezi a kép vonszolását, vagy ha a kép belefér a nézetablakba, akkor vonszolható a jobb élénél fogva VW_SC_RESET=Esc a képet az eredeti állapotára állítja, vagy kilép a szabad méretezésből VW_SC_FREEZOOM=Shift + vonszolás nagyít a kijelölt részre, Ctrl tartásával a kijelölés mozgatható SC_ZOOMINOUT=Nagyítás / kicsinyítés SC_FLIP=Tükrözés (függőleges tükrözés Shift lenyomásával) SC_ROTATE=Forgatás (balraforgatás Shift lenyomásával) SC_MORIG=Eredeti méret SC_MFIT=Ablakhoz méretez SC_MFITW=Szélességhez méretez SC_MFITH=Magassághoz méretez LANGUAGE=Nyelv TRANSLATIONS=Fordítások TRANSLATIONS_TIP=Ha szeretnél fordító lenni, ezen az e-mail címen lehet jelentkezni, az általad beszélt nyelvek megemlítésével. TRANSLATORS=Fordítók VW_CENTER=Tartalom középre helyezése CUSTOM_CSS=Egyedi stílus (CSS) CUSTOM_CSS_TIP="body {\n background: #f3f3f5; /* Bármilyen elfogadott background érték (szín, url(), színátmenet...). */\n overflow: hidden; /* Elrejti a görgősávot. \"hidden\" változtatása \"auto\"-ra a megjelenítésükhöz. */\n}\n\nimg {\n background: #eef; /* Más háttér kizárólag a képnek. */\n border: 10px solid white; /* Egyéni képkeret. */\n box-shadow: 0 0 10px grey; /* Kép körüli árnyék. */\n cursor: default !important; /* Az egérkurzor változatlan marad ezzel az értékkel. */\n}\n\n.mask {\n color: rgba(0, 0, 0, .4); /* A szabad méretezés mask színe. */\n}\n\n#menu {\n display: none; /* A lebegő menü elrejtése. */\n}\n" VW_SC_HORIZONTALSCROLL=A kép vízszintes mozgatása a bal felső sarokban való görgetéssel lehetséges. ; @language nl, Dutch (Nederlands) (80.85%) ; @translators Kaçkar [lang] VW_IMAGE=Afbeelding LOAD_FAILED=Probleem met het laden... NAV_INFO=Info SHORTCUTS=Snelkoppelingen PH_CLICKFORSAMPLE=klikken voor voorbeelden... DISABLED=uit BUTTON_RESET=Reset BUTTON_SAVE=Opslaan VW_MODE=Oorspronkelijke pas-modus VW_MODE_NATURL=natuurlijk formaat VW_MODE_AUTOFIT=bevatten VW_MODE_FITWIDTH=breedte passend maken VW_MODE_FITHEIGHT=hoogte passend maken VW_MODE_BESTFIT=best afstemmen VW_MINUPSCALE=Kleine afbeeldingen vergroten VW_MINUPSCALE_TIP="Normaal gesproken worden kleinere afbeeldingen niet vergroot. Deze optie dwingt afbeeldingen te vergroten.\nDe waarde is in procenten, en vertelt het script om afbeeldingen die groter zijn de gegeven procenten van de breedte of hoogte van de kijker te vergroten (afhankelijk van de vorige optie)." VW_IMGINFO=Afbeeldings informatie VW_FAVICON=Aangepaste favicon VW_FAVICON_TIP="Deze optie maakt het mogelijk om een aangepaste tab-icoon te gebruiken voor de geopende afbeelding.\nHet adres van de afbeelding kan gebruikt worden als variabele: %url" VW_WHEELZOOM=Zoomen met muiswiel VW_LPDELAY=Lange druk vertraging (ms) VW_LPLEFT=Linker lange druk aktie VW_LPRIGHT=Rechter lange druk aktie VW_LPA_FITWH=breedte/hoogte passend maken VW_SC_CYCLE=Door sizing modi wisselen: normaal, breedte passend maken, hoogte passend maken VW_SC_RESET=Esc herstelt de afbeelding naar origineel formaat, of verlaat de vrije-zoom VW_SC_FREEZOOM=Shift + Sleep de afbeelding om free-zoom te gebruiken, Ctrl ingedrukt houden om de selectie te verplaatsen SC_ZOOMINOUT=In-/uitzoomen SC_MORIG=Normale grootte SC_MFIT=Automatisch passen SC_MFITW=Breedte passend maken SC_MFITH=Hoogte passend maken LANGUAGE=Taal TRANSLATIONS=Vertalingen TRANSLATIONS_TIP=Wil je een vertaler worden, stuur dan een e-mail naar dit adres, vermeld je gesproken talen TRANSLATORS=Vertalers CUSTOM_CSS=Aangepaste stijl (CSS) NAV_GENERAL=General VW_IMGINFO_TIP="Display custom information in the title of the tab. It may contain the following variables:\n%ow - original width\n%oh - original height\n%ratio - current width / current height\n%w - current width\n%h - current height\n%perc - percent of the original size\n%url - full URL\n%name - filename" VW_SC_DRAGNDROP=Hold Ctrl to allow drag-and-drop, or drag from the right edge of the image, if that fits into the window SC_FLIP=Flip (vertical flip with Shift) SC_ROTATE=Rotate (counterclockwise with Shift) VW_CENTER=Center content CUSTOM_CSS_TIP="body {\n background: #f3f3f5; /* Any valid background property (color, url(), gradient...). */\n overflow: hidden; /* Hides the scrollbars. To show them, change \"hidden\" to \"auto\". */\n}\n\nimg {\n background: #eef; /* Different background for the image. */\n border: 10px solid white; /* Image border. */\n box-shadow: 0 0 10px grey; /* Shadow of the image. */\n cursor: default !important; /* Don't allow the mouse curosr to change. */\n}\n\n.mask {\n color: rgba(0, 0, 0, .4); /* Color of the free-zoom mask. */\n}\n\n#menu {\n display: none; /* Disable the floating menu. */\n}\n" VW_SC_HORIZONTALSCROLL=To scroll the image horizontally, use the mouse wheel in the top left corner ; @language pl, Polish (polski) (80.85%) ; @translators pafflick (Paweł Pawlak) [http://www.pafflick.com/] [lang] VW_IMAGE=Obraz LOAD_FAILED=Błąd wczytywania... NAV_INFO=Info SHORTCUTS=Skróty PH_CLICKFORSAMPLE=kliknij, by zobaczyć przykłady... DISABLED=brak BUTTON_RESET=Resetuj BUTTON_SAVE=Zapisz VW_MODE=Skalowanie obrazów VW_MODE_NATURL=rzeczywisty wymiar VW_MODE_AUTOFIT=zmieść na ekranie VW_MODE_FITWIDTH=dopasuj do szerokości VW_MODE_FITHEIGHT=dopasuj do wysokości VW_MODE_BESTFIT=automatyczne dopasowanie VW_MINUPSCALE=Powiększanie małych obrazków VW_MINUPSCALE_TIP="Domyślnie małe obrazki nie są powiększane do rozmiarów okna. Ta funkcja wymusza ich skalowanie.\nFunkcja ta powoduje powiększenie tych obrazków, których wymiary przekraczają określony procent wysokości lub szerokości okna (w zależności od ustawień poprzedniej funkcji)." VW_IMGINFO=Informacje o obrazku VW_FAVICON=Własna ikona pliku VW_FAVICON_TIP="Zmienia ikonę pliku w pasku tytułu (domyślnie przeglądarka używa obrazka jako ikony).\nAdres obrazka można wprowadzić za pomocą zmiennej: %url" VW_WHEELZOOM=Powiększaj za pomocą kółka myszki VW_LPDELAY=Opóźnienie długiego przytrzymania (ms) VW_LPLEFT=Funkcja dla przytrzymania lewego przycisku VW_LPRIGHT=Funkcja dla przytrzymania prawego przycisku VW_LPA_FITWH=zmieść w oknie VW_SC_CYCLE=Przełącza tryby powiększenia: rzeczywiste wymiary, zmieść w poziomie, zmieść w pionie VW_SC_RESET=Esc przywraca domyślne ustawienia obrazka lub opuszcza tryb powiększania wybranego obszaru VW_SC_FREEZOOM=Przeciągnij z Shiftem na obrazku, by aktywować powiększanie obszarowe. Przytrzymaj Ctrl aby przesunąć zaznaczenie SC_ZOOMINOUT=Powiększ / Pomniejsz SC_MORIG=Rzeczywisty wymiar SC_MFIT=Auto dopasowanie SC_MFITW=Dopasuj do szerokości SC_MFITH=Dopasuj do wysokości LANGUAGE=Język TRANSLATIONS=Tłumaczenia TRANSLATIONS_TIP=Jeżeli chcesz przetłumaczyć tę wtyczkę na inny język, wyślij e-mail na ten adres z informacją o języku którym się posługujesz. TRANSLATORS=Tłumacze CUSTOM_CSS=Własne style (CSS) NAV_GENERAL=General VW_IMGINFO_TIP="Display custom information in the title of the tab. It may contain the following variables:\n%ow - original width\n%oh - original height\n%ratio - current width / current height\n%w - current width\n%h - current height\n%perc - percent of the original size\n%url - full URL\n%name - filename" VW_SC_DRAGNDROP=Hold Ctrl to allow drag-and-drop, or drag from the right edge of the image, if that fits into the window SC_FLIP=Flip (vertical flip with Shift) SC_ROTATE=Rotate (counterclockwise with Shift) VW_CENTER=Center content CUSTOM_CSS_TIP="body {\n background: #f3f3f5; /* Any valid background property (color, url(), gradient...). */\n overflow: hidden; /* Hides the scrollbars. To show them, change \"hidden\" to \"auto\". */\n}\n\nimg {\n background: #eef; /* Different background for the image. */\n border: 10px solid white; /* Image border. */\n box-shadow: 0 0 10px grey; /* Shadow of the image. */\n cursor: default !important; /* Don't allow the mouse curosr to change. */\n}\n\n.mask {\n color: rgba(0, 0, 0, .4); /* Color of the free-zoom mask. */\n}\n\n#menu {\n display: none; /* Disable the floating menu. */\n}\n" VW_SC_HORIZONTALSCROLL=To scroll the image horizontally, use the mouse wheel in the top left corner ; @language pt-BR, Portuguese (Brazil) (português (Brasil)) (80.85%) ; @translators Rômulo Godoi [lang] VW_IMAGE=Imagem LOAD_FAILED=Erro ao carregar... NAV_INFO=Dados SHORTCUTS=Atalhos do teclado PH_CLICKFORSAMPLE=clique para ver exemplos... DISABLED=desativado BUTTON_RESET=Padrão BUTTON_SAVE=Salvar VW_MODE=Tamanho de exibição VW_MODE_NATURL=tamanho original VW_MODE_AUTOFIT=redimensionar à tela VW_MODE_FITWIDTH=redimensionar à largura VW_MODE_FITHEIGHT=redimensionar à altura VW_MODE_BESTFIT=redimensionar da melhor forma VW_MINUPSCALE=Aumentar imagens pequenas VW_MINUPSCALE_TIP="Geralmente imagens pequenas não são exibidas em grande parte da tela. Esta função força que elas sejam.\nO valor é dado em porcentagem, e informa ao script para deixa-las de acordo com os dados de altura e largura fornecidos (isso depende das opções selecionadas)." VW_IMGINFO=Informações da imagem. VW_FAVICON=Ícone personalizado VW_FAVICON_TIP="Esta opção possibilita adicionar um ícone personalizado à imagem aberta.\nO endereço da imagem pode ser usado como variável: %url" VW_WHEELZOOM=Fazer zoom ao rodar roda do mouse VW_LPDELAY=Atraso de resposta (ms) VW_LPLEFT=Clique longo com o botão esquerdo do mouse VW_LPRIGHT=Clique longo com o botão direito do mouse VW_LPA_FITWH=caber na altura/largura VW_SC_CYCLE=Trocar entre os modos: tamanho original, caber na altura, caber na largura VW_SC_RESET=Esc voltará a imagem à sua forma normal, ou sairá do zoom-livre VW_SC_FREEZOOM=Shift + arrastrar em cima da imagem para usar o modo de ampliação de seleção, mantenha pressionado Ctrl (sem soltar Shift) para mover a seleção SC_ZOOMINOUT=Zoom mais/menos SC_MORIG=Tamanho original SC_MFIT=Dimensionar automaticamente SC_MFITW=Dimensionar à largura SC_MFITH=Dimensionar à altura LANGUAGE=Idioma TRANSLATIONS=Traduções TRANSLATIONS_TIP=Se você quiser se tornar um tradutor, envie um e-mail para este endereço, mencionando os idiomas que você fala. TRANSLATORS=Tradutores CUSTOM_CSS=Estilo de CSS personalizado NAV_GENERAL=General VW_IMGINFO_TIP="Display custom information in the title of the tab. It may contain the following variables:\n%ow - original width\n%oh - original height\n%ratio - current width / current height\n%w - current width\n%h - current height\n%perc - percent of the original size\n%url - full URL\n%name - filename" VW_SC_DRAGNDROP=Hold Ctrl to allow drag-and-drop, or drag from the right edge of the image, if that fits into the window SC_FLIP=Flip (vertical flip with Shift) SC_ROTATE=Rotate (counterclockwise with Shift) VW_CENTER=Center content CUSTOM_CSS_TIP="body {\n background: #f3f3f5; /* Any valid background property (color, url(), gradient...). */\n overflow: hidden; /* Hides the scrollbars. To show them, change \"hidden\" to \"auto\". */\n}\n\nimg {\n background: #eef; /* Different background for the image. */\n border: 10px solid white; /* Image border. */\n box-shadow: 0 0 10px grey; /* Shadow of the image. */\n cursor: default !important; /* Don't allow the mouse curosr to change. */\n}\n\n.mask {\n color: rgba(0, 0, 0, .4); /* Color of the free-zoom mask. */\n}\n\n#menu {\n display: none; /* Disable the floating menu. */\n}\n" VW_SC_HORIZONTALSCROLL=To scroll the image horizontally, use the mouse wheel in the top left corner ; @language ru, Russian (русский) (100%) ; @translators Rodny [lang] APP_DESCRIPTION=Дополнительная функциональность при просмотре изображений в браузере. VW_IMAGE=Изображение LOAD_FAILED=Ошибка загрузки... NAV_GENERAL=Общее NAV_INFO=Инфо SHORTCUTS=Сочетания клавиш PH_CLICKFORSAMPLE=посмотреть примеры... DISABLED=отключено BUTTON_RESET=По умолчанию BUTTON_SAVE=Сохранить VW_MODE=Размер по умолчанию VW_MODE_NATURL=оригинальный размер VW_MODE_AUTOFIT=вписать VW_MODE_FITWIDTH=подогнать по ширине VW_MODE_FITHEIGHT=подогнать по высоте VW_MODE_BESTFIT=наилучшее заполнение VW_MINUPSCALE=Увеличивать маленькие изображения VW_MINUPSCALE_TIP="Как правило, небольшие изображения не увеличиваются до размеров области просмотра при масштабировании. Этот параметр заставит их это делать.\nЗначение задаётся в процентах, скрипт увеличит те изображения, размер которых больше данного процента от ширины или высоты области просмотра (в зависимости от предыдущей настройки)." VW_IMGINFO=Информация об изображении VW_IMGINFO_TIP="Отображение пользовательской информации в заголовке вкладки. Она может содержать следующие переменные:\n%ow - оригинальная ширина\n%oh - оригинальная высота\n%ratio - текущая ширина / текущая высота\n%w - текущая ширина\n%h - текущая высота\n%perc - процент от оригинального размера\n%url - полный URL\n%name - имя файла" VW_FAVICON=Пользовательская иконка VW_FAVICON_TIP="Этот параметр позволяет назначить произвольную иконку для вкладки с открытым изображением.\nАдрес изображения можно использовать как переменную: %url" VW_WHEELZOOM=Масштабировать колесом мыши VW_LPDELAY=Длительность нажатия (мс) VW_LPLEFT=Действие длительного нажатия левой кнопкой мыши VW_LPRIGHT=Действие длительного нажатия правой кнопкой мыши VW_LPA_FITWH=подогнать по ширине/высоте VW_SC_CYCLE=Переключить между режимами: оригинальный, подгон по ширине, подгон по высоте VW_SC_DRAGNDROP=Зажмите Ctrl, чтобы позволить drag-and-drop, или протяните от правого края изображения, если оно вписано в окно VW_SC_RESET=Esc возвращает изображение к первоначальному виду или выходит из режима свободного масштабирования. VW_SC_FREEZOOM=Зажать Shift + левую кнопку мыши на изображении для свободного масштабирования, дополнительно зажать Ctrl для перемещения выделения SC_ZOOMINOUT=Увеличить / уменьшить SC_FLIP=Отразить (вертикальное отражение с Shift) SC_ROTATE=Повернуть (против часовой стрелки с Shift) SC_MORIG=Оригинальный размер SC_MFIT=Вписать SC_MFITW=Подогнать по ширине SC_MFITH=Подогнать по высоте LANGUAGE=Язык TRANSLATIONS=Переводы TRANSLATIONS_TIP=Если вы хотите стать переводчиком, напишите по электронной почте на этот адрес, указав ваши языки. TRANSLATORS=Переводчики VW_CENTER=Центрировать содержимое CUSTOM_CSS=Пользовательский стиль (CSS) CUSTOM_CSS_TIP="body {\n background: #f3f3f5; /* Любое допустимое свойство фона (color, url(), gradient...). */\n overflow: hidden; /* Скрыть полосы прокрутки. Чтобы показать их, измените \"hidden\" на \"auto\". */\n}\n\nimg {\n background: #eef; /* Различный фон для изображения. */\n border: 10px solid white; /* Граница изображения. */\n box-shadow: 0 0 10px grey; /* Тень изображения. */\n cursor: default !important; /* Запретить изменение курсора. */\n}\n\n.mask {\n color: rgba(0, 0, 0, .4); /* Цвет маски свободного масштабирования. */\n}\n\n#menu {\n display: none; /* Отключить всплывающее меню. */\n}\n" VW_SC_HORIZONTALSCROLL=Для прокрутки изображения по горизонтали используйте колёсико мыши в левом верхнем углу ; @language uk, Ukrainian (українська) (80.85%) ; @translators Simofon [lang] VW_IMAGE=Зображення LOAD_FAILED=Помилка завантаження... NAV_INFO=Інфо SHORTCUTS=Поєднання клавіш PH_CLICKFORSAMPLE=Дивитить приклади... DISABLED=відключено BUTTON_RESET=Дефолні налаштування BUTTON_SAVE=Зберегти VW_MODE=Розмір за замовчуванням VW_MODE_NATURL=оригінальний розмір VW_MODE_AUTOFIT=вписати VW_MODE_FITWIDTH=підігнати по ширині VW_MODE_FITHEIGHT=підігнати по висоті VW_MODE_BESTFIT=найкраще заповнення VW_MINUPSCALE=Збільшувати маленькі зображення VW_MINUPSCALE_TIP="Як правило, невеликі зображення не збільшуються до розмірів області перегляду при масштабування. Цей параметр змусить їх це робити.\nЗначення задається у відсотках, скрипт збільшить ті зображення, розмір яких більше даного відсотка від ширини або висоти області перегляду (залежно від попередньої настройки)." VW_IMGINFO=Інформація про зображення VW_FAVICON=Іконка VW_FAVICON_TIP="Цей параметр дозволяє призначити довільну іконку для вкладки з відкритим зображенням.\nАдреса зображення можна використовувати як змінну: %url" VW_WHEELZOOM=Масштабувати колесом миші VW_LPDELAY=Тривалість натискання (мс) VW_LPLEFT=Дія тривалого натискання лівою кнопкою миші VW_LPRIGHT=Дія тривалого натискання правою кнопкою миші VW_LPA_FITWH=підігнати по ширині / висоті VW_SC_CYCLE=Переключити між режимами: оригінальний, підгін по ширині, підгін по висоті VW_SC_RESET=Esc повертає зображення до первісного вигляду або виходить з режиму вільного масштабування. VW_SC_FREEZOOM=Зажати Shift + ліву кнопку миші на зображенні для вільного масштабування, додатково затиснути Ctrl для переміщення виділення SC_ZOOMINOUT=Збільшити / зменшити SC_MORIG=Оригінальний розмір SC_MFIT=Вписати SC_MFITW=Підігнати по ширині SC_MFITH=Підігнати по висоті LANGUAGE=Мова TRANSLATIONS=Переклади TRANSLATIONS_TIP=Якщо ви хочете стати перекладачем, напишіть електронною поштою на цю адресу, вказавши ваші мови. TRANSLATORS=Перекладачі CUSTOM_CSS=Стиль (CSS) NAV_GENERAL=General VW_IMGINFO_TIP="Display custom information in the title of the tab. It may contain the following variables:\n%ow - original width\n%oh - original height\n%ratio - current width / current height\n%w - current width\n%h - current height\n%perc - percent of the original size\n%url - full URL\n%name - filename" VW_SC_DRAGNDROP=Hold Ctrl to allow drag-and-drop, or drag from the right edge of the image, if that fits into the window SC_FLIP=Flip (vertical flip with Shift) SC_ROTATE=Rotate (counterclockwise with Shift) VW_CENTER=Center content CUSTOM_CSS_TIP="body {\n background: #f3f3f5; /* Any valid background property (color, url(), gradient...). */\n overflow: hidden; /* Hides the scrollbars. To show them, change \"hidden\" to \"auto\". */\n}\n\nimg {\n background: #eef; /* Different background for the image. */\n border: 10px solid white; /* Image border. */\n box-shadow: 0 0 10px grey; /* Shadow of the image. */\n cursor: default !important; /* Don't allow the mouse curosr to change. */\n}\n\n.mask {\n color: rgba(0, 0, 0, .4); /* Color of the free-zoom mask. */\n}\n\n#menu {\n display: none; /* Disable the floating menu. */\n}\n" VW_SC_HORIZONTALSCROLL=To scroll the image horizontally, use the mouse wheel in the top left corner ; @language zh-CN, Chinese (Simplified Han) (中文(简体中文)) (80.85%) ; @translators fang5566 [lang] VW_IMAGE=图片 LOAD_FAILED=载入时发生错误... NAV_INFO=信息 SHORTCUTS=快捷键 PH_CLICKFORSAMPLE=点击查看样例... DISABLED=禁用 BUTTON_RESET=重置 BUTTON_SAVE=保存 VW_MODE=图片默认显示模式 VW_MODE_NATURL=原始尺寸 VW_MODE_AUTOFIT=嵌入查看器 VW_MODE_FITWIDTH=适应宽度 VW_MODE_FITHEIGHT=适应高度 VW_MODE_BESTFIT=最佳适应方式 VW_MINUPSCALE=放大小图片 VW_MINUPSCALE_TIP="通常小图片不会被放大到视图窗口(view-port)那么大,而该选项可以强制放大这些小图片。\n该选项值表示视图窗口宽度和高度值(这由前一个选项来决定)的百分比,用于告知脚本凡是大于该百分比的图片都强制放大。" VW_IMGINFO=图片信息 VW_FAVICON=自定义 favicon VW_FAVICON_TIP="该选项用于为打开的图片设置一个自定义的标签页图标。\n图片地址可使用以下变量:%url" VW_WHEELZOOM=使用鼠标滚轮缩放 VW_LPDELAY=鼠标点击时长(毫秒) VW_LPLEFT=鼠标左键长按时的操作 VW_LPRIGHT=鼠标右键长按时的操作 VW_LPA_FITWH=适应宽度/高度 VW_SC_CYCLE=在原始大小,适应宽度和适应高度三种显示模式中切换 VW_SC_RESET=Esc 键可重置图片为原始显示方式,或退出自由缩放模式 VW_SC_FREEZOOM=Shift + 拖动 图片进入自由缩放模式,按住 Ctrl 时可移动选区 SC_ZOOMINOUT=缩小 / 放大 SC_MORIG=原始尺寸 SC_MFIT=自动适应 SC_MFITW=适应宽度 SC_MFITH=适应高度 LANGUAGE=语言 TRANSLATIONS=翻译 TRANSLATIONS_TIP=如果您想参与翻译,请发送 e-mail 到这里并说明您要翻译的语言。 TRANSLATORS=译者 CUSTOM_CSS=自定义样式 (CSS) NAV_GENERAL=General VW_IMGINFO_TIP="Display custom information in the title of the tab. It may contain the following variables:\n%ow - original width\n%oh - original height\n%ratio - current width / current height\n%w - current width\n%h - current height\n%perc - percent of the original size\n%url - full URL\n%name - filename" VW_SC_DRAGNDROP=Hold Ctrl to allow drag-and-drop, or drag from the right edge of the image, if that fits into the window SC_FLIP=Flip (vertical flip with Shift) SC_ROTATE=Rotate (counterclockwise with Shift) VW_CENTER=Center content CUSTOM_CSS_TIP="body {\n background: #f3f3f5; /* Any valid background property (color, url(), gradient...). */\n overflow: hidden; /* Hides the scrollbars. To show them, change \"hidden\" to \"auto\". */\n}\n\nimg {\n background: #eef; /* Different background for the image. */\n border: 10px solid white; /* Image border. */\n box-shadow: 0 0 10px grey; /* Shadow of the image. */\n cursor: default !important; /* Don't allow the mouse curosr to change. */\n}\n\n.mask {\n color: rgba(0, 0, 0, .4); /* Color of the free-zoom mask. */\n}\n\n#menu {\n display: none; /* Disable the floating menu. */\n}\n" VW_SC_HORIZONTALSCROLL=To scroll the image horizontally, use the mouse wheel in the top left corner ; @language zh-TW, Chinese (Traditional Han) (中文 (繁體中文)) (55.32%) ; @translators TYKuo [lang] VW_IMAGE=圖片 LOAD_FAILED=載入時發生錯誤... NAV_INFO=相關訊息 SHORTCUTS=快捷鍵 PH_CLICKFORSAMPLE=點擊以做為範例... DISABLED=停用 BUTTON_RESET=預設 BUTTON_SAVE=儲存 VW_MODE=初始尺寸模式 VW_MODE_NATURL=原始大小 VW_MODE_AUTOFIT=自動縮放 VW_MODE_FITWIDTH=符合寬度 VW_MODE_FITHEIGHT=符合高度 VW_MODE_BESTFIT=適合圖片 VW_MINUPSCALE=放大小圖片 VW_IMGINFO=影像資訊 VW_FAVICON=自訂網站圖標 VW_WHEELZOOM=以滑鼠滾輪縮放 VW_LPDELAY=長按延遲(毫秒) VW_LPLEFT=左鍵長按動作 VW_LPRIGHT=右鍵長按動作 VW_LPA_FITWH=符合寬度/高度 SC_MORIG=原始大小 SC_MFITW=適合寬度 SC_MFITH=適合高度 NAV_GENERAL=General VW_MINUPSCALE_TIP="Normally, smaller images won't be upscaled to the view-port. This option forces them to do so.\nThe value is given in percent, and tells the script to enlarge those images that are larger than the given percent of view-port's width or height (it depends on the previous option)." VW_IMGINFO_TIP="Display custom information in the title of the tab. It may contain the following variables:\n%ow - original width\n%oh - original height\n%ratio - current width / current height\n%w - current width\n%h - current height\n%perc - percent of the original size\n%url - full URL\n%name - filename" VW_FAVICON_TIP="This option allows to set a custom tab-icon for the opened image.\nThe address of the image can be used as a variable: %url" VW_SC_CYCLE=Cycle through sizing modes: natural, fit to width, fit to height VW_SC_DRAGNDROP=Hold Ctrl to allow drag-and-drop, or drag from the right edge of the image, if that fits into the window VW_SC_RESET=Esc will reset the image to its original form, or quits from free-zoom VW_SC_FREEZOOM=Shift + drag on the image to use free-zoom, hold Ctrl to move the selection SC_ZOOMINOUT=Zoom in / out SC_FLIP=Flip (vertical flip with Shift) SC_ROTATE=Rotate (counterclockwise with Shift) SC_MFIT=Auto fit LANGUAGE=Language TRANSLATIONS=Translations TRANSLATIONS_TIP=If you want to become a translator, then send an e-mail to this address mentioning your spoken languages. TRANSLATORS=Translators VW_CENTER=Center content CUSTOM_CSS=Custom style (CSS) CUSTOM_CSS_TIP="body {\n background: #f3f3f5; /* Any valid background property (color, url(), gradient...). */\n overflow: hidden; /* Hides the scrollbars. To show them, change \"hidden\" to \"auto\". */\n}\n\nimg {\n background: #eef; /* Different background for the image. */\n border: 10px solid white; /* Image border. */\n box-shadow: 0 0 10px grey; /* Shadow of the image. */\n cursor: default !important; /* Don't allow the mouse curosr to change. */\n}\n\n.mask {\n color: rgba(0, 0, 0, .4); /* Color of the free-zoom mask. */\n}\n\n#menu {\n display: none; /* Disable the floating menu. */\n}\n" VW_SC_HORIZONTALSCROLL=To scroll the image horizontally, use the mouse wheel in the top left corner {"_": "en", "cs": {"%": 95.74, "name": "Czech (čeština)", "translators": [{"email": "jaramat@email.cz", "fullname": "Jaroslav Matura", "name": "jaramat"}]}, "el": {"%": 74.47, "name": "Greek (Ελληνικά)", "translators": [{"email": "farow.the.time.traveler@gmail.com", "name": "Farow"}]}, "en": {"name": "English", "translators": [{"email": "deathamns@gmail.com", "name": "Deathamns"}]}, "es": {"%": 78.72, "name": "Spanish (español)", "translators": [{"email": "nightroad@mail.com", "fullname": "JavierVH", "name": "DurianZheitk"}]}, "fi": {"%": 65.96, "name": "Finnish (suomi)", "translators": [{"email": "opeeera@myopera.com", "name": "Opeeera"}]}, "fr": {"%": 80.85, "name": "French (français)", "translators": [{"email": "tmnath2@gmail.com", "name": "Tmnath"}]}, "hu": {"name": "Hungarian (magyar)", "translators": [{"email": "deathamns@gmail.com", "name": "Deathamns"}]}, "nl": {"%": 80.85, "name": "Dutch (Nederlands)", "translators": [{"email": "kackar@outlook.com", "name": "Kaçkar"}]}, "pl": {"%": 80.85, "name": "Polish (polski)", "translators": [{"fullname": "Paweł Pawlak", "name": "pafflick", "web": "http://www.pafflick.com/"}]}, "pt-BR": {"%": 80.85, "name": "Portuguese (Brazil) (português (Brasil))", "translators": [{"email": "romulo@brazilmail.com", "fullname": "Rômulo Godoi"}]}, "ru": {"name": "Russian (русский)", "translators": [{"email": "rodny0@gmail.com", "name": "Rodny"}]}, "uk": {"%": 80.85, "name": "Ukrainian (українська)", "translators": [{"email": "simofon@yandex.ru", "name": "Simofon"}]}, "zh-CN": {"%": 80.85, "name": "Chinese (Simplified Han) (中文(简体中文))", "translators": [{"email": "wlq105556@gmail.com", "name": "fang5566"}]}, "zh-TW": {"%": 55.32, "name": "Chinese (Traditional Han) (中文 (繁體中文))", "translators": [{"email": "tingyang@gmail.com", "name": "TYKuo"}]}} :: Viewhance ::
0%

  • + / -