1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

update video osd

This commit is contained in:
Luke Pulverenti 2017-09-19 12:14:15 -04:00
parent 25d8cf9179
commit f516b8bcc1
10 changed files with 22 additions and 58 deletions

View file

@ -1 +1 @@
define(["scroller","dom","layoutManager","inputManager","focusManager","registerElement"],function(scroller,dom,layoutManager,inputManager,focusManager){"use strict";function initCenterFocus(elem,scrollerInstance){dom.addEventListener(elem,"focus",function(e){var focused=focusManager.focusableParent(e.target);focused&&scrollerInstance.toCenter(focused)},{capture:!0,passive:!0})}function onInputCommand(e){var cmd=e.detail.command;"home"===cmd?(focusManager.focusFirst(this,"."+this.getAttribute("data-navcommands")),e.preventDefault(),e.stopPropagation()):"end"===cmd?(focusManager.focusLast(this,"."+this.getAttribute("data-navcommands")),e.preventDefault(),e.stopPropagation()):"pageup"===cmd?(focusManager.moveFocus(e.target,this,"."+this.getAttribute("data-navcommands"),-12),e.preventDefault(),e.stopPropagation()):"pagedown"===cmd&&(focusManager.moveFocus(e.target,this,"."+this.getAttribute("data-navcommands"),12),e.preventDefault(),e.stopPropagation())}function initHeadroom(elem){require(["headroom"],function(Headroom){var headroom=new Headroom([],{scroller:elem});headroom.init(),headroom.add(document.querySelector(".skinHeader")),elem.headroom=headroom})}function loadScrollButtons(scroller){require(["emby-scrollbuttons"],function(){scroller.insertAdjacentHTML("beforeend",'<div is="emby-scrollbuttons"></div>')})}var ScrollerProtoType=Object.create(HTMLDivElement.prototype);ScrollerProtoType.createdCallback=function(){this.classList.add("emby-scroller")},ScrollerProtoType.scrollToBeginning=function(){this.scroller&&this.scroller.slideTo(0,!0)},ScrollerProtoType.toStart=function(elem,immediate){this.scroller&&this.scroller.toStart(elem,immediate)},ScrollerProtoType.toCenter=function(elem,immediate){this.scroller&&this.scroller.toCenter(elem,immediate)},ScrollerProtoType.scrollToPosition=function(pos,immediate){this.scroller&&this.scroller.slideTo(pos,immediate)},ScrollerProtoType.getScrollPosition=function(){if(this.scroller)return this.scroller.getScrollPosition()},ScrollerProtoType.getScrollSize=function(){if(this.scroller)return this.scroller.getScrollSize()},ScrollerProtoType.getScrollEventName=function(){if(this.scroller)return this.scroller.getScrollEventName()},ScrollerProtoType.getScrollSlider=function(){if(this.scroller)return this.scroller.getScrollSlider()},ScrollerProtoType.addScrollEventListener=function(fn,options){this.scroller&&dom.addEventListener(this.scroller.getScrollFrame(),this.scroller.getScrollEventName(),fn,options)},ScrollerProtoType.removeScrollEventListener=function(fn,options){this.scroller&&dom.removeEventListener(this.scroller.getScrollFrame(),this.scroller.getScrollEventName(),fn,options)},ScrollerProtoType.attachedCallback=function(){this.getAttribute("data-navcommands")&&inputManager.on(this,onInputCommand);var horizontal="false"!==this.getAttribute("data-horizontal"),slider=this.querySelector(".scrollSlider");horizontal&&(slider.style["white-space"]="nowrap");var bindHeader="true"===this.getAttribute("data-bindheader"),scrollFrame=this.querySelector(".scrollerframe")||this,enableScrollButtons=layoutManager.desktop&&horizontal&&"false"!==this.getAttribute("data-scrollbuttons")&&scrollFrame!==this,options={horizontal:horizontal,mouseDragging:1,mouseWheel:"false"!==this.getAttribute("data-mousewheel"),touchDragging:1,slidee:slider,scrollBy:200,speed:horizontal?270:240,elasticBounds:1,dragHandle:1,scrollWidth:"auto"===this.getAttribute("data-scrollsize")?null:5e6,autoImmediate:!0,skipSlideToWhenVisible:"true"===this.getAttribute("data-skipfocuswhenvisible"),dispatchScrollEvent:enableScrollButtons||bindHeader||"true"===this.getAttribute("data-scrollevent"),hideScrollbar:enableScrollButtons,allowNativeSmoothScroll:"true"===this.getAttribute("data-allownativesmoothscroll"),forceHideScrollbars:enableScrollButtons};this.scroller=new scroller(scrollFrame,options),this.scroller.init(),layoutManager.tv&&this.getAttribute("data-centerfocus")&&initCenterFocus(this,this.scroller),bindHeader&&initHeadroom(this),enableScrollButtons&&loadScrollButtons(this)},ScrollerProtoType.detachedCallback=function(){this.getAttribute("data-navcommands")&&inputManager.off(this,onInputCommand);var headroom=this.headroom;headroom&&(headroom.destroy(),this.headroom=null);var scrollerInstance=this.scroller;scrollerInstance&&(scrollerInstance.destroy(),this.scroller=null)},document.registerElement("emby-scroller",{prototype:ScrollerProtoType,extends:"div"})}); define(["scroller","dom","layoutManager","inputManager","focusManager","registerElement"],function(scroller,dom,layoutManager,inputManager,focusManager){"use strict";function initCenterFocus(elem,scrollerInstance){dom.addEventListener(elem,"focus",function(e){var focused=focusManager.focusableParent(e.target);focused&&scrollerInstance.toCenter(focused)},{capture:!0,passive:!0})}function onInputCommand(e){var cmd=e.detail.command;"home"===cmd?(focusManager.focusFirst(this,"."+this.getAttribute("data-navcommands")),e.preventDefault(),e.stopPropagation()):"end"===cmd?(focusManager.focusLast(this,"."+this.getAttribute("data-navcommands")),e.preventDefault(),e.stopPropagation()):"pageup"===cmd?(focusManager.moveFocus(e.target,this,"."+this.getAttribute("data-navcommands"),-12),e.preventDefault(),e.stopPropagation()):"pagedown"===cmd&&(focusManager.moveFocus(e.target,this,"."+this.getAttribute("data-navcommands"),12),e.preventDefault(),e.stopPropagation())}function initHeadroom(elem){require(["headroom"],function(Headroom){var headroom=new Headroom([],{scroller:elem});headroom.init(),headroom.add(document.querySelector(".skinHeader")),elem.headroom=headroom})}function loadScrollButtons(scroller){require(["emby-scrollbuttons"],function(){scroller.insertAdjacentHTML("beforeend",'<div is="emby-scrollbuttons"></div>')})}var ScrollerProtoType=Object.create(HTMLDivElement.prototype);ScrollerProtoType.createdCallback=function(){this.classList.add("emby-scroller")},ScrollerProtoType.scrollToBeginning=function(){this.scroller&&this.scroller.slideTo(0,!0)},ScrollerProtoType.toStart=function(elem,immediate){this.scroller&&this.scroller.toStart(elem,immediate)},ScrollerProtoType.toCenter=function(elem,immediate){this.scroller&&this.scroller.toCenter(elem,immediate)},ScrollerProtoType.scrollToPosition=function(pos,immediate){this.scroller&&this.scroller.slideTo(pos,immediate)},ScrollerProtoType.getScrollPosition=function(){if(this.scroller)return this.scroller.getScrollPosition()},ScrollerProtoType.getScrollSize=function(){if(this.scroller)return this.scroller.getScrollSize()},ScrollerProtoType.getScrollEventName=function(){if(this.scroller)return this.scroller.getScrollEventName()},ScrollerProtoType.getScrollSlider=function(){if(this.scroller)return this.scroller.getScrollSlider()},ScrollerProtoType.addScrollEventListener=function(fn,options){this.scroller&&dom.addEventListener(this.scroller.getScrollFrame(),this.scroller.getScrollEventName(),fn,options)},ScrollerProtoType.removeScrollEventListener=function(fn,options){this.scroller&&dom.removeEventListener(this.scroller.getScrollFrame(),this.scroller.getScrollEventName(),fn,options)},ScrollerProtoType.attachedCallback=function(){this.getAttribute("data-navcommands")&&inputManager.on(this,onInputCommand);var horizontal="false"!==this.getAttribute("data-horizontal"),slider=this.querySelector(".scrollSlider");horizontal&&(slider.style["white-space"]="nowrap");var bindHeader="true"===this.getAttribute("data-bindheader"),scrollFrame=this.querySelector(".scrollerframe")||this,enableScrollButtons=layoutManager.desktop&&horizontal&&"false"!==this.getAttribute("data-scrollbuttons")&&scrollFrame!==this,options={horizontal:horizontal,mouseDragging:1,mouseWheel:"false"!==this.getAttribute("data-mousewheel"),touchDragging:1,slidee:slider,scrollBy:200,speed:horizontal?270:240,elasticBounds:1,dragHandle:1,scrollWidth:"auto"===this.getAttribute("data-scrollsize")?null:5e6,autoImmediate:!0,skipSlideToWhenVisible:"true"===this.getAttribute("data-skipfocuswhenvisible"),dispatchScrollEvent:enableScrollButtons||bindHeader||"true"===this.getAttribute("data-scrollevent"),hideScrollbar:enableScrollButtons||"true"===this.getAttribute("data-hidescrollbar"),allowNativeSmoothScroll:"true"===this.getAttribute("data-allownativesmoothscroll"),forceHideScrollbars:enableScrollButtons};this.scroller=new scroller(scrollFrame,options),this.scroller.init(),layoutManager.tv&&this.getAttribute("data-centerfocus")&&initCenterFocus(this,this.scroller),bindHeader&&initHeadroom(this),enableScrollButtons&&loadScrollButtons(this)},ScrollerProtoType.detachedCallback=function(){this.getAttribute("data-navcommands")&&inputManager.off(this,onInputCommand);var headroom=this.headroom;headroom&&(headroom.destroy(),this.headroom=null);var scrollerInstance=this.scroller;scrollerInstance&&(scrollerInstance.destroy(),this.scroller=null)},document.registerElement("emby-scroller",{prototype:ScrollerProtoType,extends:"div"})});

