diff --git a/.github/ISSUE_TEMPLATE b/.github/ISSUE_TEMPLATE
new file mode 100644
index 0000000..3200ab3
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE
@@ -0,0 +1,7 @@
+
diff --git a/.github/PULL_REQUEST_TEMPLATE b/.github/PULL_REQUEST_TEMPLATE
new file mode 100644
index 0000000..3200ab3
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE
@@ -0,0 +1,7 @@
+
diff --git a/README.md b/README.md
index 6a2428e..ea0e3c8 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,8 @@
+___
+
+**This project isn't actively maintained.**
+___
+
Offline
======
@@ -12,21 +17,10 @@ Improve the experience of your app when your users lose connection.
- Simple UI with beautiful themes
- 3kb minified and compressed
-Install with Eager
-------------------
-
-The easiest way to add Offline to your site is with [Eager](http://eager.io).
-Click Install to see a live preview of Offline on your website.
-
-
-
-
-
-
-Manual Installation
+Installation
-------------------
-Include [the javascript](https://raw.github.com/HubSpot/offline/v0.7.13/offline.min.js), one of [the themes](http://github.hubspot.com/offline/docs/welcome/), and one of [the
+Include [the javascript](https://raw.github.com/HubSpot/offline/v0.7.14/offline.min.js), one of [the themes](http://github.hubspot.com/offline/docs/welcome/), and one of [the
languages](https://github.com/HubSpot/offline/tree/master/themes) on your site. You're done!
To use only the JavaScript API without a UI indicator, simply leave out the CSS file.
@@ -88,7 +82,7 @@ Properties
- reconnect:connecting: We are reconnecting now
- reconnect:failure: A reconnect check attempt failed
- requests:flush: Any pending requests have been remade
- - requests:hold: A new request is being held
+ - requests:capture: A new request is being held
`Offline.off(event, handler)`: Unbind an event
@@ -113,7 +107,7 @@ If you do want to run tests on a different domain, try the image method. It loa
Offline.options = {checks: {image: {url: 'my-image.gif'}, active: 'image'}}
```
-The one cavet is that with the image method, we can't distinguish a 404 from a genuine connection issue, so any error at all will
+The one caveat is that with the image method, we can't distinguish a 404 from a genuine connection issue, so any error at all will
appear to Offline as a connection issue.
Offline also includes a check called `'up'` and another called `'down'` which will always report being up or down respectively for
@@ -148,3 +142,5 @@ Browser Support
---------------
Modern Chrome, Firefox, Safari and IE8+
+
+Note that not all browsers (including Safari and old IE) support the offline events, forcing Offline to use less accurate methods of detection.
diff --git a/bower.json b/bower.json
index cb139a3..b9abb1b 100644
--- a/bower.json
+++ b/bower.json
@@ -1,6 +1,5 @@
{
"name": "offline",
- "version": "0.7.13",
"homepage": "http://github.hubspot.com/offline/docs/welcome",
"authors": [
"Zack Bloom ",
diff --git a/coffee/offline.coffee b/coffee/offline.coffee
index e1f4e3a..df50587 100644
--- a/coffee/offline.coffee
+++ b/coffee/offline.coffee
@@ -14,7 +14,7 @@ extendNative = (to, from) ->
Offline = {}
-Offline.options ?= {}
+Offline.options = if window.Offline then window.Offline.options or {} else {}
defaultOptions =
checks:
xhr:
@@ -115,7 +115,8 @@ Offline.off = (event, handler) ->
Offline.trigger = (event) ->
if handlers[event]?
- for [ctx, handler] in handlers[event]
+ # we have to make a copy of the handlers since its possible that the called functions will modify the handlers array by calling off/on
+ for [ctx, handler] in handlers[event][..]
handler.call(ctx)
checkXHR = (xhr, onUp, onDown) ->
diff --git a/coffee/requests.coffee b/coffee/requests.coffee
index 649ab24..4b1ddd1 100644
--- a/coffee/requests.coffee
+++ b/coffee/requests.coffee
@@ -5,6 +5,7 @@ held = []
waitingOnConfirm = false
holdRequest = (req) ->
+ return if Offline.getOption('requests') is false
Offline.trigger 'requests:capture'
if Offline.state isnt 'down'
@@ -13,6 +14,7 @@ holdRequest = (req) ->
held.push req
makeRequest = ({xhr, url, type, user, password, body}) ->
+ return if Offline.getOption('requests') is false
xhr.abort()
xhr.open(type, url, true, user, password)
xhr.setRequestHeader(name, val) for name, val of xhr.headers
@@ -26,6 +28,7 @@ clear = ->
held = []
flush = ->
+ return if Offline.getOption('requests') is false
Offline.trigger 'requests:flush'
requests = {}
@@ -33,8 +36,8 @@ flush = ->
# TODO: Throw out PUT/POST/DELETE requests after too much time?
for request in held
# Break cache breaking
- url = request.url.replace /(\?|&)_=[0-9]+/, (match, char) ->
- if char is '?' then char else ''
+ url = request.url.replace /(\?|&)_=[0-9]+/, (match, chr) ->
+ if chr is '?' then chr else ''
if Offline.getOption('deDupBody')
body = request.body
diff --git a/coffee/simulate.coffee b/coffee/simulate.coffee
index 62efe4b..1b9c745 100644
--- a/coffee/simulate.coffee
+++ b/coffee/simulate.coffee
@@ -2,7 +2,12 @@ unless Offline
throw new Error("Offline simulate brought in without offline.js")
for state in ['up', 'down']
- if document.querySelector("script[data-simulate='#{ state }']") or localStorage?.OFFLINE_SIMULATE is state
+ try
+ simulate = document.querySelector("script[data-simulate='#{ state }']") or localStorage?.OFFLINE_SIMULATE is state
+ catch e
+ simulate = false
+
+ if simulate
Offline.options ?= {}
Offline.options.checks ?= {}
Offline.options.checks.active = state
diff --git a/docs/welcome/index.html b/docs/welcome/index.html
index c7eb9f9..34f560a 100644
--- a/docs/welcome/index.html
+++ b/docs/welcome/index.html
@@ -355,7 +355,7 @@ Install
Download
- Offline.js
+ Offline.js
Pick a Theme
diff --git a/install.json b/install.json
index 64a8fb5..6f14fc8 100644
--- a/install.json
+++ b/install.json
@@ -40,19 +40,34 @@
"description": "The language of the message displayed to the user when connectivity is lost or regained.",
"type": "string",
"enum": [
+ "arabic",
+ "chinese-simplified",
+ "chinese-traditional",
"dutch",
"english",
"french",
"german",
+ "italian",
+ "pashto",
+ "persian",
+ "polish",
"portuguese-brazil",
"spanish",
"turkish"
],
"enumNames": {
+ "arabic": "Arabic",
+ "chinese-simplified": "Simplified Chinese",
+ "chinese-traditional": "Traditional Chinese",
+ "czech": "Czech",
"dutch": "Dutch",
"english": "English",
"french": "French",
"german": "German",
+ "italian": "Italian",
+ "pashto": "Pashto",
+ "persian": "Persian",
+ "polish": "Polish",
"portuguese-brazil": "Brazilian Portuguese",
"spanish": "Spanish",
"turkish": "Turkish"
diff --git a/js/offline.js b/js/offline.js
index fa72cae..30bbea9 100644
--- a/js/offline.js
+++ b/js/offline.js
@@ -2,28 +2,26 @@
var Offline, checkXHR, defaultOptions, extendNative, grab, handlers, init;
extendNative = function(to, from) {
- var e, key, val, _results;
- _results = [];
+ var e, key, results, val;
+ results = [];
for (key in from.prototype) {
try {
val = from.prototype[key];
if ((to[key] == null) && typeof val !== 'function') {
- _results.push(to[key] = val);
+ results.push(to[key] = val);
} else {
- _results.push(void 0);
+ results.push(void 0);
}
} catch (_error) {
e = _error;
}
}
- return _results;
+ return results;
};
Offline = {};
- if (Offline.options == null) {
- Offline.options = {};
- }
+ Offline.options = window.Offline ? window.Offline.options || {} : {};
defaultOptions = {
checks: {
@@ -48,10 +46,10 @@
};
grab = function(obj, key) {
- var cur, i, part, parts, _i, _len;
+ var cur, i, j, len, part, parts;
cur = obj;
parts = key.split('.');
- for (i = _i = 0, _len = parts.length; _i < _len; i = ++_i) {
+ for (i = j = 0, len = parts.length; j < len; i = ++j) {
part = parts[i];
cur = cur[part];
if (typeof cur !== 'object') {
@@ -66,8 +64,8 @@
};
Offline.getOption = function(key) {
- var val, _ref;
- val = (_ref = grab(Offline.options, key)) != null ? _ref : grab(defaultOptions, key);
+ var ref, val;
+ val = (ref = grab(Offline.options, key)) != null ? ref : grab(defaultOptions, key);
if (typeof val === 'function') {
return val();
} else {
@@ -110,15 +108,15 @@
handlers = {};
Offline.on = function(event, handler, ctx) {
- var e, events, _i, _len, _results;
+ var e, events, j, len, results;
events = event.split(' ');
if (events.length > 1) {
- _results = [];
- for (_i = 0, _len = events.length; _i < _len; _i++) {
- e = events[_i];
- _results.push(Offline.on(e, handler, ctx));
+ results = [];
+ for (j = 0, len = events.length; j < len; j++) {
+ e = events[j];
+ results.push(Offline.on(e, handler, ctx));
}
- return _results;
+ return results;
} else {
if (handlers[event] == null) {
handlers[event] = [];
@@ -128,7 +126,7 @@
};
Offline.off = function(event, handler) {
- var ctx, i, _handler, _ref, _results;
+ var _handler, ctx, i, ref, results;
if (handlers[event] == null) {
return;
}
@@ -136,34 +134,34 @@
return handlers[event] = [];
} else {
i = 0;
- _results = [];
+ results = [];
while (i < handlers[event].length) {
- _ref = handlers[event][i], ctx = _ref[0], _handler = _ref[1];
+ ref = handlers[event][i], ctx = ref[0], _handler = ref[1];
if (_handler === handler) {
- _results.push(handlers[event].splice(i, 1));
+ results.push(handlers[event].splice(i, 1));
} else {
- _results.push(i++);
+ results.push(i++);
}
}
- return _results;
+ return results;
}
};
Offline.trigger = function(event) {
- var ctx, handler, _i, _len, _ref, _ref1, _results;
+ var ctx, handler, j, len, ref, ref1, results;
if (handlers[event] != null) {
- _ref = handlers[event];
- _results = [];
- for (_i = 0, _len = _ref.length; _i < _len; _i++) {
- _ref1 = _ref[_i], ctx = _ref1[0], handler = _ref1[1];
- _results.push(handler.call(ctx));
+ ref = handlers[event].slice(0);
+ results = [];
+ for (j = 0, len = ref.length; j < len; j++) {
+ ref1 = ref[j], ctx = ref1[0], handler = ref1[1];
+ results.push(handler.call(ctx));
}
- return _results;
+ return results;
}
};
checkXHR = function(xhr, onUp, onDown) {
- var checkStatus, _onerror, _onload, _onreadystatechange, _ontimeout;
+ var _onerror, _onload, _onreadystatechange, _ontimeout, checkStatus;
checkStatus = function() {
if (xhr.status && xhr.status < 12000) {
return onUp();
@@ -241,7 +239,7 @@
Offline.confirmUp = Offline.confirmDown = Offline.check;
Offline.onXHR = function(cb) {
- var monitorXHR, _XDomainRequest, _XMLHttpRequest;
+ var _XDomainRequest, _XMLHttpRequest, monitorXHR;
monitorXHR = function(req, flags) {
var _open;
_open = req.open;
@@ -260,7 +258,7 @@
};
_XMLHttpRequest = window.XMLHttpRequest;
window.XMLHttpRequest = function(flags) {
- var req, _overrideMimeType, _setRequestHeader;
+ var _overrideMimeType, _setRequestHeader, req;
req = new _XMLHttpRequest(flags);
monitorXHR(req, flags);
_setRequestHeader = req.setRequestHeader;
@@ -291,9 +289,9 @@
init = function() {
if (Offline.getOption('interceptRequests')) {
- Offline.onXHR(function(_arg) {
+ Offline.onXHR(function(arg) {
var xhr;
- xhr = _arg.xhr;
+ xhr = arg.xhr;
if (xhr.offline !== false) {
return checkXHR(xhr, Offline.markUp, Offline.confirmDown);
}
diff --git a/js/reconnect.js b/js/reconnect.js
index 7390ba1..69fd4f7 100644
--- a/js/reconnect.js
+++ b/js/reconnect.js
@@ -10,17 +10,17 @@
retryIntv = null;
reset = function() {
- var _ref;
+ var ref;
if ((rc.state != null) && rc.state !== 'inactive') {
Offline.trigger('reconnect:stopped');
}
rc.state = 'inactive';
- return rc.remaining = rc.delay = (_ref = Offline.getOption('reconnect.initialDelay')) != null ? _ref : 3;
+ return rc.remaining = rc.delay = (ref = Offline.getOption('reconnect.initialDelay')) != null ? ref : 3;
};
next = function() {
- var delay, _ref;
- delay = (_ref = Offline.getOption('reconnect.delay')) != null ? _ref : Math.min(Math.ceil(rc.delay * 1.5), 3600);
+ var delay, ref;
+ delay = (ref = Offline.getOption('reconnect.delay')) != null ? ref : Math.min(Math.ceil(rc.delay * 1.5), 3600);
return rc.remaining = rc.delay = delay;
};
diff --git a/js/requests.js b/js/requests.js
index 6513c0a..f6e0b47 100644
--- a/js/requests.js
+++ b/js/requests.js
@@ -10,6 +10,9 @@
waitingOnConfirm = false;
holdRequest = function(req) {
+ if (Offline.getOption('requests') === false) {
+ return;
+ }
Offline.trigger('requests:capture');
if (Offline.state !== 'down') {
waitingOnConfirm = true;
@@ -17,14 +20,17 @@
return held.push(req);
};
- makeRequest = function(_arg) {
- var body, name, password, type, url, user, val, xhr, _ref;
- xhr = _arg.xhr, url = _arg.url, type = _arg.type, user = _arg.user, password = _arg.password, body = _arg.body;
+ makeRequest = function(arg) {
+ var body, name, password, ref, type, url, user, val, xhr;
+ xhr = arg.xhr, url = arg.url, type = arg.type, user = arg.user, password = arg.password, body = arg.body;
+ if (Offline.getOption('requests') === false) {
+ return;
+ }
xhr.abort();
xhr.open(type, url, true, user, password);
- _ref = xhr.headers;
- for (name in _ref) {
- val = _ref[name];
+ ref = xhr.headers;
+ for (name in ref) {
+ val = ref[name];
xhr.setRequestHeader(name, val);
}
if (xhr.mimeType) {
@@ -38,14 +44,17 @@
};
flush = function() {
- var body, key, request, requests, url, _i, _len;
+ var body, i, key, len, request, requests, url;
+ if (Offline.getOption('requests') === false) {
+ return;
+ }
Offline.trigger('requests:flush');
requests = {};
- for (_i = 0, _len = held.length; _i < _len; _i++) {
- request = held[_i];
- url = request.url.replace(/(\?|&)_=[0-9]+/, function(match, char) {
- if (char === '?') {
- return char;
+ for (i = 0, len = held.length; i < len; i++) {
+ request = held[i];
+ url = request.url.replace(/(\?|&)_=[0-9]+/, function(match, chr) {
+ if (chr === '?') {
+ return chr;
} else {
return '';
}
@@ -57,9 +66,9 @@
} else {
body = body.toString();
}
- requests["" + (request.type.toUpperCase()) + " - " + url + " - " + body] = request;
+ requests[(request.type.toUpperCase()) + " - " + url + " - " + body] = request;
} else {
- requests["" + (request.type.toUpperCase()) + " - " + url] = request;
+ requests[(request.type.toUpperCase()) + " - " + url] = request;
}
}
for (key in requests) {
@@ -82,7 +91,7 @@
return waitingOnConfirm = false;
});
Offline.onXHR(function(request) {
- var async, hold, xhr, _onreadystatechange, _send;
+ var _onreadystatechange, _send, async, hold, xhr;
xhr = request.xhr, async = request.async;
if (xhr.offline === false) {
return;
diff --git a/js/simulate.js b/js/simulate.js
index 1123563..30bff80 100644
--- a/js/simulate.js
+++ b/js/simulate.js
@@ -1,22 +1,29 @@
(function() {
- var state, _base, _i, _len, _ref;
+ var base, e, i, len, ref, simulate, state;
if (!Offline) {
throw new Error("Offline simulate brought in without offline.js");
}
- _ref = ['up', 'down'];
- for (_i = 0, _len = _ref.length; _i < _len; _i++) {
- state = _ref[_i];
- if (document.querySelector("script[data-simulate='" + state + "']") || (typeof localStorage !== "undefined" && localStorage !== null ? localStorage.OFFLINE_SIMULATE : void 0) === state) {
- if (Offline.options == null) {
- Offline.options = {};
- }
- if ((_base = Offline.options).checks == null) {
- _base.checks = {};
- }
- Offline.options.checks.active = state;
+ ref = ['up', 'down'];
+ for (i = 0, len = ref.length; i < len; i++) {
+ state = ref[i];
+ try {
+ simulate = document.querySelector("script[data-simulate='" + state + "']") || (typeof localStorage !== "undefined" && localStorage !== null ? localStorage.OFFLINE_SIMULATE : void 0) === state;
+ } catch (_error) {
+ e = _error;
+ simulate = false;
}
}
+ if (simulate) {
+ if (Offline.options == null) {
+ Offline.options = {};
+ }
+ if ((base = Offline.options).checks == null) {
+ base.checks = {};
+ }
+ Offline.options.checks.active = state;
+ }
+
}).call(this);
diff --git a/js/snake.js b/js/snake.js
index ffc7c5c..adc434d 100644
--- a/js/snake.js
+++ b/js/snake.js
@@ -64,8 +64,8 @@
};
keyHandler = function(e) {
- var _ref;
- if ((37 <= (_ref = e.keyCode) && _ref <= 40)) {
+ var ref;
+ if ((37 <= (ref = e.keyCode) && ref <= 40)) {
snake.direction = Math.PI / 2 * ((e.keyCode - 35) % 4);
return false;
}
diff --git a/js/ui.js b/js/ui.js
index 527b8a1..3634fe4 100644
--- a/js/ui.js
+++ b/js/ui.js
@@ -1,5 +1,5 @@
(function() {
- var RETRY_TEMPLATE, TEMPLATE, addClass, content, createFromHTML, el, flashClass, flashTimeouts, init, removeClass, render, roundTime, _onreadystatechange;
+ var RETRY_TEMPLATE, TEMPLATE, _onreadystatechange, addClass, content, createFromHTML, el, flashClass, flashTimeouts, init, removeClass, render, roundTime;
if (!window.Offline) {
throw new Error("Offline UI brought in without offline.js");
@@ -98,10 +98,10 @@
return removeClass('offline-ui-waiting');
});
Offline.on('reconnect:tick', function() {
- var time, unit, _ref;
+ var ref, time, unit;
addClass('offline-ui-waiting');
removeClass('offline-ui-connecting');
- _ref = roundTime(Offline.reconnect.remaining), time = _ref[0], unit = _ref[1];
+ ref = roundTime(Offline.reconnect.remaining), time = ref[0], unit = ref[1];
content.setAttribute('data-retry-in-value', time);
return content.setAttribute('data-retry-in-unit', unit);
});
diff --git a/offline.js b/offline.js
index 2bc5d02..4c02d59 100644
--- a/offline.js
+++ b/offline.js
@@ -1,80 +1,81 @@
-/*! offline-js 0.7.13 */
+/*! offline-js 0.7.19 */
(function() {
var Offline, checkXHR, defaultOptions, extendNative, grab, handlers, init;
extendNative = function(to, from) {
- var e, key, val, _results;
- _results = [];
+ var key, results, val;
+ results = [];
for (key in from.prototype) try {
- val = from.prototype[key], null == to[key] && "function" != typeof val ? _results.push(to[key] = val) :_results.push(void 0);
+ val = from.prototype[key], null == to[key] && "function" != typeof val ? results.push(to[key] = val) :results.push(void 0);
} catch (_error) {
- e = _error;
+ _error;
}
- return _results;
- }, Offline = {}, null == Offline.options && (Offline.options = {}), defaultOptions = {
+ return results;
+ }, Offline = {}, Offline.options = window.Offline ? window.Offline.options || {} :{},
+ defaultOptions = {
checks:{
xhr:{
url:function() {
- return "/favicon.ico?_=" + Math.floor(1e9 * Math.random());
+ return "/favicon.ico?_=" + new Date().getTime();
},
timeout:5e3,
type:"HEAD"
},
image:{
url:function() {
- return "/favicon.ico?_=" + Math.floor(1e9 * Math.random());
+ return "/favicon.ico?_=" + new Date().getTime();
}
},
active:"xhr"
},
checkOnLoad:!1,
interceptRequests:!0,
- reconnect:!0
+ reconnect:!0,
+ deDupBody:!1
}, grab = function(obj, key) {
- var cur, i, part, parts, _i, _len;
- for (cur = obj, parts = key.split("."), i = _i = 0, _len = parts.length; _len > _i && (part = parts[i],
- cur = cur[part], "object" == typeof cur); i = ++_i) ;
+ var cur, i, j, len, part, parts;
+ for (cur = obj, parts = key.split("."), i = j = 0, len = parts.length; j < len && (part = parts[i],
+ "object" == typeof (cur = cur[part])); i = ++j) ;
return i === parts.length - 1 ? cur :void 0;
}, Offline.getOption = function(key) {
- var val, _ref;
- return val = null != (_ref = grab(Offline.options, key)) ? _ref :grab(defaultOptions, key),
+ var ref, val;
+ return val = null != (ref = grab(Offline.options, key)) ? ref :grab(defaultOptions, key),
"function" == typeof val ? val() :val;
}, "function" == typeof window.addEventListener && window.addEventListener("online", function() {
return setTimeout(Offline.confirmUp, 100);
}, !1), "function" == typeof window.addEventListener && window.addEventListener("offline", function() {
return Offline.confirmDown();
}, !1), Offline.state = "up", Offline.markUp = function() {
- return Offline.trigger("confirmed-up"), "up" !== Offline.state ? (Offline.state = "up",
- Offline.trigger("up")) :void 0;
+ if (Offline.trigger("confirmed-up"), "up" !== Offline.state) return Offline.state = "up",
+ Offline.trigger("up");
}, Offline.markDown = function() {
- return Offline.trigger("confirmed-down"), "down" !== Offline.state ? (Offline.state = "down",
- Offline.trigger("down")) :void 0;
+ if (Offline.trigger("confirmed-down"), "down" !== Offline.state) return Offline.state = "down",
+ Offline.trigger("down");
}, handlers = {}, Offline.on = function(event, handler, ctx) {
- var e, events, _i, _len, _results;
+ var e, events, j, len, results;
if (events = event.split(" "), events.length > 1) {
- for (_results = [], _i = 0, _len = events.length; _len > _i; _i++) e = events[_i],
- _results.push(Offline.on(e, handler, ctx));
- return _results;
+ for (results = [], j = 0, len = events.length; j < len; j++) e = events[j], results.push(Offline.on(e, handler, ctx));
+ return results;
}
return null == handlers[event] && (handlers[event] = []), handlers[event].push([ ctx, handler ]);
}, Offline.off = function(event, handler) {
- var ctx, i, _handler, _ref, _results;
+ var _handler, i, ref, results;
if (null != handlers[event]) {
if (handler) {
- for (i = 0, _results = []; i < handlers[event].length; ) _ref = handlers[event][i],
- ctx = _ref[0], _handler = _ref[1], _handler === handler ? _results.push(handlers[event].splice(i, 1)) :_results.push(i++);
- return _results;
+ for (i = 0, results = []; i < handlers[event].length; ) ref = handlers[event][i],
+ ref[0], _handler = ref[1], _handler === handler ? results.push(handlers[event].splice(i, 1)) :results.push(i++);
+ return results;
}
return handlers[event] = [];
}
}, Offline.trigger = function(event) {
- var ctx, handler, _i, _len, _ref, _ref1, _results;
+ var ctx, handler, j, len, ref, ref1, results;
if (null != handlers[event]) {
- for (_ref = handlers[event], _results = [], _i = 0, _len = _ref.length; _len > _i; _i++) _ref1 = _ref[_i],
- ctx = _ref1[0], handler = _ref1[1], _results.push(handler.call(ctx));
- return _results;
+ for (ref = handlers[event].slice(0), results = [], j = 0, len = ref.length; j < len; j++) ref1 = ref[j],
+ ctx = ref1[0], handler = ref1[1], results.push(handler.call(ctx));
+ return results;
}
}, checkXHR = function(xhr, onUp, onDown) {
- var checkStatus, _onerror, _onload, _onreadystatechange, _ontimeout;
+ var _onerror, _onload, _onreadystatechange, _ontimeout, checkStatus;
return checkStatus = function() {
return xhr.status && xhr.status < 12e3 ? onUp() :onDown();
}, null === xhr.onprogress ? (_onerror = xhr.onerror, xhr.onerror = function() {
@@ -87,25 +88,25 @@
return 4 === xhr.readyState ? checkStatus() :0 === xhr.readyState && onDown(), "function" == typeof _onreadystatechange ? _onreadystatechange.apply(null, arguments) :void 0;
});
}, Offline.checks = {}, Offline.checks.xhr = function() {
- var e, xhr;
+ var xhr;
xhr = new XMLHttpRequest(), xhr.offline = !1, xhr.open(Offline.getOption("checks.xhr.type"), Offline.getOption("checks.xhr.url"), !0),
null != xhr.timeout && (xhr.timeout = Offline.getOption("checks.xhr.timeout")),
checkXHR(xhr, Offline.markUp, Offline.markDown);
try {
xhr.send();
} catch (_error) {
- e = _error, Offline.markDown();
+ _error, Offline.markDown();
}
return xhr;
}, Offline.checks.image = function() {
var img;
- return img = document.createElement("img"), img.onerror = Offline.markDown, img.onload = Offline.markUp,
- void (img.src = Offline.getOption("checks.image.url"));
+ img = document.createElement("img"), img.onerror = Offline.markDown, img.onload = Offline.markUp,
+ img.src = Offline.getOption("checks.image.url");
}, Offline.checks.down = Offline.markDown, Offline.checks.up = Offline.markUp, Offline.check = function() {
return Offline.trigger("checking"), Offline.checks[Offline.getOption("checks.active")]();
}, Offline.confirmUp = Offline.confirmDown = Offline.check, Offline.onXHR = function(cb) {
- var monitorXHR, _XDomainRequest, _XMLHttpRequest;
- return monitorXHR = function(req, flags) {
+ var _XDomainRequest, _XMLHttpRequest, monitorXHR;
+ if (monitorXHR = function(req, flags) {
var _open;
return _open = req.open, req.open = function(type, url, async, user, password) {
return cb({
@@ -119,48 +120,48 @@
}), _open.apply(req, arguments);
};
}, _XMLHttpRequest = window.XMLHttpRequest, window.XMLHttpRequest = function(flags) {
- var req, _overrideMimeType, _setRequestHeader;
+ var _overrideMimeType, _setRequestHeader, req;
return req = new _XMLHttpRequest(flags), monitorXHR(req, flags), _setRequestHeader = req.setRequestHeader,
req.headers = {}, req.setRequestHeader = function(name, value) {
return req.headers[name] = value, _setRequestHeader.call(req, name, value);
}, _overrideMimeType = req.overrideMimeType, req.overrideMimeType = function(type) {
return req.mimeType = type, _overrideMimeType.call(req, type);
}, req;
- }, extendNative(window.XMLHttpRequest, _XMLHttpRequest), null != window.XDomainRequest ? (_XDomainRequest = window.XDomainRequest,
+ }, extendNative(window.XMLHttpRequest, _XMLHttpRequest), null != window.XDomainRequest) return _XDomainRequest = window.XDomainRequest,
window.XDomainRequest = function() {
var req;
return req = new _XDomainRequest(), monitorXHR(req), req;
- }, extendNative(window.XDomainRequest, _XDomainRequest)) :void 0;
+ }, extendNative(window.XDomainRequest, _XDomainRequest);
}, init = function() {
- return Offline.getOption("interceptRequests") && Offline.onXHR(function(_arg) {
+ if (Offline.getOption("interceptRequests") && Offline.onXHR(function(arg) {
var xhr;
- return xhr = _arg.xhr, xhr.offline !== !1 ? checkXHR(xhr, Offline.markUp, Offline.confirmDown) :void 0;
- }), Offline.getOption("checkOnLoad") ? Offline.check() :void 0;
+ if (xhr = arg.xhr, !1 !== xhr.offline) return checkXHR(xhr, Offline.markUp, Offline.confirmDown);
+ }), Offline.getOption("checkOnLoad")) return Offline.check();
}, setTimeout(init, 0), window.Offline = Offline;
}).call(this), function() {
var down, next, nope, rc, reset, retryIntv, tick, tryNow, up;
if (!window.Offline) throw new Error("Offline Reconnect brought in without offline.js");
rc = Offline.reconnect = {}, retryIntv = null, reset = function() {
- var _ref;
+ var ref;
return null != rc.state && "inactive" !== rc.state && Offline.trigger("reconnect:stopped"),
- rc.state = "inactive", rc.remaining = rc.delay = null != (_ref = Offline.getOption("reconnect.initialDelay")) ? _ref :3;
+ rc.state = "inactive", rc.remaining = rc.delay = null != (ref = Offline.getOption("reconnect.initialDelay")) ? ref :3;
}, next = function() {
- var delay, _ref;
- return delay = null != (_ref = Offline.getOption("reconnect.delay")) ? _ref :Math.min(Math.ceil(1.5 * rc.delay), 3600),
+ var delay, ref;
+ return delay = null != (ref = Offline.getOption("reconnect.delay")) ? ref :Math.min(Math.ceil(1.5 * rc.delay), 3600),
rc.remaining = rc.delay = delay;
}, tick = function() {
- return "connecting" !== rc.state ? (rc.remaining -= 1, Offline.trigger("reconnect:tick"),
- 0 === rc.remaining ? tryNow() :void 0) :void 0;
+ if ("connecting" !== rc.state) return rc.remaining -= 1, Offline.trigger("reconnect:tick"),
+ 0 === rc.remaining ? tryNow() :void 0;
}, tryNow = function() {
- return "waiting" === rc.state ? (Offline.trigger("reconnect:connecting"), rc.state = "connecting",
- Offline.check()) :void 0;
+ if ("waiting" === rc.state) return Offline.trigger("reconnect:connecting"), rc.state = "connecting",
+ Offline.check();
}, down = function() {
- return Offline.getOption("reconnect") ? (reset(), rc.state = "waiting", Offline.trigger("reconnect:started"),
- retryIntv = setInterval(tick, 1e3)) :void 0;
+ if (Offline.getOption("reconnect")) return reset(), rc.state = "waiting", Offline.trigger("reconnect:started"),
+ retryIntv = setInterval(tick, 1e3);
}, up = function() {
return null != retryIntv && clearInterval(retryIntv), reset();
}, nope = function() {
- return Offline.getOption("reconnect") && "connecting" === rc.state ? (Offline.trigger("reconnect:failure"),
+ if (Offline.getOption("reconnect")) return "connecting" === rc.state ? (Offline.trigger("reconnect:failure"),
rc.state = "waiting", next()) :void 0;
}, rc.tryNow = tryNow, reset(), Offline.on("down", down), Offline.on("confirmed-down", nope),
Offline.on("up", up);
@@ -168,54 +169,66 @@
var clear, flush, held, holdRequest, makeRequest, waitingOnConfirm;
if (!window.Offline) throw new Error("Requests module brought in without offline.js");
held = [], waitingOnConfirm = !1, holdRequest = function(req) {
- return Offline.trigger("requests:capture"), "down" !== Offline.state && (waitingOnConfirm = !0),
- held.push(req);
- }, makeRequest = function(_arg) {
- var body, name, password, type, url, user, val, xhr, _ref;
- xhr = _arg.xhr, url = _arg.url, type = _arg.type, user = _arg.user, password = _arg.password,
- body = _arg.body, xhr.abort(), xhr.open(type, url, !0, user, password), _ref = xhr.headers;
- for (name in _ref) val = _ref[name], xhr.setRequestHeader(name, val);
- return xhr.mimeType && xhr.overrideMimeType(xhr.mimeType), xhr.send(body);
+ if (!1 !== Offline.getOption("requests")) return Offline.trigger("requests:capture"),
+ "down" !== Offline.state && (waitingOnConfirm = !0), held.push(req);
+ }, makeRequest = function(arg) {
+ var body, name, password, ref, type, url, user, val, xhr;
+ if (xhr = arg.xhr, url = arg.url, type = arg.type, user = arg.user, password = arg.password,
+ body = arg.body, !1 !== Offline.getOption("requests")) {
+ xhr.abort(), xhr.open(type, url, !0, user, password), ref = xhr.headers;
+ for (name in ref) val = ref[name], xhr.setRequestHeader(name, val);
+ return xhr.mimeType && xhr.overrideMimeType(xhr.mimeType), xhr.send(body);
+ }
}, clear = function() {
return held = [];
}, flush = function() {
- var key, request, requests, url, _i, _len;
- for (Offline.trigger("requests:flush"), requests = {}, _i = 0, _len = held.length; _len > _i; _i++) request = held[_i],
- url = request.url.replace(/(\?|&)_=[0-9]+/, function(match, char) {
- return "?" === char ? char :"";
- }), requests["" + request.type.toUpperCase() + " - " + url] = request;
- for (key in requests) request = requests[key], makeRequest(request);
- return clear();
+ var body, i, key, len, request, requests, url;
+ if (!1 !== Offline.getOption("requests")) {
+ for (Offline.trigger("requests:flush"), requests = {}, i = 0, len = held.length; i < len; i++) request = held[i],
+ url = request.url.replace(/(\?|&)_=[0-9]+/, function(match, chr) {
+ return "?" === chr ? chr :"";
+ }), Offline.getOption("deDupBody") ? (body = request.body, body = "[object Object]" === body.toString() ? JSON.stringify(body) :body.toString(),
+ requests[request.type.toUpperCase() + " - " + url + " - " + body] = request) :requests[request.type.toUpperCase() + " - " + url] = request;
+ for (key in requests) request = requests[key], makeRequest(request);
+ return clear();
+ }
}, setTimeout(function() {
- return Offline.getOption("requests") !== !1 ? (Offline.on("confirmed-up", function() {
- return waitingOnConfirm ? (waitingOnConfirm = !1, clear()) :void 0;
+ if (!1 !== Offline.getOption("requests")) return Offline.on("confirmed-up", function() {
+ if (waitingOnConfirm) return waitingOnConfirm = !1, clear();
}), Offline.on("up", flush), Offline.on("down", function() {
return waitingOnConfirm = !1;
}), Offline.onXHR(function(request) {
- var async, hold, xhr, _onreadystatechange, _send;
- return xhr = request.xhr, async = request.async, xhr.offline !== !1 && (hold = function() {
+ var _onreadystatechange, _send, async, hold, xhr;
+ if (xhr = request.xhr, async = request.async, !1 !== xhr.offline && (hold = function() {
return holdRequest(request);
}, _send = xhr.send, xhr.send = function(body) {
return request.body = body, _send.apply(xhr, arguments);
- }, async) ? null === xhr.onprogress ? (xhr.addEventListener("error", hold, !1),
+ }, async)) return null === xhr.onprogress ? (xhr.addEventListener("error", hold, !1),
xhr.addEventListener("timeout", hold, !1)) :(_onreadystatechange = xhr.onreadystatechange,
xhr.onreadystatechange = function() {
return 0 === xhr.readyState ? hold() :4 === xhr.readyState && (0 === xhr.status || xhr.status >= 12e3) && hold(),
"function" == typeof _onreadystatechange ? _onreadystatechange.apply(null, arguments) :void 0;
- }) :void 0;
+ });
}), Offline.requests = {
flush:flush,
clear:clear
- }) :void 0;
+ };
}, 0);
}.call(this), function() {
- var state, _base, _i, _len, _ref;
+ var base, i, len, ref, simulate, state;
if (!Offline) throw new Error("Offline simulate brought in without offline.js");
- for (_ref = [ "up", "down" ], _i = 0, _len = _ref.length; _len > _i; _i++) state = _ref[_i],
- (document.querySelector("script[data-simulate='" + state + "']") || ("undefined" != typeof localStorage && null !== localStorage ? localStorage.OFFLINE_SIMULATE :void 0) === state) && (null == Offline.options && (Offline.options = {}),
- null == (_base = Offline.options).checks && (_base.checks = {}), Offline.options.checks.active = state);
+ for (ref = [ "up", "down" ], i = 0, len = ref.length; i < len; i++) {
+ state = ref[i];
+ try {
+ simulate = document.querySelector("script[data-simulate='" + state + "']") || ("undefined" != typeof localStorage && null !== localStorage ? localStorage.OFFLINE_SIMULATE :void 0) === state;
+ } catch (_error) {
+ _error, simulate = !1;
+ }
+ }
+ simulate && (null == Offline.options && (Offline.options = {}), null == (base = Offline.options).checks && (base.checks = {}),
+ Offline.options.checks.active = state);
}.call(this), function() {
- var RETRY_TEMPLATE, TEMPLATE, addClass, content, createFromHTML, el, flashClass, flashTimeouts, init, removeClass, render, roundTime, _onreadystatechange;
+ var RETRY_TEMPLATE, TEMPLATE, _onreadystatechange, addClass, content, createFromHTML, el, flashClass, flashTimeouts, init, removeClass, render, roundTime;
if (!window.Offline) throw new Error("Offline UI brought in without offline.js");
TEMPLATE = '',
RETRY_TEMPLATE = '', createFromHTML = function(html) {
@@ -258,9 +271,9 @@
}), Offline.on("reconnect:connecting", function() {
return addClass("offline-ui-connecting"), removeClass("offline-ui-waiting");
}), Offline.on("reconnect:tick", function() {
- var time, unit, _ref;
- return addClass("offline-ui-waiting"), removeClass("offline-ui-connecting"), _ref = roundTime(Offline.reconnect.remaining),
- time = _ref[0], unit = _ref[1], content.setAttribute("data-retry-in-value", time),
+ var ref, time, unit;
+ return addClass("offline-ui-waiting"), removeClass("offline-ui-connecting"), ref = roundTime(Offline.reconnect.remaining),
+ time = ref[0], unit = ref[1], content.setAttribute("data-retry-in-value", time),
content.setAttribute("data-retry-in-unit", unit);
}), Offline.on("reconnect:stopped", function() {
return removeClass("offline-ui-connecting offline-ui-waiting"), content.setAttribute("data-retry-in-value", null),
diff --git a/offline.min.js b/offline.min.js
new file mode 100644
index 0000000..469e4b7
--- /dev/null
+++ b/offline.min.js
@@ -0,0 +1,2 @@
+/*! offline-js 0.7.19 */
+(function(){var a,b,c,d,e,f,g;d=function(a,b){var c,d,e;d=[];for(c in b.prototype)try{e=b.prototype[c],null==a[c]&&"function"!=typeof e?d.push(a[c]=e):d.push(void 0)}catch(f){f}return d},a={},a.options=window.Offline?window.Offline.options||{}:{},c={checks:{xhr:{url:function(){return"/favicon.ico?_="+(new Date).getTime()},timeout:5e3,type:"HEAD"},image:{url:function(){return"/favicon.ico?_="+(new Date).getTime()}},active:"xhr"},checkOnLoad:!1,interceptRequests:!0,reconnect:!0,deDupBody:!1},e=function(a,b){var c,d,e,f,g,h;for(c=a,h=b.split("."),d=e=0,f=h.length;e1){for(j=[],h=0,i=g.length;h=12e3)&&f(),"function"==typeof b?b.apply(null,arguments):void 0})}),Offline.requests={flush:b,clear:a}},0)}.call(this),function(){var a,b,c,d,e,f;if(!Offline)throw new Error("Offline simulate brought in without offline.js");for(d=["up","down"],b=0,c=d.length;b',a='',f=function(a){var b;return b=document.createElement("div"),b.innerHTML=a,b.children[0]},g=e=null,d=function(a){return k(a),g.className+=" "+a},k=function(a){return g.className=g.className.replace(new RegExp("(^| )"+a.split(" ").join("|")+"( |$)","gi")," ")},i={},h=function(a,b){return d(a),null!=i[a]&&clearTimeout(i[a]),i[a]=setTimeout(function(){return k(a),delete i[a]},1e3*b)},m=function(a){var b,c,d,e;d={day:86400,hour:3600,minute:60,second:1};for(c in d)if(b=d[c],a>=b)return e=Math.floor(a/b),[e,c];return["now",""]},l=function(){var c,h;return g=f(b),document.body.appendChild(g),null!=Offline.reconnect&&Offline.getOption("reconnect")&&(g.appendChild(f(a)),c=g.querySelector(".offline-ui-retry"),h=function(a){return a.preventDefault(),Offline.reconnect.tryNow()},null!=c.addEventListener?c.addEventListener("click",h,!1):c.attachEvent("click",h)),d("offline-ui-"+Offline.state),e=g.querySelector(".offline-ui-content")},j=function(){return l(),Offline.on("up",function(){return k("offline-ui-down"),d("offline-ui-up"),h("offline-ui-up-2s",2),h("offline-ui-up-5s",5)}),Offline.on("down",function(){return k("offline-ui-up"),d("offline-ui-down"),h("offline-ui-down-2s",2),h("offline-ui-down-5s",5)}),Offline.on("reconnect:connecting",function(){return d("offline-ui-connecting"),k("offline-ui-waiting")}),Offline.on("reconnect:tick",function(){var a,b,c;return d("offline-ui-waiting"),k("offline-ui-connecting"),a=m(Offline.reconnect.remaining),b=a[0],c=a[1],e.setAttribute("data-retry-in-value",b),e.setAttribute("data-retry-in-unit",c)}),Offline.on("reconnect:stopped",function(){return k("offline-ui-connecting offline-ui-waiting"),e.setAttribute("data-retry-in-value",null),e.setAttribute("data-retry-in-unit",null)}),Offline.on("reconnect:failure",function(){return h("offline-ui-reconnect-failed-2s",2),h("offline-ui-reconnect-failed-5s",5)}),Offline.on("reconnect:success",function(){return h("offline-ui-reconnect-succeeded-2s",2),h("offline-ui-reconnect-succeeded-5s",5)})},"complete"===document.readyState?j():null!=document.addEventListener?document.addEventListener("DOMContentLoaded",j,!1):(c=document.onreadystatechange,document.onreadystatechange=function(){return"complete"===document.readyState&&j(),"function"==typeof c?c.apply(null,arguments):void 0})}.call(this);
\ No newline at end of file
diff --git a/package.json b/package.json
index 2c75fcb..89e2975 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "offline-js",
- "version": "0.7.13",
+ "version": "0.7.19",
"description": "Automatically detect when a browser is offline",
"authors": [
"Adam Schwartz ",
@@ -21,5 +21,8 @@
"grunt-contrib-compass": "^1.0.3",
"grunt-contrib-uglify": "^0.9.1",
"grunt-contrib-watch": "^0.6.1"
+ },
+ "scripts": {
+ "build": "grunt"
}
}
diff --git a/sass/_arabic.sass b/sass/_arabic.sass
new file mode 100644
index 0000000..3ef29d2
--- /dev/null
+++ b/sass/_arabic.sass
@@ -0,0 +1,51 @@
+@charset "utf-8"
+$upComputer: "الحاسوب متصل بالإنترنت."
+$upDevice: "جهازك متصل بالإنترنت"
+$upDeviceSmall: ".جهازك متصل"
+
+
+$downComputer: ".الحاسوب فقد الاتصال بالإنترنت"
+$downDevice: ".جهازك فقد الاتصال بالإنترنت"
+$downDeviceSmall: ".جهازك غير متصل"
+
+$connecting: "...محاولة إعادة الاتصال"
+
+$retryButton: " إعادة الاتصال"
+
+$reconnectFailed: ".فشلت محاولة الاتصال"
+
+$retryingSecondBeforeValueSingularComputer: " الاتصال فقد إعادة الاتصال في"
+$retryingSecondBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer
+
+$retryingMinuteBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer
+$retryingMinuteBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer
+
+$retryingHourBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer
+$retryingHourBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer
+
+$retryingSecondBeforeValueSingularDeviceSmall: " إعادة الاتصال في"
+$retryingSecondBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+
+$retryingMinuteBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+$retryingMinuteBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+
+$retryingHourBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+$retryingHourBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+
+$retryingSecondAfterValueSingularComputer: " ...ثانية"
+$retryingSecondAfterValuePluralComputer: " ...ثواني"
+
+$retryingSecondAfterValueSingularDeviceSmall: "...ث"
+$retryingSecondAfterValuePluralDeviceSmall: $retryingSecondAfterValueSingularDeviceSmall
+
+$retryingMinuteAfterValueSingularComputer: " ...دقيقة"
+$retryingMinuteAfterValuePluralComputer: " ...دقائق"
+
+$retryingMinuteAfterValueSingularDeviceSmall: "...د"
+$retryingMinuteAfterValuePluralDeviceSmall: $retryingMinuteAfterValueSingularDeviceSmall
+
+$retryingHourAfterValueSingularComputer: " ...ساعه"
+$retryingHourAfterValuePluralComputer: " ...ساعات"
+
+$retryingHourAfterValueSingularDeviceSmall: "...س"
+$retryingHourAfterValuePluralDeviceSmall: $retryingHourAfterValueSingularDeviceSmall
diff --git a/sass/_chinese-simplified.sass b/sass/_chinese-simplified.sass
new file mode 100644
index 0000000..bfd3d7e
--- /dev/null
+++ b/sass/_chinese-simplified.sass
@@ -0,0 +1,51 @@
+@charset "utf-8"
+
+$upComputer: "您的电脑已经连接到网络。"
+$upDevice: "您的设备已经连接到网络。"
+$upDeviceSmall: "您的设备已经连接到网络。"
+
+$downComputer: "您的电脑失去了网络连接。"
+$downDevice: "您的设备失去了网络连接。"
+$downDeviceSmall: "您的设备失去了网络连接。"
+
+$connecting: "正在尝试重连..."
+
+$retryButton: "重连"
+
+$reconnectFailed: "尝试连接网络失败。"
+
+$retryingSecondBeforeValueSingularComputer: "失去网络连接。 即将重连:"
+$retryingSecondBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer
+
+$retryingMinuteBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer
+$retryingMinuteBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer
+
+$retryingHourBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer
+$retryingHourBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer
+
+$retryingSecondBeforeValueSingularDeviceSmall: "即将重连:"
+$retryingSecondBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+
+$retryingMinuteBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+$retryingMinuteBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+
+$retryingHourBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+$retryingHourBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+
+$retryingSecondAfterValueSingularComputer: "秒..."
+$retryingSecondAfterValuePluralComputer: "秒..."
+
+$retryingSecondAfterValueSingularDeviceSmall: "s..."
+$retryingSecondAfterValuePluralDeviceSmall: $retryingSecondAfterValueSingularDeviceSmall
+
+$retryingMinuteAfterValueSingularComputer: "分钟..."
+$retryingMinuteAfterValuePluralComputer: "分钟..."
+
+$retryingMinuteAfterValueSingularDeviceSmall: "m..."
+$retryingMinuteAfterValuePluralDeviceSmall: $retryingMinuteAfterValueSingularDeviceSmall
+
+$retryingHourAfterValueSingularComputer: "小时..."
+$retryingHourAfterValuePluralComputer: "小时..."
+
+$retryingHourAfterValueSingularDeviceSmall: "h..."
+$retryingHourAfterValuePluralDeviceSmall: $retryingHourAfterValueSingularDeviceSmall
diff --git a/sass/_chinese-traditional.sass b/sass/_chinese-traditional.sass
new file mode 100644
index 0000000..d2eff22
--- /dev/null
+++ b/sass/_chinese-traditional.sass
@@ -0,0 +1,51 @@
+@charset "utf-8"
+
+$upComputer: "您的電腦已經連接到網絡。"
+$upDevice: "您的設備已經連接到網絡。"
+$upDeviceSmall: "您的設備已經連接到網絡。"
+
+$downComputer: "您的電腦失去了網絡連接。"
+$downDevice: "您的設備失去了網絡連接。"
+$downDeviceSmall: "您的設備失去了網絡連接。"
+
+$connecting: "正在嘗試重連..."
+
+$retryButton: "重連"
+
+$reconnectFailed: "嘗試連接網絡失敗。"
+
+$retryingSecondBeforeValueSingularComputer: "失去網絡連接。即將重連:"
+$retryingSecondBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer
+
+$retryingMinuteBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer
+$retryingMinuteBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer
+
+$retryingHourBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer
+$retryingHourBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer
+
+$retryingSecondBeforeValueSingularDeviceSmall: "即將重連:"
+$retryingSecondBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+
+$retryingMinuteBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+$retryingMinuteBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+
+$retryingHourBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+$retryingHourBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+
+$retryingSecondAfterValueSingularComputer: "秒..."
+$retryingSecondAfterValuePluralComputer: "秒..."
+
+$retryingSecondAfterValueSingularDeviceSmall: "s..."
+$retryingSecondAfterValuePluralDeviceSmall: $retryingSecondAfterValueSingularDeviceSmall
+
+$retryingMinuteAfterValueSingularComputer: "分鐘..."
+$retryingMinuteAfterValuePluralComputer: "分鐘..."
+
+$retryingMinuteAfterValueSingularDeviceSmall: "m..."
+$retryingMinuteAfterValuePluralDeviceSmall: $retryingMinuteAfterValueSingularDeviceSmall
+
+$retryingHourAfterValueSingularComputer: "小時..."
+$retryingHourAfterValuePluralComputer: "小時..."
+
+$retryingHourAfterValueSingularDeviceSmall: "h..."
+$retryingHourAfterValuePluralDeviceSmall: $retryingHourAfterValueSingularDeviceSmall
diff --git a/sass/_czech.sass b/sass/_czech.sass
new file mode 100644
index 0000000..4c6d723
--- /dev/null
+++ b/sass/_czech.sass
@@ -0,0 +1,51 @@
+@charset "utf-8"
+
+$upComputer: "Váš počítač je připojen k internetu."
+$upDevice: "Vaše zařízení je připojeno k internetu."
+$upDeviceSmall: "Vaše zařízení je připojeno."
+
+$downComputer: "Váš počítač ztratil připojení k internetu."
+$downDevice: "Vaše zařízení ztratilo připojení k internetu."
+$downDeviceSmall: "Vaše zařízení není připojeno."
+
+$connecting: "Zkouším se znovu připojit..."
+
+$retryButton: "Znovu připojit"
+
+$reconnectFailed: "Pokus o připojení selhal."
+
+$retryingSecondBeforeValueSingularComputer: "Připojení ztraceno. Znovu zkusím za "
+$retryingSecondBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer
+
+$retryingMinuteBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer
+$retryingMinuteBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer
+
+$retryingHourBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer
+$retryingHourBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer
+
+$retryingSecondBeforeValueSingularDeviceSmall: "Znovu zkusím za "
+$retryingSecondBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+
+$retryingMinuteBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+$retryingMinuteBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+
+$retryingHourBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+$retryingHourBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+
+$retryingSecondAfterValueSingularComputer: " sekundu..."
+$retryingSecondAfterValuePluralComputer: " sekund..."
+
+$retryingSecondAfterValueSingularDeviceSmall: "s..."
+$retryingSecondAfterValuePluralDeviceSmall: $retryingSecondAfterValueSingularDeviceSmall
+
+$retryingMinuteAfterValueSingularComputer: " minutu..."
+$retryingMinuteAfterValuePluralComputer: " minut..."
+
+$retryingMinuteAfterValueSingularDeviceSmall: "m..."
+$retryingMinuteAfterValuePluralDeviceSmall: $retryingMinuteAfterValueSingularDeviceSmall
+
+$retryingHourAfterValueSingularComputer: " hodinu..."
+$retryingHourAfterValuePluralComputer: " hodin..."
+
+$retryingHourAfterValueSingularDeviceSmall: "h..."
+$retryingHourAfterValuePluralDeviceSmall: $retryingHourAfterValueSingularDeviceSmall
diff --git a/sass/_dutch.sass b/sass/_dutch.sass
index 3cfb35e..3c529aa 100644
--- a/sass/_dutch.sass
+++ b/sass/_dutch.sass
@@ -1,3 +1,5 @@
+@charset "utf-8"
+
$upComputer: "Computer verbonden met internet."
$upDevice: "Apparaat verbonden met internet."
$upDeviceSmall: "Apparaat verbonden met internet."
diff --git a/sass/_english.sass b/sass/_english.sass
index 899f7f2..58f557e 100644
--- a/sass/_english.sass
+++ b/sass/_english.sass
@@ -1,3 +1,4 @@
+@charset "utf-8"
$upComputer: "Your computer is connected to the internet."
$upDevice: "Your device is connected to the internet."
$upDeviceSmall: "Your device is connected."
@@ -46,4 +47,4 @@ $retryingHourAfterValueSingularComputer: " hour..."
$retryingHourAfterValuePluralComputer: " hours..."
$retryingHourAfterValueSingularDeviceSmall: "h..."
-$retryingHourAfterValuePluralDeviceSmall: $retryingHourAfterValueSingularDeviceSmall
\ No newline at end of file
+$retryingHourAfterValuePluralDeviceSmall: $retryingHourAfterValueSingularDeviceSmall
diff --git a/sass/_french.sass b/sass/_french.sass
index fd478e6..28b9aff 100644
--- a/sass/_french.sass
+++ b/sass/_french.sass
@@ -1,3 +1,4 @@
+@charset "utf-8"
$upComputer: "Votre ordinateur est connecté à Internet."
$upDevice: "Votre appareil est connecté à Internet."
$upDeviceSmall: "Votre appareil est connecté."
@@ -12,7 +13,7 @@ $retryButton: "Reconnecter"
$reconnectFailed: "La tentative de connexion a échoué."
-$retryingSecondBeforeValueSingularComputer: "Connexion perdue. Reconnexion dans"
+$retryingSecondBeforeValueSingularComputer: "Connexion perdue. Reconnexion dans "
$retryingSecondBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer
$retryingMinuteBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer
@@ -46,4 +47,4 @@ $retryingHourAfterValueSingularComputer: " heure..."
$retryingHourAfterValuePluralComputer: " heures..."
$retryingHourAfterValueSingularDeviceSmall: "h..."
-$retryingHourAfterValuePluralDeviceSmall: $retryingHourAfterValueSingularDeviceSmall
\ No newline at end of file
+$retryingHourAfterValuePluralDeviceSmall: $retryingHourAfterValueSingularDeviceSmall
diff --git a/sass/_german.sass b/sass/_german.sass
index 83a8564..c12bd57 100644
--- a/sass/_german.sass
+++ b/sass/_german.sass
@@ -1,3 +1,4 @@
+@charset "utf-8"
$upComputer: "Dein Computer ist mit dem Internet verbunden."
$upDevice: "Deing Gerät ist mit dem Internet verbunden."
$upDeviceSmall: "Dein Gerät ist online."
@@ -46,4 +47,4 @@ $retryingHourAfterValueSingularComputer: " Stunde..."
$retryingHourAfterValuePluralComputer: " Stunden..."
$retryingHourAfterValueSingularDeviceSmall: "h..."
-$retryingHourAfterValuePluralDeviceSmall: $retryingHourAfterValueSingularDeviceSmall
\ No newline at end of file
+$retryingHourAfterValuePluralDeviceSmall: $retryingHourAfterValueSingularDeviceSmall
diff --git a/sass/_italian.sass b/sass/_italian.sass
new file mode 100644
index 0000000..caab9cd
--- /dev/null
+++ b/sass/_italian.sass
@@ -0,0 +1,50 @@
+@charset "utf-8"
+$upComputer: "Il tuo computer è connesso ad internet."
+$upDevice: "Il tuo device è connesso ad internet."
+$upDeviceSmall: "Il tuo device è connesso."
+
+$downComputer: "Il tuo computer si è disconnesso da internet."
+$downDevice: "Il tuo device si è disconnesso da internet."
+$downDeviceSmall: "Il tuo device si è disconnesso."
+
+$connecting: "Connessione in corso..."
+
+$retryButton: "Riconnetti"
+
+$reconnectFailed: "Tentativo di connessione fallito."
+
+$retryingSecondBeforeValueSingularComputer: "Connessione persa. Riconnessione tra "
+$retryingSecondBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer
+
+$retryingMinuteBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer
+$retryingMinuteBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer
+
+$retryingHourBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer
+$retryingHourBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer
+
+$retryingSecondBeforeValueSingularDeviceSmall: "Riconnessione tra "
+$retryingSecondBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+
+$retryingMinuteBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+$retryingMinuteBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+
+$retryingHourBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+$retryingHourBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+
+$retryingSecondAfterValueSingularComputer: " secondo..."
+$retryingSecondAfterValuePluralComputer: " secondi..."
+
+$retryingSecondAfterValueSingularDeviceSmall: "s..."
+$retryingSecondAfterValuePluralDeviceSmall: $retryingSecondAfterValueSingularDeviceSmall
+
+$retryingMinuteAfterValueSingularComputer: " minuto..."
+$retryingMinuteAfterValuePluralComputer: " minuti..."
+
+$retryingMinuteAfterValueSingularDeviceSmall: "m..."
+$retryingMinuteAfterValuePluralDeviceSmall: $retryingMinuteAfterValueSingularDeviceSmall
+
+$retryingHourAfterValueSingularComputer: " ora..."
+$retryingHourAfterValuePluralComputer: " ore..."
+
+$retryingHourAfterValueSingularDeviceSmall: "h..."
+$retryingHourAfterValuePluralDeviceSmall: $retryingHourAfterValueSingularDeviceSmall
diff --git a/sass/_pashto.sass b/sass/_pashto.sass
new file mode 100644
index 0000000..c8534fa
--- /dev/null
+++ b/sass/_pashto.sass
@@ -0,0 +1,50 @@
+@charset "utf-8"
+$upComputer: "ستاسو د کمپيوټر له انټرنيټ سره وصل دی."
+$upDevice: "ستاسو وسيله چې د انټرنټ سره نښلي."
+$upDeviceSmall: "ستاسو آله سره نښلي."
+
+$downComputer: "ستاسو د کمپيوټر د خپل د انټرنېټ پیوستون له لاسه ورکړ."
+$downDevice: "ستاسو آله خپل د انټرنېټ پیوستون له لاسه ورکړ."
+$downDeviceSmall: "ستاسو آله نه نښلي."
+
+$connecting: "هڅه کوي تر څو یو ځل بیا سره نښلوي"
+
+$retryButton: "بيا ونښلوي"
+
+$reconnectFailed: "پیوستون هڅه ناکامه شوه."
+
+$retryingSecondBeforeValueSingularComputer: "پیوستون له لاسه ورکړ. بيا په سره نښلوي"
+$retryingSecondBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer
+
+$retryingMinuteBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer
+$retryingMinuteBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer
+
+$retryingHourBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer
+$retryingHourBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer
+
+$retryingSecondBeforeValueSingularDeviceSmall: "بيا په سره نښلوي"
+$retryingSecondBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+
+$retryingMinuteBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+$retryingMinuteBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+
+$retryingHourBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+$retryingHourBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+
+$retryingSecondAfterValueSingularComputer: "دوهم..."
+$retryingSecondAfterValuePluralComputer: "ثانيو ..."
+
+$retryingSecondAfterValueSingularDeviceSmall: "s..."
+$retryingSecondAfterValuePluralDeviceSmall: $retryingSecondAfterValueSingularDeviceSmall
+
+$retryingMinuteAfterValueSingularComputer: "دقیقه ..."
+$retryingMinuteAfterValuePluralComputer: "دقیقو ..."
+
+$retryingMinuteAfterValueSingularDeviceSmall: "m..."
+$retryingMinuteAfterValuePluralDeviceSmall: $retryingMinuteAfterValueSingularDeviceSmall
+
+$retryingHourAfterValueSingularComputer: "ساعت ..."
+$retryingHourAfterValuePluralComputer: "ساعتونو کې ..."
+
+$retryingHourAfterValueSingularDeviceSmall: "h..."
+$retryingHourAfterValuePluralDeviceSmall: $retryingHourAfterValueSingularDeviceSmall
diff --git a/sass/_persian.sass b/sass/_persian.sass
new file mode 100644
index 0000000..3f40207
--- /dev/null
+++ b/sass/_persian.sass
@@ -0,0 +1,50 @@
+@charset "utf-8"
+$upComputer: "ارتباط کامپیوتر شما با اینترنت برقرار است."
+$upDevice: "ارتباط دستگاه شما با اینترنت برقرار است."
+$upDeviceSmall: "دستگاه شما متصل است."
+
+$downComputer: "ازتباط کامپیوتر شما با اینترنت قطع شده است."
+$downDevice: "ارتباط دستگاه شما با اینترنت قطع شده است."
+$downDeviceSmall: "دستگاه شما متصل نیست."
+
+$connecting: "تلاش برای اتصال مجدد..."
+
+$retryButton: "اتصال مجدد"
+
+$reconnectFailed: "تلاش برای اتصال مجدد بی نتیجه بود."
+
+$retryingSecondBeforeValueSingularComputer: "اتصال قطع شد. اتصال مجدد در "
+$retryingSecondBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer
+
+$retryingMinuteBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer
+$retryingMinuteBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer
+
+$retryingHourBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer
+$retryingHourBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer
+
+$retryingSecondBeforeValueSingularDeviceSmall: "اتصال مجدد در "
+$retryingSecondBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+
+$retryingMinuteBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+$retryingMinuteBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+
+$retryingHourBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+$retryingHourBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+
+$retryingSecondAfterValueSingularComputer: " ثانیه..."
+$retryingSecondAfterValuePluralComputer: " ثانیه..."
+
+$retryingSecondAfterValueSingularDeviceSmall: "s..."
+$retryingSecondAfterValuePluralDeviceSmall: $retryingSecondAfterValueSingularDeviceSmall
+
+$retryingMinuteAfterValueSingularComputer: " دقیقه..."
+$retryingMinuteAfterValuePluralComputer: " دقیقه..."
+
+$retryingMinuteAfterValueSingularDeviceSmall: "m..."
+$retryingMinuteAfterValuePluralDeviceSmall: $retryingMinuteAfterValueSingularDeviceSmall
+
+$retryingHourAfterValueSingularComputer: " ساعت..."
+$retryingHourAfterValuePluralComputer: " ساعت..."
+
+$retryingHourAfterValueSingularDeviceSmall: "h..."
+$retryingHourAfterValuePluralDeviceSmall: $retryingHourAfterValueSingularDeviceSmall
diff --git a/sass/_polish.sass b/sass/_polish.sass
new file mode 100644
index 0000000..0e76a6b
--- /dev/null
+++ b/sass/_polish.sass
@@ -0,0 +1,50 @@
+@charset "utf-8"
+$upComputer: "Twój komputer jest podłączony do internetu."
+$upDevice: "Twoje urządzenie jest podłączone do internetu."
+$upDeviceSmall: "Twoje urządzenie jest podłączone."
+
+$downComputer: "Twój komputer stracił połączenie z internetem."
+$downDevice: "Twoje urządzenie straciło połączenie z internetem."
+$downDeviceSmall: "Twoje urządzenie nie jest podłączone."
+
+$connecting: "Próbuję połączyć..."
+
+$retryButton: "Połącz teraz"
+
+$reconnectFailed: "Nieudana próba podłączenia."
+
+$retryingSecondBeforeValueSingularComputer: "Połączenie utracone. Ponawiam za "
+$retryingSecondBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer
+
+$retryingMinuteBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer
+$retryingMinuteBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer
+
+$retryingHourBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer
+$retryingHourBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer
+
+$retryingSecondBeforeValueSingularDeviceSmall: "Ponawiam za "
+$retryingSecondBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+
+$retryingMinuteBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+$retryingMinuteBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+
+$retryingHourBeforeValueSingularDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+$retryingHourBeforeValuePluralDeviceSmall: $retryingSecondBeforeValueSingularDeviceSmall
+
+$retryingSecondAfterValueSingularComputer: " sekundę..."
+$retryingSecondAfterValuePluralComputer: " sekund..."
+
+$retryingSecondAfterValueSingularDeviceSmall: "s..."
+$retryingSecondAfterValuePluralDeviceSmall: $retryingSecondAfterValueSingularDeviceSmall
+
+$retryingMinuteAfterValueSingularComputer: " minutę..."
+$retryingMinuteAfterValuePluralComputer: " minut..."
+
+$retryingMinuteAfterValueSingularDeviceSmall: "m..."
+$retryingMinuteAfterValuePluralDeviceSmall: $retryingMinuteAfterValueSingularDeviceSmall
+
+$retryingHourAfterValueSingularComputer: " godzinę..."
+$retryingHourAfterValuePluralComputer: " godzin..."
+
+$retryingHourAfterValueSingularDeviceSmall: "h..."
+$retryingHourAfterValuePluralDeviceSmall: $retryingHourAfterValueSingularDeviceSmall
diff --git a/sass/_portuguese-brazil.sass b/sass/_portuguese-brazil.sass
index 8f8318b..d20bbe5 100644
--- a/sass/_portuguese-brazil.sass
+++ b/sass/_portuguese-brazil.sass
@@ -1,3 +1,4 @@
+@charset "utf-8"
$upComputer: "Seu computador está conectado à internet."
$upDevice: "O dispositivo está conectado à internet."
$upDeviceSmall: "O dispositivo está conectado."
@@ -12,7 +13,7 @@ $retryButton: "Reconectar"
$reconnectFailed: "Tentativa de conexão falhou."
-$retryingSecondBeforeValueSingularComputer: "Conexão perdida. reconectando em "
+$retryingSecondBeforeValueSingularComputer: "Conexão perdida. Reconectando em "
$retryingSecondBeforeValuePluralComputer: $retryingSecondBeforeValueSingularComputer
$retryingMinuteBeforeValueSingularComputer: $retryingSecondBeforeValueSingularComputer
diff --git a/sass/_spanish.sass b/sass/_spanish.sass
index 92accea..11b3375 100644
--- a/sass/_spanish.sass
+++ b/sass/_spanish.sass
@@ -1,3 +1,4 @@
+@charset "utf-8"
$upComputer: "Tu computador está conectado a internet."
$upDevice: "Tu dispositivo está conectado a internet."
$upDeviceSmall: "Tu dispositivo está conectado."
diff --git a/sass/_turkish.sass b/sass/_turkish.sass
index 3489884..c1efb3a 100644
--- a/sass/_turkish.sass
+++ b/sass/_turkish.sass
@@ -1,3 +1,4 @@
+@charset "utf-8"
$upComputer: "Bilgisayarınız internete bağlı."
$upDevice: "Cihazınız internete bağlı."
$upDeviceSmall: "Cihazınız bağlı."
@@ -46,4 +47,4 @@ $retryingHourAfterValueSingularComputer: " saat içersinde tekrar bağlanmayı d
$retryingHourAfterValuePluralComputer: " saat içersinde tekrar bağlanmayı deneyecek..."
$retryingHourAfterValueSingularDeviceSmall: "saat içersinde tekrar bağlanmayı deneyecek..."
-$retryingHourAfterValuePluralDeviceSmall: $retryingHourAfterValueSingularDeviceSmall
\ No newline at end of file
+$retryingHourAfterValuePluralDeviceSmall: $retryingHourAfterValueSingularDeviceSmall
diff --git a/sass/offline-language-arabic-indicator.sass b/sass/offline-language-arabic-indicator.sass
new file mode 100644
index 0000000..8a32051
--- /dev/null
+++ b/sass/offline-language-arabic-indicator.sass
@@ -0,0 +1,11 @@
+.offline-ui
+
+ &.offline-ui-up
+
+ .offline-ui-content:before
+ content: "متصل."
+
+ &.offline-ui-down
+
+ .offline-ui-content:before
+ content: "غير متصل."
\ No newline at end of file
diff --git a/sass/offline-language-arabic.sass b/sass/offline-language-arabic.sass
new file mode 100644
index 0000000..cbad016
--- /dev/null
+++ b/sass/offline-language-arabic.sass
@@ -0,0 +1,4 @@
+@import content
+@import arabic
+
++offline-content
\ No newline at end of file
diff --git a/sass/offline-language-chinese-simplified-indicator.sass b/sass/offline-language-chinese-simplified-indicator.sass
new file mode 100644
index 0000000..c0cd795
--- /dev/null
+++ b/sass/offline-language-chinese-simplified-indicator.sass
@@ -0,0 +1,11 @@
+.offline-ui
+
+ &.offline-ui-up
+
+ .offline-ui-content:before
+ content: "在线"
+
+ &.offline-ui-down
+
+ .offline-ui-content:before
+ content: "离线"
diff --git a/sass/offline-language-chinese-simplified.sass b/sass/offline-language-chinese-simplified.sass
new file mode 100644
index 0000000..f975764
--- /dev/null
+++ b/sass/offline-language-chinese-simplified.sass
@@ -0,0 +1,4 @@
+@import content
+@import chinese-simplified
+
++offline-content
diff --git a/sass/offline-language-chinese-traditional-indicator.sass b/sass/offline-language-chinese-traditional-indicator.sass
new file mode 100644
index 0000000..8a152e1
--- /dev/null
+++ b/sass/offline-language-chinese-traditional-indicator.sass
@@ -0,0 +1,11 @@
+.offline-ui
+
+ &.offline-ui-up
+
+ .offline-ui-content:before
+ content: "在線"
+
+ &.offline-ui-down
+
+ .offline-ui-content:before
+ content: "離線"
diff --git a/sass/offline-language-chinese-traditional.sass b/sass/offline-language-chinese-traditional.sass
new file mode 100644
index 0000000..3ac1e12
--- /dev/null
+++ b/sass/offline-language-chinese-traditional.sass
@@ -0,0 +1,4 @@
+@import content
+@import chinese-traditional
+
++offline-content
diff --git a/sass/offline-language-czech-indicator.sass b/sass/offline-language-czech-indicator.sass
new file mode 100644
index 0000000..d457499
--- /dev/null
+++ b/sass/offline-language-czech-indicator.sass
@@ -0,0 +1,11 @@
+.offline-ui
+
+ &.offline-ui-up
+
+ .offline-ui-content:before
+ content: "Online"
+
+ &.offline-ui-down
+
+ .offline-ui-content:before
+ content: "Offline"
diff --git a/sass/offline-language-czech.sass b/sass/offline-language-czech.sass
new file mode 100644
index 0000000..b7fbd96
--- /dev/null
+++ b/sass/offline-language-czech.sass
@@ -0,0 +1,4 @@
+@import content
+@import czech
+
++offline-content
diff --git a/sass/offline-language-italian-indicator.sass b/sass/offline-language-italian-indicator.sass
new file mode 100644
index 0000000..1f2972e
--- /dev/null
+++ b/sass/offline-language-italian-indicator.sass
@@ -0,0 +1,11 @@
+.offline-ui
+
+ &.offline-ui-up
+
+ .offline-ui-content:before
+ content: "Online"
+
+ &.offline-ui-down
+
+ .offline-ui-content:before
+ content: "Offline"
\ No newline at end of file
diff --git a/sass/offline-language-italian.sass b/sass/offline-language-italian.sass
new file mode 100644
index 0000000..e5bd277
--- /dev/null
+++ b/sass/offline-language-italian.sass
@@ -0,0 +1,4 @@
+@import content
+@import italian
+
++offline-content
diff --git a/sass/offline-language-pashto-indicator.sass b/sass/offline-language-pashto-indicator.sass
new file mode 100644
index 0000000..1f2972e
--- /dev/null
+++ b/sass/offline-language-pashto-indicator.sass
@@ -0,0 +1,11 @@
+.offline-ui
+
+ &.offline-ui-up
+
+ .offline-ui-content:before
+ content: "Online"
+
+ &.offline-ui-down
+
+ .offline-ui-content:before
+ content: "Offline"
\ No newline at end of file
diff --git a/sass/offline-language-pashto.sass b/sass/offline-language-pashto.sass
new file mode 100644
index 0000000..0b0c487
--- /dev/null
+++ b/sass/offline-language-pashto.sass
@@ -0,0 +1,4 @@
+@import content
+@import pashto
+
++offline-content
diff --git a/sass/offline-language-polish-indicator.sass b/sass/offline-language-polish-indicator.sass
new file mode 100644
index 0000000..39e4567
--- /dev/null
+++ b/sass/offline-language-polish-indicator.sass
@@ -0,0 +1,11 @@
+.offline-ui
+
+ &.offline-ui-up
+
+ .offline-ui-content:before
+ content: "Połączony"
+
+ &.offline-ui-down
+
+ .offline-ui-content:before
+ content: "Rozłączony"
diff --git a/sass/offline-language-polish.sass b/sass/offline-language-polish.sass
new file mode 100644
index 0000000..0e8b0c1
--- /dev/null
+++ b/sass/offline-language-polish.sass
@@ -0,0 +1,4 @@
+@import content
+@import polish
+
++offline-content
diff --git a/sass/offline-language-simplified-chinese-indicator.sass b/sass/offline-language-simplified-chinese-indicator.sass
new file mode 100644
index 0000000..40bfcbd
--- /dev/null
+++ b/sass/offline-language-simplified-chinese-indicator.sass
@@ -0,0 +1,12 @@
+@charset "utf-8"
+.offline-ui
+
+ &.offline-ui-up
+
+ .offline-ui-content:before
+ content: "在线"
+
+ &.offline-ui-down
+
+ .offline-ui-content:before
+ content: "离线"
\ No newline at end of file
diff --git a/themes/offline-language-arabic-indicator.css b/themes/offline-language-arabic-indicator.css
new file mode 100644
index 0000000..ee70a5d
--- /dev/null
+++ b/themes/offline-language-arabic-indicator.css
@@ -0,0 +1,9 @@
+@charset "UTF-8";
+/* line 5, ../sass/offline-language-arabic-indicator.sass */
+.offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "متصل.";
+}
+/* line 10, ../sass/offline-language-arabic-indicator.sass */
+.offline-ui.offline-ui-down .offline-ui-content:before {
+ content: "غير متصل.";
+}
diff --git a/themes/offline-language-arabic.css b/themes/offline-language-arabic.css
new file mode 100644
index 0000000..83bde08
--- /dev/null
+++ b/themes/offline-language-arabic.css
@@ -0,0 +1,109 @@
+@charset "UTF-8";
+/* line 6, ../sass/_content.sass */
+.offline-ui .offline-ui-retry:before {
+ content: " إعادة الاتصال";
+}
+/* line 11, ../sass/_content.sass */
+.offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "الحاسوب متصل بالإنترنت.";
+}
+@media (max-width: 1024px) {
+ /* line 11, ../sass/_content.sass */
+ .offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "جهازك متصل بالإنترنت";
+ }
+}
+@media (max-width: 568px) {
+ /* line 11, ../sass/_content.sass */
+ .offline-ui.offline-ui-up .offline-ui-content:before {
+ content: ".جهازك متصل";
+ }
+}
+/* line 22, ../sass/_content.sass */
+.offline-ui.offline-ui-down .offline-ui-content:before {
+ content: ".الحاسوب فقد الاتصال بالإنترنت";
+}
+@media (max-width: 1024px) {
+ /* line 22, ../sass/_content.sass */
+ .offline-ui.offline-ui-down .offline-ui-content:before {
+ content: ".جهازك فقد الاتصال بالإنترنت";
+ }
+}
+@media (max-width: 568px) {
+ /* line 22, ../sass/_content.sass */
+ .offline-ui.offline-ui-down .offline-ui-content:before {
+ content: ".جهازك غير متصل";
+ }
+}
+/* line 33, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-connecting .offline-ui-content:before, .offline-ui.offline-ui-down.offline-ui-connecting-2s .offline-ui-content:before {
+ content: "...محاولة إعادة الاتصال";
+}
+/* line 42, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before {
+ content: " الاتصال فقد إعادة الاتصال في" attr(data-retry-in-value) " ...ثواني";
+}
+@media (max-width: 568px) {
+ /* line 42, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before {
+ content: " إعادة الاتصال في" attr(data-retry-in-value) "...ث";
+ }
+}
+/* line 50, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before {
+ content: " الاتصال فقد إعادة الاتصال في" attr(data-retry-in-value) " ...ثانية";
+}
+@media (max-width: 568px) {
+ /* line 50, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before {
+ content: " إعادة الاتصال في" attr(data-retry-in-value) "...ث";
+ }
+}
+/* line 58, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before {
+ content: " الاتصال فقد إعادة الاتصال في" attr(data-retry-in-value) " ...دقائق";
+}
+@media (max-width: 568px) {
+ /* line 58, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before {
+ content: " إعادة الاتصال في" attr(data-retry-in-value) "...د";
+ }
+}
+/* line 66, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before {
+ content: " الاتصال فقد إعادة الاتصال في" attr(data-retry-in-value) " ...دقيقة";
+}
+@media (max-width: 568px) {
+ /* line 66, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before {
+ content: " إعادة الاتصال في" attr(data-retry-in-value) "...د";
+ }
+}
+/* line 74, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before {
+ content: " الاتصال فقد إعادة الاتصال في" attr(data-retry-in-value) " ...ساعات";
+}
+@media (max-width: 568px) {
+ /* line 74, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before {
+ content: " إعادة الاتصال في" attr(data-retry-in-value) "...س";
+ }
+}
+/* line 82, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before {
+ content: " الاتصال فقد إعادة الاتصال في" attr(data-retry-in-value) " ...ساعه";
+}
+@media (max-width: 568px) {
+ /* line 82, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before {
+ content: " إعادة الاتصال في" attr(data-retry-in-value) "...س";
+ }
+}
+/* line 90, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s.offline-ui-waiting .offline-ui-retry {
+ display: none;
+}
+/* line 93, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s .offline-ui-content:before {
+ content: ".فشلت محاولة الاتصال";
+}
diff --git a/themes/offline-language-chinese-simplified-indicator.css b/themes/offline-language-chinese-simplified-indicator.css
new file mode 100644
index 0000000..2a1e2e0
--- /dev/null
+++ b/themes/offline-language-chinese-simplified-indicator.css
@@ -0,0 +1,9 @@
+@charset "UTF-8";
+/* line 5, ../sass/offline-language-chinese-simplified-indicator.sass */
+.offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "鍦ㄧ嚎";
+}
+/* line 10, ../sass/offline-language-chinese-simplified-indicator.sass */
+.offline-ui.offline-ui-down .offline-ui-content:before {
+ content: "绂荤嚎";
+}
diff --git a/themes/offline-language-chinese-simplified.css b/themes/offline-language-chinese-simplified.css
new file mode 100644
index 0000000..ba7beda
--- /dev/null
+++ b/themes/offline-language-chinese-simplified.css
@@ -0,0 +1,109 @@
+@charset "UTF-8";
+/* line 6, ../sass/_content.sass */
+.offline-ui .offline-ui-retry:before {
+ content: "重连";
+}
+/* line 11, ../sass/_content.sass */
+.offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "您的电脑已经连接到网络。";
+}
+@media (max-width: 1024px) {
+ /* line 11, ../sass/_content.sass */
+ .offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "您的设备已经连接到网络。";
+ }
+}
+@media (max-width: 568px) {
+ /* line 11, ../sass/_content.sass */
+ .offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "您的设备已经连接到网络。";
+ }
+}
+/* line 22, ../sass/_content.sass */
+.offline-ui.offline-ui-down .offline-ui-content:before {
+ content: "您的电脑失去了网络连接。";
+}
+@media (max-width: 1024px) {
+ /* line 22, ../sass/_content.sass */
+ .offline-ui.offline-ui-down .offline-ui-content:before {
+ content: "您的设备失去了网络连接。";
+ }
+}
+@media (max-width: 568px) {
+ /* line 22, ../sass/_content.sass */
+ .offline-ui.offline-ui-down .offline-ui-content:before {
+ content: "您的设备失去了网络连接。";
+ }
+}
+/* line 33, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-connecting .offline-ui-content:before, .offline-ui.offline-ui-down.offline-ui-connecting-2s .offline-ui-content:before {
+ content: "正在尝试重连...";
+}
+/* line 42, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before {
+ content: "失去网络连接。 即将重连:" attr(data-retry-in-value) "秒...";
+}
+@media (max-width: 568px) {
+ /* line 42, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before {
+ content: "即将重连:" attr(data-retry-in-value) "s...";
+ }
+}
+/* line 50, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before {
+ content: "失去网络连接。 即将重连:" attr(data-retry-in-value) "秒...";
+}
+@media (max-width: 568px) {
+ /* line 50, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before {
+ content: "即将重连:" attr(data-retry-in-value) "s...";
+ }
+}
+/* line 58, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before {
+ content: "失去网络连接。 即将重连:" attr(data-retry-in-value) "分钟...";
+}
+@media (max-width: 568px) {
+ /* line 58, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before {
+ content: "即将重连:" attr(data-retry-in-value) "m...";
+ }
+}
+/* line 66, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before {
+ content: "失去网络连接。 即将重连:" attr(data-retry-in-value) "分钟...";
+}
+@media (max-width: 568px) {
+ /* line 66, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before {
+ content: "即将重连:" attr(data-retry-in-value) "m...";
+ }
+}
+/* line 74, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before {
+ content: "失去网络连接。 即将重连:" attr(data-retry-in-value) "小时...";
+}
+@media (max-width: 568px) {
+ /* line 74, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before {
+ content: "即将重连:" attr(data-retry-in-value) "h...";
+ }
+}
+/* line 82, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before {
+ content: "失去网络连接。 即将重连:" attr(data-retry-in-value) "小时...";
+}
+@media (max-width: 568px) {
+ /* line 82, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before {
+ content: "即将重连:" attr(data-retry-in-value) "h...";
+ }
+}
+/* line 90, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s.offline-ui-waiting .offline-ui-retry {
+ display: none;
+}
+/* line 93, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s .offline-ui-content:before {
+ content: "尝试连接网络失败。";
+}
diff --git a/themes/offline-language-chinese-traditional-indicator.css b/themes/offline-language-chinese-traditional-indicator.css
new file mode 100644
index 0000000..703634a
--- /dev/null
+++ b/themes/offline-language-chinese-traditional-indicator.css
@@ -0,0 +1,9 @@
+@charset "UTF-8";
+/* line 5, ../sass/offline-language-chinese-traditional-indicator.sass */
+.offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "鍦ㄧ窔";
+}
+/* line 10, ../sass/offline-language-chinese-traditional-indicator.sass */
+.offline-ui.offline-ui-down .offline-ui-content:before {
+ content: "闆㈢窔";
+}
diff --git a/themes/offline-language-chinese-traditional.css b/themes/offline-language-chinese-traditional.css
new file mode 100644
index 0000000..b934b71
--- /dev/null
+++ b/themes/offline-language-chinese-traditional.css
@@ -0,0 +1,109 @@
+@charset "UTF-8";
+/* line 6, ../sass/_content.sass */
+.offline-ui .offline-ui-retry:before {
+ content: "重連";
+}
+/* line 11, ../sass/_content.sass */
+.offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "您的電腦已經連接到網絡。";
+}
+@media (max-width: 1024px) {
+ /* line 11, ../sass/_content.sass */
+ .offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "您的設備已經連接到網絡。";
+ }
+}
+@media (max-width: 568px) {
+ /* line 11, ../sass/_content.sass */
+ .offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "您的設備已經連接到網絡。";
+ }
+}
+/* line 22, ../sass/_content.sass */
+.offline-ui.offline-ui-down .offline-ui-content:before {
+ content: "您的電腦失去了網絡連接。";
+}
+@media (max-width: 1024px) {
+ /* line 22, ../sass/_content.sass */
+ .offline-ui.offline-ui-down .offline-ui-content:before {
+ content: "您的設備失去了網絡連接。";
+ }
+}
+@media (max-width: 568px) {
+ /* line 22, ../sass/_content.sass */
+ .offline-ui.offline-ui-down .offline-ui-content:before {
+ content: "您的設備失去了網絡連接。";
+ }
+}
+/* line 33, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-connecting .offline-ui-content:before, .offline-ui.offline-ui-down.offline-ui-connecting-2s .offline-ui-content:before {
+ content: "正在嘗試重連...";
+}
+/* line 42, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before {
+ content: "失去網絡連接。即將重連:" attr(data-retry-in-value) "秒...";
+}
+@media (max-width: 568px) {
+ /* line 42, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before {
+ content: "即將重連:" attr(data-retry-in-value) "s...";
+ }
+}
+/* line 50, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before {
+ content: "失去網絡連接。即將重連:" attr(data-retry-in-value) "秒...";
+}
+@media (max-width: 568px) {
+ /* line 50, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before {
+ content: "即將重連:" attr(data-retry-in-value) "s...";
+ }
+}
+/* line 58, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before {
+ content: "失去網絡連接。即將重連:" attr(data-retry-in-value) "分鐘...";
+}
+@media (max-width: 568px) {
+ /* line 58, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before {
+ content: "即將重連:" attr(data-retry-in-value) "m...";
+ }
+}
+/* line 66, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before {
+ content: "失去網絡連接。即將重連:" attr(data-retry-in-value) "分鐘...";
+}
+@media (max-width: 568px) {
+ /* line 66, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before {
+ content: "即將重連:" attr(data-retry-in-value) "m...";
+ }
+}
+/* line 74, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before {
+ content: "失去網絡連接。即將重連:" attr(data-retry-in-value) "小時...";
+}
+@media (max-width: 568px) {
+ /* line 74, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before {
+ content: "即將重連:" attr(data-retry-in-value) "h...";
+ }
+}
+/* line 82, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before {
+ content: "失去網絡連接。即將重連:" attr(data-retry-in-value) "小時...";
+}
+@media (max-width: 568px) {
+ /* line 82, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before {
+ content: "即將重連:" attr(data-retry-in-value) "h...";
+ }
+}
+/* line 90, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s.offline-ui-waiting .offline-ui-retry {
+ display: none;
+}
+/* line 93, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s .offline-ui-content:before {
+ content: "嘗試連接網絡失敗。";
+}
diff --git a/themes/offline-language-czech-indicator.css b/themes/offline-language-czech-indicator.css
new file mode 100644
index 0000000..2a8b59a
--- /dev/null
+++ b/themes/offline-language-czech-indicator.css
@@ -0,0 +1,4 @@
+.offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "Online"; }
+.offline-ui.offline-ui-down .offline-ui-content:before {
+ content: "Offline"; }
diff --git a/themes/offline-language-czech.css b/themes/offline-language-czech.css
new file mode 100644
index 0000000..aec95eb
--- /dev/null
+++ b/themes/offline-language-czech.css
@@ -0,0 +1,109 @@
+@charset "UTF-8";
+/* line 6, ../sass/_content.sass */
+.offline-ui .offline-ui-retry:before {
+ content: "Znovu připojit";
+}
+/* line 11, ../sass/_content.sass */
+.offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "Váš počítač je připojen k internetu.";
+}
+@media (max-width: 1024px) {
+ /* line 11, ../sass/_content.sass */
+ .offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "Vaše zařízení je připojeno k internetu.";
+ }
+}
+@media (max-width: 568px) {
+ /* line 11, ../sass/_content.sass */
+ .offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "Vaše zařízení je připojeno.";
+ }
+}
+/* line 22, ../sass/_content.sass */
+.offline-ui.offline-ui-down .offline-ui-content:before {
+ content: "Váš počítač ztratil připojení k internetu.";
+}
+@media (max-width: 1024px) {
+ /* line 22, ../sass/_content.sass */
+ .offline-ui.offline-ui-down .offline-ui-content:before {
+ content: "Vaše zařízení ztratilo připojení k internetu.";
+ }
+}
+@media (max-width: 568px) {
+ /* line 22, ../sass/_content.sass */
+ .offline-ui.offline-ui-down .offline-ui-content:before {
+ content: "Vaše zařízení není připojeno.";
+ }
+}
+/* line 33, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-connecting .offline-ui-content:before, .offline-ui.offline-ui-down.offline-ui-connecting-2s .offline-ui-content:before {
+ content: "Zkouším se znovu připojit...";
+}
+/* line 42, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before {
+ content: "Připojení ztraceno. Znovu zkusím za " attr(data-retry-in-value) " sekund...";
+}
+@media (max-width: 568px) {
+ /* line 42, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before {
+ content: "Znovu zkusím za " attr(data-retry-in-value) "s...";
+ }
+}
+/* line 50, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before {
+ content: "Připojení ztraceno. Znovu zkusím za " attr(data-retry-in-value) " sekundu...";
+}
+@media (max-width: 568px) {
+ /* line 50, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before {
+ content: "Znovu zkusím za " attr(data-retry-in-value) "s...";
+ }
+}
+/* line 58, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before {
+ content: "Připojení ztraceno. Znovu zkusím za " attr(data-retry-in-value) " minut...";
+}
+@media (max-width: 568px) {
+ /* line 58, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before {
+ content: "Znovu zkusím za " attr(data-retry-in-value) "m...";
+ }
+}
+/* line 66, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before {
+ content: "Připojení ztraceno. Znovu zkusím za " attr(data-retry-in-value) " minutu...";
+}
+@media (max-width: 568px) {
+ /* line 66, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before {
+ content: "Znovu zkusím za " attr(data-retry-in-value) "m...";
+ }
+}
+/* line 74, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before {
+ content: "Připojení ztraceno. Znovu zkusím za " attr(data-retry-in-value) " hodin...";
+}
+@media (max-width: 568px) {
+ /* line 74, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before {
+ content: "Znovu zkusím za " attr(data-retry-in-value) "h...";
+ }
+}
+/* line 82, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before {
+ content: "Připojení ztraceno. Znovu zkusím za " attr(data-retry-in-value) " hodinu...";
+}
+@media (max-width: 568px) {
+ /* line 82, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before {
+ content: "Znovu zkusím za " attr(data-retry-in-value) "h...";
+ }
+}
+/* line 90, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s.offline-ui-waiting .offline-ui-retry {
+ display: none;
+}
+/* line 93, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s .offline-ui-content:before {
+ content: "Pokus o připojení selhal.";
+}
diff --git a/themes/offline-language-french.css b/themes/offline-language-french.css
index be90c31..6145db5 100644
--- a/themes/offline-language-french.css
+++ b/themes/offline-language-french.css
@@ -41,7 +41,7 @@
}
/* line 42, ../sass/_content.sass */
.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before {
- content: "Connexion perdue. Reconnexion dans" attr(data-retry-in-value) " secondes...";
+ content: "Connexion perdue. Reconnexion dans " attr(data-retry-in-value) " secondes...";
}
@media (max-width: 568px) {
/* line 42, ../sass/_content.sass */
@@ -51,7 +51,7 @@
}
/* line 50, ../sass/_content.sass */
.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before {
- content: "Connexion perdue. Reconnexion dans" attr(data-retry-in-value) " seconde...";
+ content: "Connexion perdue. Reconnexion dans " attr(data-retry-in-value) " seconde...";
}
@media (max-width: 568px) {
/* line 50, ../sass/_content.sass */
@@ -61,7 +61,7 @@
}
/* line 58, ../sass/_content.sass */
.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before {
- content: "Connexion perdue. Reconnexion dans" attr(data-retry-in-value) " minutes...";
+ content: "Connexion perdue. Reconnexion dans " attr(data-retry-in-value) " minutes...";
}
@media (max-width: 568px) {
/* line 58, ../sass/_content.sass */
@@ -71,7 +71,7 @@
}
/* line 66, ../sass/_content.sass */
.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before {
- content: "Connexion perdue. Reconnexion dans" attr(data-retry-in-value) " minute...";
+ content: "Connexion perdue. Reconnexion dans " attr(data-retry-in-value) " minute...";
}
@media (max-width: 568px) {
/* line 66, ../sass/_content.sass */
@@ -81,7 +81,7 @@
}
/* line 74, ../sass/_content.sass */
.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before {
- content: "Connexion perdue. Reconnexion dans" attr(data-retry-in-value) " heures...";
+ content: "Connexion perdue. Reconnexion dans " attr(data-retry-in-value) " heures...";
}
@media (max-width: 568px) {
/* line 74, ../sass/_content.sass */
@@ -91,7 +91,7 @@
}
/* line 82, ../sass/_content.sass */
.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before {
- content: "Connexion perdue. Reconnexion dans" attr(data-retry-in-value) " heure...";
+ content: "Connexion perdue. Reconnexion dans " attr(data-retry-in-value) " heure...";
}
@media (max-width: 568px) {
/* line 82, ../sass/_content.sass */
diff --git a/themes/offline-language-hebrew-indicator.css b/themes/offline-language-hebrew-indicator.css
new file mode 100644
index 0000000..92abbfa
--- /dev/null
+++ b/themes/offline-language-hebrew-indicator.css
@@ -0,0 +1,8 @@
+/* line 5, ../sass/offline-language-english-indicator.sass */
+.offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "מחובר";
+}
+/* line 10, ../sass/offline-language-english-indicator.sass */
+.offline-ui.offline-ui-down .offline-ui-content:before {
+ content: "מנותק";
+}
diff --git a/themes/offline-language-hebrew.css b/themes/offline-language-hebrew.css
new file mode 100644
index 0000000..9c3a4b9
--- /dev/null
+++ b/themes/offline-language-hebrew.css
@@ -0,0 +1,130 @@
+/* line 6, ../sass/_content.sass */
+
+.offline-ui .offline-ui-retry:before {
+ content: "מתחבר";
+}
+/* line 11, ../sass/_content.sass */
+
+.offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "המחשב לא מחובר לאינטרנט.";
+}
+
+@media (max-width: 1024px) { /* line 11, ../sass/_content.sass */
+
+ .offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "המכשיר לא מחובר לאינטרנט.";
+ }
+}
+
+@media (max-width: 568px) { /* line 11, ../sass/_content.sass */
+
+ .offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "המכשיר מחובר.";
+ }
+}
+/* line 22, ../sass/_content.sass */
+
+.offline-ui.offline-ui-down .offline-ui-content:before {
+ content: "המחשב איבד את החיבור לאינטרנט.";
+}
+
+@media (max-width: 1024px) { /* line 22, ../sass/_content.sass */
+
+ .offline-ui.offline-ui-down .offline-ui-content:before {
+ content: "המכשיר איבד את החיבור לאינטרנט.";
+ }
+}
+
+@media (max-width: 568px) { /* line 22, ../sass/_content.sass */
+
+ .offline-ui.offline-ui-down .offline-ui-content:before {
+ content: "המכשיר מחובר.";
+ }
+}
+/* line 33, ../sass/_content.sass */
+
+.offline-ui.offline-ui-down.offline-ui-connecting .offline-ui-content:before, .offline-ui.offline-ui-down.offline-ui-connecting-2s .offline-ui-content:before {
+ content: "מנסה להתחבר...";
+}
+/* line 42, ../sass/_content.sass */
+
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before {
+ content: "החיבור אבד. מתחבר בעוד " attr(data-retry-in-value) " שניות...";
+}
+
+@media (max-width: 568px) { /* line 42, ../sass/_content.sass */
+
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before {
+ content: "מתחבר בעוד " attr(data-retry-in-value) " ש...";
+ }
+}
+/* line 50, ../sass/_content.sass */
+
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before {
+ content: "החיבור אבד. מתחבר בעוד " attr(data-retry-in-value) " שניות...";
+}
+
+@media (max-width: 568px) { /* line 50, ../sass/_content.sass */
+
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before {
+ content: "מתחבר בעוד " attr(data-retry-in-value) " ש...";
+ }
+}
+/* line 58, ../sass/_content.sass */
+
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before {
+ content: "חיבור אבד. מתחבר בעוד " attr(data-retry-in-value) " דקות...";
+}
+
+@media (max-width: 568px) { /* line 58, ../sass/_content.sass */
+
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before {
+ content: "מתחבר בעוד " attr(data-retry-in-value) " ד...";
+ }
+}
+/* line 66, ../sass/_content.sass */
+
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before {
+ content: "חיבור אבד. מתחבר בעוד " attr(data-retry-in-value) " דקה...";
+}
+
+@media (max-width: 568px) { /* line 66, ../sass/_content.sass */
+
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before {
+ content: "מתחבר בעוד " attr(data-retry-in-value) " ד...";
+ }
+}
+/* line 74, ../sass/_content.sass */
+
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before {
+ content: "חיבור אבד. מתחבר בעוד " attr(data-retry-in-value) " שעות...";
+}
+
+@media (max-width: 568px) { /* line 74, ../sass/_content.sass */
+
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before {
+ content: "מתחבר בעוד " attr(data-retry-in-value) " שע...";
+ }
+}
+/* line 82, ../sass/_content.sass */
+
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before {
+ content: "חיבור אבד. מתחבר בעוד " attr(data-retry-in-value) " שעה...";
+}
+
+@media (max-width: 568px) { /* line 82, ../sass/_content.sass */
+
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before {
+ content: "מתחבר בעוד " attr(data-retry-in-value) " שע...";
+ }
+}
+/* line 90, ../sass/_content.sass */
+
+.offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s.offline-ui-waiting .offline-ui-retry {
+ display: none;
+}
+/* line 93, ../sass/_content.sass */
+
+.offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s .offline-ui-content:before {
+ content: "חיבור מחדש נכשל.";
+}
diff --git a/themes/offline-language-italian-indicator.css b/themes/offline-language-italian-indicator.css
new file mode 100644
index 0000000..2b5f6e8
--- /dev/null
+++ b/themes/offline-language-italian-indicator.css
@@ -0,0 +1,8 @@
+/* line 5, ../sass/offline-language-italian-indicator.sass */
+.offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "Online";
+}
+/* line 10, ../sass/offline-language-italian-indicator.sass */
+.offline-ui.offline-ui-down .offline-ui-content:before {
+ content: "Offline";
+}
diff --git a/themes/offline-language-italian.css b/themes/offline-language-italian.css
new file mode 100644
index 0000000..7d38dd5
--- /dev/null
+++ b/themes/offline-language-italian.css
@@ -0,0 +1,109 @@
+@charset "UTF-8";
+/* line 6, ../sass/_content.sass */
+.offline-ui .offline-ui-retry:before {
+ content: "Riconnetti";
+}
+/* line 11, ../sass/_content.sass */
+.offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "Il tuo computer è connesso ad internet.";
+}
+@media (max-width: 1024px) {
+ /* line 11, ../sass/_content.sass */
+ .offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "Il tuo device è connesso ad internet.";
+ }
+}
+@media (max-width: 568px) {
+ /* line 11, ../sass/_content.sass */
+ .offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "Il tuo device è connesso.";
+ }
+}
+/* line 22, ../sass/_content.sass */
+.offline-ui.offline-ui-down .offline-ui-content:before {
+ content: "Il tuo computer si è disconnesso da internet.";
+}
+@media (max-width: 1024px) {
+ /* line 22, ../sass/_content.sass */
+ .offline-ui.offline-ui-down .offline-ui-content:before {
+ content: "Il tuo device si è disconnesso da internet.";
+ }
+}
+@media (max-width: 568px) {
+ /* line 22, ../sass/_content.sass */
+ .offline-ui.offline-ui-down .offline-ui-content:before {
+ content: "Il tuo device si è disconnesso.";
+ }
+}
+/* line 33, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-connecting .offline-ui-content:before, .offline-ui.offline-ui-down.offline-ui-connecting-2s .offline-ui-content:before {
+ content: "Connessione in corso...";
+}
+/* line 42, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before {
+ content: "Connessione persa. Riconnessione tra " attr(data-retry-in-value) " secondi...";
+}
+@media (max-width: 568px) {
+ /* line 42, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before {
+ content: "Riconnessione tra " attr(data-retry-in-value) "s...";
+ }
+}
+/* line 50, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before {
+ content: "Connessione persa. Riconnessione tra " attr(data-retry-in-value) " secondo...";
+}
+@media (max-width: 568px) {
+ /* line 50, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before {
+ content: "Riconnessione tra " attr(data-retry-in-value) "s...";
+ }
+}
+/* line 58, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before {
+ content: "Connessione persa. Riconnessione tra " attr(data-retry-in-value) " minuti...";
+}
+@media (max-width: 568px) {
+ /* line 58, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before {
+ content: "Riconnessione tra " attr(data-retry-in-value) "m...";
+ }
+}
+/* line 66, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before {
+ content: "Connessione persa. Riconnessione tra " attr(data-retry-in-value) " minuto...";
+}
+@media (max-width: 568px) {
+ /* line 66, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before {
+ content: "Riconnessione tra " attr(data-retry-in-value) "m...";
+ }
+}
+/* line 74, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before {
+ content: "Connessione persa. Riconnessione tra " attr(data-retry-in-value) " ore...";
+}
+@media (max-width: 568px) {
+ /* line 74, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before {
+ content: "Riconnessione tra " attr(data-retry-in-value) "h...";
+ }
+}
+/* line 82, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before {
+ content: "Connessione persa. Riconnessione tra " attr(data-retry-in-value) " ora...";
+}
+@media (max-width: 568px) {
+ /* line 82, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before {
+ content: "Riconnessione tra " attr(data-retry-in-value) "h...";
+ }
+}
+/* line 90, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s.offline-ui-waiting .offline-ui-retry {
+ display: none;
+}
+/* line 93, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s .offline-ui-content:before {
+ content: "Tentativo di connessione fallito.";
+}
diff --git a/themes/offline-language-pashto-indicator.css b/themes/offline-language-pashto-indicator.css
new file mode 100644
index 0000000..ea172d6
--- /dev/null
+++ b/themes/offline-language-pashto-indicator.css
@@ -0,0 +1,8 @@
+/* line 5, ../sass/offline-language-pashto-indicator.sass */
+.offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "Online";
+}
+/* line 10, ../sass/offline-language-pashto-indicator.sass */
+.offline-ui.offline-ui-down .offline-ui-content:before {
+ content: "Offline";
+}
diff --git a/themes/offline-language-pashto.css b/themes/offline-language-pashto.css
new file mode 100644
index 0000000..bdcaf46
--- /dev/null
+++ b/themes/offline-language-pashto.css
@@ -0,0 +1,109 @@
+@charset "UTF-8";
+/* line 6, ../sass/_content.sass */
+.offline-ui .offline-ui-retry:before {
+ content: "بيا ونښلوي";
+}
+/* line 11, ../sass/_content.sass */
+.offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "ستاسو د کمپيوټر له انټرنيټ سره وصل دی.";
+}
+@media (max-width: 1024px) {
+ /* line 11, ../sass/_content.sass */
+ .offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "ستاسو وسيله چې د انټرنټ سره نښلي.";
+ }
+}
+@media (max-width: 568px) {
+ /* line 11, ../sass/_content.sass */
+ .offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "ستاسو آله سره نښلي.";
+ }
+}
+/* line 22, ../sass/_content.sass */
+.offline-ui.offline-ui-down .offline-ui-content:before {
+ content: "ستاسو د کمپيوټر د خپل د انټرنېټ پیوستون له لاسه ورکړ.";
+}
+@media (max-width: 1024px) {
+ /* line 22, ../sass/_content.sass */
+ .offline-ui.offline-ui-down .offline-ui-content:before {
+ content: "ستاسو آله خپل د انټرنېټ پیوستون له لاسه ورکړ.";
+ }
+}
+@media (max-width: 568px) {
+ /* line 22, ../sass/_content.sass */
+ .offline-ui.offline-ui-down .offline-ui-content:before {
+ content: "ستاسو آله نه نښلي.";
+ }
+}
+/* line 33, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-connecting .offline-ui-content:before, .offline-ui.offline-ui-down.offline-ui-connecting-2s .offline-ui-content:before {
+ content: "هڅه کوي تر څو یو ځل بیا سره نښلوي";
+}
+/* line 42, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before {
+ content: "پیوستون له لاسه ورکړ. بيا په سره نښلوي" attr(data-retry-in-value) "ثانيو ...";
+}
+@media (max-width: 568px) {
+ /* line 42, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before {
+ content: "بيا په سره نښلوي" attr(data-retry-in-value) "s...";
+ }
+}
+/* line 50, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before {
+ content: "پیوستون له لاسه ورکړ. بيا په سره نښلوي" attr(data-retry-in-value) "دوهم...";
+}
+@media (max-width: 568px) {
+ /* line 50, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before {
+ content: "بيا په سره نښلوي" attr(data-retry-in-value) "s...";
+ }
+}
+/* line 58, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before {
+ content: "پیوستون له لاسه ورکړ. بيا په سره نښلوي" attr(data-retry-in-value) "دقیقو ...";
+}
+@media (max-width: 568px) {
+ /* line 58, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before {
+ content: "بيا په سره نښلوي" attr(data-retry-in-value) "m...";
+ }
+}
+/* line 66, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before {
+ content: "پیوستون له لاسه ورکړ. بيا په سره نښلوي" attr(data-retry-in-value) "دقیقه ...";
+}
+@media (max-width: 568px) {
+ /* line 66, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before {
+ content: "بيا په سره نښلوي" attr(data-retry-in-value) "m...";
+ }
+}
+/* line 74, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before {
+ content: "پیوستون له لاسه ورکړ. بيا په سره نښلوي" attr(data-retry-in-value) "ساعتونو کې ...";
+}
+@media (max-width: 568px) {
+ /* line 74, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before {
+ content: "بيا په سره نښلوي" attr(data-retry-in-value) "h...";
+ }
+}
+/* line 82, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before {
+ content: "پیوستون له لاسه ورکړ. بيا په سره نښلوي" attr(data-retry-in-value) "ساعت ...";
+}
+@media (max-width: 568px) {
+ /* line 82, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before {
+ content: "بيا په سره نښلوي" attr(data-retry-in-value) "h...";
+ }
+}
+/* line 90, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s.offline-ui-waiting .offline-ui-retry {
+ display: none;
+}
+/* line 93, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s .offline-ui-content:before {
+ content: "پیوستون هڅه ناکامه شوه.";
+}
diff --git a/themes/offline-language-persian-indicator.css b/themes/offline-language-persian-indicator.css
new file mode 100644
index 0000000..326900f
--- /dev/null
+++ b/themes/offline-language-persian-indicator.css
@@ -0,0 +1,8 @@
+* line 5, ../sass/offline-language-english-indicator.sass */
+.offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "آنلاین";
+}
+/* line 10, ../sass/offline-language-english-indicator.sass */
+.offline-ui.offline-ui-down .offline-ui-content:before {
+ content: "آفلاین";
+}
diff --git a/themes/offline-language-persian.css b/themes/offline-language-persian.css
new file mode 100644
index 0000000..a1bb9b4
--- /dev/null
+++ b/themes/offline-language-persian.css
@@ -0,0 +1,108 @@
+/* line 6, ../sass/_content.sass */
+.offline-ui .offline-ui-retry:before {
+ content: "اتصال مجدد";
+}
+/* line 11, ../sass/_content.sass */
+.offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "ارتباط کامپیوتر شما با اینترنت برقرار است.";
+}
+@media (max-width: 1024px) {
+ /* line 11, ../sass/_content.sass */
+ .offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "ارتباط دستگاه شما با اینترنت برقرار است.";
+ }
+}
+@media (max-width: 568px) {
+ /* line 11, ../sass/_content.sass */
+ .offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "دستگاه شما متصل است.";
+ }
+}
+/* line 22, ../sass/_content.sass */
+.offline-ui.offline-ui-down .offline-ui-content:before {
+ content: "ارتباط کامپیوتر شما با اینترنت قطع شده است.";
+}
+@media (max-width: 1024px) {
+ /* line 22, ../sass/_content.sass */
+ .offline-ui.offline-ui-down .offline-ui-content:before {
+ content: "ارتباط دستگاه شما با اینترنت قطع شده است.";
+ }
+}
+@media (max-width: 568px) {
+ /* line 22, ../sass/_content.sass */
+ .offline-ui.offline-ui-down .offline-ui-content:before {
+ content: "دستگاه شما متصل نیست.";
+ }
+}
+/* line 33, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-connecting .offline-ui-content:before, .offline-ui.offline-ui-down.offline-ui-connecting-2s .offline-ui-content:before {
+ content: "تلاش برای اتصال مجدد...";
+}
+/* line 42, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before {
+ content: "اتصال قطع شد. اتصال مجدد در " attr(data-retry-in-value) " ثانیه...";
+}
+@media (max-width: 568px) {
+ /* line 42, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before {
+ content: "اتصال مجدد در " attr(data-retry-in-value) "s...";
+ }
+}
+/* line 50, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before {
+ content: "اتصال قطع شد. اتصال مجدد در " attr(data-retry-in-value) " ثانیه...";
+}
+@media (max-width: 568px) {
+ /* line 50, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before {
+ content: "اتصال مجدد در " attr(data-retry-in-value) "s...";
+ }
+}
+/* line 58, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before {
+ content: "اتصال قطع شد. اتصال مجدد در " attr(data-retry-in-value) " دقیقه...";
+}
+@media (max-width: 568px) {
+ /* line 58, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before {
+ content: "اتصال مجدد در " attr(data-retry-in-value) "m...";
+ }
+}
+/* line 66, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before {
+ content: "اتصال قطع شد. اتصال مجدد در " attr(data-retry-in-value) " دقیقه...";
+}
+@media (max-width: 568px) {
+ /* line 66, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before {
+ content: "اتصال مجدد در " attr(data-retry-in-value) "m...";
+ }
+}
+/* line 74, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before {
+ content: "اتصال قطع شد. اتصال مجدد در " attr(data-retry-in-value) " ساعت...";
+}
+@media (max-width: 568px) {
+ /* line 74, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before {
+ content: "اتصال مجدد در " attr(data-retry-in-value) "h...";
+ }
+}
+/* line 82, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before {
+ content: "اتصال قطع شد. اتصال مجدد در " attr(data-retry-in-value) " ساعت...";
+}
+@media (max-width: 568px) {
+ /* line 82, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before {
+ content: "اتصال مجدد در " attr(data-retry-in-value) "h...";
+ }
+}
+/* line 90, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s.offline-ui-waiting .offline-ui-retry {
+ display: none;
+}
+/* line 93, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s .offline-ui-content:before {
+ content: "تلاش برای اتصال مجدد بی نتیجه بود.";
+}
diff --git a/themes/offline-language-polish-indicator.css b/themes/offline-language-polish-indicator.css
new file mode 100644
index 0000000..7fe27de
--- /dev/null
+++ b/themes/offline-language-polish-indicator.css
@@ -0,0 +1,9 @@
+@charset "UTF-8";
+/* line 5, ../sass/offline-language-polish-indicator.sass */
+.offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "Połączony";
+}
+/* line 10, ../sass/offline-language-polish-indicator.sass */
+.offline-ui.offline-ui-down .offline-ui-content:before {
+ content: "Rozłączony";
+}
diff --git a/themes/offline-language-polish.css b/themes/offline-language-polish.css
new file mode 100644
index 0000000..e539903
--- /dev/null
+++ b/themes/offline-language-polish.css
@@ -0,0 +1,109 @@
+@charset "UTF-8";
+/* line 6, ../sass/_content.sass */
+.offline-ui .offline-ui-retry:before {
+ content: "Połącz teraz";
+}
+/* line 11, ../sass/_content.sass */
+.offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "Twój komputer jest podłączony do internetu.";
+}
+@media (max-width: 1024px) {
+ /* line 11, ../sass/_content.sass */
+ .offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "Twoje urządzenie jest podłączone do internetu.";
+ }
+}
+@media (max-width: 568px) {
+ /* line 11, ../sass/_content.sass */
+ .offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "Twoje urządzenie jest podłączone.";
+ }
+}
+/* line 22, ../sass/_content.sass */
+.offline-ui.offline-ui-down .offline-ui-content:before {
+ content: "Twój komputer stracił połączenie z internetem.";
+}
+@media (max-width: 1024px) {
+ /* line 22, ../sass/_content.sass */
+ .offline-ui.offline-ui-down .offline-ui-content:before {
+ content: "Twoje urządzenie straciło połączenie z internetem.";
+ }
+}
+@media (max-width: 568px) {
+ /* line 22, ../sass/_content.sass */
+ .offline-ui.offline-ui-down .offline-ui-content:before {
+ content: "Twoje urządzenie nie jest podłączone.";
+ }
+}
+/* line 33, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-connecting .offline-ui-content:before, .offline-ui.offline-ui-down.offline-ui-connecting-2s .offline-ui-content:before {
+ content: "Próbuję połączyć...";
+}
+/* line 42, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before {
+ content: "Połączenie utracone. Ponawiam za " attr(data-retry-in-value) " sekund...";
+}
+@media (max-width: 568px) {
+ /* line 42, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before {
+ content: "Ponawiam za " attr(data-retry-in-value) "s...";
+ }
+}
+/* line 50, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before {
+ content: "Połączenie utracone. Ponawiam za " attr(data-retry-in-value) " sekundę...";
+}
+@media (max-width: 568px) {
+ /* line 50, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before {
+ content: "Ponawiam za " attr(data-retry-in-value) "s...";
+ }
+}
+/* line 58, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before {
+ content: "Połączenie utracone. Ponawiam za " attr(data-retry-in-value) " minut...";
+}
+@media (max-width: 568px) {
+ /* line 58, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before {
+ content: "Ponawiam za " attr(data-retry-in-value) "m...";
+ }
+}
+/* line 66, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before {
+ content: "Połączenie utracone. Ponawiam za " attr(data-retry-in-value) " minutę...";
+}
+@media (max-width: 568px) {
+ /* line 66, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before {
+ content: "Ponawiam za " attr(data-retry-in-value) "m...";
+ }
+}
+/* line 74, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before {
+ content: "Połączenie utracone. Ponawiam za " attr(data-retry-in-value) " godzin...";
+}
+@media (max-width: 568px) {
+ /* line 74, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before {
+ content: "Ponawiam za " attr(data-retry-in-value) "h...";
+ }
+}
+/* line 82, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before {
+ content: "Połączenie utracone. Ponawiam za " attr(data-retry-in-value) " godzinę...";
+}
+@media (max-width: 568px) {
+ /* line 82, ../sass/_content.sass */
+ .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before {
+ content: "Ponawiam za " attr(data-retry-in-value) "h...";
+ }
+}
+/* line 90, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s.offline-ui-waiting .offline-ui-retry {
+ display: none;
+}
+/* line 93, ../sass/_content.sass */
+.offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s .offline-ui-content:before {
+ content: "Nieudana próba podłączenia.";
+}
diff --git a/themes/offline-language-portuguese-brazil.css b/themes/offline-language-portuguese-brazil.css
index 614f5a9..f31e0af 100644
--- a/themes/offline-language-portuguese-brazil.css
+++ b/themes/offline-language-portuguese-brazil.css
@@ -41,7 +41,7 @@
}
/* line 42, ../sass/_content.sass */
.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"]:before {
- content: "Conexão perdida. reconectando em " attr(data-retry-in-value) " segundos...";
+ content: "Conexão perdida. Reconectando em " attr(data-retry-in-value) " segundos...";
}
@media (max-width: 568px) {
/* line 42, ../sass/_content.sass */
@@ -51,7 +51,7 @@
}
/* line 50, ../sass/_content.sass */
.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="second"][data-retry-in-value="1"]:before {
- content: "Conexão perdida. reconectando em " attr(data-retry-in-value) " segundo...";
+ content: "Conexão perdida. Reconectando em " attr(data-retry-in-value) " segundo...";
}
@media (max-width: 568px) {
/* line 50, ../sass/_content.sass */
@@ -61,7 +61,7 @@
}
/* line 58, ../sass/_content.sass */
.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"]:before {
- content: "Conexão perdida. reconectando em " attr(data-retry-in-value) " minutos...";
+ content: "Conexão perdida. Reconectando em " attr(data-retry-in-value) " minutos...";
}
@media (max-width: 568px) {
/* line 58, ../sass/_content.sass */
@@ -71,7 +71,7 @@
}
/* line 66, ../sass/_content.sass */
.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="minute"][data-retry-in-value="1"]:before {
- content: "Conexão perdida. reconectando em " attr(data-retry-in-value) " minuto...";
+ content: "Conexão perdida. Reconectando em " attr(data-retry-in-value) " minuto...";
}
@media (max-width: 568px) {
/* line 66, ../sass/_content.sass */
@@ -81,7 +81,7 @@
}
/* line 74, ../sass/_content.sass */
.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"]:before {
- content: "Conexão perdida. reconectando em " attr(data-retry-in-value) " horas...";
+ content: "Conexão perdida. Reconectando em " attr(data-retry-in-value) " horas...";
}
@media (max-width: 568px) {
/* line 74, ../sass/_content.sass */
@@ -91,7 +91,7 @@
}
/* line 82, ../sass/_content.sass */
.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit="hour"][data-retry-in-value="1"]:before {
- content: "Conexão perdida. reconectando em " attr(data-retry-in-value) " hora...";
+ content: "Conexão perdida. Reconectando em " attr(data-retry-in-value) " hora...";
}
@media (max-width: 568px) {
/* line 82, ../sass/_content.sass */
diff --git a/themes/offline-language-simplified-chinese-indicator.css b/themes/offline-language-simplified-chinese-indicator.css
new file mode 100644
index 0000000..8939336
--- /dev/null
+++ b/themes/offline-language-simplified-chinese-indicator.css
@@ -0,0 +1,9 @@
+@charset "UTF-8";
+/* line 6, ../sass/offline-language-simplified-chinese-indicator.sass */
+.offline-ui.offline-ui-up .offline-ui-content:before {
+ content: "在线";
+}
+/* line 11, ../sass/offline-language-simplified-chinese-indicator.sass */
+.offline-ui.offline-ui-down .offline-ui-content:before {
+ content: "离线";
+}