diff --git a/dashboard-ui/autoorganizelog.html b/dashboard-ui/autoorganizelog.html index 708d982149..714114a68e 100644 --- a/dashboard-ui/autoorganizelog.html +++ b/dashboard-ui/autoorganizelog.html @@ -16,7 +16,7 @@
- + diff --git a/dashboard-ui/bower_components/emby-apiclient/.bower.json b/dashboard-ui/bower_components/emby-apiclient/.bower.json index 63c2505b90..0049afb342 100644 --- a/dashboard-ui/bower_components/emby-apiclient/.bower.json +++ b/dashboard-ui/bower_components/emby-apiclient/.bower.json @@ -16,12 +16,12 @@ }, "devDependencies": {}, "ignore": [], - "version": "1.1.87", - "_release": "1.1.87", + "version": "1.1.90", + "_release": "1.1.90", "_resolution": { "type": "version", - "tag": "1.1.87", - "commit": "21057764cdf82e9ef08514cca4e48c76d47e535f" + "tag": "1.1.90", + "commit": "eb52e55b0f856ac89abcea9a71f475595d718627" }, "_source": "https://github.com/MediaBrowser/Emby.ApiClient.Javascript.git", "_target": "^1.1.51", diff --git a/dashboard-ui/bower_components/emby-apiclient/connectionmanager.js b/dashboard-ui/bower_components/emby-apiclient/connectionmanager.js index f594a455dc..7733e5f94d 100644 --- a/dashboard-ui/bower_components/emby-apiclient/connectionmanager.js +++ b/dashboard-ui/bower_components/emby-apiclient/connectionmanager.js @@ -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, + rawpw: 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, + rawpw: 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 diff --git a/dashboard-ui/bower_components/emby-webcomponents/.bower.json b/dashboard-ui/bower_components/emby-webcomponents/.bower.json index 1ff08bfc68..b09177f0ca 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/.bower.json +++ b/dashboard-ui/bower_components/emby-webcomponents/.bower.json @@ -14,12 +14,12 @@ }, "devDependencies": {}, "ignore": [], - "version": "1.4.302", - "_release": "1.4.302", + "version": "1.4.313", + "_release": "1.4.313", "_resolution": { "type": "version", - "tag": "1.4.302", - "commit": "20e464bac58bf2fe4408dc20e98d127fdfa0c692" + "tag": "1.4.313", + "commit": "79c18a7f2b379d8162bdca36b7cf0713bbe43ad8" }, "_source": "https://github.com/MediaBrowser/emby-webcomponents.git", "_target": "^1.2.1", diff --git a/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.css b/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.css index 3149ba5da3..3c53368bcd 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.css +++ b/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.css @@ -9,11 +9,14 @@ } .actionsheet-not-fullscreen { - background-color: #2a2a2a; + background-color: #121314; + max-width: 90%; + max-height: 90%; + color: #eee; } .actionSheetMenuItem:hover { - background-color: #333; + background-color: #222; } .actionsheet-fullscreen { @@ -35,6 +38,7 @@ flex-grow: 1; align-items: center; text-align: center; + overflow: hidden; } .actionSheetMenuItem { @@ -63,7 +67,7 @@ } .actionSheetItemText-extraspacing { - padding: .8em 0; + padding: .9em 0; } .emby-button-noflex .actionSheetItemText { @@ -100,7 +104,7 @@ } .actionsheet-extraSpacing { - font-size: 108%; + font-size: 112%; } .btnCloseActionSheet { diff --git a/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.js b/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.js index fd06b26f59..01b378fc3b 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.js +++ b/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.js @@ -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,8 +111,10 @@ } else { dialogOptions.modal = false; + dialogOptions.entryAnimation = options.entryAnimation; + dialogOptions.exitAnimation = options.exitAnimation; dialogOptions.entryAnimationDuration = options.entryAnimationDuration || 140; - dialogOptions.exitAnimationDuration = options.exitAnimationDuration || 180; + dialogOptions.exitAnimationDuration = options.exitAnimationDuration || 160; dialogOptions.autoFocus = false; } @@ -301,13 +301,22 @@ dialogHelper.open(dlg); - var pos = options.positionTo && dialogOptions.size !== 'fullscreen' ? getPosition(options, dlg) : null; + // Make sure the above open has completed so that we can query offsetWidth and offsetHeight + // This was needed in safari, but in chrome this is causing the dialog to change position while animating + var setPositions = function () { + var pos = options.positionTo && dialogOptions.size !== 'fullscreen' ? getPosition(options, dlg) : null; - if (pos) { - dlg.style.position = 'fixed'; - dlg.style.margin = 0; - dlg.style.left = pos.left + 'px'; - dlg.style.top = pos.top + 'px'; + if (pos) { + dlg.style.position = 'fixed'; + dlg.style.margin = 0; + dlg.style.left = pos.left + 'px'; + dlg.style.top = pos.top + 'px'; + } + }; + if (browser.safari) { + setTimeout(setPositions, 0); + } else { + setPositions(); } }); } diff --git a/dashboard-ui/bower_components/emby-webcomponents/backdrop/backdrop.js b/dashboard-ui/bower_components/emby-webcomponents/backdrop/backdrop.js index 9c7725b26a..defcbdc205 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/backdrop/backdrop.js +++ b/dashboard-ui/bower_components/emby-webcomponents/backdrop/backdrop.js @@ -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; } } diff --git a/dashboard-ui/bower_components/emby-webcomponents/backdrop/style.css b/dashboard-ui/bower_components/emby-webcomponents/backdrop/style.css index 8055b653d3..4ee1cf6da6 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/backdrop/style.css +++ b/dashboard-ui/bower_components/emby-webcomponents/backdrop/style.css @@ -14,3 +14,13 @@ bottom: 0; contain: layout style; } + +@keyframes backdrop-fadein { + from { + opacity: 0; + } + + to { + opacity: 1; + } +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/browserdeviceprofile.js b/dashboard-ui/bower_components/emby-webcomponents/browserdeviceprofile.js index 06a6b5a03b..90a5a1258f 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/browserdeviceprofile.js +++ b/dashboard-ui/bower_components/emby-webcomponents/browserdeviceprofile.js @@ -264,12 +264,14 @@ define(['browser'], function (browser) { // Otherwise with HLS and mp3 audio we're seeing some browsers // safari is lying if ((videoTestElement.canPlayType('audio/mp4; codecs="ac-3"').replace(/no/, '') && !browser.safari) || browser.edgeUwp || browser.tizen) { - videoAudioCodecs.push('ac3'); + if ((options.disableVideoAudioCodecs || []).indexOf('ac3') == -1) { + videoAudioCodecs.push('ac3'); - // This works in edge desktop, but not mobile - // TODO: Retest this on mobile - if (!browser.edge || !browser.touch) { - hlsVideoAudioCodecs.push('ac3'); + // This works in edge desktop, but not mobile + // TODO: Retest this on mobile + if (!browser.edge || !browser.touch) { + hlsVideoAudioCodecs.push('ac3'); + } } } @@ -414,7 +416,8 @@ define(['browser'], function (browser) { VideoCodec: 'h264', Context: 'Streaming', Protocol: 'hls', - MaxAudioChannels: physicalAudioChannels.toString() + MaxAudioChannels: physicalAudioChannels.toString(), + EnableSplittingOnNonKeyFrames: browser.safari ? true : false }); } diff --git a/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/card.css b/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/card.css index 175970f3af..dc2d025541 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/card.css +++ b/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/card.css @@ -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; @@ -213,15 +198,12 @@ button { /* This is simply for lazy image purposes, to ensure the image is visible sooner when scrolling */ min-height: 70%; min-width: 70%; - align-self: flex-end; - position: static; + margin: auto; } .coveredImage-img { max-height: none; max-width: none; - height: 100%; - width: 100%; } .coveredImage { @@ -411,17 +393,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; } diff --git a/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/cardbuilder.js b/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/cardbuilder.js index 4ce3387b19..b5d8c93293 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/cardbuilder.js +++ b/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/cardbuilder.js @@ -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; } @@ -752,6 +752,10 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo return html; } + function isUsingLiveTvNaming(item) { + return item.Type === 'Program' || item.Type === 'Timer' || item.Type === 'Recording'; + } + var uniqueFooterIndex = 0; function getCardFooterText(item, apiClient, options, showTitle, forceName, overlayText, imgUrl, footerClass, progressHtml, isOuterFooter, cardFooterId, vibrantSwatch) { @@ -787,7 +791,7 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo } else { - if (item.Type === 'Program') { + if (isUsingLiveTvNaming(item)) { lines.push(item.Name); @@ -826,7 +830,7 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo item.AlbumArtists[0].IsFolder = true; lines.push(getTextActionButton(item.AlbumArtists[0])); } else { - lines.push(item.Type === 'Program' ? item.Name : (item.SeriesName || item.Album || item.AlbumArtist || item.GameSystem || "")); + lines.push(isUsingLiveTvNaming(item) ? item.Name : (item.SeriesName || item.Album || item.AlbumArtist || item.GameSystem || "")); } } @@ -1343,7 +1347,7 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo } if (!imgUrl) { - var defaultName = item.Type === 'Program' || item.Type === 'Timer' || item.EpisodeTitle ? item.Name : itemHelper.getDisplayName(item); + var defaultName = isUsingLiveTvNaming(item) ? item.Name : itemHelper.getDisplayName(item); cardImageContainerOpen += '
' + defaultName + '
'; } @@ -1457,9 +1461,11 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo var value = listItemsMoreButton.getAttribute('data-indexvalue'); var parentid = listItemsMoreButton.getAttribute('data-parentid'); - Emby.Page.showGenre({ - ParentId: parentid, - Id: value + require(['embyRouter'], function (embyRouter) { + embyRouter.showGenre({ + ParentId: parentid, + Id: value + }); }); } } diff --git a/dashboard-ui/bower_components/emby-webcomponents/collectioneditor/collectioneditor.js b/dashboard-ui/bower_components/emby-webcomponents/collectioneditor/collectioneditor.js index 7f058515cc..73b9c8bd33 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/collectioneditor/collectioneditor.js +++ b/dashboard-ui/bower_components/emby-webcomponents/collectioneditor/collectioneditor.js @@ -148,8 +148,10 @@ html += '
'; html += '
'; html += '
'; + html += '
'; html += ''; html += '
'; + html += '
'; html += '
'; diff --git a/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.css b/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.css index b223babc57..98c0d4eede 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.css +++ b/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.css @@ -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 { diff --git a/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.js b/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.js index b5e7ce2e46..7c4ca8c98a 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.js +++ b/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.js @@ -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; } diff --git a/dashboard-ui/bower_components/emby-webcomponents/emby-select/emby-select.js b/dashboard-ui/bower_components/emby-webcomponents/emby-select/emby-select.js index 9e7563290c..63dc61fd05 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/emby-select/emby-select.js +++ b/dashboard-ui/bower_components/emby-webcomponents/emby-select/emby-select.js @@ -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++; diff --git a/dashboard-ui/bower_components/emby-webcomponents/formdialog.css b/dashboard-ui/bower_components/emby-webcomponents/formdialog.css index 28cceac866..7986626530 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/formdialog.css +++ b/dashboard-ui/bower_components/emby-webcomponents/formdialog.css @@ -48,11 +48,10 @@ } .formDialogFooter { - position: absolute; bottom: 0; left: 0; right: 0; - display: flex; + display: block; padding: 1.25em 1em; /* Without this emby-checkbox is able to appear on top */ z-index: 1; @@ -61,6 +60,14 @@ flex-wrap: wrap; } +@supports (display: flex) { + + .formDialogFooter { + display: flex; + position: absolute; + } +} + .formDialogFooter-flex { position: static; } diff --git a/dashboard-ui/bower_components/emby-webcomponents/guide/guide-settings.js b/dashboard-ui/bower_components/emby-webcomponents/guide/guide-settings.js index b2e9780d25..a9453cee36 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/guide/guide-settings.js +++ b/dashboard-ui/bower_components/emby-webcomponents/guide/guide-settings.js @@ -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++) { diff --git a/dashboard-ui/bower_components/emby-webcomponents/guide/guide.js b/dashboard-ui/bower_components/emby-webcomponents/guide/guide.js index 36cddd0499..390a695d54 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/guide/guide.js +++ b/dashboard-ui/bower_components/emby-webcomponents/guide/guide.js @@ -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; diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/metadataeditor.js b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/metadataeditor.js index 5f69d45453..04fdb9b669 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/metadataeditor.js +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/metadataeditor.js @@ -262,9 +262,12 @@ function showMoreMenu(context, button, user) { require(['itemContextMenu'], function (itemContextMenu) { + + var item = currentItem; + itemContextMenu.show({ - item: currentItem, + item: item, positionTo: button, edit: false, editImages: true, @@ -277,15 +280,28 @@ }).then(function (result) { if (result.deleted) { - Emby.Page.goHome(); + afterDeleted(context, item); } else if (result.updated) { - reload(context, currentItem.Id, currentItem.ServerId); + reload(context, item.Id, item.ServerId); } }); }); } + function afterDeleted(context, item) { + + var parentId = item.ParentId || item.SeasonId || item.SeriesId; + + if (parentId) { + reload(context, parentId, item.ServerId); + } else { + require(['embyRouter'], function (embyRouter) { + embyRouter.goHome(); + }); + } + } + function onWebSocketMessageReceived(e, data) { var msg = data; diff --git a/dashboard-ui/bower_components/emby-webcomponents/multiselect/multiselect.js b/dashboard-ui/bower_components/emby-webcomponents/multiselect/multiselect.js index f22f9418cf..fe91ddde77 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/multiselect/multiselect.js +++ b/dashboard-ui/bower_components/emby-webcomponents/multiselect/multiselect.js @@ -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); diff --git a/dashboard-ui/bower_components/emby-webcomponents/playlisteditor/playlisteditor.js b/dashboard-ui/bower_components/emby-webcomponents/playlisteditor/playlisteditor.js index d120f4c54f..28f3b9fba3 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/playlisteditor/playlisteditor.js +++ b/dashboard-ui/bower_components/emby-webcomponents/playlisteditor/playlisteditor.js @@ -140,7 +140,7 @@ html += '
'; html += '
'; - html += '
'; + html += '
'; html += ''; html += '
'; diff --git a/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingfields.js b/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingfields.js index 2c17a830f2..c972adf3a5 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingfields.js +++ b/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingfields.js @@ -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) { @@ -290,11 +286,6 @@ var supporterButtons = context.querySelectorAll('.btnSupporter'); for (var i = 0, length = supporterButtons.length; i < length; i++) { - if (appHost.supports('externalpremium')) { - supporterButtons[i].classList.remove('hide'); - } else { - supporterButtons[i].classList.add('hide'); - } supporterButtons[i].addEventListener('click', onSupporterButtonClick); } diff --git a/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingfields.template.html b/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingfields.template.html index 8605e1930a..908af798b3 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingfields.template.html +++ b/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingfields.template.html @@ -52,7 +52,7 @@

-
diff --git a/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/seriesrecordingeditor.js b/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/seriesrecordingeditor.js index 15e7fe6450..58440c26e7 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/seriesrecordingeditor.js +++ b/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/seriesrecordingeditor.js @@ -34,7 +34,7 @@ if (item.ChannelName || item.ChannelNumber) { context.querySelector('.optionChannelOnly').innerHTML = globalize.translate('sharedcomponents#ChannelNameOnly', item.ChannelName || item.ChannelNumber); } else { - context.querySelector('.optionChannelOnly').innerHTML = globalize.translate('sharedcomponents#AllChannels'); + context.querySelector('.optionChannelOnly').innerHTML = globalize.translate('sharedcomponents#OneChannel'); } context.querySelector('.optionAroundTime').innerHTML = globalize.translate('sharedcomponents#AroundTime', datetime.getDisplayTime(datetime.parseISO8601Date(item.StartDate))); diff --git a/dashboard-ui/bower_components/emby-webcomponents/registrationservices/registrationservices.js b/dashboard-ui/bower_components/emby-webcomponents/registrationservices/registrationservices.js new file mode 100644 index 0000000000..91e8f1a924 --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/registrationservices/registrationservices.js @@ -0,0 +1,633 @@ +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 currentDisplayingProductInfos = []; + var currentDisplayingResolve = null; + + 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 showPeriodicMessage(feature, settingsKey) { + + return new Promise(function (resolve, reject) { + + appSettings.set(settingsKey, new Date().getTime()); + + require(['listViewStyle', 'emby-button', 'formDialogStyle'], function () { + + var dlg = dialogHelper.createDialog({ + size: 'fullscreen-border', + removeOnClose: true, + scrollY: false + }); + + dlg.classList.add('formDialog'); + + var html = ''; + html += '
'; + html += ''; + html += '

Emby Premiere'; + html += '

'; + html += '
'; + + + html += '
'; + html += '
'; + + html += '

' + globalize.translate('sharedcomponents#HeaderDiscoverEmbyPremiere') + '

'; + + html += '

' + globalize.translate('sharedcomponents#MessageDidYouKnowCinemaMode') + '

'; + html += '

' + globalize.translate('sharedcomponents#MessageDidYouKnowCinemaMode2') + '

'; + + html += '

' + globalize.translate('sharedcomponents#HeaderBenefitsEmbyPremiere') + '

'; + + html += '
'; + html += getSubscriptionBenefits().map(getSubscriptionBenefitHtml).join(''); + html += '
'; + + html += '
'; + + html += '
'; + html += ''; + html += ''; + html += '
'; + + html += '
'; + html += '
'; + + dlg.innerHTML = html; + + var i, length; + var btnPurchases = dlg.querySelectorAll('.buttonPremiereInfo'); + for (i = 0, length = btnPurchases.length; i < length; i++) { + btnPurchases[i].addEventListener('click', showExternalPremiereInfo); + } + + if (layoutManager.tv) { + centerFocus(dlg.querySelector('.formDialogContent'), false, true); + } + + // Has to be assigned a z-index after the call to .open() + dlg.addEventListener('close', function (e) { + if (layoutManager.tv) { + centerFocus(dlg.querySelector('.formDialogContent'), false, false); + } + + appSettings.set(settingsKey, new Date().getTime()); + resolve(); + }); + + dlg.querySelector('.btnGetPremiere').addEventListener('click', showPremiereInfo); + + dialogHelper.open(dlg); + + var onCancelClick = function () { + dialogHelper.close(dlg); + }; + var elems = dlg.querySelectorAll('.btnCancelSupporterInfo'); + for (i = 0, length = elems.length; i < length; i++) { + elems[i].addEventListener('click', onCancelClick); + } + }); + }); + } + + function showPeriodicMessageIfNeeded(feature) { + var intervalMs = iapManager.getPeriodicMessageIntervalMs(feature); + if (intervalMs <= 0) { + return Promise.resolve(); + } + + var settingsKey = 'periodicmessage-' + feature; + + var lastMessage = parseInt(appSettings.get(settingsKey) || '0'); + + if (!lastMessage) { + + // Don't show on the very first playback attempt + appSettings.set(settingsKey, new Date().getTime()); + return Promise.resolve(); + } + + if ((new Date().getTime() - lastMessage) > intervalMs) { + + connectionManager.currentApiClient().getPluginSecurityInfo().then(function (regInfo) { + + if (regInfo.IsMBSupporter) { + appSettings.set(settingsKey, new Date().getTime()); + return Promise.resolve(); + } + + return showPeriodicMessage(feature, settingsKey); + }, function () { + return showPeriodicMessage(feature, settingsKey); + }); + } + + return Promise.resolve(); + } + + function validateFeature(feature, options) { + + options = options || {}; + + console.log('validateFeature: ' + feature); + + return iapManager.isUnlockedByDefault(feature).then(function () { + + return showPeriodicMessageIfNeeded(feature); + + }, 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 + }; + + if (options.showDialog === false) { + return Promise.reject(); + } + + return showInAppPurchaseInfo(subscriptionOptions, unlockableProductInfo, dialogOptions); + }); + }); + }); + } + + function cancelInAppPurchase() { + + var elem = document.querySelector('.inAppPurchaseOverlay'); + if (elem) { + dialogHelper.close(elem); + } + } + + 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 += '
'; + html += ''; + html += '

'; + html += dialogOptions.title || ''; + html += '

'; + html += '
'; + + html += '
'; + html += '
'; + html += ''; + + html += '

'; + + if (unlockableProductInfo) { + html += globalize.translate('sharedcomponents#MessageUnlockAppWithPurchaseOrSupporter'); + } + else { + html += globalize.translate('sharedcomponents#MessageUnlockAppWithSupporter'); + } + html += '

'; + + html += '

'; + html += globalize.translate('sharedcomponents#MessageToValidateSupporter'); + html += '

'; + + var hasProduct = false; + var i, length; + + for (i = 0, length = subscriptionOptions.length; i < length; i++) { + + hasProduct = true; + html += '

'; + html += ''; + html += '

'; + } + + if (unlockableProductInfo) { + + hasProduct = true; + var unlockText = globalize.translate('sharedcomponents#ButtonUnlockWithPurchase'); + if (unlockableProductInfo.price) { + unlockText = globalize.translate('sharedcomponents#ButtonUnlockPrice', unlockableProductInfo.price); + } + html += '

'; + html += ''; + html += '

'; + } + + html += '

'; + html += ''; + html += '

'; + + if (subscriptionOptions.length) { + html += '

' + globalize.translate('sharedcomponents#HeaderBenefitsEmbyPremiere') + '

'; + + html += '
'; + html += getSubscriptionBenefits().map(getSubscriptionBenefitHtml).join(''); + html += '
'; + } + + if (dialogOptions.feature == 'playback') { + html += '

'; + html += ''; + html += '

'; + } + + html += ''; + html += '
'; + html += '
'; + + dlg.innerHTML = html; + document.body.appendChild(dlg); + + var btnPurchases = dlg.querySelectorAll('.btnPurchase'); + for (i = 0, length = btnPurchases.length; i < length; i++) { + btnPurchases[i].addEventListener('click', onPurchaseButtonClick); + } + + 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 (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"; + + if (layoutManager.tv) { + cssClass += ' listItem-focusscale'; + } + + if (enableLink) { + cssClass += ' listItem-button'; + + html += ''; + } else { + html += '
'; + } + + 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 += '
'; + html += ''; + html += '

'; + html += iapManager.getRestoreButtonText(); + html += '

'; + html += '
'; + + html += '
'; + html += '
'; + + html += '

'; + html += globalize.translate('sharedcomponents#HowDidYouPay'); + html += '

'; + + html += '

'; + html += ''; + html += '

'; + + if (unlockableProductInfo) { + html += '

'; + html += ''; + html += '