File diff suppressed because one or more lines are too long

View file

@ -382,7 +382,7 @@
"Fill": "Rozci\u0105gnij", "Fill": "Rozci\u0105gnij",
"BestFit": "Najlepsze dopasowane", "BestFit": "Najlepsze dopasowane",
"MessageNoServersAvailableToConnect": "Brak serwer\u00f3w dost\u0119pnych do po\u0142\u0105czenia. Je\u015bli zosta\u0142e\u015b zaproszony do korzystania z serwera, upewnij si\u0119, \u017ce je zaakceptowa\u0142e\u015b poni\u017cej lub za naciskaj\u0105c na \u0142\u0105cze w wiadomo\u015bci pocztowej.", "MessageNoServersAvailableToConnect": "Brak serwer\u00f3w dost\u0119pnych do po\u0142\u0105czenia. Je\u015bli zosta\u0142e\u015b zaproszony do korzystania z serwera, upewnij si\u0119, \u017ce je zaakceptowa\u0142e\u015b poni\u017cej lub za naciskaj\u0105c na \u0142\u0105cze w wiadomo\u015bci pocztowej.",
"MessagePlayAccessRestricted": "Odtwarzanie tej zawarto\u015bci jest aktualnie ograniczone. Skontaktuj si\u0119 z administratorem serwera Emby, aby uzyska\u0107 dodatkowe informacje.", "MessagePlayAccessRestricted": "Odtwarzanie tej zawarto\u015bci jest aktualnie ograniczone. Skontaktuj si\u0119 z administratorem serwera, aby uzyska\u0107 dodatkowe informacje.",
"Accept": "Akceptuj", "Accept": "Akceptuj",
"Reject": "Odrzu\u0107", "Reject": "Odrzu\u0107",
"Connect": "Po\u0142acz", "Connect": "Po\u0142acz",
@ -411,8 +411,8 @@
"HideWatchedContentFromLatestMedia": "Ukrywaj obejrzan\u0105 zawarto\u015b\u0107 na listach ostatnio dodanych", "HideWatchedContentFromLatestMedia": "Ukrywaj obejrzan\u0105 zawarto\u015b\u0107 na listach ostatnio dodanych",
"HeaderOnNow": "Teraz", "HeaderOnNow": "Teraz",
"HeaderPlaybackError": "B\u0142\u0105d Odtwarzania", "HeaderPlaybackError": "B\u0142\u0105d Odtwarzania",
"PlaybackErrorNotAllowed": "Nie masz aktualnie uprawnie\u0144 do odtwarzania tej zawarto\u015bci. Skontaktuj si\u0119 z administratorem serwera Emby, aby uzyska\u0107 dodatkowe informacje.", "PlaybackErrorNotAllowed": "Brak uprawnie\u0144 do odtwarzania tej zawarto\u015bci. Skontaktuj si\u0119 z administratorem serwera, aby uzyska\u0107 dodatkowe informacje.",
"PlaybackErrorNoCompatibleStream": "No compatible streams are currently available. Please try again later or contact your system administrator for details.", "PlaybackErrorNoCompatibleStream": "Brak kompatybilnych transmisji. Spr\u00f3buj ponownie p\u00f3\u017aniej lub skontaktuj si\u0119 z administratorem serwera, aby uzyska\u0107 dodatkowe informacje.",
"PlaybackErrorPlaceHolder": "Prosz\u0119 w\u0142o\u017cy\u0107 dysk, aby odtwarza\u0107 to wideo.", "PlaybackErrorPlaceHolder": "Prosz\u0119 w\u0142o\u017cy\u0107 dysk, aby odtwarza\u0107 to wideo.",
"Guide": "Przewodnik", "Guide": "Przewodnik",
"Suggestions": "Polecane", "Suggestions": "Polecane",
@ -446,7 +446,7 @@
"DirectPlaying": "Odtwarzanie bezpo\u015brednie", "DirectPlaying": "Odtwarzanie bezpo\u015brednie",
"DirectStreaming": "Transmisja bezpo\u015brednia", "DirectStreaming": "Transmisja bezpo\u015brednia",
"Transcoding": "Transkodowanie", "Transcoding": "Transkodowanie",
"ContainerBitrateExceedsLimit": "Media bitrate exceeds limit.", "ContainerBitrateExceedsLimit": "Przep\u0142ywno\u015b\u0107 medi\u00f3w przekracza limit.",
"VideoCodecNotSupported": "Nieobs\u0142ugiwany kodek wideo", "VideoCodecNotSupported": "Nieobs\u0142ugiwany kodek wideo",
"AudioCodecNotSupported": "Nieobs\u0142ugiwany kodek d\u017awi\u0119ku", "AudioCodecNotSupported": "Nieobs\u0142ugiwany kodek d\u017awi\u0119ku",
"SubtitleCodecNotSupported": "Nieobs\u0142ugiwany format napis\u00f3w", "SubtitleCodecNotSupported": "Nieobs\u0142ugiwany format napis\u00f3w",
@ -496,7 +496,7 @@
"LabelPreferredSubtitleLanguage": "Preferowany j\u0119zyk napis\u00f3w:", "LabelPreferredSubtitleLanguage": "Preferowany j\u0119zyk napis\u00f3w:",
"LabelTextSize": "Rozmiar tekstu:", "LabelTextSize": "Rozmiar tekstu:",
"TheseSettingsAffectSubtitlesOnThisDevice": "Te ustawienia dotycz\u0105 napis\u00f3w na tym urz\u0105dzeniu", "TheseSettingsAffectSubtitlesOnThisDevice": "Te ustawienia dotycz\u0105 napis\u00f3w na tym urz\u0105dzeniu",
"LabelDropShadow": "Drop shadow:", "LabelDropShadow": "Cie\u0144:",
"LabelTextBackgroundColor": "Kolor t\u0142a tekstu:", "LabelTextBackgroundColor": "Kolor t\u0142a tekstu:",
"LabelWindowBackgroundColor": "Kolor t\u0142a tekstu:", "LabelWindowBackgroundColor": "Kolor t\u0142a tekstu:",
"LabelFont": "Czcionka:", "LabelFont": "Czcionka:",
@ -504,7 +504,7 @@
"Raised": "Raised", "Raised": "Raised",
"Depressed": "Depressed", "Depressed": "Depressed",
"Uniform": "Uniform", "Uniform": "Uniform",
"DropShadow": "Drop shadow", "DropShadow": "Cie\u0144",
"SmallCaps": "Small caps", "SmallCaps": "Small caps",
"SubtitleAppearanceSettingsDisclaimer": "These settings will not apply to graphical subtitles (PGS, DVD, etc), or subtitles that have their own styles embedded (ASS\/SSA).", "SubtitleAppearanceSettingsDisclaimer": "These settings will not apply to graphical subtitles (PGS, DVD, etc), or subtitles that have their own styles embedded (ASS\/SSA).",
"LabelBurnSubtitles": "Wypalaj napisy:", "LabelBurnSubtitles": "Wypalaj napisy:",
@ -521,12 +521,12 @@
"HeaderNextVideoPlayingInValue": "Nast\u0119pne wideo za {0}", "HeaderNextVideoPlayingInValue": "Nast\u0119pne wideo za {0}",
"HeaderNextEpisodePlayingInValue": "Nast\u0119pne odcinek za {0}", "HeaderNextEpisodePlayingInValue": "Nast\u0119pne odcinek za {0}",
"HeaderSecondsValue": "{0} sekund", "HeaderSecondsValue": "{0} sekund",
"AudioBitDepthNotSupported": "Audio bit depth not supported", "AudioBitDepthNotSupported": "Nieobs\u0142ugiwana g\u0142\u0119bia bitowa d\u017awi\u0119ku",
"VideoProfileNotSupported": "Video profile not supported", "VideoProfileNotSupported": "Nieobs\u0142ugiwany profil wideo",
"VideoFramerateNotSupported": "Video framerate not supported", "VideoFramerateNotSupported": "Nieobs\u0142ugiwana cz\u0119stotliwo\u015b\u0107 od\u015bwie\u017cania wideo",
"VideoBitDepthNotSupported": "Video bit depth not supported", "VideoBitDepthNotSupported": "Nieobs\u0142ugiwana g\u0142\u0119bia bitowa wideo",
"RefFramesNotSupported": "Number of video reference frames not supported", "RefFramesNotSupported": "Nieobs\u0142ugiwana liczba klatek referencyjnych wideo",
"ErrorConnectServerUnreachable": "There was an error performing the requested operation. Your server is unable to contact our Emby Connect Server at {0}. Please ensure your server has an active internet connection and that the communications are being allowed by any firewall or security software you have installed.", "ErrorConnectServerUnreachable": "There was an error performing the requested operation. Your server is unable to contact our Emby Connect Server at {0}. Please ensure your server has an active internet connection and that the communications are being allowed by any firewall or security software you have installed.",
"StopRecording": "Stop recording", "StopRecording": "Zatrzymaj nagrywanie",
"ManageRecording": "Manage recording" "ManageRecording": "Zarz\u0105dzaj nagrywaniem"
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -3,7 +3,7 @@
<form class="displayPreferencesForm userProfileSettingsForm" style="margin: 0 auto;"> <form class="displayPreferencesForm userProfileSettingsForm" style="margin: 0 auto;">
<div class="detailSection"> <div class="detailSection">
<h1> <h1>
${Themes} ${HeaderDisplay}
</h1> </h1>
<br /> <br />
<div class="selectContainer"> <div class="selectContainer">
@ -18,10 +18,6 @@
</div> </div>
</div> </div>
<div class="detailSection languageSection hide"> <div class="detailSection languageSection hide">
<h1>
${HeaderLanguage}
</h1>
<br />
<div class="selectContainer"> <div class="selectContainer">
<select id="selectLanguage" is="emby-select" label="${LabelPreferredDisplayLanguage}"> <select id="selectLanguage" is="emby-select" label="${LabelPreferredDisplayLanguage}">
<option value="">${OptionAuto}</option> <option value="">${OptionAuto}</option>
@ -68,10 +64,6 @@
</div> </div>
</div> </div>
<div class="detailSection"> <div class="detailSection">
<h1>
${HeaderNavigation}
</h1>
<br />
<div class="fldEnableBackdrops selectContainer"> <div class="fldEnableBackdrops selectContainer">
<select id="selectBackdrop" is="emby-select" label="${LabelEnableBackdrops}"> <select id="selectBackdrop" is="emby-select" label="${LabelEnableBackdrops}">
<option value="1">${OptionYes}</option> <option value="1">${OptionYes}</option>
@ -88,10 +80,6 @@
</div> </div>
</div> </div>
<div class="detailSection"> <div class="detailSection">
<h1>
${HeaderDisplay}
</h1>
<br />
<div class="checkboxContainer checkboxContainer-withDescription"> <div class="checkboxContainer checkboxContainer-withDescription">
<label> <label>
<input type="checkbox" is="emby-checkbox" class="chkDisplayMissingEpisodes" /> <input type="checkbox" is="emby-checkbox" class="chkDisplayMissingEpisodes" />

