mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update recording dialogs
This commit is contained in:
parent
fbc040dc9c
commit
90d30a0229
73 changed files with 1986 additions and 713 deletions
|
@ -16,7 +16,7 @@
|
|||
<div class="autoorganizetable">
|
||||
<table class="tblOrganizationResults table" style="border-collapse:collapse;">
|
||||
<thead>
|
||||
<tr>
|
||||
<tr style="text-align: left;">
|
||||
<th data-priority="1"></th>
|
||||
<th data-priority="2">${HeaderDate}</th>
|
||||
<th data-priority="1">${HeaderSource}</th>
|
||||
|
|
|
@ -16,12 +16,12 @@
|
|||
},
|
||||
"devDependencies": {},
|
||||
"ignore": [],
|
||||
"version": "1.1.87",
|
||||
"_release": "1.1.87",
|
||||
"version": "1.1.89",
|
||||
"_release": "1.1.89",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "1.1.87",
|
||||
"commit": "21057764cdf82e9ef08514cca4e48c76d47e535f"
|
||||
"tag": "1.1.89",
|
||||
"commit": "eb7fd9c48824ee465f324e855025c8f66a37b628"
|
||||
},
|
||||
"_source": "https://github.com/MediaBrowser/Emby.ApiClient.Javascript.git",
|
||||
"_target": "^1.1.51",
|
||||
|
|
|
@ -216,7 +216,7 @@
|
|||
return connectUser;
|
||||
};
|
||||
|
||||
var minServerVersion = '3.0.5986';
|
||||
var minServerVersion = '3.0.5994';
|
||||
self.minServerVersion = function (val) {
|
||||
|
||||
if (val) {
|
||||
|
@ -1087,7 +1087,8 @@
|
|||
Servers: [server]
|
||||
});
|
||||
|
||||
} if (result.Id !== server.Id) {
|
||||
}
|
||||
else if (result.Id !== server.Id) {
|
||||
|
||||
// http request succeeded, but it's a different server than what was expected
|
||||
testNextConnectionMode(tests, index + 1, server, options, resolve);
|
||||
|
@ -1249,49 +1250,40 @@
|
|||
|
||||
self.loginToConnect = function (username, password) {
|
||||
|
||||
return new Promise(function (resolve, reject) {
|
||||
if (!username) {
|
||||
return Promise.reject();
|
||||
return;
|
||||
}
|
||||
if (!password) {
|
||||
return Promise.reject();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!username) {
|
||||
reject();
|
||||
return;
|
||||
}
|
||||
if (!password) {
|
||||
reject();
|
||||
return;
|
||||
return ajax({
|
||||
type: "POST",
|
||||
url: "https://connect.emby.media/service/user/authenticate",
|
||||
data: {
|
||||
nameOrEmail: username,
|
||||
password: password
|
||||
},
|
||||
dataType: "json",
|
||||
contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
|
||||
headers: {
|
||||
"X-Application": appName + "/" + appVersion
|
||||
}
|
||||
|
||||
require(['cryptojs-md5'], function () {
|
||||
}).then(function (result) {
|
||||
|
||||
var md5 = getConnectPasswordHash(password);
|
||||
var credentials = credentialProvider.credentials();
|
||||
|
||||
ajax({
|
||||
type: "POST",
|
||||
url: "https://connect.emby.media/service/user/authenticate",
|
||||
data: {
|
||||
nameOrEmail: username,
|
||||
password: md5
|
||||
},
|
||||
dataType: "json",
|
||||
contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
|
||||
headers: {
|
||||
"X-Application": appName + "/" + appVersion
|
||||
}
|
||||
credentials.ConnectAccessToken = result.AccessToken;
|
||||
credentials.ConnectUserId = result.User.Id;
|
||||
|
||||
}).then(function (result) {
|
||||
credentialProvider.credentials(credentials);
|
||||
|
||||
var credentials = credentialProvider.credentials();
|
||||
onConnectUserSignIn(result.User);
|
||||
|
||||
credentials.ConnectAccessToken = result.AccessToken;
|
||||
credentials.ConnectUserId = result.User.Id;
|
||||
|
||||
credentialProvider.credentials(credentials);
|
||||
|
||||
onConnectUserSignIn(result.User);
|
||||
|
||||
resolve(result);
|
||||
|
||||
}, reject);
|
||||
});
|
||||
return result;
|
||||
});
|
||||
};
|
||||
|
||||
|
@ -1302,104 +1294,61 @@
|
|||
var password = options.password;
|
||||
var passwordConfirm = options.passwordConfirm;
|
||||
|
||||
return new Promise(function (resolve, reject) {
|
||||
if (!email) {
|
||||
return Promise.reject({ errorCode: 'invalidinput' });
|
||||
}
|
||||
if (!username) {
|
||||
return Promise.reject({ errorCode: 'invalidinput' });
|
||||
}
|
||||
if (!password) {
|
||||
return Promise.reject({ errorCode: 'invalidinput' });
|
||||
}
|
||||
if (!passwordConfirm) {
|
||||
return Promise.reject({ errorCode: 'passwordmatch' });
|
||||
}
|
||||
if (password !== passwordConfirm) {
|
||||
return Promise.reject({ errorCode: 'passwordmatch' });
|
||||
}
|
||||
|
||||
if (!email) {
|
||||
reject({ errorCode: 'invalidinput' });
|
||||
return;
|
||||
}
|
||||
if (!username) {
|
||||
reject({ errorCode: 'invalidinput' });
|
||||
return;
|
||||
}
|
||||
if (!password) {
|
||||
reject({ errorCode: 'invalidinput' });
|
||||
return;
|
||||
}
|
||||
if (!passwordConfirm) {
|
||||
reject({ errorCode: 'passwordmatch' });
|
||||
return;
|
||||
}
|
||||
if (password !== passwordConfirm) {
|
||||
reject({ errorCode: 'passwordmatch' });
|
||||
return;
|
||||
var data = {
|
||||
email: email,
|
||||
userName: username,
|
||||
password: password
|
||||
};
|
||||
|
||||
if (options.grecaptcha) {
|
||||
data.grecaptcha = options.grecaptcha;
|
||||
}
|
||||
|
||||
return ajax({
|
||||
type: "POST",
|
||||
url: "https://connect.emby.media/service/register",
|
||||
data: data,
|
||||
dataType: "json",
|
||||
contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
|
||||
headers: {
|
||||
"X-Application": appName + "/" + appVersion,
|
||||
"X-CONNECT-TOKEN": "CONNECT-REGISTER"
|
||||
}
|
||||
|
||||
require(['cryptojs-md5'], function () {
|
||||
}).catch(function (response) {
|
||||
|
||||
var md5 = getConnectPasswordHash(password);
|
||||
try {
|
||||
return response.json();
|
||||
} catch (err) {
|
||||
throw err;
|
||||
}
|
||||
|
||||
var data = {
|
||||
email: email,
|
||||
userName: username,
|
||||
password: md5
|
||||
};
|
||||
}).then(function (result) {
|
||||
|
||||
if (options.grecaptcha) {
|
||||
data.grecaptcha = options.grecaptcha;
|
||||
}
|
||||
|
||||
ajax({
|
||||
type: "POST",
|
||||
url: "https://connect.emby.media/service/register",
|
||||
data: data,
|
||||
dataType: "json",
|
||||
contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
|
||||
headers: {
|
||||
"X-Application": appName + "/" + appVersion,
|
||||
"X-CONNECT-TOKEN": "CONNECT-REGISTER"
|
||||
}
|
||||
|
||||
}).then(resolve, function (response) {
|
||||
|
||||
try {
|
||||
return response.json();
|
||||
|
||||
} catch (err) {
|
||||
reject();
|
||||
}
|
||||
|
||||
}).then(function (result) {
|
||||
|
||||
if (result && result.Status) {
|
||||
reject({ errorCode: result.Status });
|
||||
} else {
|
||||
reject();
|
||||
}
|
||||
|
||||
}, reject);
|
||||
});
|
||||
if (result && result.Status) {
|
||||
return Promise.reject({ errorCode: result.Status });
|
||||
} else {
|
||||
Promise.reject();
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
function replaceAllWithSplit(str, find, replace) {
|
||||
|
||||
return str.split(find).join(replace);
|
||||
}
|
||||
|
||||
function cleanConnectPassword(password) {
|
||||
|
||||
password = password || '';
|
||||
|
||||
password = replaceAllWithSplit(password, "&", "&");
|
||||
password = replaceAllWithSplit(password, "/", "\");
|
||||
password = replaceAllWithSplit(password, "!", "!");
|
||||
password = replaceAllWithSplit(password, "$", "$");
|
||||
password = replaceAllWithSplit(password, "\"", """);
|
||||
password = replaceAllWithSplit(password, "<", "<");
|
||||
password = replaceAllWithSplit(password, ">", ">");
|
||||
password = replaceAllWithSplit(password, "'", "'");
|
||||
|
||||
return password;
|
||||
}
|
||||
|
||||
function getConnectPasswordHash(password) {
|
||||
|
||||
password = cleanConnectPassword(password);
|
||||
|
||||
return CryptoJS.MD5(password).toString();
|
||||
}
|
||||
|
||||
self.getApiClient = function (item) {
|
||||
|
||||
// Accept string + object
|
||||
|
|
|
@ -14,12 +14,12 @@
|
|||
},
|
||||
"devDependencies": {},
|
||||
"ignore": [],
|
||||
"version": "1.4.302",
|
||||
"_release": "1.4.302",
|
||||
"version": "1.4.307",
|
||||
"_release": "1.4.307",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "1.4.302",
|
||||
"commit": "20e464bac58bf2fe4408dc20e98d127fdfa0c692"
|
||||
"tag": "1.4.307",
|
||||
"commit": "115fba2defaa8e0a08a0dc00b0ff03ba08e45b9f"
|
||||
},
|
||||
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
|
||||
"_target": "^1.2.1",
|
||||
|
|
|
@ -9,11 +9,13 @@
|
|||
}
|
||||
|
||||
.actionsheet-not-fullscreen {
|
||||
background-color: #2a2a2a;
|
||||
background-color: #121314;
|
||||
max-width: 90%;
|
||||
max-height: 90%;
|
||||
}
|
||||
|
||||
.actionSheetMenuItem:hover {
|
||||
background-color: #333;
|
||||
background-color: #222;
|
||||
}
|
||||
|
||||
.actionsheet-fullscreen {
|
||||
|
@ -35,6 +37,7 @@
|
|||
flex-grow: 1;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.actionSheetMenuItem {
|
||||
|
@ -63,7 +66,7 @@
|
|||
}
|
||||
|
||||
.actionSheetItemText-extraspacing {
|
||||
padding: .8em 0;
|
||||
padding: .9em 0;
|
||||
}
|
||||
|
||||
.emby-button-noflex .actionSheetItemText {
|
||||
|
|
|
@ -97,9 +97,7 @@
|
|||
var dialogOptions = {
|
||||
removeOnClose: true,
|
||||
enableHistory: options.enableHistory,
|
||||
scrollY: false,
|
||||
entryAnimation: options.entryAnimation,
|
||||
exitAnimation: options.exitAnimation
|
||||
scrollY: false
|
||||
};
|
||||
|
||||
var backButton = false;
|
||||
|
@ -113,7 +111,7 @@
|
|||
} else {
|
||||
|
||||
dialogOptions.modal = false;
|
||||
dialogOptions.entryAnimationDuration = options.entryAnimationDuration || 140;
|
||||
dialogOptions.entryAnimationDuration = options.entryAnimationDuration || 160;
|
||||
dialogOptions.exitAnimationDuration = options.exitAnimationDuration || 180;
|
||||
dialogOptions.autoFocus = false;
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
return false;
|
||||
}
|
||||
|
||||
return elem.animate;
|
||||
return true;
|
||||
}
|
||||
|
||||
function enableRotation() {
|
||||
|
@ -23,6 +23,7 @@
|
|||
|
||||
var self = this;
|
||||
var isDestroyed;
|
||||
var currentAnimatingElement;
|
||||
|
||||
self.load = function (url, parent, existingBackdropImage) {
|
||||
|
||||
|
@ -39,6 +40,7 @@
|
|||
backdropImage.style.backgroundImage = "url('" + url + "')";
|
||||
backdropImage.setAttribute('data-url', url);
|
||||
|
||||
backdropImage.style.animation = 'backdrop-fadein ' + 800 + 'ms ease-in normal both';
|
||||
parent.appendChild(backdropImage);
|
||||
|
||||
if (!enableAnimation(backdropImage)) {
|
||||
|
@ -49,37 +51,26 @@
|
|||
return;
|
||||
}
|
||||
|
||||
var animation = fadeIn(backdropImage, 1);
|
||||
currentAnimation = animation;
|
||||
animation.onfinish = function () {
|
||||
setTimeout(function () {
|
||||
|
||||
if (animation === currentAnimation) {
|
||||
currentAnimation = null;
|
||||
if (backdropImage === currentAnimatingElement) {
|
||||
currentAnimatingElement = null;
|
||||
}
|
||||
if (existingBackdropImage && existingBackdropImage.parentNode) {
|
||||
existingBackdropImage.parentNode.removeChild(existingBackdropImage);
|
||||
}
|
||||
};
|
||||
}, 800);
|
||||
|
||||
internalBackdrop(true);
|
||||
};
|
||||
img.src = url;
|
||||
};
|
||||
|
||||
var currentAnimation;
|
||||
function fadeIn(elem, iterations) {
|
||||
var keyframes = [
|
||||
{ opacity: '0', offset: 0 },
|
||||
{ opacity: '1', offset: 1 }];
|
||||
var timing = { duration: 800, iterations: iterations, easing: 'ease-in' };
|
||||
return elem.animate(keyframes, timing);
|
||||
}
|
||||
|
||||
function cancelAnimation() {
|
||||
var animation = currentAnimation;
|
||||
if (animation) {
|
||||
animation.cancel();
|
||||
currentAnimation = null;
|
||||
var elem = currentAnimatingElement;
|
||||
if (elem) {
|
||||
elem.style.animation = '';
|
||||
currentAnimatingElement = null;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -14,3 +14,13 @@
|
|||
bottom: 0;
|
||||
contain: layout style;
|
||||
}
|
||||
|
||||
@keyframes backdrop-fadein {
|
||||
from {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
to {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
|
@ -92,14 +92,7 @@ button {
|
|||
}
|
||||
|
||||
.cardBox-mobile {
|
||||
margin: 1px;
|
||||
}
|
||||
|
||||
@media all and (min-width: 600px) {
|
||||
|
||||
.cardBox-mobile {
|
||||
margin: 2px;
|
||||
}
|
||||
margin: 2px;
|
||||
}
|
||||
|
||||
.card:focus {
|
||||
|
@ -156,14 +149,6 @@ button {
|
|||
height: 100%;
|
||||
}
|
||||
|
||||
@media all and (min-width: 600px) {
|
||||
|
||||
.cardImageContainer {
|
||||
/* Should be 0 with visualCardBox, but not really noticeable */
|
||||
border-radius: 1px;
|
||||
}
|
||||
}
|
||||
|
||||
.chapterCardImageContainer {
|
||||
background-color: #000;
|
||||
border-radius: 0;
|
||||
|
@ -411,17 +396,17 @@ button {
|
|||
}
|
||||
|
||||
.overflowPortraitCard-scalable {
|
||||
width: 40%;
|
||||
width: 42%;
|
||||
max-width: 200px;
|
||||
}
|
||||
|
||||
.overflowBackdropCard-scalable {
|
||||
width: 70%;
|
||||
width: 72%;
|
||||
max-width: 400px;
|
||||
}
|
||||
|
||||
.overflowSquareCard-scalable {
|
||||
width: 40%;
|
||||
width: 42%;
|
||||
max-width: 200px;
|
||||
}
|
||||
|
||||
|
|
|
@ -149,7 +149,7 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo
|
|||
if (screenWidth >= 540) {
|
||||
return 100 / 30;
|
||||
}
|
||||
return 100 / 40;
|
||||
return 100 / 42;
|
||||
case 'overflowSquare':
|
||||
if (screenWidth >= 1000) {
|
||||
return 100 / 22;
|
||||
|
@ -157,7 +157,7 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo
|
|||
if (screenWidth >= 540) {
|
||||
return 100 / 30;
|
||||
}
|
||||
return 100 / 40;
|
||||
return 100 / 42;
|
||||
case 'overflowBackdrop':
|
||||
if (screenWidth >= 1000) {
|
||||
return 100 / 40;
|
||||
|
@ -168,7 +168,7 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo
|
|||
if (screenWidth >= 540) {
|
||||
return 100 / 64;
|
||||
}
|
||||
return 100 / 70;
|
||||
return 100 / 72;
|
||||
default:
|
||||
return 4;
|
||||
}
|
||||
|
|
|
@ -40,6 +40,74 @@
|
|||
box-shadow: none;
|
||||
}
|
||||
|
||||
@keyframes scaledown {
|
||||
from {
|
||||
opacity: 1;
|
||||
transform: none;
|
||||
}
|
||||
|
||||
to {
|
||||
opacity: 0;
|
||||
transform: scale(0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes scaleup {
|
||||
from {
|
||||
transform: scale(0);
|
||||
}
|
||||
|
||||
to {
|
||||
transform: none;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes fadein {
|
||||
from {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
to {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes fadeout {
|
||||
|
||||
from {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
to {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes slideup {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translate3d(0, 30%, 0);
|
||||
}
|
||||
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: none;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes slidedown {
|
||||
|
||||
from {
|
||||
opacity: 1;
|
||||
transform: none;
|
||||
}
|
||||
|
||||
to {
|
||||
opacity: 0;
|
||||
transform: translate3d(0, 30%, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (max-width: 1280px), all and (max-height: 720px) {
|
||||
|
||||
.dialog-fixedSize, .dialog-fullscreen-lowres {
|
||||
|
|
|
@ -3,19 +3,6 @@
|
|||
|
||||
var globalOnOpenCallback;
|
||||
|
||||
function enableAnimation() {
|
||||
|
||||
if (browser.animate) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (browser.edge) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
function removeCenterFocus(dlg) {
|
||||
|
||||
if (layoutManager.tv) {
|
||||
|
@ -207,60 +194,6 @@
|
|||
}
|
||||
}
|
||||
|
||||
function scaleUp(elem, onFinish) {
|
||||
|
||||
var keyframes = [
|
||||
{ transform: 'scale(0)', offset: 0 },
|
||||
{ transform: 'none', offset: 1 }];
|
||||
var timing = elem.animationConfig.entry.timing;
|
||||
elem.animate(keyframes, timing).onfinish = onFinish;
|
||||
}
|
||||
|
||||
function slideUp(elem, onFinish) {
|
||||
|
||||
var keyframes = [
|
||||
{ transform: 'translate3d(0,30%,0)', opacity: 0, offset: 0 },
|
||||
{ transform: 'none', opacity: 1, offset: 1 }];
|
||||
var timing = elem.animationConfig.entry.timing;
|
||||
elem.animate(keyframes, timing).onfinish = onFinish;
|
||||
}
|
||||
|
||||
function fadeIn(elem, onFinish) {
|
||||
|
||||
var keyframes = [
|
||||
{ opacity: '0', offset: 0 },
|
||||
{ opacity: '1', offset: 1 }];
|
||||
var timing = elem.animationConfig.entry.timing;
|
||||
elem.animate(keyframes, timing).onfinish = onFinish;
|
||||
}
|
||||
|
||||
function scaleDown(elem) {
|
||||
|
||||
var keyframes = [
|
||||
{ transform: 'none', opacity: 1, offset: 0 },
|
||||
{ transform: 'scale(0)', opacity: 0, offset: 1 }];
|
||||
var timing = elem.animationConfig.exit.timing;
|
||||
return elem.animate(keyframes, timing);
|
||||
}
|
||||
|
||||
function fadeOut(elem) {
|
||||
|
||||
var keyframes = [
|
||||
{ opacity: '1', offset: 0 },
|
||||
{ opacity: '0', offset: 1 }];
|
||||
var timing = elem.animationConfig.exit.timing;
|
||||
return elem.animate(keyframes, timing);
|
||||
}
|
||||
|
||||
function slideDown(elem, onFinish) {
|
||||
|
||||
var keyframes = [
|
||||
{ transform: 'none', opacity: 1, offset: 0 },
|
||||
{ transform: 'translate3d(0,30%,0)', opacity: 0, offset: 1 }];
|
||||
var timing = elem.animationConfig.entry.timing;
|
||||
return elem.animate(keyframes, timing);
|
||||
}
|
||||
|
||||
function closeDialog(dlg) {
|
||||
|
||||
if (!dlg.classList.contains('hide')) {
|
||||
|
@ -274,34 +207,13 @@
|
|||
focusManager.popScope(dlg);
|
||||
|
||||
dlg.classList.add('hide');
|
||||
if (dlg.close) {
|
||||
dlg.close();
|
||||
} else {
|
||||
dlg.dispatchEvent(new CustomEvent('close', {
|
||||
bubbles: false,
|
||||
cancelable: false
|
||||
}));
|
||||
}
|
||||
dlg.dispatchEvent(new CustomEvent('close', {
|
||||
bubbles: false,
|
||||
cancelable: false
|
||||
}));
|
||||
};
|
||||
if (!dlg.animationConfig) {
|
||||
onAnimationFinish();
|
||||
return;
|
||||
}
|
||||
|
||||
var animation;
|
||||
|
||||
if (dlg.animationConfig.exit.name === 'fadeout') {
|
||||
animation = fadeOut(dlg);
|
||||
} else if (dlg.animationConfig.exit.name === 'scaledown') {
|
||||
animation = scaleDown(dlg);
|
||||
} else if (dlg.animationConfig.exit.name === 'slidedown') {
|
||||
animation = slideDown(dlg);
|
||||
} else {
|
||||
onAnimationFinish();
|
||||
return;
|
||||
}
|
||||
|
||||
animation.onfinish = onAnimationFinish;
|
||||
animateDialogClose(dlg, onAnimationFinish);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -314,17 +226,27 @@
|
|||
}
|
||||
};
|
||||
|
||||
if (!dlg.animationConfig) {
|
||||
onAnimationFinish();
|
||||
return;
|
||||
}
|
||||
if (dlg.animationConfig.entry.name === 'fadein') {
|
||||
fadeIn(dlg, onAnimationFinish);
|
||||
} else if (dlg.animationConfig.entry.name === 'scaleup') {
|
||||
scaleUp(dlg, onAnimationFinish);
|
||||
} else if (dlg.animationConfig.entry.name === 'slideup') {
|
||||
slideUp(dlg, onAnimationFinish);
|
||||
setTimeout(onAnimationFinish, dlg.animationConfig.entry.timing.duration);
|
||||
}
|
||||
|
||||
function animateDialogClose(dlg, onAnimationFinish) {
|
||||
|
||||
switch (dlg.animationConfig.exit.name) {
|
||||
|
||||
case 'fadeout':
|
||||
dlg.style.animation = 'fadeout ' + dlg.animationConfig.exit.timing.duration + 'ms ease-out normal both';
|
||||
break;
|
||||
case 'scaledown':
|
||||
dlg.style.animation = 'scaledown ' + dlg.animationConfig.exit.timing.duration + 'ms ease-out normal both';
|
||||
break;
|
||||
case 'slidedown':
|
||||
dlg.style.animation = 'slidedown ' + dlg.animationConfig.exit.timing.duration + 'ms ease-out normal both';
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
setTimeout(onAnimationFinish, dlg.animationConfig.exit.timing.duration);
|
||||
}
|
||||
|
||||
function shouldLockDocumentScroll(options) {
|
||||
|
@ -411,7 +333,6 @@
|
|||
// scale up
|
||||
'entry': {
|
||||
name: entryAnimation,
|
||||
node: dlg,
|
||||
timing: {
|
||||
duration: entryAnimationDuration,
|
||||
easing: 'ease-out'
|
||||
|
@ -420,7 +341,6 @@
|
|||
// fade out
|
||||
'exit': {
|
||||
name: exitAnimation,
|
||||
node: dlg,
|
||||
timing: {
|
||||
duration: exitAnimationDuration,
|
||||
easing: 'ease-out',
|
||||
|
@ -429,11 +349,6 @@
|
|||
}
|
||||
};
|
||||
|
||||
// too buggy in IE, not even worth it
|
||||
if (!enableAnimation()) {
|
||||
dlg.animationConfig = null;
|
||||
}
|
||||
|
||||
dlg.classList.add('dialog');
|
||||
|
||||
if (options.scrollX) {
|
||||
|
@ -460,6 +375,21 @@
|
|||
dlg.classList.add('dialog-' + options.size);
|
||||
}
|
||||
|
||||
switch (dlg.animationConfig.entry.name) {
|
||||
|
||||
case 'fadein':
|
||||
dlg.style.animation = 'fadein ' + entryAnimationDuration + 'ms ease-out normal';
|
||||
break;
|
||||
case 'scaleup':
|
||||
dlg.style.animation = 'scaleup ' + entryAnimationDuration + 'ms ease-out normal both';
|
||||
break;
|
||||
case 'slideup':
|
||||
dlg.style.animation = 'slideup ' + entryAnimationDuration + 'ms ease-out normal';
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return dlg;
|
||||
}
|
||||
|
||||
|
|
|
@ -113,14 +113,6 @@
|
|||
|
||||
EmbySelectPrototype.createdCallback = function () {
|
||||
|
||||
var parent = this.parentNode;
|
||||
if (parent && !parent.classList.contains('selectContainer')) {
|
||||
var div = this.ownerDocument.createElement('div');
|
||||
div.classList.add('selectContainer');
|
||||
parent.replaceChild(div, this);
|
||||
div.appendChild(this);
|
||||
}
|
||||
|
||||
if (!this.id) {
|
||||
this.id = 'embyselect' + inputId;
|
||||
inputId++;
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
context.querySelector('.chkColorCodedBackgrounds').checked = userSettings.get('guide-colorcodedbackgrounds') === 'true';
|
||||
context.querySelector('.chkFavoriteChannelsAtTop').checked = userSettings.get('livetv-favoritechannelsattop') !== 'false';
|
||||
|
||||
var sortByValue = userSettings.get('livetv-channelorder') || 'DatePlayed';
|
||||
var sortByValue = userSettings.get('livetv-channelorder') || 'Number';
|
||||
|
||||
var sortBys = context.querySelectorAll('.chkSortOrder');
|
||||
for (i = 0, length = sortBys.length; i < length; i++) {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
define(['require', 'browser', 'globalize', 'connectionManager', 'serverNotifications', 'loading', 'datetime', 'focusManager', 'userSettings', 'imageLoader', 'events', 'layoutManager', 'itemShortcuts', 'registrationservices', 'dom', 'clearButtonStyle', 'css!./guide.css', 'programStyles', 'material-icons', 'scrollStyles', 'emby-button', 'paper-icon-button-light'], function (require, browser, globalize, connectionManager, serverNotifications, loading, datetime, focusManager, userSettings, imageLoader, events, layoutManager, itemShortcuts, registrationServices, dom) {
|
||||
define(['require', 'browser', 'globalize', 'connectionManager', 'serverNotifications', 'loading', 'datetime', 'focusManager', 'userSettings', 'imageLoader', 'events', 'layoutManager', 'itemShortcuts', 'registrationServices', 'dom', 'clearButtonStyle', 'css!./guide.css', 'programStyles', 'material-icons', 'scrollStyles', 'emby-button', 'paper-icon-button-light'], function (require, browser, globalize, connectionManager, serverNotifications, loading, datetime, focusManager, userSettings, imageLoader, events, layoutManager, itemShortcuts, registrationServices, dom) {
|
||||
'use strict';
|
||||
|
||||
function showViewSettings(instance) {
|
||||
|
@ -207,12 +207,12 @@
|
|||
}
|
||||
}
|
||||
|
||||
if (userSettings.get('livetv-channelorder') === 'Number') {
|
||||
channelQuery.SortBy = "SortName";
|
||||
channelQuery.SortOrder = "Ascending";
|
||||
} else {
|
||||
if (userSettings.get('livetv-channelorder') === 'DatePlayed') {
|
||||
channelQuery.SortBy = "DatePlayed";
|
||||
channelQuery.SortOrder = "Descending";
|
||||
} else {
|
||||
channelQuery.SortBy = "SortName";
|
||||
channelQuery.SortOrder = "Ascending";
|
||||
}
|
||||
|
||||
var date = newStartDate;
|
||||
|
|
|
@ -24,35 +24,6 @@
|
|||
}
|
||||
}
|
||||
|
||||
var initCount = 0;
|
||||
function showTapHoldHelp(element) {
|
||||
|
||||
if (initCount >= 15) {
|
||||
// All done
|
||||
return;
|
||||
}
|
||||
|
||||
initCount++;
|
||||
|
||||
if (initCount < 15) {
|
||||
return;
|
||||
}
|
||||
|
||||
var expectedValue = "8";
|
||||
if (appStorage.getItem("tapholdhelp") == expectedValue) {
|
||||
return;
|
||||
}
|
||||
|
||||
appStorage.setItem("tapholdhelp", expectedValue);
|
||||
|
||||
require(['alert'], function (alert) {
|
||||
alert({
|
||||
text: globalize.translate('sharedcomponents#TryMultiSelectMessage'),
|
||||
title: globalize.translate('sharedcomponents#TryMultiSelect')
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function onItemSelectionPanelClick(e, itemSelectionPanel) {
|
||||
|
||||
// toggle the checkbox, if it wasn't clicked on
|
||||
|
@ -504,8 +475,6 @@
|
|||
self.manager = manager;
|
||||
});
|
||||
}
|
||||
|
||||
showTapHoldHelp(element);
|
||||
}
|
||||
|
||||
initTapHold(container);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
define(['globalize', 'connectionManager', 'require', 'loading', 'apphost', 'dom', 'recordingHelper', 'events', 'shell', 'paper-icon-button-light', 'emby-button'], function (globalize, connectionManager, require, loading, appHost, dom, recordingHelper, events, shell) {
|
||||
define(['globalize', 'connectionManager', 'require', 'loading', 'apphost', 'dom', 'recordingHelper', 'events', 'registrationServices', 'paper-icon-button-light', 'emby-button'], function (globalize, connectionManager, require, loading, appHost, dom, recordingHelper, events, registrationServices) {
|
||||
|
||||
function getRegistration(apiClient, programId, feature) {
|
||||
|
||||
|
@ -148,11 +148,7 @@
|
|||
}
|
||||
|
||||
function onSupporterButtonClick() {
|
||||
if (appHost.supports('externalpremium')) {
|
||||
shell.openUrl('https://emby.media/premiere');
|
||||
} else {
|
||||
|
||||
}
|
||||
registrationServices.showPremiereInfo();
|
||||
}
|
||||
|
||||
function onManageRecordingClick(e) {
|
||||
|
|
501
dashboard-ui/bower_components/emby-webcomponents/registrationservices/registrationservices.js
vendored
Normal file
501
dashboard-ui/bower_components/emby-webcomponents/registrationservices/registrationservices.js
vendored
Normal file
|
@ -0,0 +1,501 @@
|
|||
define(['appSettings', 'loading', 'apphost', 'iapManager', 'events', 'shell', 'globalize', 'dialogHelper', 'connectionManager', 'layoutManager', 'emby-button'], function (appSettings, loading, appHost, iapManager, events, shell, globalize, dialogHelper, connectionManager, layoutManager) {
|
||||
|
||||
var validatedFeatures = [];
|
||||
|
||||
function alertText(options) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
require(['alert'], function (alert) {
|
||||
alert(options).then(resolve, reject);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function showInAppPurchaseInfo(subscriptionOptions, unlockableProductInfo, dialogOptions) {
|
||||
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
require(['listViewStyle', 'formDialogStyle'], function () {
|
||||
showInAppPurchaseElement(subscriptionOptions, unlockableProductInfo, dialogOptions, resolve, reject);
|
||||
|
||||
currentDisplayingResolve = resolve;
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function validateFeature(feature) {
|
||||
|
||||
console.log('validateFeature: ' + feature);
|
||||
|
||||
if (validatedFeatures.indexOf(feature) != -1) {
|
||||
return Promise.resolve();
|
||||
}
|
||||
|
||||
return iapManager.isUnlockedByDefault(feature).catch(function () {
|
||||
|
||||
var unlockableFeatureCacheKey = 'featurepurchased-' + feature;
|
||||
if (appSettings.get(unlockableFeatureCacheKey) == '1') {
|
||||
return Promise.resolve();
|
||||
}
|
||||
|
||||
var unlockableProduct = iapManager.getProductInfo(feature);
|
||||
if (unlockableProduct) {
|
||||
|
||||
var unlockableCacheKey = 'productpurchased-' + unlockableProduct.id;
|
||||
if (unlockableProduct.owned) {
|
||||
|
||||
// Cache this to eliminate the store as a possible point of failure in the future
|
||||
appSettings.set(unlockableFeatureCacheKey, '1');
|
||||
appSettings.set(unlockableCacheKey, '1');
|
||||
return Promise.resolve();
|
||||
}
|
||||
|
||||
if (appSettings.get(unlockableCacheKey) == '1') {
|
||||
return Promise.resolve();
|
||||
}
|
||||
}
|
||||
|
||||
var unlockableProductInfo = unlockableProduct ? {
|
||||
enableAppUnlock: true,
|
||||
id: unlockableProduct.id,
|
||||
price: unlockableProduct.price,
|
||||
feature: feature
|
||||
|
||||
} : null;
|
||||
|
||||
return iapManager.getSubscriptionOptions().then(function (subscriptionOptions) {
|
||||
|
||||
if (subscriptionOptions.filter(function (p) {
|
||||
return p.owned;
|
||||
}).length > 0) {
|
||||
return Promise.resolve();
|
||||
}
|
||||
|
||||
// Get supporter status
|
||||
return connectionManager.getRegistrationInfo(iapManager.getAdminFeatureName(feature), connectionManager.currentApiClient()).catch(function () {
|
||||
|
||||
var dialogOptions = {
|
||||
title: globalize.translate('sharedcomponents#HeaderUnlockFeature'),
|
||||
feature: feature
|
||||
};
|
||||
|
||||
return showInAppPurchaseInfo(subscriptionOptions, unlockableProductInfo, dialogOptions);
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function cancelInAppPurchase() {
|
||||
|
||||
var elem = document.querySelector('.inAppPurchaseOverlay');
|
||||
if (elem) {
|
||||
dialogHelper.close(elem);
|
||||
}
|
||||
}
|
||||
|
||||
var currentDisplayingProductInfos = [];
|
||||
var currentDisplayingResolve = null;
|
||||
|
||||
function clearCurrentDisplayingInfo() {
|
||||
currentDisplayingProductInfos = [];
|
||||
currentDisplayingResolve = null;
|
||||
}
|
||||
|
||||
function showExternalPremiereInfo() {
|
||||
shell.openUrl('https://emby.media/premiere');
|
||||
}
|
||||
|
||||
function centerFocus(elem, horiz, on) {
|
||||
require(['scrollHelper'], function (scrollHelper) {
|
||||
var fn = on ? 'on' : 'off';
|
||||
scrollHelper.centerFocus[fn](elem, horiz);
|
||||
});
|
||||
}
|
||||
|
||||
function showInAppPurchaseElement(subscriptionOptions, unlockableProductInfo, dialogOptions, resolve, reject) {
|
||||
|
||||
cancelInAppPurchase();
|
||||
|
||||
// clone
|
||||
currentDisplayingProductInfos = subscriptionOptions.slice(0);
|
||||
|
||||
if (unlockableProductInfo) {
|
||||
currentDisplayingProductInfos.push(unlockableProductInfo);
|
||||
}
|
||||
|
||||
var dlg = dialogHelper.createDialog({
|
||||
size: 'fullscreen-border',
|
||||
removeOnClose: true,
|
||||
scrollY: false
|
||||
});
|
||||
|
||||
dlg.classList.add('formDialog');
|
||||
|
||||
var html = '';
|
||||
html += '<div class="formDialogHeader">';
|
||||
html += '<button is="paper-icon-button-light" class="btnCloseDialog autoSize" tabindex="-1"><i class="md-icon"></i></button>';
|
||||
html += '<h3 class="formDialogHeaderTitle">';
|
||||
html += '</h3>';
|
||||
html += '</div>';
|
||||
|
||||
html += '<div class="formDialogContent smoothScrollY">';
|
||||
html += '<div class="dialogContentInner dialog-content-centered">';
|
||||
html += '<form style="margin:auto;">';
|
||||
|
||||
html += '<p style="margin-top:1.5em;">';
|
||||
|
||||
if (unlockableProductInfo) {
|
||||
html += globalize.translate('sharedcomponents#MessageUnlockAppWithPurchaseOrSupporter');
|
||||
}
|
||||
else {
|
||||
html += globalize.translate('sharedcomponents#MessageUnlockAppWithSupporter');
|
||||
}
|
||||
html += '</p>';
|
||||
|
||||
html += '<p style="margin:1.5em 0 2em;">';
|
||||
html += globalize.translate('sharedcomponents#MessageToValidateSupporter');
|
||||
html += '</p>';
|
||||
|
||||
var hasProduct = false;
|
||||
|
||||
for (var i = 0, length = subscriptionOptions.length; i < length; i++) {
|
||||
|
||||
hasProduct = true;
|
||||
html += '<p>';
|
||||
html += '<button is="emby-button" type="button" class="raised button-submit block btnPurchase" data-email="' + (subscriptionOptions[i].requiresEmail !== false) + '" data-featureid="' + subscriptionOptions[i].id + '"><span>';
|
||||
html += subscriptionOptions[i].title;
|
||||
html += '</span></button>';
|
||||
html += '</p>';
|
||||
}
|
||||
|
||||
if (unlockableProductInfo) {
|
||||
|
||||
hasProduct = true;
|
||||
var unlockText = globalize.translate('sharedcomponents#ButtonUnlockWithPurchase');
|
||||
if (unlockableProductInfo.price) {
|
||||
unlockText = globalize.translate('sharedcomponents#ButtonUnlockPrice', unlockableProductInfo.price);
|
||||
}
|
||||
html += '<p>';
|
||||
html += '<button is="emby-button" type="button" class="raised secondary block btnPurchase" data-featureid="' + unlockableProductInfo.id + '"><span>' + unlockText + '</span></button>';
|
||||
html += '</p>';
|
||||
}
|
||||
|
||||
html += '<p>';
|
||||
html += '<button is="emby-button" type="button" class="raised button-cancel block btnRestorePurchase"><span>' + iapManager.getRestoreButtonText() + '</span></button>';
|
||||
html += '</p>';
|
||||
|
||||
if (subscriptionOptions.length) {
|
||||
html += '<h1 style="margin-top:1.5em;">' + globalize.translate('sharedcomponents#HeaderBenefitsEmbyPremiere') + '</h1>';
|
||||
|
||||
html += '<div class="paperList" style="margin-bottom:1em;">';
|
||||
html += getSubscriptionBenefits().map(getSubscriptionBenefitHtml).join('');
|
||||
html += '</div>';
|
||||
}
|
||||
|
||||
if (dialogOptions.feature == 'playback') {
|
||||
html += '<p>';
|
||||
html += '<button is="emby-button" type="button" class="raised button-cancel block btnCloseDialog"><span>' + globalize.translate('sharedcomponents#ButtonPlayOneMinute') + '</span></button>';
|
||||
html += '</p>';
|
||||
}
|
||||
|
||||
html += '</form>';
|
||||
html += '</div>';
|
||||
html += '</div>';
|
||||
|
||||
dlg.innerHTML = html;
|
||||
document.body.appendChild(dlg);
|
||||
|
||||
var i, length;
|
||||
var btnPurchases = dlg.querySelectorAll('.btnPurchase');
|
||||
for (i = 0, length = btnPurchases.length; i < length; i++) {
|
||||
btnPurchases[i].addEventListener('click', onPurchaseButtonClick);
|
||||
}
|
||||
|
||||
var btnPurchases = dlg.querySelectorAll('.buttonPremiereInfo');
|
||||
for (i = 0, length = btnPurchases.length; i < length; i++) {
|
||||
btnPurchases[i].addEventListener('click', showExternalPremiereInfo);
|
||||
}
|
||||
|
||||
dlg.querySelector('.btnRestorePurchase').addEventListener('click', function () {
|
||||
restorePurchase(unlockableProductInfo);
|
||||
});
|
||||
|
||||
loading.hide();
|
||||
|
||||
var rejected = false;
|
||||
|
||||
function onCloseButtonClick() {
|
||||
|
||||
var onConfirmed = function () {
|
||||
rejected = true;
|
||||
dialogHelper.close(dlg);
|
||||
};
|
||||
|
||||
if (dialogOptions.feature == 'playback') {
|
||||
alertText({
|
||||
text: globalize.translate('sharedcomponents#ThankYouForTryingEnjoyOneMinute'),
|
||||
title: globalize.translate('sharedcomponents#HeaderTryPlayback')
|
||||
}).then(onConfirmed);
|
||||
} else {
|
||||
onConfirmed();
|
||||
}
|
||||
}
|
||||
|
||||
var btnCloseDialogs = dlg.querySelectorAll('.btnCloseDialog');
|
||||
for (var i = 0, length = btnCloseDialogs.length; i < length; i++) {
|
||||
btnCloseDialogs[i].addEventListener('click', onCloseButtonClick);
|
||||
}
|
||||
|
||||
dlg.classList.add('inAppPurchaseOverlay');
|
||||
|
||||
if (layoutManager.tv) {
|
||||
centerFocus(dlg.querySelector('.formDialogContent'), false, true);
|
||||
}
|
||||
|
||||
dialogHelper.open(dlg).then(function () {
|
||||
if (layoutManager.tv) {
|
||||
centerFocus(dlg.querySelector('.formDialogContent'), false, false);
|
||||
}
|
||||
|
||||
clearCurrentDisplayingInfo();
|
||||
if (rejected) {
|
||||
reject();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function getSubscriptionBenefits() {
|
||||
|
||||
var list = [];
|
||||
|
||||
list.push({
|
||||
name: globalize.translate('sharedcomponents#HeaderFreeApps'),
|
||||
icon: 'check',
|
||||
text: globalize.translate('sharedcomponents#FreeAppsFeatureDescription')
|
||||
});
|
||||
|
||||
if (appHost.supports('sync')) {
|
||||
list.push({
|
||||
name: globalize.translate('sharedcomponents#HeaderOfflineDownloads'),
|
||||
icon: 'file_download',
|
||||
text: globalize.translate('sharedcomponents#HeaderOfflineDownloadsDescription')
|
||||
});
|
||||
}
|
||||
|
||||
list.push({
|
||||
name: globalize.translate('sharedcomponents#CoverArt'),
|
||||
icon: 'photo',
|
||||
text: globalize.translate('sharedcomponents#CoverArtFeatureDescription')
|
||||
});
|
||||
|
||||
list.push({
|
||||
name: globalize.translate('sharedcomponents#HeaderCinemaMode'),
|
||||
icon: 'movie',
|
||||
text: globalize.translate('sharedcomponents#CinemaModeFeatureDescription')
|
||||
});
|
||||
|
||||
list.push({
|
||||
name: globalize.translate('sharedcomponents#HeaderCloudSync'),
|
||||
icon: 'sync',
|
||||
text: globalize.translate('sharedcomponents#CloudSyncFeatureDescription')
|
||||
});
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
function getSubscriptionBenefitHtml(item) {
|
||||
|
||||
var enableLink = appHost.supports('externalpremium');
|
||||
|
||||
var html = '';
|
||||
|
||||
var cssClass = "listItem";
|
||||
|
||||
cssClass += ' listItem-button';
|
||||
|
||||
if (layoutManager.tv) {
|
||||
cssClass += ' listItem-focusscale';
|
||||
}
|
||||
|
||||
if (enableLink) {
|
||||
html += '<button type="button" class="' + cssClass + ' buttonPremiereInfo">';
|
||||
} else {
|
||||
html += '<div class="' + cssClass + '">';
|
||||
}
|
||||
|
||||
html += '<i class="listItemIcon md-icon">' + item.icon + '</i>';
|
||||
|
||||
html += '<div class="listItemBody">';
|
||||
|
||||
html += '<h3 class="listItemBodyText">';
|
||||
html += item.name;
|
||||
html += '</h3>';
|
||||
|
||||
html += '<div class="listItemBodyText secondary">';
|
||||
html += item.text;
|
||||
html += '</div>';
|
||||
|
||||
if (enableLink) {
|
||||
html += '</div>';
|
||||
} else {
|
||||
html += '</button>';
|
||||
}
|
||||
|
||||
return html;
|
||||
}
|
||||
|
||||
function onPurchaseButtonClick() {
|
||||
|
||||
var featureId = this.getAttribute('data-featureid');
|
||||
|
||||
if (this.getAttribute('data-email') == 'true') {
|
||||
getUserEmail().then(function (email) {
|
||||
iapManager.beginPurchase(featureId, email);
|
||||
});
|
||||
} else {
|
||||
iapManager.beginPurchase(featureId);
|
||||
}
|
||||
}
|
||||
|
||||
function restorePurchase(unlockableProductInfo) {
|
||||
|
||||
var dlg = dialogHelper.createDialog({
|
||||
size: 'fullscreen-border',
|
||||
removeOnClose: true,
|
||||
scrollY: false
|
||||
});
|
||||
|
||||
dlg.classList.add('formDialog');
|
||||
|
||||
var html = '';
|
||||
html += '<div class="formDialogHeader">';
|
||||
html += '<button is="paper-icon-button-light" class="btnCloseDialog autoSize" tabindex="-1"><i class="md-icon"></i></button>';
|
||||
html += '<h3 class="formDialogHeaderTitle">';
|
||||
html += iapManager.getRestoreButtonText();
|
||||
html += '</h3>';
|
||||
html += '</div>';
|
||||
|
||||
html += '<div class="formDialogContent smoothScrollY">';
|
||||
html += '<div class="dialogContentInner dialog-content-centered">';
|
||||
|
||||
html += '<p style="margin:2em 0;">';
|
||||
html += globalize.translate('sharedcomponents#HowDidYouPay');
|
||||
html += '</p>';
|
||||
|
||||
html += '<p>';
|
||||
html += '<button is="emby-button" type="button" class="raised button-cancel block btnRestoreSub"><span>' + globalize.translate('sharedcomponents#IHaveEmbyPremiere') + '</span></button>';
|
||||
html += '</p>';
|
||||
|
||||
if (unlockableProductInfo) {
|
||||
html += '<p>';
|
||||
html += '<button is="emby-button" type="button" class="raised button-cancel block btnRestoreUnlock"><span>' + globalize.translate('sharedcomponents#IPurchasedThisApp') + '</span></button>';
|
||||
html += '</p>';
|
||||
}
|
||||
|
||||
html += '</div>';
|
||||
html += '</div>';
|
||||
|
||||
dlg.innerHTML = html;
|
||||
document.body.appendChild(dlg);
|
||||
|
||||
loading.hide();
|
||||
|
||||
if (layoutManager.tv) {
|
||||
centerFocus(dlg.querySelector('.formDialogContent'), false, true);
|
||||
}
|
||||
|
||||
dlg.querySelector('.btnCloseDialog').addEventListener('click', function () {
|
||||
|
||||
dialogHelper.close(dlg);
|
||||
});
|
||||
|
||||
dlg.querySelector('.btnRestoreSub').addEventListener('click', function () {
|
||||
|
||||
dialogHelper.close(dlg);
|
||||
alertText({
|
||||
text: globalize.translate('sharedcomponents#MessageToValidateSupporter'),
|
||||
title: 'Emby Premiere'
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
var btnRestoreUnlock = dlg.querySelector('.btnRestoreUnlock');
|
||||
if (btnRestoreUnlock) {
|
||||
btnRestoreUnlock.addEventListener('click', function () {
|
||||
|
||||
dialogHelper.close(dlg);
|
||||
iapManager.restorePurchase();
|
||||
});
|
||||
}
|
||||
|
||||
dialogHelper.open(dlg).then(function () {
|
||||
|
||||
if (layoutManager.tv) {
|
||||
centerFocus(dlg.querySelector('.formDialogContent'), false, false);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function getUserEmail() {
|
||||
|
||||
if (connectionManager.isLoggedIntoConnect()) {
|
||||
|
||||
var connectUser = connectionManager.connectUser();
|
||||
|
||||
if (connectUser && connectUser.Email) {
|
||||
return Promise.resolve(connectUser.Email);
|
||||
}
|
||||
}
|
||||
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
require(['prompt'], function (prompt) {
|
||||
|
||||
prompt({
|
||||
|
||||
label: globalize.translate('sharedcomponents#LabelEmailAddress')
|
||||
|
||||
}).then(resolve, reject);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function onProductUpdated(e, product) {
|
||||
|
||||
if (product.owned) {
|
||||
|
||||
var resolve = currentDisplayingResolve;
|
||||
|
||||
if (resolve && currentDisplayingProductInfos.filter(function (p) {
|
||||
|
||||
return product.id == p.id;
|
||||
|
||||
}).length) {
|
||||
|
||||
cancelInAppPurchase();
|
||||
resolve();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function showPremiereInfo() {
|
||||
|
||||
return iapManager.getSubscriptionOptions().then(function (subscriptionOptions) {
|
||||
|
||||
var dialogOptions = {
|
||||
title: 'Emby Premiere',
|
||||
feature: 'sync'
|
||||
};
|
||||
|
||||
return showInAppPurchaseInfo(subscriptionOptions, null, dialogOptions);
|
||||
});
|
||||
}
|
||||
|
||||
events.on(iapManager, 'productupdated', onProductUpdated);
|
||||
|
||||
return {
|
||||
|
||||
validateFeature: validateFeature,
|
||||
showPremiereInfo: showPremiereInfo
|
||||
};
|
||||
});
|
26
dashboard-ui/bower_components/emby-webcomponents/registrationservices/style.css
vendored
Normal file
26
dashboard-ui/bower_components/emby-webcomponents/registrationservices/style.css
vendored
Normal file
|
@ -0,0 +1,26 @@
|
|||
.registrationDialog {
|
||||
background: rgba(28, 28, 28, .98) !important;
|
||||
flex-direction: column;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.registrationDialogContent {
|
||||
max-width: 50%;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.registrationDialogContent h1 {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.btnRegistrationBack {
|
||||
z-index: 1002;
|
||||
position: absolute;
|
||||
top: .5em;
|
||||
left: .5em;
|
||||
width: 5.2vh;
|
||||
height: 5.2vh;
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Add",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "\u0627\u0644\u0633\u0628\u062a",
|
||||
"Days": "Days",
|
||||
"RecordSeries": "Record series",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Get Emby Premiere",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "An active Emby Premiere subscription is required in order to create automated series recordings.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
|
||||
"FeatureRequiresEmbyPremiere": "This feature requires an active Emby Premiere subscription.",
|
||||
"HeaderConvertYourRecordings": "Convert Your Recordings",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sort channels by:",
|
||||
"RecentlyWatched": "Recently watched",
|
||||
"ChannelNumber": "Channel number",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "\u0414\u043e\u0431\u0430\u0432\u0438",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "\u0421\u044a\u0431\u043e\u0442\u0430",
|
||||
"Days": "\u0414\u043d\u0438",
|
||||
"RecordSeries": "Record series",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Get Emby Premiere",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "An active Emby Premiere subscription is required in order to create automated series recordings.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
|
||||
"FeatureRequiresEmbyPremiere": "This feature requires an active Emby Premiere subscription.",
|
||||
"HeaderConvertYourRecordings": "Convert Your Recordings",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sort channels by:",
|
||||
"RecentlyWatched": "Recently watched",
|
||||
"ChannelNumber": "Channel number",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Afegeix",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "Dissabte",
|
||||
"Days": "Dies",
|
||||
"RecordSeries": "Record series",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Obtenir Emby Premiere",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "An active Emby Premiere subscription is required in order to create automated series recordings.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
|
||||
"FeatureRequiresEmbyPremiere": "This feature requires an active Emby Premiere subscription.",
|
||||
"HeaderConvertYourRecordings": "Convert Your Recordings",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sort channels by:",
|
||||
"RecentlyWatched": "Recently watched",
|
||||
"ChannelNumber": "Channel number",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "P\u0159idat",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "Sobota",
|
||||
"Days": "Dny",
|
||||
"RecordSeries": "Record series",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Z\u00edskat Emby Premiere",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "Aktivn\u00ed p\u0159edplatn\u00e9 Emby Premiere je zapot\u0159eb\u00ed pro vytvo\u0159en\u00ed automatick\u00e9ho nahr\u00e1v\u00e1n\u00ed \u0159ad.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
|
||||
"FeatureRequiresEmbyPremiere": "Tato funkce vy\u017eaduje aktivn\u00ed p\u0159edplatn\u00e9 Emby Premiere.",
|
||||
"HeaderConvertYourRecordings": "Convert Your Recordings",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sort channels by:",
|
||||
"RecentlyWatched": "Recently watched",
|
||||
"ChannelNumber": "Channel number",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Del",
|
||||
"Add": "Tilf\u00f8j",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "L\u00f8rdag",
|
||||
"Days": "Dage",
|
||||
"RecordSeries": "Optag serie",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "F\u00e5 Emby Premiere",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "Et aktivt Emby Premiere abonnement er n\u00f8dvendigt for at oprette automatiserede optagelser af serier.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
|
||||
"FeatureRequiresEmbyPremiere": "Denne funktion kr\u00e6ver et aktivt Emby Premiere abonnement.",
|
||||
"HeaderConvertYourRecordings": "Convert Your Recordings",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sort channels by:",
|
||||
"RecentlyWatched": "Recently watched",
|
||||
"ChannelNumber": "Channel number",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Teilen",
|
||||
"Add": "Hinzuf\u00fcgen",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "Samstag",
|
||||
"Days": "Tage",
|
||||
"RecordSeries": "Serie aufnehmen",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Holen Sie Emby Premium",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "Ein aktives Emby Premium Abo wird benn\u00f6tigt um automatische Serienaufnahmen zu erstellen.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Konvertiere Aufnahmen automatisch in ein Streaming-freundliches Format mit Emby Premiere. Aufnahmen werden, basierend auf den Emby Server-Einstellungen, dynamisch zu MP4 oder MKV konvertiert.",
|
||||
"FeatureRequiresEmbyPremiere": "Dieses Feature ben\u00f6tigt eine aktive Emby Premiere Mitgliedschaft.",
|
||||
"HeaderConvertYourRecordings": "Konvertiere deine Aufnahmen",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sortiere Kan\u00e4le nach:",
|
||||
"RecentlyWatched": "K\u00fcrzlich gesehen",
|
||||
"ChannelNumber": "Kanalnummer",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Platziere favorisierte Kan\u00e4le am Anfang"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Platziere favorisierte Kan\u00e4le am Anfang",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "\u03a0\u03c1\u03cc\u03c3\u03b8\u03b5\u03c3\u03b5",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "Saturday",
|
||||
"Days": "Days",
|
||||
"RecordSeries": "Record series",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Get Emby Premiere",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "An active Emby Premiere subscription is required in order to create automated series recordings.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
|
||||
"FeatureRequiresEmbyPremiere": "This feature requires an active Emby Premiere subscription.",
|
||||
"HeaderConvertYourRecordings": "Convert Your Recordings",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sort channels by:",
|
||||
"RecentlyWatched": "Recently watched",
|
||||
"ChannelNumber": "Channel number",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Add",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "Saturday",
|
||||
"Days": "Days",
|
||||
"RecordSeries": "Record series",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Get Emby Premiere",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "An active Emby Premiere subscription is required in order to create automated series recordings.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
|
||||
"FeatureRequiresEmbyPremiere": "This feature requires an active Emby Premiere subscription.",
|
||||
"HeaderConvertYourRecordings": "Convert Your Recordings",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sort channels by:",
|
||||
"RecentlyWatched": "Recently watched",
|
||||
"ChannelNumber": "Channel number",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favourite channels at the beginning"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favourite channels at the beginning",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Add",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "Saturday",
|
||||
"Days": "Days",
|
||||
"RecordSeries": "Record series",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Get Emby Premiere",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "An active Emby Premiere subscription is required in order to create automated series recordings.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
|
||||
"FeatureRequiresEmbyPremiere": "This feature requires an active Emby Premiere subscription.",
|
||||
"HeaderConvertYourRecordings": "Convert Your Recordings",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sort channels by:",
|
||||
"RecentlyWatched": "Recently watched",
|
||||
"ChannelNumber": "Channel number",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Add",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "Saturday",
|
||||
"Days": "Days",
|
||||
"RecordSeries": "Record series",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Get Emby Premiere",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "An active Emby Premiere subscription is required in order to create automated series recordings.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
|
||||
"FeatureRequiresEmbyPremiere": "This feature requires an active Emby Premiere subscription.",
|
||||
"HeaderConvertYourRecordings": "Convert Your Recordings",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sort channels by:",
|
||||
"RecentlyWatched": "Recently watched",
|
||||
"ChannelNumber": "Channel number",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Especial - {0}",
|
||||
"Share": "Compartir",
|
||||
"Add": "Agregar",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "S\u00e1bado",
|
||||
"Days": "D\u00edas",
|
||||
"RecordSeries": "Grabar Series",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Obtener Emby Premier",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "Se requiere de una suscripci\u00f3n de Emby Premier para crear grabaciones automatizadas de series.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Convertir autom\u00e1ticamente grabaciones a un formato amigable para transmitir con Emby Premiere. Las grabaciones ser\u00e1n convertidos en tiempo real a MP4 o MKV, basado en las configuraciones del servidor Emby.",
|
||||
"FeatureRequiresEmbyPremiere": "Esta caracter\u00edstica requiere de una suscripci\u00f3n activa de Emby Premiere.",
|
||||
"HeaderConvertYourRecordings": "Convertir Sus Grabaciones",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Ordenar canales por:",
|
||||
"RecentlyWatched": "Visto recientemente",
|
||||
"ChannelNumber": "Numero de canal",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Colocar canales favoritos al inicio"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Colocar canales favoritos al inicio",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Compartir",
|
||||
"Add": "A\u00f1adir",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "S\u00e1bado",
|
||||
"Days": "D\u00edas",
|
||||
"RecordSeries": "Record series",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Consigue Emby Premiere",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "Se necesita una suscripci\u00f3n a Emby Premiere para poder crear grabaciones autom\u00e1ticas.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
|
||||
"FeatureRequiresEmbyPremiere": "Esta caracter\u00edstica necesita una suscripci\u00f3n a Emby Premiere.",
|
||||
"HeaderConvertYourRecordings": "Convert Your Recordings",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sort channels by:",
|
||||
"RecentlyWatched": "Recently watched",
|
||||
"ChannelNumber": "Channel number",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Add",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "Saturday",
|
||||
"Days": "Days",
|
||||
"RecordSeries": "Record series",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Get Emby Premiere",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "An active Emby Premiere subscription is required in order to create automated series recordings.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
|
||||
"FeatureRequiresEmbyPremiere": "This feature requires an active Emby Premiere subscription.",
|
||||
"HeaderConvertYourRecordings": "Convert Your Recordings",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sort channels by:",
|
||||
"RecentlyWatched": "Recently watched",
|
||||
"ChannelNumber": "Channel number",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Add",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "Saturday",
|
||||
"Days": "Days",
|
||||
"RecordSeries": "Record series",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Get Emby Premiere",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "An active Emby Premiere subscription is required in order to create automated series recordings.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
|
||||
"FeatureRequiresEmbyPremiere": "This feature requires an active Emby Premiere subscription.",
|
||||
"HeaderConvertYourRecordings": "Convert Your Recordings",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sort channels by:",
|
||||
"RecentlyWatched": "Recently watched",
|
||||
"ChannelNumber": "Channel number",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Sp\u00e9cial - {0}",
|
||||
"Share": "Partager",
|
||||
"Add": "Ajouter",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "Samedi",
|
||||
"Days": "Jours",
|
||||
"RecordSeries": "Enregistrer s\u00e9ries",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Obtenez Emby Premiere",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "Une souscription Emby Premiere active est n\u00e9cessaire pour cr\u00e9er des enregistrements automatiques de s\u00e9ries.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
|
||||
"FeatureRequiresEmbyPremiere": "Cette fonctionnalit\u00e9 requiert un compte Emby Premiere.",
|
||||
"HeaderConvertYourRecordings": "Convert Your Recordings",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sort channels by:",
|
||||
"RecentlyWatched": "Recently watched",
|
||||
"ChannelNumber": "Channel number",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Add",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "Samstig",
|
||||
"Days": "Days",
|
||||
"RecordSeries": "Record series",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Get Emby Premiere",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "An active Emby Premiere subscription is required in order to create automated series recordings.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
|
||||
"FeatureRequiresEmbyPremiere": "This feature requires an active Emby Premiere subscription.",
|
||||
"HeaderConvertYourRecordings": "Convert Your Recordings",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sort channels by:",
|
||||
"RecentlyWatched": "Recently watched",
|
||||
"ChannelNumber": "Channel number",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "\u05d4\u05d5\u05e1\u05e3",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "\u05e9\u05d1\u05ea",
|
||||
"Days": "\u05d9\u05de\u05d9\u05dd",
|
||||
"RecordSeries": "Record series",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Get Emby Premiere",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "An active Emby Premiere subscription is required in order to create automated series recordings.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
|
||||
"FeatureRequiresEmbyPremiere": "This feature requires an active Emby Premiere subscription.",
|
||||
"HeaderConvertYourRecordings": "Convert Your Recordings",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sort channels by:",
|
||||
"RecentlyWatched": "Recently watched",
|
||||
"ChannelNumber": "Channel number",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Specijal - {0}",
|
||||
"Share": "Dijeli",
|
||||
"Add": "Dodaj",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "Subota",
|
||||
"Days": "Dani",
|
||||
"RecordSeries": "Snimi serije",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Nabavite Emby Premijeru",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "Aktivna pretplata Emby Premijere je potrebna kako bi se napravilo automatsko snimanje serija.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatski pretvoriti snimke na prijateljskom formatu strujanja s Emby Premijerom. Snimke \u0107e se pretvoriti u letu u MP4 ili MKV na temelju postavki Emby poslu\u017eitelja.",
|
||||
"FeatureRequiresEmbyPremiere": "Ova zna\u010dajka zahtijeva aktivnu pretplatu Emby Premijere.",
|
||||
"HeaderConvertYourRecordings": "Konvertiraj snimke",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Slo\u017ei kanale po:",
|
||||
"RecentlyWatched": "Nedavno pogledano",
|
||||
"ChannelNumber": "Broj kanala",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Postavi omiljene kanale na po\u010detak"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Postavi omiljene kanale na po\u010detak",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Megoszt\u00e1s",
|
||||
"Add": "Hozz\u00e1ad",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "Szombat",
|
||||
"Days": "Nap",
|
||||
"RecordSeries": "Record series",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Emby Premiere beszerz\u00e9se",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "An active Emby Premiere subscription is required in order to create automated series recordings.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
|
||||
"FeatureRequiresEmbyPremiere": "This feature requires an active Emby Premiere subscription.",
|
||||
"HeaderConvertYourRecordings": "Convert Your Recordings",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sort channels by:",
|
||||
"RecentlyWatched": "Recently watched",
|
||||
"ChannelNumber": "Channel number",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Add",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "Saturday",
|
||||
"Days": "Days",
|
||||
"RecordSeries": "Record series",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Get Emby Premiere",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "An active Emby Premiere subscription is required in order to create automated series recordings.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
|
||||
"FeatureRequiresEmbyPremiere": "This feature requires an active Emby Premiere subscription.",
|
||||
"HeaderConvertYourRecordings": "Convert Your Recordings",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sort channels by:",
|
||||
"RecentlyWatched": "Recently watched",
|
||||
"ChannelNumber": "Channel number",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Aggiungi",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "Sabato",
|
||||
"Days": "Giorni",
|
||||
"RecordSeries": "Record series",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Ottieni Emby Premiere",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "Un abbonamento a Emby Premiere \u00e8 necessario per creare registrazioni personalizzate delle serie tv",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
|
||||
"FeatureRequiresEmbyPremiere": "This feature requires an active Emby Premiere subscription.",
|
||||
"HeaderConvertYourRecordings": "Convert Your Recordings",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sort channels by:",
|
||||
"RecentlyWatched": "Recently watched",
|
||||
"ChannelNumber": "Channel number",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "\u0410\u0440\u043d\u0430\u0439\u044b - {0}",
|
||||
"Share": "\u041e\u0440\u0442\u0430\u049b\u0442\u0430\u0441\u0443",
|
||||
"Add": "\u04ae\u0441\u0442\u0435\u0443",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "\u0441\u0435\u043d\u0431\u0456",
|
||||
"Days": "\u041a\u04af\u043d\u0434\u0435\u0440",
|
||||
"RecordSeries": "\u0422\u0435\u043b\u0435\u0445\u0438\u043a\u0430\u044f\u043d\u044b \u0436\u0430\u0437\u0443",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Emby Premiere \u0430\u043b\u0443",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "\u0422\u0435\u043b\u0435\u0445\u0438\u043a\u0430\u044f\u043b\u0430\u0440\u0434\u044b\u04a3 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0442\u044b \u0436\u0430\u0437\u0431\u0430\u0441\u044b\u043d \u0436\u0430\u0441\u0430\u0443 \u04af\u0448\u0456\u043d \u0431\u0435\u043b\u0441\u0435\u043d\u0434\u0456 Emby Premiere \u0436\u0430\u0437\u044b\u043b\u044b\u043c\u044b \u049b\u0430\u0436\u0435\u0442.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Emby Premiere \u0430\u0440\u049b\u044b\u043b\u044b \u0442\u0430\u0441\u044b\u043c\u0430\u043b\u0434\u0430\u0443\u0493\u0430 \u043e\u04a3\u0430\u0439 \u043f\u0456\u0448\u0456\u043d\u0434\u0435 \u0436\u0430\u0437\u0431\u0430\u043b\u0430\u0440\u0434\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0442\u044b \u0442\u04af\u0440\u0434\u0435 \u0442\u04af\u0440\u043b\u0435\u043d\u0434\u0456\u0440\u0443. \u0416\u0430\u0437\u0431\u0430\u043b\u0430\u0440 Emby Server \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043b\u0435\u0440\u0456 \u043d\u0435\u0433\u0456\u0437\u0456\u043d\u0434\u0435, \u043d\u0430\u049b\u0442\u044b \u0443\u0430\u049b\u044b\u0442\u0442\u0430 MP4 \u043d\u0435\u043c\u0435\u0441\u0435 MKV \u043f\u0456\u0448\u0456\u043c\u0456\u043d\u0435 \u0442\u04af\u0440\u043b\u0435\u043d\u0434\u0456\u0440\u0456\u043b\u0435\u0434\u0456.",
|
||||
"FeatureRequiresEmbyPremiere": "\u041e\u0441\u044b \u049b\u04b1\u0440\u0430\u043c\u0434\u0430\u0441 \u04af\u0448\u0456\u043d \u0431\u0435\u043b\u0441\u0435\u043d\u0434\u0456 Emby Premiere \u0436\u0430\u0437\u044b\u043b\u044b\u043c\u044b \u049b\u0430\u0436\u0435\u0442",
|
||||
"HeaderConvertYourRecordings": "\u0416\u0430\u0437\u0431\u0430\u043b\u0430\u0440\u044b\u04a3\u044b\u0437\u0434\u044b \u0442\u04af\u0440\u043b\u0435\u043d\u0434\u0456\u0440\u0443",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "\u0410\u0440\u043d\u0430\u043b\u0430\u0440\u0434\u044b \u0441\u04b1\u0440\u044b\u043f\u0442\u0430\u0443 \u0442\u04d9\u0441\u0456\u043b\u0456:",
|
||||
"RecentlyWatched": "\u0416\u0443\u044b\u049b\u0442\u0430 \u049b\u0430\u0440\u0430\u043b\u0493\u0430\u043d",
|
||||
"ChannelNumber": "\u0410\u0440\u043d\u0430 \u043d\u04e9\u043c\u0456\u0440\u0456",
|
||||
"PlaceFavoriteChannelsAtBeginning": "\u0422\u0430\u04a3\u0434\u0430\u0443\u043b\u044b \u0430\u0440\u043d\u0430\u043b\u0430\u0440\u0434\u044b \u0435\u04a3 \u0431\u0430\u0441\u044b\u043d\u0430\u043d \u043e\u0440\u043d\u0430\u043b\u0430\u0441\u0442\u044b\u0440\u0443"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "\u0422\u0430\u04a3\u0434\u0430\u0443\u043b\u044b \u0430\u0440\u043d\u0430\u043b\u0430\u0440\u0434\u044b \u0435\u04a3 \u0431\u0430\u0441\u044b\u043d\u0430\u043d \u043e\u0440\u043d\u0430\u043b\u0430\u0441\u0442\u044b\u0440\u0443",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "\ucd94\uac00",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "\ud1a0\uc694\uc77c",
|
||||
"Days": "\uc77c",
|
||||
"RecordSeries": "Record series",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Get Emby Premiere",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "\uc790\ub3d9 \uc2dc\ub9ac\uc988 \ub179\ud654\ub97c \uc608\uc57d\ud558\ub824\uba74 Emby \ud504\ub9ac\ubbf8\uc5b4 \uac00\uc785\uc774 \ud544\uc694\ud569\ub2c8\ub2e4.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
|
||||
"FeatureRequiresEmbyPremiere": "This feature requires an active Emby Premiere subscription.",
|
||||
"HeaderConvertYourRecordings": "Convert Your Recordings",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sort channels by:",
|
||||
"RecentlyWatched": "Recently watched",
|
||||
"ChannelNumber": "Channel number",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Add",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "Saturday",
|
||||
"Days": "Days",
|
||||
"RecordSeries": "Record series",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Get Emby Premiere",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "An active Emby Premiere subscription is required in order to create automated series recordings.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
|
||||
"FeatureRequiresEmbyPremiere": "This feature requires an active Emby Premiere subscription.",
|
||||
"HeaderConvertYourRecordings": "Convert Your Recordings",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sort channels by:",
|
||||
"RecentlyWatched": "Recently watched",
|
||||
"ChannelNumber": "Channel number",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Spesial - {0}",
|
||||
"Share": "Del",
|
||||
"Add": "Legg til",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "L\u00f8rdag",
|
||||
"Days": "Dager",
|
||||
"RecordSeries": "Ta opp serien",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Skaff Emby Premiere",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "Et aktivt Emby Premiere abonnement er p\u00e5krevd for \u00e5 kunne automatisere serieopptak.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
|
||||
"FeatureRequiresEmbyPremiere": "Denne funksjonen krever et aktivt Emby Premiere abonnement.",
|
||||
"HeaderConvertYourRecordings": "Convert Your Recordings",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sort channels by:",
|
||||
"RecentlyWatched": "Recently watched",
|
||||
"ChannelNumber": "Channel number",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Speciaal - {0}",
|
||||
"Share": "Delen",
|
||||
"Add": "Toevoegen",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "Zaterdag",
|
||||
"Days": "Dagen",
|
||||
"RecordSeries": "Series Opnemen",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Verkrijg Emby Premiere",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "Er is een actief Emby Premiere abonnement benodigd om een automatische serie opname aan te maken.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatisch converteren opnames naar een streaming formaat met Emby Premiere. Opnames zullen on the fly worden omgezet naar MP4 of MKV, op basis van deEmby server instellingen.",
|
||||
"FeatureRequiresEmbyPremiere": "Deze functie vereist een actieve Emby Premiere abonnement.",
|
||||
"HeaderConvertYourRecordings": "Opnames omzetten",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sort channels by:",
|
||||
"RecentlyWatched": "Recently watched",
|
||||
"ChannelNumber": "Channel number",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Dodaj",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "Sobota",
|
||||
"Days": "Dni",
|
||||
"RecordSeries": "Record series",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Kup Emby Premiere",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "Aktywna subskrypcja Emby Premiere jest wymagana aby tworzy\u0107 automatyczne nagrania seriali.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
|
||||
"FeatureRequiresEmbyPremiere": "Ta funkcja wymaga aktywnej subskrypcji Emby Premiere.",
|
||||
"HeaderConvertYourRecordings": "Convert Your Recordings",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sort channels by:",
|
||||
"RecentlyWatched": "Recently watched",
|
||||
"ChannelNumber": "Channel number",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Especial - {0}",
|
||||
"Share": "Compartilhar",
|
||||
"Add": "Adicionar",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "S\u00e1bado",
|
||||
"Days": "Dias",
|
||||
"RecordSeries": "Gravar s\u00e9rie",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Obter Emby Premiere",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "Uma subscri\u00e7\u00e3o ativa do Emby Premiere \u00e9 requerida para criar a grava\u00e7\u00e3o automatizada de s\u00e9ries.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Converter automaticamente grava\u00e7\u00f5es para um formato amig\u00e1vel para streaming com Emby Premiere. Grava\u00e7\u00f5es ser\u00e3o convertidas em tempo real para MP4 ou MKV, baseado nas configura\u00e7\u00f5es do Servidor Emby.",
|
||||
"FeatureRequiresEmbyPremiere": "Este recurso requer uma subscri\u00e7\u00e3o ativa do Emby Premiere",
|
||||
"HeaderConvertYourRecordings": "Converter suas Grava\u00e7\u00f5es",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Ordenar canais por:",
|
||||
"RecentlyWatched": "Assistido recentemente",
|
||||
"ChannelNumber": "N\u00famero do canal",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Colocar canais favoritos no in\u00edcio"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Colocar canais favoritos no in\u00edcio",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Especial - {0}",
|
||||
"Share": "Partilhar",
|
||||
"Add": "Adicionar",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "S\u00e1bado",
|
||||
"Days": "Dias",
|
||||
"RecordSeries": "Record series",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Get Emby Premiere",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "Uma subscri\u00e7\u00e3o Emby Premiere \u00e9 necess\u00e1ria para criar a grava\u00e7\u00e3o autom\u00e1tica de s\u00e9ries.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
|
||||
"FeatureRequiresEmbyPremiere": "Este recurso requer uma subscri\u00e7\u00e3o ativa do Emby Premiere",
|
||||
"HeaderConvertYourRecordings": "Convert Your Recordings",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sort channels by:",
|
||||
"RecentlyWatched": "Recently watched",
|
||||
"ChannelNumber": "Channel number",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Add",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "Sambata",
|
||||
"Days": "Days",
|
||||
"RecordSeries": "Record series",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Get Emby Premiere",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "An active Emby Premiere subscription is required in order to create automated series recordings.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
|
||||
"FeatureRequiresEmbyPremiere": "This feature requires an active Emby Premiere subscription.",
|
||||
"HeaderConvertYourRecordings": "Convert Your Recordings",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sort channels by:",
|
||||
"RecentlyWatched": "Recently watched",
|
||||
"ChannelNumber": "Channel number",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "\u0421\u043f\u0435\u0446\u044d\u043f\u0438\u0437\u043e\u0434 - {0}",
|
||||
"Share": "\u041f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f",
|
||||
"Add": "\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "\u0441\u0443\u0431\u0431\u043e\u0442\u0430",
|
||||
"Days": "\u0414\u043d\u0438",
|
||||
"RecordSeries": "\u0417\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0435\u0440\u0438\u0430\u043b",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "\u041f\u0440\u0438\u043e\u0431\u0440\u0435\u0441\u0442\u0438 Emby Premiere",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "\u0414\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0449\u0430\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0430 Emby Premiere \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0441\u0435\u0440\u0438\u0439.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0432 \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0434\u043b\u044f \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u0438 \u0444\u043e\u0440\u043c\u0430\u0442 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Emby Premiere. \u0417\u0430\u043f\u0438\u0441\u0438 \u0431\u0443\u0434\u0443\u0442 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0432 MP4 \u0438\u043b\u0438 MKV, \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 Emby Server.",
|
||||
"FeatureRequiresEmbyPremiere": "\u0414\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0449\u0430\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0430 Emby Premiere.",
|
||||
"HeaderConvertYourRecordings": "\u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u0430\u0448\u0438\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "\u0421\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043d\u0430\u043b\u044b \u043f\u043e:",
|
||||
"RecentlyWatched": "\u041d\u0435\u0434\u0430\u0432\u043d\u043e \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043d\u043e\u0435",
|
||||
"ChannelNumber": "\u041d\u043e\u043c\u0435\u0440 \u043a\u0430\u043d\u0430\u043b\u0430",
|
||||
"PlaceFavoriteChannelsAtBeginning": "\u0420\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0438\u0437\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u043a\u0430\u043d\u0430\u043b\u044b \u0432 \u043d\u0430\u0447\u0430\u043b\u0435"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "\u0420\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0438\u0437\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u043a\u0430\u043d\u0430\u043b\u044b \u0432 \u043d\u0430\u0447\u0430\u043b\u0435",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Add",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "Saturday",
|
||||
"Days": "Days",
|
||||
"RecordSeries": "Record series",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Get Emby Premiere",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "An active Emby Premiere subscription is required in order to create automated series recordings.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
|
||||
"FeatureRequiresEmbyPremiere": "This feature requires an active Emby Premiere subscription.",
|
||||
"HeaderConvertYourRecordings": "Convert Your Recordings",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sort channels by:",
|
||||
"RecentlyWatched": "Recently watched",
|
||||
"ChannelNumber": "Channel number",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Add",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "Saturday",
|
||||
"Days": "Days",
|
||||
"RecordSeries": "Record series",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Get Emby Premiere",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "An active Emby Premiere subscription is required in order to create automated series recordings.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
|
||||
"FeatureRequiresEmbyPremiere": "Uporaba te funkcionalnosti zahteva aktivno Emby Premiere narocnino.",
|
||||
"HeaderConvertYourRecordings": "Convert Your Recordings",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sort channels by:",
|
||||
"RecentlyWatched": "Recently watched",
|
||||
"ChannelNumber": "Channel number",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Specialavsnitt - {0}",
|
||||
"Share": "Dela",
|
||||
"Add": "L\u00e4gg till",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "L\u00f6rdag",
|
||||
"Days": "Dagar",
|
||||
"RecordSeries": "Spela in serie",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Skaffa Emby Premium",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "Ett aktivt Emby Premium-medlemskap kr\u00e4vs f\u00f6r att skapa automatiska TV-serieinspelningar.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
|
||||
"FeatureRequiresEmbyPremiere": "Den h\u00e4r funktionen kr\u00e4ver en aktiv Emby Premium prenumeration.",
|
||||
"HeaderConvertYourRecordings": "Convert Your Recordings",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sort channels by:",
|
||||
"RecentlyWatched": "Recently watched",
|
||||
"ChannelNumber": "Channel number",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Ekle",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "Cumartesi",
|
||||
"Days": "G\u00fcnler",
|
||||
"RecordSeries": "Record series",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Get Emby Premiere",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "An active Emby Premiere subscription is required in order to create automated series recordings.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
|
||||
"FeatureRequiresEmbyPremiere": "This feature requires an active Emby Premiere subscription.",
|
||||
"HeaderConvertYourRecordings": "Convert Your Recordings",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sort channels by:",
|
||||
"RecentlyWatched": "Recently watched",
|
||||
"ChannelNumber": "Channel number",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Add",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "Saturday",
|
||||
"Days": "Days",
|
||||
"RecordSeries": "Record series",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Get Emby Premiere",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "An active Emby Premiere subscription is required in order to create automated series recordings.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
|
||||
"FeatureRequiresEmbyPremiere": "This feature requires an active Emby Premiere subscription.",
|
||||
"HeaderConvertYourRecordings": "Convert Your Recordings",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sort channels by:",
|
||||
"RecentlyWatched": "Recently watched",
|
||||
"ChannelNumber": "Channel number",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "Th\u00eam",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "Th\u1ee9 B\u1ea3y",
|
||||
"Days": "Days",
|
||||
"RecordSeries": "Record series",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Get Emby Premiere",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "An active Emby Premiere subscription is required in order to create automated series recordings.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
|
||||
"FeatureRequiresEmbyPremiere": "This feature requires an active Emby Premiere subscription.",
|
||||
"HeaderConvertYourRecordings": "Convert Your Recordings",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sort channels by:",
|
||||
"RecentlyWatched": "Recently watched",
|
||||
"ChannelNumber": "Channel number",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "\u6dfb\u52a0",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "\u661f\u671f\u516d",
|
||||
"Days": "\u5929",
|
||||
"RecordSeries": "Record series",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Get Emby Premiere",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "An active Emby Premiere subscription is required in order to create automated series recordings.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
|
||||
"FeatureRequiresEmbyPremiere": "This feature requires an active Emby Premiere subscription.",
|
||||
"HeaderConvertYourRecordings": "Convert Your Recordings",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sort channels by:",
|
||||
"RecentlyWatched": "Recently watched",
|
||||
"ChannelNumber": "Channel number",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Share",
|
||||
"Add": "\u65b0\u589e",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "\u661f\u671f\u516d",
|
||||
"Days": "\u9304\u5f71\u65e5",
|
||||
"RecordSeries": "Record series",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "Get Emby Premiere",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "An active Emby Premiere subscription is required in order to create automated series recordings.",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
|
||||
"FeatureRequiresEmbyPremiere": "This feature requires an active Emby Premiere subscription.",
|
||||
"HeaderConvertYourRecordings": "Convert Your Recordings",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sort channels by:",
|
||||
"RecentlyWatched": "Recently watched",
|
||||
"ChannelNumber": "Channel number",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"MessageUnlockAppWithPurchaseOrSupporter": "Unlock this feature with a small one-time purchase, or with an active Emby Premiere subscription.",
|
||||
"MessageUnlockAppWithSupporter": "Unlock this feature with an active Emby Premiere subscription.",
|
||||
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "\u5206\u4eab",
|
||||
"Add": "\u6dfb\u52a0",
|
||||
|
@ -39,8 +42,19 @@
|
|||
"Saturday": "\u661f\u671f\u516d",
|
||||
"Days": "\u9304\u5f71\u65e5",
|
||||
"RecordSeries": "\u9304\u88fd\u6574\u500b\u7cfb\u5217",
|
||||
"HeaderCinemaMode": "Cinema Mode",
|
||||
"HeaderCloudSync": "Cloud Sync",
|
||||
"HeaderOfflineDownloads": "Offline Media",
|
||||
"HeaderOfflineDownloadsDescription": "Download media to your devices for easy offline use.",
|
||||
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.",
|
||||
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
|
||||
"CoverArt": "Cover Art",
|
||||
"CinemaModeFeatureDescription": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the feature.",
|
||||
"HeaderFreeApps": "Free Emby Apps",
|
||||
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
|
||||
"HeaderBecomeProjectSupporter": "\u7acb\u5373\u53d6\u5f97",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "\u8981\u4f7f\u7528\u81ea\u52d5\u9304\u88fd\u7cfb\u5217\u7684\u529f\u80fd\uff0c\u9700\u8981\u6709\u6548\u7684Emby\u8c6a\u83ef\u7248\u8a02\u95b1",
|
||||
"LabelEmailAddress": "E-mail address:",
|
||||
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
|
||||
"FeatureRequiresEmbyPremiere": "\u6b64\u529f\u80fd\u9700\u8981\u6709\u6548\u7684Emby\u8c6a\u83ef\u7248\u8a02\u95b1",
|
||||
"HeaderConvertYourRecordings": "Convert Your Recordings",
|
||||
|
@ -320,5 +334,17 @@
|
|||
"SortChannelsBy": "Sort channels by:",
|
||||
"RecentlyWatched": "Recently watched",
|
||||
"ChannelNumber": "Channel number",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning"
|
||||
"HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere",
|
||||
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
|
||||
"HeaderTryPlayback": "Try Playback",
|
||||
"HowDidYouPay": "How did you pay?",
|
||||
"IHaveEmbyPremiere": "I have Emby Premiere",
|
||||
"IPurchasedThisApp": "I purchased this app",
|
||||
"ButtonRestorePreviousPurchase": "Restore Purchase",
|
||||
"ButtonUnlockWithPurchase": "Unlock with Purchase",
|
||||
"ButtonUnlockPrice": "Unlock {0}",
|
||||
"ButtonAlreadyPaid": "Already Paid?",
|
||||
"ButtonPlayOneMinute": "Play One Minute",
|
||||
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
|
||||
"HeaderUnlockFeature": "Unlock Feature"
|
||||
}
|
|
@ -312,7 +312,7 @@
|
|||
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
require(["registrationservices", 'dialogHelper', 'formDialogStyle'], function (registrationServices, dialogHelper) {
|
||||
require(["registrationServices", 'dialogHelper', 'formDialogStyle'], function (registrationServices, dialogHelper) {
|
||||
registrationServices.validateFeature('sync').then(function () {
|
||||
|
||||
showSyncMenuInternal(dialogHelper, options).then(resolve, reject);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
define(['dialogHelper', 'emby-checkbox', 'emby-input', 'emby-button', 'paper-icon-button-light', 'formDialogStyle'], function (dialogHelper) {
|
||||
define(['dialogHelper', 'emby-checkbox', 'emby-input', 'emby-button', 'emby-select', 'paper-icon-button-light', 'formDialogStyle'], function (dialogHelper) {
|
||||
|
||||
var extractedName;
|
||||
var extractedYear;
|
||||
|
@ -107,10 +107,10 @@
|
|||
var resultId = dlg.querySelector('#hfResultId').value;
|
||||
var seriesId = dlg.querySelector('#selectSeries').value;
|
||||
|
||||
var targetFolder;
|
||||
var newProviderIds;
|
||||
var newSeriesName;
|
||||
var newSeriesYear;
|
||||
var targetFolder = null;
|
||||
var newProviderIds = null;
|
||||
var newSeriesName = null;
|
||||
var newSeriesYear = null;
|
||||
|
||||
if (seriesId == "##NEW##" && currentNewItem != null) {
|
||||
seriesId = null;
|
||||
|
|
|
@ -1,29 +1,24 @@
|
|||
<div class="formDialogHeader">
|
||||
<button is="paper-icon-button-light" class="btnCancel autoSize" tabindex="-1"><i class="md-icon"></i></button>
|
||||
<h3 class="formDialogHeaderTitle">
|
||||
</h3>
|
||||
<h3 class="formDialogHeaderTitle"></h3>
|
||||
</div>
|
||||
|
||||
<div class="formDialogContent smoothScrollY">
|
||||
<div class="formDialogContent smoothScrollY" style="padding-top: 2em;">
|
||||
<div class="dialogContentInner dialog-content-centered">
|
||||
<form class="episodeCorrectionForm">
|
||||
|
||||
<p><span class="inputFile"></span></p>
|
||||
|
||||
<div style="margin: 1em 0 1em;">
|
||||
<div style="width:85%;display:inline-block;">
|
||||
<label for="selectSeries" class="selectLabel">${LabelSeries}</label>
|
||||
<select id="selectSeries" data-mini="true" required="required"></select>
|
||||
<div class="selectContainer">
|
||||
<div style="display: flex; align-items: center;">
|
||||
<div style="flex-grow:1; position: relative;">
|
||||
<select is="emby-select" id="selectSeries" data-mini="true" required="required" label="${LabelSeries}"></select>
|
||||
</div>
|
||||
<button type="button" is="paper-icon-button-light" id="btnNewSeries" class="autoSize"><i class="md-icon">add</i></button>
|
||||
</div>
|
||||
<button type="button" is="paper-icon-button-light" id="btnNewSeries" class="autoSize" title="${ButtonNew}">
|
||||
<i class="md-icon">add</i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="fldSelectSeriesFolder hide" style="margin: 1em 0 1em;">
|
||||
<div style="width:100%;display:inline-block;">
|
||||
<label for="selectSeriesFolder" class="selectLabel">Series Root Folder</label>
|
||||
<select id="selectSeriesFolder" data-mini="true"></select>
|
||||
</div>
|
||||
<div class="fldSelectSeriesFolder hide selectContainer">
|
||||
<select id="selectSeriesFolder" is="emby-select" label="Series root folder:"></select>
|
||||
</div>
|
||||
<div class="inputContainer">
|
||||
<input is="emby-input" id="txtSeason" type="number" pattern="[0-9]*" required min="0" label="${LabelSeasonNumber}" />
|
||||
|
@ -32,19 +27,26 @@
|
|||
<input is="emby-input" id="txtEpisode" type="number" pattern="[0-9]*" required min="0" label="${LabelEpisodeNumber}" />
|
||||
</div>
|
||||
<div class="inputContainer">
|
||||
<input is="emby-input" id="txtEndingEpisode" type="number" pattern="[0-9]*" min="0" label="${LabelEndingEpisodeNumber}"/>
|
||||
<input is="emby-input" id="txtEndingEpisode" type="number" pattern="[0-9]*" min="0" label="${LabelEndingEpisodeNumber}" />
|
||||
<div class="fieldDescription">${LabelEndingEpisodeNumberHelp}</div>
|
||||
</div>
|
||||
<label class="fldRemember hide checkboxContainer">
|
||||
<input is="emby-checkbox" id="chkRememberCorrection" type="checkbox"/>
|
||||
<span>${OptionRememberOrganizeCorrection}</span>
|
||||
<span class="extractedName hide"></span>
|
||||
</label>
|
||||
<div class="fldRemember hide checkboxContainer checkboxContainer-withDescription">
|
||||
<label class="checkboxContainer">
|
||||
<input is="emby-checkbox" id="chkRememberCorrection" type="checkbox" />
|
||||
<span>${OptionRememberOrganizeCorrection}</span>
|
||||
</label>
|
||||
<div class="extractedName hide fieldDescription checkboxFieldDescription"></div>
|
||||
</div>
|
||||
|
||||
<br />
|
||||
<button is="emby-button" type="submit" class="raised submit block">
|
||||
<span>${ButtonOk}</span>
|
||||
</button>
|
||||
<input id="hfResultId" type="hidden" />
|
||||
|
||||
<div class="formDialogFooter">
|
||||
<button is="emby-button" type="submit" class="raised button-submit block formDialogFooterItem">
|
||||
<span>${ButtonOk}</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
63
dashboard-ui/components/iap.js
Normal file
63
dashboard-ui/components/iap.js
Normal file
|
@ -0,0 +1,63 @@
|
|||
define(['apphost', 'globalize', 'shell'], function (appHost, globalize, shell) {
|
||||
|
||||
function getProductInfo(feature) {
|
||||
return null;
|
||||
}
|
||||
|
||||
function showExternalPremiereInfo() {
|
||||
shell.openUrl('https://emby.media/premiere');
|
||||
}
|
||||
|
||||
function beginPurchase(feature, email) {
|
||||
showExternalPremiereInfo();
|
||||
return Promise.reject();
|
||||
}
|
||||
|
||||
function restorePurchase(id) {
|
||||
return Promise.reject();
|
||||
}
|
||||
|
||||
function getSubscriptionOptions() {
|
||||
|
||||
var options = [];
|
||||
|
||||
options.push({
|
||||
id: 'embypremiere',
|
||||
title: globalize.translate('sharedcomponents#HeaderBecomeProjectSupporter'),
|
||||
requiresEmail: false
|
||||
});
|
||||
|
||||
return Promise.resolve(options);
|
||||
}
|
||||
|
||||
function isUnlockedByDefault(feature, options) {
|
||||
|
||||
var autoUnlockedFeatures = appHost.unlockedFeatures ? appHost.unlockedFeatures() : [];
|
||||
if (autoUnlockedFeatures.indexOf(feature) != -1) {
|
||||
|
||||
return Promise.resolve();
|
||||
}
|
||||
|
||||
return Promise.reject();
|
||||
}
|
||||
|
||||
function getAdminFeatureName(feature) {
|
||||
|
||||
return feature;
|
||||
}
|
||||
|
||||
function getRestoreButtonText() {
|
||||
return globalize.translate('sharedcomponents#ButtonAlreadyPaid');
|
||||
}
|
||||
|
||||
return {
|
||||
getProductInfo: getProductInfo,
|
||||
beginPurchase: beginPurchase,
|
||||
restorePurchase: restorePurchase,
|
||||
getSubscriptionOptions: getSubscriptionOptions,
|
||||
isUnlockedByDefault: isUnlockedByDefault,
|
||||
getAdminFeatureName: getAdminFeatureName,
|
||||
getRestoreButtonText: getRestoreButtonText
|
||||
};
|
||||
|
||||
});
|
|
@ -1,4 +1,4 @@
|
|||
define(['jQuery', 'registrationservices', 'emby-checkbox', 'emby-input', 'listViewStyle', 'paper-icon-button-light'], function ($, registrationServices) {
|
||||
define(['jQuery', 'registrationServices', 'emby-checkbox', 'emby-input', 'listViewStyle', 'paper-icon-button-light'], function ($, registrationServices) {
|
||||
|
||||
return function (page, providerId, options) {
|
||||
|
||||
|
|
|
@ -2,9 +2,13 @@
|
|||
width: 100%;
|
||||
}
|
||||
|
||||
.autoorganizetable > .table > tbody > tr > td {
|
||||
padding: 0.4em;
|
||||
}
|
||||
.autoorganizetable th {
|
||||
padding: 0.4em;
|
||||
}
|
||||
|
||||
.autoorganizetable > .table > tbody > tr > td {
|
||||
padding: 0.4em;
|
||||
}
|
||||
|
||||
.autoorganizetable .fileCell {
|
||||
word-wrap: break-word;
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
}
|
||||
|
||||
.background-theme-b .backgroundContainer, .dialog.background-theme-b {
|
||||
background-color: #161616;
|
||||
background-color: #121314;
|
||||
}
|
||||
|
||||
.background-theme-b .backgroundContainer.withBackdrop {
|
||||
|
@ -89,7 +89,7 @@
|
|||
}
|
||||
|
||||
.homePageSection + .homePageSection {
|
||||
margin-top: 25px;
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
.sectionHeaderButton {
|
||||
|
@ -124,17 +124,24 @@
|
|||
}
|
||||
}
|
||||
|
||||
@media all and (min-width: 600px) {
|
||||
.homePageSection h1 {
|
||||
padding-left: 2vw;
|
||||
}
|
||||
|
||||
.ehsContent:not(.fullWidth), .ehsContent .pageTabContent {
|
||||
width: 98%;
|
||||
}
|
||||
.homePageSection .itemsContainer {
|
||||
padding-left: 1vw;
|
||||
padding-right: 1vw;
|
||||
}
|
||||
|
||||
@media all and (min-width: 1200px) {
|
||||
|
||||
.ehsContent:not(.fullWidth), .ehsContent .pageTabContent {
|
||||
width: 96%;
|
||||
.homePageSection h1 {
|
||||
padding-left: 2.2vw;
|
||||
}
|
||||
|
||||
.homePageSection .itemsContainer {
|
||||
padding-left: 2vw;
|
||||
padding-right: 2vw;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -99,17 +99,22 @@
|
|||
|
||||
Dashboard.hideLoadingMsg();
|
||||
|
||||
actionsheet.show({
|
||||
var menuOptions = {
|
||||
title: Globalize.translate('HeaderSelectPlayer'),
|
||||
items: menuItems,
|
||||
positionTo: button,
|
||||
|
||||
// Unfortunately we can't allow the url to change or chromecast will throw a security error
|
||||
// Might be able to solve this in the future by moving the dialogs to hashbangs
|
||||
enableHistory: enableHistory !== false && !browser.chrome,
|
||||
resolveOnClick: true
|
||||
|
||||
}).then(function (id) {
|
||||
};
|
||||
|
||||
// Unfortunately we can't allow the url to change or chromecast will throw a security error
|
||||
// Might be able to solve this in the future by moving the dialogs to hashbangs
|
||||
if (!((enableHistory !== false && !browser.chrome) || AppInfo.isNativeApp)) {
|
||||
menuOptions.enableHistory = false;
|
||||
}
|
||||
|
||||
actionsheet.show(menuOptions).then(function (id) {
|
||||
|
||||
var target = targets.filter(function (t) {
|
||||
return t.id == id;
|
||||
|
@ -461,7 +466,7 @@
|
|||
return;
|
||||
}
|
||||
|
||||
requirejs(["registrationservices"], function (registrationServices) {
|
||||
requirejs(["registrationServices"], function (registrationServices) {
|
||||
|
||||
self.playbackTimeLimitMs = null;
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
view.querySelector('.btnSyncSupporter').addEventListener('click', function () {
|
||||
|
||||
requirejs(["registrationservices"], function (registrationServices) {
|
||||
requirejs(["registrationServices"], function (registrationServices) {
|
||||
registrationServices.validateFeature('sync');
|
||||
});
|
||||
});
|
||||
|
|
|
@ -1,216 +0,0 @@
|
|||
define(['appStorage', 'shell'], function (appStorage, shell) {
|
||||
|
||||
var supporterPlaybackKey = 'lastSupporterPlaybackMessage4';
|
||||
|
||||
function validatePlayback(resolve, reject) {
|
||||
|
||||
Dashboard.getPluginSecurityInfo().then(function (pluginSecurityInfo) {
|
||||
|
||||
if (pluginSecurityInfo.IsMBSupporter) {
|
||||
resolve();
|
||||
} else {
|
||||
|
||||
var lastMessage = parseInt(appStorage.getItem(supporterPlaybackKey) || '0');
|
||||
|
||||
if (!lastMessage) {
|
||||
|
||||
// Don't show on the very first playback attempt
|
||||
appStorage.setItem(supporterPlaybackKey, new Date().getTime());
|
||||
resolve();
|
||||
}
|
||||
else if ((new Date().getTime() - lastMessage) > 259200000) {
|
||||
|
||||
showPlaybackOverlay(resolve, reject);
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function getSubscriptionBenefits() {
|
||||
|
||||
var list = [];
|
||||
|
||||
list.push({
|
||||
name: Globalize.translate('CoverArt'),
|
||||
icon: 'photo',
|
||||
text: Globalize.translate('CoverArtFeatureDescription')
|
||||
});
|
||||
|
||||
list.push({
|
||||
name: Globalize.translate('HeaderFreeApps'),
|
||||
icon: 'check',
|
||||
text: Globalize.translate('FreeAppsFeatureDescription')
|
||||
});
|
||||
|
||||
if (Dashboard.capabilities().SupportsSync) {
|
||||
list.push({
|
||||
name: Globalize.translate('HeaderMobileSync'),
|
||||
icon: 'sync',
|
||||
text: Globalize.translate('MobileSyncFeatureDescription')
|
||||
});
|
||||
}
|
||||
else {
|
||||
list.push({
|
||||
name: Globalize.translate('HeaderCinemaMode'),
|
||||
icon: 'movie',
|
||||
text: Globalize.translate('CinemaModeFeatureDescription')
|
||||
});
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
function getSubscriptionBenefitHtml(item) {
|
||||
|
||||
var html = '';
|
||||
html += '<div class="listItem">';
|
||||
|
||||
html += '<i class="listItemIcon md-icon">' + item.icon + '</i>';
|
||||
|
||||
html += '<div class="listItemBody two-line">';
|
||||
html += '<a class="clearLink" href="https://emby.media/premiere" target="_blank">';
|
||||
|
||||
html += '<h3 class="listItemBodyText">';
|
||||
html += item.name;
|
||||
html += '</h3>';
|
||||
|
||||
html += '<div class="listItemBodyText secondary" style="white-space:normal;">';
|
||||
html += item.text;
|
||||
html += '</div>';
|
||||
|
||||
html += '</a>';
|
||||
html += '</div>';
|
||||
|
||||
html += '</div>';
|
||||
|
||||
return html;
|
||||
}
|
||||
|
||||
function showPlaybackOverlay(resolve, reject) {
|
||||
|
||||
require(['dialogHelper', 'listViewStyle', 'emby-button', 'formDialogStyle'], function (dialogHelper) {
|
||||
|
||||
var dlg = dialogHelper.createDialog({
|
||||
size: 'fullscreen-border',
|
||||
removeOnClose: true,
|
||||
scrollY: false
|
||||
});
|
||||
|
||||
dlg.classList.add('formDialog');
|
||||
|
||||
var html = '';
|
||||
html += '<div class="formDialogHeader">';
|
||||
html += '<button is="paper-icon-button-light" class="btnCancel autoSize" tabindex="-1"><i class="md-icon"></i></button>';
|
||||
html += '<h3 class="formDialogHeaderTitle">';
|
||||
html += '</h3>';
|
||||
|
||||
html += '</div>';
|
||||
|
||||
|
||||
html += '<div class="formDialogContent smoothScrollY">';
|
||||
html += '<div class="dialogContentInner dialog-content-centered">';
|
||||
|
||||
html += '<h1>' + Globalize.translate('HeaderTryEmbyPremiere') + '</h1>';
|
||||
|
||||
html += '<p>' + Globalize.translate('MessageDidYouKnowCinemaMode') + '</p>';
|
||||
html += '<p>' + Globalize.translate('MessageDidYouKnowCinemaMode2') + '</p>';
|
||||
|
||||
html += '<br/>';
|
||||
|
||||
html += '<h1>' + Globalize.translate('HeaderBenefitsEmbyPremiere') + '</h1>';
|
||||
|
||||
html += '<div class="paperList">';
|
||||
html += getSubscriptionBenefits().map(getSubscriptionBenefitHtml).join('');
|
||||
html += '</div>';
|
||||
|
||||
html += '<br/>';
|
||||
|
||||
html += '<a class="clearLink" href="http://emby.media/premiere" target="_blank"><button is="emby-button" type="button" class="raised button-submit block" autoFocus><span>' + Globalize.translate('ButtonBecomeSupporter') + '</span></button></a>';
|
||||
html += '<button is="emby-button" type="button" class="raised subdued block btnCancelSupporterInfo" style="background:#444;"><span>' + Globalize.translate('ButtonClosePlayVideo') + '</span></button>';
|
||||
|
||||
html += '</div>';
|
||||
html += '</div>';
|
||||
|
||||
dlg.innerHTML = html;
|
||||
|
||||
// Has to be assigned a z-index after the call to .open()
|
||||
dlg.addEventListener('close', function (e) {
|
||||
appStorage.setItem(supporterPlaybackKey, new Date().getTime());
|
||||
resolve();
|
||||
});
|
||||
|
||||
dialogHelper.open(dlg);
|
||||
|
||||
var onCancelClick = function () {
|
||||
dialogHelper.close(dlg);
|
||||
};
|
||||
var i, length;
|
||||
var elems = dlg.querySelectorAll('.btnCancelSupporterInfo');
|
||||
for (i = 0, length = elems.length; i < length; i++) {
|
||||
elems[i].addEventListener('click', onCancelClick);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function validateSync(resolve, reject) {
|
||||
|
||||
Dashboard.getPluginSecurityInfo().then(function (pluginSecurityInfo) {
|
||||
|
||||
if (pluginSecurityInfo.IsMBSupporter) {
|
||||
resolve();
|
||||
return;
|
||||
}
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
ApiClient.getRegistrationInfo('Sync').then(function (registrationInfo) {
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
|
||||
if (registrationInfo.IsRegistered) {
|
||||
resolve();
|
||||
return;
|
||||
}
|
||||
|
||||
Dashboard.alert({
|
||||
message: Globalize.translate('HeaderSyncRequiresSupporterMembership') + '<br/><p><a href="http://emby.media/premiere" target="_blank">' + Globalize.translate('ButtonLearnMore') + '</a></p>',
|
||||
title: Globalize.translate('HeaderSync'),
|
||||
callback: reject
|
||||
});
|
||||
|
||||
}, function () {
|
||||
|
||||
reject();
|
||||
Dashboard.hideLoadingMsg();
|
||||
|
||||
Dashboard.alert({
|
||||
message: Globalize.translate('ErrorValidatingSupporterInfo')
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
return {
|
||||
validateFeature: function (name) {
|
||||
|
||||
return new Promise(function (resolve, reject) {
|
||||
if (name == 'playback') {
|
||||
validatePlayback(resolve, reject);
|
||||
} else if (name == 'livetv') {
|
||||
resolve();
|
||||
} else if (name == 'sync') {
|
||||
validateSync(resolve, reject);
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
showPremiereInfo: function () {
|
||||
shell.openUrl('https://emby.media/premiere');
|
||||
}
|
||||
};
|
||||
});
|
|
@ -9,7 +9,6 @@
|
|||
}
|
||||
|
||||
function enableScrollX() {
|
||||
|
||||
return browserInfo.mobile && AppInfo.enableAppLayouts;
|
||||
}
|
||||
|
||||
|
|
|
@ -1202,12 +1202,10 @@ var AppInfo = {};
|
|||
if (Dashboard.isRunningInCordova()) {
|
||||
paths.sharingMenu = "cordova/sharingwidget";
|
||||
paths.wakeonlan = "cordova/wakeonlan";
|
||||
paths.actionsheet = "cordova/actionsheet";
|
||||
} else {
|
||||
paths.wakeonlan = apiClientBowerPath + "/wakeonlan";
|
||||
|
||||
define("sharingMenu", [embyWebComponentsBowerPath + "/sharing/sharingmenu"], returnFirstDependency);
|
||||
define("actionsheet", ["webActionSheet"], returnFirstDependency);
|
||||
}
|
||||
|
||||
define("libjass", [bowerPath + "/libjass/libjass.min", "css!" + bowerPath + "/libjass/libjass"], returnFirstDependency);
|
||||
|
@ -1361,17 +1359,14 @@ var AppInfo = {};
|
|||
define("formDialogStyle", ['css!' + embyWebComponentsBowerPath + "/formdialog"], returnFirstDependency);
|
||||
define("indicators", [embyWebComponentsBowerPath + "/indicators/indicators"], returnFirstDependency);
|
||||
|
||||
if (Dashboard.isRunningInCordova()) {
|
||||
define('registrationservices', ['cordova/registrationservices'], returnFirstDependency);
|
||||
|
||||
} else {
|
||||
define('registrationservices', ['scripts/registrationservices'], returnFirstDependency);
|
||||
}
|
||||
define("registrationServices", [embyWebComponentsBowerPath + "/registrationservices/registrationservices"], returnFirstDependency);
|
||||
|
||||
if (Dashboard.isRunningInCordova()) {
|
||||
define("iapManager", ["cordova/iap"], returnFirstDependency);
|
||||
define("localassetmanager", ["cordova/localassetmanager"], returnFirstDependency);
|
||||
define("fileupload", ["cordova/fileupload"], returnFirstDependency);
|
||||
} else {
|
||||
define("iapManager", ["components/iap"], returnFirstDependency);
|
||||
define("localassetmanager", [apiClientBowerPath + "/localassetmanager"], returnFirstDependency);
|
||||
define("fileupload", [apiClientBowerPath + "/fileupload"], returnFirstDependency);
|
||||
}
|
||||
|
@ -1621,6 +1616,12 @@ var AppInfo = {};
|
|||
|
||||
var embyWebComponentsBowerPath = bowerPath + '/emby-webcomponents';
|
||||
|
||||
if (Dashboard.isRunningInCordova() && browser.safari) {
|
||||
paths.actionsheet = "cordova/actionsheet";
|
||||
} else {
|
||||
define("actionsheet", ["webActionSheet"], returnFirstDependency);
|
||||
}
|
||||
|
||||
if (!('registerElement' in document)) {
|
||||
if (browser.msie) {
|
||||
define("registerElement", [bowerPath + '/webcomponentsjs/webcomponents-lite.min.js']);
|
||||
|
@ -2662,7 +2663,7 @@ var AppInfo = {};
|
|||
loadTheme();
|
||||
|
||||
if (Dashboard.isRunningInCordova()) {
|
||||
deps.push('registrationservices');
|
||||
deps.push('registrationServices');
|
||||
|
||||
if (browserInfo.android) {
|
||||
deps.push('cordova/android/androidcredentials');
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
define(['fetchHelper', 'jQuery', 'registrationservices'], function (fetchHelper, $, registrationServices) {
|
||||
define(['fetchHelper', 'jQuery', 'registrationServices'], function (fetchHelper, $, registrationServices) {
|
||||
|
||||
function load(page) {
|
||||
Dashboard.showLoadingMsg();
|
||||
|
|
|
@ -77,58 +77,8 @@
|
|||
function onButtonClick() {
|
||||
|
||||
var button = this;
|
||||
var buttonTextElement = this.querySelector('span') || this;
|
||||
var text = buttonTextElement.textContent || buttonTextElement.innerText;
|
||||
var taskId = button.getAttribute('data-taskid');
|
||||
|
||||
var key = 'scheduledTaskButton' + options.taskKey;
|
||||
var expectedValue = new Date().getMonth() + '6';
|
||||
|
||||
if (userSettings.get(key) == expectedValue) {
|
||||
onScheduledTaskMessageConfirmed(taskId);
|
||||
} else {
|
||||
|
||||
require(['dialog'], function (dialog) {
|
||||
|
||||
var msg = Globalize.translate('ConfirmMessageScheduledTaskButton');
|
||||
|
||||
var menuItems = [];
|
||||
|
||||
menuItems.push({
|
||||
name: text,
|
||||
id: 'task'
|
||||
});
|
||||
menuItems.push({
|
||||
name: Globalize.translate('ButtonScheduledTasks'),
|
||||
id: 'tasks'
|
||||
});
|
||||
menuItems.push({
|
||||
name: Globalize.translate('ButtonCancel'),
|
||||
id: 'cancel'
|
||||
});
|
||||
|
||||
dialog({
|
||||
buttons: menuItems,
|
||||
text: msg
|
||||
|
||||
}).then(function (id) {
|
||||
switch (id) {
|
||||
|
||||
case 'task':
|
||||
userSettings.set(key, expectedValue);
|
||||
onScheduledTaskMessageConfirmed(taskId);
|
||||
break;
|
||||
case 'tasks':
|
||||
userSettings.set(key, expectedValue);
|
||||
Dashboard.navigate('scheduledtasks.html');
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
onScheduledTaskMessageConfirmed(taskId);
|
||||
}
|
||||
|
||||
function onSocketOpen() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue