From 127e4441fdb3eb2e4d5641a0c18374d78263a1a9 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 27 Jan 2018 23:35:56 -0500 Subject: [PATCH] update translations --- .../chromecast/chromecastplayer.js | 2 +- .../directorybrowser/directorybrowser.js | 2 +- .../dashboard-ui/dashboard/librarydisplay.js | 2 +- .../dashboard-ui/encodingsettings.html | 7 -- .../dashboard-ui/librarydisplay.html | 8 -- .../dashboard-ui/scripts/encodingsettings.js | 2 +- .../dashboard-ui/scripts/streamingsettings.js | 2 +- .../dashboard-ui/streamingsettings.html | 9 -- .../dashboard-ui/strings/ar.json | 3 +- .../dashboard-ui/strings/be-BY.json | 3 +- .../dashboard-ui/strings/bg-BG.json | 3 +- .../dashboard-ui/strings/ca.json | 3 +- .../dashboard-ui/strings/cs.json | 3 +- .../dashboard-ui/strings/da.json | 3 +- .../dashboard-ui/strings/de.json | 1 + .../dashboard-ui/strings/el.json | 3 +- .../dashboard-ui/strings/en-GB.json | 1 + .../dashboard-ui/strings/en-US.json | 1 + .../dashboard-ui/strings/es-AR.json | 3 +- .../dashboard-ui/strings/es-MX.json | 1 + .../dashboard-ui/strings/es.json | 1 + .../dashboard-ui/strings/fa.json | 85 ++++++++++--------- .../dashboard-ui/strings/fi.json | 3 +- .../dashboard-ui/strings/fr-CA.json | 3 +- .../dashboard-ui/strings/fr.json | 1 + .../dashboard-ui/strings/gsw.json | 3 +- .../dashboard-ui/strings/he.json | 3 +- .../dashboard-ui/strings/hi-IN.json | 3 +- .../dashboard-ui/strings/hr.json | 3 +- .../dashboard-ui/strings/hu.json | 3 +- .../dashboard-ui/strings/id.json | 3 +- .../dashboard-ui/strings/it.json | 1 + .../dashboard-ui/strings/kk.json | 3 +- .../dashboard-ui/strings/ko.json | 3 +- .../dashboard-ui/strings/lt-LT.json | 3 +- .../dashboard-ui/strings/ms.json | 3 +- .../dashboard-ui/strings/nb.json | 1 + .../dashboard-ui/strings/nl.json | 3 +- .../dashboard-ui/strings/pl.json | 1 + .../dashboard-ui/strings/pt-BR.json | 1 + .../dashboard-ui/strings/pt-PT.json | 3 +- .../dashboard-ui/strings/ro.json | 3 +- .../dashboard-ui/strings/ru.json | 7 +- .../dashboard-ui/strings/sk.json | 3 +- .../dashboard-ui/strings/sl-SI.json | 3 +- .../dashboard-ui/strings/sv.json | 3 +- .../dashboard-ui/strings/tr.json | 3 +- .../dashboard-ui/strings/uk.json | 3 +- .../dashboard-ui/strings/vi.json | 3 +- .../dashboard-ui/strings/zh-CN.json | 1 + .../dashboard-ui/strings/zh-HK.json | 3 +- .../dashboard-ui/strings/zh-TW.json | 3 +- 52 files changed, 125 insertions(+), 105 deletions(-) diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/chromecast/chromecastplayer.js b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/chromecast/chromecastplayer.js index 94b20c1a32..e0a1434b8f 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/chromecast/chromecastplayer.js +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/chromecast/chromecastplayer.js @@ -1 +1 @@ -define(["appSettings","userSettings","playbackManager","connectionManager","globalize","events","require","castSenderApiLoader"],function(appSettings,userSettings,playbackManager,connectionManager,globalize,events,require,castSenderApiLoader){"use strict";function sendConnectionResult(isOk){var resolve=currentResolve,reject=currentReject;currentResolve=null,currentReject=null,isOk?resolve&&resolve():reject?reject():playbackManager.removeActivePlayer(PlayerName)}function alertText(text,title){require(["alert"],function(alert){alert({text:text,title:title})})}function normalizeImages(state){if(state&&state.NowPlayingItem){var item=state.NowPlayingItem;item.ImageTags&&item.ImageTags.Primary||item.PrimaryImageTag&&(item.ImageTags=item.ImageTags||{},item.ImageTags.Primary=item.PrimaryImageTag),item.BackdropImageTag&&item.BackdropItemId===item.Id&&(item.BackdropImageTags=[item.BackdropImageTag]),item.BackdropImageTag&&item.BackdropItemId!==item.Id&&(item.ParentBackdropImageTags=[item.BackdropImageTag],item.ParentBackdropItemId=item.BackdropItemId)}}function getItemsForPlayback(apiClient,query){var userId=apiClient.getCurrentUserId();return query.Ids&&1===query.Ids.split(",").length?apiClient.getItem(userId,query.Ids.split(",")).then(function(item){return{Items:[item],TotalRecordCount:1}}):(query.Limit=query.Limit||100,query.ExcludeLocationTypes="Virtual",query.EnableTotalRecordCount=!1,apiClient.getItems(userId,query))}function bindEventForRelay(instance,eventName){events.on(instance._castPlayer,eventName,function(e,data){var state=instance.getPlayerStateInternal(data);events.trigger(instance,eventName,[state])})}function initializeChromecast(){var instance=this;instance._castPlayer=new CastPlayer,document.dispatchEvent(new CustomEvent("chromecastloaded",{detail:{player:instance}})),events.on(instance._castPlayer,"connect",function(e){currentResolve?sendConnectionResult(!0):playbackManager.setActivePlayer(PlayerName,instance.getCurrentTargetInfo()),console.log("cc: connect"),instance.lastPlayerData=null}),events.on(instance._castPlayer,"playbackstart",function(e,data){console.log("cc: playbackstart"),instance._castPlayer.initializeCastPlayer();var state=instance.getPlayerStateInternal(data);events.trigger(instance,"playbackstart",[state])}),events.on(instance._castPlayer,"playbackstop",function(e,data){console.log("cc: playbackstop");var state=instance.getPlayerStateInternal(data);events.trigger(instance,"playbackstop",[state]),instance.lastPlayerData={}}),events.on(instance._castPlayer,"playbackprogress",function(e,data){var state=instance.getPlayerStateInternal(data);events.trigger(instance,"timeupdate",[state])}),bindEventForRelay(instance,"timeupdate"),bindEventForRelay(instance,"pause"),bindEventForRelay(instance,"unpause"),bindEventForRelay(instance,"volumechange"),bindEventForRelay(instance,"repeatmodechange"),events.on(instance._castPlayer,"playstatechange",function(e,data){var state=instance.getPlayerStateInternal(data);events.trigger(instance,"pause",[state])})}function ChromecastPlayer(){this.name=PlayerName,this.type="mediaplayer",this.id="chromecast",this.isLocalPlayer=!1,this.lastPlayerData={},castSenderApiLoader.load().then(initializeChromecast.bind(this))}var currentResolve,currentReject,PlayerName="Chromecast",DEVICE_STATE={IDLE:0,ACTIVE:1,WARNING:2,ERROR:3},PLAYER_STATE={IDLE:"IDLE",LOADING:"LOADING",LOADED:"LOADED",PLAYING:"PLAYING",PAUSED:"PAUSED",STOPPED:"STOPPED",SEEKING:"SEEKING",ERROR:"ERROR"},applicationID="2D4B1DA3",messageNamespace="urn:x-cast:com.connectsdk",CastPlayer=function(){this.deviceState=DEVICE_STATE.IDLE,this.currentMediaSession=null,this.session=null,this.castPlayerState=PLAYER_STATE.IDLE,this.hasReceivers=!1,this.errorHandler=this.onError.bind(this),this.mediaStatusUpdateHandler=this.onMediaStatusUpdate.bind(this),this.initializeCastPlayer()};return CastPlayer.prototype.initializeCastPlayer=function(){var chrome=window.chrome;if(chrome){if(!chrome.cast||!chrome.cast.isAvailable)return void setTimeout(this.initializeCastPlayer.bind(this),1e3);var sessionRequest=new chrome.cast.SessionRequest(applicationID),apiConfig=new chrome.cast.ApiConfig(sessionRequest,this.sessionListener.bind(this),this.receiverListener.bind(this),"origin_scoped");console.log("chromecast.initialize"),chrome.cast.initialize(apiConfig,this.onInitSuccess.bind(this),this.errorHandler)}},CastPlayer.prototype.onInitSuccess=function(){this.isInitialized=!0,console.log("chromecast init success")},CastPlayer.prototype.onError=function(){console.log("chromecast error")},CastPlayer.prototype.sessionListener=function(e){this.session=e,this.session&&(console.log("sessionListener "+JSON.stringify(e)),this.session.media[0]&&this.onMediaDiscovered("activeSession",this.session.media[0]),this.onSessionConnected(e))},CastPlayer.prototype.messageListener=function(namespace,message){if("string"==typeof message&&(message=JSON.parse(message)),"playbackerror"===message.type){var errorCode=message.data;setTimeout(function(){alertText(globalize.translate("MessagePlaybackError"+errorCode),globalize.translate("HeaderPlaybackError"))},300)}else"connectionerror"===message.type?setTimeout(function(){alertText(globalize.translate("MessageChromecastConnectionError"),globalize.translate("HeaderError"))},300):message.type&&events.trigger(this,message.type,[message.data])},CastPlayer.prototype.receiverListener=function(e){"available"===e?(console.log("chromecast receiver found"),this.hasReceivers=!0):(console.log("chromecast receiver list empty"),this.hasReceivers=!1)},CastPlayer.prototype.sessionUpdateListener=function(isAlive){console.log("sessionUpdateListener alive: "+isAlive),isAlive||(this.session=null,this.deviceState=DEVICE_STATE.IDLE,this.castPlayerState=PLAYER_STATE.IDLE,console.log("sessionUpdateListener: setting currentMediaSession to null"),this.currentMediaSession=null,sendConnectionResult(!1))},CastPlayer.prototype.launchApp=function(){console.log("chromecast launching app..."),chrome.cast.requestSession(this.onRequestSessionSuccess.bind(this),this.onLaunchError.bind(this))},CastPlayer.prototype.onRequestSessionSuccess=function(e){console.log("chromecast session success: "+e.sessionId),this.onSessionConnected(e)},CastPlayer.prototype.onSessionConnected=function(session){this.session=session,this.deviceState=DEVICE_STATE.ACTIVE,this.session.addMessageListener(messageNamespace,this.messageListener.bind(this)),this.session.addMediaListener(this.sessionMediaListener.bind(this)),this.session.addUpdateListener(this.sessionUpdateListener.bind(this)),events.trigger(this,"connect"),this.sendMessage({options:{},command:"Identify"})},CastPlayer.prototype.sessionMediaListener=function(e){console.log("sessionMediaListener"),this.currentMediaSession=e,this.currentMediaSession.addUpdateListener(this.mediaStatusUpdateHandler)},CastPlayer.prototype.onLaunchError=function(){console.log("chromecast launch error"),this.deviceState=DEVICE_STATE.ERROR,sendConnectionResult(!1)},CastPlayer.prototype.stopApp=function(){this.session&&this.session.stop(this.onStopAppSuccess.bind(this,"Session stopped"),this.errorHandler)},CastPlayer.prototype.onStopAppSuccess=function(message){console.log(message),this.deviceState=DEVICE_STATE.IDLE,this.castPlayerState=PLAYER_STATE.IDLE,console.log("onStopAppSuccess: setting currentMediaSession to null"),this.currentMediaSession=null},CastPlayer.prototype.loadMedia=function(options,command){return this.session?(options.items=options.items.map(function(i){return{Id:i.Id,ServerId:i.ServerId,Name:i.Name,Type:i.Type,MediaType:i.MediaType,IsFolder:i.IsFolder}}),this.sendMessage({options:options,command:command})):(console.log("no session"),Promise.reject())},CastPlayer.prototype.sendMessage=function(message){var player=this,receiverName=null,session=player.session;session&&session.receiver&&session.receiver.friendlyName&&(receiverName=session.receiver.friendlyName);var apiClient;apiClient=message.options&&message.options.ServerId?connectionManager.getApiClient(message.options.ServerId):message.options&&message.options.items&&message.options.items.length?connectionManager.getApiClient(message.options.items[0].ServerId):connectionManager.currentApiClient(),message=Object.assign(message,{userId:apiClient.getCurrentUserId(),deviceId:apiClient.deviceId(),accessToken:apiClient.accessToken(),serverAddress:apiClient.serverAddress(),serverId:apiClient.serverId(),receiverName:receiverName});var bitrateSetting=appSettings.maxChromecastBitrate();return bitrateSetting&&(message.maxBitrate=bitrateSetting),message.options&&message.options.items&&(message.subtitleAppearance=userSettings.getSubtitleAppearanceSettings(),message.subtitleBurnIn=appSettings.get("subtitleburnin")||""),new Promise(function(resolve,reject){require(["chromecastHelper"],function(chromecastHelper){chromecastHelper.getServerAddress(apiClient).then(function(serverAddress){message.serverAddress=serverAddress,player.sendMessageInternal(message).then(resolve,reject)},reject)})})},CastPlayer.prototype.sendMessageInternal=function(message){return message=JSON.stringify(message),this.session.sendMessage(messageNamespace,message,this.onPlayCommandSuccess.bind(this),this.errorHandler),Promise.resolve()},CastPlayer.prototype.onPlayCommandSuccess=function(){console.log("Message was sent to receiver ok.")},CastPlayer.prototype.onMediaDiscovered=function(how,mediaSession){console.log("chromecast new media session ID:"+mediaSession.mediaSessionId+" ("+how+")"),this.currentMediaSession=mediaSession,"loadMedia"===how&&(this.castPlayerState=PLAYER_STATE.PLAYING),"activeSession"===how&&(this.castPlayerState=mediaSession.playerState),this.currentMediaSession.addUpdateListener(this.mediaStatusUpdateHandler)},CastPlayer.prototype.onMediaStatusUpdate=function(e){e===!1&&(this.castPlayerState=PLAYER_STATE.IDLE)},CastPlayer.prototype.setReceiverVolume=function(mute,vol){this.currentMediaSession&&(mute?this.session.setReceiverMuted(!0,this.mediaCommandSuccessCallback.bind(this),this.errorHandler):this.session.setReceiverVolumeLevel(vol||1,this.mediaCommandSuccessCallback.bind(this),this.errorHandler))},CastPlayer.prototype.mute=function(){this.setReceiverVolume(!0)},CastPlayer.prototype.mediaCommandSuccessCallback=function(info,e){console.log(info)},ChromecastPlayer.prototype.tryPair=function(target){var castPlayer=this._castPlayer;return castPlayer.deviceState!==DEVICE_STATE.ACTIVE&&castPlayer.isInitialized?new Promise(function(resolve,reject){currentResolve=resolve,currentReject=reject,castPlayer.launchApp()}):(currentResolve=null,currentReject=null,Promise.reject())},ChromecastPlayer.prototype.getTargets=function(){var targets=[];return this._castPlayer.hasReceivers&&targets.push(this.getCurrentTargetInfo()),Promise.resolve(targets)},ChromecastPlayer.prototype.getCurrentTargetInfo=function(){var appName=null,castPlayer=this._castPlayer;return castPlayer.session&&castPlayer.session.receiver&&castPlayer.session.receiver.friendlyName&&(appName=castPlayer.session.receiver.friendlyName),{name:PlayerName,id:PlayerName,playerName:PlayerName,playableMediaTypes:["Audio","Video"],isLocalPlayer:!1,appName:PlayerName,deviceName:appName,supportedCommands:["VolumeUp","VolumeDown","Mute","Unmute","ToggleMute","SetVolume","SetAudioStreamIndex","SetSubtitleStreamIndex","DisplayContent","SetRepeatMode","EndSession","PlayMediaSource"]}},ChromecastPlayer.prototype.getPlayerStateInternal=function(data){var triggerStateChange=!1;return data&&!this.lastPlayerData&&(triggerStateChange=!0),data=data||this.lastPlayerData,this.lastPlayerData=data,normalizeImages(data),triggerStateChange&&events.trigger(this,"statechange",[data]),data},ChromecastPlayer.prototype.playWithCommand=function(options,command){if(!options.items){var apiClient=connectionManager.getApiClient(options.serverId),instance=this;return apiClient.getItem(apiClient.getCurrentUserId(),options.ids[0]).then(function(item){return options.items=[item],instance.playWithCommand(options,command)})}return this._castPlayer.loadMedia(options,command)},ChromecastPlayer.prototype.seek=function(position){position=parseInt(position),position/=1e7,this._castPlayer.sendMessage({options:{position:position},command:"Seek"})},ChromecastPlayer.prototype.setAudioStreamIndex=function(index){this._castPlayer.sendMessage({options:{index:index},command:"SetAudioStreamIndex"})},ChromecastPlayer.prototype.setSubtitleStreamIndex=function(index){this._castPlayer.sendMessage({options:{index:index},command:"SetSubtitleStreamIndex"})},ChromecastPlayer.prototype.setMaxStreamingBitrate=function(options){this._castPlayer.sendMessage({options:options,command:"SetMaxStreamingBitrate"})},ChromecastPlayer.prototype.isFullscreen=function(){var state=this.lastPlayerData||{};return state=state.PlayState||{},state.IsFullscreen},ChromecastPlayer.prototype.nextTrack=function(){this._castPlayer.sendMessage({options:{},command:"NextTrack"})},ChromecastPlayer.prototype.previousTrack=function(){this._castPlayer.sendMessage({options:{},command:"PreviousTrack"})},ChromecastPlayer.prototype.volumeDown=function(){this._castPlayer.sendMessage({options:{},command:"VolumeDown"})},ChromecastPlayer.prototype.endSession=function(){var instance=this;this.stop().then(function(){setTimeout(function(){instance._castPlayer.stopApp()},1e3)})},ChromecastPlayer.prototype.volumeUp=function(){this._castPlayer.sendMessage({options:{},command:"VolumeUp"})},ChromecastPlayer.prototype.setVolume=function(vol){vol=Math.min(vol,100),vol=Math.max(vol,0),this._castPlayer.sendMessage({options:{volume:vol},command:"SetVolume"})},ChromecastPlayer.prototype.unpause=function(){this._castPlayer.sendMessage({options:{},command:"Unpause"})},ChromecastPlayer.prototype.playPause=function(){this._castPlayer.sendMessage({options:{},command:"PlayPause"})},ChromecastPlayer.prototype.pause=function(){this._castPlayer.sendMessage({options:{},command:"Pause"})},ChromecastPlayer.prototype.stop=function(){return this._castPlayer.sendMessage({options:{},command:"Stop"})},ChromecastPlayer.prototype.displayContent=function(options){this._castPlayer.sendMessage({options:options,command:"DisplayContent"})},ChromecastPlayer.prototype.setMute=function(isMuted){var castPlayer=this._castPlayer;isMuted?castPlayer.sendMessage({options:{},command:"Mute"}):castPlayer.sendMessage({options:{},command:"Unmute"})},ChromecastPlayer.prototype.getRepeatMode=function(){var state=this.lastPlayerData||{};return state=state.PlayState||{},state.RepeatMode},ChromecastPlayer.prototype.setRepeatMode=function(mode){this._castPlayer.sendMessage({options:{RepeatMode:mode},command:"SetRepeatMode"})},ChromecastPlayer.prototype.toggleMute=function(){this._castPlayer.sendMessage({options:{},command:"ToggleMute"})},ChromecastPlayer.prototype.audioTracks=function(){var state=this.lastPlayerData||{};state=state.NowPlayingItem||{};var streams=state.MediaStreams||[];return streams.filter(function(s){return"Audio"===s.Type})},ChromecastPlayer.prototype.getAudioStreamIndex=function(){var state=this.lastPlayerData||{};return state=state.PlayState||{},state.AudioStreamIndex},ChromecastPlayer.prototype.subtitleTracks=function(){var state=this.lastPlayerData||{};state=state.NowPlayingItem||{};var streams=state.MediaStreams||[];return streams.filter(function(s){return"Subtitle"===s.Type})},ChromecastPlayer.prototype.getSubtitleStreamIndex=function(){var state=this.lastPlayerData||{};return state=state.PlayState||{},state.SubtitleStreamIndex},ChromecastPlayer.prototype.getMaxStreamingBitrate=function(){var state=this.lastPlayerData||{};return state=state.PlayState||{},state.MaxStreamingBitrate},ChromecastPlayer.prototype.getVolume=function(){var state=this.lastPlayerData||{};return state=state.PlayState||{},null==state.VolumeLevel?100:state.VolumeLevel},ChromecastPlayer.prototype.isPlaying=function(){var state=this.lastPlayerData||{};return null!=state.NowPlayingItem},ChromecastPlayer.prototype.isPlayingVideo=function(){var state=this.lastPlayerData||{};return state=state.NowPlayingItem||{},"Video"===state.MediaType},ChromecastPlayer.prototype.isPlayingAudio=function(){var state=this.lastPlayerData||{};return state=state.NowPlayingItem||{},"Audio"===state.MediaType},ChromecastPlayer.prototype.currentTime=function(val){if(null!=val)return this.seek(val);var state=this.lastPlayerData||{};return state=state.PlayState||{},state.PositionTicks},ChromecastPlayer.prototype.duration=function(){var state=this.lastPlayerData||{};return state=state.NowPlayingItem||{},state.RunTimeTicks},ChromecastPlayer.prototype.getBufferedRanges=function(){var state=this.lastPlayerData||{};return state=state.PlayState||{},state.BufferedRanges||[]},ChromecastPlayer.prototype.paused=function(){var state=this.lastPlayerData||{};return state=state.PlayState||{},state.IsPaused},ChromecastPlayer.prototype.isMuted=function(){var state=this.lastPlayerData||{};return state=state.PlayState||{},state.IsMuted},ChromecastPlayer.prototype.shuffle=function(item){var apiClient=connectionManager.getApiClient(item.ServerId),userId=apiClient.getCurrentUserId(),instance=this;apiClient.getItem(userId,item.Id).then(function(item){instance.playWithCommand({items:[item]},"Shuffle")})},ChromecastPlayer.prototype.instantMix=function(item){var apiClient=connectionManager.getApiClient(item.ServerId),userId=apiClient.getCurrentUserId(),instance=this;apiClient.getItem(userId,item.Id).then(function(item){instance.playWithCommand({items:[item]},"InstantMix")})},ChromecastPlayer.prototype.canPlayMediaType=function(mediaType){return mediaType=(mediaType||"").toLowerCase(),"audio"===mediaType||"video"===mediaType},ChromecastPlayer.prototype.canQueueMediaType=function(mediaType){return this.canPlayMediaType(mediaType)},ChromecastPlayer.prototype.queue=function(options){this.playWithCommand(options,"PlayLast")},ChromecastPlayer.prototype.queueNext=function(options){this.playWithCommand(options,"PlayNext")},ChromecastPlayer.prototype.play=function(options){if(options.items)return this.playWithCommand(options,"PlayNow");if(!options.serverId)throw new Error("serverId required!");var instance=this,apiClient=connectionManager.getApiClient(options.serverId);return getItemsForPlayback(apiClient,{Ids:options.ids.join(",")}).then(function(result){return options.items=result.Items,instance.playWithCommand(options,"PlayNow")})},ChromecastPlayer.prototype.toggleFullscreen=function(){},ChromecastPlayer.prototype.beginPlayerUpdates=function(){},ChromecastPlayer.prototype.endPlayerUpdates=function(){},ChromecastPlayer.prototype.getPlaylist=function(){return Promise.resolve([])},ChromecastPlayer.prototype.getCurrentPlaylistItemId=function(){},ChromecastPlayer.prototype.setCurrentPlaylistItem=function(playlistItemId){return Promise.resolve()},ChromecastPlayer.prototype.removeFromPlaylist=function(playlistItemIds){return Promise.resolve()},ChromecastPlayer.prototype.getPlayerState=function(){return this.getPlayerStateInternal()||{}},ChromecastPlayer}); \ No newline at end of file +define(["appSettings","userSettings","playbackManager","connectionManager","globalize","events","require","castSenderApiLoader"],function(appSettings,userSettings,playbackManager,connectionManager,globalize,events,require,castSenderApiLoader){"use strict";function sendConnectionResult(isOk){var resolve=currentResolve,reject=currentReject;currentResolve=null,currentReject=null,isOk?resolve&&resolve():reject?reject():playbackManager.removeActivePlayer(PlayerName)}function alertText(text,title){require(["alert"],function(alert){alert({text:text,title:title})})}function normalizeImages(state){if(state&&state.NowPlayingItem){var item=state.NowPlayingItem;item.ImageTags&&item.ImageTags.Primary||item.PrimaryImageTag&&(item.ImageTags=item.ImageTags||{},item.ImageTags.Primary=item.PrimaryImageTag),item.BackdropImageTag&&item.BackdropItemId===item.Id&&(item.BackdropImageTags=[item.BackdropImageTag]),item.BackdropImageTag&&item.BackdropItemId!==item.Id&&(item.ParentBackdropImageTags=[item.BackdropImageTag],item.ParentBackdropItemId=item.BackdropItemId)}}function getItemsForPlayback(apiClient,query){var userId=apiClient.getCurrentUserId();return query.Ids&&1===query.Ids.split(",").length?apiClient.getItem(userId,query.Ids.split(",")).then(function(item){return{Items:[item],TotalRecordCount:1}}):(query.Limit=query.Limit||100,query.ExcludeLocationTypes="Virtual",query.EnableTotalRecordCount=!1,apiClient.getItems(userId,query))}function bindEventForRelay(instance,eventName){events.on(instance._castPlayer,eventName,function(e,data){var state=instance.getPlayerStateInternal(data);events.trigger(instance,eventName,[state])})}function initializeChromecast(){var instance=this;instance._castPlayer=new CastPlayer,document.dispatchEvent(new CustomEvent("chromecastloaded",{detail:{player:instance}})),events.on(instance._castPlayer,"connect",function(e){currentResolve?sendConnectionResult(!0):playbackManager.setActivePlayer(PlayerName,instance.getCurrentTargetInfo()),console.log("cc: connect"),instance.lastPlayerData=null}),events.on(instance._castPlayer,"playbackstart",function(e,data){console.log("cc: playbackstart"),instance._castPlayer.initializeCastPlayer();var state=instance.getPlayerStateInternal(data);events.trigger(instance,"playbackstart",[state])}),events.on(instance._castPlayer,"playbackstop",function(e,data){console.log("cc: playbackstop");var state=instance.getPlayerStateInternal(data);events.trigger(instance,"playbackstop",[state]),instance.lastPlayerData={}}),events.on(instance._castPlayer,"playbackprogress",function(e,data){var state=instance.getPlayerStateInternal(data);events.trigger(instance,"timeupdate",[state])}),bindEventForRelay(instance,"timeupdate"),bindEventForRelay(instance,"pause"),bindEventForRelay(instance,"unpause"),bindEventForRelay(instance,"volumechange"),bindEventForRelay(instance,"repeatmodechange"),events.on(instance._castPlayer,"playstatechange",function(e,data){var state=instance.getPlayerStateInternal(data);events.trigger(instance,"pause",[state])})}function ChromecastPlayer(){this.name=PlayerName,this.type="mediaplayer",this.id="chromecast",this.isLocalPlayer=!1,this.lastPlayerData={},castSenderApiLoader.load().then(initializeChromecast.bind(this))}var currentResolve,currentReject,PlayerName="Chromecast",DEVICE_STATE={IDLE:0,ACTIVE:1,WARNING:2,ERROR:3},PLAYER_STATE={IDLE:"IDLE",LOADING:"LOADING",LOADED:"LOADED",PLAYING:"PLAYING",PAUSED:"PAUSED",STOPPED:"STOPPED",SEEKING:"SEEKING",ERROR:"ERROR"},applicationID="2D4B1DA3",messageNamespace="urn:x-cast:com.connectsdk",CastPlayer=function(){this.deviceState=DEVICE_STATE.IDLE,this.currentMediaSession=null,this.session=null,this.castPlayerState=PLAYER_STATE.IDLE,this.hasReceivers=!1,this.errorHandler=this.onError.bind(this),this.mediaStatusUpdateHandler=this.onMediaStatusUpdate.bind(this),this.initializeCastPlayer()};return CastPlayer.prototype.initializeCastPlayer=function(){var chrome=window.chrome;if(chrome){if(!chrome.cast||!chrome.cast.isAvailable)return void setTimeout(this.initializeCastPlayer.bind(this),1e3);var sessionRequest=new chrome.cast.SessionRequest(applicationID),apiConfig=new chrome.cast.ApiConfig(sessionRequest,this.sessionListener.bind(this),this.receiverListener.bind(this),"origin_scoped");console.log("chromecast.initialize"),chrome.cast.initialize(apiConfig,this.onInitSuccess.bind(this),this.errorHandler)}},CastPlayer.prototype.onInitSuccess=function(){this.isInitialized=!0,console.log("chromecast init success")},CastPlayer.prototype.onError=function(){console.log("chromecast error")},CastPlayer.prototype.sessionListener=function(e){this.session=e,this.session&&(console.log("sessionListener "+JSON.stringify(e)),this.session.media[0]&&this.onMediaDiscovered("activeSession",this.session.media[0]),this.onSessionConnected(e))},CastPlayer.prototype.messageListener=function(namespace,message){if("string"==typeof message&&(message=JSON.parse(message)),"playbackerror"===message.type){var errorCode=message.data;setTimeout(function(){alertText(globalize.translate("MessagePlaybackError"+errorCode),globalize.translate("HeaderPlaybackError"))},300)}else"connectionerror"===message.type?setTimeout(function(){alertText(globalize.translate("MessageChromecastConnectionError"),globalize.translate("HeaderError"))},300):message.type&&events.trigger(this,message.type,[message.data])},CastPlayer.prototype.receiverListener=function(e){"available"===e?(console.log("chromecast receiver found"),this.hasReceivers=!0):(console.log("chromecast receiver list empty"),this.hasReceivers=!1)},CastPlayer.prototype.sessionUpdateListener=function(isAlive){console.log("sessionUpdateListener alive: "+isAlive),isAlive||(this.session=null,this.deviceState=DEVICE_STATE.IDLE,this.castPlayerState=PLAYER_STATE.IDLE,console.log("sessionUpdateListener: setting currentMediaSession to null"),this.currentMediaSession=null,sendConnectionResult(!1))},CastPlayer.prototype.launchApp=function(){console.log("chromecast launching app..."),chrome.cast.requestSession(this.onRequestSessionSuccess.bind(this),this.onLaunchError.bind(this))},CastPlayer.prototype.onRequestSessionSuccess=function(e){console.log("chromecast session success: "+e.sessionId),this.onSessionConnected(e)},CastPlayer.prototype.onSessionConnected=function(session){this.session=session,this.deviceState=DEVICE_STATE.ACTIVE,this.session.addMessageListener(messageNamespace,this.messageListener.bind(this)),this.session.addMediaListener(this.sessionMediaListener.bind(this)),this.session.addUpdateListener(this.sessionUpdateListener.bind(this)),events.trigger(this,"connect"),this.sendMessage({options:{},command:"Identify"})},CastPlayer.prototype.sessionMediaListener=function(e){console.log("sessionMediaListener"),this.currentMediaSession=e,this.currentMediaSession.addUpdateListener(this.mediaStatusUpdateHandler)},CastPlayer.prototype.onLaunchError=function(){console.log("chromecast launch error"),this.deviceState=DEVICE_STATE.ERROR,sendConnectionResult(!1)},CastPlayer.prototype.stopApp=function(){this.session&&this.session.stop(this.onStopAppSuccess.bind(this,"Session stopped"),this.errorHandler)},CastPlayer.prototype.onStopAppSuccess=function(message){console.log(message),this.deviceState=DEVICE_STATE.IDLE,this.castPlayerState=PLAYER_STATE.IDLE,console.log("onStopAppSuccess: setting currentMediaSession to null"),this.currentMediaSession=null},CastPlayer.prototype.loadMedia=function(options,command){return this.session?(options.items=options.items.map(function(i){return{Id:i.Id,ServerId:i.ServerId,Name:i.Name,Type:i.Type,MediaType:i.MediaType,IsFolder:i.IsFolder}}),this.sendMessage({options:options,command:command})):(console.log("no session"),Promise.reject())},CastPlayer.prototype.sendMessage=function(message){var player=this,receiverName=null,session=player.session;session&&session.receiver&&session.receiver.friendlyName&&(receiverName=session.receiver.friendlyName);var apiClient;apiClient=message.options&&message.options.ServerId?connectionManager.getApiClient(message.options.ServerId):message.options&&message.options.items&&message.options.items.length?connectionManager.getApiClient(message.options.items[0].ServerId):connectionManager.currentApiClient(),message=Object.assign(message,{userId:apiClient.getCurrentUserId(),deviceId:apiClient.deviceId(),accessToken:apiClient.accessToken(),serverAddress:apiClient.serverAddress(),serverId:apiClient.serverId(),receiverName:receiverName});var bitrateSetting=appSettings.maxChromecastBitrate();return bitrateSetting&&(message.maxBitrate=bitrateSetting),message.options&&message.options.items&&(message.subtitleAppearance=userSettings.getSubtitleAppearanceSettings(),message.subtitleBurnIn=appSettings.get("subtitleburnin")||""),new Promise(function(resolve,reject){require(["chromecastHelper"],function(chromecastHelper){chromecastHelper.getServerAddress(apiClient).then(function(serverAddress){message.serverAddress=serverAddress,player.sendMessageInternal(message).then(resolve,reject)},reject)})})},CastPlayer.prototype.sendMessageInternal=function(message){return message=JSON.stringify(message),this.session.sendMessage(messageNamespace,message,this.onPlayCommandSuccess.bind(this),this.errorHandler),Promise.resolve()},CastPlayer.prototype.onPlayCommandSuccess=function(){console.log("Message was sent to receiver ok.")},CastPlayer.prototype.onMediaDiscovered=function(how,mediaSession){console.log("chromecast new media session ID:"+mediaSession.mediaSessionId+" ("+how+")"),this.currentMediaSession=mediaSession,"loadMedia"===how&&(this.castPlayerState=PLAYER_STATE.PLAYING),"activeSession"===how&&(this.castPlayerState=mediaSession.playerState),this.currentMediaSession.addUpdateListener(this.mediaStatusUpdateHandler)},CastPlayer.prototype.onMediaStatusUpdate=function(e){e===!1&&(this.castPlayerState=PLAYER_STATE.IDLE)},CastPlayer.prototype.setReceiverVolume=function(mute,vol){this.currentMediaSession&&(mute?this.session.setReceiverMuted(!0,this.mediaCommandSuccessCallback.bind(this),this.errorHandler):this.session.setReceiverVolumeLevel(vol||1,this.mediaCommandSuccessCallback.bind(this),this.errorHandler))},CastPlayer.prototype.mute=function(){this.setReceiverVolume(!0)},CastPlayer.prototype.mediaCommandSuccessCallback=function(info,e){console.log(info)},ChromecastPlayer.prototype.tryPair=function(target){var castPlayer=this._castPlayer;return castPlayer.deviceState!==DEVICE_STATE.ACTIVE&&castPlayer.isInitialized?new Promise(function(resolve,reject){currentResolve=resolve,currentReject=reject,castPlayer.launchApp()}):(currentResolve=null,currentReject=null,Promise.reject())},ChromecastPlayer.prototype.getTargets=function(){var targets=[];return this._castPlayer&&this._castPlayer.hasReceivers&&targets.push(this.getCurrentTargetInfo()),Promise.resolve(targets)},ChromecastPlayer.prototype.getCurrentTargetInfo=function(){var appName=null,castPlayer=this._castPlayer;return castPlayer.session&&castPlayer.session.receiver&&castPlayer.session.receiver.friendlyName&&(appName=castPlayer.session.receiver.friendlyName),{name:PlayerName,id:PlayerName,playerName:PlayerName,playableMediaTypes:["Audio","Video"],isLocalPlayer:!1,appName:PlayerName,deviceName:appName,supportedCommands:["VolumeUp","VolumeDown","Mute","Unmute","ToggleMute","SetVolume","SetAudioStreamIndex","SetSubtitleStreamIndex","DisplayContent","SetRepeatMode","EndSession","PlayMediaSource"]}},ChromecastPlayer.prototype.getPlayerStateInternal=function(data){var triggerStateChange=!1;return data&&!this.lastPlayerData&&(triggerStateChange=!0),data=data||this.lastPlayerData,this.lastPlayerData=data,normalizeImages(data),triggerStateChange&&events.trigger(this,"statechange",[data]),data},ChromecastPlayer.prototype.playWithCommand=function(options,command){if(!options.items){var apiClient=connectionManager.getApiClient(options.serverId),instance=this;return apiClient.getItem(apiClient.getCurrentUserId(),options.ids[0]).then(function(item){return options.items=[item],instance.playWithCommand(options,command)})}return this._castPlayer.loadMedia(options,command)},ChromecastPlayer.prototype.seek=function(position){position=parseInt(position),position/=1e7,this._castPlayer.sendMessage({options:{position:position},command:"Seek"})},ChromecastPlayer.prototype.setAudioStreamIndex=function(index){this._castPlayer.sendMessage({options:{index:index},command:"SetAudioStreamIndex"})},ChromecastPlayer.prototype.setSubtitleStreamIndex=function(index){this._castPlayer.sendMessage({options:{index:index},command:"SetSubtitleStreamIndex"})},ChromecastPlayer.prototype.setMaxStreamingBitrate=function(options){this._castPlayer.sendMessage({options:options,command:"SetMaxStreamingBitrate"})},ChromecastPlayer.prototype.isFullscreen=function(){var state=this.lastPlayerData||{};return state=state.PlayState||{},state.IsFullscreen},ChromecastPlayer.prototype.nextTrack=function(){this._castPlayer.sendMessage({options:{},command:"NextTrack"})},ChromecastPlayer.prototype.previousTrack=function(){this._castPlayer.sendMessage({options:{},command:"PreviousTrack"})},ChromecastPlayer.prototype.volumeDown=function(){this._castPlayer.sendMessage({options:{},command:"VolumeDown"})},ChromecastPlayer.prototype.endSession=function(){var instance=this;this.stop().then(function(){setTimeout(function(){instance._castPlayer.stopApp()},1e3)})},ChromecastPlayer.prototype.volumeUp=function(){this._castPlayer.sendMessage({options:{},command:"VolumeUp"})},ChromecastPlayer.prototype.setVolume=function(vol){vol=Math.min(vol,100),vol=Math.max(vol,0),this._castPlayer.sendMessage({options:{volume:vol},command:"SetVolume"})},ChromecastPlayer.prototype.unpause=function(){this._castPlayer.sendMessage({options:{},command:"Unpause"})},ChromecastPlayer.prototype.playPause=function(){this._castPlayer.sendMessage({options:{},command:"PlayPause"})},ChromecastPlayer.prototype.pause=function(){this._castPlayer.sendMessage({options:{},command:"Pause"})},ChromecastPlayer.prototype.stop=function(){return this._castPlayer.sendMessage({options:{},command:"Stop"})},ChromecastPlayer.prototype.displayContent=function(options){this._castPlayer.sendMessage({options:options,command:"DisplayContent"})},ChromecastPlayer.prototype.setMute=function(isMuted){var castPlayer=this._castPlayer;isMuted?castPlayer.sendMessage({options:{},command:"Mute"}):castPlayer.sendMessage({options:{},command:"Unmute"})},ChromecastPlayer.prototype.getRepeatMode=function(){var state=this.lastPlayerData||{};return state=state.PlayState||{},state.RepeatMode},ChromecastPlayer.prototype.setRepeatMode=function(mode){this._castPlayer.sendMessage({options:{RepeatMode:mode},command:"SetRepeatMode"})},ChromecastPlayer.prototype.toggleMute=function(){this._castPlayer.sendMessage({options:{},command:"ToggleMute"})},ChromecastPlayer.prototype.audioTracks=function(){var state=this.lastPlayerData||{};state=state.NowPlayingItem||{};var streams=state.MediaStreams||[];return streams.filter(function(s){return"Audio"===s.Type})},ChromecastPlayer.prototype.getAudioStreamIndex=function(){var state=this.lastPlayerData||{};return state=state.PlayState||{},state.AudioStreamIndex},ChromecastPlayer.prototype.subtitleTracks=function(){var state=this.lastPlayerData||{};state=state.NowPlayingItem||{};var streams=state.MediaStreams||[];return streams.filter(function(s){return"Subtitle"===s.Type})},ChromecastPlayer.prototype.getSubtitleStreamIndex=function(){var state=this.lastPlayerData||{};return state=state.PlayState||{},state.SubtitleStreamIndex},ChromecastPlayer.prototype.getMaxStreamingBitrate=function(){var state=this.lastPlayerData||{};return state=state.PlayState||{},state.MaxStreamingBitrate},ChromecastPlayer.prototype.getVolume=function(){var state=this.lastPlayerData||{};return state=state.PlayState||{},null==state.VolumeLevel?100:state.VolumeLevel},ChromecastPlayer.prototype.isPlaying=function(){var state=this.lastPlayerData||{};return null!=state.NowPlayingItem},ChromecastPlayer.prototype.isPlayingVideo=function(){var state=this.lastPlayerData||{};return state=state.NowPlayingItem||{},"Video"===state.MediaType},ChromecastPlayer.prototype.isPlayingAudio=function(){var state=this.lastPlayerData||{};return state=state.NowPlayingItem||{},"Audio"===state.MediaType},ChromecastPlayer.prototype.currentTime=function(val){if(null!=val)return this.seek(val);var state=this.lastPlayerData||{};return state=state.PlayState||{},state.PositionTicks},ChromecastPlayer.prototype.duration=function(){var state=this.lastPlayerData||{};return state=state.NowPlayingItem||{},state.RunTimeTicks},ChromecastPlayer.prototype.getBufferedRanges=function(){var state=this.lastPlayerData||{};return state=state.PlayState||{},state.BufferedRanges||[]},ChromecastPlayer.prototype.paused=function(){var state=this.lastPlayerData||{};return state=state.PlayState||{},state.IsPaused},ChromecastPlayer.prototype.isMuted=function(){var state=this.lastPlayerData||{};return state=state.PlayState||{},state.IsMuted},ChromecastPlayer.prototype.shuffle=function(item){var apiClient=connectionManager.getApiClient(item.ServerId),userId=apiClient.getCurrentUserId(),instance=this;apiClient.getItem(userId,item.Id).then(function(item){instance.playWithCommand({items:[item]},"Shuffle")})},ChromecastPlayer.prototype.instantMix=function(item){var apiClient=connectionManager.getApiClient(item.ServerId),userId=apiClient.getCurrentUserId(),instance=this;apiClient.getItem(userId,item.Id).then(function(item){instance.playWithCommand({items:[item]},"InstantMix")})},ChromecastPlayer.prototype.canPlayMediaType=function(mediaType){return mediaType=(mediaType||"").toLowerCase(),"audio"===mediaType||"video"===mediaType},ChromecastPlayer.prototype.canQueueMediaType=function(mediaType){return this.canPlayMediaType(mediaType)},ChromecastPlayer.prototype.queue=function(options){this.playWithCommand(options,"PlayLast")},ChromecastPlayer.prototype.queueNext=function(options){this.playWithCommand(options,"PlayNext")},ChromecastPlayer.prototype.play=function(options){if(options.items)return this.playWithCommand(options,"PlayNow");if(!options.serverId)throw new Error("serverId required!");var instance=this,apiClient=connectionManager.getApiClient(options.serverId);return getItemsForPlayback(apiClient,{Ids:options.ids.join(",")}).then(function(result){return options.items=result.Items,instance.playWithCommand(options,"PlayNow")})},ChromecastPlayer.prototype.toggleFullscreen=function(){},ChromecastPlayer.prototype.beginPlayerUpdates=function(){},ChromecastPlayer.prototype.endPlayerUpdates=function(){},ChromecastPlayer.prototype.getPlaylist=function(){return Promise.resolve([])},ChromecastPlayer.prototype.getCurrentPlaylistItemId=function(){},ChromecastPlayer.prototype.setCurrentPlaylistItem=function(playlistItemId){return Promise.resolve()},ChromecastPlayer.prototype.removeFromPlaylist=function(playlistItemIds){return Promise.resolve()},ChromecastPlayer.prototype.getPlayerState=function(){return this.getPlayerStateInternal()||{}},ChromecastPlayer}); \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/components/directorybrowser/directorybrowser.js b/MediaBrowser.WebDashboard/dashboard-ui/components/directorybrowser/directorybrowser.js index aa35985d7a..cae9dc5074 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/components/directorybrowser/directorybrowser.js +++ b/MediaBrowser.WebDashboard/dashboard-ui/components/directorybrowser/directorybrowser.js @@ -1 +1 @@ -define(["loading","dialogHelper","dom","listViewStyle","emby-input","emby-button","paper-icon-button-light","css!./directorybrowser","formDialogStyle","emby-linkbutton"],function(loading,dialogHelper,dom){"use strict";function getSystemInfo(){return systemInfo?Promise.resolve(systemInfo):ApiClient.getPublicSystemInfo().then(function(info){return systemInfo=info,info})}function onDialogClosed(){loading.hide()}function refreshDirectoryBrowser(page,path,fileOptions,updatePathOnError){if(path&&"string"!=typeof path)throw new Error("invalid path");loading.show();var promises=[];"Network"===path?promises.push(ApiClient.getNetworkDevices()):path?(promises.push(ApiClient.getDirectoryContents(path,fileOptions)),promises.push(ApiClient.getParentPath(path))):promises.push(ApiClient.getDrives()),Promise.all(promises).then(function(responses){var folders=responses[0],parentPath=responses[1]||"";page.querySelector("#txtDirectoryPickerPath").value=path||"";var html="";path&&(html+=getItem("lnkPath lnkDirectory","",parentPath,"..."));for(var i=0,length=folders.length;i',html+='
',html+='
',html+=name,html+="
",html+="
",html+='arrow_forward',html+=""}function getEditorHtml(options,systemInfo){var html="";if(html+='
',html+='
',!options.pathReadOnly){var instruction=options.instruction?options.instruction+"

":"";html+='
',html+=instruction,html+=Globalize.translate("MessageDirectoryPickerInstruction").replace("{0}","\\\\server").replace("{1}","\\\\192.168.1.101"),"bsd"===systemInfo.OperatingSystem.toLowerCase()?(html+="
",html+="
",html+=Globalize.translate("MessageDirectoryPickerBSDInstruction"),html+="
",html+=''+Globalize.translate("ButtonMoreInformation")+""):"linux"===systemInfo.OperatingSystem.toLowerCase()&&(html+="
",html+="
",html+=Globalize.translate("MessageDirectoryPickerLinuxInstruction"),html+="
"),html+="
"}html+='
',html+='
',html+='
';var labelKey=options.includeFiles!==!0?"LabelFolder":"LabelPath",readOnlyAttribute=options.pathReadOnly?" readonly":"";return html+='',html+="
",readOnlyAttribute||(html+=''),html+="
",readOnlyAttribute||(html+='
'),options.enableNetworkSharePath&&(html+='
',html+='',html+='
',html+=Globalize.translate("LabelOptionalNetworkPathHelp"),html+="
",html+="
"),html+='
',html+='",html+="
",html+="
",html+="
",html+="
",html+=""}function alertText(text){alertTextWithOptions({text:text})}function alertTextWithOptions(options){require(["alert"],function(alert){alert(options)})}function validatePath(path,validateWriteable,apiClient){return apiClient.ajax({type:"POST",url:apiClient.getUrl("Environment/ValidatePath"),data:{ValidateWriteable:validateWriteable,Path:path}}).catch(function(response){if(response){if(404===response.status)return alertText("The path could not be found. Please ensure the path is valid and try again."),Promise.reject();if(500===response.status)return alertText(validateWriteable?"Emby Server requires write access to this folder. Please ensure write access and try again.":"The path could not be found. Please ensure the path is valid and try again."),Promise.reject()}return Promise.resolve()})}function initEditor(content,options,fileOptions){content.addEventListener("click",function(e){var lnkPath=dom.parentWithClass(e.target,"lnkPath");if(lnkPath){var path=lnkPath.getAttribute("data-path");lnkPath.classList.contains("lnkFile")?content.querySelector("#txtDirectoryPickerPath").value=path:refreshDirectoryBrowser(content,path,fileOptions,!0)}}),content.addEventListener("click",function(e){var btnRefreshDirectories=dom.parentWithClass(e.target,"btnRefreshDirectories");if(btnRefreshDirectories){var path=content.querySelector("#txtDirectoryPickerPath").value;refreshDirectoryBrowser(content,path,fileOptions)}}),content.addEventListener("change",function(e){var txtDirectoryPickerPath=dom.parentWithTag(e.target,"INPUT");txtDirectoryPickerPath&&"txtDirectoryPickerPath"===txtDirectoryPickerPath.id&&refreshDirectoryBrowser(content,txtDirectoryPickerPath.value,fileOptions)}),content.querySelector("form").addEventListener("submit",function(e){if(options.callback){var networkSharePath=this.querySelector("#txtNetworkPath");networkSharePath=networkSharePath?networkSharePath.value:null;var path=this.querySelector("#txtDirectoryPickerPath").value;validatePath(path,options.validateWriteable,ApiClient).then(function(){options.callback(path,networkSharePath)})}return e.preventDefault(),e.stopPropagation(),!1})}function getDefaultPath(options){return options.path?Promise.resolve(options.path):ApiClient.getJSON(ApiClient.getUrl("Environment/DefaultDirectoryBrowser")).then(function(result){return result.Path||""},function(){return""})}function directoryBrowser(){var currentDialog,self=this;self.show=function(options){options=options||{};var fileOptions={includeDirectories:!0};null!=options.includeDirectories&&(fileOptions.includeDirectories=options.includeDirectories),null!=options.includeFiles&&(fileOptions.includeFiles=options.includeFiles),Promise.all([getSystemInfo(),getDefaultPath(options)]).then(function(responses){var systemInfo=responses[0],initialPath=responses[1],dlg=dialogHelper.createDialog({size:"medium-tall",removeOnClose:!0,scrollY:!1});dlg.classList.add("ui-body-a"),dlg.classList.add("background-theme-a"),dlg.classList.add("directoryPicker"),dlg.classList.add("formDialog");var html="";html+='
',html+='',html+='

',html+=options.header||Globalize.translate("HeaderSelectPath"),html+="

",html+="
",html+=getEditorHtml(options,systemInfo),dlg.innerHTML=html,initEditor(dlg,options,fileOptions),dlg.addEventListener("close",onDialogClosed),dialogHelper.open(dlg),dlg.querySelector(".btnCloseDialog").addEventListener("click",function(){dialogHelper.close(dlg)}),currentDialog=dlg;var txtCurrentPath=dlg.querySelector("#txtDirectoryPickerPath");txtCurrentPath.value=initialPath;var txtNetworkPath=dlg.querySelector("#txtNetworkPath");txtNetworkPath&&(txtNetworkPath.value=options.networkSharePath||""),options.pathReadOnly||refreshDirectoryBrowser(dlg,initialPath,fileOptions,!0)})},self.close=function(){currentDialog&&dialogHelper.close(currentDialog)}}var systemInfo;return directoryBrowser}); \ No newline at end of file +define(["loading","dialogHelper","dom","listViewStyle","emby-input","emby-button","paper-icon-button-light","css!./directorybrowser","formDialogStyle","emby-linkbutton"],function(loading,dialogHelper,dom){"use strict";function getSystemInfo(){return systemInfo?Promise.resolve(systemInfo):ApiClient.getPublicSystemInfo().then(function(info){return systemInfo=info,info})}function onDialogClosed(){loading.hide()}function refreshDirectoryBrowser(page,path,fileOptions,updatePathOnError){if(path&&"string"!=typeof path)throw new Error("invalid path");loading.show();var promises=[];"Network"===path?promises.push(ApiClient.getNetworkDevices()):path?(promises.push(ApiClient.getDirectoryContents(path,fileOptions)),promises.push(ApiClient.getParentPath(path))):promises.push(ApiClient.getDrives()),Promise.all(promises).then(function(responses){var folders=responses[0],parentPath=responses[1]||"";page.querySelector("#txtDirectoryPickerPath").value=path||"";var html="";path&&(html+=getItem("lnkPath lnkDirectory","",parentPath,"..."));for(var i=0,length=folders.length;i',html+='
',html+='
',html+=name,html+="
",html+="
",html+='arrow_forward',html+=""}function getEditorHtml(options,systemInfo){var html="";if(html+='
',html+='
',!options.pathReadOnly){var instruction=options.instruction?options.instruction+"

":"";html+='
',html+=instruction,html+=Globalize.translate("MessageDirectoryPickerInstruction").replace("{0}","\\\\server").replace("{1}","\\\\192.168.1.101"),"synology"===(systemInfo.PackageName||"").toLowerCase()?(html+="
",html+="
",html+=''+Globalize.translate("LearnHowToCreateSynologyShares")+""):"bsd"===systemInfo.OperatingSystem.toLowerCase()?(html+="
",html+="
",html+=Globalize.translate("MessageDirectoryPickerBSDInstruction"),html+="
",html+=''+Globalize.translate("ButtonMoreInformation")+""):"linux"===systemInfo.OperatingSystem.toLowerCase()&&(html+="
",html+="
",html+=Globalize.translate("MessageDirectoryPickerLinuxInstruction"),html+="
"),html+="
"}html+='
',html+='
',html+='
';var labelKey=options.includeFiles!==!0?"LabelFolder":"LabelPath",readOnlyAttribute=options.pathReadOnly?" readonly":"";return html+='',html+="
",readOnlyAttribute||(html+=''),html+="
",readOnlyAttribute||(html+='
'),options.enableNetworkSharePath&&(html+='
',html+='',html+='
',html+=Globalize.translate("LabelOptionalNetworkPathHelp"),html+="
",html+="
"),html+='
',html+='",html+="
",html+="
",html+="
",html+="
",html+=""}function alertText(text){alertTextWithOptions({text:text})}function alertTextWithOptions(options){require(["alert"],function(alert){alert(options)})}function validatePath(path,validateWriteable,apiClient){return apiClient.ajax({type:"POST",url:apiClient.getUrl("Environment/ValidatePath"),data:{ValidateWriteable:validateWriteable,Path:path}}).catch(function(response){if(response){if(404===response.status)return alertText("The path could not be found. Please ensure the path is valid and try again."),Promise.reject();if(500===response.status)return alertText(validateWriteable?"Emby Server requires write access to this folder. Please ensure write access and try again.":"The path could not be found. Please ensure the path is valid and try again."),Promise.reject()}return Promise.resolve()})}function initEditor(content,options,fileOptions){content.addEventListener("click",function(e){var lnkPath=dom.parentWithClass(e.target,"lnkPath");if(lnkPath){var path=lnkPath.getAttribute("data-path");lnkPath.classList.contains("lnkFile")?content.querySelector("#txtDirectoryPickerPath").value=path:refreshDirectoryBrowser(content,path,fileOptions,!0)}}),content.addEventListener("click",function(e){var btnRefreshDirectories=dom.parentWithClass(e.target,"btnRefreshDirectories");if(btnRefreshDirectories){var path=content.querySelector("#txtDirectoryPickerPath").value;refreshDirectoryBrowser(content,path,fileOptions)}}),content.addEventListener("change",function(e){var txtDirectoryPickerPath=dom.parentWithTag(e.target,"INPUT");txtDirectoryPickerPath&&"txtDirectoryPickerPath"===txtDirectoryPickerPath.id&&refreshDirectoryBrowser(content,txtDirectoryPickerPath.value,fileOptions)}),content.querySelector("form").addEventListener("submit",function(e){if(options.callback){var networkSharePath=this.querySelector("#txtNetworkPath");networkSharePath=networkSharePath?networkSharePath.value:null;var path=this.querySelector("#txtDirectoryPickerPath").value;validatePath(path,options.validateWriteable,ApiClient).then(function(){options.callback(path,networkSharePath)})}return e.preventDefault(),e.stopPropagation(),!1})}function getDefaultPath(options){return options.path?Promise.resolve(options.path):ApiClient.getJSON(ApiClient.getUrl("Environment/DefaultDirectoryBrowser")).then(function(result){return result.Path||""},function(){return""})}function directoryBrowser(){var currentDialog,self=this;self.show=function(options){options=options||{};var fileOptions={includeDirectories:!0};null!=options.includeDirectories&&(fileOptions.includeDirectories=options.includeDirectories),null!=options.includeFiles&&(fileOptions.includeFiles=options.includeFiles),Promise.all([getSystemInfo(),getDefaultPath(options)]).then(function(responses){var systemInfo=responses[0],initialPath=responses[1],dlg=dialogHelper.createDialog({size:"medium-tall",removeOnClose:!0,scrollY:!1});dlg.classList.add("ui-body-a"),dlg.classList.add("background-theme-a"),dlg.classList.add("directoryPicker"),dlg.classList.add("formDialog");var html="";html+='
',html+='',html+='

',html+=options.header||Globalize.translate("HeaderSelectPath"),html+="

",html+="
",html+=getEditorHtml(options,systemInfo),dlg.innerHTML=html,initEditor(dlg,options,fileOptions),dlg.addEventListener("close",onDialogClosed),dialogHelper.open(dlg),dlg.querySelector(".btnCloseDialog").addEventListener("click",function(){dialogHelper.close(dlg)}),currentDialog=dlg;var txtCurrentPath=dlg.querySelector("#txtDirectoryPickerPath");txtCurrentPath.value=initialPath;var txtNetworkPath=dlg.querySelector("#txtNetworkPath");txtNetworkPath&&(txtNetworkPath.value=options.networkSharePath||""),options.pathReadOnly||refreshDirectoryBrowser(dlg,initialPath,fileOptions,!0)})},self.close=function(){currentDialog&&dialogHelper.close(currentDialog)}}var systemInfo;return directoryBrowser}); \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/dashboard/librarydisplay.js b/MediaBrowser.WebDashboard/dashboard-ui/dashboard/librarydisplay.js index 0c40353a3d..909fbf0ee5 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/dashboard/librarydisplay.js +++ b/MediaBrowser.WebDashboard/dashboard-ui/dashboard/librarydisplay.js @@ -1 +1 @@ -define(["globalize","loading","libraryMenu","emby-checkbox","emby-button","emby-linkbutton"],function(globalize,loading,libraryMenu){"use strict";function getTabs(){return[{href:"library.html",name:Globalize.translate("HeaderLibraries")},{href:"librarydisplay.html",name:Globalize.translate("TabDisplay")},{href:"metadataimages.html",name:Globalize.translate("TabMetadata")},{href:"metadatanfo.html",name:Globalize.translate("TabNfoSettings")},{href:"librarysettings.html",name:Globalize.translate("TabAdvanced")}]}return function(view,params){function loadData(){ApiClient.getServerConfiguration().then(function(config){view.querySelector(".chkFolderView").checked=config.EnableFolderView,view.querySelector(".chkGroupMoviesIntoCollections").checked=config.EnableGroupingIntoCollections,view.querySelector(".chkDisplaySpecialsWithinSeasons").checked=config.DisplaySpecialsWithinSeasons,view.querySelector(".chkDisplayCollectionView").checked=config.DisplayCollectionsView,view.querySelector(".chkDisplayChannelsInline").checked=!config.EnableChannelView,view.querySelector(".chkExternalContentInSuggestions").checked=config.EnableExternalContentInSuggestions})}view.querySelector("form").addEventListener("submit",function(e){loading.show();var form=this;return ApiClient.getServerConfiguration().then(function(config){config.EnableFolderView=form.querySelector(".chkFolderView").checked,config.EnableGroupingIntoCollections=form.querySelector(".chkGroupMoviesIntoCollections").checked,config.DisplaySpecialsWithinSeasons=form.querySelector(".chkDisplaySpecialsWithinSeasons").checked,config.DisplayCollectionsView=form.querySelector(".chkDisplayCollectionView").checked,config.EnableChannelView=!form.querySelector(".chkDisplayChannelsInline").checked,config.EnableExternalContentInSuggestions=form.querySelector(".chkExternalContentInSuggestions").checked,ApiClient.updateServerConfiguration(config).then(Dashboard.processServerConfigurationUpdateResult)}),e.preventDefault(),!1}),view.addEventListener("viewshow",function(){libraryMenu.setTabs("librarysetup",1,getTabs),loadData()})}}); \ No newline at end of file +define(["globalize","loading","libraryMenu","emby-checkbox","emby-button","emby-linkbutton"],function(globalize,loading,libraryMenu){"use strict";function getTabs(){return[{href:"library.html",name:Globalize.translate("HeaderLibraries")},{href:"librarydisplay.html",name:Globalize.translate("TabDisplay")},{href:"metadataimages.html",name:Globalize.translate("TabMetadata")},{href:"metadatanfo.html",name:Globalize.translate("TabNfoSettings")},{href:"librarysettings.html",name:Globalize.translate("TabAdvanced")}]}return function(view,params){function loadData(){ApiClient.getServerConfiguration().then(function(config){view.querySelector(".chkFolderView").checked=config.EnableFolderView,view.querySelector(".chkGroupMoviesIntoCollections").checked=config.EnableGroupingIntoCollections,view.querySelector(".chkDisplaySpecialsWithinSeasons").checked=config.DisplaySpecialsWithinSeasons,view.querySelector(".chkDisplayCollectionView").checked=config.DisplayCollectionsView,view.querySelector(".chkExternalContentInSuggestions").checked=config.EnableExternalContentInSuggestions})}view.querySelector("form").addEventListener("submit",function(e){loading.show();var form=this;return ApiClient.getServerConfiguration().then(function(config){config.EnableFolderView=form.querySelector(".chkFolderView").checked,config.EnableGroupingIntoCollections=form.querySelector(".chkGroupMoviesIntoCollections").checked,config.DisplaySpecialsWithinSeasons=form.querySelector(".chkDisplaySpecialsWithinSeasons").checked,config.DisplayCollectionsView=form.querySelector(".chkDisplayCollectionView").checked,config.EnableExternalContentInSuggestions=form.querySelector(".chkExternalContentInSuggestions").checked,ApiClient.updateServerConfiguration(config).then(Dashboard.processServerConfigurationUpdateResult)}),e.preventDefault(),!1}),view.addEventListener("viewshow",function(){libraryMenu.setTabs("librarysetup",1,getTabs),loadData()})}}); \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/encodingsettings.html b/MediaBrowser.WebDashboard/dashboard-ui/encodingsettings.html index baa431b3a9..cf085ced87 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/encodingsettings.html +++ b/MediaBrowser.WebDashboard/dashboard-ui/encodingsettings.html @@ -73,13 +73,6 @@

${LabelEnableHardwareDecodingFor}

${LabelTranscodingThreadCountHelp}
-
- -
${OptionEnableTranscodingThrottleHelp}
-
diff --git a/MediaBrowser.WebDashboard/dashboard-ui/librarydisplay.html b/MediaBrowser.WebDashboard/dashboard-ui/librarydisplay.html index 793a311938..f1fe1afe1b 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/librarydisplay.html +++ b/MediaBrowser.WebDashboard/dashboard-ui/librarydisplay.html @@ -34,14 +34,6 @@
-
- -
${OptionDisplayChannelsInlineHelp}
-
-
-
- -
${LabelChannelStreamQualityHelp}
-
diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/ar.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/ar.json index 9f85620333..618e6d1ba6 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/ar.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/ar.json @@ -1729,7 +1729,7 @@ "ButtonScanAllLibraries": "Scan All Libraries", "ScanLibrary": "Scan library", "EnableStreamLooping": "Auto-loop live streams", - "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested.", + "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested. Enabling this when not needed may cause problems.", "HttpsRequiresCert": "To require https for external connections, you will need to supply a trusted SSL certificate, such as Lets Encrypt.", "HeaderLatestDownloadedVideos": "Latest Downloaded Videos", "ServerRestartNeededAfterPluginInstall": "Emby Server will need to be restarted after installing a plugin.", @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/be-BY.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/be-BY.json index c91700485f..790b6a41e9 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/be-BY.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/be-BY.json @@ -1729,7 +1729,7 @@ "ButtonScanAllLibraries": "Scan All Libraries", "ScanLibrary": "Scan library", "EnableStreamLooping": "Auto-loop live streams", - "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested.", + "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested. Enabling this when not needed may cause problems.", "HttpsRequiresCert": "To require https for external connections, you will need to supply a trusted SSL certificate, such as Lets Encrypt.", "HeaderLatestDownloadedVideos": "Latest Downloaded Videos", "ServerRestartNeededAfterPluginInstall": "Emby Server will need to be restarted after installing a plugin.", @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/bg-BG.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/bg-BG.json index e9ae9c992f..bf8ad6c2b2 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/bg-BG.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/bg-BG.json @@ -1729,7 +1729,7 @@ "ButtonScanAllLibraries": "\u0421\u043a\u0430\u043d\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0432\u0441\u0438\u0447\u043a\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438", "ScanLibrary": "\u0421\u043a\u0430\u043d\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u0442\u0430", "EnableStreamLooping": "Auto-loop live streams", - "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested.", + "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested. Enabling this when not needed may cause problems.", "HttpsRequiresCert": "To require https for external connections, you will need to supply a trusted SSL certificate, such as Lets Encrypt.", "HeaderLatestDownloadedVideos": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u043e \u0438\u0437\u0442\u0435\u0433\u043b\u0435\u043d\u0438 \u0432\u0438\u0434\u0435\u043e\u043a\u043b\u0438\u043f\u043e\u0432\u0435", "ServerRestartNeededAfterPluginInstall": "\u0421\u043b\u0435\u0434 \u0438\u043d\u0441\u0442\u0430\u043b\u0438\u0440\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430, \u0441\u044a\u0440\u0432\u044a\u0440\u044a\u0442 \u0449\u0435 \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0431\u044a\u0434\u0435 \u043f\u0443\u0441\u043d\u0430\u0442 \u043d\u0430\u043d\u043e\u0432\u043e.", @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/ca.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/ca.json index 10fa5898d6..287b3d9a09 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/ca.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/ca.json @@ -1729,7 +1729,7 @@ "ButtonScanAllLibraries": "Scan All Libraries", "ScanLibrary": "Scan library", "EnableStreamLooping": "Auto-loop live streams", - "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested.", + "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested. Enabling this when not needed may cause problems.", "HttpsRequiresCert": "To require https for external connections, you will need to supply a trusted SSL certificate, such as Lets Encrypt.", "HeaderLatestDownloadedVideos": "Darrers V\u00eddeos Descarregats", "ServerRestartNeededAfterPluginInstall": "Emby Server will need to be restarted after installing a plugin.", @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/cs.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/cs.json index 570df9e26f..65be44fa97 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/cs.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/cs.json @@ -1729,7 +1729,7 @@ "ButtonScanAllLibraries": "Scan All Libraries", "ScanLibrary": "Scan library", "EnableStreamLooping": "Auto-loop live streams", - "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested.", + "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested. Enabling this when not needed may cause problems.", "HttpsRequiresCert": "To require https for external connections, you will need to supply a trusted SSL certificate, such as Lets Encrypt.", "HeaderLatestDownloadedVideos": "Nejnov\u011bj\u0161\u00ed sta\u017een\u00e1 videa", "ServerRestartNeededAfterPluginInstall": "Emby Server will need to be restarted after installing a plugin.", @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/da.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/da.json index 180eb4da07..79905d8149 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/da.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/da.json @@ -1729,7 +1729,7 @@ "ButtonScanAllLibraries": "Scan All Libraries", "ScanLibrary": "Scan library", "EnableStreamLooping": "Auto-loop live streams", - "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested.", + "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested. Enabling this when not needed may cause problems.", "HttpsRequiresCert": "To require https for external connections, you will need to supply a trusted SSL certificate, such as Lets Encrypt.", "HeaderLatestDownloadedVideos": "Latest Downloaded Videos", "ServerRestartNeededAfterPluginInstall": "Emby Server will need to be restarted after installing a plugin.", @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/de.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/de.json index 118624b911..a490531dff 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/de.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/de.json @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User-Agent:", "UserAgentHelp": "Stelle einen benutzerdefinierten User-Agent HTTP header zur Verf\u00fcgung, wenn n\u00f6tig.", "HeaderConfigureRemoteAccess": "Konfiguriere Remote-Zugriff", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/el.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/el.json index 76953c02b8..b65d5dfc35 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/el.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/el.json @@ -1729,7 +1729,7 @@ "ButtonScanAllLibraries": "Scan All Libraries", "ScanLibrary": "Scan library", "EnableStreamLooping": "Auto-loop live streams", - "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested.", + "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested. Enabling this when not needed may cause problems.", "HttpsRequiresCert": "To require https for external connections, you will need to supply a trusted SSL certificate, such as Lets Encrypt.", "HeaderLatestDownloadedVideos": "Latest Downloaded Videos", "ServerRestartNeededAfterPluginInstall": "Emby Server will need to be restarted after installing a plugin.", @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/en-GB.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/en-GB.json index 63c1fb930e..b5a026f84b 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/en-GB.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/en-GB.json @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/en-US.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/en-US.json index 45df758be1..11d65d1ccf 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/en-US.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/en-US.json @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/es-AR.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/es-AR.json index dddd53449d..2e443999a6 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/es-AR.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/es-AR.json @@ -1729,7 +1729,7 @@ "ButtonScanAllLibraries": "Scan All Libraries", "ScanLibrary": "Scan library", "EnableStreamLooping": "Auto-loop live streams", - "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested.", + "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested. Enabling this when not needed may cause problems.", "HttpsRequiresCert": "To require https for external connections, you will need to supply a trusted SSL certificate, such as Lets Encrypt.", "HeaderLatestDownloadedVideos": "Latest Downloaded Videos", "ServerRestartNeededAfterPluginInstall": "Emby Server will need to be restarted after installing a plugin.", @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/es-MX.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/es-MX.json index ae2094bb39..decf3ae707 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/es-MX.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/es-MX.json @@ -1764,6 +1764,7 @@ "LabelUserAgent": "Agente de usuario:", "UserAgentHelp": "Suministre un agente de encabezado http personalizado, si fuera necesario.", "HeaderConfigureRemoteAccess": "Configurar Acceso Remoto", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/es.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/es.json index fdd0d26f63..55bba41532 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/es.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/es.json @@ -1764,6 +1764,7 @@ "LabelUserAgent": "Agente de usuario:", "UserAgentHelp": "Proporciona una cabecera http personalizada de agente-usuario, si es necesario.", "HeaderConfigureRemoteAccess": "Configurar acceso remoto", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/fa.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/fa.json index 5d79157096..0768eced8a 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/fa.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/fa.json @@ -4,13 +4,13 @@ "LabelNext": "\u0628\u0639\u062f\u06cc", "LabelYoureDone": "\u0628\u0647 \u067e\u0627\u06cc\u0627\u0646 \u0631\u0633\u06cc\u062f!", "WelcomeToProject": "\u0628\u0647 Emby \u062e\u0648\u0634 \u0622\u0645\u062f\u06cc\u062f!", - "ThisWizardWillGuideYou": "This wizard will help guide you through the setup process. To begin, please select your preferred language.", + "ThisWizardWillGuideYou": "\u0627\u06cc\u0646 \u0648\u06cc\u0632\u0627\u0631\u062f \u0628\u0631\u0627\u06cc \u0627\u0646\u062c\u0627\u0645 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0628\u0647 \u0634\u0645\u0627 \u06a9\u0645\u06a9 \u0645\u06cc \u06a9\u0646\u062f. \u0628\u0631\u0627\u06cc \u0634\u0631\u0648\u0639\u060c \u0644\u0637\u0641\u0627 \u0632\u0628\u0627\u0646 \u0645\u0648\u0631\u062f \u0646\u0638\u0631 \u062e\u0648\u062f \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u0641\u0631\u0645\u0627\u06cc\u06cc\u062f", "TellUsAboutYourself": "\u062f\u0631 \u0645\u0648\u0631\u062f \u062e\u0648\u062f\u062a\u0627\u0646 \u0628\u0647 \u0645\u0627 \u0628\u06af\u0648\u06cc\u06cc\u062f", "ButtonQuickStartGuide": "\u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u0634\u0631\u0648\u0639 \u0633\u0631\u06cc\u0639", "LabelYourFirstName": "\u0627\u0633\u0645 \u06a9\u0648\u0686\u06a9 \u0634\u0645\u0627:", "MoreUsersCanBeAddedLater": "\u0628\u0639\u062f\u0627 \u0645\u06cc\u062a\u0648\u0627\u0646\u06cc\u062f \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0628\u06cc\u0634\u062a\u0631\u06cc \u0631\u0627 \u062f\u0631 \u062f\u0627\u0634\u0628\u0648\u0631\u062f \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f.", - "UserProfilesIntro": "Emby includes built-in support for user profiles, enabling each user to have their own display settings, playstate and parental controls.", - "WizardCompleted": "That's all we need for now. Emby has begun collecting information about your media library. Check out some of our apps, and then click Finish<\/b> to view the Server Dashboard<\/b>.", + "UserProfilesIntro": "Emby \u062f\u0627\u0631\u0627\u06cc \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u062f\u0627\u062e\u0644\u06cc \u0627\u0632 \u067e\u0631\u0648\u0641\u0627\u06cc\u0644 \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0645\u06cc \u0628\u0627\u0634\u062f. \u0628\u0627 \u0641\u0639\u0627\u0644 \u0633\u0627\u0632\u06cc \u0647\u0631 \u06a9\u0627\u0631\u0628\u0631\u060c \u0627\u0648 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u060c \u0648\u0636\u0639\u06cc\u062a \u067e\u062e\u0634 \u0648 \u06a9\u0646\u062a\u0631\u0644 \u0648\u0627\u0644\u062f\u06cc\u0646 \u062e\u0627\u0635 \u062e\u0648\u062f\u0634 \u0631\u0627 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f.", + "WizardCompleted": "\u0647\u0645\u0647 \u0686\u06cc\u0632\u06cc \u06a9\u0647 \u0641\u0639\u0644\u0627 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u0645 \u0647\u0645\u06cc\u0646 \u0627\u0633\u062a.\u062c\u0645\u0639 \u0622\u0648\u0631\u06cc \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0647\u0627\u06cc \u0634\u0645\u0627 \u0647\u0645 \u0627\u06a9\u0646\u0648\u0646 \u062a\u0648\u0633\u0637 Emby \u0622\u063a\u0627\u0632 \u0634\u062f\u0647 \u0627\u0633\u062a. \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u0647\u0627\u06cc \u0645\u0627 \u0631\u0627 \u0627\u0645\u062a\u062d\u0627\u0646 \u06a9\u0646\u06cc\u062f \u0648 \u0633\u067e\u0633 \u0628\u0631 \u0631\u0648\u06cc \u067e\u0627\u06cc\u0627\u0646 <\/b> \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u067e\u06cc\u0634\u062e\u0648\u0627\u0646 \u0633\u0631\u0648\u0631 <\/b> \u0631\u0627 \u0645\u0634\u0627\u0647\u062f\u0647 \u0646\u0645\u0627\u06cc\u06cc\u062f.", "LabelConfigureSettings": "\u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u062a\u0646\u0638\u06cc\u0645\u0627\u062a", "HeaderTermsOfService": "\u0634\u0631\u0627\u06cc\u0637 \u062e\u062f\u0645\u0627\u062a Emby", "MessagePleaseAcceptTermsOfService": "\u0644\u0637\u0641\u0627 \u0642\u0628\u0644 \u0627\u0632 \u0627\u062f\u0627\u0645\u0647 \u0634\u0631\u0627\u06cc\u0637 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062e\u062f\u0645\u0627\u062a \u0648 \u0633\u06cc\u0627\u0633\u062a \u062d\u0641\u0638 \u062d\u0631\u06cc\u0645 \u062e\u0635\u0648\u0635\u06cc \u0631\u0627 \u0628\u067e\u0630\u06cc\u0631\u06cc\u062f.", @@ -23,19 +23,19 @@ "LabelAddConnectSupporterHelp": "\u0628\u0631\u0627\u06cc \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u06a9\u0627\u0631\u0628\u0631\u06cc \u06a9\u0647 \u062f\u0631 \u0627\u06cc\u0646 \u0641\u0647\u0631\u0633\u062a \u0646\u06cc\u0633\u062a\u060c \u062f\u0631 \u0627\u0628\u062a\u062f\u0627 \u0628\u0627\u06cc\u062f \u062d\u0633\u0627\u0628\u0647\u0627\u06cc\u0634\u0627\u0646 \u0631\u0627 \u0628\u0647 \u0633\u0631\u0648\u06cc\u0633 Emby Connect \u0627\u062a\u0635\u0627\u0644 \u062f\u0647\u06cc\u062f.", "LabelPinCode": "\u067e\u06cc\u0646 \u06a9\u062f:", "DeleteMedia": "\u062d\u0630\u0641 \u0631\u0633\u0627\u0646\u0647", - "AllowRemoteAccess": "Allow remote connections to this Emby Server.", - "AllowRemoteAccessHelp": "If unchecked, all remote connections will be blocked.", + "AllowRemoteAccess": "\u0627\u062c\u0627\u0632\u0647 \u062f\u0627\u062f\u0646 \u0627\u062a\u0635\u0627\u0644 \u0627\u0632 \u0631\u0627\u0647 \u062f\u0648\u0631 \u0628\u0647 \u0633\u0631\u0648\u0631 Emby", + "AllowRemoteAccessHelp": "\u0627\u06af\u0631\u0627\u0646\u062a\u062e\u0627\u0628 \u0646\u0634\u0648\u062f\u060c \u062a\u0645\u0627\u0645\u06cc \u0627\u062a\u0635\u0627\u0644 \u0647\u0627\u06cc \u0627\u0632 \u0631\u0627\u0647 \u062f\u0648\u0631 \u0628\u0644\u0648\u06a9\u0647 \u0645\u06cc \u0634\u0648\u0646\u062f.", "HeaderSync": "\u0647\u0645\u06af\u0627\u0645 \u0633\u0627\u0632\u06cc", - "HeaderPlayAll": "Play All", + "HeaderPlayAll": "\u067e\u062e\u0634 \u0647\u0645\u0647", "HeaderUpcomingNews": "Upcoming News", "ButtonOk": "\u062e\u0648\u0628", "ButtonCancel": "\u0644\u063a\u0648 \u06a9\u0631\u062f\u0646", "ButtonExit": "\u062e\u0631\u0648\u062c", "ButtonNew": "\u062c\u062f\u06cc\u062f", - "All": "All", - "OptionDev": "Dev", - "OptionBeta": "Beta", - "HeaderTaskTriggers": "Task Triggers", + "All": "\u0647\u0645\u0647", + "OptionDev": "\u062a\u0648\u0633\u0639\u0647", + "OptionBeta": "\u0622\u0632\u0645\u0627\u06cc\u0634\u06cc", + "HeaderTaskTriggers": "\u0641\u0639\u0627\u0644 \u0633\u0627\u0632\u06cc \u0639\u0645\u0644\u06cc\u0627\u062a \u0647\u0627", "HeaderTV": "\u062a\u0644\u0648\u06cc\u0632\u06cc\u0648\u0646", "HeaderAudio": "\u0634\u0646\u06cc\u062f\u0627\u0631\u06cc", "HeaderVideo": "\u062a\u0635\u0648\u06cc\u0631\u06cc", @@ -52,42 +52,42 @@ "RegisterWithPayPal": "\u062b\u0628\u062a \u0646\u0627\u0645 \u0628\u0627 \u067e\u06cc \u067e\u0627\u0644", "LabelSyncTempPath": "\u0645\u0633\u06cc\u0631 \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u0645\u0648\u0642\u062a:", "LabelSyncTempPathHelp": "Specify a custom sync working folder. Converted media created during the sync process will be stored here.", - "LabelCustomCertificatePath": "Custom ssl certificate path:", + "LabelCustomCertificatePath": "\u0645\u0633\u06cc\u0631 \u0627\u062e\u062a\u0635\u0635\u0627\u06cc \u06af\u0648\u0627\u0647\u06cc\u0646\u0627\u0645\u0647 SSL:", "LabelCustomCertificatePathHelp": "Path to a PKCS #12 file containing a certificate and private key to enable TLS support on a custom domain.", - "TitleNotifications": "Notifications", - "LabelEnterConnectUserName": "Username or email:", + "TitleNotifications": "\u0627\u0639\u0644\u0627\u0646 \u0647\u0627", + "LabelEnterConnectUserName": "\u0646\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631\u06cc \u06cc\u0627 \u0627\u06cc\u0645\u06cc\u0644:", "LabelEnterConnectUserNameHelp": "This is your Emby online account username or email.", - "HeaderSyncJobInfo": "Sync Job", - "FolderTypeMixed": "Mixed content", - "FolderTypeMovies": "Movies", - "FolderTypeMusic": "Music", - "FolderTypePhotos": "Photos", - "FolderTypeMusicVideos": "Music videos", - "FolderTypeGames": "Games", - "FolderTypeBooks": "Books", - "FolderTypeTvShows": "TV Shows", - "FolderTypeInherit": "Inherit", - "LabelContentType": "Content type:", - "TitleScheduledTasks": "Scheduled Tasks", - "HeaderSetupLibrary": "Setup your media libraries", - "LabelFolderType": "Folder type:", - "LabelCountry": "Country:", - "LabelLanguage": "Language:", - "LabelTimeLimitHours": "Time limit (hours):", - "HeaderPreferredMetadataLanguage": "Preferred Metadata Language", - "LabelSaveLocalMetadata": "Save artwork and metadata into media folders", + "HeaderSyncJobInfo": "\u0627\u0646\u062c\u0627\u0645 \u0647\u0645\u06af\u0627\u0645 \u0633\u0627\u0632\u06cc", + "FolderTypeMixed": "\u0645\u062d\u062a\u0648\u0627\u06cc \u0645\u0634\u062a\u0631\u06a9", + "FolderTypeMovies": "\u0633\u06cc\u0646\u0645\u0627\u06cc\u06cc \u0647\u0627", + "FolderTypeMusic": "\u0645\u0648\u0633\u06cc\u0642\u06cc", + "FolderTypePhotos": "\u062a\u0635\u0627\u0648\u06cc\u0631", + "FolderTypeMusicVideos": "\u0645\u0648\u0632\u06cc\u06a9 \u0648\u06cc\u062f\u0626\u0648\u0647\u0627", + "FolderTypeGames": "\u0628\u0627\u0632\u06cc \u0647\u0627", + "FolderTypeBooks": "\u06a9\u062a\u0627\u0628 \u0647\u0627", + "FolderTypeTvShows": "\u0633\u0631\u06cc\u0627\u0644 \u062a\u0644\u0648\u06cc\u0632\u06cc\u0648\u0646\u06cc", + "FolderTypeInherit": "\u0628\u0647 \u0627\u0631\u062b \u0645\u06cc \u0628\u0631\u0646\u062f", + "LabelContentType": "\u0646\u0648\u0639 \u0645\u062d\u062a\u0648\u06cc", + "TitleScheduledTasks": "\u0639\u0645\u0644\u06cc\u0627\u062a \u0647\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u06cc\u0632\u06cc \u0634\u062f\u0647", + "HeaderSetupLibrary": "\u062a\u0646\u0638\u06cc\u0645 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0647\u0627\u06cc \u0645\u062d\u062a\u0648\u06cc", + "LabelFolderType": "\u0646\u0648\u0639 \u067e\u0648\u0634\u0647", + "LabelCountry": "\u06a9\u0634\u0648\u0631", + "LabelLanguage": "\u0632\u0628\u0627\u0646", + "LabelTimeLimitHours": "\u0645\u062d\u062f\u0648\u062f\u06cc\u062a \u0632\u0645\u0627\u0646 (\u0633\u0627\u0639\u062a):", + "HeaderPreferredMetadataLanguage": "\u0632\u0628\u0627\u0646 \u0645\u062f\u0646\u0638\u0631 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0645\u062d\u062a\u0648\u06cc", + "LabelSaveLocalMetadata": "\u067e\u0648\u0633\u062a\u0631 \u0648 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0645\u062d\u062a\u0648\u06cc \u062f\u0631 \u067e\u0648\u0634\u0647 \u0645\u062f\u06cc\u0627 \u0630\u062e\u06cc\u0631\u0647 \u06af\u0631\u062f\u062f", "LabelSaveLocalMetadataHelp": "Saving artwork and metadata directly into media folders will put them in a place where they can be easily edited.", - "LabelDownloadInternetMetadata": "Download artwork and metadata from the internet", + "LabelDownloadInternetMetadata": "\u067e\u0648\u0633\u062a\u0631 \u0648 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0645\u062d\u062a\u0648\u06cc \u0627\u0632 \u0627\u06cc\u0646\u062a\u0631\u0646\u062a \u062f\u0627\u0646\u0644\u0648\u062f \u0634\u0648\u062f", "LabelDownloadInternetMetadataHelp": "Emby Server can download information about your media to enable rich presentations.", - "TabPassword": "Password", - "TabLibraryAccess": "Library Access", - "TabAccess": "Access", - "TabImage": "Image", + "TabPassword": "\u0631\u0645\u0632 \u0639\u0628\u0648\u0631", + "TabLibraryAccess": "\u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647", + "TabAccess": "\u062f\u0633\u062a\u0631\u0633\u06cc", + "TabImage": "\u062a\u0635\u0648\u06cc\u0631", "TabProfile": "\u067e\u0631\u0648\u0641\u0627\u06cc\u0644", - "TabMetadata": "Metadata", - "TabImages": "Images", - "TabNotifications": "Notifications", - "TabCollectionTitles": "Titles", + "TabMetadata": "\u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0645\u062d\u062a\u0648\u06cc", + "TabImages": "\u062a\u0635\u0627\u0648\u06cc\u0631", + "TabNotifications": "\u0627\u0639\u0644\u0627\u0646 \u0647\u0627", + "TabCollectionTitles": "\u0639\u0646\u0627\u0648\u06cc\u0646", "HeaderDeviceAccess": "Device Access", "OptionEnableAccessFromAllDevices": "Enable access from all devices", "OptionEnableAccessToAllChannels": "Enable access to all channels", @@ -1729,7 +1729,7 @@ "ButtonScanAllLibraries": "Scan All Libraries", "ScanLibrary": "Scan library", "EnableStreamLooping": "Auto-loop live streams", - "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested.", + "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested. Enabling this when not needed may cause problems.", "HttpsRequiresCert": "To require https for external connections, you will need to supply a trusted SSL certificate, such as Lets Encrypt.", "HeaderLatestDownloadedVideos": "Latest Downloaded Videos", "ServerRestartNeededAfterPluginInstall": "Emby Server will need to be restarted after installing a plugin.", @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/fi.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/fi.json index ae74819c59..e3766aa83e 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/fi.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/fi.json @@ -1729,7 +1729,7 @@ "ButtonScanAllLibraries": "Scan All Libraries", "ScanLibrary": "Scan library", "EnableStreamLooping": "Auto-loop live streams", - "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested.", + "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested. Enabling this when not needed may cause problems.", "HttpsRequiresCert": "To require https for external connections, you will need to supply a trusted SSL certificate, such as Lets Encrypt.", "HeaderLatestDownloadedVideos": "Latest Downloaded Videos", "ServerRestartNeededAfterPluginInstall": "Emby Server will need to be restarted after installing a plugin.", @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/fr-CA.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/fr-CA.json index e23e1fd393..84cbf5cc51 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/fr-CA.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/fr-CA.json @@ -1729,7 +1729,7 @@ "ButtonScanAllLibraries": "Scan All Libraries", "ScanLibrary": "Scan library", "EnableStreamLooping": "Auto-loop live streams", - "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested.", + "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested. Enabling this when not needed may cause problems.", "HttpsRequiresCert": "To require https for external connections, you will need to supply a trusted SSL certificate, such as Lets Encrypt.", "HeaderLatestDownloadedVideos": "Latest Downloaded Videos", "ServerRestartNeededAfterPluginInstall": "Emby Server will need to be restarted after installing a plugin.", @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/fr.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/fr.json index 8c1dcd8abf..60df1cd888 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/fr.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/fr.json @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent\u00a0:", "UserAgentHelp": "Fournissez un en-t\u00eate http user agent personnalis\u00e9, si n\u00e9cessaire.", "HeaderConfigureRemoteAccess": "Configurer l'acc\u00e8s distant", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/gsw.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/gsw.json index be4fa7cda8..dd7ef74db7 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/gsw.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/gsw.json @@ -1729,7 +1729,7 @@ "ButtonScanAllLibraries": "Scan All Libraries", "ScanLibrary": "Scan library", "EnableStreamLooping": "Auto-loop live streams", - "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested.", + "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested. Enabling this when not needed may cause problems.", "HttpsRequiresCert": "To require https for external connections, you will need to supply a trusted SSL certificate, such as Lets Encrypt.", "HeaderLatestDownloadedVideos": "Latest Downloaded Videos", "ServerRestartNeededAfterPluginInstall": "Emby Server will need to be restarted after installing a plugin.", @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/he.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/he.json index 1445b11681..f6372a5953 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/he.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/he.json @@ -1729,7 +1729,7 @@ "ButtonScanAllLibraries": "Scan All Libraries", "ScanLibrary": "Scan library", "EnableStreamLooping": "Auto-loop live streams", - "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested.", + "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested. Enabling this when not needed may cause problems.", "HttpsRequiresCert": "To require https for external connections, you will need to supply a trusted SSL certificate, such as Lets Encrypt.", "HeaderLatestDownloadedVideos": "Latest Downloaded Videos", "ServerRestartNeededAfterPluginInstall": "Emby Server will need to be restarted after installing a plugin.", @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/hi-IN.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/hi-IN.json index 5046cdf9b4..b33600ca5d 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/hi-IN.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/hi-IN.json @@ -1729,7 +1729,7 @@ "ButtonScanAllLibraries": "Scan All Libraries", "ScanLibrary": "Scan library", "EnableStreamLooping": "Auto-loop live streams", - "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested.", + "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested. Enabling this when not needed may cause problems.", "HttpsRequiresCert": "To require https for external connections, you will need to supply a trusted SSL certificate, such as Lets Encrypt.", "HeaderLatestDownloadedVideos": "Latest Downloaded Videos", "ServerRestartNeededAfterPluginInstall": "Emby Server will need to be restarted after installing a plugin.", @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/hr.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/hr.json index 7bb56915ee..9005c20453 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/hr.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/hr.json @@ -1729,7 +1729,7 @@ "ButtonScanAllLibraries": "Scan All Libraries", "ScanLibrary": "Scan library", "EnableStreamLooping": "Auto-loop live streams", - "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested.", + "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested. Enabling this when not needed may cause problems.", "HttpsRequiresCert": "To require https for external connections, you will need to supply a trusted SSL certificate, such as Lets Encrypt.", "HeaderLatestDownloadedVideos": "Latest Downloaded Videos", "ServerRestartNeededAfterPluginInstall": "Emby Server will need to be restarted after installing a plugin.", @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/hu.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/hu.json index 8b6a55dd3e..edf98d9b03 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/hu.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/hu.json @@ -1729,7 +1729,7 @@ "ButtonScanAllLibraries": "Scan All Libraries", "ScanLibrary": "Scan library", "EnableStreamLooping": "Auto-loop live streams", - "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested.", + "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested. Enabling this when not needed may cause problems.", "HttpsRequiresCert": "To require https for external connections, you will need to supply a trusted SSL certificate, such as Lets Encrypt.", "HeaderLatestDownloadedVideos": "Latest Downloaded Videos", "ServerRestartNeededAfterPluginInstall": "Emby Server will need to be restarted after installing a plugin.", @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/id.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/id.json index bd96ac1bbc..c4abf96449 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/id.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/id.json @@ -1729,7 +1729,7 @@ "ButtonScanAllLibraries": "Scan All Libraries", "ScanLibrary": "Scan library", "EnableStreamLooping": "Auto-loop live streams", - "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested.", + "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested. Enabling this when not needed may cause problems.", "HttpsRequiresCert": "To require https for external connections, you will need to supply a trusted SSL certificate, such as Lets Encrypt.", "HeaderLatestDownloadedVideos": "Latest Downloaded Videos", "ServerRestartNeededAfterPluginInstall": "Emby Server will need to be restarted after installing a plugin.", @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/it.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/it.json index 5249c2faff..5884404f2c 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/it.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/it.json @@ -1764,6 +1764,7 @@ "LabelUserAgent": "Agente utente:", "UserAgentHelp": "Fornire un'intestazione http personalizzata per utente-agente, se necessario.", "HeaderConfigureRemoteAccess": "Configura Accesso Remoto", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/kk.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/kk.json index 916460721b..985fc9e6bd 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/kk.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/kk.json @@ -1729,7 +1729,7 @@ "ButtonScanAllLibraries": "\u0411\u0430\u0440\u043b\u044b\u049b \u0442\u0430\u0441\u044b\u0493\u044b\u0448\u0445\u0430\u043d\u0430\u043b\u0430\u0440\u0434\u044b \u0441\u043a\u0430\u043d\u0435\u0440\u043b\u0435\u0443", "ScanLibrary": "\u0422\u0430\u0441\u044b\u0493\u044b\u0448\u0445\u0430\u043d\u0430\u043d\u044b \u0441\u043a\u0430\u043d\u0435\u0440\u043b\u0435\u0443", "EnableStreamLooping": "\u0422\u0430\u0440\u0430\u0442\u0443\u043b\u0430\u0440\u0434\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0442\u044b \u0442\u04af\u0440\u0434\u0435 \u0442\u04b1\u0439\u044b\u049b\u0442\u0430\u0443", - "EnableStreamLoopingHelp": "\u0415\u0433\u0435\u0440 \u0442\u0430\u0440\u0430\u0442\u0443 \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0456\u043d\u0434\u0435 \u0442\u0435\u043a \u049b\u0430\u043d\u0430 \u0430\u0437\u044b\u043d-\u0430\u0443\u043b\u0430\u049b \u0441\u0435\u043a\u0443\u043d\u0434 \u0431\u0430\u0440 \u0431\u043e\u043b\u0441\u0430 \u0436\u04d9\u043d\u0435 \u043e\u043d\u044b \u04af\u0437\u0434\u0456\u043a\u0441\u0456\u0437 \u0441\u04b1\u0440\u0430\u0442\u044b\u043f \u0430\u043b\u0443 \u049b\u0430\u0436\u0435\u0442 \u0431\u043e\u043b\u0441\u0430, \u043e\u043d\u044b \u049b\u043e\u0441\u044b\u04a3\u044b\u0437.", + "EnableStreamLoopingHelp": "\u0415\u0433\u0435\u0440 \u0442\u0430\u0440\u0430\u0442\u0443 \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0456\u043d\u0434\u0435 \u0442\u0435\u043a \u049b\u0430\u043d\u0430 \u0430\u0437\u044b\u043d-\u0430\u0443\u043b\u0430\u049b \u0441\u0435\u043a\u0443\u043d\u0434 \u0431\u0430\u0440 \u0431\u043e\u043b\u0441\u0430 \u0436\u04d9\u043d\u0435 \u043e\u043d\u044b \u04af\u0437\u0434\u0456\u043a\u0441\u0456\u0437 \u0441\u04b1\u0440\u0430\u0442\u044b\u043f \u0430\u043b\u0443 \u049b\u0430\u0436\u0435\u0442 \u0431\u043e\u043b\u0441\u0430, \u043e\u043d\u044b \u049b\u043e\u0441\u044b\u04a3\u044b\u0437. \u0411\u04b1\u043b \u049b\u0430\u0436\u0435\u0442 \u0431\u043e\u043b\u043c\u0430\u0493\u0430\u043d \u0436\u0430\u0493\u0434\u0430\u0439\u0434\u0430 \u049b\u043e\u0441\u044b\u043b\u0441\u0430, \u049b\u0438\u044b\u043d\u0434\u044b\u049b\u0442\u0430\u0440 \u0442\u0443\u0434\u044b\u0440\u0443\u044b \u043c\u04af\u043c\u043a\u0456\u043d.", "HttpsRequiresCert": "\u0421\u044b\u0440\u0442\u049b\u044b \u0431\u0430\u0439\u043b\u0430\u043d\u044b\u0441\u0442\u0430\u0440\u0493\u0430 HTTPS \u0442\u0430\u043b\u0430\u043f \u0435\u0442\u0443 \u04af\u0448\u0456\u043d Lets Encrypt \u0441\u0438\u044f\u049b\u0442\u044b \u0441\u0435\u043d\u0456\u043c\u0434\u0456 SSL \u043a\u0443\u04d9\u043b\u0456\u0433\u0456\u043d \u04b1\u0441\u044b\u043d\u0443\u04a3\u044b\u0437 \u049b\u0430\u0436\u0435\u0442.", "HeaderLatestDownloadedVideos": "\u0415\u04a3 \u043a\u0435\u0439\u0456\u043d\u0433\u0456 \u0436\u04af\u043a\u0442\u0435\u043f \u0430\u043b\u044b\u043d\u0493\u0430\u043d \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0440", "ServerRestartNeededAfterPluginInstall": "\u041f\u043b\u0430\u0433\u0438\u043d\u0434\u0456 \u043e\u0440\u043d\u0430\u0442\u049b\u0430\u043d\u043d\u0430\u043d \u043a\u0435\u0439\u0456\u043d Emby Server \u049b\u0430\u0439\u0442\u0430 \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u044b\u043b\u0443 \u049b\u0430\u0436\u0435\u0442.", @@ -1764,6 +1764,7 @@ "LabelUserAgent": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b \u0430\u0433\u0435\u043d\u0442\u0456:", "UserAgentHelp": "\u049a\u0430\u0436\u0435\u0442 \u0431\u043e\u043b\u0441\u0430, \u0442\u0435\u04a3\u0448\u0435\u043b\u0435\u0442\u0456\u043d \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b \u0430\u0433\u0435\u043d\u0442\u0456\u043d\u0435 HTTP \u0431\u0430\u0441 \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u043c\u0435\u0441\u0456\u043d \u0436\u0435\u0442\u043a\u0456\u0437\u0443.", "HeaderConfigureRemoteAccess": "\u049a\u0430\u0448\u044b\u049b\u0442\u0430\u043d \u049b\u0430\u0442\u044b\u043d\u0430\u0443\u0434\u044b \u0442\u0435\u04a3\u0448\u0435\u0443", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "\u04ae\u0439\u0434\u0435\u0433\u0456 \u0436\u0435\u043b\u0456\u043b\u0435\u0440:", "LanNetworksHelp": "\u04ae\u0442\u0456\u0440\u043b\u0435\u0440\u043c\u0435\u043d \u0431\u04e9\u043b\u0456\u043d\u0433\u0435\u043d IP-\u043c\u0435\u043a\u0435\u043d\u0436\u0430\u0439\u043b\u0430\u0440\u044b\u043d\u044b\u04a3 \u0442\u0456\u0437\u0431\u0435\u0441\u0456 \u043d\u0435\u043c\u0435\u0441\u0435 IP\/netmask \u0436\u0430\u0437\u0431\u0430\u043b\u0430\u0440, \u043e\u043b\u0430\u0440 \u04e9\u0442\u043a\u0456\u0437\u0443 \u043c\u04af\u043c\u043a\u0456\u043d\u0434\u0456\u0433\u0456\u043d \u0448\u0435\u043a\u0442\u0435\u0443\u0434\u0456 \u0436\u04af\u0437\u0435\u0433\u0435 \u0430\u0441\u044b\u0440\u0443 \u043a\u0435\u0437\u0456\u043d\u0434\u0435 \u0436\u0435\u0440\u0433\u0456\u043b\u0456\u043a\u0442\u0456 \u0436\u0435\u043b\u0456\u0434\u0435 \u049b\u0430\u0440\u0430\u0441\u0442\u044b\u0440\u044b\u043b\u0430\u0442\u044b\u043d \u0431\u043e\u043b\u0430\u0434\u044b. \u0415\u0433\u0435\u0440 \u043e\u0440\u043d\u0430\u0442\u044b\u043b\u0441\u0430, \u0431\u0430\u0440\u043b\u044b\u049b \u0431\u0430\u0441\u049b\u0430 IP-\u043c\u0435\u043a\u0435\u043d\u0436\u0430\u0439\u043b\u0430\u0440\u044b \u0441\u044b\u0440\u0442\u049b\u044b \u0436\u0435\u043b\u0456\u0434\u0435 \u049b\u0430\u0440\u0430\u0441\u0442\u044b\u0440\u044b\u043b\u0430\u0434\u044b \u0436\u04d9\u043d\u0435 \u0441\u044b\u0440\u0442\u049b\u044b \u04e9\u0442\u043a\u0456\u0437\u0443 \u043c\u04af\u043c\u043a\u0456\u043d\u0434\u0456\u0433\u0456\u043d \u0448\u0435\u043a\u0442\u0435\u0443\u043b\u0435\u0440\u0456\u043d\u0435 \u04b1\u0448\u044b\u0440\u0430\u0439\u0434\u044b. \u0415\u0433\u0435\u0440 \u0431\u043e\u0441 \u049b\u0430\u043b\u0434\u044b\u0440\u044b\u043b\u0441\u0430, \u0441\u0435\u0440\u0432\u0435\u0440\u0434\u0456\u04a3 \u0456\u0448\u043a\u0456 \u0436\u0435\u043b\u0456\u0441\u0456 \u0442\u0435\u043a \u0436\u0435\u0440\u0433\u0456\u043b\u0456\u043a\u0442\u0456 \u0436\u0435\u043b\u0456\u0434\u0435 \u0441\u0430\u043d\u0430\u043b\u0430\u0434\u044b." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/ko.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/ko.json index 3a9c2c721f..e54b404727 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/ko.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/ko.json @@ -1729,7 +1729,7 @@ "ButtonScanAllLibraries": "Scan All Libraries", "ScanLibrary": "Scan library", "EnableStreamLooping": "Auto-loop live streams", - "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested.", + "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested. Enabling this when not needed may cause problems.", "HttpsRequiresCert": "To require https for external connections, you will need to supply a trusted SSL certificate, such as Lets Encrypt.", "HeaderLatestDownloadedVideos": "Latest Downloaded Videos", "ServerRestartNeededAfterPluginInstall": "Emby Server will need to be restarted after installing a plugin.", @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/lt-LT.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/lt-LT.json index bf6a6e697f..82f0ab11df 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/lt-LT.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/lt-LT.json @@ -1729,7 +1729,7 @@ "ButtonScanAllLibraries": "Scan All Libraries", "ScanLibrary": "Scan library", "EnableStreamLooping": "Auto-loop live streams", - "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested.", + "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested. Enabling this when not needed may cause problems.", "HttpsRequiresCert": "To require https for external connections, you will need to supply a trusted SSL certificate, such as Lets Encrypt.", "HeaderLatestDownloadedVideos": "Latest Downloaded Videos", "ServerRestartNeededAfterPluginInstall": "Emby Server will need to be restarted after installing a plugin.", @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/ms.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/ms.json index ef59b7a50f..88a46d9ef2 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/ms.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/ms.json @@ -1729,7 +1729,7 @@ "ButtonScanAllLibraries": "Scan All Libraries", "ScanLibrary": "Scan library", "EnableStreamLooping": "Auto-loop live streams", - "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested.", + "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested. Enabling this when not needed may cause problems.", "HttpsRequiresCert": "To require https for external connections, you will need to supply a trusted SSL certificate, such as Lets Encrypt.", "HeaderLatestDownloadedVideos": "Latest Downloaded Videos", "ServerRestartNeededAfterPluginInstall": "Emby Server will need to be restarted after installing a plugin.", @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/nb.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/nb.json index 6c885cf341..56cf694613 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/nb.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/nb.json @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/nl.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/nl.json index dec0042f03..18c05afd1a 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/nl.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/nl.json @@ -1729,7 +1729,7 @@ "ButtonScanAllLibraries": "Scan alle bibliotheken", "ScanLibrary": "Scan bibliotheek", "EnableStreamLooping": "Auto-loop live streams", - "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested.", + "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested. Enabling this when not needed may cause problems.", "HttpsRequiresCert": "Om https te vereisen voor externe verbindingen zul je een vertrouw SSL-certificaat moeten voorzien zoals Lets Encrypt.", "HeaderLatestDownloadedVideos": "Laatst gedownloade video's.", "ServerRestartNeededAfterPluginInstall": "Emby server zal heropgestart moeten worden na het installeren van een plugin.", @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/pl.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/pl.json index 4088c30671..59dc04ebcc 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/pl.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/pl.json @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/pt-BR.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/pt-BR.json index c2a4a107bc..7932a26692 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/pt-BR.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/pt-BR.json @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/pt-PT.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/pt-PT.json index 9447171b59..c7a0e34a27 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/pt-PT.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/pt-PT.json @@ -1729,7 +1729,7 @@ "ButtonScanAllLibraries": "Analisar todas as Bibliotecas", "ScanLibrary": "Analisar biblioteca", "EnableStreamLooping": "Auto-loop live streams", - "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested.", + "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested. Enabling this when not needed may cause problems.", "HttpsRequiresCert": "To require https for external connections, you will need to supply a trusted SSL certificate, such as Lets Encrypt.", "HeaderLatestDownloadedVideos": "Latest Downloaded Videos", "ServerRestartNeededAfterPluginInstall": "Emby Server will need to be restarted after installing a plugin.", @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/ro.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/ro.json index 7f80fdcd75..98b034e408 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/ro.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/ro.json @@ -1729,7 +1729,7 @@ "ButtonScanAllLibraries": "Scan All Libraries", "ScanLibrary": "Scan library", "EnableStreamLooping": "Auto-loop live streams", - "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested.", + "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested. Enabling this when not needed may cause problems.", "HttpsRequiresCert": "To require https for external connections, you will need to supply a trusted SSL certificate, such as Lets Encrypt.", "HeaderLatestDownloadedVideos": "Latest Downloaded Videos", "ServerRestartNeededAfterPluginInstall": "Emby Server will need to be restarted after installing a plugin.", @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/ru.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/ru.json index 605543076a..0494d40f61 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/ru.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/ru.json @@ -53,7 +53,7 @@ "LabelSyncTempPath": "\u041f\u0443\u0442\u044c \u043a\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c\u0443 \u0444\u0430\u0439\u043b\u0443:", "LabelSyncTempPathHelp": "\u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u0440\u0430\u0431\u043e\u0447\u0443\u044e \u043f\u0430\u043f\u043a\u0443 \u0434\u043b\u044f \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438. \u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b, \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0435 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438, \u0431\u0443\u0434\u0443\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0442\u0430\u043c.", "LabelCustomCertificatePath": "\u041f\u0443\u0442\u044c \u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u043c\u0443 SSL-\u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0443:", - "LabelCustomCertificatePathHelp": "\u041f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0443 PKCS #12, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0435\u043c\u0443 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0438 \t\u0437\u0430\u043a\u0440\u044b\u0442\u044b\u0439 \u043a\u043b\u044e\u0447 \u0434\u043b\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 TLS \u043d\u0430 \u043f\u0440\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u043c \u0434\u043e\u043c\u0435\u043d\u0435.", + "LabelCustomCertificatePathHelp": "\u041f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0443 PKCS #12, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0435\u043c\u0443 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0438 \t\u0437\u0430\u043a\u0440\u044b\u0442\u044b\u0439 \u043a\u043b\u044e\u0447 \u0434\u043b\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 TLS \u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u043c \u0434\u043e\u043c\u0435\u043d\u0435.", "TitleNotifications": "\u0423\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f", "LabelEnterConnectUserName": "\u0418\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438\u043b\u0438 email:", "LabelEnterConnectUserNameHelp": "\u042d\u0442\u043e - \u0432\u0430\u0448\u0435 \u0438\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0432 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0443\u0447\u0451\u0442\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 Emby \u0438\u043b\u0438 \u0430\u0434\u0440\u0435\u0441 \u042d-\u043f\u043e\u0447\u0442\u044b.", @@ -1729,7 +1729,7 @@ "ButtonScanAllLibraries": "\u0421\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u043c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0438", "ScanLibrary": "\u0421\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0443", "EnableStreamLooping": "\u0410\u0432\u0442\u043e\u0446\u0438\u043a\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u0439", - "EnableStreamLoopingHelp": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u044d\u0442\u043e, \u0435\u0441\u043b\u0438 \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434 \u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e \u0438\u0445 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c.", + "EnableStreamLoopingHelp": "\u0412\u043a\u043b\u044e\u0447\u0430\u0439\u0442\u0435, \u0435\u0441\u043b\u0438 \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434 \u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e \u0438\u0445 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c. \u0412\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u044d\u0442\u043e\u0433\u043e \u0431\u0435\u0437 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0440\u043e\u0434\u0438\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b.", "HttpsRequiresCert": "\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u0442\u044c HTTPS \u0434\u043b\u044f \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439, \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0439 SSL-c\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 Lets Encrypt.", "HeaderLatestDownloadedVideos": "\u041d\u043e\u0432\u0435\u0439\u0448\u0438\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0435 \u0432\u0438\u0434\u0435\u043e", "ServerRestartNeededAfterPluginInstall": "\u041f\u043e\u0441\u043b\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c Emby Server.", @@ -1764,6 +1764,7 @@ "LabelUserAgent": "\u0410\u0433\u0435\u043d\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f:", "UserAgentHelp": "\u041f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c HTTP-\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c-\u0430\u0433\u0435\u043d\u0442\u0430.", "HeaderConfigureRemoteAccess": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "\u0414\u043e\u043c\u0430\u0448\u043d\u0438\u0435 \u0441\u0435\u0442\u0438:", - "LanNetworksHelp": "\u0421\u043f\u0438\u0441\u043e\u043a \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0437\u0430\u043f\u044f\u0442\u044b\u043c\u0438 IP-\u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u0438\u043b\u0438 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 IP\/netmask \u0434\u043b\u044f \u0441\u0435\u0442\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0441\u0447\u0438\u0442\u0430\u0442\u044c\u0441\u044f \u043d\u0430\u0445\u043e\u0434\u044f\u0449\u0438\u043c\u0438\u0441\u044f \u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438, \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043d\u0430\u044f \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c. \u0415\u0441\u043b\u0438 \u0442\u0430\u043a \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e, \u0442\u043e \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 IP-\u0430\u0434\u0440\u0435\u0441\u0430 \u0431\u0443\u0434\u0443\u0442 \u0441\u0447\u0438\u0442\u0430\u0442\u044c\u0441\u044f \u043d\u0430\u0445\u043e\u0434\u044f\u0449\u0438\u043c\u0438\u0441\u044f \u0432\u043e \u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u0441\u0435\u0442\u0438 \u0438 \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u0434\u043b\u0435\u0436\u0435\u0442\u044c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\u043c \u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u043f\u043e\u043b\u043e\u0441\u044b \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u043d\u0438\u044f. \u0415\u0441\u043b\u0438 \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u0443\u0441\u0442\u044b\u043c, \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0434\u0441\u0435\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438." + "LanNetworksHelp": "\u0421\u043f\u0438\u0441\u043e\u043a \u0440\u0430\u0437\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u0437\u0430\u043f\u044f\u0442\u044b\u043c\u0438 IP-\u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u0438\u043b\u0438 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 IP\/netmask \u0434\u043b\u044f \u0441\u0435\u0442\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0441\u0447\u0438\u0442\u0430\u0442\u044c\u0441\u044f \u043d\u0430\u0445\u043e\u0434\u044f\u0449\u0438\u043c\u0438\u0441\u044f \u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438, \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043d\u0430\u044f \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c. \u0415\u0441\u043b\u0438 \u0442\u0430\u043a \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e, \u0442\u043e \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 IP-\u0430\u0434\u0440\u0435\u0441\u0430 \u0431\u0443\u0434\u0443\u0442 \u0441\u0447\u0438\u0442\u0430\u0442\u044c\u0441\u044f \u043d\u0430\u0445\u043e\u0434\u044f\u0449\u0438\u043c\u0438\u0441\u044f \u0432\u043e \u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u0441\u0435\u0442\u0438 \u0438 \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u0434\u043b\u0435\u0436\u0430\u0442\u044c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\u043c \u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u043f\u043e\u043b\u043e\u0441\u044b \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u043d\u0438\u044f. \u0415\u0441\u043b\u0438 \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u0443\u0441\u0442\u044b\u043c, \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0434\u0441\u0435\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/sk.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/sk.json index 7068bf6b03..25947ef3f9 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/sk.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/sk.json @@ -1729,7 +1729,7 @@ "ButtonScanAllLibraries": "Preh\u013eada\u0165 v\u0161etky kni\u017enice", "ScanLibrary": "Scan library", "EnableStreamLooping": "Auto-loop live streams", - "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested.", + "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested. Enabling this when not needed may cause problems.", "HttpsRequiresCert": "To require https for external connections, you will need to supply a trusted SSL certificate, such as Lets Encrypt.", "HeaderLatestDownloadedVideos": "Naposledy prebran\u00e9 vide\u00e1", "ServerRestartNeededAfterPluginInstall": "Po in\u0161tal\u00e1cii roz\u0161\u00edrenia bude potrebn\u00fd re\u0161tart Emby servera.", @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Nastavi\u0165 vzdialen\u00fd pr\u00edstup", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/sl-SI.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/sl-SI.json index 914b187dc4..7dbfb6784f 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/sl-SI.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/sl-SI.json @@ -1729,7 +1729,7 @@ "ButtonScanAllLibraries": "Scan All Libraries", "ScanLibrary": "Scan library", "EnableStreamLooping": "Auto-loop live streams", - "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested.", + "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested. Enabling this when not needed may cause problems.", "HttpsRequiresCert": "To require https for external connections, you will need to supply a trusted SSL certificate, such as Lets Encrypt.", "HeaderLatestDownloadedVideos": "Latest Downloaded Videos", "ServerRestartNeededAfterPluginInstall": "Emby Server will need to be restarted after installing a plugin.", @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/sv.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/sv.json index 1aced14781..92b216adbe 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/sv.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/sv.json @@ -1729,7 +1729,7 @@ "ButtonScanAllLibraries": "Scanna alla bibliotek", "ScanLibrary": "Scanna bibliotek", "EnableStreamLooping": "Auto-loop live streams", - "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested.", + "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested. Enabling this when not needed may cause problems.", "HttpsRequiresCert": "To require https for external connections, you will need to supply a trusted SSL certificate, such as Lets Encrypt.", "HeaderLatestDownloadedVideos": "Senast h\u00e4mtade videos", "ServerRestartNeededAfterPluginInstall": "Emby-servern beh\u00f6ver startas om efter ett till\u00e4gg installeras.", @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/tr.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/tr.json index c6908be2f6..3b0044641c 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/tr.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/tr.json @@ -1729,7 +1729,7 @@ "ButtonScanAllLibraries": "Scan All Libraries", "ScanLibrary": "Scan library", "EnableStreamLooping": "Auto-loop live streams", - "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested.", + "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested. Enabling this when not needed may cause problems.", "HttpsRequiresCert": "To require https for external connections, you will need to supply a trusted SSL certificate, such as Lets Encrypt.", "HeaderLatestDownloadedVideos": "Latest Downloaded Videos", "ServerRestartNeededAfterPluginInstall": "Emby Server will need to be restarted after installing a plugin.", @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/uk.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/uk.json index 59f39c78f1..0b68423bdb 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/uk.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/uk.json @@ -1729,7 +1729,7 @@ "ButtonScanAllLibraries": "Scan All Libraries", "ScanLibrary": "Scan library", "EnableStreamLooping": "Auto-loop live streams", - "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested.", + "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested. Enabling this when not needed may cause problems.", "HttpsRequiresCert": "To require https for external connections, you will need to supply a trusted SSL certificate, such as Lets Encrypt.", "HeaderLatestDownloadedVideos": "Latest Downloaded Videos", "ServerRestartNeededAfterPluginInstall": "Emby Server will need to be restarted after installing a plugin.", @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/vi.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/vi.json index e08fc8926a..9d19d93769 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/vi.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/vi.json @@ -1729,7 +1729,7 @@ "ButtonScanAllLibraries": "Scan All Libraries", "ScanLibrary": "Scan library", "EnableStreamLooping": "Auto-loop live streams", - "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested.", + "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested. Enabling this when not needed may cause problems.", "HttpsRequiresCert": "To require https for external connections, you will need to supply a trusted SSL certificate, such as Lets Encrypt.", "HeaderLatestDownloadedVideos": "Latest Downloaded Videos", "ServerRestartNeededAfterPluginInstall": "Emby Server will need to be restarted after installing a plugin.", @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/zh-CN.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/zh-CN.json index 5ea93b7ff0..d4d58ed501 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/zh-CN.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/zh-CN.json @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/zh-HK.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/zh-HK.json index 0db4e48edb..e22d3bc98a 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/zh-HK.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/zh-HK.json @@ -1729,7 +1729,7 @@ "ButtonScanAllLibraries": "Scan All Libraries", "ScanLibrary": "Scan library", "EnableStreamLooping": "Auto-loop live streams", - "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested.", + "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested. Enabling this when not needed may cause problems.", "HttpsRequiresCert": "To require https for external connections, you will need to supply a trusted SSL certificate, such as Lets Encrypt.", "HeaderLatestDownloadedVideos": "Latest Downloaded Videos", "ServerRestartNeededAfterPluginInstall": "Emby Server will need to be restarted after installing a plugin.", @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/zh-TW.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/zh-TW.json index 0dbf2224da..36d7938ff0 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/zh-TW.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/zh-TW.json @@ -1729,7 +1729,7 @@ "ButtonScanAllLibraries": "Scan All Libraries", "ScanLibrary": "Scan library", "EnableStreamLooping": "Auto-loop live streams", - "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested.", + "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested. Enabling this when not needed may cause problems.", "HttpsRequiresCert": "To require https for external connections, you will need to supply a trusted SSL certificate, such as Lets Encrypt.", "HeaderLatestDownloadedVideos": "Latest Downloaded Videos", "ServerRestartNeededAfterPluginInstall": "Emby Server will need to be restarted after installing a plugin.", @@ -1764,6 +1764,7 @@ "LabelUserAgent": "User agent:", "UserAgentHelp": "Supply a custom user-agent http header, if necessary.", "HeaderConfigureRemoteAccess": "Configure Remote Access", + "LearnHowToCreateSynologyShares": "Learn how to share folders in Synology.", "LabelLanNetworks": "LAN networks:", "LanNetworksHelp": "Comma separated list of IP addresses or IP\/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network." } \ No newline at end of file