'; + } + + html += '
'; + html += '
'; + + 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() { + + if (appHost.supports('externalpremium')) { + showExternalPremiereInfo(); + return Promise.resolve(); + } + + 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 + }; +}); \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/registrationservices/style.css b/dashboard-ui/bower_components/emby-webcomponents/registrationservices/style.css new file mode 100644 index 0000000000..204fbdacab --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/registrationservices/style.css @@ -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; +} diff --git a/dashboard-ui/bower_components/emby-webcomponents/router.js b/dashboard-ui/bower_components/emby-webcomponents/router.js index 18a6a6704d..b6a45bc8b0 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/router.js +++ b/dashboard-ui/bower_components/emby-webcomponents/router.js @@ -572,13 +572,13 @@ define(['loading', 'dom', 'viewManager', 'skinManager', 'pluginManager', 'backdr backgroundContainer = document.querySelector('.backgroundContainer'); } - if (level == 'full' || level == Emby.TransparencyLevel.Full) { + if (level == 'full' || level == 2) { backdrop.clear(true); document.documentElement.classList.add('transparentDocument'); backgroundContainer.classList.add('backgroundContainer-transparent'); backdropContainer.classList.add('hide'); } - else if (level == 'backdrop' || level == Emby.TransparencyLevel.Backdrop) { + else if (level == 'backdrop' || level == 1) { backdrop.externalBackdrop(true); document.documentElement.classList.add('transparentDocument'); backgroundContainer.classList.add('backgroundContainer-transparent'); diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/ar.json b/dashboard-ui/bower_components/emby-webcomponents/strings/ar.json index 5fa3d7b8ab..1d8e789dc1 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/ar.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/ar.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/bg-BG.json b/dashboard-ui/bower_components/emby-webcomponents/strings/bg-BG.json index 2c1802f251..fe119c37ed 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/bg-BG.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/bg-BG.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/ca.json b/dashboard-ui/bower_components/emby-webcomponents/strings/ca.json index 5bb9648531..b9e0870f58 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/ca.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/ca.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/cs.json b/dashboard-ui/bower_components/emby-webcomponents/strings/cs.json index a15a61514b..a34bb840bb 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/cs.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/cs.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/da.json b/dashboard-ui/bower_components/emby-webcomponents/strings/da.json index a650021ca6..7fcea86e4f 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/da.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/da.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/de.json b/dashboard-ui/bower_components/emby-webcomponents/strings/de.json index afe056b0be..72e64173d7 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/de.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/de.json @@ -1,9 +1,12 @@ { + "MessageUnlockAppWithPurchaseOrSupporter": "Schalte diese Funktion mit einer kleinen einmaligen Geb\u00fchr oder einem aktiven Emby Premium Abo frei.", + "MessageUnlockAppWithSupporter": "Schalte diese Funktion mit einem aktiven Emby Premium Abo frei.", + "MessageToValidateSupporter": "Wenn du eine aktive Emby Premiere Mitgliedschaft hast, stelle bitte sicher, dass du diese \u00fcber das Emby Server Dashboard eingerichtet hast (Hauptmenu -> Emby Premiere).", "ValueSpecialEpisodeName": "Special - {0}", "Share": "Teilen", "Add": "Hinzuf\u00fcgen", - "ServerUpdateNeeded": "Dieser Emby Server muss aktualisiert werden. Um die neueste Version herunterzuladen, besuchen sie bitte {0}", - "LiveTvGuideRequiresUnlock": "Ihr TV-Guide ist begrenzt auf {0} Kan\u00e4le. Klicken Sie auf die Freischalten Schaltfl\u00e4che um weitere Informationen zu erhalten.", + "ServerUpdateNeeded": "Dieser Emby Server muss aktualisiert werden. Um die neueste Version herunterzuladen, besuche bitte {0}", + "LiveTvGuideRequiresUnlock": "Dein TV-Guide ist begrenzt auf {0} Kan\u00e4le. Klicke auf die Freischalten Schaltfl\u00e4che um weitere Informationen zu erhalten.", "AttributeNew": "Neu", "Premiere": "Premiere", "Live": "Live", @@ -39,8 +42,19 @@ "Saturday": "Samstag", "Days": "Tage", "RecordSeries": "Serie aufnehmen", - "HeaderBecomeProjectSupporter": "Holen Sie Emby Premium", + "HeaderCinemaMode": "Kinomodus", + "HeaderCloudSync": "Cloud Synchronisation", + "HeaderOfflineDownloads": "Offline Medien", + "HeaderOfflineDownloadsDescription": "Lade Medien auf deine Ger\u00e4te herunter um sie einfach offline zu nutzen.", + "CloudSyncFeatureDescription": "Synchronisiere deine Medien in die Cloud f\u00fcr ein Backup, eine Archivierung und Konvertierung.", + "CoverArtFeatureDescription": "Cover Art erstellt z.B. lustige Cover und erlaubt dir eine weitergehende pers\u00f6nliche Gestaltung deiner Medienbilder.", + "CoverArt": "Cover Art", + "CinemaModeFeatureDescription": "Der Cinema Mode bringt das richtige Kinogef\u00fchl mit Trailern und eigenen Intros vor dem Hauptfilm.", + "HeaderFreeApps": "Kostenlose Emby Apps", + "FreeAppsFeatureDescription": "Genie\u00dfe Zugriff auf kostenlose Emby Apps f\u00fcr deine Ger\u00e4te.", + "HeaderBecomeProjectSupporter": "Hol dir Emby Premiere", "MessageActiveSubscriptionRequiredSeriesRecordings": "Ein aktives Emby Premium Abo wird benn\u00f6tigt um automatische Serienaufnahmen zu erstellen.", + "LabelEmailAddress": "E-Mail Adresse:", "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", @@ -51,7 +65,7 @@ "Advanced": "Erweitert", "Delete": "L\u00f6schen", "HeaderDeleteItem": "L\u00f6sche Element", - "ConfirmDeleteItem": "L\u00f6schen dieses Eintrages bedeutet das L\u00f6schen der Datei und das Entfernen aus der Medien-Bibliothek. M\u00f6chten Sie wirklich fortfahren?", + "ConfirmDeleteItem": "L\u00f6schen dieses Eintrages bedeutet das L\u00f6schen der Datei und das Entfernen aus der Medien-Bibliothek. M\u00f6chtest du wirklich fortfahren?", "Refresh": "Aktualisieren", "RefreshQueued": "Warteschlange aktualisieren.", "AddToCollection": "Zur Sammlung hinzuf\u00fcgen", @@ -86,11 +100,11 @@ "SearchForMissingMetadata": "Suche nach fehlenden Metadaten", "LabelRefreshMode": "Aktualisierungsmodus:", "NoItemsFound": "Keine Eintr\u00e4ge gefunden.", - "HeaderSaySomethingLike": "Sagen Sie etwas wie...", + "HeaderSaySomethingLike": "Sage etwas wie...", "ButtonTryAgain": "Erneut versuchen", - "HeaderYouSaid": "Sie sagten....", + "HeaderYouSaid": "Du sagtest...", "MessageWeDidntRecognizeCommand": "Entschuldigung, dieses Kommando konnten wir nicht erkennen.", - "MessageIfYouBlockedVoice": "Wenn Sie die Sprachsteuerung f\u00fcr die App nicht erlaubt haben so m\u00fcssen Sie dies zuvor \u00e4ndern bevor Sie es erneut probieren.", + "MessageIfYouBlockedVoice": "Wenn du die Sprachsteuerung f\u00fcr die App nicht erlaubt hast, musst du dies vor einem erneuten Versuch \u00e4ndern.", "ValueDiscNumber": "Disc {0}", "Unrated": "Nicht bewertet", "Favorite": "Favorit", @@ -120,7 +134,7 @@ "GroupVersions": "Gruppiere Versionen", "PleaseSelectTwoItems": "Bitte w\u00e4hle mindestens zwei Optionen aus.", "TryMultiSelect": "Versuche Mehrfachauswahl", - "TryMultiSelectMessage": "F\u00fcr eine Mehrfachauswahl klicken und halten Sie ein Poster. W\u00e4hlen Sie die Eintr\u00e4ge die Sie bearbeiten m\u00f6chten. Versuchen SIe es!", + "TryMultiSelectMessage": "F\u00fcr eine Mehrfachauswahl klicke und halte ein Poster. W\u00e4hle die Eintr\u00e4ge die du bearbeiten m\u00f6chten. Versuch es!", "HeaderConfirmRecordingCancellation": "Best\u00e4tige Aufzeichnungsabbruch", "MessageConfirmRecordingCancellation": "Bis du dir sicher, diese Aufzeichnung abzubrechen?", "Error": "Fehler", @@ -131,7 +145,7 @@ "LabelOriginalTitle": "Original Titel:", "LabelSortTitle": "Sortierungs Titel:", "LabelDateAdded": "Hinzugef\u00fcgt am:", - "ConfigureDateAdded": "Bestimmen Sie in den Bibliotheks-Einstellungen des Emby Server Dashboards, wie das Feld \"Hinzugef\u00fcgt am\" interpretiert werden soll.", + "ConfigureDateAdded": "Bestimme in den Bibliotheks-Einstellungen des Emby Server Dashboards, wie das Feld \"Hinzugef\u00fcgt am\" interpretiert werden soll.", "LabelStatus": "Status:", "LabelArtists": "Interpreten:", "LabelArtistsHelp": "Trenne mehrere Eintr\u00e4ge durch ;", @@ -199,7 +213,7 @@ "Continuing": "Fortdauernd", "Ended": "Beendent", "HeaderEnabledFields": "Aktiviere Felder", - "HeaderEnabledFieldsHelp": "W\u00e4hlen Sie Felder ab um das \u00c4ndern von Daten zu verhindern.", + "HeaderEnabledFieldsHelp": "W\u00e4hle Felder ab um das \u00c4ndern von Daten zu verhindern.", "Backdrops": "Hintergr\u00fcnde", "Images": "Bilder", "Keywords": "Stichworte", @@ -222,7 +236,7 @@ "PackageInstallCompleted": "{0} Installation abgeschlossen", "PackageInstallFailed": "{0} Installation fehlgeschlagen", "PackageInstallCancelled": "{0} Installation abgebrochen", - "SeriesYearToPresent": "{0}-heute", + "SeriesYearToPresent": "{0}-Heute", "ValueOneSong": "1 Lied", "ValueSongCount": "{0} Lieder", "ValueOneMovie": "1 Film", @@ -247,13 +261,13 @@ "ServerNameIsRestarting": "Emby Server - {0} startet neu.", "ServerNameIsShuttingDown": "Emby Server - {0} f\u00e4hrt herunter.", "HeaderDeleteItems": "L\u00f6sche Objekte", - "ConfirmDeleteItems": "Das L\u00f6schen dieser Objekte l\u00f6scht die Dateien vom Laufwerk und Ihrer Medienbibliothek. Sind Sie sich wirklich sicher?", + "ConfirmDeleteItems": "Das L\u00f6schen dieser Objekte l\u00f6scht die Dateien vom Laufwerk und in deiner Medienbibliothek. Bist du wirklich sicher?", "PleaseRestartServerName": "Bitte starte Emby Server - {0} neu.", "SyncJobCreated": "Synchronisations-Aufgabe erstellt.", "LabelSyncTo": "Synchronisiere mit:", "LabelSyncJobName": "Synchronisations-Aufgabe:", "LabelQuality": "Qualit\u00e4t:", - "LabelSyncNoTargetsHelp": "Es sieht so aus als w\u00fcrden Sie aktuell keine Apps verwenden, die Synchronisation unterst\u00fctzen.", + "LabelSyncNoTargetsHelp": "Es sieht so aus als w\u00fcrdest du aktuell keine Apps verwenden, die Synchronisation unterst\u00fctzen.", "DownloadScheduled": "Download geplant", "LearnMore": "Erfahre mehr", "LabelProfile": "Profil:", @@ -263,8 +277,8 @@ "AutomaticallySyncNewContent": "Synchronisiere neue Inhalte automatisch", "AutomaticallySyncNewContentHelp": "Neu zu diesem Ordner hinzugef\u00fcgte Inhalte werden automatisch mit dem Ger\u00e4t synchronisiert.", "LabelItemLimit": "Maximale Anzahl:", - "LabelItemLimitHelp": "Optional. Legen Sie die maximale Anzahl der zu synchronisierenden Eintr\u00e4ge fest.", - "PleaseSelectDeviceToSyncTo": "Bitte w\u00e4hlen Sie ein zu synchronisierendes Ger\u00e4t.", + "LabelItemLimitHelp": "Optional. Lege die maximale Anzahl der zu synchronisierenden Eintr\u00e4ge fest.", + "PleaseSelectDeviceToSyncTo": "Bitte w\u00e4hle ein zu synchronisierendes Ger\u00e4t.", "Screenshots": "Screenshots", "MoveRight": "Nach rechts bewegen", "MoveLeft": "Nach links bewegen", @@ -320,5 +334,21 @@ "SortChannelsBy": "Sortiere Kan\u00e4le nach:", "RecentlyWatched": "K\u00fcrzlich gesehen", "ChannelNumber": "Kanalnummer", - "PlaceFavoriteChannelsAtBeginning": "Platziere favorisierte Kan\u00e4le am Anfang" + "HeaderBenefitsEmbyPremiere": "Vorteile von Emby Premiere", + "ThankYouForTryingEnjoyOneMinute": "Genie\u00dfe eine Minute Wiedergabe. Danke, dass du Emby ausprobierst.", + "HeaderTryPlayback": "Wiedergabe ausprobieren", + "HowDidYouPay": "Wie hast Du bezahlt?", + "IHaveEmbyPremiere": "Ich besitze Emby Premiere", + "IPurchasedThisApp": "Ich habe diese App gekauft", + "ButtonRestorePreviousPurchase": "Kauf wiederherstellen", + "ButtonUnlockWithPurchase": "Freischalten durch Kauf", + "ButtonUnlockPrice": "{0} freischalten", + "ButtonAlreadyPaid": "Schon bezahlt?", + "ButtonPlayOneMinute": "Eine Minute wiedergeben", + "PlaceFavoriteChannelsAtBeginning": "Platziere favorisierte Kan\u00e4le am Anfang", + "HeaderUnlockFeature": "Feature freischalten", + "MessageDidYouKnowCinemaMode": "Wusstest du schon, das du mit Emby Premiere dein Erlebnis mit Funktionen wie dem Kino-Modus noch verbessern kannst?", + "MessageDidYouKnowCinemaMode2": "Der Kino-Modus bringt das richtige Kino-Erlebnis nach Hause, mit Trailern und eigenen Intros vor deinem Hauptfilm.", + "HeaderPlayMyMedia": "Spiele meine Medien ab", + "HeaderDiscoverEmbyPremiere": "Entdecke Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/el.json b/dashboard-ui/bower_components/emby-webcomponents/strings/el.json index f293139d8e..245a48d5bf 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/el.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/el.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/en-GB.json b/dashboard-ui/bower_components/emby-webcomponents/strings/en-GB.json index 42de62ba75..22303fdf56 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/en-GB.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/en-GB.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/en-US.json b/dashboard-ui/bower_components/emby-webcomponents/strings/en-US.json index 02aed2edb9..1555638187 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/en-US.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/en-US.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/es-AR.json b/dashboard-ui/bower_components/emby-webcomponents/strings/es-AR.json index bb9ac2cd3a..a9d43cb508 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/es-AR.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/es-AR.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/es-MX.json b/dashboard-ui/bower_components/emby-webcomponents/strings/es-MX.json index d05e5ce5ec..23b30a051f 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/es-MX.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/es-MX.json @@ -1,4 +1,7 @@ { + "MessageUnlockAppWithPurchaseOrSupporter": "Desbloquee esta caracter\u00edstica con una peque\u00f1a compra \u00fanica, o con una suscripci\u00f3n activa de Emby Premier.", + "MessageUnlockAppWithSupporter": "Desbloquee esta caracter\u00edstica con una suscripci\u00f3n activa de Emby Premier.", + "MessageToValidateSupporter": "Si tiene una subscripci\u00f3n de Emby Premiere activa, aseg\u00farese de que ha configurado Emby Premiere en el Panel de Control del Servidor Emby, al cual puede acceder dando click en Emby Premiere dentro del men\u00fa principal.", "ValueSpecialEpisodeName": "Especial - {0}", "Share": "Compartir", "Add": "Agregar", @@ -26,7 +29,7 @@ "ButtonGotIt": "Hecho", "ButtonRestart": "Reiniciar", "RecordingCancelled": "Grabaci\u00f3n cancelada.", - "SeriesCancelled": "Series cancelled.", + "SeriesCancelled": "Serie cancelada.", "RecordingScheduled": "Grabaci\u00f3n programada.", "SeriesRecordingScheduled": "Grabaci\u00f3n de series programadas.", "HeaderNewRecording": "Nueva Grabaci\u00f3n", @@ -39,8 +42,19 @@ "Saturday": "S\u00e1bado", "Days": "D\u00edas", "RecordSeries": "Grabar Series", + "HeaderCinemaMode": "Modo Cine", + "HeaderCloudSync": "Sinc. en la Nube", + "HeaderOfflineDownloads": "Medios sin conexion", + "HeaderOfflineDownloadsDescription": "Descargue sus medios en su dispositivo para f\u00e1cil uso mientras esta desconectado.", + "CloudSyncFeatureDescription": "Sincronice sus medios a la nube para un f\u00e1cil respaldo, archivo y conversi\u00f3n.", + "CoverArtFeatureDescription": "Cover Art crea divertidas caratulas y da otros tratamientos para ayudar a personalizar las im\u00e1genes de sus medios.", + "CoverArt": "Cover Art", + "CinemaModeFeatureDescription": "El Modo Cine le da una verdadera experiencia de cine con trailers e intros personalizados antes de la funci\u00f3n.", + "HeaderFreeApps": "Aplicaciones Emby Gratuitas", + "FreeAppsFeatureDescription": "Disfrute acceso gratuito para elegir aplicaciones Emby para sus dispositivos.", "HeaderBecomeProjectSupporter": "Obtener Emby Premier", "MessageActiveSubscriptionRequiredSeriesRecordings": "Se requiere de una suscripci\u00f3n de Emby Premier para crear grabaciones automatizadas de series.", + "LabelEmailAddress": "Direcci\u00f3n de correo:", "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", @@ -222,7 +236,7 @@ "PackageInstallCompleted": "{0} instalaci\u00f3n completada.", "PackageInstallFailed": "{0} instalaci\u00f3n fallida.", "PackageInstallCancelled": "{0} instalaci\u00f3n cancelada.", - "SeriesYearToPresent": "{0}-Presente", + "SeriesYearToPresent": "{0} - Actualidad", "ValueOneSong": "1 canci\u00f3n", "ValueSongCount": "{0} canciones", "ValueOneMovie": "1 pel\u00edcula", @@ -279,10 +293,10 @@ "RepeatEpisodes": "Repetir episodios", "DvrSubscriptionRequired": "Emby DVR necesita una suscripci\u00f3n activa de Emby Premiere.", "HeaderCancelRecording": "Cancelar Grabaci\u00f3n", - "CancelRecording": "Cancel recording", + "CancelRecording": "Cancelar grabaci\u00f3n", "HeaderKeepRecording": "Conservar Grabaciones", - "HeaderCancelSeries": "Cancel Series", - "HeaderKeepSeries": "Keep Series", + "HeaderCancelSeries": "Cancelar Serie", + "HeaderKeepSeries": "Conservar Serie", "HeaderLearnMore": "Aprenda m\u00e1s", "DeleteMedia": "Eliminar medios", "SeriesSettings": "Configuraci\u00f3n de la Serie", @@ -320,5 +334,21 @@ "SortChannelsBy": "Ordenar canales por:", "RecentlyWatched": "Visto recientemente", "ChannelNumber": "Numero de canal", - "PlaceFavoriteChannelsAtBeginning": "Colocar canales favoritos al inicio" + "HeaderBenefitsEmbyPremiere": "Beneficios de Emby Premier", + "ThankYouForTryingEnjoyOneMinute": "Por favor disfrute de un minuto de reproducci\u00f3n. Gracias por probar Emby.", + "HeaderTryPlayback": "Intente Reproducir", + "HowDidYouPay": "\u00bfCual sera su forma de pago?", + "IHaveEmbyPremiere": "Ya cuento con Emby Premiere", + "IPurchasedThisApp": "Ya he comprado esta app", + "ButtonRestorePreviousPurchase": "Restaurar Compra", + "ButtonUnlockWithPurchase": "Desbloquear con una Compra", + "ButtonUnlockPrice": "Desbloquear {0}", + "ButtonAlreadyPaid": "\u00bfYa esta pagado?", + "ButtonPlayOneMinute": "Reproducir un minuto", + "PlaceFavoriteChannelsAtBeginning": "Colocar canales favoritos al inicio", + "HeaderUnlockFeature": "Desbloquear Caracter\u00edstica", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/es.json b/dashboard-ui/bower_components/emby-webcomponents/strings/es.json index 020f37b034..f0a7a90e9c 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/es.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/es.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/fi.json b/dashboard-ui/bower_components/emby-webcomponents/strings/fi.json index 40b01a08da..a2883f0c74 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/fi.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/fi.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/fr-CA.json b/dashboard-ui/bower_components/emby-webcomponents/strings/fr-CA.json index 9186758612..dd326aba61 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/fr-CA.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/fr-CA.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/fr.json b/dashboard-ui/bower_components/emby-webcomponents/strings/fr.json index cdce1c8a4e..c405636448 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/fr.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/fr.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/gsw.json b/dashboard-ui/bower_components/emby-webcomponents/strings/gsw.json index d2e8f226ac..c7c7ca7138 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/gsw.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/gsw.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/he.json b/dashboard-ui/bower_components/emby-webcomponents/strings/he.json index 4725aee8b5..57aa6f897b 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/he.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/he.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/hr.json b/dashboard-ui/bower_components/emby-webcomponents/strings/hr.json index e5cd34f89b..c48efa338f 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/hr.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/hr.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/hu.json b/dashboard-ui/bower_components/emby-webcomponents/strings/hu.json index 165b2e1046..190a071c58 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/hu.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/hu.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/id.json b/dashboard-ui/bower_components/emby-webcomponents/strings/id.json index 7a372dc002..32103f1e68 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/id.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/id.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/it.json b/dashboard-ui/bower_components/emby-webcomponents/strings/it.json index 16ec1e9963..cb347bab70 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/it.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/it.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/kk.json b/dashboard-ui/bower_components/emby-webcomponents/strings/kk.json index b0a69fec7f..f78c5854ea 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/kk.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/kk.json @@ -1,4 +1,7 @@ { + "MessageUnlockAppWithPurchaseOrSupporter": "\u041e\u0441\u044b \u049b\u04b1\u0440\u0430\u043c\u0434\u0430\u0441\u0442\u044b \u0431\u0456\u0440 \u0436\u043e\u043b\u0493\u044b \u0441\u0430\u0442\u044b\u043f \u0430\u043b\u0443, \u043d\u0435\u043c\u0435\u0441\u0435 \u0431\u0435\u043b\u0441\u0435\u043d\u0434\u0456 Emby Premiere \u0436\u0430\u0437\u044b\u043b\u044b\u043c\u044b \u0430\u0440\u049b\u044b\u043b\u044b \u049b\u04b1\u0440\u0441\u0430\u0443\u0434\u0430\u043d \u0431\u043e\u0441\u0430\u0442\u0443.", + "MessageUnlockAppWithSupporter": "\u041e\u0441\u044b \u049b\u04b1\u0440\u0430\u043c\u0434\u0430\u0441\u0442\u044b \u0431\u0435\u043b\u0441\u0435\u043d\u0434\u0456 Emby Premiere \u0436\u0430\u0437\u044b\u043b\u044b\u043c\u044b \u0430\u0440\u049b\u044b\u043b\u044b \u049b\u04b1\u0440\u0441\u0430\u0443\u0434\u0430\u043d \u0431\u043e\u0441\u0430\u0442\u0443.", + "MessageToValidateSupporter": "\u0415\u0433\u0435\u0440 \u0441\u0456\u0437\u0434\u0435 \u0431\u0435\u043b\u0441\u0435\u043d\u0434\u0456 Emby Premiere \u0436\u0430\u0437\u044b\u043b\u044b\u043c\u044b \u0431\u043e\u043b\u0441\u0430, Emby Server \u0442\u0430\u049b\u0442\u0430\u0441\u044b\u043d\u0434\u0430\u0493\u044b Emby Premiere \u043e\u0440\u043d\u0430\u0442\u044b\u043b\u044b\u043f \u0442\u0435\u04a3\u0448\u0435\u043b\u0433\u0435\u043d\u0456\u043d\u0435 \u043a\u04e9\u0437 \u0436\u0435\u0442\u043a\u0456\u0437\u0456\u04a3\u0456\u0437. \u0411\u04b1\u043b \u0431\u0430\u0441\u0442\u044b \u043c\u04d9\u0437\u0456\u0440\u0434\u0435 Emby Premiere \u0434\u0435\u0433\u0435\u043d\u0434\u0456 \u043d\u04b1\u049b\u044b\u043f \u049b\u0430\u0442\u044b\u043d\u0430\u0443\u043b\u044b.", "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": "\u041a\u0438\u043d\u043e\u0442\u0435\u0430\u0442\u0440 \u0440\u0435\u0436\u0456\u043c\u0456", + "HeaderCloudSync": "\u0411\u04b1\u043b\u0442 \u04af\u043d\u0434\u0435\u0441\u0442\u0456\u0440\u0443", + "HeaderOfflineDownloads": "\u0414\u0435\u0440\u0431\u0435\u0441 \u0442\u0430\u0441\u044b\u0493\u044b\u0448\u0434\u0435\u0440\u0435\u043a", + "HeaderOfflineDownloadsDescription": "\u041e\u04a3\u0430\u0439 \u0434\u0435\u0440\u0431\u0435\u0441 \u049b\u043e\u043b\u0434\u0430\u043d\u0443 \u04af\u0448\u0456\u043d \u049b\u04b1\u0440\u044b\u043b\u0493\u044b\u043b\u0430\u0440\u044b\u04a3\u044b\u0437\u0493\u0430 \u0442\u0430\u0441\u044b\u0493\u044b\u0448\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u0436\u04af\u043a\u0442\u0435\u043f \u0430\u043b\u044b\u04a3\u044b\u0437.", + "CloudSyncFeatureDescription": "\u0421\u0430\u049b\u0442\u044b\u049b \u043a\u04e9\u0448\u0456\u0440\u043c\u0435\u043d\u0456, \u043c\u04b1\u0440\u0430\u0493\u0430\u0442\u0442\u0430\u0443\u0434\u044b \u0436\u04d9\u043d\u0435 \u0442\u04af\u0440\u043b\u0435\u043d\u0434\u0456\u0440\u0443\u0434\u0456 \u0436\u0435\u04a3\u0456\u043b\u0434\u0435\u0442\u0443 \u04af\u0448\u0456\u043d \u0442\u0430\u0441\u044b\u0493\u044b\u0448 \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u0431\u04b1\u043b\u0442\u043f\u0435\u043d \u04af\u043d\u0434\u0435\u0441\u0442\u0456\u0440\u0456\u04a3\u0456\u0437.", + "CoverArtFeatureDescription": "\u0422\u0430\u0441\u044b\u0493\u044b\u0448 \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440\u0456\u043d \u0436\u0435\u043a\u0435\u043b\u0435\u0443\u0433\u0435 \u043a\u04e9\u043c\u0435\u043a\u0442\u0435\u0441\u0443 \u04af\u0448\u0456\u043d Cover Art \u049b\u044b\u0437\u044b\u049b\u0442\u044b \u043c\u04b1\u049b\u0430\u0431\u0430\u043b\u0430\u0440\u0434\u044b \u0436\u04d9\u043d\u0435 \u0431\u0430\u0441\u049b\u0430 \u0434\u0430 \u04e9\u04a3\u0434\u0435\u0442\u0443\u043b\u0435\u0440\u0434\u0456 \u0436\u0430\u0441\u0430\u0439\u0434\u044b.", + "CoverArt": "Cover Art", + "CinemaModeFeatureDescription": "\u041a\u0438\u043d\u043e\u0442\u0435\u0430\u0442\u0440 \u0440\u0435\u0436\u0456\u043c\u0456 \u0442\u0440\u0435\u0439\u043b\u0435\u0440\u043b\u0435\u0440\u0434\u0456 \u0436\u04d9\u043d\u0435 \u0442\u0435\u04a3\u0448\u0435\u043b\u0433\u0435\u043d \u043a\u04e9\u0440\u043d\u0435\u0443\u0434\u0456 \u0444\u0438\u043b\u044c\u043c \u0430\u043b\u0434\u044b\u043d\u0434\u0430 \u043e\u0439\u043d\u0430\u0442\u0443 \u043a\u0438\u043d\u043e\u0437\u0430\u043b \u04d9\u0441\u0435\u0440\u0456\u043d \u0436\u0435\u0442\u043a\u0456\u0437\u0435\u0434\u0456.", + "HeaderFreeApps": "\u0422\u0435\u0433\u0456\u043d Emby \u049b\u043e\u043b\u0434\u0430\u043d\u0431\u0430\u043b\u0430\u0440\u044b", + "FreeAppsFeatureDescription": "\u049a\u04b1\u0440\u044b\u043b\u0493\u044b\u043b\u0430\u0440\u044b\u04a3\u044b\u0437 \u04af\u0448\u0456\u043d Emby-\u049b\u043e\u043b\u0434\u0430\u043d\u0431\u0430\u043b\u0430\u0440\u044b\u043d\u0430 \u0442\u0435\u0433\u0456\u043d \u049b\u0430\u0442\u044b\u043d\u0430\u04a3\u044b\u0437.", "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": "\u042d-\u043f\u043e\u0448\u0442\u0430 \u043c\u0435\u043a\u0435\u043d\u0436\u0430\u0439\u044b:", "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,21 @@ "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": "Emby Premiere \u0430\u0440\u0442\u044b\u049b\u0448\u044b\u043b\u044b\u049b\u0442\u0430\u0440\u044b", + "ThankYouForTryingEnjoyOneMinute": "\u0411\u0456\u0440 \u043c\u0438\u043d\u04e9\u0442 \u043e\u0439\u043d\u0430\u0442\u0443\u0434\u044b \u0442\u0430\u043c\u0430\u0448\u0430\u043b\u0430\u04a3\u044b\u0437. Emby \u0441\u044b\u043d\u0430\u043f \u043a\u04e9\u0440\u0433\u0435\u043d\u0456\u04a3\u0456\u0437\u0433\u0435 \u0440\u0430\u049b\u043c\u0435\u0442.", + "HeaderTryPlayback": "\u041e\u0439\u043d\u0430\u0442\u0443\u0434\u044b \u0441\u044b\u043d\u0430\u043f \u043a\u04e9\u0440\u0456\u04a3\u0456\u0437", + "HowDidYouPay": "\u049a\u0430\u043b\u0430\u0439 \u0442\u04e9\u043b\u0435\u0434\u0456\u04a3\u0456\u0437?", + "IHaveEmbyPremiere": "\u041c\u0435\u043d\u0434\u0435 Emby Premiere \u0431\u0430\u0440", + "IPurchasedThisApp": "\u041c\u0435\u043d \u043e\u0441\u044b \u049b\u043e\u043b\u0434\u0430\u043d\u0431\u0430\u043d\u044b \u0441\u0430\u0442\u044b\u043f \u0430\u043b\u0434\u044b\u043c", + "ButtonRestorePreviousPurchase": "\u0421\u0430\u0442\u044b\u043f \u0430\u043b\u0493\u0430\u043d\u0434\u044b \u049b\u0430\u043b\u043f\u044b\u043d\u0430 \u043a\u0435\u043b\u0442\u0456\u0440\u0443", + "ButtonUnlockWithPurchase": "\u0421\u0430\u0442\u044b\u043f \u0430\u043b\u0443\u043c\u0435\u043d \u049b\u04b1\u0440\u0441\u0430\u0443\u0434\u0430\u043d \u0431\u043e\u0441\u0430\u0442\u0443", + "ButtonUnlockPrice": "{0} \u049b\u04b1\u043b\u044b\u043f\u0442\u0430\u043c\u0430\u0443", + "ButtonAlreadyPaid": "\u04d8\u043b\u0434\u0435\u049b\u0430\u0448\u0430\u043d \u0442\u04e9\u043b\u0435\u043d\u0434\u0456 \u043c\u0435?", + "ButtonPlayOneMinute": "\u0411\u0456\u0440 \u043c\u0438\u043d\u04e9\u0442 \u043e\u0439\u043d\u0430\u0442\u0443", + "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": "\u0410\u0440\u0442\u044b\u049b\u0448\u044b\u043b\u044b\u049b \u049b\u04b1\u0440\u0441\u0430\u0443\u044b\u043d \u0431\u043e\u0441\u0430\u0442\u0443", + "MessageDidYouKnowCinemaMode": "Emby Premiere \u0430\u0440\u049b\u044b\u043b\u044b, \u041a\u0438\u043d\u043e\u0442\u0435\u0430\u0442\u0440 \u0440\u0435\u0436\u0456\u043c\u0456 \u0441\u0438\u044f\u049b\u0442\u044b \u049b\u04b1\u0440\u0430\u043c\u0434\u0430\u0441\u0442\u0430\u0440\u043c\u0435\u043d \u0442\u04d9\u0436\u0456\u0440\u0438\u0431\u0435\u04a3\u0456\u0437\u0434\u0456 \u0436\u0430\u049b\u0441\u0430\u0440\u0442\u0443\u044b\u04a3\u044b\u0437 \u043c\u04af\u043c\u043a\u0456\u043d \u0442\u0443\u0440\u0430\u043b\u044b \u0431\u0456\u043b\u0435\u0441\u0456\u0437 \u0431\u0435?", + "MessageDidYouKnowCinemaMode2": "\u041a\u0438\u043d\u043e\u0442\u0435\u0430\u0442\u0440 \u0440\u0435\u0436\u0456\u043c\u0456 \u0442\u0440\u0435\u0439\u043b\u0435\u0440\u043b\u0435\u0440\u0434\u0456 \u0436\u04d9\u043d\u0435 \u0442\u0435\u04a3\u0448\u0435\u043b\u0433\u0435\u043d \u043a\u04e9\u0440\u043d\u0435\u0443\u0434\u0456 \u043d\u0435\u0433\u0456\u0437\u0433\u0456 \u0444\u0438\u043b\u044c\u043c \u0430\u043b\u0434\u044b\u043d\u0434\u0430 \u043e\u0439\u043d\u0430\u0442\u0443 \u043a\u0438\u043d\u043e\u0437\u0430\u043b \u04d9\u0441\u0435\u0440\u0456\u043d \u0436\u0435\u0442\u043a\u0456\u0437\u0435\u0434\u0456.", + "HeaderPlayMyMedia": "\u041c\u0435\u043d\u0456\u04a3 \u0442\u0430\u0441\u044b\u0493\u044b\u0448\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0456\u043c\u0434\u0456 \u043e\u0439\u043d\u0430\u0442\u0443", + "HeaderDiscoverEmbyPremiere": "Emby Premiere \u0430\u0448\u044b\u04a3\u044b\u0437" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/ko.json b/dashboard-ui/bower_components/emby-webcomponents/strings/ko.json index ebc98bd46e..0b03e09876 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/ko.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/ko.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/ms.json b/dashboard-ui/bower_components/emby-webcomponents/strings/ms.json index 9186758612..dd326aba61 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/ms.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/ms.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/nb.json b/dashboard-ui/bower_components/emby-webcomponents/strings/nb.json index 8f604ea2fe..d1e1f76f4c 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/nb.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/nb.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/nl.json b/dashboard-ui/bower_components/emby-webcomponents/strings/nl.json index c1694a817b..97324e3fcd 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/nl.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/nl.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/pl.json b/dashboard-ui/bower_components/emby-webcomponents/strings/pl.json index a37d4e0638..8e8927cae5 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/pl.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/pl.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/pt-BR.json b/dashboard-ui/bower_components/emby-webcomponents/strings/pt-BR.json index 6ab7d6e031..63565c0ea0 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/pt-BR.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/pt-BR.json @@ -1,4 +1,7 @@ { + "MessageUnlockAppWithPurchaseOrSupporter": "Desbloqueie esta funcionalidade com uma pequena compra \u00fanica, ou com uma assinatura ativa do Emby Premiere.", + "MessageUnlockAppWithSupporter": "Desbloqueie esta funcionalidade com uma assinatura ativa do Emby Premiere.", + "MessageToValidateSupporter": "Se tiver uma assinatura ativa do Emby Premiere, assegure-se que configurou o Emby Premiere no Painel do Servidor Emby, que pode ser acessado clicando Emby Premiere no menu principal.", "ValueSpecialEpisodeName": "Especial - {0}", "Share": "Compartilhar", "Add": "Adicionar", @@ -39,8 +42,19 @@ "Saturday": "S\u00e1bado", "Days": "Dias", "RecordSeries": "Gravar s\u00e9rie", + "HeaderCinemaMode": "Modo Cinema", + "HeaderCloudSync": "Sincroniza\u00e7\u00e3o na Nuvem", + "HeaderOfflineDownloads": "M\u00eddia Offline", + "HeaderOfflineDownloadsDescription": "Download sua m\u00eddia para seus dispositivos para uso offline f\u00e1cil.", + "CloudSyncFeatureDescription": "Sincronize sua m\u00eddia para a nuvem para backup, arquivamento e convers\u00e3o f\u00e1ceis.", + "CoverArtFeatureDescription": "Arta da Capa cria capas divertidas e d\u00e1 outros tratamentos para ajudar na personaliza\u00e7\u00e3o das imagens da sua m\u00eddia.", + "CoverArt": "Arta da Capa", + "CinemaModeFeatureDescription": "Modo Cinema oferece a voc\u00ea uma verdadeira experi\u00eancia de cinema com trailers e intros customizados antes da funcionalidade.", + "HeaderFreeApps": "Apps Emby gr\u00e1tis", + "FreeAppsFeatureDescription": "Aproveite acesso gr\u00e1tis a apps Emby para seus dispositivos.", "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": "Endere\u00e7o de E-mail:", "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", @@ -279,7 +293,7 @@ "RepeatEpisodes": "Repetir epis\u00f3dios", "DvrSubscriptionRequired": "Emby DVR requer uma assinatura ativa do Emby Premiere", "HeaderCancelRecording": "Cancelar Grava\u00e7\u00e3o", - "CancelRecording": "Cancel recording", + "CancelRecording": "Cancelar grava\u00e7\u00e3o", "HeaderKeepRecording": "Continuar Gravando", "HeaderCancelSeries": "Cancelar S\u00e9rie", "HeaderKeepSeries": "Manter S\u00e9rie", @@ -320,5 +334,21 @@ "SortChannelsBy": "Ordenar canais por:", "RecentlyWatched": "Assistido recentemente", "ChannelNumber": "N\u00famero do canal", - "PlaceFavoriteChannelsAtBeginning": "Colocar canais favoritos no in\u00edcio" + "HeaderBenefitsEmbyPremiere": "Benef\u00edcios do Emby Premiere", + "ThankYouForTryingEnjoyOneMinute": "Por favor aproveite um minuto de reprodu\u00e7\u00e3o. Obrigado por testar Emby.", + "HeaderTryPlayback": "Testar Reprodu\u00e7\u00e3o", + "HowDidYouPay": "Como voc\u00ea pagou?", + "IHaveEmbyPremiere": "Eu tenho Emby Premiere", + "IPurchasedThisApp": "Eu comprei este app", + "ButtonRestorePreviousPurchase": "Recuperar Compra", + "ButtonUnlockWithPurchase": "Desbloquear com Compra", + "ButtonUnlockPrice": "Desbloquear {0}", + "ButtonAlreadyPaid": "J\u00e1 pagou?", + "ButtonPlayOneMinute": "Reproduzir Um Minuto", + "PlaceFavoriteChannelsAtBeginning": "Colocar canais favoritos no in\u00edcio", + "HeaderUnlockFeature": "Desbloquear Funcionalidade", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/pt-PT.json b/dashboard-ui/bower_components/emby-webcomponents/strings/pt-PT.json index b9276cb616..155ea758f5 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/pt-PT.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/pt-PT.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/ro.json b/dashboard-ui/bower_components/emby-webcomponents/strings/ro.json index 3405eac772..28965be69c 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/ro.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/ro.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/ru.json b/dashboard-ui/bower_components/emby-webcomponents/strings/ru.json index b014349677..602db8c7f7 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/ru.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/ru.json @@ -1,4 +1,7 @@ { + "MessageUnlockAppWithPurchaseOrSupporter": "\u0420\u0430\u0437\u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0439\u0442\u0435 \u0434\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043e\u0434\u043d\u043e\u0440\u0430\u0437\u043e\u0432\u043e\u0439 \u043e\u043f\u043b\u0430\u0442\u044b, \u0438\u043b\u0438 \u0441 \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u043e\u0439 Emby Premiere .", + "MessageUnlockAppWithSupporter": "\u0420\u0430\u0437\u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0439\u0442\u0435 \u0434\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0441 \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u043e\u0439 Emby Premiere.", + "MessageToValidateSupporter": "\u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0438\u043c\u0435\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, \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e Emby Premiere \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u0432 \u0432\u0430\u0448\u0435\u0439 \u041f\u0430\u043d\u0435\u043b\u0438 Emby Server, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u043f\u043e \u0449\u0435\u043b\u0447\u043a\u0443 \u043f\u043e Emby Premiere \u0432 \u0433\u043b\u0430\u0432\u043d\u043e\u043c \u043c\u0435\u043d\u044e.", "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": "\u0420\u0435\u0436\u0438\u043c \u043a\u0438\u043d\u043e\u0437\u0430\u043b\u0430", + "HeaderCloudSync": "\u041e\u0431\u043b\u0430\u0447\u043d\u0430\u044f \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044f", + "HeaderOfflineDownloads": "\u0410\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0435 \u043c\u0435\u0434\u0438\u0430\u0434\u0430\u043d\u043d\u044b\u0435", + "HeaderOfflineDownloadsDescription": "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043c\u0435\u0434\u0438\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u0432\u0430\u0448\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435.", + "CloudSyncFeatureDescription": "\u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u0432\u0430\u0448\u0438\u0445 \u043c\u0435\u0434\u0438\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u043e\u0431\u043b\u0430\u043a\u043e\u043c \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0438\u0445 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0430\u0440\u0445\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f.", + "CoverArtFeatureDescription": "Cover Art \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043e\u0431\u043b\u043e\u0436\u043a\u0438 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043c\u043e\u0447\u044c \u0432\u0430\u043c \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0438\u0441\u0443\u043d\u043a\u0438 \u043a \u0432\u0430\u0448\u0438\u043c \u043c\u0435\u0434\u0438\u0430\u0434\u0430\u043d\u043d\u044b\u043c.", + "CoverArt": "Cover Art", + "CinemaModeFeatureDescription": "\u0420\u0435\u0436\u0438\u043c \u043a\u0438\u043d\u043e\u0437\u0430\u043b\u0430 \u0434\u0430\u0441\u0442 \u0432\u0430\u043c \u044d\u0444\u0444\u0435\u043a\u0442 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0433\u043e \u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0437\u0430\u043b\u0430 \u0441 \u0442\u0440\u0435\u0439\u043b\u0435\u0440\u0430\u043c\u0438 \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u043c\u0438 \u0437\u0430\u0441\u0442\u0430\u0432\u043a\u0430\u043c\u0438 \u043f\u0435\u0440\u0435\u0434 \u0444\u0438\u043b\u044c\u043c\u043e\u043c.", + "HeaderFreeApps": "\u0411\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0435 Emby-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f", + "FreeAppsFeatureDescription": "\u0412\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435\u0441\u044c \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c \u043a Emby-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c \u0434\u043b\u044f \u0432\u0430\u0448\u0438\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432.", "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": "\u0410\u0434\u0440\u0435\u0441 \u042d-\u043f\u043e\u0447\u0442\u044b:", "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,21 @@ "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": "\u041a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b Emby Premiere", + "ThankYouForTryingEnjoyOneMinute": "\u0412\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435\u0441\u044c \u043e\u0434\u043d\u043e\u0439 \u043c\u0438\u043d\u0443\u0442\u043e\u0439 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u0438\u043c \u0432\u0430\u0441 \u0437\u0430 \u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043d\u0438\u0435 Emby.", + "HeaderTryPlayback": "\u041e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435", + "HowDidYouPay": "\u041a\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0432\u044b \u043e\u043f\u043b\u0430\u0442\u0438\u043b\u0438?", + "IHaveEmbyPremiere": "\u0423 \u043c\u0435\u043d\u044f \u0438\u043c\u0435\u0435\u0442\u0441\u044f Emby Premiere", + "IPurchasedThisApp": "\u042f \u043f\u0440\u0438\u043e\u0431\u0440\u0451\u043b \u0434\u0430\u043d\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435", + "ButtonRestorePreviousPurchase": "\u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0440\u0438\u043e\u0431\u0440\u0435\u0442\u0435\u043d\u0438\u0435", + "ButtonUnlockWithPurchase": "\u0420\u0430\u0437\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c \u043e\u043f\u043b\u0430\u0442\u044b", + "ButtonUnlockPrice": "\u0420\u0430\u0437\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c {0}", + "ButtonAlreadyPaid": "\u0423\u0436\u0435 \u043e\u043f\u043b\u0430\u0442\u0438\u043b\u0438?", + "ButtonPlayOneMinute": "\u0412\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u043e\u0434\u043d\u0443 \u043c\u0438\u043d\u0443\u0442\u0443", + "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": "\u0420\u0430\u0437\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0443", + "MessageDidYouKnowCinemaMode": "\u0417\u043d\u0430\u0435\u0442\u0435 \u043b\u0438 \u0432\u044b, \u0447\u0442\u043e \u0441 Emby Premiere \u0432\u044b \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0438\u0442\u044c \u044d\u0444\u0444\u0435\u043a\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c\u0438 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u043c\u0438 \u0420\u0435\u0436\u0438\u043c\u0443 \u043a\u0438\u043d\u043e\u0437\u0430\u043b\u0430?", + "MessageDidYouKnowCinemaMode2": "\u0420\u0435\u0436\u0438\u043c \u043a\u0438\u043d\u043e\u0437\u0430\u043b\u0430 \u0434\u0430\u0441\u0442 \u0432\u0430\u043c \u044d\u0444\u0444\u0435\u043a\u0442 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0433\u043e \u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0437\u0430\u043b\u0430 \u0441 \u0442\u0440\u0435\u0439\u043b\u0435\u0440\u0430\u043c\u0438 \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u043c\u0438 \u0437\u0430\u0441\u0442\u0430\u0432\u043a\u0430\u043c\u0438 \u043f\u0435\u0440\u0435\u0434 \u0444\u0438\u043b\u044c\u043c\u043e\u043c.", + "HeaderPlayMyMedia": "\u0412\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043c\u043e\u0438\u0445 \u043c\u0435\u0434\u0438\u0430\u0434\u0430\u043d\u043d\u044b\u0445", + "HeaderDiscoverEmbyPremiere": "\u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/sk.json b/dashboard-ui/bower_components/emby-webcomponents/strings/sk.json index 9186758612..dd326aba61 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/sk.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/sk.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/sl-SI.json b/dashboard-ui/bower_components/emby-webcomponents/strings/sl-SI.json index 10a1839e6c..3a20befff1 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/sl-SI.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/sl-SI.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/sv.json b/dashboard-ui/bower_components/emby-webcomponents/strings/sv.json index bd60148e48..c1693ad547 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/sv.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/sv.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/tr.json b/dashboard-ui/bower_components/emby-webcomponents/strings/tr.json index 65af6d6232..7dbfe443f4 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/tr.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/tr.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/uk.json b/dashboard-ui/bower_components/emby-webcomponents/strings/uk.json index 5e2353d2d2..b86d6c3f7a 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/uk.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/uk.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/vi.json b/dashboard-ui/bower_components/emby-webcomponents/strings/vi.json index ec60c2b442..6d6fd5f0ef 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/vi.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/vi.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/zh-CN.json b/dashboard-ui/bower_components/emby-webcomponents/strings/zh-CN.json index c8ec1e0395..6833ea3667 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/zh-CN.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/zh-CN.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/zh-HK.json b/dashboard-ui/bower_components/emby-webcomponents/strings/zh-HK.json index a41751c758..06bc5233af 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/zh-HK.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/zh-HK.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/zh-TW.json b/dashboard-ui/bower_components/emby-webcomponents/strings/zh-TW.json index 957847df07..9fd049f992 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/zh-TW.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/zh-TW.json @@ -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,21 @@ "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", + "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "HeaderPlayMyMedia": "Play my Media", + "HeaderDiscoverEmbyPremiere": "Discover Emby Premiere" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/sync/sync.js b/dashboard-ui/bower_components/emby-webcomponents/sync/sync.js index 05e6d8af7f..4479d3f7ef 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/sync/sync.js +++ b/dashboard-ui/bower_components/emby-webcomponents/sync/sync.js @@ -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); diff --git a/dashboard-ui/bower_components/emby-webcomponents/thememediaplayer.js b/dashboard-ui/bower_components/emby-webcomponents/thememediaplayer.js index 6168072bd3..e39ad02fb3 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/thememediaplayer.js +++ b/dashboard-ui/bower_components/emby-webcomponents/thememediaplayer.js @@ -87,8 +87,8 @@ define(['playbackManager', 'userSettings'], function (playbackManager, userSetti }, true); - //Events.on(Emby.PlaybackManager, 'playbackstart', function (e, player) { - // var item = Emby.PlaybackManager.currentItem(player); + //Events.on(playbackManager, 'playbackstart', function (e, player) { + // var item = playbackManager.currentItem(player); // // User played something manually // if (currentThemeIds.indexOf(item.Id) == -1) { // currentOwnerId = null; diff --git a/dashboard-ui/bower_components/emby-webcomponents/viewmanager/viewcontainer-lite.css b/dashboard-ui/bower_components/emby-webcomponents/viewmanager/viewcontainer-lite.css index dca2b621d0..d801be7168 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/viewmanager/viewcontainer-lite.css +++ b/dashboard-ui/bower_components/emby-webcomponents/viewmanager/viewcontainer-lite.css @@ -7,4 +7,63 @@ contain: layout style; /* Can't use will-change because it causes the alpha picker to move when the page scrolls*/ /*will-change: transform;*/ +} + +@keyframes view-fadeout { + from { + opacity: 1; + } + + to { + opacity: 0; + } +} +@keyframes view-fadein { + from { + opacity: 0; + } + + to { + opacity: 1; + } +} + +@keyframes view-slideleft { + from { + transform: translate3d(100%, 0, 0); + } + + to { + transform: none; + } +} + +@keyframes view-slideleft-r { + from { + transform: none; + } + + to { + transform: translate3d(-100%, 0, 0); + } +} + +@keyframes view-slideright { + from { + transform: translate3d(-100%, 0, 0); + } + + to { + transform: none; + } +} + +@keyframes view-slideright-r { + from { + transform: none; + } + + to { + transform: translate3d(100%, 0, 0); + } } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/viewmanager/viewcontainer-lite.js b/dashboard-ui/bower_components/emby-webcomponents/viewmanager/viewcontainer-lite.js index bfc03eff8c..59569880a2 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/viewmanager/viewcontainer-lite.js +++ b/dashboard-ui/bower_components/emby-webcomponents/viewmanager/viewcontainer-lite.js @@ -116,72 +116,59 @@ define(['browser', 'css!./viewcontainer-lite'], function (browser) { function slide(newAnimatedPage, oldAnimatedPage, transition, isBack) { return new Promise(function (resolve, reject) { - var timings = { - duration: 450, - iterations: 1, - easing: 'ease-out', - fill: 'both' - }; + + var duration = 450; var animations = []; if (oldAnimatedPage) { - var destination = isBack ? '100%' : '-100%'; - - animations.push(oldAnimatedPage.animate([ - - { transform: 'none', offset: 0 }, - { transform: 'translate3d(' + destination + ', 0, 0)', offset: 1 } - - ], timings)); + if (isBack) { + oldAnimatedPage.style.animation = 'view-slideright-r ' + duration + 'ms ease-out normal both'; + setAnimation(oldAnimatedPage, 'view-slideright-r ' + duration + 'ms ease-out normal both'); + } else { + setAnimation(oldAnimatedPage, 'view-slideleft-r ' + duration + 'ms ease-out normal both'); + } + animations.push(oldAnimatedPage); } - var start = isBack ? '-100%' : '100%'; - - animations.push(newAnimatedPage.animate([ - - { transform: 'translate3d(' + start + ', 0, 0)', offset: 0 }, - { transform: 'none', offset: 1 } - - ], timings)); + if (isBack) { + setAnimation(newAnimatedPage, 'view-slideright ' + duration + 'ms ease-out normal both'); + } else { + setAnimation(newAnimatedPage, 'view-slideleft ' + duration + 'ms ease-out normal both'); + } + animations.push(newAnimatedPage); currentAnimations = animations; - animations[animations.length - 1].onfinish = resolve; + setTimeout(resolve, duration); }); } function fade(newAnimatedPage, oldAnimatedPage, transition, isBack) { return new Promise(function (resolve, reject) { - var timings = { - duration: 300, - iterations: 1, - easing: 'ease-out', - fill: 'both' - }; + var duration = 400; var animations = []; if (oldAnimatedPage) { - animations.push(oldAnimatedPage.animate([ - - { opacity: 1, offset: 0 }, - { opacity: 0, offset: 1 } - - ], timings)); + setAnimation(oldAnimatedPage, 'view-fadeout ' + duration + 'ms ease-out normal both'); + animations.push(oldAnimatedPage); } - animations.push(newAnimatedPage.animate([ - - { opacity: 0, offset: 0 }, - { opacity: 1, offset: 1 } - - ], timings)); + setAnimation(newAnimatedPage, 'view-fadein ' + duration + 'ms ease-in normal both'); + animations.push(newAnimatedPage); currentAnimations = animations; - animations[animations.length - 1].onfinish = resolve; + setTimeout(resolve, duration); + }); + } + + function setAnimation(elem, value) { + + requestAnimationFrame(function () { + elem.style.animation = value; }); } @@ -190,16 +177,7 @@ define(['browser', 'css!./viewcontainer-lite'], function (browser) { var animations = currentAnimations; for (var i = 0, length = animations.length; i < length; i++) { - cancelAnimation(animations[i]); - } - } - - function cancelAnimation(animation) { - - try { - animation.cancel(); - } catch (err) { - console.log('Error canceling animation: ' + err); + animations[i].animation = 'none'; } } diff --git a/dashboard-ui/components/apphost.js b/dashboard-ui/components/apphost.js index c81b2ab866..0c4c8f7132 100644 --- a/dashboard-ui/components/apphost.js +++ b/dashboard-ui/components/apphost.js @@ -189,6 +189,7 @@ define(['appStorage', 'browser'], function (appStorage, browser) { var features = []; features.push('playback'); + features.push('livetv'); return features; }, diff --git a/dashboard-ui/components/dockedtabs/dockedtabs.css b/dashboard-ui/components/dockedtabs/dockedtabs.css index a1195193bb..082560457b 100644 --- a/dashboard-ui/components/dockedtabs/dockedtabs.css +++ b/dashboard-ui/components/dockedtabs/dockedtabs.css @@ -36,16 +36,6 @@ font-size: 20px; } -.dockedtabs-dlg { - font-size: inherit !important; - background-color: #222 !important; - color: #eee; -} - -.dockedtabs-dlg-menuitem:hover { - background-color: #333 !important; -} - @media all and (max-width: 800px) { .dockedtab-midsize { display: none !important; diff --git a/dashboard-ui/components/dockedtabs/dockedtabs.js b/dashboard-ui/components/dockedtabs/dockedtabs.js index 424cacdc5e..0cdcc8a099 100644 --- a/dashboard-ui/components/dockedtabs/dockedtabs.js +++ b/dashboard-ui/components/dockedtabs/dockedtabs.js @@ -1,4 +1,4 @@ -define(['apphost', 'connectionManager', 'events', 'globalize', 'browser', 'require', 'dom', 'emby-tabs'], function (appHost, connectionManager, events, globalize, browser, require, dom) { +define(['apphost', 'connectionManager', 'events', 'globalize', 'browser', 'require', 'dom', 'embyRouter', 'emby-tabs'], function (appHost, connectionManager, events, globalize, browser, require, dom, embyRouter) { // Make sure this is pulled in after button and tab css require(['css!./dockedtabs']); @@ -13,7 +13,7 @@ })[0]; if (view) { - Emby.Page.showItem(view); + embyRouter.showItem(view); } } @@ -22,13 +22,13 @@ switch (id) { case 'settings': - Emby.Page.showSettings(); + embyRouter.showSettings(); break; case 'signout': Dashboard.logout(); break; case 'selectserver': - Emby.Page.showSelectServer(); + embyRouter.showSelectServer(); break; case 'reports': Dashboard.navigate('reports.html'); @@ -157,7 +157,7 @@ switch (index) { case 0: - Emby.Page.goHome(); + embyRouter.goHome(); break; case 1: showLibrariesMenu(this); @@ -165,10 +165,10 @@ e.stopPropagation(); break; case 2: - Emby.Page.showLiveTV(); + embyRouter.showLiveTV(); break; case 3: - Emby.Page.showFavorites(); + embyRouter.showFavorites(); break; case 4: Dashboard.navigate('mysync.html?mode=offline'); @@ -217,7 +217,7 @@ var html = ''; var liveTVButtonClass = appHost.supports('sync') ? ' dockedtab-midsize' : ''; - + html += '
\ -

-

+

-
+

-
-
- - +
+
+
+ +
+
-
-
-
- - -
+
+
@@ -32,19 +27,26 @@
- +
${LabelEndingEpisodeNumberHelp}
- +
+ +
+
+
- + +
+ +
+
-
+
\ No newline at end of file diff --git a/dashboard-ui/components/iap.js b/dashboard-ui/components/iap.js new file mode 100644 index 0000000000..9d414deed8 --- /dev/null +++ b/dashboard-ui/components/iap.js @@ -0,0 +1,73 @@ +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'); + } + + function getPeriodicMessageIntervalMs(feature) { + + if (feature == 'playback') { + return 259200000; + } + + return 0; + } + + return { + getProductInfo: getProductInfo, + beginPurchase: beginPurchase, + restorePurchase: restorePurchase, + getSubscriptionOptions: getSubscriptionOptions, + isUnlockedByDefault: isUnlockedByDefault, + getAdminFeatureName: getAdminFeatureName, + getRestoreButtonText: getRestoreButtonText, + getPeriodicMessageIntervalMs: getPeriodicMessageIntervalMs + }; + +}); \ No newline at end of file diff --git a/dashboard-ui/components/imageuploader/imageuploader.js b/dashboard-ui/components/imageuploader/imageuploader.js index 77b8c3bfd4..056db76ca7 100644 --- a/dashboard-ui/components/imageuploader/imageuploader.js +++ b/dashboard-ui/components/imageuploader/imageuploader.js @@ -1,4 +1,4 @@ -define(['dialogHelper', 'jQuery', 'emby-button'], function (dialogHelper, $) { +define(['dialogHelper', 'jQuery', 'emby-button', 'emby-select'], function (dialogHelper, $) { var currentItemId; var currentFile; diff --git a/dashboard-ui/components/imageuploader/imageuploader.template.html b/dashboard-ui/components/imageuploader/imageuploader.template.html index a36f163a26..a760eb3da3 100644 --- a/dashboard-ui/components/imageuploader/imageuploader.template.html +++ b/dashboard-ui/components/imageuploader/imageuploader.template.html @@ -11,9 +11,8 @@
-
+

@@ -26,7 +26,7 @@

-
+

${HeaderNextUp}

@@ -39,10 +39,10 @@

${NoNextUpItemsMessage}

-
+
-
+
diff --git a/dashboard-ui/livetv.html b/dashboard-ui/livetv.html index fa9abbc42c..f069756d78 100644 --- a/dashboard-ui/livetv.html +++ b/dashboard-ui/livetv.html @@ -29,7 +29,7 @@
-
+

${HeaderActiveRecordings}

@@ -85,7 +85,7 @@
-
+

${HeaderActiveRecordings}

@@ -141,7 +141,7 @@
-
+

${HeaderActiveRecordings}

diff --git a/dashboard-ui/movies.html b/dashboard-ui/movies.html index 5f69d8c1df..83eb3a1a77 100644 --- a/dashboard-ui/movies.html +++ b/dashboard-ui/movies.html @@ -22,7 +22,7 @@
-
+

${HeaderResume}

diff --git a/dashboard-ui/music.html b/dashboard-ui/music.html index 1d7b21773f..4fff78831d 100644 --- a/dashboard-ui/music.html +++ b/dashboard-ui/music.html @@ -26,7 +26,7 @@
-
+

${HeaderLatestMusic}

diff --git a/dashboard-ui/scripts/connectlogin.js b/dashboard-ui/scripts/connectlogin.js index ab296670d5..15af12b809 100644 --- a/dashboard-ui/scripts/connectlogin.js +++ b/dashboard-ui/scripts/connectlogin.js @@ -298,13 +298,14 @@ } }); - view.querySelector('.btnCancelSignup').addEventListener('click', function () { - Emby.Page.back(); - }); + function goBack() { + require(['embyRouter'], function (embyRouter) { + embyRouter.back(); + }); + } - view.querySelector('.btnCancelManualServer').addEventListener('click', function () { - Emby.Page.back(); - }); + view.querySelector('.btnCancelSignup').addEventListener('click', goBack); + view.querySelector('.btnCancelManualServer').addEventListener('click', goBack); view.querySelector('.btnWelcomeNext').addEventListener('click', function () { Dashboard.navigate('connectlogin.html?mode=connect'); diff --git a/dashboard-ui/scripts/dashboardpage.js b/dashboard-ui/scripts/dashboardpage.js index c149838cba..f03bf1180d 100644 --- a/dashboard-ui/scripts/dashboardpage.js +++ b/dashboard-ui/scripts/dashboardpage.js @@ -450,7 +450,7 @@ html += '
'; var userImage = DashboardPage.getUserImage(session); if (userImage) { - html += ''; + html += ''; } else { html += '
'; } diff --git a/dashboard-ui/scripts/librarymenu.js b/dashboard-ui/scripts/librarymenu.js index 303a424f00..4753cb30a6 100644 --- a/dashboard-ui/scripts/librarymenu.js +++ b/dashboard-ui/scripts/librarymenu.js @@ -1,4 +1,4 @@ -define(['imageLoader', 'layoutManager', 'viewManager', 'libraryBrowser', 'apphost', 'paper-icon-button-light', 'material-icons'], function (imageLoader, layoutManager, viewManager, libraryBrowser, appHost) { +define(['imageLoader', 'layoutManager', 'viewManager', 'libraryBrowser', 'apphost', 'embyRouter', 'paper-icon-button-light', 'material-icons'], function (imageLoader, layoutManager, viewManager, libraryBrowser, appHost, embyRouter) { var enableBottomTabs = AppInfo.isNativeApp; var enableLibraryNavDrawer = !enableBottomTabs; @@ -60,7 +60,7 @@ function onBackClick() { - Emby.Page.back(); + embyRouter.back(); } function updateUserInHeader(user) { @@ -908,7 +908,7 @@ var backButton = document.querySelector('.headerBackButton'); if (backButton) { - if (page.getAttribute('data-backbutton') == 'true' && Emby.Page.canGoBack()) { + if (page.getAttribute('data-backbutton') == 'true' && embyRouter.canGoBack()) { backButton.classList.remove('hide'); } else { backButton.classList.add('hide'); diff --git a/dashboard-ui/scripts/livetvsuggested.js b/dashboard-ui/scripts/livetvsuggested.js index f9dd1bdfb6..b8e79aad75 100644 --- a/dashboard-ui/scripts/livetvsuggested.js +++ b/dashboard-ui/scripts/livetvsuggested.js @@ -98,7 +98,10 @@ }).then(function (result) { - renderItems(page, result.Items, 'activeProgramItems', 'play'); + renderItems(page, result.Items, 'activeProgramItems', 'play', { + showAirDateTime: false, + showAirEndTime: true + }); Dashboard.hideLoadingMsg(); }); } @@ -151,7 +154,10 @@ }).then(function (result) { - renderItems(page, result.Items, 'upcomingTvMovieItems', null, getPortraitShape()); + renderItems(page, result.Items, 'upcomingTvMovieItems', null, { + shape: getPortraitShape(), + preferThumb: null + }); }); ApiClient.getLiveTvRecommendedPrograms({ @@ -187,15 +193,17 @@ }); } - function renderItems(page, items, sectionClass, overlayButton, shape) { + function renderItems(page, items, sectionClass, overlayButton, cardOptions) { var supportsImageAnalysis = appHost.supports('imageanalysis'); - var html = cardBuilder.getCardsHtml({ + cardOptions = cardOptions || {}; + + var html = cardBuilder.getCardsHtml(Object.assign({ items: items, - preferThumb: !shape, + preferThumb: true, inheritThumb: false, - shape: shape || (enableScrollX() ? 'overflowBackdrop' : 'backdrop'), + shape: (enableScrollX() ? 'overflowBackdrop' : 'backdrop'), showParentTitleOrTitle: true, showTitle: false, centerText: !supportsImageAnalysis, @@ -210,7 +218,8 @@ showChannelName: true, vibrant: true, cardLayout: supportsImageAnalysis - }); + + }, cardOptions)); var elem = page.querySelector('.' + sectionClass); diff --git a/dashboard-ui/scripts/mediacontroller.js b/dashboard-ui/scripts/mediacontroller.js index 0dac7c1923..24a2e81b9c 100644 --- a/dashboard-ui/scripts/mediacontroller.js +++ b/dashboard-ui/scripts/mediacontroller.js @@ -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; diff --git a/dashboard-ui/scripts/mediaplayer.js b/dashboard-ui/scripts/mediaplayer.js index 21a875f147..5d95441d49 100644 --- a/dashboard-ui/scripts/mediaplayer.js +++ b/dashboard-ui/scripts/mediaplayer.js @@ -157,8 +157,11 @@ define(['appSettings', 'userSettings', 'appStorage', 'datetime'], function (appS if (!AppInfo.isNativeApp) { options.enableMkvProgressive = item.RunTimeTicks != null; - options.enableTsProgressive = item.RunTimeTicks != null; - options.enableHls = !browserInfo.firefox || item.RunTimeTicks == null; + + if (item.RunTimeTicks == null) { + options.enableHls = true; + } + options.disableVideoAudioCodecs = disableVideoAudioCodecs; } diff --git a/dashboard-ui/scripts/mysync.js b/dashboard-ui/scripts/mysync.js index 211138d80d..209cfe9974 100644 --- a/dashboard-ui/scripts/mysync.js +++ b/dashboard-ui/scripts/mysync.js @@ -4,7 +4,7 @@ view.querySelector('.btnSyncSupporter').addEventListener('click', function () { - requirejs(["registrationservices"], function (registrationServices) { + requirejs(["registrationServices"], function (registrationServices) { registrationServices.validateFeature('sync'); }); }); diff --git a/dashboard-ui/scripts/registrationservices.js b/dashboard-ui/scripts/registrationservices.js deleted file mode 100644 index f43dbe6e74..0000000000 --- a/dashboard-ui/scripts/registrationservices.js +++ /dev/null @@ -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 += '
'; - - html += '' + item.icon + ''; - - html += ''; - - html += '
'; - - 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 += '
'; - html += ''; - html += '

'; - html += '

'; - - html += '
'; - - - html += '
'; - html += '
'; - - html += '

' + Globalize.translate('HeaderTryEmbyPremiere') + '

'; - - html += '

' + Globalize.translate('MessageDidYouKnowCinemaMode') + '

'; - html += '

' + Globalize.translate('MessageDidYouKnowCinemaMode2') + '

'; - - html += '
'; - - html += '

' + Globalize.translate('HeaderBenefitsEmbyPremiere') + '

'; - - html += '
'; - html += getSubscriptionBenefits().map(getSubscriptionBenefitHtml).join(''); - html += '
'; - - html += '
'; - - html += ''; - html += ''; - - html += '
'; - html += '
'; - - 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') + '

' + Globalize.translate('ButtonLearnMore') + '

', - 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'); - } - }; -}); \ No newline at end of file diff --git a/dashboard-ui/scripts/sections.js b/dashboard-ui/scripts/sections.js index ae326e7a68..8234a7175a 100644 --- a/dashboard-ui/scripts/sections.js +++ b/dashboard-ui/scripts/sections.js @@ -9,7 +9,6 @@ } function enableScrollX() { - return browserInfo.mobile && AppInfo.enableAppLayouts; } @@ -168,8 +167,6 @@ infos.push(getUpgradeMobileLayoutsInfo); } - appSettings.set(cacheKey, new Date().getTime()); - return infos[getRandomInt(0, infos.length - 1)](); }); } diff --git a/dashboard-ui/scripts/site.js b/dashboard-ui/scripts/site.js index 18e3b5c955..d46a5440a1 100644 --- a/dashboard-ui/scripts/site.js +++ b/dashboard-ui/scripts/site.js @@ -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); } @@ -1422,9 +1417,7 @@ var AppInfo = {}; }); // alias - define("historyManager", [], function () { - return Emby.Page; - }); + define("historyManager", ['embyRouter'], returnFirstDependency); define("headroom-window", ['headroom'], createWindowHeadroom); define("hammer-main", ['hammer'], createMainContentHammer); @@ -1621,6 +1614,12 @@ var AppInfo = {}; var embyWebComponentsBowerPath = bowerPath + '/emby-webcomponents'; + if (Dashboard.isRunningInCordova()) { + define("actionsheet", ["cordova/actionsheet"], returnFirstDependency); + } else { + define("actionsheet", ["webActionSheet"], returnFirstDependency); + } + if (!('registerElement' in document)) { if (browser.msie) { define("registerElement", [bowerPath + '/webcomponentsjs/webcomponents-lite.min.js']); @@ -2662,7 +2661,7 @@ var AppInfo = {}; loadTheme(); if (Dashboard.isRunningInCordova()) { - deps.push('registrationservices'); + deps.push('registrationServices'); if (browserInfo.android) { deps.push('cordova/android/androidcredentials'); @@ -2681,7 +2680,6 @@ var AppInfo = {}; window.Emby = {}; window.Emby.Page = pageObjects; - window.Emby.TransparencyLevel = pageObjects.TransparencyLevel; defineCoreRoutes(); Emby.Page.start({ click: true, diff --git a/dashboard-ui/scripts/supporterkeypage.js b/dashboard-ui/scripts/supporterkeypage.js index e3d86eac1f..1247d29997 100644 --- a/dashboard-ui/scripts/supporterkeypage.js +++ b/dashboard-ui/scripts/supporterkeypage.js @@ -1,4 +1,4 @@ -define(['fetchHelper', 'jQuery', 'registrationservices'], function (fetchHelper, $, registrationServices) { +define(['fetchHelper', 'jQuery', 'registrationServices'], function (fetchHelper, $, registrationServices) { function load(page) { Dashboard.showLoadingMsg(); diff --git a/dashboard-ui/scripts/taskbutton.js b/dashboard-ui/scripts/taskbutton.js index 8ce744e84a..273acfa841 100644 --- a/dashboard-ui/scripts/taskbutton.js +++ b/dashboard-ui/scripts/taskbutton.js @@ -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() { diff --git a/dashboard-ui/strings/ar.json b/dashboard-ui/strings/ar.json index d2e020f535..12314768b3 100644 --- a/dashboard-ui/strings/ar.json +++ b/dashboard-ui/strings/ar.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "\u062e\u0631\u0648\u062c", "LabelApiDocumentation": "\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0645\u062f\u062e\u0644 \u0628\u0631\u0645\u062c\u0629 \u0627\u0644\u062a\u0637\u0628\u064a\u0642", "LabelBrowseLibrary": "\u062a\u0635\u0641\u062d \u0627\u0644\u0645\u0643\u062a\u0628\u0629", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "Scheduled task failure", "NotificationOptionInstallationFailed": "Installation failure", "NotificationOptionNewLibraryContent": "New content added", - "NotificationOptionNewLibraryContentMultiple": "New content added (multiple)", "NotificationOptionCameraImageUploaded": "Camera image uploaded", "NotificationOptionUserLockedOut": "User locked out", "HeaderSendNotificationHelp": "Notifications are delivered to your Emby inbox. Additional options can be installed from the Services tab.", @@ -1560,7 +1557,7 @@ "LabelPlayMethodDirectPlay": "Direct Playing", "LabelAudioCodec": "Audio: {0}", "LabelVideoCodec": "Video: {0}", - "LabelLocalAccessUrl": "Local access: {0}", + "LabelLocalAccessUrl": "In-Home access: {0}", "LabelRemoteAccessUrl": "Remote access: {0}", "LabelRunningOnPort": "Running on http port {0}.", "LabelRunningOnPorts": "Running on http port {0}, and https port {1}.", @@ -1777,7 +1774,7 @@ "HeaderUnaired": "Unaired", "HeaderMissing": "Missing", "ButtonWebsite": "Website", - "ValueSeriesYearToPresent": "{0}-Present", + "ValueSeriesYearToPresent": "{0} - Present", "ValueAwards": "Awards: {0}", "ValueBudget": "Budget: {0}", "ValueRevenue": "Revenue: {0}", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "Longitude", "MediaInfoShutterSpeed": "Shutter speed", "MediaInfoSoftware": "Software", - "HeaderIfYouLikeCheckTheseOut": "If you like {0}, check these out...", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "Movies", "HeaderAlbums": "Albums", "HeaderGames": "Games", @@ -2097,7 +2094,7 @@ "MapChannels": "Map Channels", "LabelffmpegPath": "FFmpeg path:", "LabelffmpegVersion": "FFmpeg version:", - "LabelffmpegPathHelp": "The path to your downloaded FFmpeg application, or folder containing FFmpeg.", + "LabelffmpegPathHelp": "The path to your downloaded ffmpeg application file, or folder containing ffmpeg.", "SetupFFmpeg": "Setup FFmpeg", "SetupFFmpegHelp": "Emby may require a library or application to convert certain media types. There are many different applications available, however, Emby has been tested to work with ffmpeg. Emby is in no way affiliated with ffmpeg, its ownership, code or distribution.", "EnterFFmpegLocation": "Enter FFmpeg path", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "Play with external player", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update." } \ No newline at end of file diff --git a/dashboard-ui/strings/be-BY.json b/dashboard-ui/strings/be-BY.json index 36529e7429..d0dd2b578c 100644 --- a/dashboard-ui/strings/be-BY.json +++ b/dashboard-ui/strings/be-BY.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "\u0412\u044b\u0445\u0430\u0434", "LabelApiDocumentation": "\u0414\u0430\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u044b\u044f \u043f\u0430 API", "LabelBrowseLibrary": "\u041d\u0430\u0432\u0456\u0433\u0430\u0446\u044b\u044f \u043f\u0430 \u043c\u0435\u0434\u044b\u044f\u0442\u044d\u0446\u044b", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "Scheduled task failure", "NotificationOptionInstallationFailed": "Installation failure", "NotificationOptionNewLibraryContent": "New content added", - "NotificationOptionNewLibraryContentMultiple": "New content added (multiple)", "NotificationOptionCameraImageUploaded": "Camera image uploaded", "NotificationOptionUserLockedOut": "User locked out", "HeaderSendNotificationHelp": "Notifications are delivered to your Emby inbox. Additional options can be installed from the Services tab.", @@ -1560,7 +1557,7 @@ "LabelPlayMethodDirectPlay": "Direct Playing", "LabelAudioCodec": "Audio: {0}", "LabelVideoCodec": "Video: {0}", - "LabelLocalAccessUrl": "Local access: {0}", + "LabelLocalAccessUrl": "In-Home access: {0}", "LabelRemoteAccessUrl": "Remote access: {0}", "LabelRunningOnPort": "Running on http port {0}.", "LabelRunningOnPorts": "Running on http port {0}, and https port {1}.", @@ -1777,7 +1774,7 @@ "HeaderUnaired": "Unaired", "HeaderMissing": "Missing", "ButtonWebsite": "Website", - "ValueSeriesYearToPresent": "{0}-Present", + "ValueSeriesYearToPresent": "{0} - Present", "ValueAwards": "Awards: {0}", "ValueBudget": "Budget: {0}", "ValueRevenue": "Revenue: {0}", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "Longitude", "MediaInfoShutterSpeed": "Shutter speed", "MediaInfoSoftware": "Software", - "HeaderIfYouLikeCheckTheseOut": "If you like {0}, check these out...", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "Movies", "HeaderAlbums": "Albums", "HeaderGames": "Games", @@ -2097,7 +2094,7 @@ "MapChannels": "Map Channels", "LabelffmpegPath": "FFmpeg path:", "LabelffmpegVersion": "FFmpeg version:", - "LabelffmpegPathHelp": "The path to your downloaded FFmpeg application, or folder containing FFmpeg.", + "LabelffmpegPathHelp": "The path to your downloaded ffmpeg application file, or folder containing ffmpeg.", "SetupFFmpeg": "Setup FFmpeg", "SetupFFmpegHelp": "Emby may require a library or application to convert certain media types. There are many different applications available, however, Emby has been tested to work with ffmpeg. Emby is in no way affiliated with ffmpeg, its ownership, code or distribution.", "EnterFFmpegLocation": "Enter FFmpeg path", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "Play with external player", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update." } \ No newline at end of file diff --git a/dashboard-ui/strings/bg-BG.json b/dashboard-ui/strings/bg-BG.json index c9a7ca2945..ef00ff5785 100644 --- a/dashboard-ui/strings/bg-BG.json +++ b/dashboard-ui/strings/bg-BG.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "\u0418\u0437\u0445\u043e\u0434", "LabelApiDocumentation": "API \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f", "LabelBrowseLibrary": "\u0420\u0430\u0437\u0433\u043b\u0435\u0434\u0430\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u0442\u0430", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "Scheduled task failure", "NotificationOptionInstallationFailed": "Installation failure", "NotificationOptionNewLibraryContent": "New content added", - "NotificationOptionNewLibraryContentMultiple": "New content added (multiple)", "NotificationOptionCameraImageUploaded": "Camera image uploaded", "NotificationOptionUserLockedOut": "User locked out", "HeaderSendNotificationHelp": "Notifications are delivered to your Emby inbox. Additional options can be installed from the Services tab.", @@ -1560,7 +1557,7 @@ "LabelPlayMethodDirectPlay": "Direct Playing", "LabelAudioCodec": "Audio: {0}", "LabelVideoCodec": "Video: {0}", - "LabelLocalAccessUrl": "Local access: {0}", + "LabelLocalAccessUrl": "In-Home access: {0}", "LabelRemoteAccessUrl": "Remote access: {0}", "LabelRunningOnPort": "Running on http port {0}.", "LabelRunningOnPorts": "Running on http port {0}, and https port {1}.", @@ -1777,7 +1774,7 @@ "HeaderUnaired": "Unaired", "HeaderMissing": "Missing", "ButtonWebsite": "Website", - "ValueSeriesYearToPresent": "{0}-Present", + "ValueSeriesYearToPresent": "{0} - Present", "ValueAwards": "Awards: {0}", "ValueBudget": "Budget: {0}", "ValueRevenue": "Revenue: {0}", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "Longitude", "MediaInfoShutterSpeed": "Shutter speed", "MediaInfoSoftware": "Software", - "HeaderIfYouLikeCheckTheseOut": "If you like {0}, check these out...", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "Movies", "HeaderAlbums": "Albums", "HeaderGames": "Games", @@ -2097,7 +2094,7 @@ "MapChannels": "Map Channels", "LabelffmpegPath": "FFmpeg path:", "LabelffmpegVersion": "FFmpeg version:", - "LabelffmpegPathHelp": "The path to your downloaded FFmpeg application, or folder containing FFmpeg.", + "LabelffmpegPathHelp": "The path to your downloaded ffmpeg application file, or folder containing ffmpeg.", "SetupFFmpeg": "Setup FFmpeg", "SetupFFmpegHelp": "Emby may require a library or application to convert certain media types. There are many different applications available, however, Emby has been tested to work with ffmpeg. Emby is in no way affiliated with ffmpeg, its ownership, code or distribution.", "EnterFFmpegLocation": "Enter FFmpeg path", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "Play with external player", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update." } \ No newline at end of file diff --git a/dashboard-ui/strings/ca.json b/dashboard-ui/strings/ca.json index 7220ac25dd..8ef02c1d16 100644 --- a/dashboard-ui/strings/ca.json +++ b/dashboard-ui/strings/ca.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "Sortir", "LabelApiDocumentation": "Documentaci\u00f3 de l'API", "LabelBrowseLibrary": "Examina la Biblioteca", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "Tasca programada fallida", "NotificationOptionInstallationFailed": "Instal\u00b7laci\u00f3 fallida", "NotificationOptionNewLibraryContent": "Nou contingut afegit", - "NotificationOptionNewLibraryContentMultiple": "Nous continguts afegits", "NotificationOptionCameraImageUploaded": "Camera image uploaded", "NotificationOptionUserLockedOut": "Usuari blocat", "HeaderSendNotificationHelp": "Notifications are delivered to your Emby inbox. Additional options can be installed from the Services tab.", @@ -1777,7 +1774,7 @@ "HeaderUnaired": "No em\u00e8s", "HeaderMissing": "Missing", "ButtonWebsite": "Website", - "ValueSeriesYearToPresent": "{0}-Present", + "ValueSeriesYearToPresent": "{0} - Present", "ValueAwards": "Awards: {0}", "ValueBudget": "Budget: {0}", "ValueRevenue": "Revenue: {0}", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "Longitude", "MediaInfoShutterSpeed": "Shutter speed", "MediaInfoSoftware": "Software", - "HeaderIfYouLikeCheckTheseOut": "Si t'agrada {0} mira't aquestes...", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "Pel\u00b7l\u00edcules", "HeaderAlbums": "Albums", "HeaderGames": "Jocs", @@ -2097,7 +2094,7 @@ "MapChannels": "Map Channels", "LabelffmpegPath": "FFmpeg path:", "LabelffmpegVersion": "FFmpeg version:", - "LabelffmpegPathHelp": "The path to your downloaded FFmpeg application, or folder containing FFmpeg.", + "LabelffmpegPathHelp": "The path to your downloaded ffmpeg application file, or folder containing ffmpeg.", "SetupFFmpeg": "Setup FFmpeg", "SetupFFmpegHelp": "Emby may require a library or application to convert certain media types. There are many different applications available, however, Emby has been tested to work with ffmpeg. Emby is in no way affiliated with ffmpeg, its ownership, code or distribution.", "EnterFFmpegLocation": "Enter FFmpeg path", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "Play with external player", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update." } \ No newline at end of file diff --git a/dashboard-ui/strings/cs.json b/dashboard-ui/strings/cs.json index 208b3557da..12db940f6e 100644 --- a/dashboard-ui/strings/cs.json +++ b/dashboard-ui/strings/cs.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "Zav\u0159\u00edt", "LabelApiDocumentation": "Dokumentace API", "LabelBrowseLibrary": "Proch\u00e1zet knihovnu", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "Chyba napl\u00e1novan\u00e9 \u00falohy", "NotificationOptionInstallationFailed": "Chyba instalace", "NotificationOptionNewLibraryContent": "P\u0159id\u00e1n nov\u00fd obsah", - "NotificationOptionNewLibraryContentMultiple": "P\u0159id\u00e1n nov\u00fd obsah (v\u00edcen\u00e1sobn\u00fd)", "NotificationOptionCameraImageUploaded": "Kamerov\u00fd z\u00e1znam nahr\u00e1n", "NotificationOptionUserLockedOut": "U\u017eivatel uzam\u010den", "HeaderSendNotificationHelp": "Ozn\u00e1men\u00ed jsou doru\u010dena do va\u0161\u00ed e-mailov\u00e9 schr\u00e1nky Emby. Dal\u0161\u00ed nastaven\u00ed lze instalovat z karty Slu\u017eby.", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "Zem\u011bpisn\u00e1 d\u00e9lka", "MediaInfoShutterSpeed": "Rychlost uz\u00e1v\u011brky", "MediaInfoSoftware": "Software", - "HeaderIfYouLikeCheckTheseOut": "Pokud se v\u00e1m l\u00edb\u00ed {0}, pak se m\u016f\u017ee l\u00edbit ...", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "Filmy", "HeaderAlbums": "Alba", "HeaderGames": "Hry", @@ -2097,7 +2094,7 @@ "MapChannels": "Map Channels", "LabelffmpegPath": "FFmpeg path:", "LabelffmpegVersion": "FFmpeg version:", - "LabelffmpegPathHelp": "The path to your downloaded FFmpeg application, or folder containing FFmpeg.", + "LabelffmpegPathHelp": "The path to your downloaded ffmpeg application file, or folder containing ffmpeg.", "SetupFFmpeg": "Setup FFmpeg", "SetupFFmpegHelp": "Emby may require a library or application to convert certain media types. There are many different applications available, however, Emby has been tested to work with ffmpeg. Emby is in no way affiliated with ffmpeg, its ownership, code or distribution.", "EnterFFmpegLocation": "Enter FFmpeg path", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "P\u0159ehr\u00e1t s extern\u00edm p\u0159ehr\u00e1va\u010dem", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update." } \ No newline at end of file diff --git a/dashboard-ui/strings/da.json b/dashboard-ui/strings/da.json index 54757d9837..754f412f31 100644 --- a/dashboard-ui/strings/da.json +++ b/dashboard-ui/strings/da.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "Afslut", "LabelApiDocumentation": "Api dokumentation", "LabelBrowseLibrary": "Gennemse bibliotek", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "Fejl i planlagt opgave", "NotificationOptionInstallationFailed": "Fejl ved installation", "NotificationOptionNewLibraryContent": "Nyt indhold tilf\u00f8jet", - "NotificationOptionNewLibraryContentMultiple": "Nyt indhold tilf\u00f8jet (flere)", "NotificationOptionCameraImageUploaded": "Kamerabillede tilf\u00f8jet", "NotificationOptionUserLockedOut": "Bruger l\u00e5st", "HeaderSendNotificationHelp": "Notifications are delivered to your Emby inbox. Additional options can be installed from the Services tab.", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "H\u00f8jdegrad", "MediaInfoShutterSpeed": "Lukkehastighed", "MediaInfoSoftware": "Software", - "HeaderIfYouLikeCheckTheseOut": "Hvis du kan lide {0}, s\u00e5 tjek disse...", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "Film", "HeaderAlbums": "Albums", "HeaderGames": "Spil", @@ -2097,7 +2094,7 @@ "MapChannels": "Map Channels", "LabelffmpegPath": "FFmpeg path:", "LabelffmpegVersion": "FFmpeg version:", - "LabelffmpegPathHelp": "The path to your downloaded FFmpeg application, or folder containing FFmpeg.", + "LabelffmpegPathHelp": "The path to your downloaded ffmpeg application file, or folder containing ffmpeg.", "SetupFFmpeg": "Setup FFmpeg", "SetupFFmpegHelp": "Emby may require a library or application to convert certain media types. There are many different applications available, however, Emby has been tested to work with ffmpeg. Emby is in no way affiliated with ffmpeg, its ownership, code or distribution.", "EnterFFmpegLocation": "Enter FFmpeg path", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "Afspil med ekstern afspiller", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update." } \ No newline at end of file diff --git a/dashboard-ui/strings/de.json b/dashboard-ui/strings/de.json index 3d19bc06ba..16dad85ecb 100644 --- a/dashboard-ui/strings/de.json +++ b/dashboard-ui/strings/de.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "Beenden", "LabelApiDocumentation": "Api Dokumentation", "LabelBrowseLibrary": "Bibliothek durchsuchen", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "Fehler bei geplanter Aufgabe", "NotificationOptionInstallationFailed": "Installationsfehler", "NotificationOptionNewLibraryContent": "Neuer Inhalt hinzugef\u00fcgt", - "NotificationOptionNewLibraryContentMultiple": "Neuen Inhalte hinzugef\u00fcgt (mehrere)", "NotificationOptionCameraImageUploaded": "Kamera Bild hochgeladen", "NotificationOptionUserLockedOut": "Benutzer ausgeschlossen", "HeaderSendNotificationHelp": "Benachrichtigungen werden in Ihren Emby-Eingang angezeigt. Weitere Optionen k\u00f6nnen durch Installation im Service-Tab hinzugef\u00fcgt werden.", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "L\u00e4nge", "MediaInfoShutterSpeed": "Verschlusszeit", "MediaInfoSoftware": "Software", - "HeaderIfYouLikeCheckTheseOut": "Wenn du {0} magst, schau dir einmal das an...", + "HeaderMoreLikeThis": "Mehr wie dieses", "HeaderMovies": "Filme", "HeaderAlbums": "Alben", "HeaderGames": "Spiele", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "Wenn dieser Ordner in deinem Netzwerk geteilt wird, kann die Weitergabe des Netzwerkpfades Emby Apps auf anderen Ger\u00e4ten direkten Zugang zu den Mediendateien erm\u00f6glichen.", "ButtonPlayExternalPlayer": "Auf externem Ger\u00e4t abspielen", "WillRecord": "Wird aufgenommen", - "NotScheduledToRecord": "Nicht geplant zur Aufnahme" + "NotScheduledToRecord": "Nicht geplant zur Aufnahme", + "SynologyUpdateInstructions": "Bitte logge dich in DSM ein und gehe in das Paketzentrum um ein Update durchzuf\u00fchren." } \ No newline at end of file diff --git a/dashboard-ui/strings/el.json b/dashboard-ui/strings/el.json index ce35e3b62f..a52f0d9e81 100644 --- a/dashboard-ui/strings/el.json +++ b/dashboard-ui/strings/el.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "\u0388\u03be\u03bf\u03b4\u03bf\u03c2", "LabelApiDocumentation": "Api Documentation", "LabelBrowseLibrary": "\u03a0\u03b5\u03c1\u03b9\u03b7\u03b3\u03b7\u03b8\u03b5\u03af\u03c4\u03b5 \u03c3\u03c4\u03b7 \u03b2\u03b9\u03b2\u03bb\u03b9\u03bf\u03b8\u03ae\u03ba\u03b7", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "Scheduled task failure", "NotificationOptionInstallationFailed": "Installation failure", "NotificationOptionNewLibraryContent": "New content added", - "NotificationOptionNewLibraryContentMultiple": "New content added (multiple)", "NotificationOptionCameraImageUploaded": "Camera image uploaded", "NotificationOptionUserLockedOut": "User locked out", "HeaderSendNotificationHelp": "Notifications are delivered to your Emby inbox. Additional options can be installed from the Services tab.", @@ -1560,7 +1557,7 @@ "LabelPlayMethodDirectPlay": "Direct Playing", "LabelAudioCodec": "Audio: {0}", "LabelVideoCodec": "Video: {0}", - "LabelLocalAccessUrl": "Local access: {0}", + "LabelLocalAccessUrl": "In-Home access: {0}", "LabelRemoteAccessUrl": "Remote access: {0}", "LabelRunningOnPort": "Running on http port {0}.", "LabelRunningOnPorts": "Running on http port {0}, and https port {1}.", @@ -1777,7 +1774,7 @@ "HeaderUnaired": "Unaired", "HeaderMissing": "Missing", "ButtonWebsite": "Website", - "ValueSeriesYearToPresent": "{0}-Present", + "ValueSeriesYearToPresent": "{0} - Present", "ValueAwards": "Awards: {0}", "ValueBudget": "Budget: {0}", "ValueRevenue": "Revenue: {0}", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "Longitude", "MediaInfoShutterSpeed": "Shutter speed", "MediaInfoSoftware": "Software", - "HeaderIfYouLikeCheckTheseOut": "If you like {0}, check these out...", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "Movies", "HeaderAlbums": "Albums", "HeaderGames": "Games", @@ -2097,7 +2094,7 @@ "MapChannels": "Map Channels", "LabelffmpegPath": "FFmpeg path:", "LabelffmpegVersion": "FFmpeg version:", - "LabelffmpegPathHelp": "The path to your downloaded FFmpeg application, or folder containing FFmpeg.", + "LabelffmpegPathHelp": "The path to your downloaded ffmpeg application file, or folder containing ffmpeg.", "SetupFFmpeg": "Setup FFmpeg", "SetupFFmpegHelp": "Emby may require a library or application to convert certain media types. There are many different applications available, however, Emby has been tested to work with ffmpeg. Emby is in no way affiliated with ffmpeg, its ownership, code or distribution.", "EnterFFmpegLocation": "Enter FFmpeg path", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "Play with external player", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update." } \ No newline at end of file diff --git a/dashboard-ui/strings/en-GB.json b/dashboard-ui/strings/en-GB.json index 91271f65a1..a1666480c8 100644 --- a/dashboard-ui/strings/en-GB.json +++ b/dashboard-ui/strings/en-GB.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "Exit", "LabelApiDocumentation": "API Documentation", "LabelBrowseLibrary": "Browse Library", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "Scheduled task failure", "NotificationOptionInstallationFailed": "Installation failure", "NotificationOptionNewLibraryContent": "New content added", - "NotificationOptionNewLibraryContentMultiple": "New (multiple) content added", "NotificationOptionCameraImageUploaded": "Camera image uploaded", "NotificationOptionUserLockedOut": "User locked out", "HeaderSendNotificationHelp": "Notifications are delivered to your Emby inbox. Additional options can be installed from the Services tab.", @@ -1432,7 +1429,7 @@ "ButtonScheduledTasks": "Scheduled tasks", "MessageItemsAdded": "Items added", "HeaderSelectCertificatePath": "Select Certificate Path", - "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task and does not require any manual effort. To configure the scheduled task, see:", + "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task and does not require any manual effort. To configure the scheduled task, click Scheduled Tasks.", "HeaderSupporterBenefit": "An active Emby Premiere subscription provides additional benefits such as access to sync, premium plugins, internet channel content, and more. {0}Learn more{1}.", "HeaderWelcomeToProjectServerDashboard": "Welcome to the Emby Server Dashboard", "HeaderWelcomeToProjectWebClient": "Welcome to Emby", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "Longitude", "MediaInfoShutterSpeed": "Shutter speed", "MediaInfoSoftware": "Software", - "HeaderIfYouLikeCheckTheseOut": "If you like {0}, check these out...", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "Movies", "HeaderAlbums": "Albums", "HeaderGames": "Games", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "Play with external player", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Centre to update." } \ No newline at end of file diff --git a/dashboard-ui/strings/en-US.json b/dashboard-ui/strings/en-US.json index fdda74686d..bc5ce1fa3a 100644 --- a/dashboard-ui/strings/en-US.json +++ b/dashboard-ui/strings/en-US.json @@ -1932,8 +1932,8 @@ "SyncJobItemStatusCancelled": "Cancelled", "LabelProfile": "Profile:", "LabelBitrateMbps": "Bitrate (Mbps):", - "EmbyIntroDownloadMessage": "To download and install Emby Server visit {0}.", - "EmbyIntroDownloadMessageWithoutLink": "To download and install Emby Server visit the Emby website.", + "EmbyIntroDownloadMessage": "To download and install the free Emby Server visit {0}.", + "EmbyIntroDownloadMessageWithoutLink": "To download and install the free Emby Server visit the Emby website.", "ButtonNewServer": "New Server", "MyDevice": "My Device", "ButtonRemote": "Remote", @@ -2094,7 +2094,7 @@ "MapChannels": "Map Channels", "LabelffmpegPath": "FFmpeg path:", "LabelffmpegVersion": "FFmpeg version:", - "LabelffmpegPathHelp": "The path to your downloaded FFmpeg application, or folder containing FFmpeg.", + "LabelffmpegPathHelp": "The path to the ffmpeg application file, or folder containing ffmpeg.", "SetupFFmpeg": "Setup FFmpeg", "SetupFFmpegHelp": "Emby may require a library or application to convert certain media types. There are many different applications available, however, Emby has been tested to work with ffmpeg. Emby is in no way affiliated with ffmpeg, its ownership, code or distribution.", "EnterFFmpegLocation": "Enter FFmpeg path", diff --git a/dashboard-ui/strings/es-AR.json b/dashboard-ui/strings/es-AR.json index 14a93d2c42..12c617b5e6 100644 --- a/dashboard-ui/strings/es-AR.json +++ b/dashboard-ui/strings/es-AR.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "Salir", "LabelApiDocumentation": "Documentaci\u00f3n API", "LabelBrowseLibrary": "Browse Library", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "Scheduled task failure", "NotificationOptionInstallationFailed": "Installation failure", "NotificationOptionNewLibraryContent": "New content added", - "NotificationOptionNewLibraryContentMultiple": "New content added (multiple)", "NotificationOptionCameraImageUploaded": "Camera image uploaded", "NotificationOptionUserLockedOut": "User locked out", "HeaderSendNotificationHelp": "Notifications are delivered to your Emby inbox. Additional options can be installed from the Services tab.", @@ -1560,7 +1557,7 @@ "LabelPlayMethodDirectPlay": "Direct Playing", "LabelAudioCodec": "Audio: {0}", "LabelVideoCodec": "Video: {0}", - "LabelLocalAccessUrl": "Local access: {0}", + "LabelLocalAccessUrl": "In-Home access: {0}", "LabelRemoteAccessUrl": "Remote access: {0}", "LabelRunningOnPort": "Running on http port {0}.", "LabelRunningOnPorts": "Running on http port {0}, and https port {1}.", @@ -1777,7 +1774,7 @@ "HeaderUnaired": "Unaired", "HeaderMissing": "Missing", "ButtonWebsite": "Website", - "ValueSeriesYearToPresent": "{0}-Present", + "ValueSeriesYearToPresent": "{0} - Present", "ValueAwards": "Awards: {0}", "ValueBudget": "Budget: {0}", "ValueRevenue": "Revenue: {0}", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "Longitude", "MediaInfoShutterSpeed": "Shutter speed", "MediaInfoSoftware": "Software", - "HeaderIfYouLikeCheckTheseOut": "If you like {0}, check these out...", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "Movies", "HeaderAlbums": "Albums", "HeaderGames": "Games", @@ -2097,7 +2094,7 @@ "MapChannels": "Map Channels", "LabelffmpegPath": "FFmpeg path:", "LabelffmpegVersion": "FFmpeg version:", - "LabelffmpegPathHelp": "The path to your downloaded FFmpeg application, or folder containing FFmpeg.", + "LabelffmpegPathHelp": "The path to your downloaded ffmpeg application file, or folder containing ffmpeg.", "SetupFFmpeg": "Setup FFmpeg", "SetupFFmpegHelp": "Emby may require a library or application to convert certain media types. There are many different applications available, however, Emby has been tested to work with ffmpeg. Emby is in no way affiliated with ffmpeg, its ownership, code or distribution.", "EnterFFmpegLocation": "Enter FFmpeg path", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "Play with external player", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update." } \ No newline at end of file diff --git a/dashboard-ui/strings/es-MX.json b/dashboard-ui/strings/es-MX.json index 21cacf5e23..b332c7c930 100644 --- a/dashboard-ui/strings/es-MX.json +++ b/dashboard-ui/strings/es-MX.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Por favor inicie sesi\u00f3n en DSM y vaya al Centro de Paquetes para actualizar.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "Salir", "LabelApiDocumentation": "Documentaci\u00f3n de la API", "LabelBrowseLibrary": "Explorar Biblioteca", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "Falla de tarea programada", "NotificationOptionInstallationFailed": "Falla de instalaci\u00f3n", "NotificationOptionNewLibraryContent": "Nuevo contenido agregado", - "NotificationOptionNewLibraryContentMultiple": "Nuevo contenido agregado (varios)", "NotificationOptionCameraImageUploaded": "Imagen de la c\u00e1mara subida", "NotificationOptionUserLockedOut": "Usuario bloqueado", "HeaderSendNotificationHelp": "Las notificaciones son enviadas a su bandeja. Opciones adicionales pueden ser instaladas desde la pesta\u00f1a de Servicios.", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "Longitud", "MediaInfoShutterSpeed": "Velocidad del obturador", "MediaInfoSoftware": "Software", - "HeaderIfYouLikeCheckTheseOut": "Si te gust\u00f3 {0}, prueba con...", + "HeaderMoreLikeThis": "Mas Como Esto", "HeaderMovies": "Pel\u00edculas", "HeaderAlbums": "\u00c1lbumes", "HeaderGames": "Juegos", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "Si esta carpeta es compartida en su red, proveer la ruta del recurso compartido de red puede permitir a las aplicaciones Emby en otros dispositivos acceder a los archivos de medios directamente.", "ButtonPlayExternalPlayer": "Reproducir con un reproductor externo", "WillRecord": "Se Grabar\u00e1", - "NotScheduledToRecord": "No esta programado para grabar" + "NotScheduledToRecord": "No esta programado para grabar", + "SynologyUpdateInstructions": "Por favor inicie sesi\u00f3n en DSM y vaya al Centro de Paquetes para actualizar." } \ No newline at end of file diff --git a/dashboard-ui/strings/es.json b/dashboard-ui/strings/es.json index eb3c427b16..f773d1c425 100644 --- a/dashboard-ui/strings/es.json +++ b/dashboard-ui/strings/es.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "Salir", "LabelApiDocumentation": "Documentaci\u00f3n API", "LabelBrowseLibrary": "Navegar biblioteca", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "La tarea programada ha fallado", "NotificationOptionInstallationFailed": "Fallo en la instalaci\u00f3n", "NotificationOptionNewLibraryContent": "Nuevo contenido a\u00f1adido", - "NotificationOptionNewLibraryContentMultiple": "Nuevo contenido a\u00f1adido (multiple)", "NotificationOptionCameraImageUploaded": "Imagen de camara se a carcado", "NotificationOptionUserLockedOut": "Usuario bloqueado", "HeaderSendNotificationHelp": "Las notificaciones se env\u00edan la tu bandeja de Emby. Se pueden instalar ajustes adicionales desde la pesta\u00f1a Servicios.", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "Longitud", "MediaInfoShutterSpeed": "Velocidad del obturador", "MediaInfoSoftware": "Software", - "HeaderIfYouLikeCheckTheseOut": "Si te gust\u00f3 {0}, \u00e9chale un vistazo a estas....", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "Pel\u00edculas", "HeaderAlbums": "Albums", "HeaderGames": "Juegos", @@ -2097,7 +2094,7 @@ "MapChannels": "Map Channels", "LabelffmpegPath": "FFmpeg path:", "LabelffmpegVersion": "FFmpeg version:", - "LabelffmpegPathHelp": "The path to your downloaded FFmpeg application, or folder containing FFmpeg.", + "LabelffmpegPathHelp": "The path to your downloaded ffmpeg application file, or folder containing ffmpeg.", "SetupFFmpeg": "Setup FFmpeg", "SetupFFmpegHelp": "Emby may require a library or application to convert certain media types. There are many different applications available, however, Emby has been tested to work with ffmpeg. Emby is in no way affiliated with ffmpeg, its ownership, code or distribution.", "EnterFFmpegLocation": "Enter FFmpeg path", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "Reproducir con un reproductor externo", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update." } \ No newline at end of file diff --git a/dashboard-ui/strings/fi.json b/dashboard-ui/strings/fi.json index ea45cb19d4..842c5a3ebb 100644 --- a/dashboard-ui/strings/fi.json +++ b/dashboard-ui/strings/fi.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "Poistu", "LabelApiDocumentation": "Api Documentation", "LabelBrowseLibrary": "Selaa Kirjastoa", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "Scheduled task failure", "NotificationOptionInstallationFailed": "Installation failure", "NotificationOptionNewLibraryContent": "New content added", - "NotificationOptionNewLibraryContentMultiple": "New content added (multiple)", "NotificationOptionCameraImageUploaded": "Camera image uploaded", "NotificationOptionUserLockedOut": "User locked out", "HeaderSendNotificationHelp": "Notifications are delivered to your Emby inbox. Additional options can be installed from the Services tab.", @@ -1560,7 +1557,7 @@ "LabelPlayMethodDirectPlay": "Direct Playing", "LabelAudioCodec": "Audio: {0}", "LabelVideoCodec": "Video: {0}", - "LabelLocalAccessUrl": "Local access: {0}", + "LabelLocalAccessUrl": "In-Home access: {0}", "LabelRemoteAccessUrl": "Remote access: {0}", "LabelRunningOnPort": "Running on http port {0}.", "LabelRunningOnPorts": "Running on http port {0}, and https port {1}.", @@ -1777,7 +1774,7 @@ "HeaderUnaired": "Unaired", "HeaderMissing": "Missing", "ButtonWebsite": "Website", - "ValueSeriesYearToPresent": "{0}-Present", + "ValueSeriesYearToPresent": "{0} - Present", "ValueAwards": "Awards: {0}", "ValueBudget": "Budget: {0}", "ValueRevenue": "Revenue: {0}", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "Longitude", "MediaInfoShutterSpeed": "Shutter speed", "MediaInfoSoftware": "Software", - "HeaderIfYouLikeCheckTheseOut": "If you like {0}, check these out...", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "Movies", "HeaderAlbums": "Albums", "HeaderGames": "Games", @@ -2097,7 +2094,7 @@ "MapChannels": "Map Channels", "LabelffmpegPath": "FFmpeg path:", "LabelffmpegVersion": "FFmpeg version:", - "LabelffmpegPathHelp": "The path to your downloaded FFmpeg application, or folder containing FFmpeg.", + "LabelffmpegPathHelp": "The path to your downloaded ffmpeg application file, or folder containing ffmpeg.", "SetupFFmpeg": "Setup FFmpeg", "SetupFFmpegHelp": "Emby may require a library or application to convert certain media types. There are many different applications available, however, Emby has been tested to work with ffmpeg. Emby is in no way affiliated with ffmpeg, its ownership, code or distribution.", "EnterFFmpegLocation": "Enter FFmpeg path", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "Play with external player", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update." } \ No newline at end of file diff --git a/dashboard-ui/strings/fr-CA.json b/dashboard-ui/strings/fr-CA.json index 3c6bd23807..7aec5e9b61 100644 --- a/dashboard-ui/strings/fr-CA.json +++ b/dashboard-ui/strings/fr-CA.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "Quitter", "LabelApiDocumentation": "Documentation de l'API", "LabelBrowseLibrary": "Parcourir la biblioth\u00e8que", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "Scheduled task failure", "NotificationOptionInstallationFailed": "Installation failure", "NotificationOptionNewLibraryContent": "New content added", - "NotificationOptionNewLibraryContentMultiple": "New content added (multiple)", "NotificationOptionCameraImageUploaded": "Camera image uploaded", "NotificationOptionUserLockedOut": "User locked out", "HeaderSendNotificationHelp": "Notifications are delivered to your Emby inbox. Additional options can be installed from the Services tab.", @@ -1560,7 +1557,7 @@ "LabelPlayMethodDirectPlay": "Direct Playing", "LabelAudioCodec": "Audio: {0}", "LabelVideoCodec": "Video: {0}", - "LabelLocalAccessUrl": "Local access: {0}", + "LabelLocalAccessUrl": "In-Home access: {0}", "LabelRemoteAccessUrl": "Remote access: {0}", "LabelRunningOnPort": "Running on http port {0}.", "LabelRunningOnPorts": "Running on http port {0}, and https port {1}.", @@ -1777,7 +1774,7 @@ "HeaderUnaired": "Unaired", "HeaderMissing": "Missing", "ButtonWebsite": "Website", - "ValueSeriesYearToPresent": "{0}-Present", + "ValueSeriesYearToPresent": "{0} - Present", "ValueAwards": "Awards: {0}", "ValueBudget": "Budget: {0}", "ValueRevenue": "Revenue: {0}", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "Longitude", "MediaInfoShutterSpeed": "Shutter speed", "MediaInfoSoftware": "Software", - "HeaderIfYouLikeCheckTheseOut": "If you like {0}, check these out...", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "Movies", "HeaderAlbums": "Albums", "HeaderGames": "Games", @@ -2097,7 +2094,7 @@ "MapChannels": "Map Channels", "LabelffmpegPath": "FFmpeg path:", "LabelffmpegVersion": "FFmpeg version:", - "LabelffmpegPathHelp": "The path to your downloaded FFmpeg application, or folder containing FFmpeg.", + "LabelffmpegPathHelp": "The path to your downloaded ffmpeg application file, or folder containing ffmpeg.", "SetupFFmpeg": "Setup FFmpeg", "SetupFFmpegHelp": "Emby may require a library or application to convert certain media types. There are many different applications available, however, Emby has been tested to work with ffmpeg. Emby is in no way affiliated with ffmpeg, its ownership, code or distribution.", "EnterFFmpegLocation": "Enter FFmpeg path", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "Play with external player", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update." } \ No newline at end of file diff --git a/dashboard-ui/strings/fr-FR.json b/dashboard-ui/strings/fr-FR.json index 53e5c60183..1acf1154fe 100644 --- a/dashboard-ui/strings/fr-FR.json +++ b/dashboard-ui/strings/fr-FR.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "Quitter", "LabelApiDocumentation": "Documentation Api", "LabelBrowseLibrary": "Parcourir la Biblioth\u00e8que", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "Scheduled task failure", "NotificationOptionInstallationFailed": "Installation failure", "NotificationOptionNewLibraryContent": "New content added", - "NotificationOptionNewLibraryContentMultiple": "New content added (multiple)", "NotificationOptionCameraImageUploaded": "Camera image uploaded", "NotificationOptionUserLockedOut": "User locked out", "HeaderSendNotificationHelp": "Notifications are delivered to your Emby inbox. Additional options can be installed from the Services tab.", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "Longitude", "MediaInfoShutterSpeed": "Shutter speed", "MediaInfoSoftware": "Software", - "HeaderIfYouLikeCheckTheseOut": "If you like {0}, check these out...", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "Movies", "HeaderAlbums": "Albums", "HeaderGames": "Games", @@ -2097,7 +2094,7 @@ "MapChannels": "Map Channels", "LabelffmpegPath": "FFmpeg chemin:", "LabelffmpegVersion": "FFmpeg version:", - "LabelffmpegPathHelp": "The path to your downloaded FFmpeg application, or folder containing FFmpeg.", + "LabelffmpegPathHelp": "The path to your downloaded ffmpeg application file, or folder containing ffmpeg.", "SetupFFmpeg": "Setup FFmpeg", "SetupFFmpegHelp": "Emby may require a library or application to convert certain media types. There are many different applications available, however, Emby has been tested to work with ffmpeg. Emby is in no way affiliated with ffmpeg, its ownership, code or distribution.", "EnterFFmpegLocation": "Enter FFmpeg path", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "Play with external player", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update." } \ No newline at end of file diff --git a/dashboard-ui/strings/fr.json b/dashboard-ui/strings/fr.json index bd20950eaa..e4ae2ee63e 100644 --- a/dashboard-ui/strings/fr.json +++ b/dashboard-ui/strings/fr.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "Quitter", "LabelApiDocumentation": "Documentation de l'API", "LabelBrowseLibrary": "Parcourir la biblioth\u00e8que", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "\u00c9chec de t\u00e2che planifi\u00e9e", "NotificationOptionInstallationFailed": "\u00c9chec d'installation", "NotificationOptionNewLibraryContent": "Nouveau contenu ajout\u00e9", - "NotificationOptionNewLibraryContentMultiple": "Nouveau contenu ajout\u00e9 (multiple)", "NotificationOptionCameraImageUploaded": "L'image de l'appareil photo a \u00e9t\u00e9 upload\u00e9e", "NotificationOptionUserLockedOut": "Utilisateur verrouill\u00e9", "HeaderSendNotificationHelp": "Les notifications sont pr\u00e9sent\u00e9es dans votre bo\u00eete de messagerie . Des options suppl\u00e9mentaires peuvent \u00eatre install\u00e9es depuis l'onglet Services.", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "Longitude", "MediaInfoShutterSpeed": "Vitesse d'opturation", "MediaInfoSoftware": "Logiciel", - "HeaderIfYouLikeCheckTheseOut": "Si vous aimez {0}, essayez ceci..", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "Films", "HeaderAlbums": "Albums", "HeaderGames": "Jeux", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "Lire avec lecteur externe", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update." } \ No newline at end of file diff --git a/dashboard-ui/strings/gsw.json b/dashboard-ui/strings/gsw.json index ebdd802b7f..f8d18961fc 100644 --- a/dashboard-ui/strings/gsw.json +++ b/dashboard-ui/strings/gsw.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "Verlasse", "LabelApiDocumentation": "API Dokumentatione", "LabelBrowseLibrary": "Dursuech d'Bibliothek", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "Scheduled task failure", "NotificationOptionInstallationFailed": "Installation failure", "NotificationOptionNewLibraryContent": "New content added", - "NotificationOptionNewLibraryContentMultiple": "New content added (multiple)", "NotificationOptionCameraImageUploaded": "Camera image uploaded", "NotificationOptionUserLockedOut": "User locked out", "HeaderSendNotificationHelp": "Notifications are delivered to your Emby inbox. Additional options can be installed from the Services tab.", @@ -1560,7 +1557,7 @@ "LabelPlayMethodDirectPlay": "Direct Playing", "LabelAudioCodec": "Audio: {0}", "LabelVideoCodec": "Video: {0}", - "LabelLocalAccessUrl": "Local access: {0}", + "LabelLocalAccessUrl": "In-Home access: {0}", "LabelRemoteAccessUrl": "Remote access: {0}", "LabelRunningOnPort": "Running on http port {0}.", "LabelRunningOnPorts": "Running on http port {0}, and https port {1}.", @@ -1777,7 +1774,7 @@ "HeaderUnaired": "Unaired", "HeaderMissing": "Missing", "ButtonWebsite": "Website", - "ValueSeriesYearToPresent": "{0}-Present", + "ValueSeriesYearToPresent": "{0} - Present", "ValueAwards": "Awards: {0}", "ValueBudget": "Budget: {0}", "ValueRevenue": "Revenue: {0}", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "Longitude", "MediaInfoShutterSpeed": "Shutter speed", "MediaInfoSoftware": "Software", - "HeaderIfYouLikeCheckTheseOut": "If you like {0}, check these out...", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "Movies", "HeaderAlbums": "Albums", "HeaderGames": "Games", @@ -2097,7 +2094,7 @@ "MapChannels": "Map Channels", "LabelffmpegPath": "FFmpeg path:", "LabelffmpegVersion": "FFmpeg version:", - "LabelffmpegPathHelp": "The path to your downloaded FFmpeg application, or folder containing FFmpeg.", + "LabelffmpegPathHelp": "The path to your downloaded ffmpeg application file, or folder containing ffmpeg.", "SetupFFmpeg": "Setup FFmpeg", "SetupFFmpegHelp": "Emby may require a library or application to convert certain media types. There are many different applications available, however, Emby has been tested to work with ffmpeg. Emby is in no way affiliated with ffmpeg, its ownership, code or distribution.", "EnterFFmpegLocation": "Enter FFmpeg path", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "Play with external player", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update." } \ No newline at end of file diff --git a/dashboard-ui/strings/he.json b/dashboard-ui/strings/he.json index 87bb954607..dab851f131 100644 --- a/dashboard-ui/strings/he.json +++ b/dashboard-ui/strings/he.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "\u05d9\u05e6\u05d9\u05d0\u05d4", "LabelApiDocumentation": "\u05ea\u05d9\u05e2\u05d5\u05d3 API", "LabelBrowseLibrary": "\u05d3\u05e4\u05d3\u05e3 \u05d1\u05e1\u05e4\u05e8\u05d9\u05d4", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "\u05de\u05e9\u05d9\u05de\u05d4 \u05de\u05ea\u05d5\u05d6\u05de\u05e0\u05ea \u05e0\u05db\u05e9\u05dc\u05d4", "NotificationOptionInstallationFailed": "\u05d4\u05ea\u05e7\u05e0\u05d4 \u05e0\u05db\u05e9\u05dc\u05d4", "NotificationOptionNewLibraryContent": "\u05ea\u05d5\u05db\u05df \u05d7\u05d3\u05e9 \u05e0\u05d5\u05e1\u05e3", - "NotificationOptionNewLibraryContentMultiple": "\u05d4\u05ea\u05d5\u05d5\u05e1\u05e4\u05d5 \u05ea\u05db\u05e0\u05d9\u05dd \u05d7\u05d3\u05e9\u05d9\u05dd", "NotificationOptionCameraImageUploaded": "Camera image uploaded", "NotificationOptionUserLockedOut": "User locked out", "HeaderSendNotificationHelp": "Notifications are delivered to your Emby inbox. Additional options can be installed from the Services tab.", @@ -1560,7 +1557,7 @@ "LabelPlayMethodDirectPlay": "Direct Playing", "LabelAudioCodec": "Audio: {0}", "LabelVideoCodec": "Video: {0}", - "LabelLocalAccessUrl": "Local access: {0}", + "LabelLocalAccessUrl": "In-Home access: {0}", "LabelRemoteAccessUrl": "Remote access: {0}", "LabelRunningOnPort": "Running on http port {0}.", "LabelRunningOnPorts": "Running on http port {0}, and https port {1}.", @@ -1777,7 +1774,7 @@ "HeaderUnaired": "Unaired", "HeaderMissing": "Missing", "ButtonWebsite": "Website", - "ValueSeriesYearToPresent": "{0}-Present", + "ValueSeriesYearToPresent": "{0} - Present", "ValueAwards": "Awards: {0}", "ValueBudget": "Budget: {0}", "ValueRevenue": "Revenue: {0}", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "Longitude", "MediaInfoShutterSpeed": "Shutter speed", "MediaInfoSoftware": "Software", - "HeaderIfYouLikeCheckTheseOut": "If you like {0}, check these out...", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "\u05e1\u05e8\u05d8\u05d9\u05dd", "HeaderAlbums": "Albums", "HeaderGames": "Games", @@ -2097,7 +2094,7 @@ "MapChannels": "Map Channels", "LabelffmpegPath": "FFmpeg path:", "LabelffmpegVersion": "FFmpeg version:", - "LabelffmpegPathHelp": "The path to your downloaded FFmpeg application, or folder containing FFmpeg.", + "LabelffmpegPathHelp": "The path to your downloaded ffmpeg application file, or folder containing ffmpeg.", "SetupFFmpeg": "Setup FFmpeg", "SetupFFmpegHelp": "Emby may require a library or application to convert certain media types. There are many different applications available, however, Emby has been tested to work with ffmpeg. Emby is in no way affiliated with ffmpeg, its ownership, code or distribution.", "EnterFFmpegLocation": "Enter FFmpeg path", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "Play with external player", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update." } \ No newline at end of file diff --git a/dashboard-ui/strings/hr.json b/dashboard-ui/strings/hr.json index 778d6c772b..24c4cc9915 100644 --- a/dashboard-ui/strings/hr.json +++ b/dashboard-ui/strings/hr.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "Izlaz", "LabelApiDocumentation": "Api dokumentacija", "LabelBrowseLibrary": "Pregledaj biblioteku", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "Zakazan zadatak nije izvr\u0161en", "NotificationOptionInstallationFailed": "Instalacija nije izvr\u0161ena", "NotificationOptionNewLibraryContent": "Novi sadr\u017eaj dodan", - "NotificationOptionNewLibraryContentMultiple": "Novi sadr\u017eaj dodan (vi\u0161estruki)", "NotificationOptionCameraImageUploaded": "Slike kamere preuzete", "NotificationOptionUserLockedOut": "Korisnik zaklju\u010dan", "HeaderSendNotificationHelp": "Obavijesti se dostavljaju u va\u0161 Emby inbox. Dodatne opcije mogu biti instalirane na kartici Servisa.", @@ -1432,7 +1429,7 @@ "ButtonScheduledTasks": "Zakazani zadaci", "MessageItemsAdded": "Stavke su dodane", "HeaderSelectCertificatePath": "Odaberi put certifikata:", - "ConfirmMessageScheduledTaskButton": "Ova operacija se obi\u010dno automatski pokre\u0107e kao zakazan zadatak i ne zahtijeva ru\u010dnu intervenciju. Za pode\u0161avanje rasporeda zadataka, pogledajte:", + "ConfirmMessageScheduledTaskButton": "Ova operacija se obi\u010dno automatski pokre\u0107e kao zakazan zadatak i ne zahtijeva ru\u010dnu intervenciju. Za pode\u0161avanje rasporeda zadataka kliknite na raspored zadatak.", "HeaderSupporterBenefit": "Aktivna pretplata Emby Premijere omogu\u0107uje dodatne pogodnosti kao \u0161to su pristup za sinkronizaciju, premium dodataka, internet sadr\u017eaja kanala, i jo\u0161 mnogo toga. {0} Saznajte vi\u0161e {1}.", "HeaderWelcomeToProjectServerDashboard": "Dobrodo\u0161li u kontrlonu plo\u010du Emby Server-a", "HeaderWelcomeToProjectWebClient": "Dobrodo\u0161li u Emby", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "Du\u017eina", "MediaInfoShutterSpeed": "Brzina okida\u010da", "MediaInfoSoftware": "Softver", - "HeaderIfYouLikeCheckTheseOut": "Ako vam se svi\u0111a {0}, provjerite ove...", + "HeaderMoreLikeThis": "Vi\u0161e ovakvih", "HeaderMovies": "Filmovi", "HeaderAlbums": "Albums", "HeaderGames": "Igre", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "Ako se ova mapa dijeli na mre\u017ei, opskrba zajedni\u010dke mre\u017ene mre\u017ee mo\u017ee dopustiti Emby aplikacijama na drugim ure\u0111ajima izravni pristup multimedijskim datotekama.", "ButtonPlayExternalPlayer": "Reproduciraj sa vanjskim pokreta\u010dem", "WillRecord": "Snimit \u0107e se", - "NotScheduledToRecord": "Nije predvi\u0111en za snimanje" + "NotScheduledToRecord": "Nije predvi\u0111en za snimanje", + "SynologyUpdateInstructions": "Molimo, prijavite se u DSM i oti\u0111ite na centar paketa za a\u017euriranje." } \ No newline at end of file diff --git a/dashboard-ui/strings/hu.json b/dashboard-ui/strings/hu.json index 0ee42f0af6..dd40dd666b 100644 --- a/dashboard-ui/strings/hu.json +++ b/dashboard-ui/strings/hu.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "Kil\u00e9p\u00e9s", "LabelApiDocumentation": "Api dokument\u00e1ci\u00f3", "LabelBrowseLibrary": "M\u00e9diat\u00e1r tall\u00f3z\u00e1sa", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "Scheduled task failure", "NotificationOptionInstallationFailed": "Telep\u00edt\u00e9si hiba", "NotificationOptionNewLibraryContent": "\u00daj tartalom hozz\u00e1adva", - "NotificationOptionNewLibraryContentMultiple": "\u00daj tartalom hozz\u00e1adva (t\u00f6bbsz\u00f6r\u00f6s)", "NotificationOptionCameraImageUploaded": "Kamera k\u00e9p felt\u00f6ltve", "NotificationOptionUserLockedOut": "Felhaszn\u00e1l\u00f3 tiltva", "HeaderSendNotificationHelp": "Notifications are delivered to your Emby inbox. Additional options can be installed from the Services tab.", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "Longitude", "MediaInfoShutterSpeed": "Shutter speed", "MediaInfoSoftware": "Software", - "HeaderIfYouLikeCheckTheseOut": "Ha tetszett a(z) {0}, n\u00e9zd meg ezeket...", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "Filmek", "HeaderAlbums": "Albumok", "HeaderGames": "Games", @@ -2097,7 +2094,7 @@ "MapChannels": "Map Channels", "LabelffmpegPath": "FFmpeg path:", "LabelffmpegVersion": "FFmpeg version:", - "LabelffmpegPathHelp": "The path to your downloaded FFmpeg application, or folder containing FFmpeg.", + "LabelffmpegPathHelp": "The path to your downloaded ffmpeg application file, or folder containing ffmpeg.", "SetupFFmpeg": "Setup FFmpeg", "SetupFFmpegHelp": "Emby may require a library or application to convert certain media types. There are many different applications available, however, Emby has been tested to work with ffmpeg. Emby is in no way affiliated with ffmpeg, its ownership, code or distribution.", "EnterFFmpegLocation": "Enter FFmpeg path", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "Lej\u00e1tsz\u00e1s k\u00fcls\u0151 lej\u00e1tsz\u00f3val", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update." } \ No newline at end of file diff --git a/dashboard-ui/strings/id.json b/dashboard-ui/strings/id.json index d1e63c72b6..05bba41bea 100644 --- a/dashboard-ui/strings/id.json +++ b/dashboard-ui/strings/id.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "Keluar", "LabelApiDocumentation": "Dokumentasi Api", "LabelBrowseLibrary": "Telusuri Pustaka", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "Scheduled task failure", "NotificationOptionInstallationFailed": "Installation failure", "NotificationOptionNewLibraryContent": "New content added", - "NotificationOptionNewLibraryContentMultiple": "New content added (multiple)", "NotificationOptionCameraImageUploaded": "Camera image uploaded", "NotificationOptionUserLockedOut": "User locked out", "HeaderSendNotificationHelp": "Notifications are delivered to your Emby inbox. Additional options can be installed from the Services tab.", @@ -1560,7 +1557,7 @@ "LabelPlayMethodDirectPlay": "Direct Playing", "LabelAudioCodec": "Audio: {0}", "LabelVideoCodec": "Video: {0}", - "LabelLocalAccessUrl": "Local access: {0}", + "LabelLocalAccessUrl": "In-Home access: {0}", "LabelRemoteAccessUrl": "Remote access: {0}", "LabelRunningOnPort": "Running on http port {0}.", "LabelRunningOnPorts": "Running on http port {0}, and https port {1}.", @@ -1777,7 +1774,7 @@ "HeaderUnaired": "Unaired", "HeaderMissing": "Missing", "ButtonWebsite": "Website", - "ValueSeriesYearToPresent": "{0}-Present", + "ValueSeriesYearToPresent": "{0} - Present", "ValueAwards": "Awards: {0}", "ValueBudget": "Budget: {0}", "ValueRevenue": "Revenue: {0}", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "Longitude", "MediaInfoShutterSpeed": "Shutter speed", "MediaInfoSoftware": "Software", - "HeaderIfYouLikeCheckTheseOut": "If you like {0}, check these out...", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "Movies", "HeaderAlbums": "Albums", "HeaderGames": "Games", @@ -2097,7 +2094,7 @@ "MapChannels": "Map Channels", "LabelffmpegPath": "FFmpeg path:", "LabelffmpegVersion": "FFmpeg version:", - "LabelffmpegPathHelp": "The path to your downloaded FFmpeg application, or folder containing FFmpeg.", + "LabelffmpegPathHelp": "The path to your downloaded ffmpeg application file, or folder containing ffmpeg.", "SetupFFmpeg": "Setup FFmpeg", "SetupFFmpegHelp": "Emby may require a library or application to convert certain media types. There are many different applications available, however, Emby has been tested to work with ffmpeg. Emby is in no way affiliated with ffmpeg, its ownership, code or distribution.", "EnterFFmpegLocation": "Enter FFmpeg path", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "Play with external player", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update." } \ No newline at end of file diff --git a/dashboard-ui/strings/it.json b/dashboard-ui/strings/it.json index d470372c1e..ab302a2ce1 100644 --- a/dashboard-ui/strings/it.json +++ b/dashboard-ui/strings/it.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "Esci", "LabelApiDocumentation": "Documentazione Api", "LabelBrowseLibrary": "Esplora la libreria", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "Operazione pianificata fallita", "NotificationOptionInstallationFailed": "Installazione fallita", "NotificationOptionNewLibraryContent": "Nuovo contenuto aggiunto", - "NotificationOptionNewLibraryContentMultiple": "Nuovi contenuti aggiunti (multipli)", "NotificationOptionCameraImageUploaded": "Immagine fotocamera caricata", "NotificationOptionUserLockedOut": "Utente bloccato", "HeaderSendNotificationHelp": "Le notifiche vengono consegnati alla tua casella di posta ricamato. Ulteriori opzioni possono essere installati dalla scheda Servizi.", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "Longitudine", "MediaInfoShutterSpeed": "velocit\u00e0 otturatore", "MediaInfoSoftware": "Software", - "HeaderIfYouLikeCheckTheseOut": "Se ti piace {0}, guarda questi ...", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "Film", "HeaderAlbums": "Album", "HeaderGames": "Giochi", @@ -2097,7 +2094,7 @@ "MapChannels": "Map Channels", "LabelffmpegPath": "FFmpeg path:", "LabelffmpegVersion": "FFmpeg version:", - "LabelffmpegPathHelp": "The path to your downloaded FFmpeg application, or folder containing FFmpeg.", + "LabelffmpegPathHelp": "The path to your downloaded ffmpeg application file, or folder containing ffmpeg.", "SetupFFmpeg": "Setup FFmpeg", "SetupFFmpegHelp": "Emby may require a library or application to convert certain media types. There are many different applications available, however, Emby has been tested to work with ffmpeg. Emby is in no way affiliated with ffmpeg, its ownership, code or distribution.", "EnterFFmpegLocation": "Enter FFmpeg path", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "Play con un lettore esterno", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update." } \ No newline at end of file diff --git a/dashboard-ui/strings/kk.json b/dashboard-ui/strings/kk.json index 60cf1a9bef..ddae3211a3 100644 --- a/dashboard-ui/strings/kk.json +++ b/dashboard-ui/strings/kk.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "\u0416\u0430\u04a3\u0430\u0440\u0442\u0443 \u04af\u0448\u0456\u043d DSM \u043e\u0440\u043d\u044b\u043d\u0430 \u043a\u0456\u0440\u0456\u04a3\u0456\u0437 \u0436\u04d9\u043d\u0435 Package Center \u049b\u0430\u0440\u0430\u0439 \u04e9\u0442\u0456\u04a3\u0456\u0437.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "\u0428\u044b\u0493\u0443", "LabelApiDocumentation": "API \u049b\u04b1\u0436\u0430\u0442\u0442\u0430\u043c\u0430\u0441\u044b", "LabelBrowseLibrary": "\u0422\u0430\u0441\u044b\u0493\u044b\u0448\u0445\u0430\u043d\u0430\u043d\u044b \u0448\u043e\u043b\u0443", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "\u0416\u043e\u0441\u043f\u0430\u0440\u043b\u0430\u0493\u0430\u043d \u0442\u0430\u043f\u0441\u044b\u0440\u043c\u0430 \u0441\u04d9\u0442\u0441\u0456\u0437\u0434\u0456\u0433\u0456", "NotificationOptionInstallationFailed": "\u041e\u0440\u043d\u0430\u0442\u0443 \u0441\u04d9\u0442\u0441\u0456\u0437\u0434\u0456\u0433\u0456", "NotificationOptionNewLibraryContent": "\u0416\u0430\u04a3\u0430 \u043c\u0430\u0437\u043c\u04b1\u043d \u04af\u0441\u0442\u0435\u043b\u0433\u0435\u043d", - "NotificationOptionNewLibraryContentMultiple": "\u0416\u0430\u04a3\u0430 \u043c\u0430\u0437\u043c\u04b1\u043d \u049b\u043e\u0441\u044b\u043b\u0434\u044b (\u043a\u04e9\u043f\u0442\u0435\u0433\u0435\u043d)", "NotificationOptionCameraImageUploaded": "\u041a\u0430\u043c\u0435\u0440\u0430\u0434\u0430\u043d \u0444\u043e\u0442\u043e\u0441\u0443\u0440\u0435\u0442 \u043a\u0435\u0440\u0456 \u049b\u043e\u0442\u0430\u0440\u044b\u043b\u0493\u0430\u043d", "NotificationOptionUserLockedOut": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b \u049b\u04b1\u0440\u0441\u0430\u0443\u043b\u044b", "HeaderSendNotificationHelp": "\u0425\u0430\u0431\u0430\u0440\u043b\u0430\u043d\u0434\u044b\u0440\u0443\u043b\u0430\u0440 Emby \u043a\u0456\u0440\u0456\u0441 \u0436\u04d9\u0448\u0456\u0433\u0456\u043d\u0435 \u0436\u0435\u0442\u043a\u0456\u0437\u0456\u043b\u0435\u0434\u0456. \u049a\u043e\u0441\u044b\u043c\u0448\u0430 \u043e\u043f\u0446\u0438\u044f\u043b\u0430\u0440 \u049a\u044b\u0437\u043c\u0435\u0442\u0442\u0435\u0440 \u049b\u043e\u0439\u044b\u043d\u0434\u044b\u0441\u044b\u043d\u0430\u043d \u043e\u0440\u043d\u0430\u0442\u044b\u043b\u0443 \u043c\u04af\u043c\u043a\u0456\u043d.", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "\u0411\u043e\u0439\u043b\u044b\u0493\u044b", "MediaInfoShutterSpeed": "\u041e\u0431\u0442-\u0440 \u0436\u044b\u043b\u0434-\u0493\u044b", "MediaInfoSoftware": "\u0411\u0430\u0493\u0434\u0430\u0440\u043b\u0430\u043c\u0430\u0441\u044b", - "HeaderIfYouLikeCheckTheseOut": "\u0415\u0433\u0435\u0440 {0} \u04b1\u043d\u0430\u0441\u0430, \u0431\u04b1\u043b\u0430\u0440\u0434\u044b \u0431\u0430\u0439\u049b\u0430\u04a3\u044b\u0437...", + "HeaderMoreLikeThis": "\u041e\u0441\u044b \u0441\u0438\u044f\u049b\u0442\u044b \u043a\u04e9\u0431\u0456\u0440\u0435\u043a", "HeaderMovies": "\u0424\u0438\u043b\u044c\u043c\u0434\u0435\u0440", "HeaderAlbums": "\u0410\u043b\u044c\u0431\u043e\u043c\u0434\u0430\u0440", "HeaderGames": "\u041e\u0439\u044b\u043d\u0434\u0430\u0440", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "\u0415\u0433\u0435\u0440 \u043e\u0441\u044b \u049b\u0430\u043b\u0442\u0430 \u04e9\u0437 \u0436\u0435\u043b\u0456\u04a3\u0456\u0437\u0434\u0435 \u043e\u0440\u0442\u0430\u049b\u0442\u0430\u0441\u0442\u044b\u0440\u044b\u043b\u0441\u0430, \u0436\u0435\u043b\u0456\u0434\u0435 \u043e\u0440\u0442\u0430\u049b\u0442\u0430\u0441\u0442\u044b\u0440\u044b\u043b\u0493\u0430\u043d \u0436\u043e\u043b\u0434\u044b \u049b\u0430\u043c\u0442\u0430\u043c\u0430\u0441\u044b\u0437 \u0435\u0442\u0443 \u0431\u0430\u0441\u049b\u0430 \u049b\u04b1\u0440\u044b\u043b\u0493\u044b\u043b\u0430\u0440\u0434\u0430\u0493\u044b Emby-\u0431\u0430\u0493\u0434\u0430\u0440\u043b\u0430\u043c\u0430\u043b\u0430\u0440\u0493\u0430 \u0442\u0430\u0441\u044b\u0493\u044b\u0448 \u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b\u043d\u0430 \u0442\u0456\u043a\u0435\u043b\u0435\u0439 \u049b\u043e\u043b \u0436\u0435\u0442\u043a\u0456\u0437\u0443\u0433\u0435 \u043c\u04af\u043c\u043a\u0456\u043d\u0434\u0456\u043a \u0431\u0435\u0440\u0435\u0434\u0456.", "ButtonPlayExternalPlayer": "\u0421\u044b\u0440\u0442\u049b\u044b \u043e\u0439\u043d\u0430\u0442\u049b\u044b\u0448\u043f\u0435\u043d \u043e\u0439\u043d\u0430\u0442\u0443", "WillRecord": "\u0416\u0430\u0437\u044b\u043b\u0430\u0434\u044b", - "NotScheduledToRecord": "\u0416\u0430\u0437\u0443\u0493\u0430 \u0436\u043e\u0441\u043f\u0430\u0440\u043b\u0430\u043d\u0431\u0430\u0493\u0430\u043d" + "NotScheduledToRecord": "\u0416\u0430\u0437\u0443\u0493\u0430 \u0436\u043e\u0441\u043f\u0430\u0440\u043b\u0430\u043d\u0431\u0430\u0493\u0430\u043d", + "SynologyUpdateInstructions": "\u0416\u0430\u04a3\u0430\u0440\u0442\u0443 \u04af\u0448\u0456\u043d DSM \u043e\u0440\u043d\u044b\u043d\u0430 \u043a\u0456\u0440\u0456\u04a3\u0456\u0437 \u0436\u04d9\u043d\u0435 Package Center \u049b\u0430\u0440\u0430\u0439 \u04e9\u0442\u0456\u04a3\u0456\u0437." } \ No newline at end of file diff --git a/dashboard-ui/strings/ko.json b/dashboard-ui/strings/ko.json index d09ab9700e..c5a7b132d5 100644 --- a/dashboard-ui/strings/ko.json +++ b/dashboard-ui/strings/ko.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "\uc885\ub8cc", "LabelApiDocumentation": "Api \ubb38\uc11c", "LabelBrowseLibrary": "\ub77c\uc774\ube0c\ub7ec\ub9ac \ud0d0\uc0c9", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "\uc608\uc57d \uc791\uc5c5 \uc2e4\ud328", "NotificationOptionInstallationFailed": "\uc124\uce58 \uc2e4\ud328", "NotificationOptionNewLibraryContent": "\uc0c8 \ucf58\ud150\ud2b8 \ucd94\uac00\ub428", - "NotificationOptionNewLibraryContentMultiple": "\uc0c8 \ucf58\ub374\ud2b8 \ucd94\uac00\ub428 (\ubcf5\uc218)", "NotificationOptionCameraImageUploaded": "\uce74\uba54\ub77c \uc774\ubbf8\uc9c0 \uc5c5\ub85c\ub4dc\ub428", "NotificationOptionUserLockedOut": "User locked out", "HeaderSendNotificationHelp": "\uc54c\ub9bc\uc774 Emby \uc218\uc2e0\ud568\uc73c\ub85c \uc804\uc1a1\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \ucd94\uac00 \uc635\uc158\uc744 \uc11c\ube44\uc2a4 \ud0ed\uc5d0\uc11c \uc124\uce58\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.", @@ -1777,7 +1774,7 @@ "HeaderUnaired": "Unaired", "HeaderMissing": "\ub204\ub77d", "ButtonWebsite": "\uc6f9\uc0ac\uc774\ud2b8", - "ValueSeriesYearToPresent": "{0}-Present", + "ValueSeriesYearToPresent": "{0} - Present", "ValueAwards": "Awards: {0}", "ValueBudget": "Budget: {0}", "ValueRevenue": "Revenue: {0}", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "Longitude", "MediaInfoShutterSpeed": "\uc154\ud130 \uc18d\ub3c4", "MediaInfoSoftware": "\uc18c\ud504\ud2b8\uc6e8\uc5b4", - "HeaderIfYouLikeCheckTheseOut": "If you like {0}, check these out...", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "\uc601\ud654", "HeaderAlbums": "\uc568\ubc94", "HeaderGames": "\uac8c\uc784", @@ -2097,7 +2094,7 @@ "MapChannels": "Map Channels", "LabelffmpegPath": "FFmpeg path:", "LabelffmpegVersion": "FFmpeg version:", - "LabelffmpegPathHelp": "The path to your downloaded FFmpeg application, or folder containing FFmpeg.", + "LabelffmpegPathHelp": "The path to your downloaded ffmpeg application file, or folder containing ffmpeg.", "SetupFFmpeg": "Setup FFmpeg", "SetupFFmpegHelp": "Emby may require a library or application to convert certain media types. There are many different applications available, however, Emby has been tested to work with ffmpeg. Emby is in no way affiliated with ffmpeg, its ownership, code or distribution.", "EnterFFmpegLocation": "Enter FFmpeg path", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "\uc678\ubd80 \ud50c\ub808\uc774\uc5b4\ub85c \uc7ac\uc0dd", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update." } \ No newline at end of file diff --git a/dashboard-ui/strings/ms.json b/dashboard-ui/strings/ms.json index 553fe3be12..ae509d4a17 100644 --- a/dashboard-ui/strings/ms.json +++ b/dashboard-ui/strings/ms.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "Tutup", "LabelApiDocumentation": "Api Documentation", "LabelBrowseLibrary": "Imbas Pengumpulan", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "Scheduled task failure", "NotificationOptionInstallationFailed": "Installation failure", "NotificationOptionNewLibraryContent": "New content added", - "NotificationOptionNewLibraryContentMultiple": "New content added (multiple)", "NotificationOptionCameraImageUploaded": "Camera image uploaded", "NotificationOptionUserLockedOut": "User locked out", "HeaderSendNotificationHelp": "Notifications are delivered to your Emby inbox. Additional options can be installed from the Services tab.", @@ -1560,7 +1557,7 @@ "LabelPlayMethodDirectPlay": "Direct Playing", "LabelAudioCodec": "Audio: {0}", "LabelVideoCodec": "Video: {0}", - "LabelLocalAccessUrl": "Local access: {0}", + "LabelLocalAccessUrl": "In-Home access: {0}", "LabelRemoteAccessUrl": "Remote access: {0}", "LabelRunningOnPort": "Running on http port {0}.", "LabelRunningOnPorts": "Running on http port {0}, and https port {1}.", @@ -1777,7 +1774,7 @@ "HeaderUnaired": "Unaired", "HeaderMissing": "Missing", "ButtonWebsite": "Website", - "ValueSeriesYearToPresent": "{0}-Present", + "ValueSeriesYearToPresent": "{0} - Present", "ValueAwards": "Awards: {0}", "ValueBudget": "Budget: {0}", "ValueRevenue": "Revenue: {0}", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "Longitude", "MediaInfoShutterSpeed": "Shutter speed", "MediaInfoSoftware": "Software", - "HeaderIfYouLikeCheckTheseOut": "If you like {0}, check these out...", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "Movies", "HeaderAlbums": "Albums", "HeaderGames": "Games", @@ -2097,7 +2094,7 @@ "MapChannels": "Map Channels", "LabelffmpegPath": "FFmpeg path:", "LabelffmpegVersion": "FFmpeg version:", - "LabelffmpegPathHelp": "The path to your downloaded FFmpeg application, or folder containing FFmpeg.", + "LabelffmpegPathHelp": "The path to your downloaded ffmpeg application file, or folder containing ffmpeg.", "SetupFFmpeg": "Setup FFmpeg", "SetupFFmpegHelp": "Emby may require a library or application to convert certain media types. There are many different applications available, however, Emby has been tested to work with ffmpeg. Emby is in no way affiliated with ffmpeg, its ownership, code or distribution.", "EnterFFmpegLocation": "Enter FFmpeg path", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "Play with external player", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update." } \ No newline at end of file diff --git a/dashboard-ui/strings/nb.json b/dashboard-ui/strings/nb.json index 4203758d0b..787c64fd91 100644 --- a/dashboard-ui/strings/nb.json +++ b/dashboard-ui/strings/nb.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "Avslutt", "LabelApiDocumentation": "API-dokumentasjon", "LabelBrowseLibrary": "Browse biblioteket", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "Planlagt oppgave feilet", "NotificationOptionInstallationFailed": "Installasjon feilet", "NotificationOptionNewLibraryContent": "Nytt innhold er lagt til", - "NotificationOptionNewLibraryContentMultiple": "Nytt innhold lagt til (flere)", "NotificationOptionCameraImageUploaded": "Bilde fra kamera lastet opp", "NotificationOptionUserLockedOut": "Bruker er utestengt", "HeaderSendNotificationHelp": "Varsler blir levert til Emby innboks. Andre alternativer kan installeres fra Tjenester kategorien .", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "Lengdegrad", "MediaInfoShutterSpeed": "Lukkerhastighet", "MediaInfoSoftware": "Programvare", - "HeaderIfYouLikeCheckTheseOut": "Hvis du liker {0}, sjekk ut disse...", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "Filmer", "HeaderAlbums": "Albumer", "HeaderGames": "Spill", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "Spill i ekstern avspiller", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update." } \ No newline at end of file diff --git a/dashboard-ui/strings/nl.json b/dashboard-ui/strings/nl.json index 00dda618c5..9f08ea8acf 100644 --- a/dashboard-ui/strings/nl.json +++ b/dashboard-ui/strings/nl.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "Afsluiten", "LabelApiDocumentation": "Api documentatie", "LabelBrowseLibrary": "Bekijk bibliotheek", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "Mislukken van de geplande taak", "NotificationOptionInstallationFailed": "Mislukken van de installatie", "NotificationOptionNewLibraryContent": "Nieuwe content toegevoegd", - "NotificationOptionNewLibraryContentMultiple": "Nieuwe content toegevoegd (meerdere)", "NotificationOptionCameraImageUploaded": "Camera afbeelding ge\u00fcpload", "NotificationOptionUserLockedOut": "Gebruikersaccount vergrendeld", "HeaderSendNotificationHelp": "Notificaties worden in uw Emby inbox afgeleverd. Additionele opties kunnen vanuit de Services tab ge\u00efnstalleerd worden.", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "Lengte graad", "MediaInfoShutterSpeed": "Sluitertijd", "MediaInfoSoftware": "Software", - "HeaderIfYouLikeCheckTheseOut": "Als u {0} leuk vindt, probeer deze dan ook eens...", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "Films", "HeaderAlbums": "Albums", "HeaderGames": "Games", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "Speel in externe speler", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update." } \ No newline at end of file diff --git a/dashboard-ui/strings/pl.json b/dashboard-ui/strings/pl.json index 65ef2c814a..f29a4bd711 100644 --- a/dashboard-ui/strings/pl.json +++ b/dashboard-ui/strings/pl.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "Wyj\u015bcie", "LabelApiDocumentation": "Dokumantacja API", "LabelBrowseLibrary": "Przegl\u0105daj bibliotek\u0119", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "Niepowodzenie zaplanowanego zadania", "NotificationOptionInstallationFailed": "Niepowodzenie instalacji", "NotificationOptionNewLibraryContent": "Nowa zawarto\u015b\u0107 dodana", - "NotificationOptionNewLibraryContentMultiple": "Nowa zawarto\u015b\u0107 dodana (wiele)", "NotificationOptionCameraImageUploaded": "Obraz z Kamery dodany", "NotificationOptionUserLockedOut": "U\u017cytkownik zablokowany", "HeaderSendNotificationHelp": "Powiadomienia s\u0105 dostarczane do skrzynki Emby. Dodatkowe opcje mog\u0105 by\u0107 doinstalowane z zak\u0142adki Us\u0142ugi.", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "D\u0142ugo\u015b\u0107 geo.", "MediaInfoShutterSpeed": "Pr\u0119dko\u015b\u0107 migawki", "MediaInfoSoftware": "Oprogramowanie", - "HeaderIfYouLikeCheckTheseOut": "Je\u015bli lubisz {0}, sprawd\u017a to...", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "Filmy", "HeaderAlbums": "Albumy", "HeaderGames": "Gry", @@ -2097,7 +2094,7 @@ "MapChannels": "Map Channels", "LabelffmpegPath": "FFmpeg path:", "LabelffmpegVersion": "FFmpeg version:", - "LabelffmpegPathHelp": "The path to your downloaded FFmpeg application, or folder containing FFmpeg.", + "LabelffmpegPathHelp": "The path to your downloaded ffmpeg application file, or folder containing ffmpeg.", "SetupFFmpeg": "Setup FFmpeg", "SetupFFmpegHelp": "Emby may require a library or application to convert certain media types. There are many different applications available, however, Emby has been tested to work with ffmpeg. Emby is in no way affiliated with ffmpeg, its ownership, code or distribution.", "EnterFFmpegLocation": "Enter FFmpeg path", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "Odtwarzaj zewn\u0119trznym odtwarzaczem", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update." } \ No newline at end of file diff --git a/dashboard-ui/strings/pt-BR.json b/dashboard-ui/strings/pt-BR.json index bab1eafa28..2a4456ed7e 100644 --- a/dashboard-ui/strings/pt-BR.json +++ b/dashboard-ui/strings/pt-BR.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "Sair", "LabelApiDocumentation": "Documenta\u00e7\u00e3o da Api", "LabelBrowseLibrary": "Explorar Biblioteca", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "Falha na tarefa agendada", "NotificationOptionInstallationFailed": "Falha na instala\u00e7\u00e3o", "NotificationOptionNewLibraryContent": "Novo conte\u00fado adicionado", - "NotificationOptionNewLibraryContentMultiple": "Novo conte\u00fado adicionado (m\u00faltiplo)", "NotificationOptionCameraImageUploaded": "Imagem da c\u00e2mera carregada", "NotificationOptionUserLockedOut": "Usu\u00e1rio bloqueado", "HeaderSendNotificationHelp": "As notifica\u00e7\u00f5es s\u00e3o entregues na caixa de entrada do Emby. Op\u00e7\u00f5es adicionais podem ser instaladas na guia Servi\u00e7os.", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "Longitude", "MediaInfoShutterSpeed": "Velocidade do obturador", "MediaInfoSoftware": "Software", - "HeaderIfYouLikeCheckTheseOut": "Se voc\u00ea gosta de {0}, veja isto...", + "HeaderMoreLikeThis": "Mais Disso", "HeaderMovies": "Filmes", "HeaderAlbums": "\u00c1lbuns", "HeaderGames": "Jogos", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "Se esta pasta estiver compartilhada em sua rede, prover o caminho de rede do compartilhamento permitir\u00e1 que apps Emby em outros dispositivos acessem m\u00eddias diretamente.", "ButtonPlayExternalPlayer": "Reproduzir com reprodutor externo", "WillRecord": "Ir\u00e1 gravar", - "NotScheduledToRecord": "N\u00e3o agendado para gravar" + "NotScheduledToRecord": "N\u00e3o agendado para gravar", + "SynologyUpdateInstructions": "Por favor logue-se no DSM e siga para a Central de Pacotes para atualizar." } \ No newline at end of file diff --git a/dashboard-ui/strings/pt-PT.json b/dashboard-ui/strings/pt-PT.json index 288bd01d4d..6a94a91415 100644 --- a/dashboard-ui/strings/pt-PT.json +++ b/dashboard-ui/strings/pt-PT.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "Sair", "LabelApiDocumentation": "Documenta\u00e7\u00e3o da API", "LabelBrowseLibrary": "Navegar pela Biblioteca", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "Falha na tarefa agendada", "NotificationOptionInstallationFailed": "Falha na instala\u00e7\u00e3o", "NotificationOptionNewLibraryContent": "Adicionado novo conte\u00fado", - "NotificationOptionNewLibraryContentMultiple": "Novo conte\u00fado adicionado (m\u00faltiplo)", "NotificationOptionCameraImageUploaded": "Imagem da c\u00e2mara carregada", "NotificationOptionUserLockedOut": "Utilizador bloqueado", "HeaderSendNotificationHelp": "As notifica\u00e7\u00f5es s\u00e3o entregues na caixa de entrada do Emby. Op\u00e7\u00f5es adicionais podem ser instaladas no guia Servi\u00e7os.", @@ -1777,7 +1774,7 @@ "HeaderUnaired": "Unaired", "HeaderMissing": "Missing", "ButtonWebsite": "Website", - "ValueSeriesYearToPresent": "{0}-Present", + "ValueSeriesYearToPresent": "{0} - Present", "ValueAwards": "Awards: {0}", "ValueBudget": "Budget: {0}", "ValueRevenue": "Revenue: {0}", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "Longitude", "MediaInfoShutterSpeed": "Shutter speed", "MediaInfoSoftware": "Software", - "HeaderIfYouLikeCheckTheseOut": "If you like {0}, check these out...", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "Movies", "HeaderAlbums": "Albums", "HeaderGames": "Games", @@ -2097,7 +2094,7 @@ "MapChannels": "Map Channels", "LabelffmpegPath": "FFmpeg path:", "LabelffmpegVersion": "FFmpeg version:", - "LabelffmpegPathHelp": "The path to your downloaded FFmpeg application, or folder containing FFmpeg.", + "LabelffmpegPathHelp": "The path to your downloaded ffmpeg application file, or folder containing ffmpeg.", "SetupFFmpeg": "Setup FFmpeg", "SetupFFmpegHelp": "Emby may require a library or application to convert certain media types. There are many different applications available, however, Emby has been tested to work with ffmpeg. Emby is in no way affiliated with ffmpeg, its ownership, code or distribution.", "EnterFFmpegLocation": "Enter FFmpeg path", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "Play with external player", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update." } \ No newline at end of file diff --git a/dashboard-ui/strings/ro.json b/dashboard-ui/strings/ro.json index b6a3c91a77..148a91f903 100644 --- a/dashboard-ui/strings/ro.json +++ b/dashboard-ui/strings/ro.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "Iesire", "LabelApiDocumentation": "Documentatie Api", "LabelBrowseLibrary": "Rasfoieste Librarie", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "Scheduled task failure", "NotificationOptionInstallationFailed": "Installation failure", "NotificationOptionNewLibraryContent": "New content added", - "NotificationOptionNewLibraryContentMultiple": "New content added (multiple)", "NotificationOptionCameraImageUploaded": "Camera image uploaded", "NotificationOptionUserLockedOut": "User locked out", "HeaderSendNotificationHelp": "Notifications are delivered to your Emby inbox. Additional options can be installed from the Services tab.", @@ -1560,7 +1557,7 @@ "LabelPlayMethodDirectPlay": "Direct Playing", "LabelAudioCodec": "Audio: {0}", "LabelVideoCodec": "Video: {0}", - "LabelLocalAccessUrl": "Local access: {0}", + "LabelLocalAccessUrl": "In-Home access: {0}", "LabelRemoteAccessUrl": "Remote access: {0}", "LabelRunningOnPort": "Running on http port {0}.", "LabelRunningOnPorts": "Running on http port {0}, and https port {1}.", @@ -1777,7 +1774,7 @@ "HeaderUnaired": "Unaired", "HeaderMissing": "Missing", "ButtonWebsite": "Website", - "ValueSeriesYearToPresent": "{0}-Present", + "ValueSeriesYearToPresent": "{0} - Present", "ValueAwards": "Awards: {0}", "ValueBudget": "Budget: {0}", "ValueRevenue": "Revenue: {0}", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "Longitude", "MediaInfoShutterSpeed": "Shutter speed", "MediaInfoSoftware": "Software", - "HeaderIfYouLikeCheckTheseOut": "If you like {0}, check these out...", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "Movies", "HeaderAlbums": "Albums", "HeaderGames": "Games", @@ -2097,7 +2094,7 @@ "MapChannels": "Map Channels", "LabelffmpegPath": "FFmpeg path:", "LabelffmpegVersion": "FFmpeg version:", - "LabelffmpegPathHelp": "The path to your downloaded FFmpeg application, or folder containing FFmpeg.", + "LabelffmpegPathHelp": "The path to your downloaded ffmpeg application file, or folder containing ffmpeg.", "SetupFFmpeg": "Setup FFmpeg", "SetupFFmpegHelp": "Emby may require a library or application to convert certain media types. There are many different applications available, however, Emby has been tested to work with ffmpeg. Emby is in no way affiliated with ffmpeg, its ownership, code or distribution.", "EnterFFmpegLocation": "Enter FFmpeg path", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "Play with external player", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update." } \ No newline at end of file diff --git a/dashboard-ui/strings/ru.json b/dashboard-ui/strings/ru.json index 79ef2ec31f..cb3d063e4c 100644 --- a/dashboard-ui/strings/ru.json +++ b/dashboard-ui/strings/ru.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "\u0414\u043b\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u043e\u0439\u0434\u0438\u0442\u0435 \u0432 DSM \u0438 \u043f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432 Package Center.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "\u0412\u044b\u0445\u043e\u0434", "LabelApiDocumentation": "\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e API", "LabelBrowseLibrary": "\u041d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044f \u043f\u043e \u043c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0435", @@ -495,7 +493,7 @@ "LabelPublicHttpsPort": "\u041d\u043e\u043c\u0435\u0440 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0433\u043e HTTPS-\u043f\u043e\u0440\u0442\u0430:", "LabelPublicHttpsPortHelp": "\u041f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u043f\u043e\u0440\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u043c HTTPS-\u043f\u043e\u0440\u0442\u043e\u043c.", "LabelEnableHttps": "\u041e\u0442\u0434\u0430\u0432\u0430\u0442\u044c HTTPS \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0432\u043d\u0435\u0448\u043d\u0435\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430", - "LabelEnableHttpsHelp": "\u041f\u0440\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438, \u0441\u0435\u0440\u0432\u0435\u0440 \u043e\u0442\u0434\u0430\u0451\u0442 HTTPS URL Emby-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0435\u0433\u043e \u0432\u043d\u0435\u0448\u043d\u0435\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430.", + "LabelEnableHttpsHelp": "\u041f\u0440\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438, \u0441\u0435\u0440\u0432\u0435\u0440 \u043e\u0442\u0434\u0430\u0451\u0442 HTTPS URL Emby-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u0432\u043e\u0435\u0433\u043e \u0432\u043d\u0435\u0448\u043d\u0435\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430.", "LabelHttpsPort": "\u041d\u043e\u043c\u0435\u0440 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e HTTPS-\u043f\u043e\u0440\u0442\u0430:", "LabelHttpsPortHelp": "TCP-\u043f\u043e\u0440\u0442, \u043a\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0443 HTTPS-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 Emby.", "LabelEnableAutomaticPortMap": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0430\u0432\u0442\u043e\u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0440\u0442\u043e\u0432", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "\u0421\u0431\u043e\u0439 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438", "NotificationOptionInstallationFailed": "\u0421\u0431\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438", "NotificationOptionNewLibraryContent": "\u041d\u043e\u0432\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e", - "NotificationOptionNewLibraryContentMultiple": "\u041d\u043e\u0432\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e (\u043c\u043d\u043e\u0433\u043e\u043a\u0440\u0430\u0442\u043d\u043e)", "NotificationOptionCameraImageUploaded": "\u041f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0430 \u0432\u044b\u043a\u043b\u0430\u0434\u043a\u0430 \u043e\u0442\u0441\u043d\u044f\u0442\u043e\u0433\u043e \u0441 \u043a\u0430\u043c\u0435\u0440\u044b", "NotificationOptionUserLockedOut": "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d", "HeaderSendNotificationHelp": "\u0423\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0432 \u043f\u0430\u043f\u043a\u0443 \u0412\u0445\u043e\u0434\u044f\u0449\u0438\u0435 \u0432 Emby. \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043e\u043f\u0446\u0438\u0438 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u0438\u0437 \u0432\u043a\u043b\u0430\u0434\u043a\u0438 \u0423\u0441\u043b\u0443\u0433\u0438.", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "\u0414\u043e\u043b\u0433\u043e\u0442\u0430", "MediaInfoShutterSpeed": "\u0412\u044b\u0434\u0435\u0440\u0436\u043a\u0430", "MediaInfoSoftware": "\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430", - "HeaderIfYouLikeCheckTheseOut": "\u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u00ab{0}\u00bb, \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u044c\u0442\u0435\u0441\u044c \u0441...", + "HeaderMoreLikeThis": "\u0415\u0449\u0451 \u043a\u0430\u043a \u044d\u0442\u043e", "HeaderMovies": "\u0424\u0438\u043b\u044c\u043c\u044b", "HeaderAlbums": "\u0410\u043b\u044c\u0431\u043e\u043c\u044b", "HeaderGames": "\u0418\u0433\u0440\u044b", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "\u0415\u0441\u043b\u0438 \u0434\u0430\u043d\u043d\u0430\u044f \u043f\u0430\u043f\u043a\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0431\u0449\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0439 \u0432 \u0432\u0430\u0448\u0435\u0439 \u0441\u0435\u0442\u0438, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044f \u043f\u0443\u0442\u044c \u043a \u0441\u0435\u0442\u0435\u0432\u044b\u043c \u043f\u0430\u043f\u043a\u0430\u043c, \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c Emby-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043c\u0435\u0434\u0438\u0430\u0444\u0430\u0439\u043b\u0430\u043c \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e.", "ButtonPlayExternalPlayer": "\u0412\u043e\u0441\u043f\u0440. \u0432\u043d\u0435\u0448\u043d\u0438\u043c \u043f\u0440\u043e\u0438\u0433\u0440-\u0435\u043c", "WillRecord": "\u0411\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c\u0441\u044f", - "NotScheduledToRecord": "\u041d\u0435 \u0437\u0430\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c\u0441\u044f" + "NotScheduledToRecord": "\u041d\u0435 \u0437\u0430\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c\u0441\u044f", + "SynologyUpdateInstructions": "\u0414\u043b\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u043e\u0439\u0434\u0438\u0442\u0435 \u0432 DSM \u0438 \u043f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432 Package Center." } \ No newline at end of file diff --git a/dashboard-ui/strings/sk.json b/dashboard-ui/strings/sk.json index bf432c5ea5..6fa7b0f34c 100644 --- a/dashboard-ui/strings/sk.json +++ b/dashboard-ui/strings/sk.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "Exit", "LabelApiDocumentation": "Api Documentation", "LabelBrowseLibrary": "Browse Library", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "Scheduled task failure", "NotificationOptionInstallationFailed": "Installation failure", "NotificationOptionNewLibraryContent": "New content added", - "NotificationOptionNewLibraryContentMultiple": "New content added (multiple)", "NotificationOptionCameraImageUploaded": "Camera image uploaded", "NotificationOptionUserLockedOut": "User locked out", "HeaderSendNotificationHelp": "Notifications are delivered to your Emby inbox. Additional options can be installed from the Services tab.", @@ -1560,7 +1557,7 @@ "LabelPlayMethodDirectPlay": "Direct Playing", "LabelAudioCodec": "Audio: {0}", "LabelVideoCodec": "Video: {0}", - "LabelLocalAccessUrl": "Local access: {0}", + "LabelLocalAccessUrl": "In-Home access: {0}", "LabelRemoteAccessUrl": "Remote access: {0}", "LabelRunningOnPort": "Running on http port {0}.", "LabelRunningOnPorts": "Running on http port {0}, and https port {1}.", @@ -1777,7 +1774,7 @@ "HeaderUnaired": "Unaired", "HeaderMissing": "Missing", "ButtonWebsite": "Website", - "ValueSeriesYearToPresent": "{0}-Present", + "ValueSeriesYearToPresent": "{0} - Present", "ValueAwards": "Awards: {0}", "ValueBudget": "Budget: {0}", "ValueRevenue": "Revenue: {0}", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "Longitude", "MediaInfoShutterSpeed": "Shutter speed", "MediaInfoSoftware": "Software", - "HeaderIfYouLikeCheckTheseOut": "Ak sa V\u00e1m p\u00e1\u010di {0}, tak pozrite aj toto...", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "Movies", "HeaderAlbums": "Albums", "HeaderGames": "Games", @@ -2097,7 +2094,7 @@ "MapChannels": "Map Channels", "LabelffmpegPath": "FFmpeg path:", "LabelffmpegVersion": "FFmpeg version:", - "LabelffmpegPathHelp": "The path to your downloaded FFmpeg application, or folder containing FFmpeg.", + "LabelffmpegPathHelp": "The path to your downloaded ffmpeg application file, or folder containing ffmpeg.", "SetupFFmpeg": "Setup FFmpeg", "SetupFFmpegHelp": "Emby may require a library or application to convert certain media types. There are many different applications available, however, Emby has been tested to work with ffmpeg. Emby is in no way affiliated with ffmpeg, its ownership, code or distribution.", "EnterFFmpegLocation": "Enter FFmpeg path", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "Play with external player", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update." } \ No newline at end of file diff --git a/dashboard-ui/strings/sl-SI.json b/dashboard-ui/strings/sl-SI.json index bbded3cd51..ffda346158 100644 --- a/dashboard-ui/strings/sl-SI.json +++ b/dashboard-ui/strings/sl-SI.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "Izhod", "LabelApiDocumentation": "Api Dokumentacija", "LabelBrowseLibrary": "Brskanje po knjiznici", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "Scheduled task failure", "NotificationOptionInstallationFailed": "Napaka v namestitvi", "NotificationOptionNewLibraryContent": "Dodana nova vsebina", - "NotificationOptionNewLibraryContentMultiple": "Dodane nove vsebine", "NotificationOptionCameraImageUploaded": "Camera image uploaded", "NotificationOptionUserLockedOut": "User locked out", "HeaderSendNotificationHelp": "Notifications are delivered to your Emby inbox. Additional options can be installed from the Services tab.", @@ -1560,7 +1557,7 @@ "LabelPlayMethodDirectPlay": "Direct Playing", "LabelAudioCodec": "Audio: {0}", "LabelVideoCodec": "Video: {0}", - "LabelLocalAccessUrl": "Local access: {0}", + "LabelLocalAccessUrl": "In-Home access: {0}", "LabelRemoteAccessUrl": "Remote access: {0}", "LabelRunningOnPort": "Running on http port {0}.", "LabelRunningOnPorts": "Running on http port {0}, and https port {1}.", @@ -1777,7 +1774,7 @@ "HeaderUnaired": "Unaired", "HeaderMissing": "Missing", "ButtonWebsite": "Website", - "ValueSeriesYearToPresent": "{0}-Present", + "ValueSeriesYearToPresent": "{0} - Present", "ValueAwards": "Awards: {0}", "ValueBudget": "Budget: {0}", "ValueRevenue": "Revenue: {0}", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "Longitude", "MediaInfoShutterSpeed": "Shutter speed", "MediaInfoSoftware": "Software", - "HeaderIfYouLikeCheckTheseOut": "If you like {0}, check these out...", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "Movies", "HeaderAlbums": "Albums", "HeaderGames": "Games", @@ -2097,7 +2094,7 @@ "MapChannels": "Map Channels", "LabelffmpegPath": "FFmpeg path:", "LabelffmpegVersion": "FFmpeg version:", - "LabelffmpegPathHelp": "The path to your downloaded FFmpeg application, or folder containing FFmpeg.", + "LabelffmpegPathHelp": "The path to your downloaded ffmpeg application file, or folder containing ffmpeg.", "SetupFFmpeg": "Setup FFmpeg", "SetupFFmpegHelp": "Emby may require a library or application to convert certain media types. There are many different applications available, however, Emby has been tested to work with ffmpeg. Emby is in no way affiliated with ffmpeg, its ownership, code or distribution.", "EnterFFmpegLocation": "Enter FFmpeg path", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "Play with external player", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update." } \ No newline at end of file diff --git a/dashboard-ui/strings/sv.json b/dashboard-ui/strings/sv.json index d0825e77d1..fcb0ef6d35 100644 --- a/dashboard-ui/strings/sv.json +++ b/dashboard-ui/strings/sv.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "Avsluta", "LabelApiDocumentation": "Api-dokumentation", "LabelBrowseLibrary": "Bl\u00e4ddra i biblioteket", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "Schemalagd aktivitet har misslyckats", "NotificationOptionInstallationFailed": "Fel vid installation", "NotificationOptionNewLibraryContent": "Nytt inneh\u00e5ll har tillkommit", - "NotificationOptionNewLibraryContentMultiple": "Nytillkommet inneh\u00e5ll finns (flera objekt)", "NotificationOptionCameraImageUploaded": "Kaberabild uppladdad", "NotificationOptionUserLockedOut": "Anv\u00e4ndare har l\u00e5sts ute", "HeaderSendNotificationHelp": "Meddelanden skickas till din Emby-inkorg. Fler val kan installeras under menyn Tj\u00e4nster.", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "Longitud", "MediaInfoShutterSpeed": "Slutartid", "MediaInfoSoftware": "Programvara", - "HeaderIfYouLikeCheckTheseOut": "Om du gillar {0}, ta en titt p\u00e5...", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "Filmer", "HeaderAlbums": "Album", "HeaderGames": "Spel", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "Spela upp med extern uppspelare", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update." } \ No newline at end of file diff --git a/dashboard-ui/strings/tr.json b/dashboard-ui/strings/tr.json index 207ea3d6d4..1ad2da7577 100644 --- a/dashboard-ui/strings/tr.json +++ b/dashboard-ui/strings/tr.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "Cikis", "LabelApiDocumentation": "Api Documentation", "LabelBrowseLibrary": "K\u00fct\u00fcphane", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "Scheduled task failure", "NotificationOptionInstallationFailed": "Installation failure", "NotificationOptionNewLibraryContent": "New content added", - "NotificationOptionNewLibraryContentMultiple": "New content added (multiple)", "NotificationOptionCameraImageUploaded": "Camera image uploaded", "NotificationOptionUserLockedOut": "User locked out", "HeaderSendNotificationHelp": "Notifications are delivered to your Emby inbox. Additional options can be installed from the Services tab.", @@ -1560,7 +1557,7 @@ "LabelPlayMethodDirectPlay": "Direct Playing", "LabelAudioCodec": "Audio: {0}", "LabelVideoCodec": "Video: {0}", - "LabelLocalAccessUrl": "Local access: {0}", + "LabelLocalAccessUrl": "In-Home access: {0}", "LabelRemoteAccessUrl": "Remote access: {0}", "LabelRunningOnPort": "Running on http port {0}.", "LabelRunningOnPorts": "Running on http port {0}, and https port {1}.", @@ -1777,7 +1774,7 @@ "HeaderUnaired": "Unaired", "HeaderMissing": "Missing", "ButtonWebsite": "Website", - "ValueSeriesYearToPresent": "{0}-Present", + "ValueSeriesYearToPresent": "{0} - Present", "ValueAwards": "Awards: {0}", "ValueBudget": "Budget: {0}", "ValueRevenue": "Revenue: {0}", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "Longitude", "MediaInfoShutterSpeed": "Shutter speed", "MediaInfoSoftware": "Software", - "HeaderIfYouLikeCheckTheseOut": "If you like {0}, check these out...", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "Movies", "HeaderAlbums": "Albums", "HeaderGames": "Games", @@ -2097,7 +2094,7 @@ "MapChannels": "Map Channels", "LabelffmpegPath": "FFmpeg path:", "LabelffmpegVersion": "FFmpeg version:", - "LabelffmpegPathHelp": "The path to your downloaded FFmpeg application, or folder containing FFmpeg.", + "LabelffmpegPathHelp": "The path to your downloaded ffmpeg application file, or folder containing ffmpeg.", "SetupFFmpeg": "Setup FFmpeg", "SetupFFmpegHelp": "Emby may require a library or application to convert certain media types. There are many different applications available, however, Emby has been tested to work with ffmpeg. Emby is in no way affiliated with ffmpeg, its ownership, code or distribution.", "EnterFFmpegLocation": "Enter FFmpeg path", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "Play with external player", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update." } \ No newline at end of file diff --git a/dashboard-ui/strings/uk.json b/dashboard-ui/strings/uk.json index 67a02aec60..4d9a2100bf 100644 --- a/dashboard-ui/strings/uk.json +++ b/dashboard-ui/strings/uk.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "\u0412\u0438\u0439\u0442\u0438", "LabelApiDocumentation": "Api Documentation", "LabelBrowseLibrary": "Browse Library", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "Scheduled task failure", "NotificationOptionInstallationFailed": "Installation failure", "NotificationOptionNewLibraryContent": "New content added", - "NotificationOptionNewLibraryContentMultiple": "New content added (multiple)", "NotificationOptionCameraImageUploaded": "Camera image uploaded", "NotificationOptionUserLockedOut": "User locked out", "HeaderSendNotificationHelp": "Notifications are delivered to your Emby inbox. Additional options can be installed from the Services tab.", @@ -1560,7 +1557,7 @@ "LabelPlayMethodDirectPlay": "Direct Playing", "LabelAudioCodec": "Audio: {0}", "LabelVideoCodec": "Video: {0}", - "LabelLocalAccessUrl": "Local access: {0}", + "LabelLocalAccessUrl": "In-Home access: {0}", "LabelRemoteAccessUrl": "Remote access: {0}", "LabelRunningOnPort": "Running on http port {0}.", "LabelRunningOnPorts": "Running on http port {0}, and https port {1}.", @@ -1777,7 +1774,7 @@ "HeaderUnaired": "Unaired", "HeaderMissing": "Missing", "ButtonWebsite": "Website", - "ValueSeriesYearToPresent": "{0}-Present", + "ValueSeriesYearToPresent": "{0} - Present", "ValueAwards": "\u041d\u0430\u0433\u043e\u0440\u043e\u0434\u0438: {0}", "ValueBudget": "\u0411\u044e\u0434\u0436\u0435\u0442: {0}", "ValueRevenue": "\u041a\u0430\u0441\u043e\u0432\u0456 \u0437\u0431\u043e\u0440\u0438: {0}", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "\u0414\u043e\u0432\u0433\u043e\u0442\u0430", "MediaInfoShutterSpeed": "Shutter speed", "MediaInfoSoftware": "Software", - "HeaderIfYouLikeCheckTheseOut": "If you like {0}, check these out...", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "\u0424\u0456\u043b\u044c\u043c\u0438", "HeaderAlbums": "\u0410\u043b\u044c\u0431\u043e\u043c\u0438", "HeaderGames": "\u0406\u0433\u0440\u0438", @@ -2097,7 +2094,7 @@ "MapChannels": "Map Channels", "LabelffmpegPath": "FFmpeg path:", "LabelffmpegVersion": "FFmpeg version:", - "LabelffmpegPathHelp": "The path to your downloaded FFmpeg application, or folder containing FFmpeg.", + "LabelffmpegPathHelp": "The path to your downloaded ffmpeg application file, or folder containing ffmpeg.", "SetupFFmpeg": "Setup FFmpeg", "SetupFFmpegHelp": "Emby may require a library or application to convert certain media types. There are many different applications available, however, Emby has been tested to work with ffmpeg. Emby is in no way affiliated with ffmpeg, its ownership, code or distribution.", "EnterFFmpegLocation": "Enter FFmpeg path", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "\u0412\u0456\u0434\u0442\u0432\u043e\u0440\u0438\u0442\u0438 \u0443 \u0437\u043e\u0432\u043d\u0456\u0448\u043d\u044c\u043e\u043c\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u0432\u0430\u0447\u0456", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update." } \ No newline at end of file diff --git a/dashboard-ui/strings/vi.json b/dashboard-ui/strings/vi.json index 4c8d18a4ac..1c0db3614c 100644 --- a/dashboard-ui/strings/vi.json +++ b/dashboard-ui/strings/vi.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "Tho\u00e1t", "LabelApiDocumentation": "Api Documentation", "LabelBrowseLibrary": "Duy\u1ec7t th\u01b0 vi\u1ec7n", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "Scheduled task failure", "NotificationOptionInstallationFailed": "Installation failure", "NotificationOptionNewLibraryContent": "New content added", - "NotificationOptionNewLibraryContentMultiple": "New content added (multiple)", "NotificationOptionCameraImageUploaded": "Camera image uploaded", "NotificationOptionUserLockedOut": "User locked out", "HeaderSendNotificationHelp": "Notifications are delivered to your Emby inbox. Additional options can be installed from the Services tab.", @@ -1560,7 +1557,7 @@ "LabelPlayMethodDirectPlay": "Direct Playing", "LabelAudioCodec": "Audio: {0}", "LabelVideoCodec": "Video: {0}", - "LabelLocalAccessUrl": "Local access: {0}", + "LabelLocalAccessUrl": "In-Home access: {0}", "LabelRemoteAccessUrl": "Remote access: {0}", "LabelRunningOnPort": "Running on http port {0}.", "LabelRunningOnPorts": "Running on http port {0}, and https port {1}.", @@ -1777,7 +1774,7 @@ "HeaderUnaired": "Unaired", "HeaderMissing": "Missing", "ButtonWebsite": "Website", - "ValueSeriesYearToPresent": "{0}-Present", + "ValueSeriesYearToPresent": "{0} - Present", "ValueAwards": "Awards: {0}", "ValueBudget": "Budget: {0}", "ValueRevenue": "Revenue: {0}", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "Longitude", "MediaInfoShutterSpeed": "Shutter speed", "MediaInfoSoftware": "Software", - "HeaderIfYouLikeCheckTheseOut": "If you like {0}, check these out...", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "Movies", "HeaderAlbums": "Albums", "HeaderGames": "Games", @@ -2097,7 +2094,7 @@ "MapChannels": "Map Channels", "LabelffmpegPath": "FFmpeg path:", "LabelffmpegVersion": "FFmpeg version:", - "LabelffmpegPathHelp": "The path to your downloaded FFmpeg application, or folder containing FFmpeg.", + "LabelffmpegPathHelp": "The path to your downloaded ffmpeg application file, or folder containing ffmpeg.", "SetupFFmpeg": "Setup FFmpeg", "SetupFFmpegHelp": "Emby may require a library or application to convert certain media types. There are many different applications available, however, Emby has been tested to work with ffmpeg. Emby is in no way affiliated with ffmpeg, its ownership, code or distribution.", "EnterFFmpegLocation": "Enter FFmpeg path", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "Play with external player", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update." } \ No newline at end of file diff --git a/dashboard-ui/strings/zh-CN.json b/dashboard-ui/strings/zh-CN.json index 3b2185f230..e5335d54f1 100644 --- a/dashboard-ui/strings/zh-CN.json +++ b/dashboard-ui/strings/zh-CN.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "\u9000\u51fa", "LabelApiDocumentation": "API\u6587\u6863", "LabelBrowseLibrary": "\u6d4f\u89c8\u5a92\u4f53\u5e93", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "\u8ba1\u5212\u4efb\u52a1\u5931\u8d25", "NotificationOptionInstallationFailed": "\u5b89\u88c5\u5931\u8d25", "NotificationOptionNewLibraryContent": "\u6dfb\u52a0\u65b0\u5185\u5bb9", - "NotificationOptionNewLibraryContentMultiple": "\u65b0\u7684\u5185\u5bb9\u52a0\u5165\uff08\u591a\u4e2a\uff09", "NotificationOptionCameraImageUploaded": "Camera image uploaded", "NotificationOptionUserLockedOut": "User locked out", "HeaderSendNotificationHelp": "Notifications are delivered to your Emby inbox. Additional options can be installed from the Services tab.", @@ -1777,7 +1774,7 @@ "HeaderUnaired": "\u672a\u64ad\u51fa", "HeaderMissing": "\u7f3a\u5931", "ButtonWebsite": "\u7f51\u7ad9", - "ValueSeriesYearToPresent": "{0}-Present", + "ValueSeriesYearToPresent": "{0} - Present", "ValueAwards": "\u83b7\u5956\uff1a {0}", "ValueBudget": "\u6295\u8d44\u989d\uff1a {0}", "ValueRevenue": "\u6536\u5165\uff1a {0}", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "\u7ecf\u5ea6", "MediaInfoShutterSpeed": "\u5feb\u95e8\u901f\u5ea6", "MediaInfoSoftware": "\u8f6f\u4ef6", - "HeaderIfYouLikeCheckTheseOut": "\u5982\u679c\u4f60\u559c\u6b22{0}\uff0c\u67e5\u770b\u8fd9\u4e9b\u2026", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "\u7535\u5f71", "HeaderAlbums": "\u4e13\u8f91", "HeaderGames": "\u6e38\u620f", @@ -2097,7 +2094,7 @@ "MapChannels": "Map Channels", "LabelffmpegPath": "FFmpeg path:", "LabelffmpegVersion": "FFmpeg version:", - "LabelffmpegPathHelp": "The path to your downloaded FFmpeg application, or folder containing FFmpeg.", + "LabelffmpegPathHelp": "The path to your downloaded ffmpeg application file, or folder containing ffmpeg.", "SetupFFmpeg": "Setup FFmpeg", "SetupFFmpegHelp": "Emby may require a library or application to convert certain media types. There are many different applications available, however, Emby has been tested to work with ffmpeg. Emby is in no way affiliated with ffmpeg, its ownership, code or distribution.", "EnterFFmpegLocation": "Enter FFmpeg path", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "\u4f7f\u7528\u5916\u90e8\u64ad\u653e\u5668\u64ad\u653e", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update." } \ No newline at end of file diff --git a/dashboard-ui/strings/zh-HK.json b/dashboard-ui/strings/zh-HK.json index 06b6c9b811..9ffa576086 100644 --- a/dashboard-ui/strings/zh-HK.json +++ b/dashboard-ui/strings/zh-HK.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "\u96e2\u958b", "LabelApiDocumentation": "Api \u6587\u4ef6", "LabelBrowseLibrary": "\u700f\u89bd\u8cc7\u6599\u5eab", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "Scheduled task failure", "NotificationOptionInstallationFailed": "Installation failure", "NotificationOptionNewLibraryContent": "New content added", - "NotificationOptionNewLibraryContentMultiple": "New content added (multiple)", "NotificationOptionCameraImageUploaded": "Camera image uploaded", "NotificationOptionUserLockedOut": "User locked out", "HeaderSendNotificationHelp": "Notifications are delivered to your Emby inbox. Additional options can be installed from the Services tab.", @@ -1777,7 +1774,7 @@ "HeaderUnaired": "Unaired", "HeaderMissing": "Missing", "ButtonWebsite": "Website", - "ValueSeriesYearToPresent": "{0}-Present", + "ValueSeriesYearToPresent": "{0} - Present", "ValueAwards": "Awards: {0}", "ValueBudget": "Budget: {0}", "ValueRevenue": "Revenue: {0}", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "Longitude", "MediaInfoShutterSpeed": "Shutter speed", "MediaInfoSoftware": "Software", - "HeaderIfYouLikeCheckTheseOut": "If you like {0}, check these out...", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "Movies", "HeaderAlbums": "Albums", "HeaderGames": "\u904a\u6232", @@ -2097,7 +2094,7 @@ "MapChannels": "Map Channels", "LabelffmpegPath": "FFmpeg path:", "LabelffmpegVersion": "FFmpeg version:", - "LabelffmpegPathHelp": "The path to your downloaded FFmpeg application, or folder containing FFmpeg.", + "LabelffmpegPathHelp": "The path to your downloaded ffmpeg application file, or folder containing ffmpeg.", "SetupFFmpeg": "Setup FFmpeg", "SetupFFmpegHelp": "Emby may require a library or application to convert certain media types. There are many different applications available, however, Emby has been tested to work with ffmpeg. Emby is in no way affiliated with ffmpeg, its ownership, code or distribution.", "EnterFFmpegLocation": "Enter FFmpeg path", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "Play with external player", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update." } \ No newline at end of file diff --git a/dashboard-ui/strings/zh-TW.json b/dashboard-ui/strings/zh-TW.json index 7cb47edf63..cdb11924ce 100644 --- a/dashboard-ui/strings/zh-TW.json +++ b/dashboard-ui/strings/zh-TW.json @@ -1,6 +1,4 @@ { - "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", - "HeaderMoreLikeThis": "More Like This", "LabelExit": "\u96e2\u958b", "LabelApiDocumentation": "API\u8aaa\u660e\u6587\u4ef6", "LabelBrowseLibrary": "\u700f\u89bd\u5a92\u9ad4\u6ac3", @@ -620,7 +618,6 @@ "NotificationOptionTaskFailed": "Scheduled task failure", "NotificationOptionInstallationFailed": "Installation failure", "NotificationOptionNewLibraryContent": "New content added", - "NotificationOptionNewLibraryContentMultiple": "New content added (multiple)", "NotificationOptionCameraImageUploaded": "Camera image uploaded", "NotificationOptionUserLockedOut": "User locked out", "HeaderSendNotificationHelp": "Notifications are delivered to your Emby inbox. Additional options can be installed from the Services tab.", @@ -1560,7 +1557,7 @@ "LabelPlayMethodDirectPlay": "Direct Playing", "LabelAudioCodec": "Audio: {0}", "LabelVideoCodec": "Video: {0}", - "LabelLocalAccessUrl": "Local access: {0}", + "LabelLocalAccessUrl": "In-Home access: {0}", "LabelRemoteAccessUrl": "Remote access: {0}", "LabelRunningOnPort": "Running on http port {0}.", "LabelRunningOnPorts": "Running on http port {0}, and https port {1}.", @@ -1777,7 +1774,7 @@ "HeaderUnaired": "Unaired", "HeaderMissing": "Missing", "ButtonWebsite": "Website", - "ValueSeriesYearToPresent": "{0}-Present", + "ValueSeriesYearToPresent": "{0} - Present", "ValueAwards": "Awards: {0}", "ValueBudget": "Budget: {0}", "ValueRevenue": "Revenue: {0}", @@ -1803,7 +1800,7 @@ "MediaInfoLongitude": "Longitude", "MediaInfoShutterSpeed": "Shutter speed", "MediaInfoSoftware": "Software", - "HeaderIfYouLikeCheckTheseOut": "If you like {0}, check these out...", + "HeaderMoreLikeThis": "More Like This", "HeaderMovies": "Movies", "HeaderAlbums": "Albums", "HeaderGames": "Games", @@ -2097,7 +2094,7 @@ "MapChannels": "Map Channels", "LabelffmpegPath": "FFmpeg path:", "LabelffmpegVersion": "FFmpeg version:", - "LabelffmpegPathHelp": "The path to your downloaded FFmpeg application, or folder containing FFmpeg.", + "LabelffmpegPathHelp": "The path to your downloaded ffmpeg application file, or folder containing ffmpeg.", "SetupFFmpeg": "Setup FFmpeg", "SetupFFmpegHelp": "Emby may require a library or application to convert certain media types. There are many different applications available, however, Emby has been tested to work with ffmpeg. Emby is in no way affiliated with ffmpeg, its ownership, code or distribution.", "EnterFFmpegLocation": "Enter FFmpeg path", @@ -2144,5 +2141,6 @@ "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "ButtonPlayExternalPlayer": "Play with external player", "WillRecord": "Will record", - "NotScheduledToRecord": "Not scheduled to record" + "NotScheduledToRecord": "Not scheduled to record", + "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update." } \ No newline at end of file diff --git a/dashboard-ui/tv.html b/dashboard-ui/tv.html index 04c75c61b1..359b8ede83 100644 --- a/dashboard-ui/tv.html +++ b/dashboard-ui/tv.html @@ -26,7 +26,7 @@
-
+

${HeaderResume}

@@ -51,7 +51,7 @@
-
+

${HeaderLatestEpisodes}

@@ -63,7 +63,7 @@
-
+
${HeaderDate} ${HeaderSource}