├── LICENSE ├── README.md ├── admin.html ├── config.js ├── favicon.ico ├── img └── logo.svg ├── index.html ├── js ├── ResizeSensor.js ├── common.js ├── custom.js └── slim.js ├── lang ├── ca.json ├── en.json ├── es.json ├── fr.json ├── it.json ├── ko.json ├── languages.js ├── ru.json ├── timeago │ ├── jquery.timeago.af.js │ ├── jquery.timeago.am.js │ ├── jquery.timeago.ar.js │ ├── jquery.timeago.az.js │ ├── jquery.timeago.bg.js │ ├── jquery.timeago.bs.js │ ├── jquery.timeago.ca.js │ ├── jquery.timeago.cs.js │ ├── jquery.timeago.cy.js │ ├── jquery.timeago.da.js │ ├── jquery.timeago.de.js │ ├── jquery.timeago.dv.js │ ├── jquery.timeago.el.js │ ├── jquery.timeago.en.js │ ├── jquery.timeago.es.js │ ├── jquery.timeago.et.js │ ├── jquery.timeago.eu.js │ ├── jquery.timeago.fa.js │ ├── jquery.timeago.fi.js │ ├── jquery.timeago.fr.js │ ├── jquery.timeago.gl.js │ ├── jquery.timeago.he.js │ ├── jquery.timeago.hr.js │ ├── jquery.timeago.hu.js │ ├── jquery.timeago.hy.js │ ├── jquery.timeago.id.js │ ├── jquery.timeago.is.js │ ├── jquery.timeago.it.js │ ├── jquery.timeago.ja.js │ ├── jquery.timeago.jv.js │ ├── jquery.timeago.ko.js │ ├── jquery.timeago.ky.js │ ├── jquery.timeago.lt.js │ ├── jquery.timeago.lv.js │ ├── jquery.timeago.mk.js │ ├── jquery.timeago.nl.js │ ├── jquery.timeago.no.js │ ├── jquery.timeago.pl.js │ ├── jquery.timeago.pt-br.js │ ├── jquery.timeago.pt.js │ ├── jquery.timeago.ro.js │ ├── jquery.timeago.rs.js │ ├── jquery.timeago.ru.js │ ├── jquery.timeago.rw.js │ ├── jquery.timeago.si.js │ ├── jquery.timeago.sk.js │ ├── jquery.timeago.sl.js │ ├── jquery.timeago.sq.js │ ├── jquery.timeago.sr.js │ ├── jquery.timeago.sv.js │ ├── jquery.timeago.th.js │ ├── jquery.timeago.tr.js │ ├── jquery.timeago.uk.js │ ├── jquery.timeago.ur.js │ ├── jquery.timeago.uz.js │ ├── jquery.timeago.vi.js │ ├── jquery.timeago.zh-CN.js │ └── jquery.timeago.zh-TW.js └── zh-CN.json ├── lib ├── Ionicons │ ├── css │ │ └── ionicons.css │ └── fonts │ │ ├── ionicons.eot │ │ ├── ionicons.svg │ │ ├── ionicons.ttf │ │ └── ionicons.woff ├── bootstrap │ ├── css │ │ ├── bootstrap-grid.css │ │ ├── bootstrap-grid.min.css │ │ ├── bootstrap-reboot.css │ │ ├── bootstrap-reboot.min.css │ │ ├── bootstrap.css │ │ └── bootstrap.min.css │ ├── js │ │ ├── bootstrap.bundle.js │ │ ├── bootstrap.bundle.min.js │ │ ├── bootstrap.js │ │ └── bootstrap.min.js │ └── map │ │ ├── bootstrap-grid.css.map │ │ ├── bootstrap-grid.min.css.map │ │ ├── bootstrap-reboot.css.map │ │ ├── bootstrap-reboot.min.css.map │ │ ├── bootstrap.bundle.js.map │ │ ├── bootstrap.bundle.min.js.map │ │ ├── bootstrap.css.map │ │ ├── bootstrap.js.map │ │ ├── bootstrap.min.css.map │ │ └── bootstrap.min.js.map ├── chart.js │ └── js │ │ └── Chart.js ├── chartist │ ├── css │ │ ├── chartist-plugin-tooltip.css │ │ └── chartist.css │ └── js │ │ ├── chartist-plugin-tooltip.min.js │ │ └── chartist.js ├── font-awesome │ ├── css │ │ └── font-awesome.css │ └── fonts │ │ ├── FontAwesome.otf │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.svg │ │ ├── fontawesome-webfont.ttf │ │ ├── fontawesome-webfont.woff │ │ └── fontawesome-webfont.woff2 ├── jquery-toggles │ ├── css │ │ └── toggles-full.css │ └── js │ │ └── toggles.min.js ├── jquery.cookie │ └── js │ │ └── jquery.cookie.js ├── jquery.sparkline.bower │ └── js │ │ └── jquery.sparkline.min.js ├── jquery.timeago │ └── js │ │ └── jquery.timeago.js ├── jquery │ └── js │ │ └── jquery.js ├── moment │ └── js │ │ └── moment.js ├── popper.js │ └── js │ │ └── popper.js └── select2 │ ├── css │ └── select2.min.css │ └── js │ ├── select2.full.min.js │ └── select2.min.js ├── pages ├── admin │ ├── monitoring.html │ ├── ports.html │ ├── statistics.html │ ├── tools.html │ └── userslist.html ├── faq.html ├── getting_started.html ├── home.html ├── market.html ├── payments.html ├── pool_blocks.html ├── settings.html ├── top10miners.html └── worker_stats.html └── themes ├── admin.css ├── custom.css ├── default.css ├── slim.css └── slim.one.css /README.md: -------------------------------------------------------------------------------- 1 | # ConcealPool 2 | Conceal pool frontend 3 | -------------------------------------------------------------------------------- /admin.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Mining Pool Admin Panel 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 54 | 55 | 56 |
57 |
58 |