View file

@ -18,30 +18,6 @@
<span>${LabelPlayDefaultAudioTrack}</span> <span>${LabelPlayDefaultAudioTrack}</span>
</label> </label>
</div> </div>
<div class="detailSection">
<h1>
${HeaderSubtitleSettings}
</h1>
<br />
<div class="selectContainer">
<select is="emby-select" id="selectSubtitleLanguage" label="${LabelSubtitleLanguagePreference}"></select>
</div>
<div class="selectContainer">
<select is="emby-select" id="selectSubtitlePlaybackMode" label="${LabelSubtitlePlaybackMode}">
<option value="Default">${OptionDefaultSubtitles}</option>
<option value="Smart">${OptionSmartSubtitles}</option>
<option value="OnlyForced">${OptionOnlyForcedSubtitles}</option>
<option value="Always">${OptionAlwaysPlaySubtitles}</option>
<option value="None">${OptionNoSubtitles}</option>
</select>
<div class="fieldDescription subtitlesDefaultHelp subtitlesHelp hide">${OptionDefaultSubtitlesHelp}</div>
<div class="fieldDescription subtitlesSmartHelp subtitlesHelp hide">${OptionSmartSubtitlesHelp}</div>
<div class="fieldDescription subtitlesAlwaysHelp subtitlesHelp hide">${OptionAlwaysPlaySubtitlesHelp}</div>
<div class="fieldDescription subtitlesOnlyForcedHelp subtitlesHelp hide">${OptionOnlyForcedSubtitlesHelp}</div>
<div class="fieldDescription subtitlesNoneHelp subtitlesHelp hide">${OptionNoSubtitlesHelp}</div>
</div>
</div>
<div class="detailSection cinemaModeOptions hide"> <div class="detailSection cinemaModeOptions hide">
<h1> <h1>
${HeaderCinemaMode} ${HeaderCinemaMode}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -658,9 +658,9 @@
"HeaderProfileServerSettingsHelp": "These values control how Emby Server will present itself to the device.", "HeaderProfileServerSettingsHelp": "These values control how Emby Server will present itself to the device.",
"LabelMaxBitrate": "Max bitrate:", "LabelMaxBitrate": "Max bitrate:",
"LabelMaxBitrateHelp": "Specify a max bitrate in bandwidth constrained environments, or if the device imposes it's own limit.", "LabelMaxBitrateHelp": "Specify a max bitrate in bandwidth constrained environments, or if the device imposes it's own limit.",
"LabelMaxStreamingBitrate": "Max streaming bitrate:", "LabelMaxStreamingBitrate": "Max streaming quality:",
"LabelMaxStreamingBitrateHelp": "Specify a max bitrate when streaming.", "LabelMaxStreamingBitrateHelp": "Specify a max bitrate when streaming.",
"LabelMaxChromecastBitrate": "Max Chromecast bitrate:", "LabelMaxChromecastBitrate": "Chromecast streaming quality:",
"LabelMusicStaticBitrate": "Music sync bitrate:", "LabelMusicStaticBitrate": "Music sync bitrate:",
"LabelMusicStaticBitrateHelp": "Specify a max bitrate when syncing music", "LabelMusicStaticBitrateHelp": "Specify a max bitrate when syncing music",
"LabelMusicStreamingTranscodingBitrate": "Music transcoding bitrate:", "LabelMusicStreamingTranscodingBitrate": "Music transcoding bitrate:",