From b8c7c5dfc44cf45d91294e10ba3b49e01c16c8cd Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Tue, 18 Apr 2017 16:11:42 -0400 Subject: [PATCH] add landing screen settings --- .../emby-apiclient/connectionmanager.js | 2 +- .../homescreensettings/homescreensettings.js | 2 +- .../homescreensettings.template.html | 11 ++++++++ .../emby-webcomponents/strings/ar.json | 14 ++++++++-- .../emby-webcomponents/strings/bg-bg.json | 14 ++++++++-- .../emby-webcomponents/strings/ca.json | 12 +++++++- .../emby-webcomponents/strings/cs.json | 10 +++++++ .../emby-webcomponents/strings/da.json | 10 +++++++ .../emby-webcomponents/strings/de.json | 28 +++++++++++++------ .../emby-webcomponents/strings/el.json | 14 ++++++++-- .../emby-webcomponents/strings/en-gb.json | 10 +++++++ .../emby-webcomponents/strings/en-us.json | 8 +++++- .../emby-webcomponents/strings/es-ar.json | 14 ++++++++-- .../emby-webcomponents/strings/es-mx.json | 14 ++++++++-- .../emby-webcomponents/strings/es.json | 10 +++++++ .../emby-webcomponents/strings/fi.json | 14 ++++++++-- .../emby-webcomponents/strings/fr-ca.json | 14 ++++++++-- .../emby-webcomponents/strings/fr.json | 10 +++++++ .../emby-webcomponents/strings/gsw.json | 14 ++++++++-- .../emby-webcomponents/strings/he.json | 10 +++++++ .../emby-webcomponents/strings/hr.json | 10 +++++++ .../emby-webcomponents/strings/hu.json | 14 ++++++++-- .../emby-webcomponents/strings/id.json | 14 ++++++++-- .../emby-webcomponents/strings/it.json | 10 +++++++ .../emby-webcomponents/strings/kk.json | 14 ++++++++-- .../emby-webcomponents/strings/ko.json | 10 +++++++ .../emby-webcomponents/strings/lt-lt.json | 10 +++++++ .../emby-webcomponents/strings/ms.json | 14 ++++++++-- .../emby-webcomponents/strings/nb.json | 10 +++++++ .../emby-webcomponents/strings/nl.json | 10 +++++++ .../emby-webcomponents/strings/pl.json | 10 +++++++ .../emby-webcomponents/strings/pt-br.json | 10 +++++++ .../emby-webcomponents/strings/pt-pt.json | 14 ++++++++-- .../emby-webcomponents/strings/ro.json | 14 ++++++++-- .../emby-webcomponents/strings/ru.json | 14 ++++++++-- .../emby-webcomponents/strings/sk.json | 14 ++++++++-- .../emby-webcomponents/strings/sl-si.json | 12 +++++++- .../emby-webcomponents/strings/sv.json | 10 +++++++ .../emby-webcomponents/strings/tr.json | 14 ++++++++-- .../emby-webcomponents/strings/uk.json | 14 ++++++++-- .../emby-webcomponents/strings/vi.json | 14 ++++++++-- .../emby-webcomponents/strings/zh-cn.json | 14 ++++++++-- .../emby-webcomponents/strings/zh-hk.json | 14 ++++++++-- .../emby-webcomponents/strings/zh-tw.json | 14 ++++++++-- dashboard-ui/livetvitems.html | 8 ++++-- dashboard-ui/scripts/moviesrecommended.js | 2 +- dashboard-ui/scripts/tvrecommended.js | 2 +- dashboard-ui/secondaryitems.html | 14 ++++++---- 48 files changed, 490 insertions(+), 69 deletions(-) diff --git a/dashboard-ui/bower_components/emby-apiclient/connectionmanager.js b/dashboard-ui/bower_components/emby-apiclient/connectionmanager.js index 2a4bff123..5c164edd8 100644 --- a/dashboard-ui/bower_components/emby-apiclient/connectionmanager.js +++ b/dashboard-ui/bower_components/emby-apiclient/connectionmanager.js @@ -1 +1 @@ -define(["events","apiclient","appStorage"],function(events,apiClientFactory,appStorage){"use strict";var ConnectionState={Unavailable:0,ServerSelection:1,ServerSignIn:2,SignedIn:3,ConnectSignIn:4,ServerUpdateNeeded:5},ConnectionMode={Local:0,Remote:1,Manual:2},ServerInfo={getServerAddress:function(server,mode){switch(mode){case ConnectionMode.Local:return server.LocalAddress;case ConnectionMode.Manual:return server.ManualAddress;case ConnectionMode.Remote:return server.RemoteAddress;default:return server.ManualAddress||server.LocalAddress||server.RemoteAddress}}},ConnectionManager=function(credentialProvider,appName,appVersion,deviceName,deviceId,capabilities,devicePixelRatio){function mergeServers(list1,list2){for(var i=0,length=list2.length;i0})}function findServers(){return new Promise(function(resolve,reject){var onFinish=function(foundServers){var servers=foundServers.map(function(foundServer){var info={Id:foundServer.Id,LocalAddress:convertEndpointAddressToManualAddress(foundServer)||foundServer.Address,Name:foundServer.Name};return info.LastConnectionMode=info.ManualAddress?ConnectionMode.Manual:ConnectionMode.Local,info});resolve(servers)};require(["serverdiscovery"],function(serverDiscovery){serverDiscovery.findServers(1e3).then(onFinish,function(){onFinish([])})})})}function convertEndpointAddressToManualAddress(info){if(info.Address&&info.EndpointAddress){var address=info.EndpointAddress.split(":")[0],parts=info.Address.split(":");if(parts.length>1){var portString=parts[parts.length-1];isNaN(parseInt(portString))||(address+=":"+portString)}return normalizeAddress(address)}return null}function stringEqualsIgnoreCase(str1,str2){return(str1||"").toLowerCase()===(str2||"").toLowerCase()}function compareVersions(a,b){a=a.split("."),b=b.split(".");for(var i=0,length=Math.max(a.length,b.length);ibVal)return 1}return 0}function testNextConnectionMode(tests,index,server,options,resolve){if(index>=tests.length)return console.log("Tested all connection modes. Failing server connection."),void resolveFailure(resolve);var mode=tests[index],address=ServerInfo.getServerAddress(server,mode),enableRetry=!1,skipTest=!1,timeout=defaultTimeout;return mode===ConnectionMode.Local?(enableRetry=!0,timeout=8e3,stringEqualsIgnoreCase(address,server.ManualAddress)&&(console.log("skipping LocalAddress test because it is the same as ManualAddress"),skipTest=!0)):mode===ConnectionMode.Manual&&stringEqualsIgnoreCase(address,server.LocalAddress)&&(enableRetry=!0,timeout=8e3),skipTest||!address?(console.log("skipping test at index "+index),void testNextConnectionMode(tests,index+1,server,options,resolve)):(console.log("testing connection mode "+mode+" with server "+server.Name),void tryConnect(address,timeout).then(function(result){1===compareVersions(self.minServerVersion(),result.Version)?(console.log("minServerVersion requirement not met. Server version: "+result.Version),resolve({State:ConnectionState.ServerUpdateNeeded,Servers:[server]})):result.Id!==server.Id?testNextConnectionMode(tests,index+1,server,options,resolve):(console.log("calling onSuccessfulConnection with connection mode "+mode+" with server "+server.Name),onSuccessfulConnection(server,result,mode,options,resolve))},function(){console.log("test failed for connection mode "+mode+" with server "+server.Name),enableRetry?testNextConnectionMode(tests,index+1,server,options,resolve):testNextConnectionMode(tests,index+1,server,options,resolve)}))}function onSuccessfulConnection(server,systemInfo,connectionMode,options,resolve){var credentials=credentialProvider.credentials();options=options||{},credentials.ConnectAccessToken&&options.enableAutoLogin!==!1?ensureConnectUser(credentials).then(function(){server.ExchangeToken?addAuthenticationInfoFromConnect(server,connectionMode,credentials).then(function(){afterConnectValidated(server,credentials,systemInfo,connectionMode,!0,options,resolve)},function(){afterConnectValidated(server,credentials,systemInfo,connectionMode,!0,options,resolve)}):afterConnectValidated(server,credentials,systemInfo,connectionMode,!0,options,resolve)}):afterConnectValidated(server,credentials,systemInfo,connectionMode,!0,options,resolve)}function afterConnectValidated(server,credentials,systemInfo,connectionMode,verifyLocalAuthentication,options,resolve){if(options=options||{},options.enableAutoLogin===!1)server.UserId=null,server.AccessToken=null;else if(verifyLocalAuthentication&&server.AccessToken&&options.enableAutoLogin!==!1)return void validateAuthentication(server,connectionMode).then(function(){afterConnectValidated(server,credentials,systemInfo,connectionMode,!1,options,resolve)});updateServerInfo(server,systemInfo),server.LastConnectionMode=connectionMode,options.updateDateLastAccessed!==!1&&(server.DateLastAccessed=(new Date).getTime()),credentialProvider.addOrUpdateServer(credentials.Servers,server),credentialProvider.credentials(credentials);var result={Servers:[]};result.ApiClient=getOrAddApiClient(server,connectionMode),result.State=server.AccessToken&&options.enableAutoLogin!==!1?ConnectionState.SignedIn:ConnectionState.ServerSignIn,result.Servers.push(server),result.ApiClient.updateServerInfo(server,connectionMode),result.State===ConnectionState.SignedIn&&afterConnected(result.ApiClient,options),resolve(result),events.trigger(self,"connected",[result])}function replaceAll(originalString,strReplace,strWith){var reg=new RegExp(strReplace,"ig");return originalString.replace(reg,strWith)}function normalizeAddress(address){return address=address.trim(),0!==address.toLowerCase().indexOf("http")&&(address="http://"+address),address=replaceAll(address,"Http:","http:"),address=replaceAll(address,"Https:","https:")}function addAppInfoToConnectRequest(request){request.headers=request.headers||{},request.headers["X-Application"]=appName+"/"+appVersion}function exchangePin(pinInfo){if(!pinInfo)throw new Error("pinInfo cannot be null");var request={type:"POST",url:getConnectUrl("pin/authenticate"),data:{deviceId:pinInfo.DeviceId,pin:pinInfo.Pin},dataType:"json"};return addAppInfoToConnectRequest(request),ajax(request)}console.log("Begin ConnectionManager constructor");var connectUser,self=this,apiClients=[],defaultTimeout=2e4;self.connectUser=function(){return connectUser};var minServerVersion="3.1.3";return self.minServerVersion=function(val){return val&&(minServerVersion=val),minServerVersion},self.appVersion=function(){return appVersion},self.capabilities=function(){return capabilities},self.deviceId=function(){return deviceId},self.credentialProvider=function(){return credentialProvider},self.connectUserId=function(){return credentialProvider.credentials().ConnectUserId},self.connectToken=function(){return credentialProvider.credentials().ConnectAccessToken},self.getApiClients=function(){var servers=self.getSavedServers();return servers.map(function(s){self.getOrCreateApiClient(s.Id)}),apiClients},self.getServerInfo=function(id){var servers=credentialProvider.credentials().Servers;return servers.filter(function(s){return s.Id===id})[0]},self.getLastUsedServer=function(){var servers=credentialProvider.credentials().Servers;return servers.sort(function(a,b){return(b.DateLastAccessed||0)-(a.DateLastAccessed||0)}),servers.length?servers[0]:null},self.getLastUsedApiClient=function(){var servers=credentialProvider.credentials().Servers;if(servers.sort(function(a,b){return(b.DateLastAccessed||0)-(a.DateLastAccessed||0)}),!servers.length)return null;var server=servers[0];return getOrAddApiClient(server,server.LastConnectionMode)},self.addApiClient=function(apiClient){apiClients.push(apiClient);var existingServers=credentialProvider.credentials().Servers.filter(function(s){return stringEqualsIgnoreCase(s.ManualAddress,apiClient.serverAddress())||stringEqualsIgnoreCase(s.LocalAddress,apiClient.serverAddress())||stringEqualsIgnoreCase(s.RemoteAddress,apiClient.serverAddress())}),existingServer=existingServers.length?existingServers[0]:{};if(existingServer.DateLastAccessed=(new Date).getTime(),existingServer.LastConnectionMode=ConnectionMode.Manual,existingServer.ManualAddress=apiClient.serverAddress(),apiClient.serverInfo(existingServer),apiClient.onAuthenticated=function(instance,result){onAuthenticated(instance,result,{},!0)},!existingServers.length){var credentials=credentialProvider.credentials();credentials.Servers=[existingServer],credentialProvider.credentials(credentials)}events.trigger(self,"apiclientcreated",[apiClient]),existingServer.Id||apiClient.getPublicSystemInfo().then(function(systemInfo){var credentials=credentialProvider.credentials();existingServer.Id=systemInfo.Id,apiClient.serverInfo(existingServer),credentials.Servers=[existingServer],credentialProvider.credentials(credentials)})},self.clearData=function(){console.log("connection manager clearing data"),connectUser=null;var credentials=credentialProvider.credentials();credentials.ConnectAccessToken=null,credentials.ConnectUserId=null,credentials.Servers=[],credentialProvider.credentials(credentials)},self.getOrCreateApiClient=function(serverId){var credentials=credentialProvider.credentials(),servers=credentials.Servers.filter(function(s){return stringEqualsIgnoreCase(s.Id,serverId)});if(!servers.length)throw new Error("Server not found: "+serverId);var server=servers[0];return getOrAddApiClient(server,server.LastConnectionMode)},self.user=function(apiClient){return new Promise(function(resolve,reject){function onLocalUserDone(e){var image=getImageUrl(localUser);resolve({localUser:localUser,name:connectUser?connectUser.Name:localUser?localUser.Name:null,imageUrl:image.url,supportsImageParams:image.supportsParams})}function onEnsureConnectUserDone(){apiClient&&apiClient.getCurrentUserId()?apiClient.getCurrentUser().then(function(u){localUser=u,onLocalUserDone()},onLocalUserDone):onLocalUserDone()}var localUser,credentials=credentialProvider.credentials();!credentials.ConnectUserId||!credentials.ConnectAccessToken||apiClient&&apiClient.getCurrentUserId()?onEnsureConnectUserDone():ensureConnectUser(credentials).then(onEnsureConnectUserDone,onEnsureConnectUserDone)})},self.isLoggedIntoConnect=function(){return!(!self.connectToken()||!self.connectUserId())},self.logout=function(){console.log("begin connectionManager loguot");for(var promises=[],i=0,length=apiClients.length;i0})}function findServers(){return new Promise(function(resolve,reject){var onFinish=function(foundServers){var servers=foundServers.map(function(foundServer){var info={Id:foundServer.Id,LocalAddress:convertEndpointAddressToManualAddress(foundServer)||foundServer.Address,Name:foundServer.Name};return info.LastConnectionMode=info.ManualAddress?ConnectionMode.Manual:ConnectionMode.Local,info});resolve(servers)};require(["serverdiscovery"],function(serverDiscovery){serverDiscovery.findServers(1e3).then(onFinish,function(){onFinish([])})})})}function convertEndpointAddressToManualAddress(info){if(info.Address&&info.EndpointAddress){var address=info.EndpointAddress.split(":")[0],parts=info.Address.split(":");if(parts.length>1){var portString=parts[parts.length-1];isNaN(parseInt(portString))||(address+=":"+portString)}return normalizeAddress(address)}return null}function stringEqualsIgnoreCase(str1,str2){return(str1||"").toLowerCase()===(str2||"").toLowerCase()}function compareVersions(a,b){a=a.split("."),b=b.split(".");for(var i=0,length=Math.max(a.length,b.length);ibVal)return 1}return 0}function testNextConnectionMode(tests,index,server,options,resolve){if(index>=tests.length)return console.log("Tested all connection modes. Failing server connection."),void resolveFailure(resolve);var mode=tests[index],address=ServerInfo.getServerAddress(server,mode),enableRetry=!1,skipTest=!1,timeout=defaultTimeout;return mode===ConnectionMode.Local?(enableRetry=!0,timeout=8e3,stringEqualsIgnoreCase(address,server.ManualAddress)&&(console.log("skipping LocalAddress test because it is the same as ManualAddress"),skipTest=!0)):mode===ConnectionMode.Manual&&stringEqualsIgnoreCase(address,server.LocalAddress)&&(enableRetry=!0,timeout=8e3),skipTest||!address?(console.log("skipping test at index "+index),void testNextConnectionMode(tests,index+1,server,options,resolve)):(console.log("testing connection mode "+mode+" with server "+server.Name),void tryConnect(address,timeout).then(function(result){1===compareVersions(self.minServerVersion(),result.Version)?(console.log("minServerVersion requirement not met. Server version: "+result.Version),resolve({State:ConnectionState.ServerUpdateNeeded,Servers:[server]})):result.Id!==server.Id?testNextConnectionMode(tests,index+1,server,options,resolve):(console.log("calling onSuccessfulConnection with connection mode "+mode+" with server "+server.Name),onSuccessfulConnection(server,result,mode,options,resolve))},function(){console.log("test failed for connection mode "+mode+" with server "+server.Name),enableRetry?testNextConnectionMode(tests,index+1,server,options,resolve):testNextConnectionMode(tests,index+1,server,options,resolve)}))}function onSuccessfulConnection(server,systemInfo,connectionMode,options,resolve){var credentials=credentialProvider.credentials();options=options||{},credentials.ConnectAccessToken&&options.enableAutoLogin!==!1?ensureConnectUser(credentials).then(function(){server.ExchangeToken?addAuthenticationInfoFromConnect(server,connectionMode,credentials).then(function(){afterConnectValidated(server,credentials,systemInfo,connectionMode,!0,options,resolve)},function(){afterConnectValidated(server,credentials,systemInfo,connectionMode,!0,options,resolve)}):afterConnectValidated(server,credentials,systemInfo,connectionMode,!0,options,resolve)}):afterConnectValidated(server,credentials,systemInfo,connectionMode,!0,options,resolve)}function afterConnectValidated(server,credentials,systemInfo,connectionMode,verifyLocalAuthentication,options,resolve){if(options=options||{},options.enableAutoLogin===!1)server.UserId=null,server.AccessToken=null;else if(verifyLocalAuthentication&&server.AccessToken&&options.enableAutoLogin!==!1)return void validateAuthentication(server,connectionMode).then(function(){afterConnectValidated(server,credentials,systemInfo,connectionMode,!1,options,resolve)});updateServerInfo(server,systemInfo),server.LastConnectionMode=connectionMode,options.updateDateLastAccessed!==!1&&(server.DateLastAccessed=(new Date).getTime()),credentialProvider.addOrUpdateServer(credentials.Servers,server),credentialProvider.credentials(credentials);var result={Servers:[]};result.ApiClient=getOrAddApiClient(server,connectionMode),result.State=server.AccessToken&&options.enableAutoLogin!==!1?ConnectionState.SignedIn:ConnectionState.ServerSignIn,result.Servers.push(server),result.ApiClient.updateServerInfo(server,connectionMode),result.State===ConnectionState.SignedIn&&afterConnected(result.ApiClient,options),resolve(result),events.trigger(self,"connected",[result])}function replaceAll(originalString,strReplace,strWith){var reg=new RegExp(strReplace,"ig");return originalString.replace(reg,strWith)}function normalizeAddress(address){return address=address.trim(),0!==address.toLowerCase().indexOf("http")&&(address="http://"+address),address=replaceAll(address,"Http:","http:"),address=replaceAll(address,"Https:","https:")}function addAppInfoToConnectRequest(request){request.headers=request.headers||{},request.headers["X-Application"]=appName+"/"+appVersion}function exchangePin(pinInfo){if(!pinInfo)throw new Error("pinInfo cannot be null");var request={type:"POST",url:getConnectUrl("pin/authenticate"),data:{deviceId:pinInfo.DeviceId,pin:pinInfo.Pin},dataType:"json"};return addAppInfoToConnectRequest(request),ajax(request)}console.log("Begin ConnectionManager constructor");var connectUser,self=this,apiClients=[],defaultTimeout=2e4;self.connectUser=function(){return connectUser};var minServerVersion="3.1.5";return self.minServerVersion=function(val){return val&&(minServerVersion=val),minServerVersion},self.appVersion=function(){return appVersion},self.capabilities=function(){return capabilities},self.deviceId=function(){return deviceId},self.credentialProvider=function(){return credentialProvider},self.connectUserId=function(){return credentialProvider.credentials().ConnectUserId},self.connectToken=function(){return credentialProvider.credentials().ConnectAccessToken},self.getApiClients=function(){var servers=self.getSavedServers();return servers.map(function(s){self.getOrCreateApiClient(s.Id)}),apiClients},self.getServerInfo=function(id){var servers=credentialProvider.credentials().Servers;return servers.filter(function(s){return s.Id===id})[0]},self.getLastUsedServer=function(){var servers=credentialProvider.credentials().Servers;return servers.sort(function(a,b){return(b.DateLastAccessed||0)-(a.DateLastAccessed||0)}),servers.length?servers[0]:null},self.getLastUsedApiClient=function(){var servers=credentialProvider.credentials().Servers;if(servers.sort(function(a,b){return(b.DateLastAccessed||0)-(a.DateLastAccessed||0)}),!servers.length)return null;var server=servers[0];return getOrAddApiClient(server,server.LastConnectionMode)},self.addApiClient=function(apiClient){apiClients.push(apiClient);var existingServers=credentialProvider.credentials().Servers.filter(function(s){return stringEqualsIgnoreCase(s.ManualAddress,apiClient.serverAddress())||stringEqualsIgnoreCase(s.LocalAddress,apiClient.serverAddress())||stringEqualsIgnoreCase(s.RemoteAddress,apiClient.serverAddress())}),existingServer=existingServers.length?existingServers[0]:{};if(existingServer.DateLastAccessed=(new Date).getTime(),existingServer.LastConnectionMode=ConnectionMode.Manual,existingServer.ManualAddress=apiClient.serverAddress(),apiClient.serverInfo(existingServer),apiClient.onAuthenticated=function(instance,result){onAuthenticated(instance,result,{},!0)},!existingServers.length){var credentials=credentialProvider.credentials();credentials.Servers=[existingServer],credentialProvider.credentials(credentials)}events.trigger(self,"apiclientcreated",[apiClient]),existingServer.Id||apiClient.getPublicSystemInfo().then(function(systemInfo){var credentials=credentialProvider.credentials();existingServer.Id=systemInfo.Id,apiClient.serverInfo(existingServer),credentials.Servers=[existingServer],credentialProvider.credentials(credentials)})},self.clearData=function(){console.log("connection manager clearing data"),connectUser=null;var credentials=credentialProvider.credentials();credentials.ConnectAccessToken=null,credentials.ConnectUserId=null,credentials.Servers=[],credentialProvider.credentials(credentials)},self.getOrCreateApiClient=function(serverId){var credentials=credentialProvider.credentials(),servers=credentials.Servers.filter(function(s){return stringEqualsIgnoreCase(s.Id,serverId)});if(!servers.length)throw new Error("Server not found: "+serverId);var server=servers[0];return getOrAddApiClient(server,server.LastConnectionMode)},self.user=function(apiClient){return new Promise(function(resolve,reject){function onLocalUserDone(e){var image=getImageUrl(localUser);resolve({localUser:localUser,name:connectUser?connectUser.Name:localUser?localUser.Name:null,imageUrl:image.url,supportsImageParams:image.supportsParams})}function onEnsureConnectUserDone(){apiClient&&apiClient.getCurrentUserId()?apiClient.getCurrentUser().then(function(u){localUser=u,onLocalUserDone()},onLocalUserDone):onLocalUserDone()}var localUser,credentials=credentialProvider.credentials();!credentials.ConnectUserId||!credentials.ConnectAccessToken||apiClient&&apiClient.getCurrentUserId()?onEnsureConnectUserDone():ensureConnectUser(credentials).then(onEnsureConnectUserDone,onEnsureConnectUserDone)})},self.isLoggedIntoConnect=function(){return!(!self.connectToken()||!self.connectUserId())},self.logout=function(){console.log("begin connectionManager loguot");for(var promises=[],i=0,length=apiClients.length;i",currentHtml+=""+i.Name+"",currentHtml+=""}).join(""),folderHtml+="",context.querySelector(".latestItemsList").innerHTML=folderHtml}function renderViewOrder(context,user,result){var html="",index=0;html+=result.Items.map(function(view){var currentHtml="";return currentHtml+='
',currentHtml+='',currentHtml+='
',currentHtml+="
",currentHtml+=view.Name,currentHtml+="
",currentHtml+="
",currentHtml+='',currentHtml+='',currentHtml+="
",index++,currentHtml}).join(""),context.querySelector(".viewOrderList").innerHTML=html}function updateHomeSectionValues(context,userSettings){for(var i=1;i<=7;i++){var select=context.querySelector("#selectHomeSection"+i),defaultValue=homeSections.getDefaultSection(i-1),option=select.querySelector("option[value="+defaultValue+"]")||select.querySelector('option[value=""]'),userValue=userSettings.get("homesection"+(i-1));option.value="",userValue!==defaultValue&&userValue?select.value=userValue:select.value=""}}function loadForm(context,user,userSettings,apiClient){context.querySelector(".chkHidePlayedFromLatest").checked=user.Configuration.HidePlayedInLatest||!1,updateHomeSectionValues(context,userSettings);var promise1=apiClient.getUserViews({},user.Id);Promise.all([promise1]).then(function(responses){renderLatestItems(context,user,responses[0]),renderViewOrder(context,user,responses[0]),loading.hide()})}function onSectionOrderListClick(e){var target=dom.parentWithClass(e.target,"btnViewItemMove");if(target){var viewItem=dom.parentWithClass(target,"viewItem");if(viewItem){dom.parentWithClass(viewItem,"paperList");if(target.classList.contains("btnViewItemDown")){var next=viewItem.nextSibling;next&&(viewItem.parentNode.removeChild(viewItem),next.parentNode.insertBefore(viewItem,next.nextSibling))}else{var prev=viewItem.previousSibling;prev&&(viewItem.parentNode.removeChild(viewItem),prev.parentNode.insertBefore(viewItem,prev))}}}}function getCheckboxItems(selector,context,isChecked){for(var inputs=context.querySelectorAll(selector),list=[],i=0,length=inputs.length;i",currentHtml+=""+i.Name+"",currentHtml+=""}).join(""),folderHtml+="",context.querySelector(".latestItemsList").innerHTML=folderHtml}function getLandingScreenOptions(type){var list=[];return list.push({name:globalize.translate("sharedcomponents#Suggestions"),value:"suggestions",isDefault:!0}),"movies"===type?(list.push({name:globalize.translate("sharedcomponents#Movies"),value:"movies"}),list.push({name:globalize.translate("sharedcomponents#Favorites"),value:"favorites"}),list.push({name:globalize.translate("sharedcomponents#Collections"),value:"collections"})):"tvshows"===type&&(list.push({name:globalize.translate("sharedcomponents#Latest"),value:"latest"}),list.push({name:globalize.translate("sharedcomponents#Shows"),value:"shows"}),list.push({name:globalize.translate("sharedcomponents#Favorites"),value:"favorites"})),list.push({name:globalize.translate("sharedcomponents#Genres"),value:"genres"}),list}function renderLandingScreens(context,user,userSettings,result){for(var html="",i=0,length=result.Items.length;i',html+='",html+=""}}context.querySelector(".landingScreens").innerHTML=html,html?context.querySelector(".landingScreensSection").classList.remove("hide"):context.querySelector(".landingScreensSection").classList.add("hide")}function renderViewOrder(context,user,result){var html="",index=0;html+=result.Items.map(function(view){var currentHtml="";return currentHtml+='
',currentHtml+='',currentHtml+='
',currentHtml+="
",currentHtml+=view.Name,currentHtml+="
",currentHtml+="
",currentHtml+='',currentHtml+='',currentHtml+="
",index++,currentHtml}).join(""),context.querySelector(".viewOrderList").innerHTML=html}function updateHomeSectionValues(context,userSettings){for(var i=1;i<=7;i++){var select=context.querySelector("#selectHomeSection"+i),defaultValue=homeSections.getDefaultSection(i-1),option=select.querySelector("option[value="+defaultValue+"]")||select.querySelector('option[value=""]'),userValue=userSettings.get("homesection"+(i-1));option.value="",userValue!==defaultValue&&userValue?select.value=userValue:select.value=""}}function loadForm(context,user,userSettings,apiClient){context.querySelector(".chkHidePlayedFromLatest").checked=user.Configuration.HidePlayedInLatest||!1,updateHomeSectionValues(context,userSettings);var promise1=apiClient.getUserViews({},user.Id);Promise.all([promise1]).then(function(responses){renderLatestItems(context,user,responses[0]),renderViewOrder(context,user,responses[0]),renderLandingScreens(context,user,userSettings,responses[0]),loading.hide()})}function onSectionOrderListClick(e){var target=dom.parentWithClass(e.target,"btnViewItemMove");if(target){var viewItem=dom.parentWithClass(target,"viewItem");if(viewItem){dom.parentWithClass(viewItem,"paperList");if(target.classList.contains("btnViewItemDown")){var next=viewItem.nextSibling;next&&(viewItem.parentNode.removeChild(viewItem),next.parentNode.insertBefore(viewItem,next.nextSibling))}else{var prev=viewItem.previousSibling;prev&&(viewItem.parentNode.removeChild(viewItem),prev.parentNode.insertBefore(viewItem,prev))}}}}function getCheckboxItems(selector,context,isChecked){for(var inputs=context.querySelectorAll(selector),list=[],i=0,length=inputs.length;i +
+ +

+ ${HeaderLandingScreens} +

+

${LandingScreensHelp}

+
+ +
+
+

${HeaderLatestMedia} diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/ar.json b/dashboard-ui/bower_components/emby-webcomponents/strings/ar.json index 10f66f064..55bb50eb6 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/ar.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/ar.json @@ -1,4 +1,14 @@ { + "HeaderPlaybackError": "Playback Error", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "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.", @@ -276,9 +286,9 @@ "LearnMore": "Learn more", "LabelProfile": "Profile:", "LabelBitrateMbps": "Bitrate (Mbps):", - "SyncUnwatchedVideosOnly": "Sync unwatched videos only", + "SyncUnwatchedVideosOnly": "Download unwatched videos only", "SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be downloaded, and videos will be removed from the device as they are watched.", - "AutomaticallySyncNewContent": "Automatically sync new content", + "AutomaticallySyncNewContent": "Automatically download new content", "AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically downloaded to the device.", "LabelItemLimit": "Item limit:", "LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be downloaded.", 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 009b1c443..29dae6d1d 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,14 @@ { + "HeaderPlaybackError": "Playback Error", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "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.", @@ -276,9 +286,9 @@ "LearnMore": "Learn more", "LabelProfile": "Profile:", "LabelBitrateMbps": "Bitrate (Mbps):", - "SyncUnwatchedVideosOnly": "Sync unwatched videos only", + "SyncUnwatchedVideosOnly": "Download unwatched videos only", "SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be downloaded, and videos will be removed from the device as they are watched.", - "AutomaticallySyncNewContent": "Automatically sync new content", + "AutomaticallySyncNewContent": "Automatically download new content", "AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically downloaded to the device.", "LabelItemLimit": "Item limit:", "LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be downloaded.", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/ca.json b/dashboard-ui/bower_components/emby-webcomponents/strings/ca.json index 1749ebf32..a099ad346 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/ca.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/ca.json @@ -1,4 +1,14 @@ { + "HeaderPlaybackError": "Playback Error", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "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.", @@ -278,7 +288,7 @@ "LabelBitrateMbps": "Bitrate (Mbps):", "SyncUnwatchedVideosOnly": "Sincronitza nom\u00e9s els v\u00eddeos no vists", "SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be downloaded, and videos will be removed from the device as they are watched.", - "AutomaticallySyncNewContent": "Automatically sync new content", + "AutomaticallySyncNewContent": "Automatically download new content", "AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically downloaded to the device.", "LabelItemLimit": "Item limit:", "LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be downloaded.", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/cs.json b/dashboard-ui/bower_components/emby-webcomponents/strings/cs.json index 44cf7a40b..58e9b4d57 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/cs.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/cs.json @@ -1,4 +1,14 @@ { + "HeaderPlaybackError": "Chyba p\u0159ehr\u00e1v\u00e1n\u00ed", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "MessageUnlockAppWithPurchaseOrSupporter": "Odemknout tuto funkci pomoc\u00ed jednor\u00e1zov\u00e9 platby, nebo pomoc\u00ed aktivace p\u0159edplatn\u00e9ho Emby Premiere.", "MessageUnlockAppWithSupporter": "Odemknout tuto funkci pomoc\u00ed aktivn\u00edho p\u0159edplatn\u00e9ho Emby Premiere.", "MessageToValidateSupporter": "Pokud m\u00e1te aktivn\u00ed p\u0159edplatn\u00e9 Emby Premiere, ujist\u011bte se, \u017ee m\u00e1te nastaven Emby Premiere v panelu Nastaven\u00ed pod N\u00e1pov\u011bda -> Emby Premiere.", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/da.json b/dashboard-ui/bower_components/emby-webcomponents/strings/da.json index e28c3c253..5e4ae9334 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/da.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/da.json @@ -1,4 +1,14 @@ { + "HeaderPlaybackError": "Fejl i afspilning", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "MessageUnlockAppWithPurchaseOrSupporter": "L\u00e5s op for dette feature med en lille enkeltst\u00e5ende betaling, eller med et aktivt Emby Premiere abonnement.", "MessageUnlockAppWithSupporter": "L\u00e5s op for dette feature med et aktivt Emby Premiere abonnement.", "MessageToValidateSupporter": "Hvis du har et aktivt Emby Premiere abonnement, skal du v\u00e6re sikker p\u00e5 at Emby Premiere er konfigureret i dit Emby Server-kontrolpanel, som kan tilg\u00e5es ved at klikke p\u00e5 Emby Premiere i hovedmenuen.", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/de.json b/dashboard-ui/bower_components/emby-webcomponents/strings/de.json index ff0266ceb..fd9538f0d 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/de.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/de.json @@ -1,4 +1,14 @@ { + "HeaderPlaybackError": "Wiedergabefehler", + "PlaybackErrorNotAllowed": "Die verf\u00fcgst derzeit \u00fcber keine Berechtigung um diesen Inhalt abzuspielen. Bitte kontaktiere deinen Systemadministrator f\u00fcr weitere Informationen.", + "PlaybackErrorPlaceHolder": "Bitte lege die Disc ein um das Video abzuspielen.", + "PlaybackErrorNoCompatibleStream": "Derzeit sind keine kompatiblen Stream verf\u00fcgbar. Bitte versuche es sp\u00e4ter nochmal oder kontaktiere deinen Systemadministrator f\u00fcr weitere Informationen.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "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).", @@ -50,8 +60,8 @@ "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", - "ButtonCancelSyncJob": "Synchronisierung abbrechen", - "CancelSyncJobConfirmation": "Der Abbruch der Synchronisation wird bereits synchronisierte Medien bei der n\u00e4chsten Synchronisation vom Ger\u00e4t l\u00f6schen. M\u00f6chten Sie wirklich fortfahren?", + "ButtonCancelSyncJob": "Download abbrechen", + "CancelSyncJobConfirmation": "Der Abbruch der Synchronisation wird bereits heruntergeladene Medien bei der n\u00e4chsten Synchronisation vom Ger\u00e4t l\u00f6schen. M\u00f6chtest du wirklich fortfahren?", "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.", @@ -270,19 +280,19 @@ "LabelSyncTo": "Synchronisiere mit:", "LabelSyncJobName": "Synchronisations-Aufgabe:", "LabelQuality": "Qualit\u00e4t:", - "LabelSyncNoTargetsHelp": "Es sieht so aus als w\u00fcrdest du aktuell keine Apps verwenden, die Synchronisation unterst\u00fctzen.", + "LabelSyncNoTargetsHelp": "Es sieht so aus als w\u00fcrdest du aktuell keine Apps verwenden, die Offline-Downloads unterst\u00fctzen.", "DownloadScheduled": "Download geplant", "HeaderSyncRequiresSub": "Synchronisation ben\u00f6tigt ein aktives Emby Premiere Abonnement.", "LearnMore": "Erfahre mehr", "LabelProfile": "Profil:", "LabelBitrateMbps": "Datenrate (Mbps):", - "SyncUnwatchedVideosOnly": "Synchronisiere nur ungesehene Videos.", - "SyncUnwatchedVideosOnlyHelp": "Nur ungesehene Video werden synchronisiert. Videos werden entfernt sobald diese auf dem Ger\u00e4t angeschaut wurden.", - "AutomaticallySyncNewContent": "Synchronisiere neue Inhalte automatisch", - "AutomaticallySyncNewContentHelp": "Neu zu diesem Ordner hinzugef\u00fcgte Inhalte werden automatisch mit dem Ger\u00e4t synchronisiert.", + "SyncUnwatchedVideosOnly": "Lade nur ungesehene Videos herunter", + "SyncUnwatchedVideosOnlyHelp": "Nur ungesehene Video werden heruntergeladen. Videos werden entfernt sobald diese auf dem Ger\u00e4t angeschaut wurden.", + "AutomaticallySyncNewContent": "Lade neue Inhalte automatisch herunter", + "AutomaticallySyncNewContentHelp": "Neu zu diesem Ordner hinzugef\u00fcgte Inhalte werden automatisch auf das Ger\u00e4t heruntergeladen.", "LabelItemLimit": "Maximale Anzahl:", - "LabelItemLimitHelp": "Optional. Lege die maximale Anzahl der zu synchronisierenden Eintr\u00e4ge fest.", - "PleaseSelectDeviceToSyncTo": "Bitte w\u00e4hle ein zu synchronisierendes Ger\u00e4t.", + "LabelItemLimitHelp": "Optional. Lege die maximale Anzahl der herunterzuladenden Eintr\u00e4ge fest.", + "PleaseSelectDeviceToSyncTo": "Bitte w\u00e4hle ein Download-Zielger\u00e4t.", "Screenshots": "Screenshots", "MoveRight": "Nach rechts bewegen", "MoveLeft": "Nach links bewegen", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/el.json b/dashboard-ui/bower_components/emby-webcomponents/strings/el.json index 2e9842949..b4fe3441a 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/el.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/el.json @@ -1,4 +1,14 @@ { + "HeaderPlaybackError": "Playback Error", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "MessageUnlockAppWithPurchaseOrSupporter": "\u039e\u03b5\u03ba\u03bb\u03b5\u03b9\u03b4\u03ce\u03c3\u03c4\u03b5 \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03c7\u03b1\u03c1\u03b1\u03ba\u03c4\u03b7\u03c1\u03b9\u03c3\u03c4\u03b9\u03ba\u03cc \u03ba\u03b1\u03c4\u03b1\u03b2\u03ac\u03bb\u03bf\u03bd\u03c4\u03b1\u03c2 \u03ad\u03bd\u03b1 \u03c0\u03bf\u03bb\u03cd \u03bc\u03b9\u03ba\u03c1\u03cc \u03ba\u03cc\u03c3\u03c4\u03bf\u03c2 \u03ae \u03bc\u03b5 \u03bc\u03af\u03b1 \u03b5\u03bd\u03b5\u03c1\u03b3\u03ae \u03c3\u03c5\u03bd\u03b4\u03c1\u03bf\u03bc\u03ae \u03c3\u03c4\u03bf Emby Premiere.", "MessageUnlockAppWithSupporter": "\u039e\u03b5\u03ba\u03bb\u03b5\u03b9\u03b4\u03ce\u03c3\u03c4\u03b5 \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03c7\u03b1\u03c1\u03b1\u03ba\u03c4\u03b7\u03c1\u03b9\u03c3\u03c4\u03b9\u03ba\u03cc \u03bc\u03b5 \u03bc\u03af\u03b1 \u03b5\u03bd\u03b5\u03c1\u03b3\u03ae \u03c3\u03c5\u03bd\u03b4\u03c1\u03bf\u03bc\u03ae \u03c3\u03c4\u03bf Emby Premiere.", "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.", @@ -276,9 +286,9 @@ "LearnMore": "Learn more", "LabelProfile": "Profile:", "LabelBitrateMbps": "Bitrate (Mbps):", - "SyncUnwatchedVideosOnly": "Sync unwatched videos only", + "SyncUnwatchedVideosOnly": "Download unwatched videos only", "SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be downloaded, and videos will be removed from the device as they are watched.", - "AutomaticallySyncNewContent": "Automatically sync new content", + "AutomaticallySyncNewContent": "Automatically download new content", "AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically downloaded to the device.", "LabelItemLimit": "Item limit:", "LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be downloaded.", 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 17fb9e8ad..3644fe003 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,14 @@ { + "HeaderPlaybackError": "Playback Error", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "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.", 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 629e71b27..9a3a3f414 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/en-us.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/en-us.json @@ -421,5 +421,11 @@ "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", - "Guide": "Guide" + "Guide": "Guide", + "HeaderLandingScreens": "Landing Screens", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Suggestions": "Suggestions", + "Favorites": "Favorites", + "Collections": "Collections", + "Shows": "Shows" } \ 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 d844b008c..84c65c354 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,14 @@ { + "HeaderPlaybackError": "Playback Error", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "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.", @@ -276,9 +286,9 @@ "LearnMore": "Learn more", "LabelProfile": "Profile:", "LabelBitrateMbps": "Bitrate (Mbps):", - "SyncUnwatchedVideosOnly": "Sync unwatched videos only", + "SyncUnwatchedVideosOnly": "Download unwatched videos only", "SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be downloaded, and videos will be removed from the device as they are watched.", - "AutomaticallySyncNewContent": "Automatically sync new content", + "AutomaticallySyncNewContent": "Automatically download new content", "AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically downloaded to the device.", "LabelItemLimit": "Item limit:", "LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be downloaded.", 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 6a6550ba6..8e29eb766 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,14 @@ { + "HeaderPlaybackError": "Error de Reproducci\u00f3n", + "PlaybackErrorNotAllowed": "Actualmente no esta autorizado para reproducir este contenido. Por favor contacte a su administrador de sistema para mas informaci\u00f3n.", + "PlaybackErrorPlaceHolder": "Por favor introduzca el disco para poder reproducir este video.", + "PlaybackErrorNoCompatibleStream": "No hay streams compatibles en este en este momento. Por favor intente de nuevo mas tarde o contacte a su administrador de sistema para mas detalles.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "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.", @@ -276,9 +286,9 @@ "LearnMore": "Aprenda m\u00e1s", "LabelProfile": "Perf\u00edl:", "LabelBitrateMbps": "Tasa de bits (Mbps):", - "SyncUnwatchedVideosOnly": "Sincronizar \u00fanicamente videos no vistos", + "SyncUnwatchedVideosOnly": "Descargar \u00fanicamente videos no vistos", "SyncUnwatchedVideosOnlyHelp": "Solamente los videos a\u00fan no vistos ser\u00e1n descargados, se eliminar\u00e1n los videos del dispositivo conforme \u00e9stos sean vistos.", - "AutomaticallySyncNewContent": "Sincronizar autom\u00e1ticamente nuevos contenidos", + "AutomaticallySyncNewContent": "Descargar autom\u00e1ticamente nuevos contenidos", "AutomaticallySyncNewContentHelp": "Los contenidos nuevos agregados a esta carpeta ser\u00e1n descargados autom\u00e1ticamente al dispositivo.", "LabelItemLimit": "L\u00edmite de \u00cdtems:", "LabelItemLimitHelp": "Opcional. Establece un l\u00edmite en el n\u00famero de \u00edtems que ser\u00e1n descargados.", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/es.json b/dashboard-ui/bower_components/emby-webcomponents/strings/es.json index f3d81efd2..d4793d145 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/es.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/es.json @@ -1,4 +1,14 @@ { + "HeaderPlaybackError": "Error de reproducci\u00f3n", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "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.", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/fi.json b/dashboard-ui/bower_components/emby-webcomponents/strings/fi.json index 29e4f1704..6601f6a2e 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/fi.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/fi.json @@ -1,4 +1,14 @@ { + "HeaderPlaybackError": "Playback Error", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "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.", @@ -276,9 +286,9 @@ "LearnMore": "Learn more", "LabelProfile": "Profile:", "LabelBitrateMbps": "Bitrate (Mbps):", - "SyncUnwatchedVideosOnly": "Sync unwatched videos only", + "SyncUnwatchedVideosOnly": "Download unwatched videos only", "SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be downloaded, and videos will be removed from the device as they are watched.", - "AutomaticallySyncNewContent": "Automatically sync new content", + "AutomaticallySyncNewContent": "Automatically download new content", "AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically downloaded to the device.", "LabelItemLimit": "Item limit:", "LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be downloaded.", 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 97f7e7d14..6f89331c7 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,14 @@ { + "HeaderPlaybackError": "Playback Error", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "MessageUnlockAppWithPurchaseOrSupporter": "D\u00e9verrouillez cette fonctionnalit\u00e9 avec un petit achat unique ou avec un abonnement Emby Premiere actif.", "MessageUnlockAppWithSupporter": "D\u00e9verrouillez cette fonctionnalit\u00e9 avec un abonnement Emby Premi\u00e8re actif.", "MessageToValidateSupporter": "Si vous avez un abonnement Emby Premi\u00e8re actif, assurez-vous d'avoir install\u00e9 Emby Premi\u00e8re sur le tableau de bord de votre serveur Emby, auquel vous pouvez acc\u00e9der en cliquant sur Emby Premi\u00e8re dans le menu principal.", @@ -276,9 +286,9 @@ "LearnMore": "Learn more", "LabelProfile": "Profile:", "LabelBitrateMbps": "Bitrate (Mbps):", - "SyncUnwatchedVideosOnly": "Sync unwatched videos only", + "SyncUnwatchedVideosOnly": "Download unwatched videos only", "SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be downloaded, and videos will be removed from the device as they are watched.", - "AutomaticallySyncNewContent": "Automatically sync new content", + "AutomaticallySyncNewContent": "Automatically download new content", "AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically downloaded to the device.", "LabelItemLimit": "Item limit:", "LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be downloaded.", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/fr.json b/dashboard-ui/bower_components/emby-webcomponents/strings/fr.json index bb938f527..b3aecfe1a 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/fr.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/fr.json @@ -1,4 +1,14 @@ { + "HeaderPlaybackError": "Erreur de lecture", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "MessageUnlockAppWithPurchaseOrSupporter": "D\u00e9verrouillez cette fonctionnalit\u00e9 avec un petit achat en une fois, ou avec une souscription Emby Premiere.", "MessageUnlockAppWithSupporter": "D\u00e9verrouillez cette fonctionnalit\u00e9 avec une souscription Emby Premiere.", "MessageToValidateSupporter": "Si vous avez un abonnement Emby Premiere, veuillez-vous assurer que vous avez configur\u00e9 Emby Premiere dans votre menu de gestion Emby Server auquel vous pouvez acc\u00e9der en cliquant sur Emby Premiere dans le menu principal", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/gsw.json b/dashboard-ui/bower_components/emby-webcomponents/strings/gsw.json index b710f38ce..22f562727 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/gsw.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/gsw.json @@ -1,4 +1,14 @@ { + "HeaderPlaybackError": "Playback Error", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "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.", @@ -276,9 +286,9 @@ "LearnMore": "Learn more", "LabelProfile": "Profile:", "LabelBitrateMbps": "Bitrate (Mbps):", - "SyncUnwatchedVideosOnly": "Sync unwatched videos only", + "SyncUnwatchedVideosOnly": "Download unwatched videos only", "SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be downloaded, and videos will be removed from the device as they are watched.", - "AutomaticallySyncNewContent": "Automatically sync new content", + "AutomaticallySyncNewContent": "Automatically download new content", "AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically downloaded to the device.", "LabelItemLimit": "Item limit:", "LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be downloaded.", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/he.json b/dashboard-ui/bower_components/emby-webcomponents/strings/he.json index a454c2721..c9983472a 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/he.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/he.json @@ -1,4 +1,14 @@ { + "HeaderPlaybackError": "Playback Error", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "MessageUnlockAppWithPurchaseOrSupporter": "\u05e0\u05e2\u05d9\u05dc\u05ea \u05ea\u05db\u05d5\u05e0\u05d4 \u05d6\u05d5 \u05e2\u05dd \u05e8\u05db\u05d9\u05e9\u05d4 \u05d7\u05d3 \u05e4\u05e2\u05de\u05d9\u05ea \u05e7\u05d8\u05e0\u05d4, \u05d0\u05d5 \u05e2\u05dd \u05de\u05e0\u05d5\u05d9 \u05e4\u05e2\u05d9\u05dc Premiere \u05d0\u05de\u05d1\u05d9.", "MessageUnlockAppWithSupporter": "\u05d1\u05d9\u05d8\u05d5\u05dc \u05e0\u05e2\u05d9\u05dc\u05d4 \u05e9\u05dc \u05ea\u05db\u05d5\u05e0\u05d4 \u05d6\u05d5 \u05e2\u05dd \u05de\u05e0\u05d5\u05d9 \u05e4\u05e2\u05d9\u05dc \u05e9\u05dc Emby Premiere.", "MessageToValidateSupporter": "\u05d0\u05dd \u05d9\u05e9 \u05dc\u05da \u05de\u05e0\u05d5\u05d9 \u05e4\u05e2\u05d9\u05dc \u05e9\u05dc Emby Premiere, \u05d5\u05d3\u05d0 \u05e9\u05d4\u05d2\u05d3\u05e8\u05ea \u05d0\u05ea Emby Premiere \u05d1\u05de\u05e8\u05db\u05d6 \u05d4\u05e9\u05dc\u05d9\u05d8\u05d4 \u05e9\u05dc \u200b\u200b\u05d0\u05de\u05d1\u05d9 \u05e9\u05e8\u05ea, \u05e9\u05d1\u05d5 \u05d1\u05d0\u05e4\u05e9\u05e8\u05d5\u05ea\u05da \u05dc\u05d2\u05e9\u05ea \u05e2\u05dc-\u05d9\u05d3\u05d9 \u05dc\u05d7\u05d9\u05e6\u05d4 \u05e2\u05dc Emby Premiere \u05d1\u05ea\u05e4\u05e8\u05d9\u05d8 \u05d4\u05e8\u05d0\u05e9\u05d9.", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/hr.json b/dashboard-ui/bower_components/emby-webcomponents/strings/hr.json index 17c3a769d..7e48dcd53 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/hr.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/hr.json @@ -1,4 +1,14 @@ { + "HeaderPlaybackError": "Playback Error", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "MessageUnlockAppWithPurchaseOrSupporter": "Otklju\u010daj ovu mogu\u0107nost s malom jednokratnom kupnjom ili s aktivnom pretplatom Emby Premijere.", "MessageUnlockAppWithSupporter": "Otklju\u010daj ovu mogu\u0107nost sa pretplatom Emby Premijere.", "MessageToValidateSupporter": "Ako imate aktivnu pretplatu Emby Premijere provjerite dali ste postavili Emby Premijeru u svojoj nadzornoj plo\u010di Emby Server-a kojoj mo\u017eete pristupiti klikom Emby Premijera u glavnom izborniku.", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/hu.json b/dashboard-ui/bower_components/emby-webcomponents/strings/hu.json index ef39e4f3f..5bdee352f 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/hu.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/hu.json @@ -1,4 +1,14 @@ { + "HeaderPlaybackError": "Playback Error", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "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.", @@ -276,9 +286,9 @@ "LearnMore": "Learn more", "LabelProfile": "Profile:", "LabelBitrateMbps": "Bitrate (Mbps):", - "SyncUnwatchedVideosOnly": "Sync unwatched videos only", + "SyncUnwatchedVideosOnly": "Download unwatched videos only", "SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be downloaded, and videos will be removed from the device as they are watched.", - "AutomaticallySyncNewContent": "Automatically sync new content", + "AutomaticallySyncNewContent": "Automatically download new content", "AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically downloaded to the device.", "LabelItemLimit": "Elemsz\u00e1m limit:", "LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be downloaded.", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/id.json b/dashboard-ui/bower_components/emby-webcomponents/strings/id.json index 2e7a852ef..416496bb9 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/id.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/id.json @@ -1,4 +1,14 @@ { + "HeaderPlaybackError": "Playback Error", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "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.", @@ -276,9 +286,9 @@ "LearnMore": "Learn more", "LabelProfile": "Profile:", "LabelBitrateMbps": "Bitrate (Mbps):", - "SyncUnwatchedVideosOnly": "Sync unwatched videos only", + "SyncUnwatchedVideosOnly": "Download unwatched videos only", "SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be downloaded, and videos will be removed from the device as they are watched.", - "AutomaticallySyncNewContent": "Automatically sync new content", + "AutomaticallySyncNewContent": "Automatically download new content", "AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically downloaded to the device.", "LabelItemLimit": "Item limit:", "LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be downloaded.", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/it.json b/dashboard-ui/bower_components/emby-webcomponents/strings/it.json index 8a0fd5819..e9a7426fe 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/it.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/it.json @@ -1,4 +1,14 @@ { + "HeaderPlaybackError": "Errore di riproduzione", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "MessageUnlockAppWithPurchaseOrSupporter": "Sblocca questa funzionalit\u00e0 con un piccolo acquisto singolo, o con un abbonamento Emby Premiere.", "MessageUnlockAppWithSupporter": "Sblocca questa funzionalit\u00e0 con un abbonamento Emby Premiere", "MessageToValidateSupporter": "Se hai un abbonamento Emby Premiere, assicurati di averlo configurato nel Pannello di Controllo del Server, a cui puoi accedere cliccando su Emby Premiere dal menu principale.", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/kk.json b/dashboard-ui/bower_components/emby-webcomponents/strings/kk.json index f22e14a11..f614314aa 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/kk.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/kk.json @@ -1,4 +1,14 @@ { + "HeaderPlaybackError": "\u041e\u0439\u043d\u0430\u0442\u0443 \u049b\u0430\u0442\u0435\u0441\u0456", + "PlaybackErrorNotAllowed": "\u041e\u0441\u044b \u043c\u0430\u0437\u043c\u04b1\u043d\u0434\u044b \u043e\u0439\u043d\u0430\u0442\u0443 \u04af\u0448\u0456\u043d \u0430\u0493\u044b\u043c\u0434\u0430 \u0441\u0456\u0437\u0433\u0435 \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0456\u043b\u043c\u0435\u0433\u0435\u043d. \u0422\u043e\u043b\u044b\u049b \u043c\u04d9\u043b\u0456\u043c\u0435\u0442\u0442\u0435\u0440 \u04af\u0448\u0456\u043d \u0436\u04af\u0439\u0435\u043b\u0456\u043a \u04d9\u043a\u0456\u043c\u0448\u0456\u04a3\u0456\u0437\u0433\u0435 \u0431\u0430\u0439\u043b\u0430\u043d\u044b\u0441\u044b\u04a3\u044b\u0437.", + "PlaybackErrorPlaceHolder": "\u041e\u0441\u044b \u0431\u0435\u0439\u043d\u0435\u043d\u0456 \u043e\u0439\u043d\u0430\u0442\u0443 \u04af\u0448\u0456\u043d \u0434\u0438\u0441\u043a\u0456\u043d\u0456 \u0435\u043d\u0433\u0456\u0437\u0456\u04a3\u0456\u0437.", + "PlaybackErrorNoCompatibleStream": "\u0410\u0493\u044b\u043c\u0434\u0430 \u0435\u0448\u049b\u0430\u043d\u0434\u0430\u0439 \u0441\u044b\u0439\u044b\u0441\u044b\u043c\u0434\u044b \u0430\u0493\u044b\u043d\u0434\u0430\u0440 \u049b\u043e\u043b\u0436\u0435\u0442\u0456\u043c\u0434\u0456 \u0435\u043c\u0435\u0441. \u04d8\u0440\u0435\u043a\u0435\u0442\u0442\u0456 \u043a\u0435\u0439\u0456\u043d \u049b\u0430\u0439\u0442\u0430\u043b\u0430\u04a3\u044b\u0437 \u043d\u0435\u043c\u0435\u0441\u0435 \u0442\u043e\u043b\u044b\u049b \u043c\u04d9\u043b\u0456\u043c\u0435\u0442\u0442\u0435\u0440 \u04af\u0448\u0456\u043d \u0436\u04af\u0439\u0435\u043b\u0456\u043a \u04d9\u043a\u0456\u043c\u0448\u0456\u04a3\u0456\u0437\u0433\u0435 \u0431\u0430\u0439\u043b\u0430\u043d\u044b\u0441\u044b\u04a3\u044b\u0437.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "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.", @@ -276,9 +286,9 @@ "LearnMore": "\u041a\u04e9\u0431\u0456\u0440\u0435\u043a \u0431\u0456\u043b\u0443", "LabelProfile": "\u041f\u0440\u043e\u0444\u0430\u0439\u043b:", "LabelBitrateMbps": "\u049a\u0430\u0440\u049b\u044b\u043d\u044b (\u041c\u0431\u0438\u0442\/\u0441):", - "SyncUnwatchedVideosOnly": "\u049a\u0430\u0440\u0430\u043b\u043c\u0430\u0493\u0430\u043d \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0440\u0434\u0456 \u04af\u043d\u0434-\u0456\u0440\u0443", + "SyncUnwatchedVideosOnly": "\u049a\u0430\u0440\u0430\u043b\u043c\u0430\u0493\u0430\u043d \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0440\u0434\u0456 \u0436\u04af\u043a\u0442\u0435\u0443", "SyncUnwatchedVideosOnlyHelp": "\u0422\u0435\u043a \u049b\u0430\u043d\u0430 \u049b\u0430\u0440\u0430\u043b\u043c\u0430\u0493\u0430\u043d \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0440 \u0436\u04af\u043a\u0442\u0435\u043b\u0435\u0434\u0456, \u049b\u0430\u0440\u0430\u043b\u0493\u0430\u043d\u043d\u0430\u043d \u043a\u0435\u0439\u0456\u043d \u049b\u04b1\u0440-\u0434\u0430\u043d \u0430\u043b\u0430\u0441\u0442\u0430\u043b\u0430\u0434\u044b.", - "AutomaticallySyncNewContent": "\u0416\u0430\u04a3\u0430 \u043c\u0430\u0437\u043c\u04b1\u043d\u0434\u044b \u04af\u043d\u0434\u0435\u0441\u0442\u0456\u0440\u0443", + "AutomaticallySyncNewContent": "\u0416\u0430\u04a3\u0430 \u043c\u0430\u0437\u043c\u04b1\u043d\u0434\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0442\u044b \u0442\u04af\u0440\u0434\u0435 \u0436\u04af\u043a\u0442\u0435\u0443", "AutomaticallySyncNewContentHelp": "\u041e\u0441\u044b \u049b\u0430\u043b\u0442\u0430\u0493\u0430 \u0436\u0430\u04a3\u0430\u0434\u0430\u043d \u049b\u043e\u0441\u044b\u043b\u0493\u0430\u043d \u043c\u0430\u0437\u043c\u04b1\u043d \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0442\u044b \u0442\u04af\u0440\u0434\u0435 \u043e\u0441\u044b \u049b\u04b1\u0440-\u0493\u044b\u0493\u0430 \u0436\u04af\u043a\u0442\u0435\u043b\u0435\u0434\u0456.", "LabelItemLimit": "\u0422\u0430\u0440\u043c\u0430\u049b\u0442\u0430\u0440 \u0448\u0435\u0433\u0456:", "LabelItemLimitHelp": "\u041c\u0456\u043d\u0434\u0435\u0442\u0442\u0456 \u0435\u043c\u0435\u0441: \u0416\u04af\u043a\u0442\u0435\u043b\u0435\u0442\u0456\u043d \u0442\u0430\u0440\u043c\u0430\u049b \u0441\u0430\u043d\u044b\u043d\u044b\u04a3 \u0448\u0435\u0433\u0456\u043d \u043e\u0440\u043d\u0430\u0442\u044b\u04a3\u044b\u0437.", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/ko.json b/dashboard-ui/bower_components/emby-webcomponents/strings/ko.json index 1e26dbc66..3407ceb6c 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/ko.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/ko.json @@ -1,4 +1,14 @@ { + "HeaderPlaybackError": "\uc7ac\uc0dd \uc624\ub958", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "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.", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/lt-lt.json b/dashboard-ui/bower_components/emby-webcomponents/strings/lt-lt.json index 8f7397974..dc3526655 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/lt-lt.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/lt-lt.json @@ -1,4 +1,14 @@ { + "HeaderPlaybackError": "Playback Error", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "MessageUnlockAppWithPurchaseOrSupporter": "Atrakinkite \u0161i\u0105 funkcij\u0105 nedideliu vienkartiniu mokes\u010diu arba \u012fsigij\u0119 Emby Premiere prenumerat\u0105.", "MessageUnlockAppWithSupporter": "Atrakinkite \u0161i\u0105 funkcij\u0105 \u012fsigij\u0119 Emby Premiere prenumerat\u0105.", "MessageToValidateSupporter": "Jei turite aktyvi\u0105 Emby Premiere prenumerat\u0105, sutvarkykite Emby Premiere savo Emby Serverio skydelyje. Tai galite atlikti paspaud\u0117 Emby Premiere u\u017era\u0161\u0105 pagrindiniame meniu.", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/ms.json b/dashboard-ui/bower_components/emby-webcomponents/strings/ms.json index 49e7a0062..917d2c60f 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/ms.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/ms.json @@ -1,4 +1,14 @@ { + "HeaderPlaybackError": "Playback Error", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "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.", @@ -276,9 +286,9 @@ "LearnMore": "Learn more", "LabelProfile": "Profile:", "LabelBitrateMbps": "Bitrate (Mbps):", - "SyncUnwatchedVideosOnly": "Sync unwatched videos only", + "SyncUnwatchedVideosOnly": "Download unwatched videos only", "SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be downloaded, and videos will be removed from the device as they are watched.", - "AutomaticallySyncNewContent": "Automatically sync new content", + "AutomaticallySyncNewContent": "Automatically download new content", "AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically downloaded to the device.", "LabelItemLimit": "Item limit:", "LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be downloaded.", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/nb.json b/dashboard-ui/bower_components/emby-webcomponents/strings/nb.json index 8859717b6..6ed3d4f5e 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/nb.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/nb.json @@ -1,4 +1,14 @@ { + "HeaderPlaybackError": "Avspillingsfeil", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "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.", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/nl.json b/dashboard-ui/bower_components/emby-webcomponents/strings/nl.json index 53b8d8b75..49a25c7a4 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/nl.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/nl.json @@ -1,4 +1,14 @@ { + "HeaderPlaybackError": "Afspeel Fout", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "MessageUnlockAppWithPurchaseOrSupporter": "Ontgrendel deze functie met een kleine eenmalige aankoop, of met een actief Emby Premiere abonnement.", "MessageUnlockAppWithSupporter": "Ontgrendel deze functie met een actief Emby Premiere abonnement.", "MessageToValidateSupporter": "Als u een actieve Emby Premiere abonnement heeft , zorg er dan voor dat u deze activeert in uw Emby Server Dashboard door te klikken op Emby Premiere in het hoofdmenu.", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/pl.json b/dashboard-ui/bower_components/emby-webcomponents/strings/pl.json index 5c9c115e3..e4f6775ee 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/pl.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/pl.json @@ -1,4 +1,14 @@ { + "HeaderPlaybackError": "B\u0142\u0105d Odtwarzania", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "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.", 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 f88ec6b18..4eb218c2a 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,14 @@ { + "HeaderPlaybackError": "Erro na Reprodu\u00e7\u00e3o", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "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.", 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 677edee63..ba0f0ba25 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,14 @@ { + "HeaderPlaybackError": "Erro na Reprodu\u00e7\u00e3o", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "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.", @@ -276,9 +286,9 @@ "LearnMore": "Saiba mais", "LabelProfile": "Profile:", "LabelBitrateMbps": "Bitrate (Mbps):", - "SyncUnwatchedVideosOnly": "Sync unwatched videos only", + "SyncUnwatchedVideosOnly": "Download unwatched videos only", "SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be downloaded, and videos will be removed from the device as they are watched.", - "AutomaticallySyncNewContent": "Automatically sync new content", + "AutomaticallySyncNewContent": "Automatically download new content", "AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically downloaded to the device.", "LabelItemLimit": "Item limit:", "LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be downloaded.", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/ro.json b/dashboard-ui/bower_components/emby-webcomponents/strings/ro.json index 49fcec96e..7e57ecc79 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/ro.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/ro.json @@ -1,4 +1,14 @@ { + "HeaderPlaybackError": "Playback Error", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "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.", @@ -276,9 +286,9 @@ "LearnMore": "Learn more", "LabelProfile": "Profile:", "LabelBitrateMbps": "Bitrate (Mbps):", - "SyncUnwatchedVideosOnly": "Sync unwatched videos only", + "SyncUnwatchedVideosOnly": "Download unwatched videos only", "SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be downloaded, and videos will be removed from the device as they are watched.", - "AutomaticallySyncNewContent": "Automatically sync new content", + "AutomaticallySyncNewContent": "Automatically download new content", "AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically downloaded to the device.", "LabelItemLimit": "Item limit:", "LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be downloaded.", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/ru.json b/dashboard-ui/bower_components/emby-webcomponents/strings/ru.json index 3eba4ca2a..2ea8c5b63 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/ru.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/ru.json @@ -1,4 +1,14 @@ { + "HeaderPlaybackError": "\u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f", + "PlaybackErrorNotAllowed": "\u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0432\u044b \u043d\u0435 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u0447\u0442\u043e\u0431\u044b \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435. \u0417\u0430 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435\u0441\u044c \u043a \u0441\u0432\u043e\u0435\u043c\u0443 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u043c\u0443 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0443.", + "PlaybackErrorPlaceHolder": "\u0412\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u0434\u0438\u0441\u043a, \u0447\u0442\u043e\u0431\u044b \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u0434\u0430\u043d\u043d\u043e\u0435 \u0432\u0438\u0434\u0435\u043e.", + "PlaybackErrorNoCompatibleStream": "\u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b\u0445 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u0432 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u043d\u0435 \u0438\u043c\u0435\u0435\u0442\u0441\u044f. \u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0443 \u043f\u043e\u0437\u0436\u0435 \u0438\u043b\u0438 \u0437\u0430 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435\u0441\u044c \u043a \u0441\u0432\u043e\u0435\u043c\u0443 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u043c\u0443 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0443.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "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\u043a\u0440\u0430\u0442\u043d\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.", @@ -276,9 +286,9 @@ "LearnMore": "\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435...", "LabelProfile": "\u041f\u0440\u043e\u0444\u0438\u043b\u044c:", "LabelBitrateMbps": "\u041f\u043e\u0442\u043e\u043a\u043e\u0432\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c, \u041c\u0431\u0438\u0442\/\u0441:", - "SyncUnwatchedVideosOnly": "\u0421\u0438\u043d\u0445\u0440-\u0442\u044c \u043d\u0435\u043f\u0440\u043e\u0441\u043c-\u044b\u0435 \u0432\u0438\u0434\u0435\u043e", + "SyncUnwatchedVideosOnly": "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043d\u0435\u043f\u0440\u043e\u0441\u043c-\u044b\u0435 \u0432\u0438\u0434\u0435\u043e", "SyncUnwatchedVideosOnlyHelp": "\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u043f\u0440\u043e\u0441\u043c-\u044b\u0435 \u0432\u0438\u0434\u0435\u043e, \u0430 \u043f\u0440\u043e\u0441\u043c-\u044b\u0435 \u0438\u0437\u044b\u043c\u0430\u044e\u0442\u0441\u044f \u0441 \u0443\u0441\u0442\u0440-\u0432\u0430.", - "AutomaticallySyncNewContent": "\u0421\u0438\u043d\u0445\u0440-\u0442\u044c \u043d\u043e\u0432\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435", + "AutomaticallySyncNewContent": "\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u043d\u043e\u0432\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435", "AutomaticallySyncNewContentHelp": "\u041d\u043e\u0432\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435, \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0435 \u0432 \u044d\u0442\u0443 \u043f\u0430\u043f\u043a\u0443, \u0430\u0432\u0442\u043e-\u043a\u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0443\u0441\u0442\u0440-\u0432\u043e.", "LabelItemLimit": "\u041b\u0438\u043c\u0438\u0442 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432:", "LabelItemLimitHelp": "\u041d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e. \u041b\u0438\u043c\u0438\u0442 \u0447\u0438\u0441\u043b\u0430 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c\u0441\u044f.", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/sk.json b/dashboard-ui/bower_components/emby-webcomponents/strings/sk.json index 49e7a0062..917d2c60f 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/sk.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/sk.json @@ -1,4 +1,14 @@ { + "HeaderPlaybackError": "Playback Error", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "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.", @@ -276,9 +286,9 @@ "LearnMore": "Learn more", "LabelProfile": "Profile:", "LabelBitrateMbps": "Bitrate (Mbps):", - "SyncUnwatchedVideosOnly": "Sync unwatched videos only", + "SyncUnwatchedVideosOnly": "Download unwatched videos only", "SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be downloaded, and videos will be removed from the device as they are watched.", - "AutomaticallySyncNewContent": "Automatically sync new content", + "AutomaticallySyncNewContent": "Automatically download new content", "AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically downloaded to the device.", "LabelItemLimit": "Item limit:", "LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be downloaded.", 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 11034339a..6df3cc813 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,14 @@ { + "HeaderPlaybackError": "Playback Error", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "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.", @@ -276,7 +286,7 @@ "LearnMore": "Learn more", "LabelProfile": "Profile:", "LabelBitrateMbps": "Bitrate (Mbps):", - "SyncUnwatchedVideosOnly": "Sync unwatched videos only", + "SyncUnwatchedVideosOnly": "Download unwatched videos only", "SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be downloaded, and videos will be removed from the device as they are watched.", "AutomaticallySyncNewContent": "Samodejno sinhroniziraj nove vsebine", "AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically downloaded to the device.", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/sv.json b/dashboard-ui/bower_components/emby-webcomponents/strings/sv.json index 27df8efdd..f29228452 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/sv.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/sv.json @@ -1,4 +1,14 @@ { + "HeaderPlaybackError": "Uppspelningsfel", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "MessageUnlockAppWithPurchaseOrSupporter": "L\u00e5s upp denna feature med ett eng\u00e5ngsk\u00f6p, eller med ett aktivt Emby Premium-medlemskap.", "MessageUnlockAppWithSupporter": "L\u00e5s upp den h\u00e4r funktionen med en aktiv Emby Premium prenumeration.", "MessageToValidateSupporter": "Om du har ett aktivt Emby Premium-medlemskap, se till att du har st\u00e4llt in Emby Premium i Emby Server Dashboard, som du kommer \u00e5t genom att klicka p\u00e5 Emby Premium i huvudmenyn.", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/tr.json b/dashboard-ui/bower_components/emby-webcomponents/strings/tr.json index 55b1c80e8..b809d61e5 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/tr.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/tr.json @@ -1,4 +1,14 @@ { + "HeaderPlaybackError": "Playback Error", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "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.", @@ -276,9 +286,9 @@ "LearnMore": "Learn more", "LabelProfile": "Profile:", "LabelBitrateMbps": "Bitrate (Mbps):", - "SyncUnwatchedVideosOnly": "Sync unwatched videos only", + "SyncUnwatchedVideosOnly": "Download unwatched videos only", "SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be downloaded, and videos will be removed from the device as they are watched.", - "AutomaticallySyncNewContent": "Automatically sync new content", + "AutomaticallySyncNewContent": "Automatically download new content", "AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically downloaded to the device.", "LabelItemLimit": "Item limit:", "LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be downloaded.", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/uk.json b/dashboard-ui/bower_components/emby-webcomponents/strings/uk.json index f32ab2a56..586acfea9 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/uk.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/uk.json @@ -1,4 +1,14 @@ { + "HeaderPlaybackError": "Playback Error", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "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.", @@ -276,9 +286,9 @@ "LearnMore": "Learn more", "LabelProfile": "Profile:", "LabelBitrateMbps": "Bitrate (Mbps):", - "SyncUnwatchedVideosOnly": "Sync unwatched videos only", + "SyncUnwatchedVideosOnly": "Download unwatched videos only", "SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be downloaded, and videos will be removed from the device as they are watched.", - "AutomaticallySyncNewContent": "Automatically sync new content", + "AutomaticallySyncNewContent": "Automatically download new content", "AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically downloaded to the device.", "LabelItemLimit": "Item limit:", "LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be downloaded.", diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/vi.json b/dashboard-ui/bower_components/emby-webcomponents/strings/vi.json index 8d0381d26..d6b3c2dda 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/vi.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/vi.json @@ -1,4 +1,14 @@ { + "HeaderPlaybackError": "Playback Error", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "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.", @@ -276,9 +286,9 @@ "LearnMore": "Learn more", "LabelProfile": "Profile:", "LabelBitrateMbps": "Bitrate (Mbps):", - "SyncUnwatchedVideosOnly": "Sync unwatched videos only", + "SyncUnwatchedVideosOnly": "Download unwatched videos only", "SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be downloaded, and videos will be removed from the device as they are watched.", - "AutomaticallySyncNewContent": "Automatically sync new content", + "AutomaticallySyncNewContent": "Automatically download new content", "AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically downloaded to the device.", "LabelItemLimit": "Item limit:", "LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be downloaded.", 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 1101493f6..5fad2e0c1 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,14 @@ { + "HeaderPlaybackError": "Playback Error", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "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.", @@ -276,9 +286,9 @@ "LearnMore": "\u4e86\u89e3\u66f4\u591a", "LabelProfile": "Profile:", "LabelBitrateMbps": "Bitrate (Mbps):", - "SyncUnwatchedVideosOnly": "Sync unwatched videos only", + "SyncUnwatchedVideosOnly": "Download unwatched videos only", "SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be downloaded, and videos will be removed from the device as they are watched.", - "AutomaticallySyncNewContent": "Automatically sync new content", + "AutomaticallySyncNewContent": "Automatically download new content", "AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically downloaded to the device.", "LabelItemLimit": "Item limit:", "LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be downloaded.", 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 fa63eb795..3c8dfff18 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,14 @@ { + "HeaderPlaybackError": "Playback Error", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "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.", @@ -276,9 +286,9 @@ "LearnMore": "Learn more", "LabelProfile": "Profile:", "LabelBitrateMbps": "Bitrate (Mbps):", - "SyncUnwatchedVideosOnly": "Sync unwatched videos only", + "SyncUnwatchedVideosOnly": "Download unwatched videos only", "SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be downloaded, and videos will be removed from the device as they are watched.", - "AutomaticallySyncNewContent": "Automatically sync new content", + "AutomaticallySyncNewContent": "Automatically download new content", "AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically downloaded to the device.", "LabelItemLimit": "Item limit:", "LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be downloaded.", 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 ca5bf30a4..19d8f8416 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,14 @@ { + "HeaderPlaybackError": "Playback Error", + "PlaybackErrorNotAllowed": "You're currently not authorized to play this content. Please contact your system administrator for details.", + "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", + "PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", + "Favorites": "Favorites", + "HeaderLandingScreens": "Landing Screens", + "Suggestions": "Suggestions", + "LandingScreensHelp": "Select the default landing screen when clicking on a library.", + "Shows": "Shows", + "Collections": "Collections", "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.", @@ -276,9 +286,9 @@ "LearnMore": "Learn more", "LabelProfile": "Profile:", "LabelBitrateMbps": "Bitrate (Mbps):", - "SyncUnwatchedVideosOnly": "Sync unwatched videos only", + "SyncUnwatchedVideosOnly": "Download unwatched videos only", "SyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be downloaded, and videos will be removed from the device as they are watched.", - "AutomaticallySyncNewContent": "Automatically sync new content", + "AutomaticallySyncNewContent": "Automatically download new content", "AutomaticallySyncNewContentHelp": "New content added to this folder will be automatically downloaded to the device.", "LabelItemLimit": "Item limit:", "LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be downloaded.", diff --git a/dashboard-ui/livetvitems.html b/dashboard-ui/livetvitems.html index b6aab471f..c6d87635e 100644 --- a/dashboard-ui/livetvitems.html +++ b/dashboard-ui/livetvitems.html @@ -1,8 +1,10 @@ 
-
-
+
+
+
+
+
-
\ No newline at end of file diff --git a/dashboard-ui/scripts/moviesrecommended.js b/dashboard-ui/scripts/moviesrecommended.js index 0170cd126..3d62d0ac5 100644 --- a/dashboard-ui/scripts/moviesrecommended.js +++ b/dashboard-ui/scripts/moviesrecommended.js @@ -1 +1 @@ -define(["layoutManager","libraryBrowser","mainTabsManager","components/categorysyncbuttons","cardBuilder","dom","apphost","imageLoader","playbackManager","scrollStyles","emby-itemscontainer","emby-tabs","emby-button"],function(layoutManager,libraryBrowser,mainTabsManager,categorysyncbuttons,cardBuilder,dom,appHost,imageLoader,playbackManager){"use strict";function enableScrollX(){return!layoutManager.desktop}function getPortraitShape(){return enableScrollX()?"overflowPortrait":"portrait"}function getThumbShape(){return enableScrollX()?"overflowBackdrop":"backdrop"}function loadLatest(page,userId,parentId){var options={IncludeItemTypes:"Movie",Limit:18,Fields:"PrimaryImageAspectRatio,MediaSourceCount,BasicSyncInfo",ParentId:parentId,ImageTypeLimit:1,EnableImageTypes:"Primary,Backdrop,Banner,Thumb",EnableTotalRecordCount:!1};ApiClient.getJSON(ApiClient.getUrl("Users/"+userId+"/Items/Latest",options)).then(function(items){var allowBottomPadding=!enableScrollX(),container=page.querySelector("#recentlyAddedItems");cardBuilder.buildCards(items,{itemsContainer:container,shape:getPortraitShape(),scalable:!0,overlayPlayButton:!0,allowBottomPadding:allowBottomPadding})})}function loadResume(page,userId,parentId){var screenWidth=dom.getWindowSize().innerWidth,options={SortBy:"DatePlayed",SortOrder:"Descending",IncludeItemTypes:"Movie",Filters:"IsResumable",Limit:screenWidth>=1920?5:screenWidth>=1600?5:3,Recursive:!0,Fields:"PrimaryImageAspectRatio,MediaSourceCount,BasicSyncInfo",CollapseBoxSetItems:!1,ParentId:parentId,ImageTypeLimit:1,EnableImageTypes:"Primary,Backdrop,Banner,Thumb",EnableTotalRecordCount:!1};ApiClient.getItems(userId,options).then(function(result){result.Items.length?page.querySelector("#resumableSection").classList.remove("hide"):page.querySelector("#resumableSection").classList.add("hide");var allowBottomPadding=!enableScrollX(),container=page.querySelector("#resumableItems"),cardLayout=!1;cardBuilder.buildCards(result.Items,{itemsContainer:container,preferThumb:!0,shape:getThumbShape(),scalable:!0,overlayPlayButton:!0,allowBottomPadding:allowBottomPadding,cardLayout:cardLayout,showTitle:!0,showYear:!0,centerText:!cardLayout})})}function getRecommendationHtml(recommendation){var html="",title="";switch(recommendation.RecommendationType){case"SimilarToRecentlyPlayed":title=Globalize.translate("RecommendationBecauseYouWatched").replace("{0}",recommendation.BaselineItemName);break;case"SimilarToLikedItem":title=Globalize.translate("RecommendationBecauseYouLike").replace("{0}",recommendation.BaselineItemName);break;case"HasDirectorFromRecentlyPlayed":case"HasLikedDirector":title=Globalize.translate("RecommendationDirectedBy").replace("{0}",recommendation.BaselineItemName);break;case"HasActorFromRecentlyPlayed":case"HasLikedActor":title=Globalize.translate("RecommendationStarring").replace("{0}",recommendation.BaselineItemName)}html+='
',html+='

'+title+"

";var allowBottomPadding=!0;return enableScrollX()?(allowBottomPadding=!1,html+='
'):html+='
',html+=cardBuilder.getCardsHtml(recommendation.Items,{shape:getPortraitShape(),scalable:!0,overlayPlayButton:!0,allowBottomPadding:allowBottomPadding}),html+="
",html+="
"}function loadSuggestions(page,userId,parentId){var screenWidth=dom.getWindowSize().innerWidth,url=ApiClient.getUrl("Movies/Recommendations",{userId:userId,categoryLimit:6,ItemLimit:screenWidth>=1920?8:screenWidth>=1600?8:screenWidth>=1200?6:5,Fields:"PrimaryImageAspectRatio,MediaSourceCount,BasicSyncInfo",ImageTypeLimit:1,EnableImageTypes:"Primary,Backdrop,Banner,Thumb"});ApiClient.getJSON(url).then(function(recommendations){if(!recommendations.length)return page.querySelector(".noItemsMessage").classList.remove("hide"),void(page.querySelector(".recommendations").innerHTML="");var html=recommendations.map(getRecommendationHtml).join("");page.querySelector(".noItemsMessage").classList.add("hide");var recs=page.querySelector(".recommendations");recs.innerHTML=html,imageLoader.lazyChildren(recs)})}function initSuggestedTab(page,tabContent){for(var containers=tabContent.querySelectorAll(".itemsContainer"),i=0,length=containers.length;i=1920?5:screenWidth>=1600?5:3,Recursive:!0,Fields:"PrimaryImageAspectRatio,MediaSourceCount,BasicSyncInfo",CollapseBoxSetItems:!1,ParentId:parentId,ImageTypeLimit:1,EnableImageTypes:"Primary,Backdrop,Banner,Thumb",EnableTotalRecordCount:!1};ApiClient.getItems(userId,options).then(function(result){result.Items.length?page.querySelector("#resumableSection").classList.remove("hide"):page.querySelector("#resumableSection").classList.add("hide");var allowBottomPadding=!enableScrollX(),container=page.querySelector("#resumableItems"),cardLayout=!1;cardBuilder.buildCards(result.Items,{itemsContainer:container,preferThumb:!0,shape:getThumbShape(),scalable:!0,overlayPlayButton:!0,allowBottomPadding:allowBottomPadding,cardLayout:cardLayout,showTitle:!0,showYear:!0,centerText:!cardLayout})})}function getRecommendationHtml(recommendation){var html="",title="";switch(recommendation.RecommendationType){case"SimilarToRecentlyPlayed":title=Globalize.translate("RecommendationBecauseYouWatched").replace("{0}",recommendation.BaselineItemName);break;case"SimilarToLikedItem":title=Globalize.translate("RecommendationBecauseYouLike").replace("{0}",recommendation.BaselineItemName);break;case"HasDirectorFromRecentlyPlayed":case"HasLikedDirector":title=Globalize.translate("RecommendationDirectedBy").replace("{0}",recommendation.BaselineItemName);break;case"HasActorFromRecentlyPlayed":case"HasLikedActor":title=Globalize.translate("RecommendationStarring").replace("{0}",recommendation.BaselineItemName)}html+='
',html+='

'+title+"

";var allowBottomPadding=!0;return enableScrollX()?(allowBottomPadding=!1,html+='
'):html+='
',html+=cardBuilder.getCardsHtml(recommendation.Items,{shape:getPortraitShape(),scalable:!0,overlayPlayButton:!0,allowBottomPadding:allowBottomPadding}),html+="
",html+="
"}function loadSuggestions(page,userId,parentId){var screenWidth=dom.getWindowSize().innerWidth,url=ApiClient.getUrl("Movies/Recommendations",{userId:userId,categoryLimit:6,ItemLimit:screenWidth>=1920?8:screenWidth>=1600?8:screenWidth>=1200?6:5,Fields:"PrimaryImageAspectRatio,MediaSourceCount,BasicSyncInfo",ImageTypeLimit:1,EnableImageTypes:"Primary,Backdrop,Banner,Thumb"});ApiClient.getJSON(url).then(function(recommendations){if(!recommendations.length)return page.querySelector(".noItemsMessage").classList.remove("hide"),void(page.querySelector(".recommendations").innerHTML="");var html=recommendations.map(getRecommendationHtml).join("");page.querySelector(".noItemsMessage").classList.add("hide");var recs=page.querySelector(".recommendations");recs.innerHTML=html,imageLoader.lazyChildren(recs)})}function initSuggestedTab(page,tabContent){for(var containers=tabContent.querySelectorAll(".itemsContainer"),i=0,length=containers.length;i=1600?5:6,options={SortBy:"DatePlayed",SortOrder:"Descending",IncludeItemTypes:"Episode",Filters:"IsResumable",Limit:limit,Recursive:!0,Fields:"PrimaryImageAspectRatio,SeriesInfo,UserData,BasicSyncInfo",ExcludeLocationTypes:"Virtual",ParentId:parentId,ImageTypeLimit:1,EnableImageTypes:"Primary,Backdrop,Thumb",EnableTotalRecordCount:!1};ApiClient.getItems(Dashboard.getCurrentUserId(),options).then(function(result){result.Items.length?view.querySelector("#resumableSection").classList.remove("hide"):view.querySelector("#resumableSection").classList.add("hide");var allowBottomPadding=!enableScrollX(),container=view.querySelector("#resumableItems"),supportsImageAnalysis=appHost.supports("imageanalysis"),cardLayout=!1;cardBuilder.buildCards(result.Items,{itemsContainer:container,preferThumb:!0,shape:getThumbShape(),scalable:!0,showTitle:!0,showParentTitle:!0,overlayText:!1,centerText:!cardLayout,overlayPlayButton:!0,allowBottomPadding:allowBottomPadding,cardLayout:cardLayout,vibrant:cardLayout&&supportsImageAnalysis})})}function onBeforeTabChange(e){preLoadTab(view,parseInt(e.detail.selectedTabIndex))}function onTabChange(e){loadTab(view,parseInt(e.detail.selectedTabIndex))}function initTabs(){var tabsReplaced=mainTabsManager.setTabs(view,currentTabIndex,getTabs);if(tabsReplaced){var viewTabs=document.querySelector(".tabs-viewmenubar");viewTabs.addEventListener("beforetabchange",onBeforeTabChange),viewTabs.addEventListener("tabchange",onTabChange),libraryBrowser.configurePaperLibraryTabs(view,viewTabs,view.querySelectorAll(".pageTabContent"),[0,1,2,4,5,6]),viewTabs.triggerBeforeTabChange||viewTabs.addEventListener("ready",function(){viewTabs.triggerBeforeTabChange()})}}function getTabController(page,index,callback){var depends=[];switch(index){case 0:break;case 1:depends.push("scripts/tvlatest");break;case 2:depends.push("scripts/tvshows");break;case 3:depends.push("scripts/tvupcoming");break;case 4:depends.push("scripts/tvgenres");break;case 5:depends.push("scripts/tvstudios");break;case 6:depends.push("scripts/episodes")}require(depends,function(controllerFactory){var tabContent;0==index&&(tabContent=view.querySelector(".pageTabContent[data-index='"+index+"']"),self.tabContent=tabContent);var controller=tabControllers[index];controller||(tabContent=view.querySelector(".pageTabContent[data-index='"+index+"']"),controller=index?new controllerFactory(view,params,tabContent):self,tabControllers[index]=controller,controller.initTab&&controller.initTab()),callback(controller)})}function preLoadTab(page,index){getTabController(page,index,function(controller){renderedTabs.indexOf(index)==-1&&controller.preRender&&controller.preRender()})}function loadTab(page,index){currentTabIndex=index,getTabController(page,index,function(controller){renderedTabs.indexOf(index)==-1&&(renderedTabs.push(index),controller.renderTab())})}function onPlaybackStop(e,state){state.NowPlayingItem&&"Video"==state.NowPlayingItem.MediaType&&(renderedTabs=[],mainTabsManager.getTabsElement().triggerTabChange())}function onWebSocketMessage(e,data){var msg=data;"UserDataChanged"===msg.MessageType&&msg.Data.UserId==Dashboard.getCurrentUserId()&&(renderedTabs=[])}var self=this,currentTabIndex=parseInt(params.tab||"0");self.initTab=function(){var tabContent=self.tabContent,resumableItemsContainer=tabContent.querySelector("#resumableItems");enableScrollX()?(resumableItemsContainer.classList.add("hiddenScrollX"),resumableItemsContainer.classList.remove("vertical-wrap")):(resumableItemsContainer.classList.remove("hiddenScrollX"),resumableItemsContainer.classList.add("vertical-wrap")),categorysyncbuttons.init(tabContent)},self.renderTab=function(){reload()};var tabControllers=[],renderedTabs=[];enableScrollX()?view.querySelector("#resumableItems").classList.add("hiddenScrollX"):view.querySelector("#resumableItems").classList.remove("hiddenScrollX"),view.addEventListener("viewbeforeshow",function(e){if(initTabs(),!view.getAttribute("data-title")){var parentId=params.topParentId;parentId?ApiClient.getItem(Dashboard.getCurrentUserId(),parentId).then(function(item){view.setAttribute("data-title",item.Name),LibraryMenu.setTitle(item.Name)}):(view.setAttribute("data-title",Globalize.translate("TabShows")),LibraryMenu.setTitle(Globalize.translate("TabShows")))}var tabs=mainTabsManager.getTabsElement();tabs.triggerBeforeTabChange&&tabs.triggerBeforeTabChange(),Events.on(playbackManager,"playbackstop",onPlaybackStop),Events.on(ApiClient,"websocketmessage",onWebSocketMessage)}),view.addEventListener("viewshow",function(e){mainTabsManager.getTabsElement().triggerTabChange()}),view.addEventListener("viewbeforehide",function(e){Events.off(playbackManager,"playbackstop",onPlaybackStop),Events.off(ApiClient,"websocketmessage",onWebSocketMessage)}),view.addEventListener("viewdestroy",function(e){tabControllers.forEach(function(t){t.destroy&&t.destroy()})})}}); \ No newline at end of file +define(["layoutManager","loading","libraryBrowser","dom","components/categorysyncbuttons","userSettings","cardBuilder","apphost","playbackManager","mainTabsManager","scrollStyles","emby-itemscontainer","emby-button"],function(layoutManager,loading,libraryBrowser,dom,categorysyncbuttons,userSettings,cardBuilder,appHost,playbackManager,mainTabsManager){"use strict";function getTabs(){return[{name:Globalize.translate("TabSuggestions")},{name:Globalize.translate("TabLatest")},{name:Globalize.translate("TabShows")},{name:Globalize.translate("TabUpcoming")},{name:Globalize.translate("TabGenres")},{name:Globalize.translate("TabNetworks")},{name:Globalize.translate("TabEpisodes")}]}function getDefaultTabIndex(folderId){switch(userSettings.get("landing-"+folderId)){case"latest":return 1;case"shows":return 2;case"favorites":return 0;case"genres":return 4;default:return 0}}return function(view,params){function reload(){loading.show(),loadResume(),loadNextUp()}function loadNextUp(){var query={Limit:24,Fields:"PrimaryImageAspectRatio,SeriesInfo,DateCreated,BasicSyncInfo",UserId:Dashboard.getCurrentUserId(),ImageTypeLimit:1,EnableImageTypes:"Primary,Backdrop,Thumb",EnableTotalRecordCount:!1};query.ParentId=LibraryMenu.getTopParentId(),ApiClient.getNextUpEpisodes(query).then(function(result){result.Items.length?view.querySelector(".noNextUpItems").classList.add("hide"):view.querySelector(".noNextUpItems").classList.remove("hide");var container=view.querySelector("#nextUpItems"),supportsImageAnalysis=appHost.supports("imageanalysis"),cardLayout=!1;cardBuilder.buildCards(result.Items,{itemsContainer:container,preferThumb:!0,shape:"backdrop",scalable:!0,showTitle:!0,showParentTitle:!0,overlayText:!1,centerText:!cardLayout,overlayPlayButton:!0,cardLayout:cardLayout,vibrant:cardLayout&&supportsImageAnalysis}),loading.hide()})}function enableScrollX(){return!layoutManager.desktop}function getThumbShape(){return enableScrollX()?"overflowBackdrop":"backdrop"}function loadResume(){var parentId=LibraryMenu.getTopParentId(),screenWidth=dom.getWindowSize().innerWidth,limit=screenWidth>=1600?5:6,options={SortBy:"DatePlayed",SortOrder:"Descending",IncludeItemTypes:"Episode",Filters:"IsResumable",Limit:limit,Recursive:!0,Fields:"PrimaryImageAspectRatio,SeriesInfo,UserData,BasicSyncInfo",ExcludeLocationTypes:"Virtual",ParentId:parentId,ImageTypeLimit:1,EnableImageTypes:"Primary,Backdrop,Thumb",EnableTotalRecordCount:!1};ApiClient.getItems(Dashboard.getCurrentUserId(),options).then(function(result){result.Items.length?view.querySelector("#resumableSection").classList.remove("hide"):view.querySelector("#resumableSection").classList.add("hide");var allowBottomPadding=!enableScrollX(),container=view.querySelector("#resumableItems"),supportsImageAnalysis=appHost.supports("imageanalysis"),cardLayout=!1;cardBuilder.buildCards(result.Items,{itemsContainer:container,preferThumb:!0,shape:getThumbShape(),scalable:!0,showTitle:!0,showParentTitle:!0,overlayText:!1,centerText:!cardLayout,overlayPlayButton:!0,allowBottomPadding:allowBottomPadding,cardLayout:cardLayout,vibrant:cardLayout&&supportsImageAnalysis})})}function onBeforeTabChange(e){preLoadTab(view,parseInt(e.detail.selectedTabIndex))}function onTabChange(e){loadTab(view,parseInt(e.detail.selectedTabIndex))}function initTabs(){var tabsReplaced=mainTabsManager.setTabs(view,currentTabIndex,getTabs);if(tabsReplaced){var viewTabs=document.querySelector(".tabs-viewmenubar");viewTabs.addEventListener("beforetabchange",onBeforeTabChange),viewTabs.addEventListener("tabchange",onTabChange),libraryBrowser.configurePaperLibraryTabs(view,viewTabs,view.querySelectorAll(".pageTabContent"),[0,1,2,4,5,6]),viewTabs.triggerBeforeTabChange||viewTabs.addEventListener("ready",function(){viewTabs.triggerBeforeTabChange()})}}function getTabController(page,index,callback){var depends=[];switch(index){case 0:break;case 1:depends.push("scripts/tvlatest");break;case 2:depends.push("scripts/tvshows");break;case 3:depends.push("scripts/tvupcoming");break;case 4:depends.push("scripts/tvgenres");break;case 5:depends.push("scripts/tvstudios");break;case 6:depends.push("scripts/episodes")}require(depends,function(controllerFactory){var tabContent;0==index&&(tabContent=view.querySelector(".pageTabContent[data-index='"+index+"']"),self.tabContent=tabContent);var controller=tabControllers[index];controller||(tabContent=view.querySelector(".pageTabContent[data-index='"+index+"']"),controller=index?new controllerFactory(view,params,tabContent):self,tabControllers[index]=controller,controller.initTab&&controller.initTab()),callback(controller)})}function preLoadTab(page,index){getTabController(page,index,function(controller){renderedTabs.indexOf(index)==-1&&controller.preRender&&controller.preRender()})}function loadTab(page,index){currentTabIndex=index,getTabController(page,index,function(controller){renderedTabs.indexOf(index)==-1&&(renderedTabs.push(index),controller.renderTab())})}function onPlaybackStop(e,state){state.NowPlayingItem&&"Video"==state.NowPlayingItem.MediaType&&(renderedTabs=[],mainTabsManager.getTabsElement().triggerTabChange())}function onWebSocketMessage(e,data){var msg=data;"UserDataChanged"===msg.MessageType&&msg.Data.UserId==Dashboard.getCurrentUserId()&&(renderedTabs=[])}var self=this,currentTabIndex=parseInt(params.tab||getDefaultTabIndex(params.topParentId));self.initTab=function(){var tabContent=self.tabContent,resumableItemsContainer=tabContent.querySelector("#resumableItems");enableScrollX()?(resumableItemsContainer.classList.add("hiddenScrollX"),resumableItemsContainer.classList.remove("vertical-wrap")):(resumableItemsContainer.classList.remove("hiddenScrollX"),resumableItemsContainer.classList.add("vertical-wrap")),categorysyncbuttons.init(tabContent)},self.renderTab=function(){reload()};var tabControllers=[],renderedTabs=[];enableScrollX()?view.querySelector("#resumableItems").classList.add("hiddenScrollX"):view.querySelector("#resumableItems").classList.remove("hiddenScrollX"),view.addEventListener("viewbeforeshow",function(e){if(initTabs(),!view.getAttribute("data-title")){var parentId=params.topParentId;parentId?ApiClient.getItem(Dashboard.getCurrentUserId(),parentId).then(function(item){view.setAttribute("data-title",item.Name),LibraryMenu.setTitle(item.Name)}):(view.setAttribute("data-title",Globalize.translate("TabShows")),LibraryMenu.setTitle(Globalize.translate("TabShows")))}var tabs=mainTabsManager.getTabsElement();tabs.triggerBeforeTabChange&&tabs.triggerBeforeTabChange(),Events.on(playbackManager,"playbackstop",onPlaybackStop),Events.on(ApiClient,"websocketmessage",onWebSocketMessage)}),view.addEventListener("viewshow",function(e){mainTabsManager.getTabsElement().triggerTabChange()}),view.addEventListener("viewbeforehide",function(e){Events.off(playbackManager,"playbackstop",onPlaybackStop),Events.off(ApiClient,"websocketmessage",onWebSocketMessage)}),view.addEventListener("viewdestroy",function(e){tabControllers.forEach(function(t){t.destroy&&t.destroy()})})}}); \ No newline at end of file diff --git a/dashboard-ui/secondaryitems.html b/dashboard-ui/secondaryitems.html index 92cecfc4b..604ba1a68 100644 --- a/dashboard-ui/secondaryitems.html +++ b/dashboard-ui/secondaryitems.html @@ -1,13 +1,15 @@ 
-
-
+
+
+
+
-
-
+
-
-
+
+
+
\ No newline at end of file