59 |
60 | 61 |
62 | 63 | 64 | 71 | 72 | 73 | 74 | 75 | 115 | 116 | 117 | -------------------------------------------------------------------------------- /config.js: -------------------------------------------------------------------------------- 1 | var api = "https://pool.conceal.network/api"; 2 | 3 | var email = "ccx@conceal.network"; 4 | var telegram = "https://t.me/joinchat/H0xqnU-vzSObrkQlov38dQ"; 5 | var discord = "https://discordapp.com/invite/YbpHVSd"; 6 | 7 | var marketCurrencies = ["{symbol}-BTC", "{symbol}-USD", "{symbol}-EUR", "{symbol}-CAD"]; 8 | 9 | var blockchainExplorer = "https://explorer.conceal.network/index.html?hash={id}#blockchain_block"; 10 | var transactionExplorer = "https://explorer.conceal.network/index.html?hash={id}#blockchain_transaction"; 11 | 12 | var themeCss = "themes/default.css"; 13 | var defaultLang = 'en'; 14 | -------------------------------------------------------------------------------- /favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ConcealNetwork/conceal-pool/2a42ef244ed4fa8802c99d610ac1a41432a4a415/favicon.ico -------------------------------------------------------------------------------- /img/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /js/ResizeSensor.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright Marc J. Schmidt. See the LICENSE file at the top-level 3 | * directory of this distribution and at 4 | * https://github.com/marcj/css-element-queries/blob/master/LICENSE. 5 | */ 6 | ; 7 | 8 | 'use strict'; 9 | 10 | (function (root, factory) { 11 | if (typeof define === "function" && define.amd) { 12 | define(factory); 13 | } else if (typeof exports === "object") { 14 | module.exports = factory(); 15 | } else { 16 | root.ResizeSensor = factory(); 17 | } 18 | }(typeof window !== 'undefined' ? window : this, function () { 19 | 20 | // Make sure it does not throw in a SSR (Server Side Rendering) situation 21 | if (typeof window === "undefined") { 22 | return null; 23 | } 24 | // Only used for the dirty checking, so the event callback count is limited to max 1 call per fps per sensor. 25 | // In combination with the event based resize sensor this saves cpu time, because the sensor is too fast and 26 | // would generate too many unnecessary events. 27 | var requestAnimationFrame = window.requestAnimationFrame || 28 | window.mozRequestAnimationFrame || 29 | window.webkitRequestAnimationFrame || 30 | function (fn) { 31 | return window.setTimeout(fn, 20); 32 | }; 33 | 34 | /** 35 | * Iterate over each of the provided element(s). 36 | * 37 | * @param {HTMLElement|HTMLElement[]} elements 38 | * @param {Function} callback 39 | */ 40 | function forEachElement(elements, callback){ 41 | var elementsType = Object.prototype.toString.call(elements); 42 | var isCollectionTyped = ('[object Array]' === elementsType 43 | || ('[object NodeList]' === elementsType) 44 | || ('[object HTMLCollection]' === elementsType) 45 | || ('[object Object]' === elementsType) 46 | || ('undefined' !== typeof jQuery && elements instanceof jQuery) //jquery 47 | || ('undefined' !== typeof Elements && elements instanceof Elements) //mootools 48 | ); 49 | var i = 0, j = elements.length; 50 | if (isCollectionTyped) { 51 | for (; i < j; i++) { 52 | callback(elements[i]); 53 | } 54 | } else { 55 | callback(elements); 56 | } 57 | } 58 | 59 | /** 60 | * Class for dimension change detection. 61 | * 62 | * @param {Element|Element[]|Elements|jQuery} element 63 | * @param {Function} callback 64 | * 65 | * @constructor 66 | */ 67 | var ResizeSensor = function(element, callback) { 68 | /** 69 | * 70 | * @constructor 71 | */ 72 | function EventQueue() { 73 | var q = []; 74 | this.add = function(ev) { 75 | q.push(ev); 76 | }; 77 | 78 | var i, j; 79 | this.call = function() { 80 | for (i = 0, j = q.length; i < j; i++) { 81 | q[i].call(); 82 | } 83 | }; 84 | 85 | this.remove = function(ev) { 86 | var newQueue = []; 87 | for(i = 0, j = q.length; i < j; i++) { 88 | if(q[i] !== ev) newQueue.push(q[i]); 89 | } 90 | q = newQueue; 91 | } 92 | 93 | this.length = function() { 94 | return q.length; 95 | } 96 | } 97 | 98 | /** 99 | * 100 | * @param {HTMLElement} element 101 | * @param {Function} resized 102 | */ 103 | function attachResizeEvent(element, resized) { 104 | if (!element) return; 105 | if (element.resizedAttached) { 106 | element.resizedAttached.add(resized); 107 | return; 108 | } 109 | 110 | element.resizedAttached = new EventQueue(); 111 | element.resizedAttached.add(resized); 112 | 113 | element.resizeSensor = document.createElement('div'); 114 | element.resizeSensor.className = 'resize-sensor'; 115 | var style = 'position: absolute; left: 0; top: 0; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;'; 116 | var styleChild = 'position: absolute; left: 0; top: 0; transition: 0s;'; 117 | 118 | element.resizeSensor.style.cssText = style; 119 | element.resizeSensor.innerHTML = 120 | '
' + 121 | '
' + 122 | '
' + 123 | '
' + 124 | '
' + 125 | '
'; 126 | element.appendChild(element.resizeSensor); 127 | 128 | if (element.resizeSensor.offsetParent !== element) { 129 | element.style.position = 'relative'; 130 | } 131 | 132 | var expand = element.resizeSensor.childNodes[0]; 133 | var expandChild = expand.childNodes[0]; 134 | var shrink = element.resizeSensor.childNodes[1]; 135 | var dirty, rafId, newWidth, newHeight; 136 | var lastWidth = element.offsetWidth; 137 | var lastHeight = element.offsetHeight; 138 | 139 | var reset = function() { 140 | expandChild.style.width = '100000px'; 141 | expandChild.style.height = '100000px'; 142 | 143 | expand.scrollLeft = 100000; 144 | expand.scrollTop = 100000; 145 | 146 | shrink.scrollLeft = 100000; 147 | shrink.scrollTop = 100000; 148 | }; 149 | 150 | reset(); 151 | 152 | var onResized = function() { 153 | rafId = 0; 154 | 155 | if (!dirty) return; 156 | 157 | lastWidth = newWidth; 158 | lastHeight = newHeight; 159 | 160 | if (element.resizedAttached) { 161 | element.resizedAttached.call(); 162 | } 163 | }; 164 | 165 | var onScroll = function() { 166 | newWidth = element.offsetWidth; 167 | newHeight = element.offsetHeight; 168 | dirty = newWidth != lastWidth || newHeight != lastHeight; 169 | 170 | if (dirty && !rafId) { 171 | rafId = requestAnimationFrame(onResized); 172 | } 173 | 174 | reset(); 175 | }; 176 | 177 | var addEvent = function(el, name, cb) { 178 | if (el.attachEvent) { 179 | el.attachEvent('on' + name, cb); 180 | } else { 181 | el.addEventListener(name, cb); 182 | } 183 | }; 184 | 185 | addEvent(expand, 'scroll', onScroll); 186 | addEvent(shrink, 'scroll', onScroll); 187 | } 188 | 189 | forEachElement(element, function(elem){ 190 | attachResizeEvent(elem, callback); 191 | }); 192 | 193 | this.detach = function(ev) { 194 | ResizeSensor.detach(element, ev); 195 | }; 196 | }; 197 | 198 | ResizeSensor.detach = function(element, ev) { 199 | forEachElement(element, function(elem){ 200 | if (!elem) return 201 | if(elem.resizedAttached && typeof ev == "function"){ 202 | elem.resizedAttached.remove(ev); 203 | if(elem.resizedAttached.length()) return; 204 | } 205 | if (elem.resizeSensor) { 206 | if (elem.contains(elem.resizeSensor)) { 207 | elem.removeChild(elem.resizeSensor); 208 | } 209 | delete elem.resizeSensor; 210 | delete elem.resizedAttached; 211 | } 212 | }); 213 | }; 214 | 215 | return ResizeSensor; 216 | 217 | })); 218 | -------------------------------------------------------------------------------- /js/custom.js: -------------------------------------------------------------------------------- 1 | /* Insert your pool's unique Javascript here */ -------------------------------------------------------------------------------- /js/slim.js: -------------------------------------------------------------------------------- 1 | $(function(){ 2 | 'use strict'; 3 | 4 | 5 | /////////////////// START: TEMPLATE SETTINGS ///////////////////// 6 | var loc = window.location.pathname; 7 | var path = loc.split('/'); 8 | var isRtl = false; 9 | var newloc = ''; 10 | 11 | // inject additional link tag for header skin 12 | $('head').append(''); 13 | 14 | // show/hide template options panel 15 | $('body').on('click', '.template-options-btn', function(e){ 16 | e.preventDefault(); 17 | $('.template-options-wrapper').toggleClass('show'); 18 | }); 19 | 20 | // set current page to light mode 21 | $('body').on('click', '.skin-light-mode', function(e){ 22 | e.preventDefault(); 23 | newloc = loc.replace('template-dark', 'template'); 24 | $(location).attr('href', newloc); 25 | }); 26 | 27 | // set current page to dark mode 28 | $('body').on('click', '.skin-dark-mode', function(e){ 29 | e.preventDefault(); 30 | if(loc.indexOf('template-dark') >= 0) { 31 | newloc = loc; 32 | } else { 33 | newloc = loc.replace('template', 'template-dark'); 34 | } 35 | $(location).attr('href', newloc); 36 | }); 37 | 38 | // set current page to rtl/ltr direction 39 | $('body').on('click', '.slim-direction', function(){ 40 | var val = $(this).val(); 41 | 42 | if(val === 'rtl') { 43 | if(!isRtl) { 44 | if(path[3]) { 45 | newloc = '/slim/'+path[2]+'-rtl/'+path[3]; 46 | } else { 47 | newloc = '/slim/'+path[2]+'-rtl/'; 48 | } 49 | $(location).attr('href', newloc); 50 | } 51 | } else { 52 | if(isRtl) { 53 | if(path[3]) { 54 | newloc = '/slim/'+path[2].replace('-rtl','')+'/'+path[3]; 55 | } else { 56 | newloc = '/slim/'+path[2].replace('-rtl','')+'/'; 57 | } 58 | $(location).attr('href', newloc); 59 | } 60 | } 61 | }); 62 | 63 | // toggles header to sticky 64 | $('body').on('click', '.sticky-header', function(){ 65 | var val = $(this).val(); 66 | if(val === 'yes') { 67 | $.cookie('sticky-header', 'true'); 68 | $('body').addClass('slim-sticky-header'); 69 | } else { 70 | $.removeCookie('sticky-header'); 71 | $('body').removeClass('slim-sticky-header'); 72 | } 73 | }); 74 | 75 | // set skin to header 76 | $('body').on('click', '.header-skin', function(){ 77 | var val = $(this).val(); 78 | if(val !== 'default') { 79 | $.cookie('header-skin', val); 80 | $('#headerSkin').attr('href','../css/slim.'+val+'.css'); 81 | } else { 82 | $.removeCookie('header-skin'); 83 | $('#headerSkin').attr('href', ''); 84 | } 85 | }); 86 | 87 | // set page to wide 88 | $('body').on('click', '.full-width', function(){ 89 | var val = $(this).val(); 90 | if(val === 'yes') { 91 | $.cookie('full-width', 'true'); 92 | $('body').addClass('slim-full-width'); 93 | } else { 94 | $.removeCookie('full-width'); 95 | $('body').removeClass('slim-full-width'); 96 | } 97 | }); 98 | /////////////////// END: TEMPLATE SETTINGS ///////////////////// 99 | 100 | }); 101 | -------------------------------------------------------------------------------- /lang/ca.json: -------------------------------------------------------------------------------- 1 | { 2 | "miningPool": "Mining Pool", 3 | "dashboard": "Tauler", 4 | "gettingStarted": "Començar", 5 | "yourStats": "Estadístiques personals", 6 | "poolBlocks": "Blocs de la Pool", 7 | "resources": "Resources", 8 | "settings": "Ajustaments", 9 | "faq": "FAQ", 10 | "telegram": "Grup de Telegram", 11 | "discord": "Discord", 12 | "contactUs": "Contactar", 13 | "network": "Xarxa", 14 | "pool": "Pool", 15 | "you": "La teva taxa", 16 | "statsUpdated": "Estadístiques actualitzades", 17 | 18 | "poolHashrate": "Taxa de la Pool (hash)", 19 | "currentEffort": "Esforç actual", 20 | "networkHashrate": "Taxa de la Xarxa (hash)", 21 | "networkDifficulty": "Dificultat", 22 | "blockchainHeight": "Altura cadena de blocs", 23 | "networkLastReward": "Última recompensa", 24 | "poolMiners": "Miners connectats", 25 | "poolFee": "Tarifa de la Pool", 26 | 27 | "minerStats": "Les teves estadístiques i historial de pagaments", 28 | "workerStats": "Estadístiques personals", 29 | "miner": "Miner", 30 | "miners": "Miners", 31 | "minersCount": "miners", 32 | "workers": "Treballadors", 33 | "workersCount": "treballadors", 34 | "workerName": "Nom Treballador", 35 | "lastHash": "Últim hash", 36 | "hashRate": "Taxa (hash)", 37 | "currentHashRate": "Taxa actual (hash)", 38 | "lastShare": "Última acció enviada", 39 | "totalHashes": "Total d'accions enviades", 40 | "top10miners": "Top 10 Miners", 41 | 42 | "blocksTotal": "Blocs trobats", 43 | "blockSolvedTime": "Bloc trobat cada", 44 | "blocksMaturityCount": "Maduresa requerida", 45 | "efficiency": "Eficiència", 46 | "averageLuck": "Promitg de sort", 47 | "timeFound": "Data i hora", 48 | "reward": "Recompensa", 49 | "height": "Altura", 50 | "difficulty": "Dificultat", 51 | "blockHash": "Bloc Hash", 52 | "effort": "Esforç", 53 | "blocksFoundLast24": "Blocks found in the last 24 hours", 54 | "blocksFoundLastDays": "Blocks found in the last {DAYS} days", 55 | 56 | "payments": "Pagaments", 57 | "paymentsHistory": "Historial de pagaments", 58 | "paymentsTotal": "Total de pagaments", 59 | "paymentsMinimum": "Pagament mínim", 60 | "paymentsInterval": "Interval de pagaments", 61 | "paymentsDenomination": "Unitat de denominació", 62 | "timeSent": "Data", 63 | "transactionHash": "Hash transacció", 64 | "amount": "Import", 65 | "fee": "Tarifa", 66 | "mixin": "Mixin", 67 | "payees": "Beneficiàris", 68 | "pendingBalance": "Balanç pendent", 69 | "totalPaid": "Total pagat", 70 | "payoutEstimate": "Pagament estimat", 71 | "paymentSummarySingle": "El %DATE% has rebut %AMOUNT%", 72 | "paymentSummaryMulti": "El %DATE% has rebut %AMOUNT% en %COUNT% pagaments", 73 | 74 | "connectionDetails": "Detalls de connexió", 75 | "cnAlgorithm": "Algoritme", 76 | "miningPoolHost": "Adreça de la Pool", 77 | "username": "Usuari", 78 | "usernameDesc": "La teva adreça del wallet", 79 | "paymentId": "ID de pagament (Exchanges)", 80 | "fixedDiff": "Dificultat fixa", 81 | "address": "adreça", 82 | "addrPaymentId": "IDPagament", 83 | "addrDiff": "diff", 84 | "password": "Contrassenya", 85 | "passwordDesc": "Nom del seu treballador", 86 | "emailNotifications": "Notificacions per E-Mail", 87 | "miningPorts": "Ports de mineria", 88 | "port": "Port", 89 | "portDiff": "Dificultat inicial", 90 | "description": "Descripció", 91 | "miningApps": "Aplicacions de mineria", 92 | "configGeneratorDesc": "Genera la teva configuració personalitzada per minar a la nostra Pool", 93 | "addressField": "Adreça Wallet", 94 | "paymentIdField": "ID de Pagament per a Exchanges (opcional)", 95 | "fixedDiffField": "Dificultat fixa (opcional)", 96 | "workerNameField": "Nom_Treballador", 97 | "emailNotificationsField": "Notificacions per E-Mail (opcional))", 98 | "generateConfig": "Generar configuració", 99 | "appName": "Aplicació", 100 | "appArch": "Arquitectura", 101 | "appDesc": "Característiques", 102 | "download": "Descarregar", 103 | "showConfig": "Veure més", 104 | 105 | "market": "Mercat / Calculadora", 106 | "loadingMarket": "Carregant preus del mercat", 107 | "priceIn": "Preu en", 108 | "hashPer": "Hash/", 109 | "estimateProfit": "Beneficis estimats", 110 | "enterYourHashrate": "Entra la teva taxa (hash)", 111 | "perDay": "per dia", 112 | 113 | "verificationFields": "Camps de verificació", 114 | "minerVerification": "Per tenir una mica més de seguretat que l'adreça de la cartera és vostra, us demanem que proporcioneu una de les adreces IP que utilitza el vostre miner.", 115 | "minerAddress": "Adreça del moneder", 116 | "minerIP": "Adreça IP del Miner", 117 | "setMinimumPayout": "Estableix el nivell mínim de pagament", 118 | "minerMinPayout": "Si preferiu un nivell de pagament més alt que el predeterminat del grup, aquí podeu canviar-lo per als vostres miners. L'import que indiqueu aquí es convertirà en l'import mínim dels pagaments de la vostra adreça.", 119 | "minimumPayout": "Pagament mínim", 120 | "enableEmailNotifications": "Activar notificacions per de correu electrònic", 121 | "minerEmailNotify": "Aquesta Pool enviarà una notificació per correu electrònic quan es trobi un bloc i quan es produeixi un pagament.", 122 | "emailAddress": "Adreça de correu electrònic", 123 | "noMinerAddress": "No s'ha especificat cap adreça del moneder", 124 | "noMinerIP": "No s'especificat cap adreça IP", 125 | "noPayoutLevel": "No s'ha especificat cap nivell de pagament", 126 | "noEmail": "No s'ha especificat cap adreça de correu electrònic", 127 | "invalidEmail": "S'ha especificat una adreça de correu electrònic no vàlida", 128 | "minerPayoutSet": "Fet! S'ha establert el nivell mínim de pagament", 129 | "notificationEnabled": "Fet! S'han activat les notificacions per correu electrònic", 130 | "notificationDisabled": "Fet! S'han desactivat les notificacions per correu electrònic", 131 | 132 | "enterYourAddress": "Introduïu la vostra adreça", 133 | "enterYourMinerIP": "Una adreça IP que utilitzin els miners (qualsevol)", 134 | "enterYourEmail": "Introduïu la vostra adreça de correu electrònic (opcional)", 135 | "lookup": "Cercar", 136 | "searching": "Cercant...", 137 | "loadMore": "Carregar més", 138 | "set": "Establir", 139 | "enable": "Activar", 140 | "disable": "Desactivar", 141 | "status": "Estat", 142 | "updated": "Actualitzat:", 143 | "source": "Origen:", 144 | "error": "Error:", 145 | 146 | "na": "N/A", 147 | "estimated": "estimat", 148 | "never": "Mai", 149 | "second": "segon", 150 | "seconds": "segons", 151 | "minute": "minut", 152 | "minutes": "minuts", 153 | "hour": "hora", 154 | "hours": "hores", 155 | "day": "dia", 156 | "days": "dies", 157 | "week": "setmana", 158 | "weeks": "setmanes", 159 | "month": "mes", 160 | "months": "mesos", 161 | "year": "any", 162 | "years": "anys", 163 | 164 | "poweredBy": "Powered by", 165 | "openSource": "open sourced under the" 166 | 167 | } 168 | -------------------------------------------------------------------------------- /lang/en.json: -------------------------------------------------------------------------------- 1 | { 2 | "miningPool": "Mining Pool", 3 | "dashboard": "Dashboard", 4 | "gettingStarted": "Getting Started", 5 | "yourStats": "Worker Stats", 6 | "poolBlocks": "Pool Blocks", 7 | "resources": "Resources", 8 | "settings": "Settings", 9 | "faq": "FAQ", 10 | "telegram": "Telegram group", 11 | "discord": "Discord", 12 | "contactUs": "Contact Us", 13 | 14 | "network": "Network", 15 | "pool": "Pool", 16 | "you": "You", 17 | "statsUpdated": "Stats Updated", 18 | 19 | "poolHashrate": "Pool Hash Rate", 20 | "currentEffort": "Current Effort", 21 | "networkHashrate": "Network Hash Rate", 22 | "networkDifficulty": "Difficulty", 23 | "blockchainHeight": "Blockchain Height", 24 | "networkLastReward": "Last Reward", 25 | "poolMiners": "Connected Miners", 26 | "poolFee": "Pool Fee", 27 | 28 | "minerStats": "Your Stats & Payment History", 29 | "workerStats": "Workers Statistics", 30 | "miner": "Miner", 31 | "miners": "Miners", 32 | "minersCount": "miners", 33 | "workers": "Workers", 34 | "workersCount": "workers", 35 | "workerName": "Worker Name", 36 | "lastHash": "Last Hash", 37 | "hashRate": "Hash Rate", 38 | "currentHashRate": "Current Hash Rate", 39 | "lastShare": "Last Share Submitted", 40 | "totalHashes": "Total Hashes Submitted", 41 | "top10miners": "Top 10", 42 | 43 | "blocksTotal": "Blocks Found", 44 | "blockSolvedTime": "Blocks Found Every", 45 | "blocksMaturityCount": "Maturity Requirement", 46 | "efficiency": "Efficiency", 47 | "averageLuck": "Average Luck", 48 | "timeFound": "Time Found", 49 | "reward": "Reward", 50 | "height": "Height", 51 | "difficulty": "Difficulty", 52 | "blockHash": "Block Hash", 53 | "effort": "Effort", 54 | "blocksFoundLast24": "Blocks found in the last 24 hours", 55 | "blocksFoundLastDays": "Blocks found in the last {DAYS} days", 56 | 57 | "payments": "Payments", 58 | "paymentsHistory": "Payments History", 59 | "paymentsTotal": "Total Payments", 60 | "paymentsMinimum": "Minimum Payout", 61 | "paymentsInterval": "Payment Interval", 62 | "paymentsDenomination": "Denomination Unit", 63 | "timeSent": "Time Sent", 64 | "transactionHash": "Transaction Hash", 65 | "amount": "Amount", 66 | "fee": "Fee", 67 | "mixin": "Mixin", 68 | "payees": "Payees", 69 | "pendingBalance": "Pending Balance", 70 | "totalPaid": "Total Paid", 71 | "payoutEstimate": "Current Payout Estimate", 72 | "paymentSummarySingle": "On %DATE% you have received %AMOUNT%", 73 | "paymentSummaryMulti": "On %DATE% you have received %AMOUNT% in %COUNT% payments", 74 | 75 | "connectionDetails": "Connection Details", 76 | "miningPoolHost": "Mining Pool Address", 77 | "cnAlgorithm": "Algorithm", 78 | "username": "Username", 79 | "usernameDesc": "This is your wallet address", 80 | "paymentId": "Exchange Payment ID", 81 | "fixedDiff": "Difficulty locking", 82 | "address": "address", 83 | "addrPaymentId": "paymentID", 84 | "addrDiff": "diff", 85 | "password": "Password", 86 | "passwordDesc": "This is your worker name", 87 | "emailNotifications": "Email Notifications", 88 | "miningPorts": "Mining Ports", 89 | "port": "Port", 90 | "portDiff": "Starting Difficulty", 91 | "description": "Description", 92 | "miningApps": "Mining Applications", 93 | "configGeneratorDesc": "Generate your custom configuration to mine on our pool", 94 | "addressField": "Wallet Address", 95 | "paymentIdField": "Payment ID for exchanges (optional)", 96 | "fixedDiffField": "Fixed difficulty (optional)", 97 | "workerNameField": "Worker_Name", 98 | "emailNotificationsField": "Email Notifications (optional)", 99 | "generateConfig": "Generate configuration", 100 | "appName": "App Name", 101 | "appArch": "Architecture", 102 | "appDesc": "Features", 103 | "download": "Download", 104 | "showConfig": "See more", 105 | 106 | "market": "Market / Calculator", 107 | "loadingMarket": "Loading market prices", 108 | "priceIn": "Price in", 109 | "hashPer": "Hash/", 110 | "estimateProfit": "Estimate Mining Profits", 111 | "enterYourHashrate": "Enter Your Hash Rate", 112 | "perDay": "per day", 113 | 114 | "verificationFields": "Verification fields", 115 | "minerVerification": "In order to get a little more confidence that the wallet address is yours we ask you to give one of the IP addresses that is used by your miner.", 116 | "minerAddress": "Miner Address", 117 | "minerIP": "Miner IP address", 118 | "setMinimumPayout": "Set your minimal payout level", 119 | "minerMinPayout": "If you prefer a higher payout level than the pool's default then this is where you can change it for your miners. The amount you indicate here will become the minimum amount for pool payments to your address.", 120 | "minimumPayout": "Minimum payout", 121 | "enableEmailNotifications": "Enable email notifications", 122 | "minerEmailNotify": "This pool will send out email notification when a block is found and whenever a payout happens.", 123 | "emailAddress": "Email address", 124 | "noMinerAddress": "No miner address specified", 125 | "noMinerIP": "No miner IP address specified", 126 | "noPayoutLevel": "No payout level specified", 127 | "noEmail": "No email address specified", 128 | "invalidEmail": "Invalid email address specified", 129 | "minerPayoutSet": "Done! Your minimum payout level was set", 130 | "notificationEnabled": "Done! Email notifications have been enabled", 131 | "notificationDisabled": "Done! Email notifications have been disabled", 132 | 133 | "enterYourAddress": "Enter Your Address", 134 | "enterYourMinerIP": "An IP address your miners use (any)", 135 | "enterYourEmail": "Enter Your E-Mail Address (optional)", 136 | 137 | "lookup": "Lookup", 138 | "searching": "Searching...", 139 | "loadMore": "Load more", 140 | "set": "Set", 141 | "enable": "Enable", 142 | "disable": "Disable", 143 | 144 | "status": "Status", 145 | "updated": "Updated:", 146 | "source": "Source:", 147 | "error": "Error:", 148 | 149 | "na": "N/A", 150 | "estimated": "estimated", 151 | "never": "Never", 152 | "second": "second", 153 | "seconds": "seconds", 154 | "minute": "minute", 155 | "minutes": "minutes", 156 | "hour": "hour", 157 | "hours": "hours", 158 | "day": "day", 159 | "days": "days", 160 | "week": "week", 161 | "weeks": "weeks", 162 | "month": "month", 163 | "months": "months", 164 | "year": "year", 165 | "years": "years", 166 | 167 | "poweredBy": "Powered by", 168 | "openSource": "open sourced under the" 169 | } 170 | -------------------------------------------------------------------------------- /lang/es.json: -------------------------------------------------------------------------------- 1 | { 2 | "miningPool": "Mining Pool", 3 | "dashboard": "Panel", 4 | "gettingStarted": "Empezar", 5 | "yourStats": "Estadísticas personales", 6 | "poolBlocks": "Bloques de la Pool", 7 | "resources": "Resources", 8 | "settings": "Ajustes", 9 | "faq": "FAQ", 10 | "telegram": "Grupo de Telegram", 11 | "discord": "Discord", 12 | "contactUs": "Contacto", 13 | 14 | "network": "Red", 15 | "pool": "Pool", 16 | "you": "Tú Tasa", 17 | "statsUpdated": "Estadísticas actualizadas", 18 | 19 | "poolHashrate": "Tasa Pool (hash)", 20 | "currentEffort": "Ronda actual", 21 | "networkHashrate": "Tasa Red (hash)", 22 | "networkDifficulty": "Dificultad", 23 | "blockchainHeight": "Altura", 24 | "networkLastReward": "Última recompensa", 25 | "poolMiners": "Mineros conectados", 26 | "poolFee": "Tarifa Pool", 27 | 28 | "minerStats": "Tus estadísticas e historial de pagos", 29 | "workerStats": "Estadísticas personales", 30 | "miner": "Minero", 31 | "miners": "Mineros", 32 | "minersCount": "mineros", 33 | "workers": "Trabajadores", 34 | "workersCount": "trabajadores", 35 | "workerName": "Nombre Trabajador", 36 | "lastHash": "Último hash", 37 | "hashRate": "Tasa (hash)", 38 | "currentHashRate": "Tasa actual (hash)", 39 | "lastShare": "Última acción enviada", 40 | "totalHashes": "Total de acciones enviadas", 41 | "top10miners": "Top 10 Mineros", 42 | 43 | "blocksTotal": "Bloques encontrados", 44 | "blockSolvedTime": "Bloque encontrado cada", 45 | "blocksMaturityCount": "Madurez requerida", 46 | "efficiency": "Eficiencia", 47 | "averageLuck": "Promedio de suerte", 48 | "timeFound": "Fecha y hora", 49 | "reward": "Recompensa", 50 | "height": "Altura", 51 | "difficulty": "Dificultad", 52 | "blockHash": "Bloque Hash", 53 | "effort": "Esfuerzo", 54 | "blocksFoundLast24": "Bloques encontrados en las últimas 24 horas", 55 | "blocksFoundLastDays": "Bloques encontrados en los últimos {DAYS} días", 56 | 57 | "payments": "Pagos", 58 | "paymentsHistory": "Historial de pagos", 59 | "paymentsTotal": "Total de pagos", 60 | "paymentsMinimum": "Pago mínimo", 61 | "paymentsInterval": "Intervalo de pagos", 62 | "paymentsDenomination": "Unidad de denominación", 63 | "timeSent": "Fecha y hora", 64 | "transactionHash": "Hash transacción", 65 | "amount": "Importe", 66 | "fee": "Tarifa", 67 | "mixin": "Mixin", 68 | "payees": "Beneficiarios", 69 | "pendingBalance": "Balance pendiente", 70 | "totalPaid": "Total pagado", 71 | "payoutEstimate": "Pago estimado", 72 | "paymentSummarySingle": "El %DATE% has recibido %AMOUNT%", 73 | "paymentSummaryMulti": "El %DATE% has recibido %AMOUNT% en %COUNT% pagos", 74 | 75 | "connectionDetails": "Detalles de conexión", 76 | "miningPoolHost": "Dirección de la Pool", 77 | "cnAlgorithm": "Algoritmo", 78 | "username": "Usuario", 79 | "usernameDesc": "Tu dirección del wallet", 80 | "paymentId": "ID de pago (Exchanges)", 81 | "fixedDiff": "Dificultad fija", 82 | "address": "dirección", 83 | "addrPaymentId": "IDPago", 84 | "addrDiff": "diff", 85 | "password": "Contraseña", 86 | "passwordDesc": "Nombre de su trabajador", 87 | "emailNotifications": "Notificaciones por E-Mail", 88 | "miningPorts": "Puertos de minería", 89 | "port": "Puerto", 90 | "portDiff": "Dificultad inicial", 91 | "description": "Descripción", 92 | "miningApps": "Aplicaciones de minería", 93 | "configGeneratorDesc": "Genera tu configuración personalizada para minar a nuestra Pool", 94 | "addressField": "Dirección Wallet", 95 | "paymentIdField": "ID de Pago para Exchanges (opcional)", 96 | "fixedDiffField": "Dificultad fija (opcional)", 97 | "workerNameField": "Nombre_Trabajador", 98 | "emailNotificationsField": "Notificaciones por E-Mail (opcional)", 99 | "generateConfig": "Generar configuración", 100 | "appName": "Aplicación", 101 | "appArch": "Arquitectura", 102 | "appDesc": "Características", 103 | "download": "Descargar", 104 | "showConfig": "Ver más", 105 | 106 | "market": "Mercado / Calculadora", 107 | "loadingMarket": "Cargando precios del mercado", 108 | "priceIn": "Precio en", 109 | "hashPer": "Hash/", 110 | "estimateProfit": "Beneficios estimados", 111 | "enterYourHashrate": "Entra tu tasa (hash)", 112 | "perDay": "por día", 113 | 114 | "verificationFields": "Campos de verificación", 115 | "minerVerification": "Para tener un poco más de seguridad que la dirección de la cartera es vuestra, le pedimos que proporcione una de las direcciones IP que utiliza su minero.", 116 | "minerAddress": "Dirección del monedero", 117 | "minerIP": "Dirección IP del Minero", 118 | "setMinimumPayout": "Establece el nivel mínimo de pago", 119 | "minerMinPayout": "Si prefiere un nivel de pago más alto que el predeterminado del grupo, aquí puede cambiarlo para sus mineros. El importe que indique aquí se convertirá en el importe mínimo de los pagos de su dirección.", 120 | "minimumPayout": "Pago mínimo", 121 | "enableEmailNotifications": "Activar notificaciones por correo electrónico", 122 | "minerEmailNotify": "Esta Pool enviará una notificación por correo electrónico cuando se encuentre un bloque y cuando se produzca un pago.", 123 | "emailAddress": "Dirección de correo electrónico", 124 | "noMinerAddress": "No se ha especificado ninguna dirección del monedero", 125 | "noMinerIP": "No se especificado ninguna dirección IP", 126 | "noPayoutLevel": "No se ha especificado ningún nivel de pago", 127 | "noEmail": "No se ha especificado ninguna dirección de correo electrónico", 128 | "invalidEmail": "Se ha especificado una dirección de correo electrónico no válida", 129 | "minerPayoutSet": "Hecho! Se ha establecido el nivel mínimo de pago", 130 | "notificationEnabled": "Hecho! Se han activado las notificaciones por correo electrónico", 131 | "notificationDisabled": "Hecho! Se han desactivado las notificaciones por correo electrónico", 132 | 133 | "enterYourAddress": "Introduzca su dirección", 134 | "enterYourMinerIP": "Una dirección IP que utilicen los mineros (cualquiera)", 135 | "enterYourEmail": "Introduzca su dirección de correo electrónico (opcional)", 136 | 137 | "lookup": "Buscar", 138 | "searching": "Buscando...", 139 | "loadMore": "Cargar más", 140 | "set": "Establecer", 141 | "enable": "Activar", 142 | "disable": "Desactivar", 143 | 144 | "status": "Estado", 145 | "updated": "Actualizado:", 146 | "source": "Origen:", 147 | "error": "Error:", 148 | 149 | "na": "N/A", 150 | "estimated": "estimado", 151 | "never": "Nunca", 152 | "second": "segundo", 153 | "seconds": "segundos", 154 | "minute": "minuto", 155 | "minutes": "minutos", 156 | "hour": "hora", 157 | "hours": "horas", 158 | "day": "día", 159 | "days": "dias", 160 | "week": "semana", 161 | "weeks": "semanas", 162 | "month": "mes", 163 | "months": "meses", 164 | "year": "año", 165 | "years": "años", 166 | 167 | "poweredBy": "Powered by", 168 | "openSource": "open sourced bajo " 169 | } 170 | -------------------------------------------------------------------------------- /lang/fr.json: -------------------------------------------------------------------------------- 1 | { 2 | "miningPool": "Mining Pool", 3 | "dashboard": "Tableau de bord", 4 | "gettingStarted": "Comment démarrer", 5 | "yourStats": "Vos statistiques", 6 | "poolBlocks": "Blocs trouvés", 7 | "resources": "Resources", 8 | "settings": "Paramètres", 9 | "faq": "FAQ", 10 | "telegram": "Telegram", 11 | "discord": "Discord", 12 | "contactUs": "Nous contacter", 13 | 14 | "network": "Réseau", 15 | "pool": "Pool", 16 | "you": "Vous", 17 | "statsUpdated": "Statistiques mises à jour", 18 | 19 | "poolHashrate": "Taux de Hash du Pool", 20 | "currentEffort": "Effort actuel", 21 | "networkHashrate": "Taux de Hash du réseau", 22 | "networkDifficulty": "Difficulté", 23 | "blockchainHeight": "Hauteur de la BlockChain", 24 | "networkLastReward": "Dernière récompense", 25 | "poolMiners": "Mineurs connectés", 26 | "poolFee": "Frais du pool", 27 | 28 | "minerStats": "Vos statistiques et Historique des paiements", 29 | "workerStats": "Statistiques des travailleurs", 30 | "miner": "Mineur", 31 | "miners": "Mineurs", 32 | "minersCount": "mineurs", 33 | "workers": "Travailleurs", 34 | "workersCount": "travailleurs", 35 | "workerName": "Nom du travailleur", 36 | "lastHash": "Dernier Hash", 37 | "hashRate": "Taux de Hash", 38 | "currentHashRate": "Taux de Hash actuel", 39 | "lastShare": "Dernière transmission", 40 | "totalHashes": "Hashes transmis", 41 | "top10miners": "Top 10 mineurs", 42 | 43 | "blocksTotal": "Blocs trouvés", 44 | "blockSolvedTime": "Bloc trouvé chaque", 45 | "blocksMaturityCount": "Maturité requise", 46 | "efficiency": "Efficacité", 47 | "averageLuck": "Chance moyenne", 48 | "timeFound": "Trouvé le", 49 | "reward": "Récompense", 50 | "height": "Hauteur", 51 | "difficulty": "Difficulté", 52 | "blockHash": "Hash du bloc", 53 | "effort": "Effort", 54 | "blocksFoundLast24": "Blocs trouvés dans les 24 dernières heures", 55 | "blocksFoundLastDays": "Blocs trouvés dans les derniers {DAYS} jours", 56 | 57 | "payments": "Paiements", 58 | "paymentsHistory": "Historique des paiements", 59 | "paymentsTotal": "Nombre de paiements", 60 | "paymentsMinimum": "Minimum avant paiement", 61 | "paymentsInterval": "Intervale de paiement", 62 | "paymentsDenomination": "Unité de dénomination", 63 | "timeSent": "Envoyé le", 64 | "transactionHash": "Hash de transaction", 65 | "amount": "Montant", 66 | "fee": "Frais", 67 | "mixin": "Mixin", 68 | "payees": "Payés", 69 | "pendingBalance": "Balance en attente", 70 | "totalPaid": "Total payé", 71 | "payoutEstimate": "Estimation de paiement", 72 | "paymentSummarySingle": "Le %DATE% vous avez reçu %AMOUNT%", 73 | "paymentSummaryMulti": "Le %DATE% vous avez reçu %AMOUNT% en %COUNT% paiements", 74 | 75 | "connectionDetails": "Détails de connexion", 76 | "miningPoolHost": "Adresse du pool", 77 | "cnAlgorithm": "Algorithme", 78 | "username": "Nom d'utilisateur", 79 | "usernameDesc": "C'est l'adresse de votre wallet", 80 | "paymentId": "ID de paiement de l'exchange", 81 | "fixedDiff": "Difficulté fixe", 82 | "address": "adresse", 83 | "addrPaymentId": "idPaiement", 84 | "addrDiff": "diff", 85 | "password": "Mot de passe", 86 | "passwordDesc": "C'est l'identifiant de votre travailleur", 87 | "emailNotifications": "Notifications par email", 88 | "miningPorts": "Ports de minage", 89 | "port": "Port", 90 | "portDiff": "Difficulté de départ", 91 | "description": "Description", 92 | "miningApps": "Applications de minage", 93 | "configGeneratorDesc": "Générer votre configuration personalisée pour miner sur notre pool", 94 | "addressField": "Adresse de votre wallet", 95 | "paymentIdField": "ID de paiement pour l'exchange (optionnel)", 96 | "fixedDiffField": "Difficulté fixe (optionnel)", 97 | "workerNameField": "Nom_du_Travailleur", 98 | "emailNotificationsField": "Notifications par Email (optionnel)", 99 | "generateConfig": "Générer la configuration", 100 | "appName": "Nom de l'App", 101 | "appArch": "Architecture", 102 | "appDesc": "Fonctionalités", 103 | "download": "Télécharger", 104 | "showConfig": "Afficher", 105 | 106 | "market": "Marché et calculateur", 107 | "loadingMarket": "Chargement des prix du marché", 108 | "priceIn": "Prix en", 109 | "hashPer": "Hash/", 110 | "estimateProfit": "Estimation des profits de minage", 111 | "enterYourHashrate": "Entrez votre taux de Hash", 112 | "perDay": "par jour", 113 | 114 | "verificationFields": "Champs de vérification", 115 | "minerVerification": "Afin de nous assurer que l'adresse du mineur est bien la vôtre, nous vous demandons d'entrer une adresse IP utilisée par votre mineur.", 116 | "minerAddress": "Adresse du mineur", 117 | "minerIP": "Adresse IP du mineur", 118 | "setMinimumPayout": "Configurer votre niveau de paiement minimum", 119 | "minerMinPayout": "Si vous préférez un montant de paiement minimum plus élevé que celui du pool c'est ici que vous pouvez le changer pour vos mineurs. Le montant que vous indiquerez ici deviendra le montant minimum pour les paiements à votre adresse.", 120 | "minimumPayout": "Paiement minimum", 121 | "enableEmailNotifications": "Activer les notifications par email", 122 | "minerEmailNotify": "Ce pool peut vous envoyer une notification par email lorsqu'un bloc est trouvé ou bien lorsqu'un paiement vous est transmis.", 123 | "emailAddress": "Adresse email", 124 | "noMinerAddress": "Aucune adresse de mineur spécifiée", 125 | "noMinerIP": "Aucune adresse IP pour votre mineur spécifiée", 126 | "noPayoutLevel": "Aucun niveau de paiement spécifié", 127 | "noEmail": "Aucune adresse email spécifiée", 128 | "invalidEmail": "L'adresse email spécifiée est invalide", 129 | "minerPayoutSet": "Fait! Votre niveau de paiement minimum a été configuré", 130 | "notificationEnabled": "Fait! Les notifications par email ont été activées", 131 | "notificationDisabled": "Fait! Les notifications par email ont été désactivées", 132 | 133 | "enterYourAddress": "Entrez votre adresse", 134 | "enterYourMinerIP": "Une adresse IP utilisée par votre mineur (peu importe)", 135 | "enterYourEmail": "Votre adresse email", 136 | 137 | "lookup": "Chercher", 138 | "searching": "Recherche...", 139 | "loadMore": "Charger plus", 140 | "set": "Configurer", 141 | "enable": "Activer", 142 | "disable": "Désactiver", 143 | 144 | "status": "Statut", 145 | "updated": "Mis à jour:", 146 | "source": "Source:", 147 | "error": "Erreur:", 148 | 149 | "na": "N/D", 150 | "estimated": "estimé", 151 | "never": "Jamais", 152 | "second": "seconde", 153 | "seconds": "secondes", 154 | "minute": "minute", 155 | "minutes": "minutes", 156 | "hour": "heure", 157 | "hours": "heures", 158 | "day": "jour", 159 | "days": "jours", 160 | "week": "semaine", 161 | "weeks": "weeks", 162 | "month": "mois", 163 | "months": "mois", 164 | "year": "année", 165 | "years": "années", 166 | 167 | "poweredBy": "Propulsé par", 168 | "openSource": "et libre de droits sous licence" 169 | } -------------------------------------------------------------------------------- /lang/it.json: -------------------------------------------------------------------------------- 1 | { 2 | "miningPool": "Mining Pool", 3 | "dashboard": "Dashboard", 4 | "gettingStarted": "Come Iniziare", 5 | "yourStats": "Statistiche del Worker", 6 | "poolBlocks": "Pool Blocks", 7 | "resources": "Resources", 8 | "settings": "Impostazioni", 9 | "faq": "FAQ", 10 | "telegram": "Gruppo Telegram", 11 | "discord": "Discord", 12 | "contactUs": "Contattaci", 13 | 14 | "network": "Rete", 15 | "pool": "Pool", 16 | "you": "Tu", 17 | "statsUpdated": "Stats Aggiornati", 18 | 19 | "poolHashrate": "Pool Hash Rate", 20 | "currentEffort": "Current Effort", 21 | "networkHashrate": "Network Hash Rate", 22 | "networkDifficulty": "Difficoltà", 23 | "blockchainHeight": "Blockchain Height", 24 | "networkLastReward": "Ultimo Reward", 25 | "poolMiners": "Miners Connessi", 26 | "poolFee": "Pool Fee", 27 | 28 | "minerStats": "Stats Personali & Storia dei tuoi pagamenti", 29 | "workerStats": "Statistiche del Worker", 30 | "miner": "Miner", 31 | "miners": "Miners", 32 | "minersCount": "miners", 33 | "workers": "Workers", 34 | "workersCount": "workers", 35 | "workerName": "Worker Name", 36 | "lastHash": "Ultimo Hash", 37 | "hashRate": "Hash Rate", 38 | "currentHashRate": "Attuale Hash Rate", 39 | "lastShare": "Ultimo Share Trasmesso", 40 | "totalHashes": "Totale Hashes Trasmessi", 41 | "top10miners": "Top 10 miners", 42 | 43 | "blocksTotal": "Blocchi trovati", 44 | "blockSolvedTime": "Blocco trovato ogni", 45 | "blocksMaturityCount": "Maturità richiesta", 46 | "efficiency": "Efficenza", 47 | "averageLuck": "Fortuna", 48 | "timeFound": "Orario trovato", 49 | "reward": "Ricompensa", 50 | "height": "Height", 51 | "difficulty": "Difficoltà", 52 | "blockHash": "Block Hash", 53 | "effort": "Effort", 54 | "blocksFoundLast24": "Blocks found in the last 24 hours", 55 | "blocksFoundLastDays": "Blocks found in the last {DAYS} days", 56 | 57 | "payments": "Pagamenti", 58 | "paymentsHistory": "Storia Pagamenti", 59 | "paymentsTotal": "Pagamenti totali", 60 | "paymentsMinimum": "Minimo pagamento", 61 | "paymentsInterval": "intervallo pagamento", 62 | "paymentsDenomination": "Unità di denominazione", 63 | "timeSent": "Orario Inviato", 64 | "transactionHash": "Transazione Hash", 65 | "amount": "Quantità", 66 | "fee": "Fee", 67 | "mixin": "Mixin", 68 | "payees": "Pagati", 69 | "pendingBalance": "In sospeso", 70 | "totalPaid": "Totale pagato", 71 | "payoutEstimate": "Stima del pagamento corrente", 72 | "paymentSummarySingle": "In %DATE% hai ricevuto %AMOUNT%", 73 | "paymentSummaryMulti": "In %DATE% hai ricevuto %AMOUNT% in %COUNT% pagamenti", 74 | 75 | "connectionDetails": "Detagli Connessione", 76 | "miningPoolHost": "Mining Pool Address", 77 | "cnAlgorithm": "Algorithmo", 78 | "username": "Username", 79 | "usernameDesc": "questo è L'indrizzo del wallet", 80 | "paymentId": "Exchange Payment ID", 81 | "fixedDiff": "Difficoltà di blocco", 82 | "address": "indrizzo", 83 | "addrPaymentId": "paymentID", 84 | "addrDiff": "diff", 85 | "password": "Password", 86 | "passwordDesc": "Questo è il nome del Worker", 87 | "emailNotifications": "Notifiche Email", 88 | "miningPorts": "Mining Ports", 89 | "port": "Port", 90 | "portDiff": "Difficoltà avvio", 91 | "description": "Descrizione", 92 | "miningApps": "Applicazioni Mining", 93 | "configGeneratorDesc": "Genera La tua configurazione per minare sulla nostra pool", 94 | "addressField": "Indrizzo wallet", 95 | "paymentIdField": "Pagamento ID per exchanges (optionale)", 96 | "fixedDiffField": "Fixed difficulty (optionale)", 97 | "workerNameField": "Worker_Name", 98 | "emailNotificationsField": "Notifiche email (optionale)", 99 | "generateConfig": "Genera configuratione", 100 | "appName": "App Name", 101 | "appArch": "Architettura", 102 | "appDesc": "Features", 103 | "download": "Download", 104 | "showConfig": "Vedi", 105 | 106 | "market": "Market / Calculatoe", 107 | "loadingMarket": "Loading market prices", 108 | "priceIn": "Price in", 109 | "hashPer": "Hash/", 110 | "estimateProfit": "Stima dei profitti", 111 | "enterYourHashrate": "Inserisci il tuo Hashrate", 112 | "perDay": "al giorno", 113 | 114 | "verificationFields": "Campi di verifica", 115 | "minerVerification": "Per avere un po 'più di fiducia che l'indirizzo del tuo wallet è tuo ti chiediamo di dare uno degli indirizzi IP che viene utilizzato dal tuo miners.", 116 | "minerAddress": "Miner Address", 117 | "minerIP": "Miner IP address", 118 | "setMinimumPayout": "Inserisci il pagamento minimo ", 119 | "minerMinPayout": "Se preferisci un livello di pagamento più alto rispetto al valore predefinito del pool, è qui che puoi cambiarlo per i tuoi miner. L'importo indicato qui diventerà l'importo minimo per i pagamenti del pool al tuo indirizzo.", 120 | "minimumPayout": "Payout Minimo", 121 | "enableEmailNotifications": "Abilitare notifiche email", 122 | "minerEmailNotify": "Questa pool invierà una notifica via email quando viene trovato un blocco e ogni volta che si verifica un pagamento.", 123 | "emailAddress": "Email address", 124 | "noMinerAddress": "Nessun indrizzo wallet indicato", 125 | "noMinerIP": "Nessun indrizzo ip indicato del miner", 126 | "noPayoutLevel": "Nessun livello specificato", 127 | "noEmail": "Nessun indirizzo email specificato", 128 | "invalidEmail": "Indrizzo email invalido", 129 | "minerPayoutSet": "Fatto! Il tuo livello di pagamento minimo è stato impostato", 130 | "notificationEnabled": "Fatto! Le notifiche email sono state abilitate", 131 | "notificationDisabled": "Fatto! Le notifiche email sono state disabilitate", 132 | 133 | "enterYourAddress": "Inserisci il tuo indrizzo", 134 | "enterYourMinerIP": "Un indrizzo ip di qualsiasi tuo miner", 135 | "enterYourEmail": "Inserisci il tuo indrizzo email (optionale)", 136 | 137 | "lookup": "Consulto..", 138 | "searching": "Cerco...", 139 | "loadMore": "Carica Di più", 140 | "set": "imposta", 141 | "enable": "abilita", 142 | "disable": "Disabilita", 143 | 144 | "status": "Stato", 145 | "updated": "Aggiornato:", 146 | "source": "Fonte:", 147 | "error": "Errore:", 148 | 149 | "na": "N/A", 150 | "estimated": "stimato", 151 | "never": "mai", 152 | "second": "secondo", 153 | "seconds": "secondi", 154 | "minute": "minuto", 155 | "minutes": "minuti", 156 | "hour": "ora", 157 | "hours": "ore", 158 | "day": "giorno", 159 | "days": "giorni", 160 | "week": "settimana", 161 | "weeks": "settimane", 162 | "month": "mese", 163 | "months": "mesi", 164 | "year": "anno", 165 | "years": "anni", 166 | 167 | "poweredBy": "Powered by", 168 | "openSource": "open sourced under the" 169 | } 170 | -------------------------------------------------------------------------------- /lang/ko.json: -------------------------------------------------------------------------------- 1 | { 2 | "miningPool": "Mining Pool", 3 | "dashboard": "풀상황", 4 | "gettingStarted": "도움말:시작", 5 | "yourStats": "마이너(워커) 상황", 6 | "poolBlocks": "풀블럭상태", 7 | "resources": "Resources", 8 | "settings": "설정", 9 | "telegram": "텔레그램연결", 10 | "discord": "Discord", 11 | "contactUs": "문의하기", 12 | 13 | "network": "네트워크", 14 | "pool": "풀", 15 | "you": "you", 16 | "statsUpdated": "업데이트", 17 | 18 | "poolHashrate": "풀의 해시레이트", 19 | "currentEffort": "Current Effort", 20 | "networkHashrate": "네크워크 해시레이트", 21 | "networkDifficulty": "난이도", 22 | "blockchainHeight": "블록체인 높이", 23 | "networkLastReward": "최근 보상량", 24 | "poolMiners": "연결된 마이너수", 25 | "poolFee": "풀 수수료", 26 | 27 | "minerStats": "마이너 상태와 지급상황", 28 | "workerStats": "워커 상태", 29 | "miner": "Miner", 30 | "miners": "Miners", 31 | "minersCount": "miners", 32 | "workers": "Workers", 33 | "workersCount": "workers", 34 | "workerName": "Worker Name", 35 | "lastHash": "Last Hash", 36 | "hashRate": "Hash Rate", 37 | "currentHashRate": "Current Hash Rate", 38 | "lastShare": "Last Share Submitted", 39 | "totalHashes": "Total Hashes Submitted", 40 | "top10miners": "상위 10 채굴자", 41 | 42 | "blocksTotal": "블록 발견", 43 | "blockSolvedTime": "Blocks Found Every", 44 | "blocksMaturityCount": "적립되기전 블럭수량", 45 | "efficiency": "Efficiency", 46 | "averageLuck": "Average Luck", 47 | "timeFound": "블럭 발견시작", 48 | "reward": "보상", 49 | "height": "블럭번호", 50 | "difficulty": "난이도", 51 | "blockHash": "블럭 해시", 52 | "effort": "풀의노력", 53 | "blocksFoundLast24": "Blocks found in the last 24 hours", 54 | "blocksFoundLastDays": "Blocks found in the last {DAYS} days", 55 | 56 | "payments": "출금상황", 57 | "paymentsHistory": "출금 내역", 58 | "paymentsTotal": "전체 출금 수", 59 | "paymentsMinimum": "최소 출금 수량", 60 | "paymentsInterval": "출금 주기", 61 | "paymentsDenomination": "최소 출금 단위", 62 | "timeSent": "출금 시작", 63 | "transactionHash": "트랜잭션 아이디", 64 | "amount": "수량", 65 | "fee": "수수료", 66 | "mixin": "Mixin", 67 | "payees": "출금대상수", 68 | "pendingBalance": "적립 대기", 69 | "totalPaid": "전체 출금", 70 | "payoutEstimate": "Current Payout Estimate", 71 | "paymentSummarySingle": "On %DATE% you have received %AMOUNT%", 72 | "paymentSummaryMulti": "On %DATE% you have received %AMOUNT% in %COUNT% payments", 73 | 74 | "connectionDetails": "연결정보", 75 | "miningPoolHost": "풀 접속주소", 76 | "cnAlgorithm": "채굴 알고리즘", 77 | "username": "Username", 78 | "usernameDesc": "This is your wallet address", 79 | "paymentId": "거래소 Payment ID", 80 | "fixedDiff": "고정 난이도 설정", 81 | "address": "지갑주소", 82 | "addrPaymentId": "paymentID", 83 | "addrDiff": "난이도", 84 | "password": "암호", 85 | "passwordDesc": "워커 이름 설정", 86 | "emailNotifications": "Email Notifications", 87 | "miningPorts": "채굴 포트", 88 | "port": "접속포트", 89 | "portDiff": "시작 난이도", 90 | "description": "설명", 91 | "miningApps": "마이닝 프로그램", 92 | "configGeneratorDesc": "Generate your custom configuration to mine on our pool", 93 | "addressField": "지갑 주소", 94 | "paymentIdField": "거래소용 Payment ID (optional)", 95 | "fixedDiffField": "고정난이도 (optional)", 96 | "workerNameField": "워커 이름", 97 | "emailNotificationsField": "Email Notifications (optional)", 98 | "generateConfig": "설정 예제 생성", 99 | "appName": "프로그램 이름", 100 | "appArch": "Architecture", 101 | "appDesc": "Features", 102 | "download": "Download", 103 | "showConfig": "See more", 104 | 105 | "market": "시장가격 / 채굴량계산기", 106 | "loadingMarket": "Loading market prices", 107 | "priceIn": "Price in", 108 | "hashPer": "Hash/", 109 | "estimateProfit": "Estimate Mining Profits", 110 | "enterYourHashrate": "Enter Your Hash Rate", 111 | "perDay": "per day", 112 | 113 | "verificationFields": "Verification fields", 114 | "minerVerification": "In order to get a little more confidence that the wallet address is yours we ask you to give one of the IP addresses that is used by your miner.", 115 | "minerAddress": "Miner Address", 116 | "minerIP": "Miner IP address", 117 | "setMinimumPayout": "Set your minimal payout level", 118 | "minerMinPayout": "If you prefer a higher payout level than the pool's default then this is where you can change it for your miners. The amount you indicate here will become the minimum amount for pool payments to your address.", 119 | "minimumPayout": "Minimum payout", 120 | "enableEmailNotifications": "Enable email notifications", 121 | "minerEmailNotify": "This pool will send out email notification when a block is found and whenever a payout happens.", 122 | "emailAddress": "Email address", 123 | "noMinerAddress": "No miner address specified", 124 | "noMinerIP": "No miner IP address specified", 125 | "noPayoutLevel": "No payout level specified", 126 | "noEmail": "No email address specified", 127 | "invalidEmail": "Invalid email address specified", 128 | "minerPayoutSet": "Done! Your minimum payout level was set", 129 | "notificationEnabled": "Done! Email notifications have been enabled", 130 | "notificationDisabled": "Done! Email notifications have been disabled", 131 | 132 | "enterYourAddress": "Enter Your Address", 133 | "enterYourMinerIP": "An IP address your miners use (any)", 134 | "enterYourEmail": "Enter Your E-Mail Address (optional)", 135 | 136 | "lookup": "Lookup", 137 | "searching": "Searching...", 138 | "loadMore": "Load more", 139 | "set": "Set", 140 | "enable": "Enable", 141 | "disable": "Disable", 142 | 143 | "status": "Status", 144 | "updated": "Updated:", 145 | "source": "Source:", 146 | "error": "Error:", 147 | 148 | "na": "N/A", 149 | "estimated": "estimated", 150 | "never": "Never", 151 | "second": "second", 152 | "seconds": "seconds", 153 | "minute": "minute", 154 | "minutes": "minutes", 155 | "hour": "hour", 156 | "hours": "hours", 157 | "day": "day", 158 | "days": "days", 159 | "week": "week", 160 | "weeks": "weeks", 161 | "month": "month", 162 | "months": "months", 163 | "year": "year", 164 | "years": "years", 165 | 166 | "poweredBy": "Powered by", 167 | "openSource": "open sourced under the" 168 | } 169 | -------------------------------------------------------------------------------- /lang/languages.js: -------------------------------------------------------------------------------- 1 | var langs = { 'en': 'English', 'es': 'Español', 'fr': 'Français', 'it': 'Italiano', 'ru': 'Русский', 'ca': 'Català', 'ko': '한국어', 'zh-CN': '简体中文' }; -------------------------------------------------------------------------------- /lang/ru.json: -------------------------------------------------------------------------------- 1 | { 2 | "miningPool": "Майнинг пул", 3 | "dashboard": "Главная", 4 | "gettingStarted": "Присоединиться", 5 | "yourStats": "Статистика", 6 | "poolBlocks": "Блоки пула", 7 | "resources": "Resources", 8 | "settings": "Настройки", 9 | "faq": "FAQ", 10 | "telegram": "Группа Telegram", 11 | "discord": "Discord", 12 | "contactUs": "Почта", 13 | 14 | "network": "Сеть", 15 | "pool": "Пул", 16 | "you": "Вы", 17 | "statsUpdated": "Статистика обновлена", 18 | 19 | "poolHashrate": "Скорость пула", 20 | "currentEffort": "Сложность раунда", 21 | "networkHashrate": "Скорость сети", 22 | "networkDifficulty": "Сложность", 23 | "blockchainHeight": "№ последнего блока", 24 | "networkLastReward": "Последнее вознаграждение", 25 | "poolMiners": "Пользователи пула", 26 | "poolFee": "Комиссия пула", 27 | 28 | "minerStats": "Ваша статистика и история платежей", 29 | "workerStats": "Статистика ферм", 30 | "miner": "Miner", 31 | "miners": "Пользователи", 32 | "minersCount": "miners", 33 | "workers": "Фермы", 34 | "workersCount": "фермы", 35 | "workerName": "Имя фермы", 36 | "lastHash": "Последний хеш", 37 | "hashRate": "Скорость", 38 | "currentHashRate": "Текущая скорость", 39 | "lastShare": "Последняя шара принята", 40 | "totalHashes": "Всего принято хешей", 41 | "top10miners": "Лучшие 10 майнеров", 42 | "blocksTotal": "Найдено блоков", 43 | "blockSolvedTime": "Время нахождения блока", 44 | "blocksMaturityCount": "Требование подтверждения", 45 | "efficiency": "Эффективность", 46 | "averageLuck": "Средняя удача", 47 | "timeFound": "Время нахождения", 48 | "reward": "Выплата", 49 | "height": "№ блока", 50 | "difficulty": "Сложность", 51 | "blockHash": "Хеш блока", 52 | "effort": "Усилие", 53 | "blocksFoundLast24": "Blocks found in the last 24 hours", 54 | "blocksFoundLastDays": "Blocks found in the last {DAYS} days", 55 | 56 | "payments": "Платежи", 57 | "paymentsHistory": "История платежей", 58 | "paymentsTotal": "Всего платежей", 59 | "paymentsMinimum": "Минимальный платёж", 60 | "paymentsInterval": "Интервал платежей", 61 | "paymentsDenomination": "Единица измерения", 62 | "timeSent": "Время отправления", 63 | "transactionHash": "Хеш транзакции", 64 | "amount": "Сумма", 65 | "fee": "Комиссия", 66 | "mixin": "Mixin", 67 | "payees": "Получателей", 68 | "pendingBalance": "Ожидающий баланс", 69 | "totalPaid": "Всего выплачено", 70 | "payoutEstimate": "Текущая оценка выплат", 71 | 72 | "connectionDetails": "Детали подключения", 73 | "miningPoolHost": "Адрес майнинг пула", 74 | "cnAlgorithm": "Алгоритм", 75 | "username": "Имя пользователя", 76 | "usernameDesc": "Это адрес вашего кошелька", 77 | "paymentId": "Биржевой Payment ID", 78 | "fixedDiff": "Фиксированная сложность", 79 | "address": "address", 80 | "addrPaymentId": "paymentID", 81 | "addrDiff": "diff", 82 | "password": "Пароль", 83 | "passwordDesc": "Это имя вашей фермы в статистике", 84 | "emailNotifications": "Уведомление по почте", 85 | "miningPorts": "Порты для майнинга", 86 | "port": "Порт", 87 | "portDiff": "Стартовая сложность", 88 | "description": "Описание", 89 | "miningApps": "Программы для майнинга", 90 | "configGeneratorDesc": "Создайте свою собственную конфигурацию для этого пула", 91 | "addressField": "Адрес вашего кошелька", 92 | "paymentIdField": "Payment ID для биржи (опция)", 93 | "fixedDiffField": "Фиксированная сложность (опция)", 94 | "workerNameField": "Имя_Фермы", 95 | "emailNotificationsField": "Уведомление по почте (опция)", 96 | "generateConfig": "Создать конфигурацию", 97 | "appName": "Программа", 98 | "appArch": "Архитектура", 99 | "appDesc": "Особенности", 100 | "download": "Скачать", 101 | "showConfig": "Посмотреть", 102 | 103 | "market": "Рынок / Калькулятор", 104 | "loadingMarket": "Загрузка стоимости", 105 | "priceIn": "Стоимость в", 106 | "hashPer": "Стоимость хеша/", 107 | "estimateProfit": "Рассчёт прибыли", 108 | "enterYourHashrate": "Введите вашу скорость", 109 | "perDay": "/в день", 110 | 111 | "verificationFields": "Проверочные данные", 112 | "minerVerification": "Чтобы быть уверенным в том, что адрес кошелька принадлежит вам, мы просим вас указать один из IP-адресов, который используется вашими фермами.", 113 | "minerAddress": "Ваш кошелёк", 114 | "minerIP": "IP адрес фермы", 115 | "setMinimumPayout": "Установите минимальный уровень выплат", 116 | "minerMinPayout": "Вы можете установить минимальный порог оплаты, если предпочитаете более высокий уровень выплат, чем значение по умолчанию. Сумма, которую вы здесь укажете, станет минимальной суммой для платежей пула на ваш адрес.", 117 | "minimumPayout": "Минимальная выплата", 118 | "enableEmailNotifications": "Включить уведомление по почте", 119 | "minerEmailNotify": "Пул отправит уведомление по электронной почте, когда будет найден блок или когда произведёт выплату.", 120 | "emailAddress": "E-mail адрес", 121 | "noMinerAddress": "Вы не ввели свой кошелёк", 122 | "noMinerIP": "Вы не ввели IP адрес фермы", 123 | "noPayoutLevel": "Вы не ввели уровень оплаты", 124 | "noEmail": "Вы не ввели e-mail адрес", 125 | "invalidEmail": "Не правильный e-mail адрес", 126 | "minerPayoutSet": "Минимальный уровень оплаты успешно установлен !", 127 | "notificationEnabled": "Уведомления по электронной почте успешно включены !", 128 | "notificationDisabled": "Уведомления по электронной почте успешно выключены !", 129 | 130 | "enterYourAddress": "Введите адрес своего кошелька", 131 | "enterYourMinerIP": "IP-адрес, который используют ваши фермы", 132 | "enterYourEmail": "Введите свой E-Mail адрес (опция)", 133 | 134 | "lookup": "Посмотреть", 135 | "searching": "Поиск ...", 136 | "loadMore": "Загрузить ещё", 137 | "set": "Установить", 138 | "enable": "Включить", 139 | "disable": "Выключить", 140 | 141 | "status": "Статус", 142 | "updated": "Обновлено:", 143 | "source": "Source:", 144 | "error": "Ошибка:", 145 | 146 | "na": "N/A", 147 | "estimated": "примерно", 148 | "never": "Не найден", 149 | "second": "секунда", 150 | "seconds": "секунд", 151 | "minute": "минута", 152 | "minutes": "минут", 153 | "hour": "час", 154 | "hours": "часов", 155 | "day": "день", 156 | "days": "дней", 157 | "week": "неделя", 158 | "weeks": "недель", 159 | "month": "месяц", 160 | "months": "месяцев", 161 | "year": "год", 162 | "years": "года", 163 | 164 | "timeagoPrefixAgo": null, 165 | "timeagoPrefixFromNow": null, 166 | "timeagoSuffixAgo": "назад", 167 | "timeagoSuffixFromNow": "from now", 168 | "timeagoSeconds": "меньше минуты", 169 | "timeagoMinute": "около минуты", 170 | "timeagoMinutes": "%d минут", 171 | "timeagoHour": "about an hour", 172 | "timeagoHours": "about %d hours", 173 | "timeagoDay": " день", 174 | "timeagoDays": "%d дней", 175 | "timeagoMonth": "about месяц", 176 | "timeagoMonths": "%d месяцев", 177 | "timeagoYear": "about год", 178 | "timeagoYears": "%d лет", 179 | 180 | "poweredBy": "Powered by", 181 | "openSource": "open sourced under the" 182 | } -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.af.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Afrikaans 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: null, 13 | prefixFromNow: null, 14 | suffixAgo: "gelede", 15 | suffixFromNow: "van nou af", 16 | seconds: "%d sekondes", 17 | minute: "1 minuut", 18 | minutes: "%d minute", 19 | hour: "1 uur", 20 | hours: "%d ure", 21 | day: "1 dag", 22 | days: "%d dae", 23 | month: "1 maand", 24 | months: "%d maande", 25 | year: "1 jaar", 26 | years: "%d jaar", 27 | wordSeparator: " ", 28 | numbers: [] 29 | }; 30 | })); 31 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.am.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Amharic 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: null, 13 | prefixFromNow: null, 14 | suffixAgo: "በፊት", 15 | suffixFromNow: "በኋላ", 16 | seconds: "ከአንድ ደቂቃ በታች", 17 | minute: "ከአንድ ደቂቃ ገደማ", 18 | minutes: "ከ%d ደቂቃ", 19 | hour: "ከአንድ ሰዓት ገደማ", 20 | hours: "ከ%d ሰዓት ገደማ", 21 | day: "ከአንድ ቀን", 22 | days: "ከ%d ቀን", 23 | month: "ከአንድ ወር ገደማ", 24 | months: "ከ%d ወር", 25 | year: "ከአንድ ዓመት ገደማ", 26 | years: "ከ%d ዓመት", 27 | wordSeparator: " ", 28 | numbers: [] 29 | }; 30 | })); 31 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.ar.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | function numpf(n, a) { 11 | return a[plural=n===0 ? 0 : n===1 ? 1 : n===2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 ? 4 : 5]; 12 | } 13 | 14 | jQuery.timeago.settings.strings = { 15 | prefixAgo: "منذ", 16 | prefixFromNow: "بعد", 17 | suffixAgo: null, 18 | suffixFromNow: null, // null OR "من الآن" 19 | second: function(value) { return numpf(value, [ 20 | 'أقل من ثانية', 21 | 'ثانية واحدة', 22 | 'ثانيتين', 23 | '%d ثوانٍ', 24 | '%d ثانية', 25 | '%d ثانية']); }, 26 | seconds: function(value) { return numpf(value, [ 27 | 'أقل من ثانية', 28 | 'ثانية واحدة', 29 | 'ثانيتين', 30 | '%d ثوانٍ', 31 | '%d ثانية', 32 | '%d ثانية']); }, 33 | minute: function(value) { return numpf(value, [ 34 | 'أقل من دقيقة', 35 | 'دقيقة واحدة', 36 | 'دقيقتين', 37 | '%d دقائق', 38 | '%d دقيقة', 39 | 'دقيقة']); }, 40 | minutes: function(value) { return numpf(value, [ 41 | 'أقل من دقيقة', 42 | 'دقيقة واحدة', 43 | 'دقيقتين', 44 | '%d دقائق', 45 | '%d دقيقة', 46 | 'دقيقة']); }, 47 | hour: function(value) { return numpf(value, [ 48 | 'أقل من ساعة', 49 | 'ساعة واحدة', 50 | 'ساعتين', 51 | '%d ساعات', 52 | '%d ساعة', 53 | '%d ساعة']); }, 54 | hours: function(value) { return numpf(value, [ 55 | 'أقل من ساعة', 56 | 'ساعة واحدة', 57 | 'ساعتين', 58 | '%d ساعات', 59 | '%d ساعة', 60 | '%d ساعة']); }, 61 | day: function(value) { return numpf(value, [ 62 | 'أقل من يوم', 63 | 'يوم واحد', 64 | 'يومين', 65 | '%d أيام', 66 | '%d يومًا', 67 | '%d يوم']); }, 68 | days: function(value) { return numpf(value, [ 69 | 'أقل من يوم', 70 | 'يوم واحد', 71 | 'يومين', 72 | '%d أيام', 73 | '%d يومًا', 74 | '%d يوم']); }, 75 | month: function(value) { return numpf(value, [ 76 | 'أقل من شهر', 77 | 'شهر واحد', 78 | 'شهرين', 79 | '%d أشهر', 80 | '%d شهرًا', 81 | '%d شهر']); }, 82 | months: function(value) { return numpf(value, [ 83 | 'أقل من شهر', 84 | 'شهر واحد', 85 | 'شهرين', 86 | '%d أشهر', 87 | '%d شهرًا', 88 | '%d شهر']); }, 89 | year: function(value) { return numpf(value, [ 90 | 'أقل من عام', 91 | 'عام واحد', 92 | '%d عامين', 93 | '%d أعوام', 94 | '%d عامًا']); 95 | }, 96 | years: function(value) { return numpf(value, [ 97 | 'أقل من عام', 98 | 'عام واحد', 99 | 'عامين', 100 | '%d أعوام', 101 | '%d عامًا', 102 | '%d عام']);} 103 | }; 104 | })); 105 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.az.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Azerbaijani 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: null, 13 | prefixFromNow: null, 14 | suffixAgo: 'əvvəl', 15 | suffixFromNow: 'sonra', 16 | seconds: 'saniyələr', 17 | minute: '1 dəqiqə', 18 | minutes: '%d dəqiqə', 19 | hour: '1 saat', 20 | hours: '%d saat', 21 | day: '1 gün', 22 | days: '%d gün', 23 | month: '1 ay', 24 | months: '%d ay', 25 | year: '1 il', 26 | years: '%d il', 27 | wordSeparator: '', 28 | numbers: [] 29 | }; 30 | })); 31 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.bg.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Bulgarian 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: "преди", 13 | prefixFromNow: "след", 14 | suffixAgo: null, 15 | suffixFromNow: null, 16 | seconds: "по-малко от минута", 17 | minute: "една минута", 18 | minutes: "%d минути", 19 | hour: "един час", 20 | hours: "%d часа", 21 | day: "един ден", 22 | days: "%d дни", 23 | month: "един месец", 24 | months: "%d месеца", 25 | year: "една година", 26 | years: "%d години" 27 | }; 28 | })); 29 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.bs.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Bosnian 11 | var numpf = function(n, f, s, t) { 12 | var n10; 13 | n10 = n % 10; 14 | if (n10 === 1 && (n === 1 || n > 20)) { 15 | return f; 16 | } else if (n10 > 1 && n10 < 5 && (n > 20 || n < 10)) { 17 | return s; 18 | } else { 19 | return t; 20 | } 21 | }; 22 | 23 | jQuery.timeago.settings.strings = { 24 | prefixAgo: "prije", 25 | prefixFromNow: "za", 26 | suffixAgo: null, 27 | suffixFromNow: null, 28 | second: "sekund", 29 | seconds: function(value) { 30 | return numpf(value, "%d sekund", "%d sekunde", "%d sekundi"); 31 | }, 32 | minute: "oko minut", 33 | minutes: function(value) { 34 | return numpf(value, "%d minut", "%d minute", "%d minuta"); 35 | }, 36 | hour: "oko sat", 37 | hours: function(value) { 38 | return numpf(value, "%d sat", "%d sata", "%d sati"); 39 | }, 40 | day: "oko jednog dana", 41 | days: function(value) { 42 | return numpf(value, "%d dan", "%d dana", "%d dana"); 43 | }, 44 | month: "mjesec dana", 45 | months: function(value) { 46 | return numpf(value, "%d mjesec", "%d mjeseca", "%d mjeseci"); 47 | }, 48 | year: "prije godinu dana ", 49 | years: function(value) { 50 | return numpf(value, "%d godinu", "%d godine", "%d godina"); 51 | }, 52 | wordSeparator: " " 53 | }; 54 | 55 | })); 56 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.ca.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Catalan 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: "fa", 13 | prefixFromNow: "d'aquí", 14 | suffixAgo: null, 15 | suffixFromNow: null, 16 | seconds: "menys d'un minut", 17 | minute: "un minut", 18 | minutes: "%d minuts", 19 | hour: "una hora", 20 | hours: "%d hores", 21 | day: "un dia", 22 | days: "%d dies", 23 | month: "un mes", 24 | months: "%d mesos", 25 | year: "un any", 26 | years: "%d anys", 27 | wordSeparator: " ", 28 | numbers: [] 29 | }; 30 | })); 31 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.cs.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Czech 11 | (function() { 12 | function f(n, d, a) { 13 | return a[d>=0 ? 0 : a.length===2 || n<5 ? 1 : 2]; 14 | } 15 | 16 | jQuery.timeago.settings.strings = { 17 | prefixAgo: 'před', 18 | prefixFromNow: 'za', 19 | suffixAgo: null, 20 | suffixFromNow: null, 21 | seconds: function(n, d) {return f(n, d, ['méně než minutou', 'méně než minutu']);}, 22 | minute: function(n, d) {return f(n, d, ['minutou', 'minutu']);}, 23 | minutes: function(n, d) {return f(n, d, ['%d minutami', '%d minuty', '%d minut']);}, 24 | hour: function(n, d) {return f(n, d, ['hodinou', 'hodinu']);}, 25 | hours: function(n, d) {return f(n, d, ['%d hodinami', '%d hodiny', '%d hodin']);}, 26 | day: function(n, d) {return f(n, d, ['%d dnem', '%d den']);}, 27 | days: function(n, d) {return f(n, d, ['%d dny', '%d dny', '%d dní']);}, 28 | month: function(n, d) {return f(n, d, ['%d měsícem', '%d měsíc']);}, 29 | months: function(n, d) {return f(n, d, ['%d měsíci', '%d měsíce', '%d měsíců']);}, 30 | year: function(n, d) {return f(n, d, ['%d rokem', '%d rok']);}, 31 | years: function(n, d) {return f(n, d, ['%d lety', '%d roky', '%d let']);} 32 | }; 33 | })(); 34 | })); 35 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.cy.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Welsh 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: null, 13 | prefixFromNow: null, 14 | suffixAgo: "yn ôl", 15 | suffixFromNow: "o hyn", 16 | seconds: "llai na munud", 17 | minute: "am funud", 18 | minutes: "%d munud", 19 | hour: "tua awr", 20 | hours: "am %d awr", 21 | day: "y dydd", 22 | days: "%d diwrnod", 23 | month: "tua mis", 24 | months: "%d mis", 25 | year: "am y flwyddyn", 26 | years: "%d blynedd", 27 | wordSeparator: " ", 28 | numbers: [] 29 | }; 30 | })); 31 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.da.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Danish 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: "for", 13 | prefixFromNow: "om", 14 | suffixAgo: "siden", 15 | suffixFromNow: "", 16 | seconds: "mindre end et minut", 17 | minute: "ca. et minut", 18 | minutes: "%d minutter", 19 | hour: "ca. en time", 20 | hours: "ca. %d timer", 21 | day: "en dag", 22 | days: "%d dage", 23 | month: "ca. en måned", 24 | months: "%d måneder", 25 | year: "ca. et år", 26 | years: "%d år" 27 | }; 28 | })); 29 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.de.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // German 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: "vor", 13 | prefixFromNow: "in", 14 | suffixAgo: "", 15 | suffixFromNow: "", 16 | seconds: "wenigen Sekunden", 17 | minute: "etwa einer Minute", 18 | minutes: "%d Minuten", 19 | hour: "etwa einer Stunde", 20 | hours: "%d Stunden", 21 | day: "etwa einem Tag", 22 | days: "%d Tagen", 23 | month: "etwa einem Monat", 24 | months: "%d Monaten", 25 | year: "etwa einem Jahr", 26 | years: "%d Jahren" 27 | }; 28 | })); 29 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.dv.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | /** 11 | * Dhivehi time in Thaana for timeago.js 12 | **/ 13 | jQuery.timeago.settings.strings = { 14 | prefixAgo: null, 15 | prefixFromNow: null, 16 | suffixAgo: "ކުރިން", 17 | suffixFromNow: "ފަހުން", 18 | seconds: "ސިކުންތުކޮޅެއް", 19 | minute: "މިނިޓެއްވަރު", 20 | minutes: "%d މިނިޓު", 21 | hour: "ގަޑިއެއްވަރު", 22 | hours: "ގާތްގަނޑަކަށް %d ގަޑިއިރު", 23 | day: "އެއް ދުވަސް", 24 | days: "މީގެ %d ދުވަސް", 25 | month: "މަހެއްވަރު", 26 | months: "މީގެ %d މަސް", 27 | year: "އަހަރެއްވަރު", 28 | years: "މީގެ %d އަހަރު", 29 | wordSeparator: " ", 30 | numbers: [] 31 | }; 32 | })); 33 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.el.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Greek 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: "πριν", 13 | prefixFromNow: "σε", 14 | suffixAgo: "", 15 | suffixFromNow: "", 16 | seconds: "λιγότερο από ένα λεπτό", 17 | minute: "περίπου ένα λεπτό", 18 | minutes: "%d λεπτά", 19 | hour: "περίπου μία ώρα", 20 | hours: "περίπου %d ώρες", 21 | day: "μία μέρα", 22 | days: "%d μέρες", 23 | month: "περίπου ένα μήνα", 24 | months: "%d μήνες", 25 | year: "περίπου ένα χρόνο", 26 | years: "%d χρόνια" 27 | }; 28 | })); 29 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.en.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // English (Template) 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: null, 13 | prefixFromNow: null, 14 | suffixAgo: "ago", 15 | suffixFromNow: "from now", 16 | seconds: "less than a minute", 17 | minute: "about a minute", 18 | minutes: "%d minutes", 19 | hour: "about an hour", 20 | hours: "about %d hours", 21 | day: "a day", 22 | days: "%d days", 23 | month: "about a month", 24 | months: "%d months", 25 | year: "about a year", 26 | years: "%d years", 27 | wordSeparator: " ", 28 | numbers: [] 29 | }; 30 | })); 31 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.es.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Spanish 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: "hace", 13 | prefixFromNow: "dentro de", 14 | suffixAgo: "", 15 | suffixFromNow: "", 16 | seconds: "menos de un minuto", 17 | minute: "un minuto", 18 | minutes: "unos %d minutos", 19 | hour: "una hora", 20 | hours: "%d horas", 21 | day: "un día", 22 | days: "%d días", 23 | month: "un mes", 24 | months: "%d meses", 25 | year: "un año", 26 | years: "%d años" 27 | }; 28 | })); 29 | 30 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.et.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Estonian 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: null, 13 | prefixFromNow: null, 14 | suffixAgo: "tagasi", 15 | suffixFromNow: "pärast", 16 | seconds: function(n, d) { return d < 0 ? "vähem kui minuti aja" : "vähem kui minut aega"; }, 17 | minute: function(n, d) { return d < 0 ? "umbes minuti aja" : "umbes minut aega"; }, 18 | minutes: function(n, d) { return d < 0 ? "%d minuti" : "%d minutit"; }, 19 | hour: function(n, d) { return d < 0 ? "umbes tunni aja" : "umbes tund aega"; }, 20 | hours: function(n, d) { return d < 0 ? "%d tunni" : "%d tundi"; }, 21 | day: function(n, d) { return d < 0 ? "umbes päeva" : "umbes päev"; }, 22 | days: "%d päeva", 23 | month: function(n, d) { return d < 0 ? "umbes kuu aja" : "umbes kuu aega"; }, 24 | months: function(n, d) { return d < 0 ? "%d kuu" : "%d kuud"; }, 25 | year: function(n, d) { return d < 0 ? "umbes aasta aja" : "umbes aasta aega"; }, 26 | years: function(n, d) { return d < 0 ? "%d aasta" : "%d aastat"; } 27 | }; 28 | })); 29 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.eu.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | jQuery.timeago.settings.strings = { 11 | prefixAgo: "duela", 12 | prefixFromNow: "hemendik", 13 | suffixAgo: "", 14 | suffixFromNow: "barru", 15 | seconds: "minutu bat bainu gutxiago", 16 | minute: "minutu bat", 17 | minutes: "%d minutu inguru", 18 | hour: "ordu bat", 19 | hours: "%d ordu", 20 | day: "egun bat", 21 | days: "%d egun", 22 | month: "hilabete bat", 23 | months: "%d hilabete", 24 | year: "urte bat", 25 | years: "%d urte" 26 | }; 27 | })); 28 | 29 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.fa.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Persian 11 | // Use DIR attribute for RTL text in Persian Language for ABBR tag . 12 | // By MB.seifollahi@gmail.com 13 | jQuery.timeago.settings.strings = { 14 | prefixAgo: null, 15 | prefixFromNow: null, 16 | suffixAgo: "پیش", 17 | suffixFromNow: "از حال", 18 | seconds: "کمتر از یک دقیقه", 19 | minute: "حدود یک دقیقه", 20 | minutes: "%d دقیقه", 21 | hour: "حدود یک ساعت", 22 | hours: "حدود %d ساعت", 23 | day: "یک روز", 24 | days: "%d روز", 25 | month: "حدود یک ماه", 26 | months: "%d ماه", 27 | year: "حدود یک سال", 28 | years: "%d سال", 29 | wordSeparator: " ", 30 | numbers: ['۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹'] 31 | }; 32 | })); 33 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.fi.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Finnish 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: null, 13 | prefixFromNow: null, 14 | suffixAgo: "sitten", 15 | suffixFromNow: "tulevaisuudessa", 16 | seconds: "alle minuutti", 17 | minute: "minuutti", 18 | minutes: "%d minuuttia", 19 | hour: "tunti", 20 | hours: "%d tuntia", 21 | day: "päivä", 22 | days: "%d päivää", 23 | month: "kuukausi", 24 | months: "%d kuukautta", 25 | year: "vuosi", 26 | years: "%d vuotta" 27 | }; 28 | 29 | // The above is not a great localization because one would usually 30 | // write "2 days ago" in Finnish as "2 päivää sitten", however 31 | // one would write "2 days into the future" as "2:n päivän päästä" 32 | // which cannot be achieved with localization support this simple. 33 | // This is because Finnish has word suffixes (attached directly 34 | // to the end of the word). The word "day" is "päivä" in Finnish. 35 | // As workaround, the above localizations will say 36 | // "2 päivää tulevaisuudessa" which is understandable but 37 | // not as fluent. 38 | })); 39 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.fr.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // French 11 | jQuery.timeago.settings.strings = { 12 | // environ ~= about, it's optional 13 | prefixAgo: "il y a", 14 | prefixFromNow: "d'ici", 15 | seconds: "moins d'une minute", 16 | minute: "environ une minute", 17 | minutes: "environ %d minutes", 18 | hour: "environ une heure", 19 | hours: "environ %d heures", 20 | day: "environ un jour", 21 | days: "environ %d jours", 22 | month: "environ un mois", 23 | months: "environ %d mois", 24 | year: "un an", 25 | years: "%d ans" 26 | }; 27 | })); 28 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.gl.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Galician 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: "hai", 13 | prefixFromNow: "dentro de", 14 | suffixAgo: "", 15 | suffixFromNow: "", 16 | seconds: "menos dun minuto", 17 | minute: "un minuto", 18 | minutes: "uns %d minutos", 19 | hour: "unha hora", 20 | hours: "%d horas", 21 | day: "un día", 22 | days: "%d días", 23 | month: "un mes", 24 | months: "%d meses", 25 | year: "un ano", 26 | years: "%d anos" 27 | }; 28 | })); 29 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.he.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Hebrew 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: "לפני", 13 | prefixFromNow: "עוד", 14 | seconds: "פחות מדקה", 15 | minute: "דקה", 16 | minutes: "%d דקות", 17 | hour: "שעה", 18 | hours: function(number){return (number===2) ? "שעתיים" : "%d שעות";}, 19 | day: "יום", 20 | days: function(number){return (number===2) ? "יומיים" : "%d ימים";}, 21 | month: "חודש", 22 | months: function(number){return (number===2) ? "חודשיים" : "%d חודשים";}, 23 | year: "שנה", 24 | years: function(number){return (number===2) ? "שנתיים" : "%d שנים";} 25 | }; 26 | })); 27 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.hr.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Croatian 11 | var numpf = function (n, f, s, t) { 12 | var n10; 13 | n10 = n % 10; 14 | if (n10 === 1 && (n === 1 || n > 20)) { 15 | return f; 16 | } else if (n10 > 1 && n10 < 5 && (n > 20 || n < 10)) { 17 | return s; 18 | } else { 19 | return t; 20 | } 21 | }; 22 | 23 | jQuery.timeago.settings.strings = { 24 | prefixAgo: "prije", 25 | prefixFromNow: "za", 26 | suffixAgo: null, 27 | suffixFromNow: null, 28 | second: "sekundu", 29 | seconds: function (value) { 30 | return numpf(value, "%d sekundu", "%d sekunde", "%d sekundi"); 31 | }, 32 | minute: "oko minutu", 33 | minutes: function (value) { 34 | return numpf(value, "%d minutu", "%d minute", "%d minuta"); 35 | }, 36 | hour: "oko jedan sat", 37 | hours: function (value) { 38 | return numpf(value, "%d sat", "%d sata", "%d sati"); 39 | }, 40 | day: "jedan dan", 41 | days: function (value) { 42 | return numpf(value, "%d dan", "%d dana", "%d dana"); 43 | }, 44 | month: "mjesec dana", 45 | months: function (value) { 46 | return numpf(value, "%d mjesec", "%d mjeseca", "%d mjeseci"); 47 | }, 48 | year: "prije godinu dana", 49 | years: function (value) { 50 | return numpf(value, "%d godinu", "%d godine", "%d godina"); 51 | }, 52 | wordSeparator: " " 53 | }; 54 | })); 55 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.hu.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Hungarian 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: null, 13 | prefixFromNow: null, 14 | suffixAgo: null, 15 | suffixFromNow: null, 16 | seconds: "kevesebb mint egy perce", 17 | minute: "körülbelül egy perce", 18 | minutes: "%d perce", 19 | hour: "körülbelül egy órája", 20 | hours: "körülbelül %d órája", 21 | day: "körülbelül egy napja", 22 | days: "%d napja", 23 | month: "körülbelül egy hónapja", 24 | months: "%d hónapja", 25 | year: "körülbelül egy éve", 26 | years: "%d éve" 27 | }; 28 | })); 29 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.hy.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Armenian 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: null, 13 | prefixFromNow: null, 14 | suffixAgo: "առաջ", 15 | suffixFromNow: "հետո", 16 | seconds: "վայրկյաններ", 17 | minute: "մեկ րոպե", 18 | minutes: "%d րոպե", 19 | hour: "մեկ ժամ", 20 | hours: "%d ժամ", 21 | day: "մեկ օր", 22 | days: "%d օր", 23 | month: "մեկ ամիս", 24 | months: "%d ամիս", 25 | year: "մեկ տարի", 26 | years: "%d տարի" 27 | }; 28 | })); 29 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.id.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Indonesian 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: null, 13 | prefixFromNow: null, 14 | suffixAgo: "yang lalu", 15 | suffixFromNow: "dari sekarang", 16 | seconds: "kurang dari semenit", 17 | minute: "sekitar satu menit", 18 | minutes: "%d menit", 19 | hour: "sekitar sejam", 20 | hours: "sekitar %d jam", 21 | day: "sehari", 22 | days: "%d hari", 23 | month: "sekitar sebulan", 24 | months: "%d bulan", 25 | year: "sekitar setahun", 26 | years: "%d tahun" 27 | }; 28 | })); 29 | 30 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.is.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | jQuery.timeago.settings.strings = { 11 | prefixAgo: "fyrir", 12 | prefixFromNow: "eftir", 13 | suffixAgo: "síðan", 14 | suffixFromNow: null, 15 | seconds: "minna en mínútu", 16 | minute: "mínútu", 17 | minutes: "%d mínútum", 18 | hour: "klukkutíma", 19 | hours: "um %d klukkutímum", 20 | day: "degi", 21 | days: "%d dögum", 22 | month: "mánuði", 23 | months: "%d mánuðum", 24 | year: "ári", 25 | years: "%d árum", 26 | wordSeparator: " ", 27 | numbers: [] 28 | }; 29 | })); 30 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.it.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Italian 11 | jQuery.timeago.settings.strings = { 12 | suffixAgo: "fa", 13 | suffixFromNow: "da ora", 14 | seconds: "meno di un minuto", 15 | minute: "circa un minuto", 16 | minutes: "%d minuti", 17 | hour: "circa un'ora", 18 | hours: "circa %d ore", 19 | day: "un giorno", 20 | days: "%d giorni", 21 | month: "circa un mese", 22 | months: "%d mesi", 23 | year: "circa un anno", 24 | years: "%d anni" 25 | }; 26 | })); 27 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.ja.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Japanese 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: "", 13 | prefixFromNow: "今から", 14 | suffixAgo: "前", 15 | suffixFromNow: "後", 16 | seconds: "1 分未満", 17 | minute: "約 1 分", 18 | minutes: "%d 分", 19 | hour: "約 1 時間", 20 | hours: "約 %d 時間", 21 | day: "約 1 日", 22 | days: "約 %d 日", 23 | month: "約 1 ヶ月", 24 | months: "約 %d ヶ月", 25 | year: "約 1 年", 26 | years: "約 %d 年", 27 | wordSeparator: "" 28 | }; 29 | })); 30 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.jv.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Javanesse (Boso Jowo) 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: null, 13 | prefixFromNow: null, 14 | suffixAgo: "kepungkur", 15 | suffixFromNow: "seko saiki", 16 | seconds: "kurang seko sakmenit", 17 | minute: "kurang luwih sakmenit", 18 | minutes: "%d menit", 19 | hour: "kurang luwih sakjam", 20 | hours: "kurang luwih %d jam", 21 | day: "sedina", 22 | days: "%d dina", 23 | month: "kurang luwih sewulan", 24 | months: "%d wulan", 25 | year: "kurang luwih setahun", 26 | years: "%d tahun" 27 | }; 28 | })); 29 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.ko.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Korean 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: null, 13 | prefixFromNow: null, 14 | suffixAgo: "전", 15 | suffixFromNow: "후", 16 | seconds: "1분", 17 | minute: "약 1분", 18 | minutes: "%d분", 19 | hour: "약 1시간", 20 | hours: "약 %d시간", 21 | day: "하루", 22 | days: "%d일", 23 | month: "약 1개월", 24 | months: "%d개월", 25 | year: "약 1년", 26 | years: "%d년", 27 | wordSeparator: " ", 28 | numbers: [] 29 | }; 30 | })); 31 | 32 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.ky.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Russian 11 | function numpf(n, f, s, t) { 12 | // f - 1, 21, 31, ... 13 | // s - 2-4, 22-24, 32-34 ... 14 | // t - 5-20, 25-30, ... 15 | var n10 = n % 10; 16 | if ( (n10 === 1) && ( (n === 1) || (n > 20) ) ) { 17 | return f; 18 | } else if ( (n10 > 1) && (n10 < 5) && ( (n > 20) || (n < 10) ) ) { 19 | return s; 20 | } else { 21 | return t; 22 | } 23 | } 24 | 25 | jQuery.timeago.settings.strings = { 26 | prefixAgo: null, 27 | prefixFromNow: "через", 28 | suffixAgo: "мурун", 29 | suffixFromNow: null, 30 | seconds: "1 минуттан аз", 31 | minute: "минута", 32 | minutes: function(value) { return numpf(value, "%d минута", "%d минута", "%d минут"); }, 33 | hour: "саат", 34 | hours: function(value) { return numpf(value, "%d саат", "%d саат", "%d саат"); }, 35 | day: "күн", 36 | days: function(value) { return numpf(value, "%d күн", "%d күн", "%d күн"); }, 37 | month: "ай", 38 | months: function(value) { return numpf(value, "%d ай", "%d ай", "%d ай"); }, 39 | year: "жыл", 40 | years: function(value) { return numpf(value, "%d жыл", "%d жыл", "%d жыл"); } 41 | }; 42 | })); 43 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.lt.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | //Lithuanian 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: "prieš", 13 | prefixFromNow: null, 14 | suffixAgo: null, 15 | suffixFromNow: "nuo dabar", 16 | seconds: "%d sek.", 17 | minute: "min.", 18 | minutes: "%d min.", 19 | hour: "val.", 20 | hours: "%d val.", 21 | day: "1 d.", 22 | days: "%d d.", 23 | month: "mėn.", 24 | months: "%d mėn.", 25 | year: "metus", 26 | years: "%d metus", 27 | wordSeparator: " ", 28 | numbers: [] 29 | }; 30 | })); 31 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.lv.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | //Latvian 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: "pirms", 13 | prefixFromNow: null, 14 | suffixAgo: null, 15 | suffixFromNow: "no šī brīža", 16 | seconds: "%d sek.", 17 | minute: "min.", 18 | minutes: "%d min.", 19 | hour: "st.", 20 | hours: "%d st.", 21 | day: "1 d.", 22 | days: "%d d.", 23 | month: "mēnesis.", 24 | months: "%d mēnesis.", 25 | year: "gads", 26 | years: "%d gads", 27 | wordSeparator: " ", 28 | numbers: [] 29 | }; 30 | })); 31 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.mk.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Macedonian 11 | (function() { 12 | jQuery.timeago.settings.strings={ 13 | prefixAgo: "пред", 14 | prefixFromNow: "за", 15 | suffixAgo: null, 16 | suffixFromNow: null, 17 | seconds: "%d секунди", 18 | minute: "%d минута", 19 | minutes: "%d минути", 20 | hour: "%d час", 21 | hours: "%d часа", 22 | day: "%d ден", 23 | days: "%d денови" , 24 | month: "%d месец", 25 | months: "%d месеци", 26 | year: "%d година", 27 | years: "%d години" 28 | }; 29 | })(); 30 | })); 31 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.nl.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Dutch 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: null, 13 | prefixFromNow: "over", 14 | suffixAgo: "geleden", 15 | suffixFromNow: null, 16 | seconds: "minder dan een minuut", 17 | minute: "ongeveer een minuut", 18 | minutes: "%d minuten", 19 | hour: "ongeveer een uur", 20 | hours: "ongeveer %d uur", 21 | day: "een dag", 22 | days: "%d dagen", 23 | month: "ongeveer een maand", 24 | months: "%d maanden", 25 | year: "ongeveer een jaar", 26 | years: "%d jaar", 27 | wordSeparator: " ", 28 | numbers: [] 29 | }; 30 | })); 31 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.no.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Norwegian 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: "for", 13 | prefixFromNow: "om", 14 | suffixAgo: "siden", 15 | suffixFromNow: "", 16 | seconds: "mindre enn et minutt", 17 | minute: "ca. et minutt", 18 | minutes: "%d minutter", 19 | hour: "ca. en time", 20 | hours: "ca. %d timer", 21 | day: "en dag", 22 | days: "%d dager", 23 | month: "ca. en måned", 24 | months: "%d måneder", 25 | year: "ca. et år", 26 | years: "%d år" 27 | }; 28 | })); 29 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.pl.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Polish 11 | function numpf(n, s, t) { 12 | // s - 2-4, 22-24, 32-34 ... 13 | // t - 5-21, 25-31, ... 14 | var n10 = n % 10; 15 | if ( (n10 > 1) && (n10 < 5) && ( (n > 20) || (n < 10) ) ) { 16 | return s; 17 | } else { 18 | return t; 19 | } 20 | } 21 | 22 | jQuery.timeago.settings.strings = { 23 | prefixAgo: null, 24 | prefixFromNow: "za", 25 | suffixAgo: "temu", 26 | suffixFromNow: null, 27 | seconds: "mniej niż minutę", 28 | minute: "minutę", 29 | minutes: function(value) { return numpf(value, "%d minuty", "%d minut"); }, 30 | hour: "godzinę", 31 | hours: function(value) { return numpf(value, "%d godziny", "%d godzin"); }, 32 | day: "dzień", 33 | days: "%d dni", 34 | month: "miesiąc", 35 | months: function(value) { return numpf(value, "%d miesiące", "%d miesięcy"); }, 36 | year: "rok", 37 | years: function(value) { return numpf(value, "%d lata", "%d lat"); } 38 | }; 39 | })); 40 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.pt-br.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Brazilian Portuguese 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: "há", 13 | prefixFromNow: "em", 14 | suffixAgo: null, 15 | suffixFromNow: null, 16 | seconds: "alguns segundos", 17 | minute: "um minuto", 18 | minutes: "%d minutos", 19 | hour: "uma hora", 20 | hours: "%d horas", 21 | day: "um dia", 22 | days: "%d dias", 23 | month: "um mês", 24 | months: "%d meses", 25 | year: "um ano", 26 | years: "%d anos" 27 | }; 28 | })); 29 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.pt.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Portuguese 11 | jQuery.timeago.settings.strings = { 12 | suffixAgo: "atrás", 13 | suffixFromNow: "a partir de agora", 14 | seconds: "menos de um minuto", 15 | minute: "cerca de um minuto", 16 | minutes: "%d minutos", 17 | hour: "cerca de uma hora", 18 | hours: "cerca de %d horas", 19 | day: "um dia", 20 | days: "%d dias", 21 | month: "cerca de um mês", 22 | months: "%d meses", 23 | year: "cerca de um ano", 24 | years: "%d anos" 25 | }; 26 | })); 27 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.ro.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Romanian 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: "acum", 13 | prefixFromNow: "in timp de", 14 | suffixAgo: "", 15 | suffixFromNow: "", 16 | seconds: "mai putin de un minut", 17 | minute: "un minut", 18 | minutes: "%d minute", 19 | hour: "o ora", 20 | hours: "%d ore", 21 | day: "o zi", 22 | days: "%d zile", 23 | month: "o luna", 24 | months: "%d luni", 25 | year: "un an", 26 | years: "%d ani" 27 | }; 28 | })); 29 | 30 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.rs.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Serbian 11 | var numpf = function (n, f, s, t) { 12 | var n10; 13 | n10 = n % 10; 14 | if (n10 === 1 && (n === 1 || n > 20)) { 15 | return f; 16 | } else if (n10 > 1 && n10 < 5 && (n > 20 || n < 10)) { 17 | return s; 18 | } else { 19 | return t; 20 | } 21 | }; 22 | 23 | jQuery.timeago.settings.strings = { 24 | prefixAgo: "pre", 25 | prefixFromNow: "za", 26 | suffixAgo: null, 27 | suffixFromNow: null, 28 | second: "sekund", 29 | seconds: function (value) { 30 | return numpf(value, "%d sekund", "%d sekunde", "%d sekundi"); 31 | }, 32 | minute: "oko minut", 33 | minutes: function (value) { 34 | return numpf(value, "%d minut", "%d minuta", "%d minuta"); 35 | }, 36 | hour: "oko jedan sat", 37 | hours: function (value) { 38 | return numpf(value, "%d sat", "%d sata", "%d sati"); 39 | }, 40 | day: "jedan dan", 41 | days: function (value) { 42 | return numpf(value, "%d dan", "%d dana", "%d dana"); 43 | }, 44 | month: "mesec dana", 45 | months: function (value) { 46 | return numpf(value, "%d mesec", "%d meseca", "%d meseci"); 47 | }, 48 | year: "godinu dana", 49 | years: function (value) { 50 | return numpf(value, "%d godinu", "%d godine", "%d godina"); 51 | }, 52 | wordSeparator: " " 53 | }; 54 | })); 55 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.ru.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Russian 11 | function numpf(n, f, s, t) { 12 | // f - 1, 21, 31, ... 13 | // s - 2-4, 22-24, 32-34 ... 14 | // t - 5-20, 25-30, ... 15 | n = n % 100; 16 | var n10 = n % 10; 17 | if ( (n10 === 1) && ( (n === 1) || (n > 20) ) ) { 18 | return f; 19 | } else if ( (n10 > 1) && (n10 < 5) && ( (n > 20) || (n < 10) ) ) { 20 | return s; 21 | } else { 22 | return t; 23 | } 24 | } 25 | 26 | jQuery.timeago.settings.strings = { 27 | prefixAgo: null, 28 | prefixFromNow: "через", 29 | suffixAgo: "назад", 30 | suffixFromNow: null, 31 | seconds: "меньше минуты", 32 | minute: "минуту", 33 | minutes: function(value) { return numpf(value, "%d минуту", "%d минуты", "%d минут"); }, 34 | hour: "час", 35 | hours: function(value) { return numpf(value, "%d час", "%d часа", "%d часов"); }, 36 | day: "день", 37 | days: function(value) { return numpf(value, "%d день", "%d дня", "%d дней"); }, 38 | month: "месяц", 39 | months: function(value) { return numpf(value, "%d месяц", "%d месяца", "%d месяцев"); }, 40 | year: "год", 41 | years: function(value) { return numpf(value, "%d год", "%d года", "%d лет"); } 42 | }; 43 | })); 44 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.rw.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Kinyarwanda 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: "hashize", 13 | prefixFromNow: "mu", 14 | suffixAgo: null, 15 | suffixFromNow: null, 16 | seconds: "amasegonda macye", 17 | minute: "umunota", 18 | minutes: "iminota %d", 19 | hour: "isaha", 20 | hours: "amasaha %d", 21 | day: "umunsi", 22 | days: "iminsi %d", 23 | month: "ukwezi", 24 | months: "amezi %d", 25 | year: "umwaka", 26 | years: "imyaka %d", 27 | wordSeparator: " ", 28 | numbers: [] 29 | }; 30 | })); 31 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.si.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Sinhalese (SI) 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: null, 13 | prefixFromNow: null, 14 | suffixAgo: "පෙර", 15 | suffixFromNow: "පසුව", 16 | seconds: "තත්පර කිහිපයකට", 17 | minute: "මිනිත්තුවකට පමණ", 18 | minutes: "මිනිත්තු %d කට", 19 | hour: "පැයක් පමණ ", 20 | hours: "පැය %d කට පමණ", 21 | day: "දවසක ට", 22 | days: "දවස් %d කට ", 23 | month: "මාසයක් පමණ", 24 | months: "මාස %d කට", 25 | year: "වසරක් පමණ", 26 | years: "වසරක් %d කට පමණ" 27 | }; 28 | })); 29 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.sk.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Slovak 11 | (function() { 12 | function f(n, d, a) { 13 | return a[d>=0 ? 0 : a.length===2 || n<5 ? 1 : 2]; 14 | } 15 | 16 | jQuery.timeago.settings.strings = { 17 | prefixAgo: 'pred', 18 | prefixFromNow: 'o', 19 | suffixAgo: null, 20 | suffixFromNow: null, 21 | seconds: function(n, d) {return f(n, d, ['menej ako minútou', 'menej ako minútu']);}, 22 | minute: function(n, d) {return f(n, d, ['minútou', 'minútu']);}, 23 | minutes: function(n, d) {return f(n, d, ['%d minútami', '%d minúty', '%d minút']);}, 24 | hour: function(n, d) {return f(n, d, ['hodinou', 'hodinu']);}, 25 | hours: function(n, d) {return f(n, d, ['%d hodinami', '%d hodiny', '%d hodín']);}, 26 | day: function(n, d) {return f(n, d, ['%d dňom', '%d deň']);}, 27 | days: function(n, d) {return f(n, d, ['%d dňami', '%d dni', '%d dní']);}, 28 | month: function(n, d) {return f(n, d, ['%d mesiacom', '%d mesiac']);}, 29 | months: function(n, d) {return f(n, d, ['%d mesiacmi', '%d mesiace', '%d mesiacov']);}, 30 | year: function(n, d) {return f(n, d, ['%d rokom', '%d rok']);}, 31 | years: function(n, d) {return f(n, d, ['%d rokmi', '%d roky', '%d rokov']);} 32 | }; 33 | })(); 34 | })); 35 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.sl.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Slovenian with support for dual 11 | var numpf = function (n, a) { 12 | return a[n%100===1 ? 1 : n%100===2 ? 2 : n%100===3 || n%100===4 ? 3 : 0]; 13 | }; 14 | 15 | jQuery.timeago.settings.strings = { 16 | prefixAgo: null, 17 | prefixFromNow: "čez", 18 | suffixAgo: "nazaj", 19 | suffixFromNow: null, 20 | second: "sekundo", 21 | seconds: function (value) { 22 | return numpf(value, ["%d sekund", "%d sekundo", "%d sekundi", "%d sekunde"]); 23 | }, 24 | minute: "minuto", 25 | minutes: function (value) { 26 | return numpf(value, ["%d minut", "%d minuto", "%d minuti", "%d minute"]); 27 | }, 28 | hour: "eno uro", 29 | hours: function (value) { 30 | return numpf(value, ["%d ur", "%d uro", "%d uri", "%d ure"]); 31 | }, 32 | day: "en dan", 33 | days: function (value) { 34 | return numpf(value, ["%d dni", "%d dan", "%d dneva", "%d dni"]); 35 | }, 36 | month: "en mesec", 37 | months: function (value) { 38 | return numpf(value, ["%d mesecev", "%d mesec", "%d meseca", "%d mesece"]); 39 | }, 40 | year: "eno leto", 41 | years: function (value) { 42 | return numpf(value, ["%d let", "%d leto", "%d leti", "%d leta"]); 43 | }, 44 | wordSeparator: " " 45 | }; 46 | })); 47 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.sq.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Albanian SQ 11 | jQuery.timeago.settings.strings = { 12 | suffixAgo: "më parë", 13 | suffixFromNow: "tani", 14 | seconds: "më pak se një minutë", 15 | minute: "rreth një minutë", 16 | minutes: "%d minuta", 17 | hour: "rreth një orë", 18 | hours: "rreth %d orë", 19 | day: "një ditë", 20 | days: "%d ditë", 21 | month: "rreth një muaj", 22 | months: "%d muaj", 23 | year: "rreth një vit", 24 | years: "%d vjet" 25 | }; 26 | })); 27 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.sr.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Serbian 11 | var numpf = function (n, f, s, t) { 12 | var n10; 13 | n10 = n % 10; 14 | if (n10 === 1 && (n === 1 || n > 20)) { 15 | return f; 16 | } else if (n10 > 1 && n10 < 5 && (n > 20 || n < 10)) { 17 | return s; 18 | } else { 19 | return t; 20 | } 21 | }; 22 | 23 | jQuery.timeago.settings.strings = { 24 | prefixAgo: "пре", 25 | prefixFromNow: "за", 26 | suffixAgo: null, 27 | suffixFromNow: null, 28 | second: "секунд", 29 | seconds: function (value) { 30 | return numpf(value, "%d секунд", "%d секунде", "%d секунди"); 31 | }, 32 | minute: "један минут", 33 | minutes: function (value) { 34 | return numpf(value, "%d минут", "%d минута", "%d минута"); 35 | }, 36 | hour: "један сат", 37 | hours: function (value) { 38 | return numpf(value, "%d сат", "%d сата", "%d сати"); 39 | }, 40 | day: "један дан", 41 | days: function (value) { 42 | return numpf(value, "%d дан", "%d дана", "%d дана"); 43 | }, 44 | month: "месец дана", 45 | months: function (value) { 46 | return numpf(value, "%d месец", "%d месеца", "%d месеци"); 47 | }, 48 | year: "годину дана", 49 | years: function (value) { 50 | return numpf(value, "%d годину", "%d године", "%d година"); 51 | }, 52 | wordSeparator: " " 53 | }; 54 | })); 55 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.sv.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Swedish 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: "för", 13 | prefixFromNow: "om", 14 | suffixAgo: "sedan", 15 | suffixFromNow: "", 16 | seconds: "mindre än en minut", 17 | minute: "ungefär en minut", 18 | minutes: "%d minuter", 19 | hour: "ungefär en timme", 20 | hours: "ungefär %d timmar", 21 | day: "en dag", 22 | days: "%d dagar", 23 | month: "ungefär en månad", 24 | months: "%d månader", 25 | year: "ungefär ett år", 26 | years: "%d år" 27 | }; 28 | })); 29 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.th.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Thai 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: null, 13 | prefixFromNow: null, 14 | suffixAgo: "ที่แล้ว", 15 | suffixFromNow: "จากตอนนี้", 16 | seconds: "น้อยกว่าหนึ่งนาที", 17 | minute: "ประมาณหนึ่งนาที", 18 | minutes: "%d นาที", 19 | hour: "ประมาณหนึ่งชั่วโมง", 20 | hours: "ประมาณ %d ชั่วโมง", 21 | day: "หนึ่งวัน", 22 | days: "%d วัน", 23 | month: "ประมาณหนึ่งเดือน", 24 | months: "%d เดือน", 25 | year: "ประมาณหนึ่งปี", 26 | years: "%d ปี", 27 | wordSeparator: "", 28 | numbers: [] 29 | }; 30 | })); 31 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.tr.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Turkish 11 | jQuery.timeago.settings.strings = { 12 | suffixAgo: 'önce', 13 | suffixFromNow: null, 14 | seconds: 'birkaç saniye', 15 | minute: '1 dakika', 16 | minutes: '%d dakika', 17 | hour: '1 saat', 18 | hours: '%d saat', 19 | day: '1 gün', 20 | days: '%d gün', 21 | month: '1 ay', 22 | months: '%d ay', 23 | year: '1 yıl', 24 | years: '%d yıl' 25 | }; 26 | })); 27 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.uk.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Ukrainian 11 | function numpf(n, f, s, t) { 12 | // f - 1, 21, 31, ... 13 | // s - 2-4, 22-24, 32-34 ... 14 | // t - 5-20, 25-30, ... 15 | var n10 = n % 10; 16 | if ( (n10 === 1) && ( (n === 1) || (n > 20) ) ) { 17 | return f; 18 | } else if ( (n10 > 1) && (n10 < 5) && ( (n > 20) || (n < 10) ) ) { 19 | return s; 20 | } else { 21 | return t; 22 | } 23 | } 24 | 25 | jQuery.timeago.settings.strings = { 26 | prefixAgo: null, 27 | prefixFromNow: "через", 28 | suffixAgo: "тому", 29 | suffixFromNow: null, 30 | seconds: "менше хвилини", 31 | minute: "хвилина", 32 | minutes: function(value) { return numpf(value, "%d хвилина", "%d хвилини", "%d хвилин"); }, 33 | hour: "година", 34 | hours: function(value) { return numpf(value, "%d година", "%d години", "%d годин"); }, 35 | day: "день", 36 | days: function(value) { return numpf(value, "%d день", "%d дні", "%d днів"); }, 37 | month: "місяць", 38 | months: function(value) { return numpf(value, "%d місяць", "%d місяці", "%d місяців"); }, 39 | year: "рік", 40 | years: function(value) { return numpf(value, "%d рік", "%d роки", "%d років"); } 41 | }; 42 | })); 43 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.ur.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Urdu 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: null, 13 | prefixFromNow: null, 14 | suffixAgo: "پہلے", 15 | suffixFromNow: "اب سے", 16 | seconds: "کچھ سیکنڈز", 17 | minute: "تقریباً ایک منٹ", 18 | minutes: "%d منٹ", 19 | hour: "تقریباً ایک گھنٹہ", 20 | hours: "تقریباً %d گھنٹے", 21 | day: "ایک دن", 22 | days: "%d دن", 23 | month: "تقریباً ایک مہینہ", 24 | months: "%d مہینے", 25 | year: "تقریباً ایک سال", 26 | years: "%d سال", 27 | wordSeparator: " ", 28 | numbers: [] 29 | }; 30 | })); 31 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.uz.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | //Uzbek 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: null, 13 | prefixFromNow: "keyin", 14 | suffixAgo: "avval", 15 | suffixFromNow: null, 16 | seconds: "bir necha soniya", 17 | minute: "1 daqiqa", 18 | minutes: function(value) { return "%d daqiqa"; }, 19 | hour: "1 soat", 20 | hours: function(value) { return "%d soat"; }, 21 | day: "1 kun", 22 | days: function(value) { return "%d kun"; }, 23 | month: "1 oy", 24 | months: function(value) { return "%d oy"; }, 25 | year: "1 yil", 26 | years: function(value) { return "%d yil"; }, 27 | wordSeparator: " " 28 | }; 29 | })); 30 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.vi.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Vietnamese 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: 'cách đây', 13 | prefixFromNow: null, 14 | suffixAgo: null, 15 | suffixFromNow: "trước", 16 | seconds: "chưa đến một phút", 17 | minute: "khoảng một phút", 18 | minutes: "%d phút", 19 | hour: "khoảng một tiếng", 20 | hours: "khoảng %d tiếng", 21 | day: "một ngày", 22 | days: "%d ngày", 23 | month: "khoảng một tháng", 24 | months: "%d tháng", 25 | year: "khoảng một năm", 26 | years: "%d năm", 27 | wordSeparator: " ", 28 | numbers: [] 29 | }; 30 | })); 31 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.zh-CN.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Simplified Chinese 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: null, 13 | prefixFromNow: null, 14 | suffixAgo: "之前", 15 | suffixFromNow: "之后", 16 | seconds: "不到1分钟", 17 | minute: "大约1分钟", 18 | minutes: "%d分钟", 19 | hour: "大约1小时", 20 | hours: "大约%d小时", 21 | day: "1天", 22 | days: "%d天", 23 | month: "大约1个月", 24 | months: "%d月", 25 | year: "大约1年", 26 | years: "%d年", 27 | numbers: [], 28 | wordSeparator: "" 29 | }; 30 | })); 31 | 32 | -------------------------------------------------------------------------------- /lang/timeago/jquery.timeago.zh-TW.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery'], factory); 4 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 5 | factory(require('jquery')); 6 | } else { 7 | factory(jQuery); 8 | } 9 | }(function (jQuery) { 10 | // Traditional Chinese, zh-tw 11 | jQuery.timeago.settings.strings = { 12 | prefixAgo: null, 13 | prefixFromNow: null, 14 | suffixAgo: "之前", 15 | suffixFromNow: "之後", 16 | seconds: "不到1分鐘", 17 | minute: "大約1分鐘", 18 | minutes: "%d分鐘", 19 | hour: "大約1小時", 20 | hours: "%d小時", 21 | day: "大約1天", 22 | days: "%d天", 23 | month: "大約1個月", 24 | months: "%d個月", 25 | year: "大約1年", 26 | years: "%d年", 27 | numbers: [], 28 | wordSeparator: "" 29 | }; 30 | })); 31 | -------------------------------------------------------------------------------- /lang/zh-CN.json: -------------------------------------------------------------------------------- 1 | { 2 | "miningPool": "矿池", 3 | "dashboard": "仪表盘", 4 | "gettingStarted": "挖矿指导", 5 | "yourStats": "挖矿数据", 6 | "poolBlocks": "池中区块", 7 | "resources": "Resources", 8 | "settings": "设置", 9 | "faq": "常见问题", 10 | "telegram": "Telegram群组", 11 | "discord": "Discord", 12 | "contactUs": "联系方式", 13 | 14 | "network": "全网", 15 | "pool": "矿池", 16 | "you": "用户", 17 | "statsUpdated": "数据更新", 18 | 19 | "poolHashrate": "矿池算力", 20 | "currentEffort": "当前效益", 21 | "networkHashrate": "全网算力", 22 | "networkDifficulty": "难度", 23 | "blockchainHeight": "区块高度", 24 | "networkLastReward": "上次收益", 25 | "poolMiners": "在线矿工", 26 | "poolFee": "矿池税", 27 | 28 | "minerStats": "用户数据及支付历史", 29 | "workerStats": "设备数据", 30 | "miner": "矿工", 31 | "miners": "矿工", 32 | "minersCount": "矿工数", 33 | "workers": "挖矿设备", 34 | "workersCount": "设备数", 35 | "workerName": "设备名", 36 | "lastHash": "上次提交", 37 | "hashRate": "算力", 38 | "currentHashRate": "当前算力", 39 | "lastShare": "上次提交", 40 | "totalHashes": "总提交", 41 | "top10miners": "前十矿工", 42 | 43 | "blocksTotal": "已发现区块", 44 | "blockSolvedTime": "区块发现用时", 45 | "blocksMaturityCount": "成熟要求", 46 | "efficiency": "效率", 47 | "averageLuck": "平均幸运值", 48 | "timeFound": "发现时间", 49 | "reward": "收益", 50 | "height": "高度", 51 | "difficulty": "难度", 52 | "blockHash": "区块Hash", 53 | "effort": "Effort", 54 | "blocksFoundLast24": "过去24小时内发现区块", 55 | "blocksFoundLastDays": "过去{DAYS}天中发现区块", 56 | 57 | "payments": "支付", 58 | "paymentsHistory": "支付历史", 59 | "paymentsTotal": "总支付", 60 | "paymentsMinimum": "最小支付额", 61 | "paymentsInterval": "支付周期", 62 | "paymentsDenomination": "面额单位", 63 | "timeSent": "Time Sent", 64 | "transactionHash": "交易Hash", 65 | "amount": "数额", 66 | "fee": "费用", 67 | "mixin": "Mixin", 68 | "payees": "收款人", 69 | "pendingBalance": "处理中余额", 70 | "totalPaid": "总计支付", 71 | "payoutEstimate": "当前支付估计", 72 | "paymentSummarySingle": "在%DATE%您收到%AMOUNT%", 73 | "paymentSummaryMulti": "在%DATE%,通过%COUNT%笔支付,您收到%AMOUNT%", 74 | 75 | "connectionDetails": "连接信息", 76 | "miningPoolHost": "矿池地址", 77 | "cnAlgorithm": "算法", 78 | "username": "用户名", 79 | "usernameDesc": "这是你的钱包地址", 80 | "paymentId": "交易所支付ID", 81 | "fixedDiff": "固定难度", 82 | "address": "地址", 83 | "addrPaymentId": "交易ID", 84 | "addrDiff": "难度", 85 | "password": "密码", 86 | "passwordDesc": "这是你的设备名", 87 | "emailNotifications": "邮件提醒", 88 | "miningPorts": "挖矿端口", 89 | "port": "端口", 90 | "portDiff": "初始难度", 91 | "description": "介绍", 92 | "miningApps": "挖矿应用", 93 | "configGeneratorDesc": "生成您定制的配置", 94 | "addressField": "钱包地址", 95 | "paymentIdField": "为交易所的交易ID (可选)", 96 | "fixedDiffField": "固定难度 (可选)", 97 | "workerNameField": "设备名", 98 | "emailNotificationsField": "邮件提醒 (可选)", 99 | "generateConfig": "生成配置", 100 | "appName": "应用名", 101 | "appArch": "架构平台", 102 | "appDesc": "特征", 103 | "download": "下载", 104 | "showConfig": "了解更多", 105 | 106 | "market": "市场计算器", 107 | "loadingMarket": "加载市场价格", 108 | "priceIn": "价格", 109 | "hashPer": "Hash/", 110 | "estimateProfit": "预计挖矿收益", 111 | "enterYourHashrate": "确认您的算力", 112 | "perDay": "每天", 113 | 114 | "verificationFields": "验证字段", 115 | "minerVerification": "为了确保钱包地址是您的,我们要求您提供您的矿工使用的IP地址之一.", 116 | "minerAddress": "矿工地址", 117 | "minerIP": "矿工IP地址", 118 | "setMinimumPayout": "设置您的最低支付水平", 119 | "minerMinPayout": "如果你喜欢比池的默认值更高的支付水平,那么这是你可以为你的矿工改变它。您在此处显示的金额将成为您的地址的最低付款金额.", 120 | "minimumPayout": "最低付款金额", 121 | "enableEmailNotifications": "启用电子邮件通知", 122 | "minerEmailNotify": "当发现一个区块并且每当支付发生时,该池将发送电子邮件通知.", 123 | "emailAddress": "邮箱地址", 124 | "noMinerAddress": "没有指定矿工地址", 125 | "noMinerIP": "没有指定矿工IP地址", 126 | "noPayoutLevel": "没有指定最小付款金额", 127 | "noEmail": "没有指定邮箱地址", 128 | "invalidEmail": "指定的电子邮件地址无效", 129 | "minerPayoutSet": "完成! 您的最低支出水平已设定", 130 | "notificationEnabled": "完成! 电子邮件通知已启用", 131 | "notificationDisabled": "完成! 电子邮件通知已被禁用", 132 | 133 | "enterYourAddress": "输入您的地址", 134 | "enterYourMinerIP": "您的矿工使用的IP地址 (任一)", 135 | "enterYourEmail": "输入你的电子邮箱地址 (可选)", 136 | 137 | "lookup": "查找", 138 | "searching": "搜索中...", 139 | "loadMore": "加载更多", 140 | "set": "设置", 141 | "enable": "允许", 142 | "disable": "禁止", 143 | 144 | "status": "状态", 145 | "updated": "已更新:", 146 | "source": "源:", 147 | "error": "错误:", 148 | 149 | "na": "无", 150 | "estimated": "预计", 151 | "never": "从不", 152 | "second": "秒", 153 | "seconds": "秒", 154 | "minute": "分", 155 | "minutes": "分", 156 | "hour": "小时", 157 | "hours": "小时", 158 | "day": "天", 159 | "days": "天", 160 | "week": "周", 161 | "weeks": "周", 162 | "month": "月", 163 | "months": "月", 164 | "year": "年", 165 | "years": "年", 166 | 167 | "poweredBy": "驱动源于", 168 | "openSource": "开源于" 169 | } 170 | -------------------------------------------------------------------------------- /lib/Ionicons/fonts/ionicons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ConcealNetwork/conceal-pool/2a42ef244ed4fa8802c99d610ac1a41432a4a415/lib/Ionicons/fonts/ionicons.eot -------------------------------------------------------------------------------- /lib/Ionicons/fonts/ionicons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ConcealNetwork/conceal-pool/2a42ef244ed4fa8802c99d610ac1a41432a4a415/lib/Ionicons/fonts/ionicons.ttf -------------------------------------------------------------------------------- /lib/Ionicons/fonts/ionicons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ConcealNetwork/conceal-pool/2a42ef244ed4fa8802c99d610ac1a41432a4a415/lib/Ionicons/fonts/ionicons.woff -------------------------------------------------------------------------------- /lib/bootstrap/css/bootstrap-reboot.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Reboot v4.0.0 (https://getbootstrap.com) 3 | * Copyright 2011-2018 The Bootstrap Authors 4 | * Copyright 2011-2018 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 6 | * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) 7 | */ 8 | *, 9 | *::before, 10 | *::after { 11 | box-sizing: border-box; 12 | } 13 | 14 | html { 15 | font-family: sans-serif; 16 | line-height: 1.15; 17 | -webkit-text-size-adjust: 100%; 18 | -ms-text-size-adjust: 100%; 19 | -ms-overflow-style: scrollbar; 20 | -webkit-tap-highlight-color: transparent; 21 | } 22 | 23 | @-ms-viewport { 24 | width: device-width; 25 | } 26 | 27 | article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section { 28 | display: block; 29 | } 30 | 31 | body { 32 | margin: 0; 33 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; 34 | font-size: 1rem; 35 | font-weight: 400; 36 | line-height: 1.5; 37 | color: #212529; 38 | text-align: left; 39 | background-color: #fff; 40 | } 41 | 42 | [tabindex="-1"]:focus { 43 | outline: 0 !important; 44 | } 45 | 46 | hr { 47 | box-sizing: content-box; 48 | height: 0; 49 | overflow: visible; 50 | } 51 | 52 | h1, h2, h3, h4, h5, h6 { 53 | margin-top: 0; 54 | margin-bottom: 0.5rem; 55 | } 56 | 57 | p { 58 | margin-top: 0; 59 | margin-bottom: 1rem; 60 | } 61 | 62 | abbr[title], 63 | abbr[data-original-title] { 64 | text-decoration: underline; 65 | -webkit-text-decoration: underline dotted; 66 | text-decoration: underline dotted; 67 | cursor: help; 68 | border-bottom: 0; 69 | } 70 | 71 | address { 72 | margin-bottom: 1rem; 73 | font-style: normal; 74 | line-height: inherit; 75 | } 76 | 77 | ol, 78 | ul, 79 | dl { 80 | margin-top: 0; 81 | margin-bottom: 1rem; 82 | } 83 | 84 | ol ol, 85 | ul ul, 86 | ol ul, 87 | ul ol { 88 | margin-bottom: 0; 89 | } 90 | 91 | dt { 92 | font-weight: 700; 93 | } 94 | 95 | dd { 96 | margin-bottom: .5rem; 97 | margin-left: 0; 98 | } 99 | 100 | blockquote { 101 | margin: 0 0 1rem; 102 | } 103 | 104 | dfn { 105 | font-style: italic; 106 | } 107 | 108 | b, 109 | strong { 110 | font-weight: bolder; 111 | } 112 | 113 | small { 114 | font-size: 80%; 115 | } 116 | 117 | sub, 118 | sup { 119 | position: relative; 120 | font-size: 75%; 121 | line-height: 0; 122 | vertical-align: baseline; 123 | } 124 | 125 | sub { 126 | bottom: -.25em; 127 | } 128 | 129 | sup { 130 | top: -.5em; 131 | } 132 | 133 | a { 134 | color: #007bff; 135 | text-decoration: none; 136 | background-color: transparent; 137 | -webkit-text-decoration-skip: objects; 138 | } 139 | 140 | a:hover { 141 | color: #0056b3; 142 | text-decoration: underline; 143 | } 144 | 145 | a:not([href]):not([tabindex]) { 146 | color: inherit; 147 | text-decoration: none; 148 | } 149 | 150 | a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus { 151 | color: inherit; 152 | text-decoration: none; 153 | } 154 | 155 | a:not([href]):not([tabindex]):focus { 156 | outline: 0; 157 | } 158 | 159 | pre, 160 | code, 161 | kbd, 162 | samp { 163 | font-family: monospace, monospace; 164 | font-size: 1em; 165 | } 166 | 167 | pre { 168 | margin-top: 0; 169 | margin-bottom: 1rem; 170 | overflow: auto; 171 | -ms-overflow-style: scrollbar; 172 | } 173 | 174 | figure { 175 | margin: 0 0 1rem; 176 | } 177 | 178 | img { 179 | vertical-align: middle; 180 | border-style: none; 181 | } 182 | 183 | svg:not(:root) { 184 | overflow: hidden; 185 | } 186 | 187 | table { 188 | border-collapse: collapse; 189 | } 190 | 191 | caption { 192 | padding-top: 0.75rem; 193 | padding-bottom: 0.75rem; 194 | color: #6c757d; 195 | text-align: left; 196 | caption-side: bottom; 197 | } 198 | 199 | th { 200 | text-align: inherit; 201 | } 202 | 203 | label { 204 | display: inline-block; 205 | margin-bottom: .5rem; 206 | } 207 | 208 | button { 209 | border-radius: 0; 210 | } 211 | 212 | button:focus { 213 | outline: 1px dotted; 214 | outline: 5px auto -webkit-focus-ring-color; 215 | } 216 | 217 | input, 218 | button, 219 | select, 220 | optgroup, 221 | textarea { 222 | margin: 0; 223 | font-family: inherit; 224 | font-size: inherit; 225 | line-height: inherit; 226 | } 227 | 228 | button, 229 | input { 230 | overflow: visible; 231 | } 232 | 233 | button, 234 | select { 235 | text-transform: none; 236 | } 237 | 238 | button, 239 | html [type="button"], 240 | [type="reset"], 241 | [type="submit"] { 242 | -webkit-appearance: button; 243 | } 244 | 245 | button::-moz-focus-inner, 246 | [type="button"]::-moz-focus-inner, 247 | [type="reset"]::-moz-focus-inner, 248 | [type="submit"]::-moz-focus-inner { 249 | padding: 0; 250 | border-style: none; 251 | } 252 | 253 | input[type="radio"], 254 | input[type="checkbox"] { 255 | box-sizing: border-box; 256 | padding: 0; 257 | } 258 | 259 | input[type="date"], 260 | input[type="time"], 261 | input[type="datetime-local"], 262 | input[type="month"] { 263 | -webkit-appearance: listbox; 264 | } 265 | 266 | textarea { 267 | overflow: auto; 268 | resize: vertical; 269 | } 270 | 271 | fieldset { 272 | min-width: 0; 273 | padding: 0; 274 | margin: 0; 275 | border: 0; 276 | } 277 | 278 | legend { 279 | display: block; 280 | width: 100%; 281 | max-width: 100%; 282 | padding: 0; 283 | margin-bottom: .5rem; 284 | font-size: 1.5rem; 285 | line-height: inherit; 286 | color: inherit; 287 | white-space: normal; 288 | } 289 | 290 | progress { 291 | vertical-align: baseline; 292 | } 293 | 294 | [type="number"]::-webkit-inner-spin-button, 295 | [type="number"]::-webkit-outer-spin-button { 296 | height: auto; 297 | } 298 | 299 | [type="search"] { 300 | outline-offset: -2px; 301 | -webkit-appearance: none; 302 | } 303 | 304 | [type="search"]::-webkit-search-cancel-button, 305 | [type="search"]::-webkit-search-decoration { 306 | -webkit-appearance: none; 307 | } 308 | 309 | ::-webkit-file-upload-button { 310 | font: inherit; 311 | -webkit-appearance: button; 312 | } 313 | 314 | output { 315 | display: inline-block; 316 | } 317 | 318 | summary { 319 | display: list-item; 320 | cursor: pointer; 321 | } 322 | 323 | template { 324 | display: none; 325 | } 326 | 327 | [hidden] { 328 | display: none !important; 329 | } 330 | /*# sourceMappingURL=bootstrap-reboot.css.map */ -------------------------------------------------------------------------------- /lib/bootstrap/css/bootstrap-reboot.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Reboot v4.0.0 (https://getbootstrap.com) 3 | * Copyright 2011-2018 The Bootstrap Authors 4 | * Copyright 2011-2018 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 6 | * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) 7 | */*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important} 8 | /*# sourceMappingURL=bootstrap-reboot.min.css.map */ -------------------------------------------------------------------------------- /lib/chartist/css/chartist-plugin-tooltip.css: -------------------------------------------------------------------------------- 1 | .chartist-tooltip { 2 | position: absolute; 3 | display: inline-block; 4 | opacity: 0; 5 | min-width: 5em; 6 | padding: .5em; 7 | background: #F4C63D; 8 | color: #453D3F; 9 | font-family: Oxygen,Helvetica,Arial,sans-serif; 10 | font-weight: 700; 11 | text-align: center; 12 | pointer-events: none; 13 | z-index: 1; 14 | -webkit-transition: opacity .2s linear; 15 | -moz-transition: opacity .2s linear; 16 | -o-transition: opacity .2s linear; 17 | transition: opacity .2s linear; } 18 | .chartist-tooltip:before { 19 | content: ""; 20 | position: absolute; 21 | top: 100%; 22 | left: 50%; 23 | width: 0; 24 | height: 0; 25 | margin-left: -15px; 26 | border: 15px solid transparent; 27 | border-top-color: #F4C63D; } 28 | .chartist-tooltip.tooltip-show { 29 | opacity: 1; } 30 | 31 | .ct-area, .ct-line { 32 | pointer-events: none; } 33 | 34 | /*# sourceMappingURL=chartist-plugin-tooltip.css.map */ 35 | -------------------------------------------------------------------------------- /lib/chartist/js/chartist-plugin-tooltip.min.js: -------------------------------------------------------------------------------- 1 | /* chartist-plugin-tooltip 0.0.18 2 | * Copyright © 2017 Markus Padourek 3 | * Free to use under the WTFPL license. 4 | * http://www.wtfpl.net/ 5 | */ 6 | 7 | !function(a,b){"function"==typeof define&&define.amd?define(["chartist"],function(c){return a.returnExportsGlobal=b(c)}):"object"==typeof exports?module.exports=b(require("chartist")):a["Chartist.plugins.tooltip"]=b(Chartist)}(this,function(a){return function(a,b,c){"use strict";function d(a){f(a,"tooltip-show")||(a.className=a.className+" tooltip-show")}function e(a){var b=new RegExp("tooltip-show\\s*","gi");a.className=a.className.replace(b,"").trim()}function f(a,b){return(" "+a.getAttribute("class")+" ").indexOf(" "+b+" ")>-1}function g(a,b){do{a=a.nextSibling}while(a&&!f(a,b));return a}function h(a){return a.innerText||a.textContent}var i={currency:void 0,currencyFormatCallback:void 0,tooltipOffset:{x:0,y:-20},anchorToPoint:!1,appendToBody:!1,class:void 0,pointClass:"ct-point"};c.plugins=c.plugins||{},c.plugins.tooltip=function(j){return j=c.extend({},i,j),function(i){function k(a,b,c){n.addEventListener(a,function(a){b&&!f(a.target,b)||c(a)})}function l(b){p=p||o.offsetHeight,q=q||o.offsetWidth;var c,d,e=-q/2+j.tooltipOffset.x,f=-p+j.tooltipOffset.y;if(j.appendToBody)o.style.top=b.pageY+f+"px",o.style.left=b.pageX+e+"px";else{var g=n.getBoundingClientRect(),h=b.pageX-g.left-a.pageXOffset,i=b.pageY-g.top-a.pageYOffset;!0===j.anchorToPoint&&b.target.x2&&b.target.y2&&(c=parseInt(b.target.x2.baseVal.value),d=parseInt(b.target.y2.baseVal.value)),o.style.top=(d||i)+f+"px",o.style.left=(c||h)+e+"px"}}var m=j.pointClass;i.constructor.name==c.Bar.prototype.constructor.name?m="ct-bar":i.constructor.name==c.Pie.prototype.constructor.name&&(m=i.options.donut?"ct-slice-donut":"ct-slice-pie");var n=i.container,o=n.querySelector(".chartist-tooltip");o||(o=b.createElement("div"),o.className=j.class?"chartist-tooltip "+j.class:"chartist-tooltip",j.appendToBody?b.body.appendChild(o):n.appendChild(o));var p=o.offsetHeight,q=o.offsetWidth;e(o),k("mouseover",m,function(a){var e=a.target,f="",k=i instanceof c.Pie?e:e.parentNode,m=k?e.parentNode.getAttribute("ct:meta")||e.parentNode.getAttribute("ct:series-name"):"",n=e.getAttribute("ct:meta")||m||"",r=!!n,s=e.getAttribute("ct:value");if(j.transformTooltipTextFnc&&"function"==typeof j.transformTooltipTextFnc&&(s=j.transformTooltipTextFnc(s)),j.tooltipFnc&&"function"==typeof j.tooltipFnc)f=j.tooltipFnc(n,s);else{if(j.metaIsHTML){var t=b.createElement("textarea");t.innerHTML=n,n=t.value}if(n=''+n+"",r)f+=n+"
";else if(i instanceof c.Pie){var u=g(e,"ct-label");u&&(f+=h(u)+"
")}s&&(j.currency&&(s=void 0!=j.currencyFormatCallback?j.currencyFormatCallback(s,j):j.currency+s.replace(/(\d)(?=(\d{3})+(?:\.\d+)?$)/g,"$1,")),s=''+s+"",f+=s)}f&&(o.innerHTML=f,l(a),d(o),p=o.offsetHeight,q=o.offsetWidth)}),k("mouseout",m,function(){e(o)}),k("mousemove",null,function(a){!1===j.anchorToPoint&&l(a)})}}}(window,document,a),a.plugins.tooltip}); 8 | //# sourceMappingURL=chartist-plugin-tooltip.min.js.map -------------------------------------------------------------------------------- /lib/font-awesome/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ConcealNetwork/conceal-pool/2a42ef244ed4fa8802c99d610ac1a41432a4a415/lib/font-awesome/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /lib/font-awesome/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ConcealNetwork/conceal-pool/2a42ef244ed4fa8802c99d610ac1a41432a4a415/lib/font-awesome/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /lib/font-awesome/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ConcealNetwork/conceal-pool/2a42ef244ed4fa8802c99d610ac1a41432a4a415/lib/font-awesome/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /lib/font-awesome/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ConcealNetwork/conceal-pool/2a42ef244ed4fa8802c99d610ac1a41432a4a415/lib/font-awesome/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /lib/font-awesome/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ConcealNetwork/conceal-pool/2a42ef244ed4fa8802c99d610ac1a41432a4a415/lib/font-awesome/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /lib/jquery-toggles/css/toggles-full.css: -------------------------------------------------------------------------------- 1 | .toggle-slide { 2 | overflow: hidden; 3 | cursor: pointer; 4 | -webkit-user-select: none; 5 | -moz-user-select: none; 6 | -ms-user-select: none; 7 | user-select: none; 8 | direction: ltr; 9 | text-align: center; 10 | } 11 | div.disabled > .toggle-slide { 12 | opacity: 0.7; 13 | pointer-events: none; 14 | } 15 | .toggle-slide .toggle-on, 16 | .toggle-slide .toggle-off, 17 | .toggle-slide .toggle-blob { 18 | float: left; 19 | } 20 | .toggle-slide .toggle-blob { 21 | position: relative; 22 | z-index: 99; 23 | cursor: hand; 24 | cursor: grab; 25 | } 26 | .toggle-dark .toggle-slide { 27 | border-radius: 5px; 28 | box-shadow: 0 0 0 1px #242529, 0 1px 0 1px #666; 29 | } 30 | .toggle-dark .toggle-on, 31 | .toggle-dark .toggle-off, 32 | .toggle-dark .toggle-blob { 33 | color: rgba(255, 255, 255, 0.7); 34 | font-size: 11px; 35 | } 36 | .toggle-dark .toggle-on, 37 | .toggle-dark .toggle-select .toggle-inner .active { 38 | background: -webkit-linear-gradient(#1A70BE, #31A2E1); 39 | background: linear-gradient(#1A70BE, #31A2E1); 40 | } 41 | .toggle-dark .toggle-off, 42 | .toggle-dark .toggle-select .toggle-on { 43 | background: -webkit-linear-gradient(#242529, #34363B); 44 | background: linear-gradient(#242529, #34363B); 45 | } 46 | .toggle-dark .toggle-blob { 47 | border-radius: 4px; 48 | background: -webkit-linear-gradient(#CFCFCF, whiteSmoke); 49 | background: linear-gradient(#CFCFCF, whiteSmoke); 50 | box-shadow: inset 0 0 0 1px #888, inset 0 0 0 2px white; 51 | } 52 | .toggle-dark .toggle-blob:hover { 53 | background: -webkit-linear-gradient(#c0c0c0, #dadada); 54 | background: linear-gradient(#c0c0c0, #dadada); 55 | box-shadow: inset 0 0 0 1px #888,inset 0 0 0 2px #ddd; 56 | } 57 | .toggle-iphone .toggle-slide { 58 | border-radius: 9999px; 59 | box-shadow: 0 0 0 1px #999; 60 | } 61 | .toggle-iphone .toggle-on, 62 | .toggle-iphone .toggle-off { 63 | color: white; 64 | font-size: 18px; 65 | font-weight: bold; 66 | text-shadow: 0 0 8px rgba(0, 0, 0, 0.5); 67 | } 68 | .toggle-iphone .toggle-on { 69 | border-radius: 9999px 0 0 9999px; 70 | background: #037bda; 71 | box-shadow: inset 2px 2px 5px rgba(0, 0, 0, 0.4); 72 | } 73 | .toggle-iphone .toggle-on:after { 74 | background: -webkit-linear-gradient(#1189f1, #3797ef); 75 | background: linear-gradient(#1189f1, #3797ef); 76 | height: 50%; 77 | content: ''; 78 | margin-top: -19%; 79 | display: block; 80 | border-radius: 9999px; 81 | margin-left: 10%; 82 | } 83 | .toggle-iphone .toggle-off { 84 | box-shadow: inset -2px 2px 5px rgba(0, 0, 0, 0.4); 85 | border-radius: 0 9999px 9999px 0; 86 | color: #828282; 87 | background: #ECECEC; 88 | text-shadow: 0 0 1px white; 89 | } 90 | .toggle-iphone .toggle-off:after { 91 | background: -webkit-linear-gradient(#fafafa, #fdfdfd); 92 | background: linear-gradient(#fafafa, #fdfdfd); 93 | height: 50%; 94 | content: ''; 95 | margin-top: -19%; 96 | display: block; 97 | margin-right: 10%; 98 | border-radius: 9999px; 99 | } 100 | .toggle-iphone .toggle-blob { 101 | border-radius: 50px; 102 | background: -webkit-linear-gradient(#d1d1d1, #fafafa); 103 | background: linear-gradient(#d1d1d1, #fafafa); 104 | box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.6), inset 0 0 0 2px white, 0 0 3px rgba(0, 0, 0, 0.6); 105 | } 106 | .toggle-light .toggle-slide { 107 | border-radius: 9999px; 108 | box-shadow: 0 0 0 1px #999; 109 | } 110 | .toggle-light .toggle-on, 111 | .toggle-light .toggle-off { 112 | font-size: 11px; 113 | font-weight: 500; 114 | } 115 | .toggle-light .toggle-on, 116 | .toggle-light .toggle-select .toggle-inner .active { 117 | background: #45a31f; 118 | box-shadow: inset 2px 2px 6px rgba(0, 0, 0, 0.2); 119 | text-shadow: 1px 1px rgba(0, 0, 0, 0.2); 120 | color: rgba(255, 255, 255, 0.8); 121 | } 122 | .toggle-light .toggle-off, 123 | .toggle-light .toggle-select .toggle-on { 124 | color: rgba(0, 0, 0, 0.6); 125 | text-shadow: 0 1px rgba(255, 255, 255, 0.2); 126 | background: -webkit-linear-gradient(#cfcfcf, #f5f5f5); 127 | background: linear-gradient(#cfcfcf, #f5f5f5); 128 | } 129 | .toggle-light .toggle-blob { 130 | border-radius: 50px; 131 | background: -webkit-linear-gradient(#f5f5f5, #cfcfcf); 132 | background: linear-gradient(#f5f5f5, #cfcfcf); 133 | box-shadow: 1px 1px 2px #888; 134 | } 135 | .toggle-light .toggle-blob:hover { 136 | background: -webkit-linear-gradient(#e4e4e4, #f9f9f9); 137 | background: linear-gradient(#e4e4e4, #f9f9f9); 138 | } 139 | .toggle-modern .toggle-slide { 140 | border-radius: 4px; 141 | text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25), 0 0 1px rgba(0, 0, 0, 0.2); 142 | background: -webkit-linear-gradient(#c0c5c9, #a1a9af); 143 | background: linear-gradient(#c0c5c9, #a1a9af); 144 | box-shadow: inset 0 2px 1px rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.15), 0 1px 0 rgba(255, 255, 255, 0.15); 145 | } 146 | .toggle-modern .toggle-on, 147 | .toggle-modern .toggle-off { 148 | -webkit-transition: all 0.1s ease-out; 149 | transition: all 0.1s ease-out; 150 | color: white; 151 | text-shadow: 1px 1px rgba(0, 0, 0, 0.1); 152 | font-size: 11px; 153 | box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.2), inset 0 -1px 1px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(0, 0, 0, 0.2); 154 | } 155 | .toggle-modern .toggle-select .toggle-off, 156 | .toggle-modern .toggle-select .toggle-on { 157 | background: none; 158 | } 159 | .toggle-modern .toggle-off, 160 | .toggle-modern .toggle-off.active { 161 | background: -webkit-linear-gradient(#737e8d, #3f454e); 162 | background: linear-gradient(#737e8d, #3f454e); 163 | } 164 | .toggle-modern .toggle-on, 165 | .toggle-modern .toggle-on.active { 166 | background: -webkit-linear-gradient(#4894cd, #2852a6); 167 | background: linear-gradient(#4894cd, #2852a6); 168 | } 169 | .toggle-modern .toggle-blob { 170 | background: -webkit-linear-gradient(#c0c6c9, #81898f); 171 | background: linear-gradient(#c0c6c9, #81898f); 172 | box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.2), inset 0 -1px 1px rgba(0, 0, 0, 0.1), 1px 1px 2px rgba(0, 0, 0, 0.2); 173 | border-radius: 3px; 174 | } 175 | .toggle-modern .toggle-blob:hover { 176 | background-image: -webkit-linear-gradient(#a1a9af, #a1a9af); 177 | background-image: linear-gradient(#a1a9af, #a1a9af); 178 | } 179 | .toggle-soft .toggle-slide { 180 | border-radius: 5px; 181 | box-shadow: 0 0 0 1px #999; 182 | } 183 | .toggle-soft .toggle-on, 184 | .toggle-soft .toggle-off { 185 | color: rgba(0, 0, 0, 0.7); 186 | font-size: 11px; 187 | text-shadow: 1px 1px white; 188 | } 189 | .toggle-soft .toggle-on, 190 | .toggle-soft .toggle-select .toggle-inner .active { 191 | background: -webkit-linear-gradient(#d2ff52, #91e842); 192 | background: linear-gradient(#d2ff52, #91e842); 193 | } 194 | .toggle-soft .toggle-off, 195 | .toggle-soft .toggle-select .toggle-on { 196 | background: -webkit-linear-gradient(#cfcfcf, #f5f5f5); 197 | background: linear-gradient(#cfcfcf, #f5f5f5); 198 | } 199 | .toggle-soft .toggle-blob { 200 | border-radius: 4px; 201 | background: -webkit-linear-gradient(#cfcfcf, #f5f5f5); 202 | background: linear-gradient(#cfcfcf, #f5f5f5); 203 | box-shadow: inset 0 0 0 1px #bbb, inset 0 0 0 2px white; 204 | } 205 | .toggle-soft .toggle-blob:hover { 206 | background: -webkit-linear-gradient(#e4e4e4, #f9f9f9); 207 | background: linear-gradient(#e4e4e4, #f9f9f9); 208 | box-shadow: inset 0 0 0 1px #ddd,inset 0 0 0 2px #ddd; 209 | } 210 | -------------------------------------------------------------------------------- /lib/jquery-toggles/js/toggles.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | jQuery Toggles v4.0.0 3 | Copyright 2012 - 2015 Simon Tabor - MIT License 4 | https://github.com/simontabor/jquery-toggles / http://simontabor.com/labs/toggles 5 | */ 6 | (function(g){function p(q){var p=g.Toggles=function(c,a){var g=this;if("boolean"===typeof a&&c.data("toggles"))c.data("toggles").toggle(a);else{for(var k="on drag click width height animate easing type checkbox".split(" "),b={},l=0;l')},r=b("slide"),s=b("inner"),w=b("on"),x=b("off"),h=b("blob"),b=d/2,l=m-b,t=a.text;w.css({height:d,width:l,textIndent:n?"":-d/3,lineHeight:d+"px"}).html(t.on);x.css({height:d,width:l,marginLeft:n?"":-b,textIndent:n?"":d/3,lineHeight:d+"px"}).html(t.off);h.css({height:d,width:d,marginLeft:-b}); 8 | s.css({width:2*m-d,marginLeft:n?0:-m+d});n&&(r.addClass("toggle-select"),c.css("width",2*l),h.hide());s.append(w,h,x);r.html(s);c.html(r);var v=g.toggle=function(b,e,A){f!==b&&(f=g.active=!f,c.data("toggle-active",f),x.toggleClass("active",!f),w.toggleClass("active",f),p.prop("checked",f),A||c.trigger(a.event,f),n||(b=f?0:-m+d,s.stop().animate({marginLeft:b},e?0:a.animate,a.easing)))},b=function(b){c.hasClass("disabled")||b.target===h[0]&&a.drag||v()};if(a.click&&(!k||!k.has(c).length))c.on("click", 9 | b);if(k)k.on("click",b);if(a.drag&&!n){var e,y=(m-d)/4,z=function(b){c.off("mousemove");r.off("mouseleave");h.off("mouseup");!e&&a.click&&"mouseleave"!==b.type?v():(f?e<-y:e>y)?v():s.stop().animate({marginLeft:f?0:-m+d},a.animate/2,a.easing)},u=-m+d;h.on("mousedown",function(a){if(!c.hasClass("disabled")){e=0;h.off("mouseup");r.off("mouseleave");var b=a.pageX;c.on("mousemove",h,function(a){e=a.pageX-b;f?(a=e,0e&&(a=u),e>-u&&(a=0));s.css("margin-left",a)});h.on("mouseup", 10 | z);r.on("mouseleave",z)}})}v(a.on,!0,!0)}};q.fn.toggles=function(c){return this.each(function(){new p(q(this),c)})}}"function"===typeof define&&define.amd?define(["jquery"],p):p(g.jQuery||g.Zepto||g.ender||g.$||$)})(this); 11 | -------------------------------------------------------------------------------- /lib/jquery.cookie/js/jquery.cookie.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery Cookie Plugin v1.4.1 3 | * https://github.com/carhartl/jquery-cookie 4 | * 5 | * Copyright 2013 Klaus Hartl 6 | * Released under the MIT license 7 | */ 8 | (function (factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD 11 | define(['jquery'], factory); 12 | } else if (typeof exports === 'object') { 13 | // CommonJS 14 | factory(require('jquery')); 15 | } else { 16 | // Browser globals 17 | factory(jQuery); 18 | } 19 | }(function ($) { 20 | 21 | var pluses = /\+/g; 22 | 23 | function encode(s) { 24 | return config.raw ? s : encodeURIComponent(s); 25 | } 26 | 27 | function decode(s) { 28 | return config.raw ? s : decodeURIComponent(s); 29 | } 30 | 31 | function stringifyCookieValue(value) { 32 | return encode(config.json ? JSON.stringify(value) : String(value)); 33 | } 34 | 35 | function parseCookieValue(s) { 36 | if (s.indexOf('"') === 0) { 37 | // This is a quoted cookie as according to RFC2068, unescape... 38 | s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\'); 39 | } 40 | 41 | try { 42 | // Replace server-side written pluses with spaces. 43 | // If we can't decode the cookie, ignore it, it's unusable. 44 | // If we can't parse the cookie, ignore it, it's unusable. 45 | s = decodeURIComponent(s.replace(pluses, ' ')); 46 | return config.json ? JSON.parse(s) : s; 47 | } catch(e) {} 48 | } 49 | 50 | function read(s, converter) { 51 | var value = config.raw ? s : parseCookieValue(s); 52 | return $.isFunction(converter) ? converter(value) : value; 53 | } 54 | 55 | var config = $.cookie = function (key, value, options) { 56 | 57 | // Write 58 | 59 | if (value !== undefined && !$.isFunction(value)) { 60 | options = $.extend({}, config.defaults, options); 61 | 62 | if (typeof options.expires === 'number') { 63 | var days = options.expires, t = options.expires = new Date(); 64 | t.setTime(+t + days * 864e+5); 65 | } 66 | 67 | return (document.cookie = [ 68 | encode(key), '=', stringifyCookieValue(value), 69 | options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE 70 | options.path ? '; path=' + options.path : '', 71 | options.domain ? '; domain=' + options.domain : '', 72 | options.secure ? '; secure' : '' 73 | ].join('')); 74 | } 75 | 76 | // Read 77 | 78 | var result = key ? undefined : {}; 79 | 80 | // To prevent the for loop in the first place assign an empty array 81 | // in case there are no cookies at all. Also prevents odd result when 82 | // calling $.cookie(). 83 | var cookies = document.cookie ? document.cookie.split('; ') : []; 84 | 85 | for (var i = 0, l = cookies.length; i < l; i++) { 86 | var parts = cookies[i].split('='); 87 | var name = decode(parts.shift()); 88 | var cookie = parts.join('='); 89 | 90 | if (key && key === name) { 91 | // If second argument (value) is a function it's a converter... 92 | result = read(cookie, value); 93 | break; 94 | } 95 | 96 | // Prevent storing a cookie that we couldn't decode. 97 | if (!key && (cookie = read(cookie)) !== undefined) { 98 | result[name] = cookie; 99 | } 100 | } 101 | 102 | return result; 103 | }; 104 | 105 | config.defaults = {}; 106 | 107 | $.removeCookie = function (key, options) { 108 | if ($.cookie(key) === undefined) { 109 | return false; 110 | } 111 | 112 | // Must not alter options, thus extending a fresh object... 113 | $.cookie(key, '', $.extend({}, options, { expires: -1 })); 114 | return !$.cookie(key); 115 | }; 116 | 117 | })); 118 | -------------------------------------------------------------------------------- /lib/jquery.timeago/js/jquery.timeago.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Timeago is a jQuery plugin that makes it easy to support automatically 3 | * updating fuzzy timestamps (e.g. "4 minutes ago" or "about 1 day ago"). 4 | * 5 | * @name timeago 6 | * @version 1.6.3 7 | * @requires jQuery v1.2.3+ 8 | * @author Ryan McGeary 9 | * @license MIT License - http://www.opensource.org/licenses/mit-license.php 10 | * 11 | * For usage and examples, visit: 12 | * http://timeago.yarp.com/ 13 | * 14 | * Copyright (c) 2008-2017, Ryan McGeary (ryan -[at]- mcgeary [*dot*] org) 15 | */ 16 | 17 | (function (factory) { 18 | if (typeof define === 'function' && define.amd) { 19 | // AMD. Register as an anonymous module. 20 | define(['jquery'], factory); 21 | } else if (typeof module === 'object' && typeof module.exports === 'object') { 22 | factory(require('jquery')); 23 | } else { 24 | // Browser globals 25 | factory(jQuery); 26 | } 27 | }(function ($) { 28 | $.timeago = function(timestamp) { 29 | if (timestamp instanceof Date) { 30 | return inWords(timestamp); 31 | } else if (typeof timestamp === "string") { 32 | return inWords($.timeago.parse(timestamp)); 33 | } else if (typeof timestamp === "number") { 34 | return inWords(new Date(timestamp)); 35 | } else { 36 | return inWords($.timeago.datetime(timestamp)); 37 | } 38 | }; 39 | var $t = $.timeago; 40 | 41 | $.extend($.timeago, { 42 | settings: { 43 | refreshMillis: 60000, 44 | allowPast: true, 45 | allowFuture: false, 46 | localeTitle: false, 47 | cutoff: 0, 48 | autoDispose: true, 49 | strings: { 50 | prefixAgo: null, 51 | prefixFromNow: null, 52 | suffixAgo: "ago", 53 | suffixFromNow: "from now", 54 | inPast: 'any moment now', 55 | seconds: "less than a minute", 56 | minute: "about a minute", 57 | minutes: "%d minutes", 58 | hour: "about an hour", 59 | hours: "about %d hours", 60 | day: "a day", 61 | days: "%d days", 62 | month: "about a month", 63 | months: "%d months", 64 | year: "about a year", 65 | years: "%d years", 66 | wordSeparator: " ", 67 | numbers: [] 68 | } 69 | }, 70 | 71 | inWords: function(distanceMillis) { 72 | if (!this.settings.allowPast && ! this.settings.allowFuture) { 73 | throw 'timeago allowPast and allowFuture settings can not both be set to false.'; 74 | } 75 | 76 | var $l = this.settings.strings; 77 | var prefix = $l.prefixAgo; 78 | var suffix = $l.suffixAgo; 79 | if (this.settings.allowFuture) { 80 | if (distanceMillis < 0) { 81 | prefix = $l.prefixFromNow; 82 | suffix = $l.suffixFromNow; 83 | } 84 | } 85 | 86 | if (!this.settings.allowPast && distanceMillis >= 0) { 87 | return this.settings.strings.inPast; 88 | } 89 | 90 | var seconds = Math.abs(distanceMillis) / 1000; 91 | var minutes = seconds / 60; 92 | var hours = minutes / 60; 93 | var days = hours / 24; 94 | var years = days / 365; 95 | 96 | function substitute(stringOrFunction, number) { 97 | var string = $.isFunction(stringOrFunction) ? stringOrFunction(number, distanceMillis) : stringOrFunction; 98 | var value = ($l.numbers && $l.numbers[number]) || number; 99 | return string.replace(/%d/i, value); 100 | } 101 | 102 | var words = seconds < 45 && substitute($l.seconds, Math.round(seconds)) || 103 | seconds < 90 && substitute($l.minute, 1) || 104 | minutes < 45 && substitute($l.minutes, Math.round(minutes)) || 105 | minutes < 90 && substitute($l.hour, 1) || 106 | hours < 24 && substitute($l.hours, Math.round(hours)) || 107 | hours < 42 && substitute($l.day, 1) || 108 | days < 30 && substitute($l.days, Math.round(days)) || 109 | days < 45 && substitute($l.month, 1) || 110 | days < 365 && substitute($l.months, Math.round(days / 30)) || 111 | years < 1.5 && substitute($l.year, 1) || 112 | substitute($l.years, Math.round(years)); 113 | 114 | var separator = $l.wordSeparator || ""; 115 | if ($l.wordSeparator === undefined) { separator = " "; } 116 | return $.trim([prefix, words, suffix].join(separator)); 117 | }, 118 | 119 | parse: function(iso8601) { 120 | var s = $.trim(iso8601); 121 | s = s.replace(/\.\d+/,""); // remove milliseconds 122 | s = s.replace(/-/,"/").replace(/-/,"/"); 123 | s = s.replace(/T/," ").replace(/Z/," UTC"); 124 | s = s.replace(/([\+\-]\d\d)\:?(\d\d)/," $1$2"); // -04:00 -> -0400 125 | s = s.replace(/([\+\-]\d\d)$/," $100"); // +09 -> +0900 126 | return new Date(s); 127 | }, 128 | datetime: function(elem) { 129 | var iso8601 = $t.isTime(elem) ? $(elem).attr("datetime") : $(elem).attr("title"); 130 | return $t.parse(iso8601); 131 | }, 132 | isTime: function(elem) { 133 | // jQuery's `is()` doesn't play well with HTML5 in IE 134 | return $(elem).get(0).tagName.toLowerCase() === "time"; // $(elem).is("time"); 135 | } 136 | }); 137 | 138 | // functions that can be called via $(el).timeago('action') 139 | // init is default when no action is given 140 | // functions are called with context of a single element 141 | var functions = { 142 | init: function() { 143 | functions.dispose.call(this); 144 | var refresh_el = $.proxy(refresh, this); 145 | refresh_el(); 146 | var $s = $t.settings; 147 | if ($s.refreshMillis > 0) { 148 | this._timeagoInterval = setInterval(refresh_el, $s.refreshMillis); 149 | } 150 | }, 151 | update: function(timestamp) { 152 | var date = (timestamp instanceof Date) ? timestamp : $t.parse(timestamp); 153 | $(this).data('timeago', { datetime: date }); 154 | if ($t.settings.localeTitle) { 155 | $(this).attr("title", date.toLocaleString()); 156 | } 157 | refresh.apply(this); 158 | }, 159 | updateFromDOM: function() { 160 | $(this).data('timeago', { datetime: $t.parse( $t.isTime(this) ? $(this).attr("datetime") : $(this).attr("title") ) }); 161 | refresh.apply(this); 162 | }, 163 | dispose: function () { 164 | if (this._timeagoInterval) { 165 | window.clearInterval(this._timeagoInterval); 166 | this._timeagoInterval = null; 167 | } 168 | } 169 | }; 170 | 171 | $.fn.timeago = function(action, options) { 172 | var fn = action ? functions[action] : functions.init; 173 | if (!fn) { 174 | throw new Error("Unknown function name '"+ action +"' for timeago"); 175 | } 176 | // each over objects here and call the requested function 177 | this.each(function() { 178 | fn.call(this, options); 179 | }); 180 | return this; 181 | }; 182 | 183 | function refresh() { 184 | var $s = $t.settings; 185 | 186 | //check if it's still visible 187 | if ($s.autoDispose && !$.contains(document.documentElement,this)) { 188 | //stop if it has been removed 189 | $(this).timeago("dispose"); 190 | return this; 191 | } 192 | 193 | var data = prepareData(this); 194 | 195 | if (!isNaN(data.datetime)) { 196 | if ( $s.cutoff === 0 || Math.abs(distance(data.datetime)) < $s.cutoff) { 197 | $(this).text(inWords(data.datetime)); 198 | } else { 199 | if ($(this).attr('title').length > 0) { 200 | $(this).text($(this).attr('title')); 201 | } 202 | } 203 | } 204 | return this; 205 | } 206 | 207 | function prepareData(element) { 208 | element = $(element); 209 | if (!element.data("timeago")) { 210 | element.data("timeago", { datetime: $t.datetime(element) }); 211 | var text = $.trim(element.text()); 212 | if ($t.settings.localeTitle) { 213 | element.attr("title", element.data('timeago').datetime.toLocaleString()); 214 | } else if (text.length > 0 && !($t.isTime(element) && element.attr("title"))) { 215 | element.attr("title", text); 216 | } 217 | } 218 | return element.data("timeago"); 219 | } 220 | 221 | function inWords(date) { 222 | return $t.inWords(distance(date)); 223 | } 224 | 225 | function distance(date) { 226 | return (new Date().getTime() - date.getTime()); 227 | } 228 | 229 | // fix for IE6 suckage 230 | document.createElement("abbr"); 231 | document.createElement("time"); 232 | })); 233 | -------------------------------------------------------------------------------- /pages/admin/monitoring.html: -------------------------------------------------------------------------------- 1 | 2 | 72 | 73 | 74 |
75 |
76 |
77 |
78 |
79 | 80 | 81 | 147 | -------------------------------------------------------------------------------- /pages/admin/ports.html: -------------------------------------------------------------------------------- 1 |

Current Ports Usage (0 users)

2 | 3 | 4 | 13 | 14 | 15 |
16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 |
PortConnected Users 
28 |
29 |
30 | 31 | 32 | 85 | 86 | -------------------------------------------------------------------------------- /pages/admin/statistics.html: -------------------------------------------------------------------------------- 1 |

Pool Statistics

2 | 3 | 4 |
5 | 6 | 7 |
8 |
9 |
10 | 11 |
12 |
13 |
Total Mined
14 |
...
15 |
16 |
17 |
18 | 19 | 20 |
21 |
22 |
23 | 24 |
25 |
26 |
Total Paid
27 |
...
28 |
29 |
30 |
31 | 32 | 33 |
34 |
35 |
36 | 37 |
38 |
39 |
Total Owed
40 |
...
41 |
42 |
43 |
44 | 45 | 46 |
47 |
48 |
49 | 50 |
51 |
52 |
Profit (before tx fees)
53 |
...
54 |
55 |
56 |
57 | 58 | 59 |
60 |
61 |
62 | 63 |
64 |
65 |
Registered Addresses
66 |
...
67 |
68 |
69 |
70 | 71 | 72 |
73 |
74 |
75 | 76 |
77 |
78 |
Blocks Unlocked
79 |
...
80 |
81 |
82 |
83 | 84 | 85 |
86 |
87 |
88 | 89 |
90 |
91 |
Blocks Orphaned
92 |
... (0%)
93 |
94 |
95 |
96 | 97 | 98 |
99 |
100 |
101 | 102 |
103 |
104 |
Average Luck (shares/diff)
105 |
...
106 |
107 |
108 |
109 | 110 |
111 | 112 | 113 | 171 | -------------------------------------------------------------------------------- /pages/admin/tools.html: -------------------------------------------------------------------------------- 1 | 2 |

Test E-Mail notifications

3 | 4 |
5 |
6 | 7 |
8 |
9 |
10 | 11 |
12 |
13 | 16 |
17 |
18 |
19 | 20 | 21 |

Test Telegram Channel notifications

22 | 23 |
24 |
25 | 26 |
27 |
28 |
29 | 32 |
33 |
34 |
35 | 36 | 125 | -------------------------------------------------------------------------------- /pages/admin/userslist.html: -------------------------------------------------------------------------------- 1 |

Users List (0 users)

2 | 3 | 4 | 16 | 17 | 18 |
19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 |
WalletHashrate Hashes Pending Paid Last share
35 |
36 |
37 | 38 | 39 | 97 | -------------------------------------------------------------------------------- /pages/faq.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 7 |
Frequently Asked Questions (FAQ)
8 |
9 | 10 |
11 |
What is difficulty?
12 |
Difficulty is a measure of how difficult it is to find a hash below a given target.
13 |
14 | 15 |
16 |
What is luck?
17 |
Mining is probabilistic in nature: if you find a block earlier than you statistically should on average you are lucky if it takes longer, you are unlucky. In a perfect World pool would find a block on 100% luck value. Less then 100% means the pool was lucky. More then 100% means the pool was unlucky.
18 |
19 | 20 |
21 |
What is share?
22 |
Share is a possible valid hash for the block. Shares are beings sent by your rigs to the pool to prove their work.
23 |
24 | 25 |
26 |
What is block?
27 |
Transaction data is recorded in blocks. New transactions are being processes by miners into new blocks which are added to the end of the blockchain.
28 |
29 | 30 |
31 |
How long does it take to find a block?
32 |
It depends on amount of active miners. The more miners work on pool → the more hashrate pool has → the more blocks are found by the pool. However the more miners are active → the less reward you get from each block found.
33 |
34 | 35 |
36 |
Which payouts scheme is used?
37 |
Proportional (Share-based): Every time a block is found, its reward is split between miners according to the number of shares they submitted.
38 |
39 | 40 |
41 |
How current payout estimate is calculated?
42 |
The estimated payout is a calculated using your percentage of valid shares on the total for current round. This percentage is then applied to the reward of the last block found by the network.
43 |
44 | 45 |
46 |
I have been mining on this pool for 1 hour but still have not received any payouts. WTF?
47 |
As soon as the block is found you will get your reward. Please wait a little bit more time.
48 |
49 | 50 |
51 |
My hashrate is wrong! Why?
52 |
Since you start to mine your hashrate grows gradually. Please wait. The pool determines your hashrate based on the amount of shares sent by your mining rigs (workers). This value could be a little bit different from reported hasrate (in your mining software).
53 |
54 | 55 |
56 |

How to use the Telegram Bot?

57 |
58 |
Telegram bot will report via Telegram, when your worker is connected, disconnected or banned, and payments have been made to your wallet. Also you can check pool stats directly from him.
59 |
60 | 61 | Bot name: @Pool_bot
62 |
63 | 64 | Commands:
65 | /stats - Pool statistics
66 | /blocks - Blocks notifications (enable or disable)
67 | /report address - Miner statistics
68 | /notify address - Miner notifications (enable or disable)
69 |
70 | 71 | Multiple addresses monitoring available.
72 |
73 |
74 | 75 | 76 | 77 | -------------------------------------------------------------------------------- /pages/payments.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 7 |
Payments
8 |
9 | 10 | 11 |
12 |
13 |
14 |
15 |
16 | 17 |
18 | 19 |

N/A (N/A miners)

20 |
21 |
22 |
23 |
24 |
25 | 26 |
27 | 28 |

N/A

29 |
30 |
31 |
32 |
33 |
34 | 35 |
36 | 37 |

N/A

38 |
39 |
40 |
41 |
42 |
43 | 44 |
45 | 46 |

N/A

47 |
48 |
49 |
50 |
51 | 52 | 53 |
54 |
55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 |
Time SentTransaction HashAmountFeeMixinPayees
70 |
71 |
72 | 73 |

74 | 75 |

76 |
77 | 78 | 79 | 180 | -------------------------------------------------------------------------------- /pages/top10miners.html: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 | 8 |
Top 10 miners
9 |
10 | 11 |
12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
#MinerHash RateLast Share SubmittedTotal Hashes Submitted
26 |
27 |
28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /themes/admin.css: -------------------------------------------------------------------------------- 1 | #page-wrapper { 2 | padding: 0 15px 0; 3 | min-height: 568px; 4 | } 5 | @media (min-width: 992px) { 6 | #page-wrapper { 7 | padding: 0 30px; 8 | } 9 | } 10 | 11 | .nav-side-menu li.sign-out { 12 | border-left: 3px solid darkred; 13 | background-color: rgba(255,0,0,.2); 14 | } 15 | 16 | .nav-side-menu li.sign-out:hover { 17 | border-left: 3px solid darkred; 18 | background-color: darkred; 19 | } 20 | 21 | /* Pool Statistics */ 22 | #poolStats .luckGood { 23 | color: #5eff5e; 24 | } 25 | #poolStats .luckBad { 26 | color: red; 27 | } 28 | #poolStats .luckMid { 29 | color: #FFF500; 30 | } 31 | 32 | /* Users list */ 33 | .usersList { 34 | word-wrap: break-word; 35 | } 36 | .usersList .tooltip-inner { 37 | max-width: 100%; 38 | } 39 | @media (min-width: 768px) { 40 | .usersList { 41 | table-layout: fixed; 42 | } 43 | .usersList tr > th, 44 | .usersList tr > td { 45 | text-align: center; 46 | white-space: nowrap; 47 | } 48 | .usersList .col1 { 49 | white-space: normal; 50 | } 51 | .usersList .col2 { 52 | width: 100px; 53 | } 54 | .usersList .col3 { 55 | width: 100px; 56 | } 57 | .usersList .col4 { 58 | width: 100px; 59 | } 60 | .usersList .col5 { 61 | width: 100px; 62 | } 63 | .usersList .col6 { 64 | width: 120px; 65 | white-space: normal; 66 | } 67 | } 68 | 69 | /* Monitoring */ 70 | .adminMonitor code { 71 | white-space: normal; 72 | } 73 | .adminMonitor .tab-pane li { 74 | margin-bottom: 10px; 75 | } 76 | .adminMonitor .infos { 77 | margin-bottom: 20px; 78 | } 79 | .adminMonitor #logTable th { 80 | white-space: nowrap; 81 | } 82 | 83 | /* Ports Usage */ 84 | #portsUsage tr > td { 85 | vertical-align: middle; 86 | font-size: 0.95em; 87 | } 88 | #portsUsage table .col1, 89 | #portsUsage table .col2 { 90 | text-align: center; 91 | } 92 | @media (min-width: 768px) { 93 | #portsUsage table th { 94 | white-space: nowrap; 95 | } 96 | #portsUsage table .col1 { 97 | width:60px; 98 | } 99 | #portsUsage table .col2 { 100 | width:160px; 101 | text-align: center; 102 | } 103 | } 104 | -------------------------------------------------------------------------------- /themes/custom.css: -------------------------------------------------------------------------------- 1 | /* Insert your pool's unique CSS here */ 2 | --------------------------------------------------------------------------------