diff --git a/Emby.Drawing.Skia/Emby.Drawing.Skia.csproj b/Emby.Drawing.Skia/Emby.Drawing.Skia.csproj index f2b32d52cb..6024c3d2c0 100644 --- a/Emby.Drawing.Skia/Emby.Drawing.Skia.csproj +++ b/Emby.Drawing.Skia/Emby.Drawing.Skia.csproj @@ -63,8 +63,8 @@ - - ..\packages\SkiaSharp.1.58.1\lib\portable-net45+win8+wpa81+wp8\SkiaSharp.dll + + ..\packages\SkiaSharp.1.59.2\lib\portable-net45+win8+wpa81+wp8\SkiaSharp.dll diff --git a/Emby.Drawing.Skia/SkiaEncoder.cs b/Emby.Drawing.Skia/SkiaEncoder.cs index 7469d167e1..a89e1f2db8 100644 --- a/Emby.Drawing.Skia/SkiaEncoder.cs +++ b/Emby.Drawing.Skia/SkiaEncoder.cs @@ -10,22 +10,27 @@ using System.Linq; using System.Reflection; using System.Threading.Tasks; +using MediaBrowser.Controller.Extensions; +using System.Globalization; +using MediaBrowser.Model.Globalization; namespace Emby.Drawing.Skia { public class SkiaEncoder : IImageEncoder { private readonly ILogger _logger; - private readonly IApplicationPaths _appPaths; + private static IApplicationPaths _appPaths; private readonly Func _httpClientFactory; private readonly IFileSystem _fileSystem; + private static ILocalizationManager _localizationManager; - public SkiaEncoder(ILogger logger, IApplicationPaths appPaths, Func httpClientFactory, IFileSystem fileSystem) + public SkiaEncoder(ILogger logger, IApplicationPaths appPaths, Func httpClientFactory, IFileSystem fileSystem, ILocalizationManager localizationManager) { _logger = logger; _appPaths = appPaths; _httpClientFactory = httpClientFactory; _fileSystem = fileSystem; + _localizationManager = localizationManager; LogVersion(); } @@ -190,14 +195,53 @@ public ImageSize GetImageSize(string path) } } + private static bool HasDiacritics(string text) + { + return !String.Equals(text, text.RemoveDiacritics(), StringComparison.Ordinal); + } + + private static bool RequiresSpecialCharacterHack(string path) + { + if (_localizationManager.HasUnicodeCategory(path, UnicodeCategory.OtherLetter)) + { + return true; + } + + if (HasDiacritics(path)) + { + return true; + } + + return false; + } + + private static string NormalizePath(string path, IFileSystem fileSystem) + { + if (!RequiresSpecialCharacterHack(path)) + { + return path; + } + + var tempPath = Path.Combine(_appPaths.TempDirectory, Guid.NewGuid() + Path.GetExtension(path) ?? string.Empty); + + fileSystem.CopyFile(path, tempPath, true); + + return tempPath; + } + private static string[] TransparentImageTypes = new string[] { ".png", ".gif", ".webp" }; - internal static SKBitmap Decode(string path, bool forceCleanBitmap, out SKCodecOrigin origin) + internal static SKBitmap Decode(string path, bool forceCleanBitmap, IFileSystem fileSystem, out SKCodecOrigin origin) { + if (!fileSystem.FileExists(path)) + { + throw new FileNotFoundException("File not found", path); + } + var requiresTransparencyHack = TransparentImageTypes.Contains(Path.GetExtension(path) ?? string.Empty); if (requiresTransparencyHack || forceCleanBitmap) { - using (var stream = new SKFileStream(path)) + using (var stream = new SKFileStream(NormalizePath(path, fileSystem))) { using (var codec = SKCodec.Create(stream)) { @@ -227,11 +271,11 @@ internal static SKBitmap Decode(string path, bool forceCleanBitmap, out SKCodecO } } - var resultBitmap = SKBitmap.Decode(path); + var resultBitmap = SKBitmap.Decode(NormalizePath(path, fileSystem)); if (resultBitmap == null) { - return Decode(path, true, out origin); + return Decode(path, true, fileSystem, out origin); } // If we have to resize these they often end up distorted @@ -239,7 +283,7 @@ internal static SKBitmap Decode(string path, bool forceCleanBitmap, out SKCodecO { using (resultBitmap) { - return Decode(path, true, out origin); + return Decode(path, true, fileSystem, out origin); } } @@ -251,13 +295,13 @@ private SKBitmap GetBitmap(string path, bool cropWhitespace, bool forceAnalyzeBi { if (cropWhitespace) { - using (var bitmap = Decode(path, forceAnalyzeBitmap, out origin)) + using (var bitmap = Decode(path, forceAnalyzeBitmap, _fileSystem, out origin)) { return CropWhiteSpace(bitmap); } } - return Decode(path, forceAnalyzeBitmap, out origin); + return Decode(path, forceAnalyzeBitmap, _fileSystem, out origin); } private SKBitmap GetBitmap(string path, bool cropWhitespace, bool autoOrient) diff --git a/Emby.Drawing.Skia/StripCollageBuilder.cs b/Emby.Drawing.Skia/StripCollageBuilder.cs index 624245ee79..d562bb4be3 100644 --- a/Emby.Drawing.Skia/StripCollageBuilder.cs +++ b/Emby.Drawing.Skia/StripCollageBuilder.cs @@ -83,7 +83,7 @@ private SKBitmap BuildThumbCollageBitmap(string[] paths, int width, int height) for (int i = 0; i < 4; i++) { SKCodecOrigin origin; - using (var currentBitmap = SkiaEncoder.Decode(paths[imageIndex], false, out origin)) + using (var currentBitmap = SkiaEncoder.Decode(paths[imageIndex], false, _fileSystem, out origin)) { // resize to the same aspect as the original int iWidth = (int)Math.Abs(iHeight * currentBitmap.Width / currentBitmap.Height); @@ -165,7 +165,7 @@ private SKBitmap BuildSquareCollageBitmap(string[] paths, int width, int height) for (var y = 0; y < 2; y++) { SKCodecOrigin origin; - using (var currentBitmap = SkiaEncoder.Decode(paths[imageIndex], false, out origin)) + using (var currentBitmap = SkiaEncoder.Decode(paths[imageIndex], false, _fileSystem, out origin)) { using (var resizedBitmap = new SKBitmap(cellWidth, cellHeight, currentBitmap.ColorType, currentBitmap.AlphaType)) { diff --git a/Emby.Drawing.Skia/packages.config b/Emby.Drawing.Skia/packages.config index 2b9b0aee43..1aa3653cd7 100644 --- a/Emby.Drawing.Skia/packages.config +++ b/Emby.Drawing.Skia/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Emby.Server.Implementations/Configuration/ServerConfigurationManager.cs b/Emby.Server.Implementations/Configuration/ServerConfigurationManager.cs index 4d9bf0624d..e73a69892c 100644 --- a/Emby.Server.Implementations/Configuration/ServerConfigurationManager.cs +++ b/Emby.Server.Implementations/Configuration/ServerConfigurationManager.cs @@ -195,52 +195,49 @@ private void ValidateMetadataPath(ServerConfiguration newConfig) } } - public void DisableMetadataService(string service) + public bool SetOptimalValues() { - DisableMetadataService(typeof(Movie), Configuration, service); - DisableMetadataService(typeof(Episode), Configuration, service); - DisableMetadataService(typeof(Series), Configuration, service); - DisableMetadataService(typeof(Season), Configuration, service); - DisableMetadataService(typeof(MusicArtist), Configuration, service); - DisableMetadataService(typeof(MusicAlbum), Configuration, service); - DisableMetadataService(typeof(MusicVideo), Configuration, service); - DisableMetadataService(typeof(Video), Configuration, service); - } + var config = Configuration; - private void DisableMetadataService(Type type, ServerConfiguration config, string service) - { - var options = GetMetadataOptions(type, config); + var changed = false; - if (!options.DisabledMetadataSavers.Contains(service, StringComparer.OrdinalIgnoreCase)) + if (!config.EnableCaseSensitiveItemIds) { - var list = options.DisabledMetadataSavers.ToList(); - - list.Add(service); - - options.DisabledMetadataSavers = list.ToArray(list.Count); + config.EnableCaseSensitiveItemIds = true; + changed = true; } - } - private MetadataOptions GetMetadataOptions(Type type, ServerConfiguration config) - { - var options = config.MetadataOptions - .FirstOrDefault(i => string.Equals(i.ItemType, type.Name, StringComparison.OrdinalIgnoreCase)); + if (!config.SkipDeserializationForBasicTypes) + { + config.SkipDeserializationForBasicTypes = true; + changed = true; + } - if (options == null) + if (!config.EnableSimpleArtistDetection) { - var list = config.MetadataOptions.ToList(); + config.EnableSimpleArtistDetection = true; + changed = true; + } - options = new MetadataOptions - { - ItemType = type.Name - }; + if (!config.EnableNormalizedItemByNameIds) + { + config.EnableNormalizedItemByNameIds = true; + changed = true; + } - list.Add(options); + if (!config.DisableLiveTvChannelUserDataName) + { + config.DisableLiveTvChannelUserDataName = true; + changed = true; + } - config.MetadataOptions = list.ToArray(list.Count); + if (!config.EnableNewOmdbSupport) + { + config.EnableNewOmdbSupport = true; + changed = true; } - return options; + return changed; } } } diff --git a/Emby.Server.Implementations/Data/SqliteItemRepository.cs b/Emby.Server.Implementations/Data/SqliteItemRepository.cs index 01416a3079..eb0f5150f9 100644 --- a/Emby.Server.Implementations/Data/SqliteItemRepository.cs +++ b/Emby.Server.Implementations/Data/SqliteItemRepository.cs @@ -5298,7 +5298,8 @@ private QueryResult> GetItemValues(InternalItemsQuer OfficialRatings = query.OfficialRatings, GenreIds = query.GenreIds, Genres = query.Genres, - Years = query.Years + Years = query.Years, + NameContains = query.NameContains }; var outerWhereClauses = GetWhereClauses(outerQuery, null); diff --git a/Emby.Server.Implementations/Emby.Server.Implementations.csproj b/Emby.Server.Implementations/Emby.Server.Implementations.csproj index 1ecbabf2f4..8ff1b63c03 100644 --- a/Emby.Server.Implementations/Emby.Server.Implementations.csproj +++ b/Emby.Server.Implementations/Emby.Server.Implementations.csproj @@ -651,8 +651,8 @@ ..\packages\SharpCompress.0.18.2\lib\net45\SharpCompress.dll - - ..\packages\SimpleInjector.4.0.8\lib\net45\SimpleInjector.dll + + ..\packages\SimpleInjector.4.0.12\lib\net45\SimpleInjector.dll ..\packages\SQLitePCL.pretty.1.1.0\lib\portable-net45+netcore45+wpa81+wp8\SQLitePCL.pretty.dll diff --git a/Emby.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs b/Emby.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs index 94cafa3e2d..d69a2b2404 100644 --- a/Emby.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs +++ b/Emby.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs @@ -160,7 +160,7 @@ private MultiItemResolverResult ResolveVideos(Folder parent, IEnumerable i.Path).ToArray(), LocalAlternateVersions = video.AlternateVersions.Select(i => i.Path).ToArray() }; diff --git a/Emby.Server.Implementations/Library/SearchEngine.cs b/Emby.Server.Implementations/Library/SearchEngine.cs index b1ed034ca2..df21c14091 100644 --- a/Emby.Server.Implementations/Library/SearchEngine.cs +++ b/Emby.Server.Implementations/Library/SearchEngine.cs @@ -99,8 +99,6 @@ private Task> GetSearchHints(SearchQuery query, User var terms = GetWords(searchTerm); - var hints = new List>(); - var excludeItemTypes = query.ExcludeItemTypes.ToList(); var includeItemTypes = (query.IncludeItemTypes ?? new string[] { }).ToList(); @@ -161,8 +159,15 @@ private Task> GetSearchHints(SearchQuery query, User AddIfMissing(excludeItemTypes, typeof(CollectionFolder).Name); AddIfMissing(excludeItemTypes, typeof(Folder).Name); + var mediaTypes = query.MediaTypes.ToList(); + + if (includeItemTypes.Count > 0) + { + excludeItemTypes.Clear(); + mediaTypes.Clear(); + } - var mediaItems = _libraryManager.GetItemList(new InternalItemsQuery(user) + var searchQuery = new InternalItemsQuery(user) { NameContains = searchTerm, ExcludeItemTypes = excludeItemTypes.ToArray(excludeItemTypes.Count), @@ -178,7 +183,7 @@ private Task> GetSearchHints(SearchQuery query, User IsNews = query.IsNews, IsSeries = query.IsSeries, IsSports = query.IsSports, - MediaTypes = query.MediaTypes, + MediaTypes = mediaTypes.ToArray(), DtoOptions = new DtoOptions { @@ -189,17 +194,33 @@ private Task> GetSearchHints(SearchQuery query, User ItemFields.ChannelInfo } } - }); + }; + + List mediaItems; + + if (searchQuery.IncludeItemTypes.Length == 1 && string.Equals(searchQuery.IncludeItemTypes[0], "MusicArtist", StringComparison.OrdinalIgnoreCase)) + { + if (searchQuery.ParentId.HasValue) + { + searchQuery.AncestorIds = new string[] { searchQuery.ParentId.Value.ToString("N") }; + } + searchQuery.ParentId = null; + searchQuery.IncludeItemsByName = true; + searchQuery.IncludeItemTypes = new string[] { }; + mediaItems = _libraryManager.GetArtists(searchQuery).Items.Select(i => i.Item1).ToList(); + } + else + { + mediaItems = _libraryManager.GetItemList(searchQuery); + } - // Add search hints based on item name - hints.AddRange(mediaItems.Select(item => + var returnValue = mediaItems.Select(item => { var index = GetIndex(item.Name, searchTerm, terms); return new Tuple(item, index.Item1, index.Item2); - })); - var returnValue = hints.Where(i => i.Item3 >= 0).OrderBy(i => i.Item3).ThenBy(i => i.Item1.SortName).Select(i => new SearchHintInfo + }).OrderBy(i => i.Item3).ThenBy(i => i.Item1.SortName).Select(i => new SearchHintInfo { Item = i.Item1, MatchedTerm = i.Item2 diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/LiveStream.cs b/Emby.Server.Implementations/LiveTv/TunerHosts/LiveStream.cs index 12695cd8e7..8620987355 100644 --- a/Emby.Server.Implementations/LiveTv/TunerHosts/LiveStream.cs +++ b/Emby.Server.Implementations/LiveTv/TunerHosts/LiveStream.cs @@ -44,7 +44,7 @@ public LiveStream(MediaSourceInfo mediaSource, IEnvironmentInfo environment, IFi EnableStreamSharing = true; SharedStreamIds = new List(); UniqueId = Guid.NewGuid().ToString("N"); - TempFilePath = Path.Combine(appPaths.TranscodingTempPath, UniqueId + ".ts"); + TempFilePath = Path.Combine(appPaths.GetTranscodingTempPath(), UniqueId + ".ts"); } public virtual Task Open(CancellationToken openCancellationToken) diff --git a/Emby.Server.Implementations/Localization/Core/en-US.json b/Emby.Server.Implementations/Localization/Core/en-US.json index 51bbf341fe..9c58b45396 100644 --- a/Emby.Server.Implementations/Localization/Core/en-US.json +++ b/Emby.Server.Implementations/Localization/Core/en-US.json @@ -87,10 +87,5 @@ "User": "User", "System": "System", "Application": "Application", - "Plugin": "Plugin", - "LabelExit": "Exit", - "LabelVisitCommunity": "Visit Community", - "LabelBrowseLibrary": "Browse Library", - "LabelConfigureServer": "Configure Emby", - "LabelRestartServer": "Restart Server" + "Plugin": "Plugin" } \ No newline at end of file diff --git a/Emby.Server.Implementations/Localization/Core/hu.json b/Emby.Server.Implementations/Localization/Core/hu.json index 80160966ff..39d0f80613 100644 --- a/Emby.Server.Implementations/Localization/Core/hu.json +++ b/Emby.Server.Implementations/Localization/Core/hu.json @@ -2,31 +2,31 @@ "Latest": "Leg\u00fajabb", "ValueSpecialEpisodeName": "Special - {0}", "Inherit": "Inherit", - "Books": "Books", - "Music": "Music", - "Games": "Games", - "Photos": "Photos", - "MixedContent": "Mixed content", - "MusicVideos": "Music videos", - "HomeVideos": "Home videos", - "Playlists": "Playlists", + "Books": "K\u00f6nyvek", + "Music": "Zene", + "Games": "J\u00e1t\u00e9kok", + "Photos": "F\u00e9nyk\u00e9pek", + "MixedContent": "Vegyes tartalom", + "MusicVideos": "Zenei Vide\u00f3k", + "HomeVideos": "H\u00e1zi vide\u00f3k", + "Playlists": "Lej\u00e1tsz\u00e1si list\u00e1k", "HeaderRecordingGroups": "Recording Groups", "HeaderContinueWatching": "Vet\u00edt\u00e9s(ek) folytat\u00e1sa", - "HeaderFavoriteArtists": "Favorite Artists", - "HeaderFavoriteSongs": "Favorite Songs", - "HeaderAlbumArtists": "Album Artists", - "HeaderFavoriteAlbums": "Favorite Albums", + "HeaderFavoriteArtists": "Kedvenc M\u0171v\u00e9szek", + "HeaderFavoriteSongs": "Kedvenc Dalok", + "HeaderAlbumArtists": "Album El\u0151ad\u00f3k", + "HeaderFavoriteAlbums": "Kedvenc Albumok", "HeaderFavoriteEpisodes": "Kedvenc Epiz\u00f3dok", "HeaderFavoriteShows": "Kedvenc M\u0171sorok", "HeaderNextUp": "K\u00f6vetkezik", - "Favorites": "Favorites", + "Favorites": "Kedvencek", "Collections": "Gy\u0171jtem\u00e9nyek", "Channels": "Csatorn\u00e1k", - "Movies": "Movies", - "Albums": "Albums", - "Artists": "Artists", - "Folders": "Folders", - "Songs": "Songs", + "Movies": "Filmek", + "Albums": "Albumok", + "Artists": "El\u0151ad\u00f3k", + "Folders": "K\u00f6nyvt\u00e1rak", + "Songs": "Dalok", "TvShows": "TV Shows", "Shows": "Shows", "Genres": "M\u0171fajok", @@ -38,15 +38,15 @@ "ScheduledTaskFailedWithName": "{0} failed", "LabelRunningTimeValue": "Running time: {0}", "ScheduledTaskStartedWithName": "{0} started", - "VersionNumber": "Version {0}", + "VersionNumber": "Verzi\u00f3 {0}", "PluginInstalledWithName": "{0} telep\u00edtve", "StartupEmbyServerIsLoading": "Emby Szerver bet\u00f6lt\u0151dik. K\u00e9rj\u00fck, pr\u00f3b\u00e1ld meg \u00fajra k\u00e9s\u0151bb.", - "PluginUpdatedWithName": "{0} was updated", + "PluginUpdatedWithName": "{0} friss\u00edtve", "PluginUninstalledWithName": "{0} elt\u00e1vol\u00edtva", "ItemAddedWithName": "{0} was added to the library", "ItemRemovedWithName": "{0} was removed from the library", - "LabelIpAddressValue": "Ip address: {0}", - "DeviceOnlineWithName": "{0} is connected", + "LabelIpAddressValue": "Ip c\u00edm: {0}", + "DeviceOnlineWithName": "{0} bel\u00e9pett", "UserOnlineFromDevice": "{0} is online from {1}", "ProviderValue": "Provider: {0}", "SubtitlesDownloadedForItem": "Subtitles downloaded for {0}", diff --git a/Emby.Server.Implementations/Localization/LocalizationManager.cs b/Emby.Server.Implementations/Localization/LocalizationManager.cs index 650f388a1b..2eb4743cd0 100644 --- a/Emby.Server.Implementations/Localization/LocalizationManager.cs +++ b/Emby.Server.Implementations/Localization/LocalizationManager.cs @@ -308,6 +308,19 @@ private void LoadRatings(string file) return value == null ? (int?)null : value.Value; } + public bool HasUnicodeCategory(string value, UnicodeCategory category) + { + foreach (var chr in value) + { + if (char.GetUnicodeCategory(chr) == category) + { + return true; + } + } + + return false; + } + public string GetLocalizedString(string phrase) { return GetLocalizedString(phrase, _configurationManager.Configuration.UICulture); diff --git a/Emby.Server.Implementations/ServerApplicationPaths.cs b/Emby.Server.Implementations/ServerApplicationPaths.cs index 675b0d78cd..3e3f7e0d77 100644 --- a/Emby.Server.Implementations/ServerApplicationPaths.cs +++ b/Emby.Server.Implementations/ServerApplicationPaths.cs @@ -206,6 +206,23 @@ public string TranscodingTempPath } } + public string GetTranscodingTempPath() + { + var path = TranscodingTempPath; + + try + { + Directory.CreateDirectory(path); + return path; + } + catch + { + path = Path.Combine(ProgramDataPath, "transcoding-temp"); + Directory.CreateDirectory(path); + return path; + } + } + /// /// Gets the game genre path. /// diff --git a/Emby.Server.Implementations/packages.config b/Emby.Server.Implementations/packages.config index d27722fef8..6e68810d8f 100644 --- a/Emby.Server.Implementations/packages.config +++ b/Emby.Server.Implementations/packages.config @@ -3,7 +3,7 @@ - + \ No newline at end of file diff --git a/MediaBrowser.Api/ConfigurationService.cs b/MediaBrowser.Api/ConfigurationService.cs index 643ecd9c86..0023c13d78 100644 --- a/MediaBrowser.Api/ConfigurationService.cs +++ b/MediaBrowser.Api/ConfigurationService.cs @@ -134,8 +134,6 @@ public object Get(GetNamedConfiguration request) public void Post(AutoSetMetadataOptions request) { - _configurationManager.DisableMetadataService("Emby Xml"); - _configurationManager.SaveConfiguration(); } /// diff --git a/MediaBrowser.Api/StartupWizardService.cs b/MediaBrowser.Api/StartupWizardService.cs index 1ccb683204..1b185b073b 100644 --- a/MediaBrowser.Api/StartupWizardService.cs +++ b/MediaBrowser.Api/StartupWizardService.cs @@ -63,7 +63,7 @@ public StartupWizardService(IServerConfigurationManager config, IServerApplicati public void Post(ReportStartupWizardComplete request) { _config.Configuration.IsStartupWizardCompleted = true; - SetWizardFinishValues(_config.Configuration); + _config.SetOptimalValues(); _config.SaveConfiguration(); } @@ -87,16 +87,6 @@ public object Get(GetStartupConfiguration request) return result; } - private void SetWizardFinishValues(ServerConfiguration config) - { - config.EnableCaseSensitiveItemIds = true; - config.SkipDeserializationForBasicTypes = true; - config.EnableSimpleArtistDetection = true; - config.EnableNormalizedItemByNameIds = true; - config.DisableLiveTvChannelUserDataName = true; - config.EnableNewOmdbSupport = true; - } - public void Post(UpdateStartupConfiguration request) { _config.Configuration.UICulture = request.UICulture; diff --git a/MediaBrowser.Controller/Configuration/IServerConfigurationManager.cs b/MediaBrowser.Controller/Configuration/IServerConfigurationManager.cs index 13c9f8d84b..af57149322 100644 --- a/MediaBrowser.Controller/Configuration/IServerConfigurationManager.cs +++ b/MediaBrowser.Controller/Configuration/IServerConfigurationManager.cs @@ -20,10 +20,6 @@ public interface IServerConfigurationManager : IConfigurationManager /// The configuration. ServerConfiguration Configuration { get; } - /// - /// Sets the preferred metadata service. - /// - /// The service. - void DisableMetadataService(string service); + bool SetOptimalValues(); } } diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index 89d48ff90f..5b4cd59001 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -1987,6 +1987,10 @@ public void SetImagePath(ImageType type, int index, FileSystemMetadata file) image.Path = file.FullName; image.DateModified = imageInfo.DateModified; + + // reset these values + image.Width = 0; + image.Height = 0; } } @@ -2137,6 +2141,7 @@ public bool AddImages(ImageType imageType, List images) var newImageList = new List(); var imageAdded = false; + var imageUpdated = false; foreach (var newImage in images) { @@ -2157,7 +2162,17 @@ public bool AddImages(ImageType imageType, List images) { if (existing.IsLocalFile) { - existing.DateModified = FileSystem.GetLastWriteTimeUtc(newImage); + var newDateModified = FileSystem.GetLastWriteTimeUtc(newImage); + + // If date changed then we need to reset saved image dimensions + if (existing.DateModified != newDateModified && (existing.Width > 0 || existing.Height > 0)) + { + existing.Width = 0; + existing.Height = 0; + imageUpdated = true; + } + + existing.DateModified = newDateModified; } } } @@ -2190,7 +2205,7 @@ public bool AddImages(ImageType imageType, List images) ImageInfos = newList; } - return newImageList.Count > 0; + return imageUpdated || newImageList.Count > 0; } private ItemImageInfo GetImageInfo(FileSystemMetadata file, ImageType type) diff --git a/MediaBrowser.Controller/IServerApplicationPaths.cs b/MediaBrowser.Controller/IServerApplicationPaths.cs index c89a60a6f8..4ad1cf49a0 100644 --- a/MediaBrowser.Controller/IServerApplicationPaths.cs +++ b/MediaBrowser.Controller/IServerApplicationPaths.cs @@ -108,5 +108,7 @@ public interface IServerApplicationPaths : IApplicationPaths string InternalMetadataPath { get; } string ArtistsPath { get; } + + string GetTranscodingTempPath(); } } \ No newline at end of file diff --git a/MediaBrowser.Model/Dlna/PlaybackException.cs b/MediaBrowser.Model/Dlna/PlaybackException.cs deleted file mode 100644 index 761fa1c904..0000000000 --- a/MediaBrowser.Model/Dlna/PlaybackException.cs +++ /dev/null @@ -1,9 +0,0 @@ -using System; - -namespace MediaBrowser.Model.Dlna -{ - public class PlaybackException : Exception - { - public PlaybackErrorCode ErrorCode { get; set;} - } -} diff --git a/MediaBrowser.Model/Dlna/StreamBuilder.cs b/MediaBrowser.Model/Dlna/StreamBuilder.cs index 20de247a6a..cf4cd99258 100644 --- a/MediaBrowser.Model/Dlna/StreamBuilder.cs +++ b/MediaBrowser.Model/Dlna/StreamBuilder.cs @@ -965,15 +965,6 @@ private int GetAudioBitrate(string subProtocol, long? maxTotalBitrate, int? targ return new Tuple>(PlayMethod.DirectStream, new List()); } - if (videoStream == null) - { - _logger.Info("Profile: {0}, Cannot direct stream with no known video stream. Path: {1}", - profile.Name ?? "Unknown Profile", - mediaSource.Path ?? "Unknown path"); - - return new Tuple>(null, new List { TranscodeReason.UnknownVideoStreamInfo }); - } - // See if it can be direct played DirectPlayProfile directPlay = null; foreach (DirectPlayProfile i in profile.DirectPlayProfiles) diff --git a/MediaBrowser.Model/Globalization/ILocalizationManager.cs b/MediaBrowser.Model/Globalization/ILocalizationManager.cs index 2356a2fa19..61f0ebfd31 100644 --- a/MediaBrowser.Model/Globalization/ILocalizationManager.cs +++ b/MediaBrowser.Model/Globalization/ILocalizationManager.cs @@ -1,5 +1,6 @@ using System.Collections.Generic; using MediaBrowser.Model.Entities; +using System.Globalization; namespace MediaBrowser.Model.Globalization { @@ -54,5 +55,7 @@ public interface ILocalizationManager string RemoveDiacritics(string text); string NormalizeFormKD(string text); + + bool HasUnicodeCategory(string value, UnicodeCategory category); } } diff --git a/MediaBrowser.Model/MediaBrowser.Model.csproj b/MediaBrowser.Model/MediaBrowser.Model.csproj index b36a773eb4..dd9b7ff75b 100644 --- a/MediaBrowser.Model/MediaBrowser.Model.csproj +++ b/MediaBrowser.Model/MediaBrowser.Model.csproj @@ -98,7 +98,6 @@ - diff --git a/MediaBrowser.Providers/Manager/ItemImageProvider.cs b/MediaBrowser.Providers/Manager/ItemImageProvider.cs index 4419b48cbb..1d432463bd 100644 --- a/MediaBrowser.Providers/Manager/ItemImageProvider.cs +++ b/MediaBrowser.Providers/Manager/ItemImageProvider.cs @@ -412,7 +412,18 @@ public bool MergeImages(IHasMetadata item, List images) } else { - currentImage.DateModified = _fileSystem.GetLastWriteTimeUtc(image.FileInfo); + + var newDateModified = _fileSystem.GetLastWriteTimeUtc(image.FileInfo); + + // If date changed then we need to reset saved image dimensions + if (currentImage.DateModified != newDateModified && (currentImage.Width > 0 || currentImage.Height > 0)) + { + currentImage.Width = 0; + currentImage.Height = 0; + changed = true; + } + + currentImage.DateModified = newDateModified; } } else diff --git a/MediaBrowser.Providers/MediaInfo/AudioImageProvider.cs b/MediaBrowser.Providers/MediaInfo/AudioImageProvider.cs index 3499d5d3f8..1a650082c2 100644 --- a/MediaBrowser.Providers/MediaInfo/AudioImageProvider.cs +++ b/MediaBrowser.Providers/MediaInfo/AudioImageProvider.cs @@ -92,24 +92,34 @@ public async Task GetImage(Audio item, List i private string GetAudioImagePath(Audio item) { - var filename = item.Album ?? string.Empty; - filename += string.Join(",", item.Artists); + string filename; - if (!string.IsNullOrWhiteSpace(item.Album)) + if (item.GetType() == typeof(Audio)) { - filename += "_" + item.Album; - } - else if (!string.IsNullOrWhiteSpace(item.Name)) - { - filename += "_" + item.Name; + filename = item.Album ?? string.Empty; + filename += string.Join(",", item.Artists); + + if (!string.IsNullOrWhiteSpace(item.Album)) + { + filename += "_" + item.Album; + } + else if (!string.IsNullOrWhiteSpace(item.Name)) + { + filename += "_" + item.Name; + } + else + { + filename += "_" + item.Id.ToString("N"); + } + + filename = filename.GetMD5() + ".jpg"; } else { - filename += "_" + item.Id.ToString("N"); + // If it's an audio book or audio podcast, allow unique image per item + filename = item.Id.ToString("N") + ".jpg"; } - filename = filename.GetMD5() + ".jpg"; - var prefix = filename.Substring(0, 1); return Path.Combine(AudioImagesPath, prefix, filename); diff --git a/MediaBrowser.Providers/MediaInfo/FFProbeProvider.cs b/MediaBrowser.Providers/MediaInfo/FFProbeProvider.cs index bce4219019..e79aec33c1 100644 --- a/MediaBrowser.Providers/MediaInfo/FFProbeProvider.cs +++ b/MediaBrowser.Providers/MediaInfo/FFProbeProvider.cs @@ -163,7 +163,11 @@ public Task FetchVideoInfo(T item, MetadataRefreshOptions opt private void FetchShortcutInfo(Video video) { - video.ShortcutPath = _fileSystem.ReadAllText(video.Path); + video.ShortcutPath = _fileSystem.ReadAllText(video.Path) + .Replace("\t", string.Empty) + .Replace("\r", string.Empty) + .Replace("\n", string.Empty) + .Trim(); } public Task FetchAudioInfo(T item, CancellationToken cancellationToken) diff --git a/MediaBrowser.Server.Mono/ImageEncoderHelper.cs b/MediaBrowser.Server.Mono/ImageEncoderHelper.cs index 5112c64eda..4f8451c0d1 100644 --- a/MediaBrowser.Server.Mono/ImageEncoderHelper.cs +++ b/MediaBrowser.Server.Mono/ImageEncoderHelper.cs @@ -9,6 +9,7 @@ using MediaBrowser.Model.Logging; using Emby.Drawing.Skia; using MediaBrowser.Model.System; +using MediaBrowser.Model.Globalization; namespace MediaBrowser.Server.Startup.Common { @@ -20,13 +21,14 @@ public static IImageEncoder GetImageEncoder(ILogger logger, StartupOptions startupOptions, Func httpClient, IApplicationPaths appPaths, - IEnvironmentInfo environment) + IEnvironmentInfo environment, + ILocalizationManager localizationManager) { if (!startupOptions.ContainsOption("-enablegdi")) { try { - return new SkiaEncoder(logManager.GetLogger("Skia"), appPaths, httpClient, fileSystem); + return new SkiaEncoder(logManager.GetLogger("Skia"), appPaths, httpClient, fileSystem, localizationManager); } catch (Exception ex) { diff --git a/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj b/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj index 365977530e..a9e5d3ca57 100644 --- a/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj +++ b/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj @@ -58,11 +58,11 @@ ..\packages\SharpCompress.0.18.2\lib\net45\SharpCompress.dll - - ..\packages\SimpleInjector.4.0.8\lib\net45\SimpleInjector.dll + + ..\packages\SimpleInjector.4.0.12\lib\net45\SimpleInjector.dll - - ..\packages\SkiaSharp.1.58.1\lib\net45\SkiaSharp.dll + + ..\packages\SkiaSharp.1.59.2\lib\net45\SkiaSharp.dll ..\packages\SQLitePCLRaw.core.1.1.8\lib\net45\SQLitePCLRaw.core.dll diff --git a/MediaBrowser.Server.Mono/Program.cs b/MediaBrowser.Server.Mono/Program.cs index 3267a77b95..7a3a968ade 100644 --- a/MediaBrowser.Server.Mono/Program.cs +++ b/MediaBrowser.Server.Mono/Program.cs @@ -127,7 +127,7 @@ private static void RunApplication(ServerApplicationPaths appPaths, ILogManager Task.WaitAll(task); - appHost.ImageProcessor.ImageEncoder = ImageEncoderHelper.GetImageEncoder(_logger, logManager, fileSystem, options, () => appHost.HttpClient, appPaths, environmentInfo); + appHost.ImageProcessor.ImageEncoder = ImageEncoderHelper.GetImageEncoder(_logger, logManager, fileSystem, options, () => appHost.HttpClient, appPaths, environmentInfo, appHost.LocalizationManager); Console.WriteLine("Running startup tasks"); diff --git a/MediaBrowser.Server.Mono/packages.config b/MediaBrowser.Server.Mono/packages.config index dfa3dc75d3..4f2324c21b 100644 --- a/MediaBrowser.Server.Mono/packages.config +++ b/MediaBrowser.Server.Mono/packages.config @@ -3,8 +3,8 @@ - - + + \ No newline at end of file diff --git a/MediaBrowser.ServerApplication/ImageEncoderHelper.cs b/MediaBrowser.ServerApplication/ImageEncoderHelper.cs index c86e85785b..7c95a25ded 100644 --- a/MediaBrowser.ServerApplication/ImageEncoderHelper.cs +++ b/MediaBrowser.ServerApplication/ImageEncoderHelper.cs @@ -7,6 +7,7 @@ using MediaBrowser.Controller.Drawing; using MediaBrowser.Model.IO; using MediaBrowser.Model.Logging; +using MediaBrowser.Model.Globalization; namespace MediaBrowser.Server.Startup.Common { @@ -17,11 +18,12 @@ public static IImageEncoder GetImageEncoder(ILogger logger, IFileSystem fileSystem, StartupOptions startupOptions, Func httpClient, - IApplicationPaths appPaths) + IApplicationPaths appPaths, + ILocalizationManager localizationManager) { try { - return new SkiaEncoder(logManager.GetLogger("Skia"), appPaths, httpClient, fileSystem); + return new SkiaEncoder(logManager.GetLogger("Skia"), appPaths, httpClient, fileSystem, localizationManager); } catch { diff --git a/MediaBrowser.ServerApplication/MainStartup.cs b/MediaBrowser.ServerApplication/MainStartup.cs index 70b03aa44b..91a949921e 100644 --- a/MediaBrowser.ServerApplication/MainStartup.cs +++ b/MediaBrowser.ServerApplication/MainStartup.cs @@ -304,6 +304,19 @@ public static bool CanSelfUpdate } } + private static string UpdatePackageFileName + { + get + { + if (Environment.Is64BitOperatingSystem) + { + return "embyserver-win-x64-{version}.zip"; + } + + return "embyserver-win-x86-{version}.zip"; + } + } + /// /// Runs the application. /// @@ -324,7 +337,7 @@ private static void RunApplication(ServerApplicationPaths appPaths, ILogManager options, fileSystem, new PowerManagement(), - "emby.windows.zip", + UpdatePackageFileName, environmentInfo, new NullImageEncoder(), new SystemEvents(logManager.GetLogger("SystemEvents")), @@ -355,7 +368,7 @@ private static void RunApplication(ServerApplicationPaths appPaths, ILogManager } // set image encoder here - appHost.ImageProcessor.ImageEncoder = ImageEncoderHelper.GetImageEncoder(_logger, logManager, fileSystem, options, () => appHost.HttpClient, appPaths); + appHost.ImageProcessor.ImageEncoder = ImageEncoderHelper.GetImageEncoder(_logger, logManager, fileSystem, options, () => appHost.HttpClient, appPaths, appHost.LocalizationManager); task = task.ContinueWith(new Action(a => appHost.RunStartupTasks()), TaskContinuationOptions.OnlyOnRanToCompletion | TaskContinuationOptions.AttachedToParent); diff --git a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj index 9e4f524898..33f858b004 100644 --- a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj +++ b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj @@ -80,11 +80,11 @@ ..\packages\SharpCompress.0.18.2\lib\net45\SharpCompress.dll - - ..\packages\SimpleInjector.4.0.8\lib\net45\SimpleInjector.dll + + ..\packages\SimpleInjector.4.0.12\lib\net45\SimpleInjector.dll - - ..\packages\SkiaSharp.1.58.1\lib\net45\SkiaSharp.dll + + ..\packages\SkiaSharp.1.59.2\lib\net45\SkiaSharp.dll ..\packages\SQLitePCLRaw.core.1.1.8\lib\net45\SQLitePCLRaw.core.dll @@ -161,11 +161,11 @@ - + x64\libSkiaSharp.dll PreserveNewest - + x86\libSkiaSharp.dll PreserveNewest diff --git a/MediaBrowser.ServerApplication/ServerNotifyIcon.cs b/MediaBrowser.ServerApplication/ServerNotifyIcon.cs index cc8656f23d..a8c36e4e85 100644 --- a/MediaBrowser.ServerApplication/ServerNotifyIcon.cs +++ b/MediaBrowser.ServerApplication/ServerNotifyIcon.cs @@ -144,12 +144,12 @@ private void LocalizeText() { _uiCulture = _configurationManager.Configuration.UICulture; - cmdExit.Text = _localization.GetLocalizedString("LabelExit"); - cmdCommunity.Text = _localization.GetLocalizedString("LabelVisitCommunity"); - cmdPremiere.Text = _localization.GetLocalizedString("Emby Premiere"); - cmdBrowse.Text = _localization.GetLocalizedString("LabelBrowseLibrary"); - cmdConfigure.Text = _localization.GetLocalizedString("LabelConfigureServer"); - cmdRestart.Text = _localization.GetLocalizedString("LabelRestartServer"); + cmdExit.Text = "Exit"; + cmdCommunity.Text = "Visit Emby Community"; + cmdPremiere.Text = "Emby Premiere"; + cmdBrowse.Text = "Browse Library"; + cmdConfigure.Text = "Configure Emby Server"; + cmdRestart.Text = "Restart Emby Server"; } private string _uiCulture; diff --git a/MediaBrowser.ServerApplication/packages.config b/MediaBrowser.ServerApplication/packages.config index c7b98700e8..805c7af62e 100644 --- a/MediaBrowser.ServerApplication/packages.config +++ b/MediaBrowser.ServerApplication/packages.config @@ -2,8 +2,8 @@ - - + + \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.css b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.css index a3b778f4da..ad3b345ee0 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.css +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.css @@ -1 +1 @@ -.actionSheetContent,.actionSheetScroller{-webkit-box-orient:vertical;-webkit-box-direction:normal}.actionSheet{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;padding:0;border:none;max-height:84%;-webkit-border-radius:1px!important;border-radius:1px!important}.actionSheetContent,.actionSheetMenuItem{display:-webkit-box;display:-webkit-flex}.actionsheet-not-fullscreen{max-width:90%;max-height:90%}.actionsheet-fullscreen{max-height:none;-webkit-border-radius:0!important;border-radius:0!important}.actionSheetContent-centered{text-align:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.actionSheetContent{margin:0!important;padding:.4em 0!important;-webkit-flex-direction:column;flex-direction:column;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-flex:1;-webkit-flex-grow:1;flex-grow:1;-webkit-box-align:center;-webkit-align-items:center;align-items:center;text-align:center;overflow:hidden}.actionSheetMenuItem{padding:.7em 1.6em;margin:0;text-transform:none;text-align:inherit;display:flex;font-weight:inherit;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-flex-shrink:0;flex-shrink:0;background:0 0;-webkit-box-shadow:none;box-shadow:none}.actionSheetMenuItem:focus{-webkit-transform:none!important;transform:none!important}.actionSheetMenuItem-extraspacing{padding:.9em 1.6em}.actionSheetItemText{white-space:nowrap;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;vertical-align:middle;-webkit-box-flex:1;-webkit-flex-grow:1;flex-grow:1;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.actionSheetItemSecondaryText{opacity:.7;font-size:90%;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;-webkit-flex-shrink:0;flex-shrink:0;margin-left:5em}.actionSheetItemIcon{margin-right:1.5em!important}.actionSheetScroller{margin-bottom:0!important;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;width:100%}.actionSheetScroller-tv{max-height:64%;max-width:60%;width:auto}.actionSheetTitle{margin:.5em 0!important;padding:0 1em;-webkit-box-flex:0;-webkit-flex-grow:0;flex-grow:0}.actionSheetText{padding:0 1em;-webkit-box-flex:0;-webkit-flex-grow:0;flex-grow:0}.actionsheet-extraSpacing{font-size:112%}.btnCloseActionSheet{position:fixed;top:.75em;left:.5em} \ No newline at end of file +.actionSheetContent,.actionSheetScroller{-webkit-box-orient:vertical;-webkit-box-direction:normal}.actionSheet{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;padding:0;border:none;max-height:84%;-webkit-border-radius:1px!important;border-radius:1px!important}.actionSheetContent,.actionSheetMenuItem{display:-webkit-box;display:-webkit-flex}.actionsheet-not-fullscreen{max-width:90%;max-height:90%}.actionsheet-fullscreen{max-height:none;-webkit-border-radius:0!important;border-radius:0!important}.actionSheetContent-centered{text-align:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.actionSheetContent{margin:0!important;padding:.4em 0!important;-webkit-flex-direction:column;flex-direction:column;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-flex:1;-webkit-flex-grow:1;flex-grow:1;-webkit-box-align:center;-webkit-align-items:center;align-items:center;text-align:center;overflow:hidden}.actionSheetMenuItem{padding:.7em 1.6em;margin:0;text-transform:none;text-align:inherit;display:flex;font-weight:inherit;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-flex-shrink:0;flex-shrink:0;background:0 0;-webkit-box-shadow:none;box-shadow:none}.actionSheetMenuItem:focus{-webkit-transform:none!important;transform:none!important}.actionSheetMenuItem-extraspacing{padding:.9em 2em .9em 1.6em}.actionSheetItemText{white-space:nowrap;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;vertical-align:middle;-webkit-box-flex:1;-webkit-flex-grow:1;flex-grow:1;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.actionSheetItemSecondaryText{opacity:.7;font-size:90%;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;-webkit-flex-shrink:0;flex-shrink:0;margin-left:5em}.actionSheetItemIcon{margin-right:1.5em!important}.actionSheetScroller{margin-bottom:0!important;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;width:100%}.actionSheetScroller-tv{max-height:64%;max-width:60%;width:auto}.actionSheetTitle{margin:.5em 0!important;padding:0 1em;-webkit-box-flex:0;-webkit-flex-grow:0;flex-grow:0}.actionSheetText{padding:0 1em;-webkit-box-flex:0;-webkit-flex-grow:0;flex-grow:0}.actionsheet-largeFont{font-size:105%}.actionsheet-xlargeFont{font-size:112%}.btnCloseActionSheet{position:fixed;top:.75em;left:.5em}.actionsheetDivider{height:.07em;margin:.25em 0;-webkit-flex-shrink:0;flex-shrink:0} \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.js b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.js index c0c40d4c44..91e98b7ede 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.js +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.js @@ -1 +1 @@ -define(["dialogHelper","layoutManager","globalize","browser","dom","emby-button","css!./actionsheet","material-icons","scrollStyles"],function(dialogHelper,layoutManager,globalize,browser,dom){"use strict";function getOffsets(elems){var doc=document,results=[];if(!doc)return results;for(var box,elem,i=0,length=elems.length;i0&&(pos.left-=overflowX+20),overflowY>0&&(pos.top-=overflowY+20),pos.top+=options.offsetTop||0,pos.left+=options.offsetLeft||0,pos.top=Math.max(pos.top,10),pos.left=Math.max(pos.left,10),pos}function centerFocus(elem,horiz,on){require(["scrollHelper"],function(scrollHelper){var fn=on?"on":"off";scrollHelper.centerFocus[fn](elem,horiz)})}function show(options){var isFullscreen,dialogOptions={removeOnClose:!0,enableHistory:options.enableHistory,scrollY:!1},backButton=!1;layoutManager.tv?(dialogOptions.size="fullscreen",isFullscreen=!0,backButton=!0,dialogOptions.autoFocus=!0):(dialogOptions.modal=!1,dialogOptions.entryAnimation=options.entryAnimation,dialogOptions.exitAnimation=options.exitAnimation,dialogOptions.entryAnimationDuration=options.entryAnimationDuration||140,dialogOptions.exitAnimationDuration=options.exitAnimationDuration||100,dialogOptions.autoFocus=!1);var dlg=dialogHelper.createDialog(dialogOptions);isFullscreen?dlg.classList.add("actionsheet-fullscreen"):dlg.classList.add("actionsheet-not-fullscreen");var extraSpacing=!layoutManager.tv;extraSpacing&&dlg.classList.add("actionsheet-extraSpacing"),dlg.classList.add("actionSheet"),options.dialogClass&&dlg.classList.add(options.dialogClass);var html="",scrollType=layoutManager.desktop?"smoothScrollY":"hiddenScrollY",style="";if(options.items.length>20){var minWidth=dom.getWindowSize().innerWidth>=300?240:200;style+="min-width:"+minWidth+"px;"}var i,length,option,renderIcon=!1;for(i=0,length=options.items.length;i');var center=options.title&&!renderIcon;html+=center?'
':'
',options.title&&(layoutManager.tv?(html+='

',html+=options.title,html+="

"):(html+='

',html+=options.title,html+="

")),options.text&&(html+='

',html+=options.text,html+="

");var scrollerClassName="actionSheetScroller";layoutManager.tv&&(scrollerClassName+=" actionSheetScroller-tv focuscontainer-x focuscontainer-y"),html+='
';var menuItemClass="actionSheetMenuItem";options.menuItemClass&&(menuItemClass+=" "+options.menuItemClass),extraSpacing&&(menuItemClass+=" actionSheetMenuItem-extraspacing");var actionSheetItemTextClass="actionSheetItemText";for(i=0,length=options.items.length;i',option.icon?html+=''+option.icon+"":renderIcon&&!center&&(html+=''),html+='
'+(option.name||option.textContent||option.innerText)+"
",option.secondaryText&&(html+='
'+option.secondaryText+"
"),html+=""}options.showCancel&&(html+='
',html+='",html+="
"),html+="
",dlg.innerHTML=html,layoutManager.tv&¢erFocus(dlg.querySelector(".actionSheetScroller"),!1,!0);var btnCloseActionSheet=dlg.querySelector(".btnCloseActionSheet");btnCloseActionSheet&&dlg.querySelector(".btnCloseActionSheet").addEventListener("click",function(){dialogHelper.close(dlg)});var selectedId,timeout;return options.timeout&&(timeout=setTimeout(function(){dialogHelper.close(dlg)},options.timeout)),new Promise(function(resolve,reject){var isResolved;dlg.addEventListener("click",function(e){var actionSheetMenuItem=dom.parentWithClass(e.target,"actionSheetMenuItem");actionSheetMenuItem&&(selectedId=actionSheetMenuItem.getAttribute("data-id"),options.resolveOnClick&&(resolve(selectedId),isResolved=!0),dialogHelper.close(dlg))}),dlg.addEventListener("close",function(){layoutManager.tv&¢erFocus(dlg.querySelector(".actionSheetScroller"),!1,!1),timeout&&(clearTimeout(timeout),timeout=null),isResolved||(null!=selectedId?(options.callback&&options.callback(selectedId),resolve(selectedId)):reject())}),dialogHelper.open(dlg);var setPositions=function(){var pos=options.positionTo&&"fullscreen"!==dialogOptions.size?getPosition(options,dlg):null;pos&&(dlg.style.position="fixed",dlg.style.margin=0,dlg.style.left=pos.left+"px",dlg.style.top=pos.top+"px")};browser.safari?setTimeout(setPositions,0):setPositions()})}return{show:show}}); \ No newline at end of file +define(["dialogHelper","layoutManager","globalize","browser","dom","emby-button","css!./actionsheet","material-icons","scrollStyles"],function(dialogHelper,layoutManager,globalize,browser,dom){"use strict";function getOffsets(elems){var doc=document,results=[];if(!doc)return results;for(var box,elem,i=0,length=elems.length;i0&&(pos.left-=overflowX+20),overflowY>0&&(pos.top-=overflowY+20),pos.top+=options.offsetTop||0,pos.left+=options.offsetLeft||0,pos.top=Math.max(pos.top,10),pos.left=Math.max(pos.left,10),pos}function centerFocus(elem,horiz,on){require(["scrollHelper"],function(scrollHelper){var fn=on?"on":"off";scrollHelper.centerFocus[fn](elem,horiz)})}function show(options){var isFullscreen,dialogOptions={removeOnClose:!0,enableHistory:options.enableHistory,scrollY:!1},backButton=!1;layoutManager.tv?(dialogOptions.size="fullscreen",isFullscreen=!0,backButton=!0,dialogOptions.autoFocus=!0):(dialogOptions.modal=!1,dialogOptions.entryAnimation=options.entryAnimation,dialogOptions.exitAnimation=options.exitAnimation,dialogOptions.entryAnimationDuration=options.entryAnimationDuration||140,dialogOptions.exitAnimationDuration=options.exitAnimationDuration||100,dialogOptions.autoFocus=!1);var dlg=dialogHelper.createDialog(dialogOptions);isFullscreen?dlg.classList.add("actionsheet-fullscreen"):dlg.classList.add("actionsheet-not-fullscreen");var extraSpacing=!layoutManager.tv;extraSpacing&&dlg.classList.add("actionsheet-extraSpacing"),layoutManager.mobile?dlg.classList.add("actionsheet-xlargeFont"):layoutManager.desktop&&dlg.classList.add("actionsheet-largeFont"),dlg.classList.add("actionSheet"),options.dialogClass&&dlg.classList.add(options.dialogClass);var html="",scrollType=layoutManager.desktop?"smoothScrollY":"hiddenScrollY",style="";if(options.items.length>20){var minWidth=dom.getWindowSize().innerWidth>=300?240:200;style+="min-width:"+minWidth+"px;"}var i,length,option,renderIcon=!1;for(i=0,length=options.items.length;i');var center=options.title&&!renderIcon;html+=center?'
':'
',options.title&&(layoutManager.tv?(html+='

',html+=options.title,html+="

"):(html+='

',html+=options.title,html+="

")),options.text&&(html+='

',html+=options.text,html+="

");var scrollerClassName="actionSheetScroller";layoutManager.tv&&(scrollerClassName+=" actionSheetScroller-tv focuscontainer-x focuscontainer-y"),html+='
';var menuItemClass="actionSheetMenuItem";options.menuItemClass&&(menuItemClass+=" "+options.menuItemClass),extraSpacing&&(menuItemClass+=" actionSheetMenuItem-extraspacing");var actionSheetItemTextClass="actionSheetItemText";for(i=0,length=options.items.length;i
';else{var autoFocus=option.selected?" autoFocus":"",optionId=null==option.id||""===option.id?option.value:option.id;html+="',option.icon?html+=''+option.icon+"":renderIcon&&!center&&(html+=''),html+='
'+(option.name||option.textContent||option.innerText)+"
",option.secondaryText&&(html+='
'+option.secondaryText+"
"),html+=""}options.showCancel&&(html+='
',html+='",html+="
"),html+="
",dlg.innerHTML=html,layoutManager.tv&¢erFocus(dlg.querySelector(".actionSheetScroller"),!1,!0);var btnCloseActionSheet=dlg.querySelector(".btnCloseActionSheet");btnCloseActionSheet&&dlg.querySelector(".btnCloseActionSheet").addEventListener("click",function(){dialogHelper.close(dlg)});var selectedId,timeout;return options.timeout&&(timeout=setTimeout(function(){dialogHelper.close(dlg)},options.timeout)),new Promise(function(resolve,reject){var isResolved;dlg.addEventListener("click",function(e){var actionSheetMenuItem=dom.parentWithClass(e.target,"actionSheetMenuItem");actionSheetMenuItem&&(selectedId=actionSheetMenuItem.getAttribute("data-id"),options.resolveOnClick&&(resolve(selectedId),isResolved=!0),dialogHelper.close(dlg))}),dlg.addEventListener("close",function(){layoutManager.tv&¢erFocus(dlg.querySelector(".actionSheetScroller"),!1,!1),timeout&&(clearTimeout(timeout),timeout=null),isResolved||(null!=selectedId?(options.callback&&options.callback(selectedId),resolve(selectedId)):reject())}),dialogHelper.open(dlg);var setPositions=function(){var pos=options.positionTo&&"fullscreen"!==dialogOptions.size?getPosition(options,dlg):null;pos&&(dlg.style.position="fixed",dlg.style.margin=0,dlg.style.left=pos.left+"px",dlg.style.top=pos.top+"px")};browser.safari?setTimeout(setPositions,0):setPositions()})}return{show:show}}); \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/browserdeviceprofile.js b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/browserdeviceprofile.js index 4a999bf222..1cd3d4e90a 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/browserdeviceprofile.js +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/browserdeviceprofile.js @@ -1 +1 @@ -define(["browser"],function(browser){"use strict";function canPlayH264(videoTestElement){return!(!videoTestElement.canPlayType||!videoTestElement.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"').replace(/no/,""))}function canPlayH265(videoTestElement,options){if(browser.tizen||browser.orsay||browser.xboxOne||browser.web0s||options.supportsHevc)return!0;var userAgent=navigator.userAgent.toLowerCase();if(browser.chromecast){var isChromecastUltra=userAgent.indexOf("aarch64")!==-1;if(isChromecastUltra)return!0}return!!(browser.iOS&&(browser.iOSVersion||0)>=11)||!(!videoTestElement.canPlayType||!videoTestElement.canPlayType('video/hevc; codecs="hevc, aac"').replace(/no/,""))}function supportsTextTracks(){return!(!browser.tizen&&!browser.orsay)||(null==_supportsTextTracks&&(_supportsTextTracks=null!=document.createElement("video").textTracks),_supportsTextTracks)}function canPlayHls(src){return null==_canPlayHls&&(_canPlayHls=canPlayNativeHls()||canPlayHlsWithMSE()),_canPlayHls}function canPlayNativeHls(){if(browser.tizen||browser.orsay)return!0;var media=document.createElement("video");return!(!media.canPlayType("application/x-mpegURL").replace(/no/,"")&&!media.canPlayType("application/vnd.apple.mpegURL").replace(/no/,""))}function canPlayHlsWithMSE(){return null!=window.MediaSource}function canPlayAudioFormat(format){var typeString;if("flac"===format){if(browser.tizen||browser.orsay)return!0;if(browser.edgeUwp)return!0}else if("wma"===format){if(browser.tizen||browser.orsay)return!0;if(browser.edgeUwp)return!0}else{if("opus"===format)return typeString='audio/ogg; codecs="opus"',!!document.createElement("audio").canPlayType(typeString).replace(/no/,"");if("mp2"===format)return!1}if("webma"===format)typeString="audio/webm";else if("mp2"===format)typeString="audio/mpeg";else if("ogg"===format||"oga"===format){if(browser.chrome)return!1;typeString="audio/"+format}else typeString="audio/"+format;return!!document.createElement("audio").canPlayType(typeString).replace(/no/,"")}function testCanPlayMkv(videoTestElement){if(browser.tizen||browser.orsay)return!0;if(videoTestElement.canPlayType("video/x-matroska").replace(/no/,"")||videoTestElement.canPlayType("video/mkv").replace(/no/,""))return!0;var userAgent=navigator.userAgent.toLowerCase();return browser.chrome?!browser.operaTv&&(userAgent.indexOf("vivaldi")===-1&&userAgent.indexOf("opera")===-1):!!browser.edgeUwp}function testCanPlayTs(){return browser.tizen||browser.orsay||browser.web0s||browser.edgeUwp}function supportsMpeg2Video(){return browser.orsay||browser.tizen||browser.edgeUwp||browser.web0s}function supportsVc1(){return browser.orsay||browser.tizen||browser.edgeUwp}function getDirectPlayProfileForVideoContainer(container,videoAudioCodecs,videoTestElement,options){var supported=!1,profileContainer=container,videoCodecs=[];switch(container){case"asf":supported=browser.tizen||browser.orsay||browser.edgeUwp,videoAudioCodecs=[];break;case"avi":supported=browser.tizen||browser.orsay||browser.edgeUwp;break;case"mpg":case"mpeg":supported=browser.edgeUwp||browser.tizen||browser.orsay;break;case"flv":supported=browser.tizen||browser.orsay;break;case"3gp":case"mts":case"trp":case"vob":case"vro":supported=browser.tizen||browser.orsay;break;case"mov":supported=browser.tizen||browser.orsay||browser.chrome||browser.edgeUwp,videoCodecs.push("h264");break;case"m2ts":supported=browser.tizen||browser.orsay||browser.web0s||browser.edgeUwp,videoCodecs.push("h264"),supportsVc1()&&videoCodecs.push("vc1"),supportsMpeg2Video()&&videoCodecs.push("mpeg2video");break;case"wmv":supported=browser.tizen||browser.orsay||browser.web0s||browser.edgeUwp,videoAudioCodecs=[];break;case"ts":supported=testCanPlayTs(),videoCodecs.push("h264"),canPlayH265(videoTestElement,options)&&(videoCodecs.push("h265"),videoCodecs.push("hevc")),supportsVc1()&&videoCodecs.push("vc1"),supportsMpeg2Video()&&videoCodecs.push("mpeg2video"),profileContainer="ts,mpegts"}return supported?{Container:profileContainer,Type:"Video",VideoCodec:videoCodecs.join(","),AudioCodec:videoAudioCodecs.join(",")}:null}function getMaxBitrate(){return 12e7}function getGlobalMaxVideoBitrate(){var userAgent=navigator.userAgent.toLowerCase();if(browser.chromecast){var isChromecastUltra=userAgent.indexOf("aarch64")!==-1;return isChromecastUltra?8e7:1e7}var isTizenFhd=!1;if(browser.tizen)try{var isTizenUhd=webapis.productinfo.isUdPanelSupported();isTizenFhd=!isTizenUhd,console.log("isTizenFhd = "+isTizenFhd)}catch(error){console.log("isUdPanelSupported() error code = "+error.code)}return browser.ps4?8e6:browser.xboxOne?12e6:browser.edgeUwp?4e7:browser.tizen&&isTizenFhd?2e7:null}function supportsAc3(videoTestElement){return!!(browser.edgeUwp||browser.tizen||browser.orsay||browser.web0s)||videoTestElement.canPlayType('audio/mp4; codecs="ac-3"').replace(/no/,"")&&!browser.osx&&!browser.iOS}function supportsEac3(videoTestElement){return!!(browser.tizen||browser.orsay||browser.web0s)||videoTestElement.canPlayType('audio/mp4; codecs="ec-3"').replace(/no/,"")}var _supportsTextTracks,_canPlayHls;return function(options){options=options||{};var physicalAudioChannels=options.audioChannels||(browser.tv||browser.chromecast||browser.ps4||browser.xboxOne?6:2),bitrateSetting=getMaxBitrate(),videoTestElement=document.createElement("video"),canPlayWebm=videoTestElement.canPlayType("video/webm").replace(/no/,""),canPlayMkv=testCanPlayMkv(videoTestElement),profile={};profile.MaxStreamingBitrate=bitrateSetting,profile.MaxStaticBitrate=1e8,profile.MusicStreamingTranscodingBitrate=Math.min(bitrateSetting,192e3),profile.DirectPlayProfiles=[];var videoAudioCodecs=[],hlsVideoAudioCodecs=[],supportsMp3VideoAudio=videoTestElement.canPlayType('video/mp4; codecs="avc1.640029, mp4a.69"').replace(/no/,"")||videoTestElement.canPlayType('video/mp4; codecs="avc1.640029, mp4a.6B"').replace(/no/,""),supportsMp2VideoAudio=browser.edgeUwp||browser.tizen||browser.orsay||browser.web0s;if(supportsAc3(videoTestElement)){videoAudioCodecs.push("ac3");var eAc3=supportsEac3(videoTestElement);eAc3&&videoAudioCodecs.push("eac3");var supportsAc3InHls=!browser.edge||!browser.touch||browser.edgeUwp;supportsAc3InHls&&(hlsVideoAudioCodecs.push("ac3"),eAc3&&hlsVideoAudioCodecs.push("eac3"))}supportsMp3VideoAudio&&(videoAudioCodecs.push("mp3"),browser.ps4||physicalAudioChannels<=2&&hlsVideoAudioCodecs.push("mp3")),videoTestElement.canPlayType('video/mp4; codecs="avc1.640029, mp4a.40.2"').replace(/no/,"")&&(videoAudioCodecs.push("aac"),hlsVideoAudioCodecs.push("aac")),supportsMp3VideoAudio&&(browser.ps4||hlsVideoAudioCodecs.indexOf("mp3")===-1&&hlsVideoAudioCodecs.push("mp3")),supportsMp2VideoAudio&&videoAudioCodecs.push("mp2"),(browser.tizen||browser.orsay||browser.web0s||options.supportsDts)&&(videoAudioCodecs.push("dca"),videoAudioCodecs.push("dts")),(browser.tizen||browser.orsay)&&(videoAudioCodecs.push("pcm_s16le"),videoAudioCodecs.push("pcm_s24le")),options.supportsTrueHd&&videoAudioCodecs.push("truehd"),(browser.tizen||browser.orsay)&&videoAudioCodecs.push("aac_latm"),videoAudioCodecs=videoAudioCodecs.filter(function(c){return(options.disableVideoAudioCodecs||[]).indexOf(c)===-1}),hlsVideoAudioCodecs=hlsVideoAudioCodecs.filter(function(c){return(options.disableHlsVideoAudioCodecs||[]).indexOf(c)===-1});var mp4VideoCodecs=[];canPlayH264(videoTestElement)&&mp4VideoCodecs.push("h264"),canPlayH265(videoTestElement,options)&&(mp4VideoCodecs.push("h265"),mp4VideoCodecs.push("hevc")),supportsMpeg2Video()&&mp4VideoCodecs.push("mpeg2video"),supportsVc1()&&mp4VideoCodecs.push("vc1"),(browser.tizen||browser.orsay)&&mp4VideoCodecs.push("msmpeg4v2"),mp4VideoCodecs.length&&profile.DirectPlayProfiles.push({Container:"mp4,m4v",Type:"Video",VideoCodec:mp4VideoCodecs.join(","),AudioCodec:videoAudioCodecs.join(",")}),canPlayMkv&&mp4VideoCodecs.length&&profile.DirectPlayProfiles.push({Container:"mkv",Type:"Video",VideoCodec:mp4VideoCodecs.join(","),AudioCodec:videoAudioCodecs.join(",")}),["m2ts","wmv","ts","asf","avi","mpg","mpeg","flv","3gp","mts","trp","vob","vro","mov"].map(function(container){return getDirectPlayProfileForVideoContainer(container,videoAudioCodecs,videoTestElement,options)}).filter(function(i){return null!=i}).forEach(function(i){profile.DirectPlayProfiles.push(i)}),["opus","mp3","mp2","aac","flac","alac","webma","wma","wav","ogg","oga"].filter(canPlayAudioFormat).forEach(function(audioFormat){"mp2"===audioFormat?profile.DirectPlayProfiles.push({Container:"mp2,mp3",Type:"Audio",AudioCodec:audioFormat}):"mp3"===audioFormat?profile.DirectPlayProfiles.push({Container:audioFormat,Type:"Audio",AudioCodec:audioFormat}):profile.DirectPlayProfiles.push({Container:"webma"===audioFormat?"webma,webm":audioFormat,Type:"Audio"}),"aac"!==audioFormat&&"alac"!==audioFormat||profile.DirectPlayProfiles.push({Container:"m4a",AudioCodec:audioFormat,Type:"Audio"})}),canPlayWebm&&profile.DirectPlayProfiles.push({Container:"webm",Type:"Video",AudioCodec:"vorbis",VideoCodec:"VP8,VP9"}),profile.TranscodingProfiles=[],canPlayHls()&&browser.enableHlsAudio!==!1&&profile.TranscodingProfiles.push({Container:!canPlayNativeHls()||browser.edge||browser.android?"ts":"aac",Type:"Audio",AudioCodec:"aac",Context:"Streaming",Protocol:"hls",MaxAudioChannels:physicalAudioChannels.toString(),MinSegments:browser.iOS||browser.osx?"2":"1",BreakOnNonKeyFrames:!(!browser.iOS&&!browser.osx&&canPlayNativeHls())}),["aac","mp3","opus","wav"].filter(canPlayAudioFormat).forEach(function(audioFormat){profile.TranscodingProfiles.push({Container:audioFormat,Type:"Audio",AudioCodec:audioFormat,Context:"Streaming",Protocol:"http",MaxAudioChannels:physicalAudioChannels.toString()})}),["opus","mp3","aac","wav"].filter(canPlayAudioFormat).forEach(function(audioFormat){profile.TranscodingProfiles.push({Container:audioFormat,Type:"Audio",AudioCodec:audioFormat,Context:"Static",Protocol:"http",MaxAudioChannels:physicalAudioChannels.toString()})}),!canPlayMkv||browser.tizen||browser.orsay||options.enableMkvProgressive===!1||profile.TranscodingProfiles.push({Container:"mkv",Type:"Video",AudioCodec:videoAudioCodecs.join(","),VideoCodec:mp4VideoCodecs.join(","),Context:"Streaming",MaxAudioChannels:physicalAudioChannels.toString(),CopyTimestamps:!0}),canPlayMkv&&profile.TranscodingProfiles.push({Container:"mkv",Type:"Video",AudioCodec:videoAudioCodecs.join(","),VideoCodec:"h264",Context:"Static",MaxAudioChannels:physicalAudioChannels.toString(),CopyTimestamps:!0}),canPlayHls()&&options.enableHls!==!1&&profile.TranscodingProfiles.push({Container:"ts",Type:"Video",AudioCodec:hlsVideoAudioCodecs.join(","),VideoCodec:"h264",Context:"Streaming",Protocol:"hls",MaxAudioChannels:physicalAudioChannels.toString(),MinSegments:browser.iOS||browser.osx?"2":"1",BreakOnNonKeyFrames:!(!browser.iOS&&!browser.osx&&canPlayNativeHls())}),canPlayWebm&&profile.TranscodingProfiles.push({Container:"webm",Type:"Video",AudioCodec:"vorbis",VideoCodec:"vpx",Context:"Streaming",Protocol:"http",MaxAudioChannels:physicalAudioChannels.toString()}),profile.TranscodingProfiles.push({Container:"mp4",Type:"Video",AudioCodec:videoAudioCodecs.join(","),VideoCodec:"h264",Context:"Streaming",Protocol:"http",MaxAudioChannels:physicalAudioChannels.toString()}),profile.TranscodingProfiles.push({Container:"mp4",Type:"Video",AudioCodec:videoAudioCodecs.join(","),VideoCodec:"h264",Context:"Static",Protocol:"http"}),profile.ContainerProfiles=[],profile.CodecProfiles=[];var supportsSecondaryAudio=browser.tizen||browser.orsay||browser.edge||browser.msie;videoTestElement.canPlayType('video/mp4; codecs="avc1.640029, mp4a.40.5"').replace(/no/,"")||(profile.CodecProfiles.push({Type:"VideoAudio",Codec:"aac",Conditions:[{Condition:"NotEquals",Property:"AudioProfile",Value:"HE-AAC"}]}),supportsSecondaryAudio||profile.CodecProfiles[profile.CodecProfiles.length-1].Conditions.push({Condition:"Equals",Property:"IsSecondaryAudio",Value:"false",IsRequired:"false"})),supportsSecondaryAudio||profile.CodecProfiles.push({Type:"VideoAudio",Conditions:[{Condition:"Equals",Property:"IsSecondaryAudio",Value:"false",IsRequired:"false"}]});var maxH264Level=browser.chromecast?"42":"51";profile.CodecProfiles.push({Type:"Video",Codec:"h264",Conditions:[{Condition:"NotEquals",Property:"IsAnamorphic",Value:"true",IsRequired:!1},{Condition:"EqualsAny",Property:"VideoProfile",Value:"high|main|baseline|constrained baseline"},{Condition:"LessThanEqual",Property:"VideoLevel",Value:maxH264Level}]}),browser.edgeUwp||browser.tizen||browser.orsay||browser.web0s||(profile.CodecProfiles[profile.CodecProfiles.length-1].Conditions.push({Condition:"NotEquals",Property:"IsAVC",Value:"false",IsRequired:!1}),profile.CodecProfiles[profile.CodecProfiles.length-1].Conditions.push({Condition:"NotEquals",Property:"IsInterlaced",Value:"true",IsRequired:!1}));var globalMaxVideoBitrate=(getGlobalMaxVideoBitrate()||"").toString(),h264MaxVideoBitrate=globalMaxVideoBitrate;return h264MaxVideoBitrate&&profile.CodecProfiles[profile.CodecProfiles.length-1].Conditions.push({Condition:"LessThanEqual",Property:"VideoBitrate",Value:h264MaxVideoBitrate,IsRequired:!0}),globalMaxVideoBitrate&&profile.CodecProfiles.push({Type:"Video",Conditions:[{Condition:"LessThanEqual",Property:"VideoBitrate",Value:globalMaxVideoBitrate}]}),browser.chromecast&&profile.CodecProfiles.push({Type:"Audio",Codec:"flac",Conditions:[{Condition:"LessThanEqual",Property:"AudioSampleRate",Value:"48000"}]}),profile.SubtitleProfiles=[],supportsTextTracks()&&profile.SubtitleProfiles.push({Format:"vtt",Method:"External"}),profile.ResponseProfiles=[],profile.ResponseProfiles.push({Type:"Video",Container:"m4v",MimeType:"video/mp4"}),profile}}); \ No newline at end of file +define(["browser"],function(browser){"use strict";function canPlayH264(videoTestElement){return!(!videoTestElement.canPlayType||!videoTestElement.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"').replace(/no/,""))}function canPlayH265(videoTestElement,options){if(browser.tizen||browser.orsay||browser.xboxOne||browser.web0s||options.supportsHevc)return!0;var userAgent=navigator.userAgent.toLowerCase();if(browser.chromecast){var isChromecastUltra=userAgent.indexOf("aarch64")!==-1;if(isChromecastUltra)return!0}return!!(browser.iOS&&(browser.iOSVersion||0)>=11)||!(!videoTestElement.canPlayType||!videoTestElement.canPlayType('video/hevc; codecs="hevc, aac"').replace(/no/,""))}function supportsTextTracks(){return!(!browser.tizen&&!browser.orsay)||(null==_supportsTextTracks&&(_supportsTextTracks=null!=document.createElement("video").textTracks),_supportsTextTracks)}function canPlayHls(src){return null==_canPlayHls&&(_canPlayHls=canPlayNativeHls()||canPlayHlsWithMSE()),_canPlayHls}function canPlayNativeHls(){if(browser.tizen||browser.orsay)return!0;var media=document.createElement("video");return!(!media.canPlayType("application/x-mpegURL").replace(/no/,"")&&!media.canPlayType("application/vnd.apple.mpegURL").replace(/no/,""))}function canPlayHlsWithMSE(){return null!=window.MediaSource}function canPlayAudioFormat(format){var typeString;if("flac"===format){if(browser.tizen||browser.orsay)return!0;if(browser.edgeUwp)return!0}else if("wma"===format){if(browser.tizen||browser.orsay)return!0;if(browser.edgeUwp)return!0}else{if("opus"===format)return typeString='audio/ogg; codecs="opus"',!!document.createElement("audio").canPlayType(typeString).replace(/no/,"");if("mp2"===format)return!1}if("webma"===format)typeString="audio/webm";else if("mp2"===format)typeString="audio/mpeg";else if("ogg"===format||"oga"===format){if(browser.chrome)return!1;typeString="audio/"+format}else typeString="audio/"+format;return!!document.createElement("audio").canPlayType(typeString).replace(/no/,"")}function testCanPlayMkv(videoTestElement){if(browser.tizen||browser.orsay)return!0;if(videoTestElement.canPlayType("video/x-matroska").replace(/no/,"")||videoTestElement.canPlayType("video/mkv").replace(/no/,""))return!0;var userAgent=navigator.userAgent.toLowerCase();return browser.chrome?!browser.operaTv&&(userAgent.indexOf("vivaldi")===-1&&userAgent.indexOf("opera")===-1):!!browser.edgeUwp}function testCanPlayTs(){return browser.tizen||browser.orsay||browser.web0s||browser.edgeUwp}function supportsMpeg2Video(){return browser.orsay||browser.tizen||browser.edgeUwp||browser.web0s}function supportsVc1(){return browser.orsay||browser.tizen||browser.edgeUwp}function getDirectPlayProfileForVideoContainer(container,videoAudioCodecs,videoTestElement,options){var supported=!1,profileContainer=container,videoCodecs=[];switch(container){case"asf":supported=browser.tizen||browser.orsay||browser.edgeUwp,videoAudioCodecs=[];break;case"avi":supported=browser.tizen||browser.orsay||browser.edgeUwp;break;case"mpg":case"mpeg":supported=browser.edgeUwp||browser.tizen||browser.orsay;break;case"flv":supported=browser.tizen||browser.orsay;break;case"3gp":case"mts":case"trp":case"vob":case"vro":supported=browser.tizen||browser.orsay;break;case"mov":supported=browser.tizen||browser.orsay||browser.chrome||browser.edgeUwp,videoCodecs.push("h264");break;case"m2ts":supported=browser.tizen||browser.orsay||browser.web0s||browser.edgeUwp,videoCodecs.push("h264"),supportsVc1()&&videoCodecs.push("vc1"),supportsMpeg2Video()&&videoCodecs.push("mpeg2video");break;case"wmv":supported=browser.tizen||browser.orsay||browser.web0s||browser.edgeUwp,videoAudioCodecs=[];break;case"ts":supported=testCanPlayTs(),videoCodecs.push("h264"),canPlayH265(videoTestElement,options)&&(videoCodecs.push("h265"),videoCodecs.push("hevc")),supportsVc1()&&videoCodecs.push("vc1"),supportsMpeg2Video()&&videoCodecs.push("mpeg2video"),profileContainer="ts,mpegts"}return supported?{Container:profileContainer,Type:"Video",VideoCodec:videoCodecs.join(","),AudioCodec:videoAudioCodecs.join(",")}:null}function getMaxBitrate(){return 12e7}function getGlobalMaxVideoBitrate(){var userAgent=navigator.userAgent.toLowerCase();if(browser.chromecast){var isChromecastUltra=userAgent.indexOf("aarch64")!==-1;return isChromecastUltra?8e7:1e7}var isTizenFhd=!1;if(browser.tizen)try{var isTizenUhd=webapis.productinfo.isUdPanelSupported();isTizenFhd=!isTizenUhd,console.log("isTizenFhd = "+isTizenFhd)}catch(error){console.log("isUdPanelSupported() error code = "+error.code)}return browser.ps4?8e6:browser.xboxOne?12e6:browser.edgeUwp?4e7:browser.tizen&&isTizenFhd?2e7:null}function supportsAc3(videoTestElement){return!!(browser.edgeUwp||browser.tizen||browser.orsay||browser.web0s)||videoTestElement.canPlayType('audio/mp4; codecs="ac-3"').replace(/no/,"")&&!browser.osx&&!browser.iOS}function supportsEac3(videoTestElement){return!!(browser.tizen||browser.orsay||browser.web0s)||videoTestElement.canPlayType('audio/mp4; codecs="ec-3"').replace(/no/,"")}var _supportsTextTracks,_canPlayHls;return function(options){options=options||{};var physicalAudioChannels=options.audioChannels||(browser.tv||browser.chromecast||browser.ps4||browser.xboxOne?6:2),bitrateSetting=getMaxBitrate(),videoTestElement=document.createElement("video"),canPlayWebm=videoTestElement.canPlayType("video/webm").replace(/no/,""),canPlayMkv=testCanPlayMkv(videoTestElement),profile={};profile.MaxStreamingBitrate=bitrateSetting,profile.MaxStaticBitrate=1e8,profile.MusicStreamingTranscodingBitrate=Math.min(bitrateSetting,192e3),profile.DirectPlayProfiles=[];var videoAudioCodecs=[],hlsVideoAudioCodecs=[],supportsMp3VideoAudio=videoTestElement.canPlayType('video/mp4; codecs="avc1.640029, mp4a.69"').replace(/no/,"")||videoTestElement.canPlayType('video/mp4; codecs="avc1.640029, mp4a.6B"').replace(/no/,""),supportsMp2VideoAudio=browser.edgeUwp||browser.tizen||browser.orsay||browser.web0s,maxVideoWidth=browser.xboxOne&&self.screen?self.screen.width:null;if(options.maxVideoWidth&&(maxVideoWidth=options.maxVideoWidth),supportsAc3(videoTestElement)){videoAudioCodecs.push("ac3");var eAc3=supportsEac3(videoTestElement);eAc3&&videoAudioCodecs.push("eac3");var supportsAc3InHls=!browser.edge||!browser.touch||browser.edgeUwp;supportsAc3InHls&&(hlsVideoAudioCodecs.push("ac3"),eAc3&&hlsVideoAudioCodecs.push("eac3"))}supportsMp3VideoAudio&&(videoAudioCodecs.push("mp3"),browser.ps4||physicalAudioChannels<=2&&hlsVideoAudioCodecs.push("mp3")),videoTestElement.canPlayType('video/mp4; codecs="avc1.640029, mp4a.40.2"').replace(/no/,"")&&(videoAudioCodecs.push("aac"),hlsVideoAudioCodecs.push("aac")),supportsMp3VideoAudio&&(browser.ps4||hlsVideoAudioCodecs.indexOf("mp3")===-1&&hlsVideoAudioCodecs.push("mp3")),supportsMp2VideoAudio&&videoAudioCodecs.push("mp2"),(browser.tizen||browser.orsay||browser.web0s||options.supportsDts)&&(videoAudioCodecs.push("dca"),videoAudioCodecs.push("dts")),(browser.tizen||browser.orsay)&&(videoAudioCodecs.push("pcm_s16le"),videoAudioCodecs.push("pcm_s24le")),options.supportsTrueHd&&videoAudioCodecs.push("truehd"),(browser.tizen||browser.orsay)&&videoAudioCodecs.push("aac_latm"),videoAudioCodecs=videoAudioCodecs.filter(function(c){return(options.disableVideoAudioCodecs||[]).indexOf(c)===-1}),hlsVideoAudioCodecs=hlsVideoAudioCodecs.filter(function(c){return(options.disableHlsVideoAudioCodecs||[]).indexOf(c)===-1});var mp4VideoCodecs=[];canPlayH264(videoTestElement)&&mp4VideoCodecs.push("h264"),canPlayH265(videoTestElement,options)&&(mp4VideoCodecs.push("h265"),mp4VideoCodecs.push("hevc")),supportsMpeg2Video()&&mp4VideoCodecs.push("mpeg2video"),supportsVc1()&&mp4VideoCodecs.push("vc1"),(browser.tizen||browser.orsay)&&mp4VideoCodecs.push("msmpeg4v2"),mp4VideoCodecs.length&&profile.DirectPlayProfiles.push({Container:"mp4,m4v",Type:"Video",VideoCodec:mp4VideoCodecs.join(","),AudioCodec:videoAudioCodecs.join(",")}),canPlayMkv&&mp4VideoCodecs.length&&profile.DirectPlayProfiles.push({Container:"mkv",Type:"Video",VideoCodec:mp4VideoCodecs.join(","),AudioCodec:videoAudioCodecs.join(",")}),["m2ts","wmv","ts","asf","avi","mpg","mpeg","flv","3gp","mts","trp","vob","vro","mov"].map(function(container){return getDirectPlayProfileForVideoContainer(container,videoAudioCodecs,videoTestElement,options)}).filter(function(i){return null!=i}).forEach(function(i){profile.DirectPlayProfiles.push(i)}),["opus","mp3","mp2","aac","flac","alac","webma","wma","wav","ogg","oga"].filter(canPlayAudioFormat).forEach(function(audioFormat){"mp2"===audioFormat?profile.DirectPlayProfiles.push({Container:"mp2,mp3",Type:"Audio",AudioCodec:audioFormat}):"mp3"===audioFormat?profile.DirectPlayProfiles.push({Container:audioFormat,Type:"Audio",AudioCodec:audioFormat}):profile.DirectPlayProfiles.push({Container:"webma"===audioFormat?"webma,webm":audioFormat,Type:"Audio"}),"aac"!==audioFormat&&"alac"!==audioFormat||profile.DirectPlayProfiles.push({Container:"m4a",AudioCodec:audioFormat,Type:"Audio"})}),canPlayWebm&&profile.DirectPlayProfiles.push({Container:"webm",Type:"Video",AudioCodec:"vorbis",VideoCodec:"VP8,VP9"}),profile.TranscodingProfiles=[],canPlayHls()&&browser.enableHlsAudio!==!1&&profile.TranscodingProfiles.push({Container:!canPlayNativeHls()||browser.edge||browser.android?"ts":"aac",Type:"Audio",AudioCodec:"aac",Context:"Streaming",Protocol:"hls",MaxAudioChannels:physicalAudioChannels.toString(),MinSegments:browser.iOS||browser.osx?"2":"1",BreakOnNonKeyFrames:!(!browser.iOS&&!browser.osx&&canPlayNativeHls())}),["aac","mp3","opus","wav"].filter(canPlayAudioFormat).forEach(function(audioFormat){profile.TranscodingProfiles.push({Container:audioFormat,Type:"Audio",AudioCodec:audioFormat,Context:"Streaming",Protocol:"http",MaxAudioChannels:physicalAudioChannels.toString()})}),["opus","mp3","aac","wav"].filter(canPlayAudioFormat).forEach(function(audioFormat){profile.TranscodingProfiles.push({Container:audioFormat,Type:"Audio",AudioCodec:audioFormat,Context:"Static",Protocol:"http",MaxAudioChannels:physicalAudioChannels.toString()})}),!canPlayMkv||browser.tizen||browser.orsay||options.enableMkvProgressive===!1||profile.TranscodingProfiles.push({Container:"mkv",Type:"Video",AudioCodec:videoAudioCodecs.join(","),VideoCodec:mp4VideoCodecs.join(","),Context:"Streaming",MaxAudioChannels:physicalAudioChannels.toString(),CopyTimestamps:!0}),canPlayMkv&&profile.TranscodingProfiles.push({Container:"mkv",Type:"Video",AudioCodec:videoAudioCodecs.join(","),VideoCodec:"h264",Context:"Static",MaxAudioChannels:physicalAudioChannels.toString(),CopyTimestamps:!0}),canPlayHls()&&options.enableHls!==!1&&profile.TranscodingProfiles.push({Container:"ts",Type:"Video",AudioCodec:hlsVideoAudioCodecs.join(","),VideoCodec:"h264",Context:"Streaming",Protocol:"hls",MaxAudioChannels:physicalAudioChannels.toString(),MinSegments:browser.iOS||browser.osx?"2":"1",BreakOnNonKeyFrames:!(!browser.iOS&&!browser.osx&&canPlayNativeHls())}),canPlayWebm&&profile.TranscodingProfiles.push({Container:"webm",Type:"Video",AudioCodec:"vorbis",VideoCodec:"vpx",Context:"Streaming",Protocol:"http",MaxAudioChannels:physicalAudioChannels.toString()}),profile.TranscodingProfiles.push({Container:"mp4",Type:"Video",AudioCodec:videoAudioCodecs.join(","),VideoCodec:"h264",Context:"Streaming",Protocol:"http",MaxAudioChannels:physicalAudioChannels.toString()}),profile.TranscodingProfiles.push({Container:"mp4",Type:"Video",AudioCodec:videoAudioCodecs.join(","),VideoCodec:"h264",Context:"Static",Protocol:"http"}),profile.ContainerProfiles=[],profile.CodecProfiles=[];var supportsSecondaryAudio=browser.tizen||browser.orsay||browser.edge||browser.msie;videoTestElement.canPlayType('video/mp4; codecs="avc1.640029, mp4a.40.5"').replace(/no/,"")||(profile.CodecProfiles.push({Type:"VideoAudio",Codec:"aac",Conditions:[{Condition:"NotEquals",Property:"AudioProfile",Value:"HE-AAC"}]}),supportsSecondaryAudio||profile.CodecProfiles[profile.CodecProfiles.length-1].Conditions.push({Condition:"Equals",Property:"IsSecondaryAudio",Value:"false",IsRequired:"false"})),supportsSecondaryAudio||profile.CodecProfiles.push({Type:"VideoAudio",Conditions:[{Condition:"Equals",Property:"IsSecondaryAudio",Value:"false",IsRequired:"false"}]});var maxH264Level=browser.chromecast?"42":"51";profile.CodecProfiles.push({Type:"Video",Codec:"h264",Conditions:[{Condition:"NotEquals",Property:"IsAnamorphic",Value:"true",IsRequired:!1},{Condition:"EqualsAny",Property:"VideoProfile",Value:"high|main|baseline|constrained baseline"},{Condition:"LessThanEqual",Property:"VideoLevel",Value:maxH264Level}]}),browser.edgeUwp||browser.tizen||browser.orsay||browser.web0s||(profile.CodecProfiles[profile.CodecProfiles.length-1].Conditions.push({Condition:"NotEquals",Property:"IsAVC",Value:"false",IsRequired:!1}),profile.CodecProfiles[profile.CodecProfiles.length-1].Conditions.push({Condition:"NotEquals",Property:"IsInterlaced",Value:"true",IsRequired:!1})),maxVideoWidth&&profile.CodecProfiles[profile.CodecProfiles.length-1].Conditions.push({Condition:"LessThanEqual",Property:"Width",Value:maxVideoWidth.toString(),IsRequired:!1});var globalMaxVideoBitrate=(getGlobalMaxVideoBitrate()||"").toString(),h264MaxVideoBitrate=globalMaxVideoBitrate;h264MaxVideoBitrate&&profile.CodecProfiles[profile.CodecProfiles.length-1].Conditions.push({Condition:"LessThanEqual",Property:"VideoBitrate",Value:h264MaxVideoBitrate,IsRequired:!0});var globalVideoConditions=[];return globalMaxVideoBitrate&&globalVideoConditions.push({Condition:"LessThanEqual",Property:"VideoBitrate",Value:globalMaxVideoBitrate}),maxVideoWidth&&globalVideoConditions.push({Condition:"LessThanEqual",Property:"Width",Value:maxVideoWidth.toString(),IsRequired:!1}),globalVideoConditions.length&&profile.CodecProfiles.push({Type:"Video",Conditions:globalVideoConditions}),browser.chromecast&&profile.CodecProfiles.push({Type:"Audio",Codec:"flac",Conditions:[{Condition:"LessThanEqual",Property:"AudioSampleRate",Value:"48000"}]}),profile.SubtitleProfiles=[],supportsTextTracks()&&profile.SubtitleProfiles.push({Format:"vtt",Method:"External"}),profile.ResponseProfiles=[],profile.ResponseProfiles.push({Type:"Video",Container:"m4v",MimeType:"video/mp4"}),profile}}); \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/card.css b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/card.css index c14846e1e8..a107c56f8c 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/card.css +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/card.css @@ -1 +1 @@ -.card,.card:focus{font-weight:inherit!important}.card,.cardBox,.cardContent,.textActionButton{-webkit-tap-highlight-color:transparent}button::-moz-focus-inner{padding:0;border:0}button{-webkit-border-fit:border!important}.card{border:0;font-size:inherit!important;font-family:inherit!important;text-transform:none;background:0 0!important;margin:0;padding:0;display:block;color:inherit!important;outline:0!important;cursor:pointer;contain:style;-webkit-flex-shrink:0;flex-shrink:0}.itemsContainer,.vertical-list{display:-webkit-box;display:-webkit-flex}.itemsContainer{display:flex}.vertical-list{display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-flex-wrap:nowrap;flex-wrap:nowrap}.mediaSourceIndicator,.vertical-wrap{display:-webkit-box;display:-webkit-flex}.vertical-wrap{display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;flex-wrap:wrap}.vertical-wrap.centered{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.vertical-wrap>.card{contain:layout style}.cardScalable{position:relative}.cardPadder-backdrop,.cardPadder-mixedBackdrop,.cardPadder-overflowBackdrop,.cardPadder-smallBackdrop{padding-bottom:56.25%}.cardPadder-mixedSquare,.cardPadder-overflowSquare,.cardPadder-square{padding-bottom:100%}.cardPadder-mixedPortrait,.cardPadder-overflowPortrait,.cardPadder-portrait,.overflowPortraitCard-textCardPadder{padding-bottom:150%}.cardPadder-banner{padding-bottom:18.5%}.cardBox{padding:0!important;margin:.28em .4em;-webkit-transition:none;-o-transition:none;transition:none;border:0 solid transparent;outline:0!important}.layout-tv .cardBox{margin:.28em .45em}@media all and (max-width:50em){.cardBox{margin:.28em}}.card-focuscontent{border:.12em solid transparent;-webkit-border-radius:.12em;border-radius:.12em}.card-focuscontent-large{border-width:.24em}.cardBox-focustransform{will-change:transform;-webkit-transition:-webkit-transform .2s ease-out;-o-transition:transform .2s ease-out;transition:transform .2s ease-out}.card:focus>.cardBox-focustransform{-webkit-transform:scale(1.16,1.16);transform:scale(1.16,1.16)}.cardBox-bottompadded{margin-bottom:1.9em!important}.layout-mobile .cardBox-bottompadded{margin-bottom:1.2em!important}.card:focus{position:relative!important;z-index:10!important}.btnCardOptions{position:absolute;bottom:.25em;right:0;margin:0!important;z-index:1}.mediaSourceIndicator{display:flex;position:absolute;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;top:.3em;left:.3em;text-align:center;vertical-align:middle;width:1.6em;height:1.6em;-webkit-border-radius:50%;border-radius:50%;color:#fff;background:#38c}.cardText,.innerCardFooter{overflow:hidden;text-align:left}.cardImageContainer{-webkit-background-size:contain;background-size:contain;background-repeat:no-repeat;background-position:center center;display:-webkit-flex;display:-webkit-box;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;position:relative;-webkit-background-clip:content-box!important;background-clip:content-box!important;color:inherit;height:100%}.cardContent,.cardImage{position:absolute;right:0;top:0;left:0;bottom:0}.chapterCardImageContainer{background-color:#000;-webkit-border-radius:0;border-radius:0}.textCardImageContainer{background-color:#444}.cardContent{overflow:hidden;display:block;margin:0!important;height:100%;-webkit-border-radius:.12em;border-radius:.12em;outline:0!important}.visualCardBox .cardContent{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0}.cardContent-shadow{-webkit-box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37);box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37)}.cardImage{-webkit-background-size:contain;background-size:contain;background-repeat:no-repeat;background-position:center bottom}.cardImage-img{max-height:100%;max-width:100%;min-height:70%;min-width:70%;margin:auto}.coveredImage-img{width:100%;height:100%}.coveredImage-noscale-img{max-height:none;max-width:none}.coveredImage{-webkit-background-size:100% 100%;background-size:100% 100%;background-position:center center}.coveredImage-noScale{-webkit-background-size:cover;background-size:cover}.cardFooter{padding:.5em .3em;position:relative}.cardFooter-transparent{padding-top:.26em}.layout-tv .cardFooter-transparent{padding-top:.1em}.visualCardBox{-webkit-box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37);box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37);-webkit-border-radius:.145em;border-radius:.145em}.innerCardFooter{background:rgba(0,0,0,.7);position:absolute;bottom:0;left:0;z-index:1;max-width:100%;color:#fff}.innerCardFooterClear{background-color:transparent}.fullInnerCardFooter{right:0}.cardText{padding:.06em .5em;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis}.cardDefaultText,.cardTextCentered{text-align:center}.innerCardFooter>.cardText{padding:.3em .5em}.cardFooter-withlogo{padding-left:4em;position:relative}.cardFooterLogo{position:absolute;top:0;bottom:0;left:0;width:4.5em;-webkit-background-size:70% auto;background-size:70% auto;background-repeat:no-repeat;background-position:center center}.card:focus .cardText{color:inherit}.cardText-rightmargin{margin-right:2em}.cardDefaultText{white-space:normal}.textActionButton{background:0 0;border:0!important;padding:0!important;cursor:pointer;outline:0!important;color:inherit;vertical-align:middle;font-family:inherit;font-size:inherit}.textActionButton:hover{text-decoration:underline}.cardImageIcon{width:auto;height:auto;font-size:5em;color:inherit}.cardIndicators{right:.225em;top:.225em;position:absolute;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.cardProgramAttributeIndicators{top:0;left:0;position:absolute;display:-webkit-box;display:-webkit-flex;display:flex;text-transform:uppercase;font-size:92%}.programAttributeIndicator{padding:.18em .5em;color:#fff;font-weight:500}.cardOverlayButton{color:rgba(255,255,255,.76)!important;-webkit-border-radius:100em;border-radius:100em;position:absolute;bottom:0;right:0;margin:0 .35em .65em 0;z-index:1;padding:.5em;background-color:rgba(0,0,0,.7)!important;font-size:86%}.cardOverlayButton-centered{bottom:initial;right:initial;position:static;position:absolute;display:-webkit-box;display:-webkit-flex;display:flex;font-size:112%;margin:-1.3em 0 0 -1.3em;width:2.6em;height:2.6em;top:50%;left:50%;background-color:rgba(0,0,0,.5)!important;border:2.4px solid rgba(255,255,255,.6);padding:.38em!important;color:rgba(255,255,255,.76);-webkit-transition:-webkit-transform .2s ease-out;-o-transition:transform .2s ease-out;transition:transform .2s ease-out}.cardOverlayButton-centered:hover{-webkit-transform:scale(1.2,1.2);transform:scale(1.2,1.2)}.cardOverlayButton-texticon{line-height:1;background-color:rgba(0,0,0,.4)!important}.cardOverlayButton-texticon-icon{font-style:normal}.defaultCardColor1{background-color:#009688}.defaultCardColor2{background-color:#D32F2F}.defaultCardColor3{background-color:#0288D1}.defaultCardColor4{background-color:#388E3C}.defaultCardColor5{background-color:#F57F17}.backdropCard,.bannerCard{width:100%}.smallBackdropCard,.squareCard{width:50%}.portraitCard{width:33.333333333333333333333333333333%}.mixedPortraitCard{width:12em}.mixedSquareCard{width:18em}.mixedBackdropCard{width:32em}@media all and (min-width:400px){.backdropCard{width:50%}}@media all and (min-width:500px){.portraitCard,.smallBackdropCard,.squareCard{width:33.333333333333333333333333333333%}}@media all and (min-width:700px){.portraitCard,.squareCard{width:25%}}@media all and (min-width:770px){.backdropCard{width:33.333333333333333333333333333333%}}@media all and (min-width:800px){.bannerCard{width:50%}.portraitCard{width:20%}.smallBackdropCard{width:25%}}@media all and (min-width:900px){.squareCard{width:20%}}@media all and (min-width:1000px){.smallBackdropCard{width:20%}}@media all and (min-width:1200px){.backdropCard{width:25%}.squareCard{width:16.666666666666666666666666666667%}.bannerCard{width:33.333333333333333333333333333333%}.portraitCard,.smallBackdropCard{width:16.666666666666666666666666666667%}}@media all and (min-width:1400px){.portraitCard,.smallBackdropCard,.squareCard{width:14.285714285714285714285714285714%}}@media all and (min-width:1600px){.portraitCard,.smallBackdropCard{width:12.5%}.backdropCard{width:20%}.squareCard{width:12.5%}}@media all and (min-width:1920px){.squareCard{width:11.111111111111111111111111111111%}}@media all and (min-width:2100px){.backdropCard{width:20%}.portraitCard{width:11.111111111111111111111111111111%}}@media all and (min-width:2200px){.bannerCard{width:25%}.portraitCard{width:10%}}@media all and (min-width:2500px){.backdropCard{width:16.666666666666666666666666666667%}}.itemsContainer-tv>.backdropCard{width:25%}.itemsContainer-tv>.portraitCard,.itemsContainer-tv>.squareCard{width:16.666666666666666666666666666667%}@media all and (orientation:portrait){.overflowPortraitCard{width:42vw}.overflowBackdropCard{width:72vw}.overflowSquareCard{width:42vw}}@media all and (orientation:landscape){.overflowBackdropCard{width:23.3vw}.overflowPortraitCard,.overflowSquareCard{width:15.5vw}}@media all and (orientation:landscape) and (min-width:1700px){.overflowBackdropCard{width:18.5vw}.overflowPortraitCard,.overflowSquareCard{width:11.6vw}}@media all and (orientation:portrait) and (min-width:400px){.overflowPortraitCard{width:31.5vw}}@media all and (orientation:portrait) and (min-width:540px){.overflowBackdropCard{width:64vw}.overflowSquareCard{width:31.5vw}}@media all and (orientation:portrait) and (min-width:640px){.overflowBackdropCard{width:56vw}}@media all and (orientation:portrait) and (min-width:760px){.overflowPortraitCard{width:23vw}.overflowBackdropCard{width:40vw}.overflowSquareCard{width:23vw}}@media all and (orientation:portrait) and (min-width:1200px){.overflowPortraitCard,.overflowSquareCard{width:18vw}}@media all and (orientation:portrait) and (min-width:1400px){.overflowPortraitCard,.overflowSquareCard{width:15vw}.overflowBackdropCard{width:30vw}}@media all and (orientation:portrait) and (min-width:1800px){.overflowBackdropCard{width:23.5vw}}.itemsContainer-tv>.overflowBackdropCard{width:23.3vw}.overflowBackdropCard-textCard{width:15.5vw!important}.overflowBackdropCard-textCardPadder{padding-bottom:87.75%}.itemsContainer-tv>.overflowPortraitCard,.itemsContainer-tv>.overflowSquareCard{width:15.5vw} \ No newline at end of file +.card,.card:focus{font-weight:inherit!important}.card,.cardBox,.cardContent,.textActionButton{-webkit-tap-highlight-color:transparent}button::-moz-focus-inner{padding:0;border:0}button{-webkit-border-fit:border!important}.card{border:0;font-size:inherit!important;font-family:inherit!important;text-transform:none;background:0 0!important;margin:0;padding:0;display:block;color:inherit!important;outline:0!important;cursor:pointer;contain:style;-webkit-flex-shrink:0;flex-shrink:0}.itemsContainer,.vertical-list{display:-webkit-box;display:-webkit-flex}.itemsContainer{display:flex}.vertical-list{display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-flex-wrap:nowrap;flex-wrap:nowrap}.mediaSourceIndicator,.vertical-wrap{display:-webkit-box;display:-webkit-flex}.vertical-wrap{display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;flex-wrap:wrap}.vertical-wrap.centered{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.vertical-wrap>.card{contain:layout style}.cardScalable{position:relative}.cardPadder-backdrop,.cardPadder-mixedBackdrop,.cardPadder-overflowBackdrop,.cardPadder-smallBackdrop{padding-bottom:56.25%}.cardPadder-mixedSquare,.cardPadder-overflowSquare,.cardPadder-square{padding-bottom:100%}.cardPadder-mixedPortrait,.cardPadder-overflowPortrait,.cardPadder-portrait,.overflowPortraitCard-textCardPadder{padding-bottom:150%}.cardPadder-banner{padding-bottom:18.5%}.cardBox{padding:0!important;margin:.28em .4em;-webkit-transition:none;-o-transition:none;transition:none;border:0 solid transparent;outline:0!important}.layout-tv .cardBox{margin:.28em .45em}@media all and (max-width:50em){.cardBox{margin:.28em}}.card-focuscontent{border:.12em solid transparent;-webkit-border-radius:.12em;border-radius:.12em}.card-focuscontent-large{border-width:.24em}.cardBox-focustransform{will-change:transform;-webkit-transition:-webkit-transform .2s ease-out;-o-transition:transform .2s ease-out;transition:transform .2s ease-out}.card:focus>.cardBox-focustransform{-webkit-transform:scale(1.16,1.16);transform:scale(1.16,1.16)}.cardBox-bottompadded{margin-bottom:1.9em!important}.layout-mobile .cardBox-bottompadded{margin-bottom:1.2em!important}.card:focus{position:relative!important;z-index:10!important}.btnCardOptions{position:absolute;bottom:.25em;right:0;margin:0!important;z-index:1}.mediaSourceIndicator{display:flex;position:absolute;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;top:.3em;left:.3em;text-align:center;vertical-align:middle;width:1.6em;height:1.6em;-webkit-border-radius:50%;border-radius:50%;color:#fff;background:#38c}.cardText,.innerCardFooter{overflow:hidden;text-align:left}.cardImageContainer{-webkit-background-size:contain;background-size:contain;background-repeat:no-repeat;background-position:center center;display:-webkit-flex;display:-webkit-box;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;position:relative;-webkit-background-clip:content-box!important;background-clip:content-box!important;color:inherit;height:100%}.cardContent,.cardImage{position:absolute;right:0;top:0;left:0;bottom:0}.chapterCardImageContainer{background-color:#000;-webkit-border-radius:0;border-radius:0}.textCardImageContainer{background-color:#444}.cardContent{overflow:hidden;display:block;margin:0!important;height:100%;-webkit-border-radius:.12em;border-radius:.12em;outline:0!important}.visualCardBox .cardContent{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0}.cardContent-shadow{-webkit-box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37);box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37)}.cardImage{-webkit-background-size:contain;background-size:contain;background-repeat:no-repeat;background-position:center bottom}.cardImage-img{max-height:100%;max-width:100%;min-height:70%;min-width:70%;margin:auto}.coveredImage-img{width:100%;height:100%}.coveredImage-noscale-img{max-height:none;max-width:none}.coveredImage{-webkit-background-size:100% 100%;background-size:100% 100%;background-position:center center}.coveredImage-noScale{-webkit-background-size:cover;background-size:cover}.cardFooter{padding:.5em .3em;position:relative}.cardFooter-transparent{padding-top:.26em;font-size:97%}.layout-tv .cardFooter-transparent{padding-top:.1em}.visualCardBox{-webkit-box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37);box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37);-webkit-border-radius:.145em;border-radius:.145em}.innerCardFooter{background:rgba(0,0,0,.7);position:absolute;bottom:0;left:0;z-index:1;max-width:100%;color:#fff}.innerCardFooterClear{background-color:transparent}.fullInnerCardFooter{right:0}.cardText{padding:.06em .5em;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis}.cardDefaultText,.cardTextCentered{text-align:center}.innerCardFooter>.cardText{padding:.3em .5em}.cardFooter-withlogo{padding-left:4em;position:relative}.cardFooterLogo{position:absolute;top:0;bottom:0;left:0;width:4.5em;-webkit-background-size:70% auto;background-size:70% auto;background-repeat:no-repeat;background-position:center center}.card:focus .cardText{color:inherit}.cardText-rightmargin{margin-right:2em}.cardDefaultText{white-space:normal}.textActionButton{background:0 0;border:0!important;padding:0!important;cursor:pointer;outline:0!important;color:inherit;vertical-align:middle;font-family:inherit;font-size:inherit}.textActionButton:hover{text-decoration:underline}.cardImageIcon{width:auto;height:auto;font-size:5em;color:inherit}.cardIndicators{right:.225em;top:.225em;position:absolute;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.cardProgramAttributeIndicators{top:0;left:0;position:absolute;display:-webkit-box;display:-webkit-flex;display:flex;text-transform:uppercase;font-size:92%}.programAttributeIndicator{padding:.18em .5em;color:#fff;font-weight:500}.cardOverlayButton{color:rgba(255,255,255,.76)!important;-webkit-border-radius:100em;border-radius:100em;position:absolute;bottom:0;right:0;margin:0 .35em .65em 0;z-index:1;padding:.5em;background-color:rgba(0,0,0,.7)!important;font-size:86%}.cardOverlayButton-centered{bottom:initial;right:initial;position:static;position:absolute;display:-webkit-box;display:-webkit-flex;display:flex;font-size:112%;margin:-1.3em 0 0 -1.3em;width:2.6em;height:2.6em;top:50%;left:50%;background-color:rgba(0,0,0,.5)!important;border:2.4px solid rgba(255,255,255,.6);padding:.38em!important;color:rgba(255,255,255,.76);-webkit-transition:-webkit-transform .2s ease-out;-o-transition:transform .2s ease-out;transition:transform .2s ease-out}.cardOverlayButton-centered:hover{-webkit-transform:scale(1.2,1.2);transform:scale(1.2,1.2)}.cardOverlayButton-texticon{line-height:1;background-color:rgba(0,0,0,.4)!important}.cardOverlayButton-texticon-icon{font-style:normal}.defaultCardColor1{background-color:#009688}.defaultCardColor2{background-color:#D32F2F}.defaultCardColor3{background-color:#0288D1}.defaultCardColor4{background-color:#388E3C}.defaultCardColor5{background-color:#F57F17}.backdropCard,.bannerCard{width:100%}.smallBackdropCard,.squareCard{width:50%}.portraitCard{width:33.333333333333333333333333333333%}.mixedPortraitCard{width:12em}.mixedSquareCard{width:18em}.mixedBackdropCard{width:32em}@media all and (min-width:400px){.backdropCard{width:50%}}@media all and (min-width:500px){.portraitCard,.smallBackdropCard,.squareCard{width:33.333333333333333333333333333333%}}@media all and (min-width:700px){.portraitCard,.squareCard{width:25%}}@media all and (min-width:770px){.backdropCard{width:33.333333333333333333333333333333%}}@media all and (min-width:800px){.bannerCard{width:50%}.portraitCard{width:20%}.smallBackdropCard{width:25%}}@media all and (min-width:900px){.squareCard{width:20%}}@media all and (min-width:1000px){.smallBackdropCard{width:20%}}@media all and (min-width:1200px){.backdropCard{width:25%}.squareCard{width:16.666666666666666666666666666667%}.bannerCard{width:33.333333333333333333333333333333%}.portraitCard,.smallBackdropCard{width:16.666666666666666666666666666667%}}@media all and (min-width:1400px){.portraitCard,.smallBackdropCard,.squareCard{width:14.285714285714285714285714285714%}}@media all and (min-width:1600px){.portraitCard,.smallBackdropCard{width:12.5%}.backdropCard{width:20%}.squareCard{width:12.5%}}@media all and (min-width:1920px){.squareCard{width:11.111111111111111111111111111111%}}@media all and (min-width:2100px){.backdropCard{width:20%}.portraitCard{width:11.111111111111111111111111111111%}}@media all and (min-width:2200px){.bannerCard{width:25%}.portraitCard{width:10%}}@media all and (min-width:2500px){.backdropCard{width:16.666666666666666666666666666667%}}.itemsContainer-tv>.backdropCard{width:25%}.itemsContainer-tv>.portraitCard,.itemsContainer-tv>.squareCard{width:16.666666666666666666666666666667%}@media all and (orientation:portrait){.overflowPortraitCard{width:42vw}.overflowBackdropCard{width:72vw}.overflowSquareCard{width:42vw}}@media all and (orientation:landscape){.overflowBackdropCard{width:23.3vw}.overflowPortraitCard,.overflowSquareCard{width:15.5vw}}@media all and (orientation:landscape) and (min-width:1700px){.overflowBackdropCard{width:18.5vw}.overflowPortraitCard,.overflowSquareCard{width:11.6vw}}@media all and (orientation:portrait) and (min-width:400px){.overflowPortraitCard{width:31.5vw}}@media all and (orientation:portrait) and (min-width:540px){.overflowBackdropCard{width:64vw}.overflowSquareCard{width:31.5vw}}@media all and (orientation:portrait) and (min-width:640px){.overflowBackdropCard{width:56vw}}@media all and (orientation:portrait) and (min-width:760px){.overflowPortraitCard{width:23vw}.overflowBackdropCard{width:40vw}.overflowSquareCard{width:23vw}}@media all and (orientation:portrait) and (min-width:1200px){.overflowPortraitCard,.overflowSquareCard{width:18vw}}@media all and (orientation:portrait) and (min-width:1400px){.overflowPortraitCard,.overflowSquareCard{width:15vw}.overflowBackdropCard{width:30vw}}@media all and (orientation:portrait) and (min-width:1800px){.overflowBackdropCard{width:23.5vw}}.itemsContainer-tv>.overflowBackdropCard{width:23.3vw}.overflowBackdropCard-textCard{width:15.5vw!important}.overflowBackdropCard-textCardPadder{padding-bottom:87.75%}.itemsContainer-tv>.overflowPortraitCard,.itemsContainer-tv>.overflowSquareCard{width:15.5vw} \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/chaptercardbuilder.js b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/chaptercardbuilder.js index 050355300a..4cac68f975 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/chaptercardbuilder.js +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/chaptercardbuilder.js @@ -1 +1 @@ -define(["datetime","imageLoader","connectionManager","layoutManager","browser"],function(datetime,imageLoader,connectionManager,layoutManager,browser){"use strict";function buildChapterCardsHtml(item,chapters,options){var className="card scalableCard itemAction chapterCard";layoutManager.tv&&(browser.animate||browser.edge)&&(className+=" card-focusscale");var mediaStreams=((item.MediaSources||[])[0]||{}).MediaStreams||[],videoStream=mediaStreams.filter(function(i){return"Video"===i.Type})[0]||{},shape=options.backdropShape||"backdrop";videoStream.Width&&videoStream.Height&&videoStream.Width/videoStream.Height<=1.2&&(shape=options.squareShape||"square"),className+=" "+shape+"Card",className+=" "+shape+"Card-scalable",(options.block||options.rows)&&(className+=" block");for(var html="",itemsInRow=0,apiClient=connectionManager.getApiClient(item.ServerId),i=0,length=chapters.length;i');var chapter=chapters[i];html+=buildChapterCard(item,apiClient,chapter,i,options,className,shape),itemsInRow++,options.rows&&itemsInRow>=options.rows&&(itemsInRow=0,html+="
")}return html}function getImgUrl(item,chapter,index,maxWidth,apiClient){return chapter.ImageTag?apiClient.getScaledImageUrl(item.Id,{maxWidth:maxWidth,tag:chapter.ImageTag,type:"Chapter",index:index}):null}function buildChapterCard(item,apiClient,chapter,index,options,className,shape){var imgUrl=getImgUrl(item,chapter,index,options.width||400,apiClient),cardImageContainerClass="cardImageContainer chapterCardImageContainer";options.coverImage&&(cardImageContainerClass+=" coveredImage");var dataAttributes=' data-action="play" data-isfolder="'+item.IsFolder+'" data-id="'+item.Id+'" data-serverid="'+item.ServerId+'" data-type="'+item.Type+'" data-mediatype="'+item.MediaType+'" data-positionticks="'+chapter.StartPositionTicks+'"',cardImageContainer=imgUrl?'
':'
';imgUrl||(cardImageContainer+='local_movies');var nameHtml="";nameHtml+='
'+chapter.Name+"
",nameHtml+='
'+datetime.getDisplayRunningTime(chapter.StartPositionTicks)+"
";var cardBoxCssClass="cardBox";if(layoutManager.tv){var enableFocusTransfrom=!browser.slow&&!browser.xboxOne&&!browser.edgeUwp;enableFocusTransfrom&&(cardBoxCssClass+=" cardBox-focustransform"),enableFocusTransfrom||(cardBoxCssClass+=" card-focuscontent card-focuscontent-large")}var html='
";return html}function buildChapterCards(item,chapters,options){if(options.parentContainer){if(!document.body.contains(options.parentContainer))return;if(!chapters.length)return void options.parentContainer.classList.add("hide");options.parentContainer.classList.remove("hide")}var html=buildChapterCardsHtml(item,chapters,options);options.itemsContainer.innerHTML=html,imageLoader.lazyChildren(options.itemsContainer)}return{buildChapterCards:buildChapterCards}}); \ No newline at end of file +define(["datetime","imageLoader","connectionManager","layoutManager","browser"],function(datetime,imageLoader,connectionManager,layoutManager,browser){"use strict";function buildChapterCardsHtml(item,chapters,options){var className="card itemAction chapterCard";layoutManager.tv&&(browser.animate||browser.edge)&&(className+=" card-focusscale");var mediaStreams=((item.MediaSources||[])[0]||{}).MediaStreams||[],videoStream=mediaStreams.filter(function(i){return"Video"===i.Type})[0]||{},shape=options.backdropShape||"backdrop";videoStream.Width&&videoStream.Height&&videoStream.Width/videoStream.Height<=1.2&&(shape=options.squareShape||"square"),className+=" "+shape+"Card",(options.block||options.rows)&&(className+=" block");for(var html="",itemsInRow=0,apiClient=connectionManager.getApiClient(item.ServerId),i=0,length=chapters.length;i');var chapter=chapters[i];html+=buildChapterCard(item,apiClient,chapter,i,options,className,shape),itemsInRow++,options.rows&&itemsInRow>=options.rows&&(itemsInRow=0,html+="
")}return html}function getImgUrl(item,chapter,index,maxWidth,apiClient){return chapter.ImageTag?apiClient.getScaledImageUrl(item.Id,{maxWidth:maxWidth,tag:chapter.ImageTag,type:"Chapter",index:index}):null}function buildChapterCard(item,apiClient,chapter,index,options,className,shape){var imgUrl=getImgUrl(item,chapter,index,options.width||400,apiClient),cardImageContainerClass="cardImageContainer chapterCardImageContainer";options.coverImage&&(cardImageContainerClass+=" coveredImage");var dataAttributes=' data-action="play" data-isfolder="'+item.IsFolder+'" data-id="'+item.Id+'" data-serverid="'+item.ServerId+'" data-type="'+item.Type+'" data-mediatype="'+item.MediaType+'" data-positionticks="'+chapter.StartPositionTicks+'"',cardImageContainer=imgUrl?'
':'
';imgUrl||(cardImageContainer+='local_movies');var nameHtml="";nameHtml+='
'+chapter.Name+"
",nameHtml+='
'+datetime.getDisplayRunningTime(chapter.StartPositionTicks)+"
";var cardBoxCssClass="cardBox",cardScalableClass="cardScalable";if(layoutManager.tv){var enableFocusTransfrom=!browser.slow&&!browser.xboxOne&&!browser.edgeUwp;cardScalableClass+=" card-focuscontent",enableFocusTransfrom?cardBoxCssClass+=" cardBox-focustransform":(cardBoxCssClass+=" card-focuscontent card-focuscontent-large",cardScalableClass+=" card-focuscontent-large")}var html='
";return html}function buildChapterCards(item,chapters,options){if(options.parentContainer){if(!document.body.contains(options.parentContainer))return;if(!chapters.length)return void options.parentContainer.classList.add("hide");options.parentContainer.classList.remove("hide")}var html=buildChapterCardsHtml(item,chapters,options);options.itemsContainer.innerHTML=html,imageLoader.lazyChildren(options.itemsContainer)}return{buildChapterCards:buildChapterCards}}); \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/datetime.js b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/datetime.js index d10ca6391c..ec7a048eba 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/datetime.js +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/datetime.js @@ -1 +1 @@ -define(["globalize"],function(globalize){"use strict";function parseISO8601Date(s,toLocal){var re=/(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(\.\d+)?(Z|([+-])(\d{2}):(\d{2}))?/,d=s.match(re);if(!d)throw"Couldn't parse ISO 8601 date string '"+s+"'";var a=[1,2,3,4,5,6,10,11];for(var i in a)d[a[i]]=parseInt(d[a[i]],10);d[7]=parseFloat(d[7]);var ms=Date.UTC(d[1],d[2]-1,d[3],d[4],d[5],d[6]);if(d[7]>0&&(ms+=Math.round(1e3*d[7])),"Z"!==d[8]&&d[10]){var offset=60*d[10]*60*1e3;d[11]&&(offset+=60*d[11]*1e3),"-"===d[9]?ms-=offset:ms+=offset}else toLocal===!1&&(ms+=6e4*(new Date).getTimezoneOffset());return new Date(ms)}function getDisplayRunningTime(ticks){var ticksPerHour=36e9,ticksPerMinute=6e8,ticksPerSecond=1e7,parts=[],hours=ticks/ticksPerHour;hours=Math.floor(hours),hours&&parts.push(hours),ticks-=hours*ticksPerHour;var minutes=ticks/ticksPerMinute;minutes=Math.floor(minutes),ticks-=minutes*ticksPerMinute,minutes<10&&hours&&(minutes="0"+minutes),parts.push(minutes);var seconds=ticks/ticksPerSecond;return seconds=Math.floor(seconds),seconds<10&&(seconds="0"+seconds),parts.push(seconds),parts.join(":")}function getCurrentLocale(){var locale=globalize.getCurrentLocale();return locale}function getOptionList(options){var list=[];for(var i in options)list.push({name:i,value:options[i]});return list}function toLocaleString(date,options){if(!date)throw new Error("date cannot be null");if(options=options||{},toLocaleTimeStringSupportsLocales){var currentLocale=getCurrentLocale();if(currentLocale)return date.toLocaleString(currentLocale,options)}return date.toLocaleString()}function toLocaleDateString(date,options){if(!date)throw new Error("date cannot be null");if(options=options||{},toLocaleTimeStringSupportsLocales){var currentLocale=getCurrentLocale();if(currentLocale)return date.toLocaleDateString(currentLocale,options)}var optionList=getOptionList(options);if(1===optionList.length&&"weekday"===optionList[0].name){var weekday=[];return weekday[0]="Sun",weekday[1]="Mon",weekday[2]="Tue",weekday[3]="Wed",weekday[4]="Thu",weekday[5]="Fri",weekday[6]="Sat",weekday[date.getDay()]}return date.toLocaleDateString()}function toLocaleTimeString(date,options){if(!date)throw new Error("date cannot be null");if(options=options||{},toLocaleTimeStringSupportsLocales){var currentLocale=getCurrentLocale();if(currentLocale)return date.toLocaleTimeString(currentLocale,options)}return date.toLocaleTimeString()}function getDisplayTime(date){if(!date)throw new Error("date cannot be null");if("string"===(typeof date).toString().toLowerCase())try{date=parseISO8601Date(date,!0)}catch(err){return date}if(toLocaleTimeStringSupportsLocales)return toLocaleTimeString(date,{hour:"numeric",minute:"2-digit"});var time=toLocaleTimeString(date),timeLower=time.toLowerCase();if(timeLower.indexOf("am")!==-1||timeLower.indexOf("pm")!==-1){time=timeLower;var hour=date.getHours()%12,suffix=date.getHours()>11?"pm":"am";hour||(hour=12);var minutes=date.getMinutes();minutes<10&&(minutes="0"+minutes),minutes=":"+minutes,time=hour+minutes+suffix}else{var timeParts=time.split(":");timeParts.length>2&&(timeParts.length=2,time=timeParts.join(":"))}return time}function isRelativeDay(date,offsetInDays){if(!date)throw new Error("date cannot be null");var yesterday=new Date,day=yesterday.getDate()+offsetInDays;return yesterday.setDate(day),date.getFullYear()===yesterday.getFullYear()&&date.getMonth()===yesterday.getMonth()&&date.getDate()===day}var toLocaleTimeStringSupportsLocales=function(){try{(new Date).toLocaleTimeString("i")}catch(e){return"RangeError"===e.name}return!1}();return{parseISO8601Date:parseISO8601Date,getDisplayRunningTime:getDisplayRunningTime,toLocaleDateString:toLocaleDateString,toLocaleString:toLocaleString,getDisplayTime:getDisplayTime,isRelativeDay:isRelativeDay,toLocaleTimeString:toLocaleTimeString}}); \ No newline at end of file +define(["globalize"],function(globalize){"use strict";function parseISO8601Date(s,toLocal){var re=/(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(\.\d+)?(Z|([+-])(\d{2}):(\d{2}))?/,d=s.match(re);if(!d)throw"Couldn't parse ISO 8601 date string '"+s+"'";var a=[1,2,3,4,5,6,10,11];for(var i in a)d[a[i]]=parseInt(d[a[i]],10);d[7]=parseFloat(d[7]);var ms=Date.UTC(d[1],d[2]-1,d[3],d[4],d[5],d[6]);if(d[7]>0&&(ms+=Math.round(1e3*d[7])),"Z"!==d[8]&&d[10]){var offset=60*d[10]*60*1e3;d[11]&&(offset+=60*d[11]*1e3),"-"===d[9]?ms-=offset:ms+=offset}else toLocal===!1&&(ms+=6e4*(new Date).getTimezoneOffset());return new Date(ms)}function getDisplayRunningTime(ticks){var ticksPerHour=36e9,ticksPerMinute=6e8,ticksPerSecond=1e7,parts=[],hours=ticks/ticksPerHour;hours=Math.floor(hours),hours&&parts.push(hours),ticks-=hours*ticksPerHour;var minutes=ticks/ticksPerMinute;minutes=Math.floor(minutes),ticks-=minutes*ticksPerMinute,minutes<10&&hours&&(minutes="0"+minutes),parts.push(minutes);var seconds=ticks/ticksPerSecond;return seconds=Math.floor(seconds),seconds<10&&(seconds="0"+seconds),parts.push(seconds),parts.join(":")}function getOptionList(options){var list=[];for(var i in options)list.push({name:i,value:options[i]});return list}function toLocaleString(date,options){if(!date)throw new Error("date cannot be null");if(options=options||{},toLocaleTimeStringSupportsLocales){var currentLocale=globalize.getCurrentDateTimeLocale();if(currentLocale)return date.toLocaleString(currentLocale,options)}return date.toLocaleString()}function toLocaleDateString(date,options){if(!date)throw new Error("date cannot be null");if(options=options||{},toLocaleTimeStringSupportsLocales){var currentLocale=globalize.getCurrentDateTimeLocale();if(currentLocale)return date.toLocaleDateString(currentLocale,options)}var optionList=getOptionList(options);if(1===optionList.length&&"weekday"===optionList[0].name){var weekday=[];return weekday[0]="Sun",weekday[1]="Mon",weekday[2]="Tue",weekday[3]="Wed",weekday[4]="Thu",weekday[5]="Fri",weekday[6]="Sat",weekday[date.getDay()]}return date.toLocaleDateString()}function toLocaleTimeString(date,options){if(!date)throw new Error("date cannot be null");if(options=options||{},toLocaleTimeStringSupportsLocales){var currentLocale=globalize.getCurrentDateTimeLocale();if(currentLocale)return date.toLocaleTimeString(currentLocale,options)}return date.toLocaleTimeString()}function getDisplayTime(date){if(!date)throw new Error("date cannot be null");if("string"===(typeof date).toString().toLowerCase())try{date=parseISO8601Date(date,!0)}catch(err){return date}if(toLocaleTimeStringSupportsLocales)return toLocaleTimeString(date,{hour:"numeric",minute:"2-digit"});var time=toLocaleTimeString(date),timeLower=time.toLowerCase();if(timeLower.indexOf("am")!==-1||timeLower.indexOf("pm")!==-1){time=timeLower;var hour=date.getHours()%12,suffix=date.getHours()>11?"pm":"am";hour||(hour=12);var minutes=date.getMinutes();minutes<10&&(minutes="0"+minutes),minutes=":"+minutes,time=hour+minutes+suffix}else{var timeParts=time.split(":");timeParts.length>2&&(timeParts.length=2,time=timeParts.join(":"))}return time}function isRelativeDay(date,offsetInDays){if(!date)throw new Error("date cannot be null");var yesterday=new Date,day=yesterday.getDate()+offsetInDays;return yesterday.setDate(day),date.getFullYear()===yesterday.getFullYear()&&date.getMonth()===yesterday.getMonth()&&date.getDate()===day}var toLocaleTimeStringSupportsLocales=function(){try{(new Date).toLocaleTimeString("i")}catch(e){return"RangeError"===e.name}return!1}();return{parseISO8601Date:parseISO8601Date,getDisplayRunningTime:getDisplayRunningTime,toLocaleDateString:toLocaleDateString,toLocaleString:toLocaleString,getDisplayTime:getDisplayTime,isRelativeDay:isRelativeDay,toLocaleTimeString:toLocaleTimeString,supportsLocalization:function(){return toLocaleTimeStringSupportsLocales}}}); \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/dialog/dialog.js b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/dialog/dialog.js index ee870d0edd..13a8e6421d 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/dialog/dialog.js +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/dialog/dialog.js @@ -1 +1 @@ -define(["dialogHelper","dom","layoutManager","scrollHelper","globalize","require","material-icons","emby-button","paper-icon-button-light","emby-input","formDialogStyle"],function(dialogHelper,dom,layoutManager,scrollHelper,globalize,require){"use strict";function showDialog(options,template){function onButtonClick(){dialogResult=this.getAttribute("data-id"),dialogHelper.close(dlg)}var dialogOptions={removeOnClose:!0,scrollY:!1},enableTvLayout=layoutManager.tv;enableTvLayout&&(dialogOptions.size="fullscreen");var dlg=dialogHelper.createDialog(dialogOptions);dlg.classList.add("formDialog"),dlg.innerHTML=globalize.translateHtml(template,"sharedcomponents"),dlg.style["align-items"]="center",dlg.style["justify-content"]="center";var formDialogContent=dlg.querySelector(".formDialogContent");formDialogContent.style["flex-grow"]="initial",enableTvLayout?(formDialogContent.style["max-width"]="50%",formDialogContent.style["max-height"]="60%",scrollHelper.centerFocus.on(formDialogContent,!1)):(formDialogContent.style.maxWidth=Math.min(150*options.buttons.length+200,dom.getWindowSize().innerWidth-50)+"px",dlg.classList.add("dialog-fullscreen-lowres")),options.title?dlg.querySelector(".formDialogHeaderTitle").innerHTML=options.title||"":dlg.querySelector(".formDialogHeaderTitle").classList.add("hide"),dlg.querySelector(".text").innerHTML=options.html||options.text||"";var i,length,html="";for(i=0,length=options.buttons.length;i"+item.name+""}dlg.querySelector(".formDialogFooter").innerHTML=html;var dialogResult,buttons=dlg.querySelectorAll(".btnOption");for(i=0,length=buttons.length;i"+item.name+""}dlg.querySelector(".formDialogFooter").innerHTML=html;var dialogResult,buttons=dlg.querySelectorAll(".btnOption");for(i=0,length=buttons.length;i +

diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/displaysettings/displaysettings.js b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/displaysettings/displaysettings.js index 9c7d9f3f57..3186b16474 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/displaysettings/displaysettings.js +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/displaysettings/displaysettings.js @@ -1 +1 @@ -define(["require","layoutManager","appSettings","pluginManager","apphost","focusManager","globalize","loading","connectionManager","skinManager","dom","events","emby-select","emby-checkbox","emby-linkbutton"],function(require,layoutManager,appSettings,pluginManager,appHost,focusManager,globalize,loading,connectionManager,skinManager,dom,events){"use strict";function fillThemes(select,isDashboard){select.innerHTML=skinManager.getThemes().map(function(t){var value=t.id;return t.isDefault&&!isDashboard?value="":t.isDefaultServerDashboard&&isDashboard&&(value=""),'"}).join("")}function loadScreensavers(context,userSettings){var selectScreensaver=context.querySelector(".selectScreensaver"),options=pluginManager.ofType("screensaver").map(function(plugin){return{name:plugin.name,value:plugin.id}});options.unshift({name:globalize.translate("sharedcomponents#None"),value:"none"}),selectScreensaver.innerHTML=options.map(function(o){return'"}).join(""),selectScreensaver.value=userSettings.screensaver(),selectScreensaver.value||(selectScreensaver.value="none")}function loadSoundEffects(context,userSettings){var selectSoundEffects=context.querySelector(".selectSoundEffects"),options=pluginManager.ofType("soundeffects").map(function(plugin){return{name:plugin.name,value:plugin.id}});options.unshift({name:globalize.translate("sharedcomponents#None"),value:"none"}),selectSoundEffects.innerHTML=options.map(function(o){return'"}).join(""),selectSoundEffects.value=userSettings.soundEffects(),selectSoundEffects.value||(selectSoundEffects.value="none")}function loadSkins(context,userSettings){var selectSkin=context.querySelector(".selectSkin"),options=pluginManager.ofType("skin").map(function(plugin){return{name:plugin.name,value:plugin.id}});selectSkin.innerHTML=options.map(function(o){return'"}).join(""),selectSkin.value=userSettings.skin(),!selectSkin.value&&options.length&&(selectSkin.value=options[0].value)}function loadForm(context,user,userSettings,apiClient){apiClient.getCurrentUserId(),user.Id;user.Policy.IsAdministrator?context.querySelector(".selectDashboardThemeContainer").classList.remove("hide"):context.querySelector(".selectDashboardThemeContainer").classList.add("hide"),appHost.supports("displaylanguage")?context.querySelector(".languageSection").classList.remove("hide"):context.querySelector(".languageSection").classList.add("hide"),appHost.supports("displaymode")?context.querySelector(".fldDisplayMode").classList.remove("hide"):context.querySelector(".fldDisplayMode").classList.add("hide"),appHost.supports("runatstartup")?context.querySelector(".fldAutorun").classList.remove("hide"):context.querySelector(".fldAutorun").classList.add("hide"),appHost.supports("soundeffects")?context.querySelector(".fldSoundEffects").classList.remove("hide"):context.querySelector(".fldSoundEffects").classList.add("hide"),appHost.supports("skins")?context.querySelector(".selectSkinContainer").classList.remove("hide"):context.querySelector(".selectSkinContainer").classList.add("hide"),appHost.supports("screensaver")?context.querySelector(".selectScreensaverContainer").classList.remove("hide"):context.querySelector(".selectScreensaverContainer").classList.add("hide"),context.querySelector(".chkRunAtStartup").checked=appSettings.runAtStartup();var selectTheme=context.querySelector("#selectTheme"),selectDashboardTheme=context.querySelector("#selectDashboardTheme");fillThemes(selectTheme),fillThemes(selectDashboardTheme,!0),loadScreensavers(context,userSettings),loadSoundEffects(context,userSettings),loadSkins(context,userSettings),context.querySelector(".chkDisplayMissingEpisodes").checked=user.Configuration.DisplayMissingEpisodes||!1,context.querySelector("#chkThemeSong").checked=userSettings.enableThemeSongs(),context.querySelector("#chkThemeVideo").checked=userSettings.enableThemeVideos(),context.querySelector("#chkBackdrops").checked=userSettings.enableBackdrops(),context.querySelector("#chkSeasonalThemes").checked=userSettings.enableSeasonalThemes(),context.querySelector("#selectLanguage").value=userSettings.language()||"",selectDashboardTheme.value=userSettings.dashboardTheme()||"",selectTheme.value=userSettings.theme()||"",context.querySelector(".selectLayout").value=layoutManager.getSavedLayout()||"",loading.hide()}function refreshGlobalUserSettings(userSettingsInstance){require(["userSettings"],function(userSettings){userSettings.importFrom(userSettingsInstance)})}function saveUser(context,user,userSettingsInstance,apiClient){return appSettings.runAtStartup(context.querySelector(".chkRunAtStartup").checked),user.Configuration.DisplayMissingEpisodes=context.querySelector(".chkDisplayMissingEpisodes").checked,appHost.supports("displaylanguage")&&userSettingsInstance.language(context.querySelector("#selectLanguage").value),userSettingsInstance.enableThemeSongs(context.querySelector("#chkThemeSong").checked),userSettingsInstance.enableThemeVideos(context.querySelector("#chkThemeVideo").checked),userSettingsInstance.dashboardTheme(context.querySelector("#selectDashboardTheme").value),userSettingsInstance.theme(context.querySelector("#selectTheme").value),userSettingsInstance.soundEffects(context.querySelector(".selectSoundEffects").value),userSettingsInstance.screensaver(context.querySelector(".selectScreensaver").value),userSettingsInstance.skin(context.querySelector(".selectSkin").value),userSettingsInstance.enableBackdrops(context.querySelector("#chkBackdrops").checked),userSettingsInstance.enableSeasonalThemes(context.querySelector("#chkSeasonalThemes").checked),user.Id===apiClient.getCurrentUserId()&&(skinManager.setTheme(userSettingsInstance.theme()),refreshGlobalUserSettings(userSettingsInstance)),layoutManager.setLayout(context.querySelector(".selectLayout").value),apiClient.updateUserConfiguration(user.Id,user.Configuration)}function save(instance,context,userId,userSettings,apiClient,enableSaveConfirmation){loading.show(),apiClient.getUser(userId).then(function(user){saveUser(context,user,userSettings,apiClient).then(function(){loading.hide(),enableSaveConfirmation&&require(["toast"],function(toast){toast(globalize.translate("sharedcomponents#SettingsSaved"))}),events.trigger(instance,"saved")},function(){loading.hide()})})}function onSubmit(e){var self=this,apiClient=connectionManager.getApiClient(self.options.serverId),userId=self.options.userId,userSettings=self.options.userSettings;return userSettings.setUserInfo(userId,apiClient).then(function(){var enableSaveConfirmation=self.options.enableSaveConfirmation;save(self,self.options.element,userId,userSettings,apiClient,enableSaveConfirmation)}),e&&e.preventDefault(),!1}function embed(options,self){require(["text!./displaysettings.template.html"],function(template){options.element.innerHTML=globalize.translateDocument(template,"sharedcomponents"),options.element.querySelector("form").addEventListener("submit",onSubmit.bind(self)),options.enableSaveButton&&options.element.querySelector(".btnSave").classList.remove("hide"),self.loadData(options.autoFocus)})}function DisplaySettings(options){this.options=options,embed(options,this)}return DisplaySettings.prototype.loadData=function(autoFocus){var self=this,context=self.options.element;loading.show();var userId=self.options.userId,apiClient=connectionManager.getApiClient(self.options.serverId),userSettings=self.options.userSettings;return apiClient.getUser(userId).then(function(user){return userSettings.setUserInfo(userId,apiClient).then(function(){self.dataLoaded=!0,loadForm(context,user,userSettings,apiClient),autoFocus&&focusManager.autoFocus(context)})})},DisplaySettings.prototype.submit=function(){onSubmit.call(this)},DisplaySettings.prototype.destroy=function(){this.options=null},DisplaySettings}); \ No newline at end of file +define(["require","layoutManager","appSettings","pluginManager","apphost","focusManager","datetime","globalize","loading","connectionManager","skinManager","dom","events","emby-select","emby-checkbox","emby-linkbutton"],function(require,layoutManager,appSettings,pluginManager,appHost,focusManager,datetime,globalize,loading,connectionManager,skinManager,dom,events){"use strict";function fillThemes(select,isDashboard){select.innerHTML=skinManager.getThemes().map(function(t){var value=t.id;return t.isDefault&&!isDashboard?value="":t.isDefaultServerDashboard&&isDashboard&&(value=""),'"}).join("")}function loadScreensavers(context,userSettings){var selectScreensaver=context.querySelector(".selectScreensaver"),options=pluginManager.ofType("screensaver").map(function(plugin){return{name:plugin.name,value:plugin.id}});options.unshift({name:globalize.translate("sharedcomponents#None"),value:"none"}),selectScreensaver.innerHTML=options.map(function(o){return'"}).join(""),selectScreensaver.value=userSettings.screensaver(),selectScreensaver.value||(selectScreensaver.value="none")}function loadSoundEffects(context,userSettings){var selectSoundEffects=context.querySelector(".selectSoundEffects"),options=pluginManager.ofType("soundeffects").map(function(plugin){return{name:plugin.name,value:plugin.id}});options.unshift({name:globalize.translate("sharedcomponents#None"),value:"none"}),selectSoundEffects.innerHTML=options.map(function(o){return'"}).join(""),selectSoundEffects.value=userSettings.soundEffects(),selectSoundEffects.value||(selectSoundEffects.value="none")}function loadSkins(context,userSettings){var selectSkin=context.querySelector(".selectSkin"),options=pluginManager.ofType("skin").map(function(plugin){return{name:plugin.name,value:plugin.id}});selectSkin.innerHTML=options.map(function(o){return'"}).join(""),selectSkin.value=userSettings.skin(),!selectSkin.value&&options.length&&(selectSkin.value=options[0].value)}function loadForm(context,user,userSettings,apiClient){apiClient.getCurrentUserId(),user.Id;user.Policy.IsAdministrator?context.querySelector(".selectDashboardThemeContainer").classList.remove("hide"):context.querySelector(".selectDashboardThemeContainer").classList.add("hide"),appHost.supports("displaylanguage")?context.querySelector(".languageSection").classList.remove("hide"):context.querySelector(".languageSection").classList.add("hide"),appHost.supports("displaymode")?context.querySelector(".fldDisplayMode").classList.remove("hide"):context.querySelector(".fldDisplayMode").classList.add("hide"),appHost.supports("runatstartup")?context.querySelector(".fldAutorun").classList.remove("hide"):context.querySelector(".fldAutorun").classList.add("hide"),appHost.supports("soundeffects")?context.querySelector(".fldSoundEffects").classList.remove("hide"):context.querySelector(".fldSoundEffects").classList.add("hide"),appHost.supports("skins")?context.querySelector(".selectSkinContainer").classList.remove("hide"):context.querySelector(".selectSkinContainer").classList.add("hide"),appHost.supports("screensaver")?context.querySelector(".selectScreensaverContainer").classList.remove("hide"):context.querySelector(".selectScreensaverContainer").classList.add("hide"),datetime.supportsLocalization()?context.querySelector(".fldDateTimeLocale").classList.remove("hide"):context.querySelector(".fldDateTimeLocale").classList.add("hide"),context.querySelector(".chkRunAtStartup").checked=appSettings.runAtStartup();var selectTheme=context.querySelector("#selectTheme"),selectDashboardTheme=context.querySelector("#selectDashboardTheme");fillThemes(selectTheme),fillThemes(selectDashboardTheme,!0),loadScreensavers(context,userSettings),loadSoundEffects(context,userSettings),loadSkins(context,userSettings),context.querySelector(".chkDisplayMissingEpisodes").checked=user.Configuration.DisplayMissingEpisodes||!1,context.querySelector("#chkThemeSong").checked=userSettings.enableThemeSongs(),context.querySelector("#chkThemeVideo").checked=userSettings.enableThemeVideos(),context.querySelector("#chkBackdrops").checked=userSettings.enableBackdrops(),context.querySelector("#chkSeasonalThemes").checked=userSettings.enableSeasonalThemes(),context.querySelector("#selectLanguage").value=userSettings.language()||"",context.querySelector(".selectDateTimeLocale").value=userSettings.dateTimeLocale()||"",selectDashboardTheme.value=userSettings.dashboardTheme()||"",selectTheme.value=userSettings.theme()||"",context.querySelector(".selectLayout").value=layoutManager.getSavedLayout()||"",loading.hide()}function saveUser(context,user,userSettingsInstance,apiClient){return appSettings.runAtStartup(context.querySelector(".chkRunAtStartup").checked),user.Configuration.DisplayMissingEpisodes=context.querySelector(".chkDisplayMissingEpisodes").checked,appHost.supports("displaylanguage")&&userSettingsInstance.language(context.querySelector("#selectLanguage").value),userSettingsInstance.dateTimeLocale(context.querySelector(".selectDateTimeLocale").value),userSettingsInstance.enableThemeSongs(context.querySelector("#chkThemeSong").checked),userSettingsInstance.enableThemeVideos(context.querySelector("#chkThemeVideo").checked),userSettingsInstance.dashboardTheme(context.querySelector("#selectDashboardTheme").value),userSettingsInstance.theme(context.querySelector("#selectTheme").value),userSettingsInstance.soundEffects(context.querySelector(".selectSoundEffects").value),userSettingsInstance.screensaver(context.querySelector(".selectScreensaver").value),userSettingsInstance.skin(context.querySelector(".selectSkin").value),userSettingsInstance.enableBackdrops(context.querySelector("#chkBackdrops").checked),userSettingsInstance.enableSeasonalThemes(context.querySelector("#chkSeasonalThemes").checked),user.Id===apiClient.getCurrentUserId()&&skinManager.setTheme(userSettingsInstance.theme()),layoutManager.setLayout(context.querySelector(".selectLayout").value),apiClient.updateUserConfiguration(user.Id,user.Configuration)}function save(instance,context,userId,userSettings,apiClient,enableSaveConfirmation){loading.show(),apiClient.getUser(userId).then(function(user){saveUser(context,user,userSettings,apiClient).then(function(){loading.hide(),enableSaveConfirmation&&require(["toast"],function(toast){toast(globalize.translate("sharedcomponents#SettingsSaved"))}),events.trigger(instance,"saved")},function(){loading.hide()})})}function onSubmit(e){var self=this,apiClient=connectionManager.getApiClient(self.options.serverId),userId=self.options.userId,userSettings=self.options.userSettings;return userSettings.setUserInfo(userId,apiClient).then(function(){var enableSaveConfirmation=self.options.enableSaveConfirmation;save(self,self.options.element,userId,userSettings,apiClient,enableSaveConfirmation)}),e&&e.preventDefault(),!1}function embed(options,self){require(["text!./displaysettings.template.html"],function(template){options.element.innerHTML=globalize.translateDocument(template,"sharedcomponents"),options.element.querySelector("form").addEventListener("submit",onSubmit.bind(self)),options.enableSaveButton&&options.element.querySelector(".btnSave").classList.remove("hide"),self.loadData(options.autoFocus)})}function DisplaySettings(options){this.options=options,embed(options,this)}return DisplaySettings.prototype.loadData=function(autoFocus){var self=this,context=self.options.element;loading.show();var userId=self.options.userId,apiClient=connectionManager.getApiClient(self.options.serverId),userSettings=self.options.userSettings;return apiClient.getUser(userId).then(function(user){return userSettings.setUserInfo(userId,apiClient).then(function(){self.dataLoaded=!0,loadForm(context,user,userSettings,apiClient),autoFocus&&focusManager.autoFocus(context)})})},DisplaySettings.prototype.submit=function(){onSubmit.call(this)},DisplaySettings.prototype.destroy=function(){this.options=null},DisplaySettings}); \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/displaysettings/displaysettings.template.html b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/displaysettings/displaysettings.template.html index 7886af59e4..6e0a0405e0 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/displaysettings/displaysettings.template.html +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/displaysettings/displaysettings.template.html @@ -60,6 +60,57 @@

+
+ +
+
",currentHtml+=""+i.Name+"",currentHtml+=""}).join(""),folderHtml+="
",page.querySelector(".folderGroupList").innerHTML=folderHtml}function getLandingScreenOptions(type){var list=[];return"movies"===type?(list.push({name:globalize.translate("sharedcomponents#Movies"),value:"movies",isDefault:!0}),list.push({name:globalize.translate("sharedcomponents#Suggestions"),value:"suggestions"}),list.push({name:globalize.translate("sharedcomponents#Favorites"),value:"favorites"}),list.push({name:globalize.translate("sharedcomponents#Collections"),value:"collections"})):"tvshows"===type&&(list.push({name:globalize.translate("sharedcomponents#Shows"),value:"shows",isDefault:!0}),list.push({name:globalize.translate("sharedcomponents#Suggestions"),value:"suggestions"}),list.push({name:globalize.translate("sharedcomponents#Latest"),value:"latest"}),list.push({name:globalize.translate("sharedcomponents#Favorites"),value:"favorites"})),list.push({name:globalize.translate("sharedcomponents#Genres"),value:"genres"}),list}function getLandingScreenOptionsHtml(type,userValue){return getLandingScreenOptions(type).map(function(o){var selected=userValue===o.value||o.isDefault&&!userValue,selectedHtml=selected?" selected":"",optionValue=o.isDefault?"":o.value;return'"}).join("")}function renderLandingScreens(context,user,userSettings,result){for(var html="",i=0,length=result.Items.length;i',html+='",html+="
"}}context.querySelector(".landingScreens").innerHTML=html,html?context.querySelector(".landingScreensSection").classList.remove("hide"):context.querySelector(".landingScreensSection").classList.add("hide")}function renderViewOrder(context,user,result){var html="",index=0;html+=result.Items.map(function(view){var currentHtml="";return currentHtml+='
',currentHtml+='',currentHtml+='
',currentHtml+="
",currentHtml+=view.Name,currentHtml+="
",currentHtml+="
",currentHtml+='',currentHtml+='',currentHtml+="
",index++,currentHtml}).join(""),context.querySelector(".viewOrderList").innerHTML=html}function updateHomeSectionValues(context,userSettings){for(var i=1;i<=7;i++){var select=context.querySelector("#selectHomeSection"+i),defaultValue=homeSections.getDefaultSection(i-1),option=select.querySelector("option[value="+defaultValue+"]")||select.querySelector('option[value=""]'),userValue=userSettings.get("homesection"+(i-1));option.value="",userValue!==defaultValue&&userValue?select.value=userValue:select.value=""}}function loadForm(context,user,userSettings,apiClient){context.querySelector(".chkHidePlayedFromLatest").checked=user.Configuration.HidePlayedInLatest||!1,updateHomeSectionValues(context,userSettings);var promise1=apiClient.getUserViews({},user.Id),promise2=apiClient.getJSON(apiClient.getUrl("Users/"+user.Id+"/GroupingOptions"));Promise.all([promise1,promise2]).then(function(responses){renderViews(context,user,responses[1]),renderLatestItems(context,user,responses[0]),renderViewOrder(context,user,responses[0]),renderLandingScreens(context,user,userSettings,responses[0]),loading.hide()})}function onSectionOrderListClick(e){var target=dom.parentWithClass(e.target,"btnViewItemMove");if(target){var viewItem=dom.parentWithClass(target,"viewItem");if(viewItem){dom.parentWithClass(viewItem,"paperList");if(target.classList.contains("btnViewItemDown")){var next=viewItem.nextSibling;next&&(viewItem.parentNode.removeChild(viewItem),next.parentNode.insertBefore(viewItem,next.nextSibling))}else{var prev=viewItem.previousSibling;prev&&(viewItem.parentNode.removeChild(viewItem),prev.parentNode.insertBefore(viewItem,prev))}}}}function getCheckboxItems(selector,context,isChecked){for(var inputs=context.querySelectorAll(selector),list=[],i=0,length=inputs.length;i",currentHtml+=""+i.Name+"",currentHtml+=""}).join(""),folderHtml+="",context.querySelector(".latestItemsList").innerHTML=folderHtml}function renderViews(page,user,result){var folderHtml="";folderHtml+='
',folderHtml+=result.map(function(i){var currentHtml="",id="chkGroupFolder"+i.Id,isChecked=user.Configuration.GroupedFolders.indexOf(i.Id)!==-1,checkedHtml=isChecked?' checked="checked"':"";return currentHtml+=""}).join(""),folderHtml+="
",page.querySelector(".folderGroupList").innerHTML=folderHtml}function getLandingScreenOptions(type){var list=[];return"movies"===type?(list.push({name:globalize.translate("sharedcomponents#Movies"),value:"movies",isDefault:!0}),list.push({name:globalize.translate("sharedcomponents#Suggestions"),value:"suggestions"}),list.push({name:globalize.translate("sharedcomponents#Favorites"),value:"favorites"}),list.push({name:globalize.translate("sharedcomponents#Collections"),value:"collections"})):"tvshows"===type&&(list.push({name:globalize.translate("sharedcomponents#Shows"),value:"shows",isDefault:!0}),list.push({name:globalize.translate("sharedcomponents#Suggestions"),value:"suggestions"}),list.push({name:globalize.translate("sharedcomponents#Latest"),value:"latest"}),list.push({name:globalize.translate("sharedcomponents#Favorites"),value:"favorites"})),list.push({name:globalize.translate("sharedcomponents#Genres"),value:"genres"}),list}function getLandingScreenOptionsHtml(type,userValue){return getLandingScreenOptions(type).map(function(o){var selected=userValue===o.value||o.isDefault&&!userValue,selectedHtml=selected?" selected":"",optionValue=o.isDefault?"":o.value;return'"}).join("")}function renderLandingScreens(context,user,userSettings,result){for(var html="",i=0,length=result.Items.length;i',html+='",html+=""}}context.querySelector(".landingScreens").innerHTML=html,html?context.querySelector(".landingScreensSection").classList.remove("hide"):context.querySelector(".landingScreensSection").classList.add("hide")}function renderViewOrder(context,user,result){var html="",index=0;html+=result.Items.map(function(view){var currentHtml="";return currentHtml+='
',currentHtml+='',currentHtml+='
',currentHtml+="
",currentHtml+=view.Name,currentHtml+="
",currentHtml+="
",currentHtml+='',currentHtml+='',currentHtml+="
",index++,currentHtml}).join(""),context.querySelector(".viewOrderList").innerHTML=html}function updateHomeSectionValues(context,userSettings){for(var i=1;i<=7;i++){var select=context.querySelector("#selectHomeSection"+i),defaultValue=homeSections.getDefaultSection(i-1),option=select.querySelector("option[value="+defaultValue+"]")||select.querySelector('option[value=""]'),userValue=userSettings.get("homesection"+(i-1));option.value="",userValue!==defaultValue&&userValue?select.value=userValue:select.value=""}}function loadForm(context,user,userSettings,apiClient){context.querySelector(".chkHidePlayedFromLatest").checked=user.Configuration.HidePlayedInLatest||!1,updateHomeSectionValues(context,userSettings);var promise1=apiClient.getUserViews({},user.Id),promise2=apiClient.getJSON(apiClient.getUrl("Users/"+user.Id+"/GroupingOptions"));Promise.all([promise1,promise2]).then(function(responses){renderViews(context,user,responses[1]),renderLatestItems(context,user,responses[0]),renderViewOrder(context,user,responses[0]),renderLandingScreens(context,user,userSettings,responses[0]),loading.hide()})}function onSectionOrderListClick(e){var target=dom.parentWithClass(e.target,"btnViewItemMove");if(target){var viewItem=dom.parentWithClass(target,"viewItem");if(viewItem){dom.parentWithClass(viewItem,"paperList");if(target.classList.contains("btnViewItemDown")){var next=viewItem.nextSibling;next&&(viewItem.parentNode.removeChild(viewItem),next.parentNode.insertBefore(viewItem,next.nextSibling))}else{var prev=viewItem.previousSibling;prev&&(viewItem.parentNode.removeChild(viewItem),prev.parentNode.insertBefore(viewItem,prev))}}}}function getCheckboxItems(selector,context,isChecked){for(var inputs=context.querySelectorAll(selector),list=[],i=0,length=inputs.length;i3e3?(recoverDecodingErrorDate=now,console.log("try to recover media Error ..."),hlsPlayer.recoverMediaError()):!recoverSwapAudioCodecDate||now-recoverSwapAudioCodecDate>3e3?(recoverSwapAudioCodecDate=now,console.log("try to swap Audio Codec and recover media Error ..."),hlsPlayer.swapAudioCodec(),hlsPlayer.recoverMediaError()):(console.error("cannot recover, last media error recovery failed ..."),reject?reject():onErrorInternal(instance,"mediadecodeerror"))}}function onErrorInternal(instance,type){instance.destroyCustomTrack&&instance.destroyCustomTrack(instance._mediaElement),events.trigger(instance,"error",[{type:type}])}function isValidDuration(duration){return!(!duration||isNaN(duration)||duration===Number.POSITIVE_INFINITY||duration===Number.NEGATIVE_INFINITY)}function setCurrentTimeIfNeeded(element,seconds){Math.abs(element.currentTime||0,seconds)<=1&&(element.currentTime=seconds)}function seekOnPlaybackStart(instance,element,ticks){var seconds=(ticks||0)/1e7;if(seconds){var delay=((instance.currentSrc()||"").toLowerCase(),browser.safari?2500:0);delay?setTimeout(function(){setCurrentTimeIfNeeded(element,seconds)},delay):setCurrentTimeIfNeeded(element,seconds)}}function applySrc(elem,src,options){return window.Windows&&options.mediaSource&&options.mediaSource.IsLocal?Windows.Storage.StorageFile.getFileFromPathAsync(options.url).then(function(file){var playlist=new Windows.Media.Playback.MediaPlaybackList,source1=Windows.Media.Core.MediaSource.createFromStorageFile(file),startTime=(options.playerStartPositionTicks||0)/1e4;return playlist.items.append(new Windows.Media.Playback.MediaPlaybackItem(source1,startTime)),elem.src=URL.createObjectURL(playlist,{oneTimeOnly:!0}),Promise.resolve()}):(elem.src=src,Promise.resolve())}function onSuccessfulPlay(elem,onErrorFn){elem.addEventListener("error",onErrorFn)}function playWithPromise(elem,onErrorFn){try{var promise=elem.play();return promise&&promise.then?promise.catch(function(e){var errorName=(e.name||"").toLowerCase();return"notallowederror"===errorName||"aborterror"===errorName?(onSuccessfulPlay(elem,onErrorFn),Promise.resolve()):Promise.reject()}):(onSuccessfulPlay(elem,onErrorFn),Promise.resolve())}catch(err){return console.log("error calling video.play: "+err),Promise.reject()}}function destroyCastPlayer(instance){var player=instance._castPlayer;if(player){try{player.unload()}catch(err){console.log(err)}instance._castPlayer=null}}function destroyShakaPlayer(instance){var player=instance._shakaPlayer;if(player){try{player.destroy()}catch(err){console.log(err)}instance._shakaPlayer=null}}function destroyHlsPlayer(instance){var player=instance._hlsPlayer;if(player){try{player.destroy()}catch(err){console.log(err)}instance._hlsPlayer=null}}function destroyFlvPlayer(instance){var player=instance._flvPlayer;if(player){try{player.unload(),player.detachMediaElement(),player.destroy()}catch(err){console.log(err)}instance._flvPlayer=null}}function bindEventsToHlsPlayer(instance,hls,elem,onErrorFn,resolve,reject){hls.on(Hls.Events.MANIFEST_PARSED,function(){playWithPromise(elem,onErrorFn).then(resolve,function(){reject&&(reject(),reject=null)})}),hls.on(Hls.Events.ERROR,function(event,data){if(console.log("HLS Error: Type: "+data.type+" Details: "+(data.details||"")+" Fatal: "+(data.fatal||!1)),data.fatal)switch(data.type){case Hls.ErrorTypes.NETWORK_ERROR:data.response&&data.response.code&&data.response.code>=400&&data.response.code<500?(console.log("hls.js response error code: "+data.response.code),reject?(reject(),reject=null):onErrorInternal("network")):data.response&&0===data.response.code?(console.log("hls.js response error code: "+data.response.code),reject?(reject(),reject=null):onErrorInternal("network")):(console.log("fatal network error encountered, try to recover"),hls.startLoad());break;case Hls.ErrorTypes.MEDIA_ERROR:console.log("fatal media error encountered, try to recover");var currentReject=reject;reject=null,handleHlsJsMediaError(instance,currentReject);break;default:console.log("Cannot recover from hls error - destroy and trigger error"),hls.destroy(),reject?(reject(),reject=null):onErrorInternal("mediadecodeerror")}})}function onEndedInternal(instance,elem,onErrorFn){elem.removeEventListener("error",onErrorFn),elem.src="",elem.innerHTML="",elem.removeAttribute("src"),destroyHlsPlayer(instance),destroyFlvPlayer(instance),destroyShakaPlayer(instance),destroyCastPlayer(instance),instance.originalDocumentTitle&&(document.title=instance.originalDocumentTitle,instance.originalDocumentTitle=null);var stopInfo={src:instance._currentSrc};events.trigger(instance,"stopped",[stopInfo]),instance._currentTime=null,instance._currentSrc=null,instance._currentPlayOptions=null}function getBufferedRanges(instance,elem){var offset,ranges=[],seekable=elem.buffered||[],currentPlayOptions=instance._currentPlayOptions;currentPlayOptions&&(offset=currentPlayOptions.transcodingOffsetTicks),offset=offset||0;for(var i=0,length=seekable.length;i3e3?(recoverDecodingErrorDate=now,console.log("try to recover media Error ..."),hlsPlayer.recoverMediaError()):!recoverSwapAudioCodecDate||now-recoverSwapAudioCodecDate>3e3?(recoverSwapAudioCodecDate=now,console.log("try to swap Audio Codec and recover media Error ..."),hlsPlayer.swapAudioCodec(),hlsPlayer.recoverMediaError()):(console.error("cannot recover, last media error recovery failed ..."),reject?reject():onErrorInternal(instance,"mediadecodeerror"))}}function onErrorInternal(instance,type){instance.destroyCustomTrack&&instance.destroyCustomTrack(instance._mediaElement),events.trigger(instance,"error",[{type:type}])}function isValidDuration(duration){return!(!duration||isNaN(duration)||duration===Number.POSITIVE_INFINITY||duration===Number.NEGATIVE_INFINITY)}function setCurrentTimeIfNeeded(element,seconds){Math.abs(element.currentTime||0,seconds)<=1&&(element.currentTime=seconds)}function seekOnPlaybackStart(instance,element,ticks){var seconds=(ticks||0)/1e7;if(seconds){var delay=((instance.currentSrc()||"").toLowerCase(),browser.safari?2500:0);delay?setTimeout(function(){setCurrentTimeIfNeeded(element,seconds)},delay):setCurrentTimeIfNeeded(element,seconds)}}function applySrc(elem,src,options){return window.Windows&&options.mediaSource&&options.mediaSource.IsLocal?Windows.Storage.StorageFile.getFileFromPathAsync(options.url).then(function(file){var playlist=new Windows.Media.Playback.MediaPlaybackList,source1=Windows.Media.Core.MediaSource.createFromStorageFile(file),startTime=(options.playerStartPositionTicks||0)/1e4;return playlist.items.append(new Windows.Media.Playback.MediaPlaybackItem(source1,startTime)),elem.src=URL.createObjectURL(playlist,{oneTimeOnly:!0}),Promise.resolve()}):(elem.src=src,Promise.resolve())}function onSuccessfulPlay(elem,onErrorFn){elem.addEventListener("error",onErrorFn)}function playWithPromise(elem,onErrorFn){try{var promise=elem.play();return promise&&promise.then?promise.catch(function(e){var errorName=(e.name||"").toLowerCase();return"notallowederror"===errorName||"aborterror"===errorName?(onSuccessfulPlay(elem,onErrorFn),Promise.resolve()):Promise.reject()}):(onSuccessfulPlay(elem,onErrorFn),Promise.resolve())}catch(err){return console.log("error calling video.play: "+err),Promise.reject()}}function destroyCastPlayer(instance){var player=instance._castPlayer;if(player){try{player.unload()}catch(err){console.log(err)}instance._castPlayer=null}}function destroyShakaPlayer(instance){var player=instance._shakaPlayer;if(player){try{player.destroy()}catch(err){console.log(err)}instance._shakaPlayer=null}}function destroyHlsPlayer(instance){var player=instance._hlsPlayer;if(player){try{player.destroy()}catch(err){console.log(err)}instance._hlsPlayer=null}}function destroyFlvPlayer(instance){var player=instance._flvPlayer;if(player){try{player.unload(),player.detachMediaElement(),player.destroy()}catch(err){console.log(err)}instance._flvPlayer=null}}function bindEventsToHlsPlayer(instance,hls,elem,onErrorFn,resolve,reject){hls.on(Hls.Events.MANIFEST_PARSED,function(){playWithPromise(elem,onErrorFn).then(resolve,function(){reject&&(reject(),reject=null)})}),hls.on(Hls.Events.ERROR,function(event,data){if(console.log("HLS Error: Type: "+data.type+" Details: "+(data.details||"")+" Fatal: "+(data.fatal||!1)),data.fatal)switch(data.type){case Hls.ErrorTypes.NETWORK_ERROR:data.response&&data.response.code&&data.response.code>=400&&data.response.code<500?(console.log("hls.js response error code: "+data.response.code),reject?(reject(),reject=null):onErrorInternal("network")):data.response&&0===data.response.code?(console.log("hls.js response error code: "+data.response.code),reject?(reject(),reject=null):onErrorInternal("network")):(console.log("fatal network error encountered, try to recover"),hls.startLoad());break;case Hls.ErrorTypes.MEDIA_ERROR:console.log("fatal media error encountered, try to recover");var currentReject=reject;reject=null,handleHlsJsMediaError(instance,currentReject);break;default:console.log("Cannot recover from hls error - destroy and trigger error"),hls.destroy(),reject?(reject(),reject=null):onErrorInternal("mediadecodeerror")}})}function onEndedInternal(instance,elem,onErrorFn){elem.removeEventListener("error",onErrorFn),elem.src="",elem.innerHTML="",elem.removeAttribute("src"),destroyHlsPlayer(instance),destroyFlvPlayer(instance),destroyShakaPlayer(instance),destroyCastPlayer(instance),instance.originalDocumentTitle&&(document.title=instance.originalDocumentTitle,instance.originalDocumentTitle=null);var stopInfo={src:instance._currentSrc};events.trigger(instance,"stopped",[stopInfo]),instance._currentTime=null,instance._currentSrc=null,instance._currentPlayOptions=null}function getBufferedRanges(instance,elem){var offset,ranges=[],seekable=elem.buffered||[],currentPlayOptions=instance._currentPlayOptions;currentPlayOptions&&(offset=currentPlayOptions.transcodingOffsetTicks),offset=offset||0;for(var i=0,length=seekable.length;i=5e3&&(isMouseIdle=!0,document.body.classList.add("mouseIdle"),events.trigger(self,"mouseidle"))}function startMouseInterval(){mouseInterval||(mouseInterval=setInterval(onMouseInterval,5e3))}function stopMouseInterval(){var interval=mouseInterval;interval&&(clearInterval(interval),mouseInterval=null),document.body.classList.remove("mouseIdle")}function initMouse(){stopMouseInterval(),dom.removeEventListener(document,"mousemove",onMouseMove,{passive:!0}),layoutManager.mobile||(startMouseInterval(),dom.addEventListener(document,"mousemove",onMouseMove,{passive:!0})),dom.removeEventListener(document,"mouseenter",onMouseEnter,{capture:!0,passive:!0}),enableFocusWithMouse()&&dom.addEventListener(document,"mouseenter",onMouseEnter,{capture:!0,passive:!0})}var isMouseIdle,lastMouseMoveData,mouseInterval,self={},lastMouseInputTime=(new Date).getTime();return initMouse(),events.on(layoutManager,"modechange",initMouse),self}); \ No newline at end of file +define(["inputManager","focusManager","browser","layoutManager","events","dom"],function(inputmanager,focusManager,browser,layoutManager,events,dom){"use strict";function mouseIdleTime(){return(new Date).getTime()-lastMouseInputTime}function notifyApp(){inputmanager.notifyMouseMove()}function onPointerMove(e){var pointerType=e.pointerType||(layoutManager.mobile?"touch":"mouse");if("mouse"===pointerType){var eventX=e.screenX,eventY=e.screenY;if("undefined"==typeof eventX&&"undefined"==typeof eventY)return;var obj=lastPointerMoveData;if(!obj)return void(lastPointerMoveData={x:eventX,y:eventY});if(Math.abs(eventX-obj.x)<10&&Math.abs(eventY-obj.y)<10)return;obj.x=eventX,obj.y=eventY,lastMouseInputTime=(new Date).getTime(),notifyApp(),isMouseIdle&&(isMouseIdle=!1,document.body.classList.remove("mouseIdle"),events.trigger(self,"mouseactive"))}}function onPointerEnter(e){var pointerType=e.pointerType||(layoutManager.mobile?"touch":"mouse");if("mouse"===pointerType&&!isMouseIdle){var parent=focusManager.focusableParent(e.target);parent&&focusManager.focus(e.target)}}function enableFocusWithMouse(){return!!layoutManager.tv&&(!browser.web0s&&!!browser.tv)}function onMouseInterval(){!isMouseIdle&&mouseIdleTime()>=5e3&&(isMouseIdle=!0,document.body.classList.add("mouseIdle"),events.trigger(self,"mouseidle"))}function startMouseInterval(){mouseInterval||(mouseInterval=setInterval(onMouseInterval,5e3))}function stopMouseInterval(){var interval=mouseInterval;interval&&(clearInterval(interval),mouseInterval=null),document.body.classList.remove("mouseIdle")}function initMouse(){stopMouseInterval(),dom.removeEventListener(document,window.PointerEvent?"pointermove":"mousemove",onPointerMove,{passive:!0}),layoutManager.mobile||(startMouseInterval(),dom.addEventListener(document,window.PointerEvent?"pointermove":"mousemove",onPointerMove,{passive:!0})),dom.removeEventListener(document,window.PointerEvent?"pointerenter":"mouseenter",onPointerEnter,{capture:!0,passive:!0}),enableFocusWithMouse()&&dom.addEventListener(document,window.PointerEvent?"pointerenter":"mouseenter",onPointerEnter,{capture:!0,passive:!0})}var isMouseIdle,lastPointerMoveData,mouseInterval,self={},lastMouseInputTime=(new Date).getTime();return initMouse(),events.on(layoutManager,"modechange",initMouse),self}); \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/itemcontextmenu.js b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/itemcontextmenu.js index 553c601e58..fcd57a5f70 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/itemcontextmenu.js +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/itemcontextmenu.js @@ -1 +1 @@ -define(["apphost","globalize","connectionManager","itemHelper","appRouter","playbackManager","loading","appSettings","browser"],function(appHost,globalize,connectionManager,itemHelper,appRouter,playbackManager,loading,appSettings,browser){"use strict";function getCommands(options){var item=options.item,canPlay=playbackManager.canPlay(item),commands=[];if(itemHelper.isLocalItem(item))return commands;if(browser.operaTv||browser.web0s)return commands;var user=options.user;itemHelper.supportsAddingToCollection(item)&&commands.push({name:globalize.translate("sharedcomponents#AddToCollection"),id:"addtocollection"}),itemHelper.supportsAddingToPlaylist(item)&&commands.push({name:globalize.translate("sharedcomponents#AddToPlaylist"),id:"addtoplaylist"});var canQueueItem=playbackManager.canQueue(item);if(canQueueItem&&options.queue!==!1&&commands.push({name:globalize.translate("sharedcomponents#AddToPlayQueue"),id:"queue"}),"Timer"===item.Type&&user.Policy.EnableLiveTvManagement&&options.cancelTimer!==!1&&commands.push({name:globalize.translate("sharedcomponents#CancelRecording"),id:"canceltimer"}),"Recording"===item.Type&&"InProgress"===item.Status&&user.Policy.EnableLiveTvManagement&&options.cancelTimer!==!1&&commands.push({name:globalize.translate("sharedcomponents#CancelRecording"),id:"canceltimer"}),"SeriesTimer"===item.Type&&user.Policy.EnableLiveTvManagement&&options.cancelTimer!==!1&&commands.push({name:globalize.translate("sharedcomponents#CancelSeries"),id:"cancelseriestimer"}),item.CanDelete&&options.deleteItem!==!1&&("Playlist"===item.Type||"BoxSet"===item.Type?commands.push({name:globalize.translate("sharedcomponents#Delete"),id:"delete"}):commands.push({name:globalize.translate("sharedcomponents#DeleteMedia"),id:"delete"})),item.CanDownload&&appHost.supports("filedownload")&&commands.push({name:globalize.translate("sharedcomponents#Download"),id:"download"}),appHost.supports("sync")&&options.syncLocal!==!1&&itemHelper.canSync(user,item)&&commands.push({name:globalize.translate("sharedcomponents#Download"),id:"synclocal"}),itemHelper.canEdit(user,item)&&options.edit!==!1&&"SeriesTimer"!==item.Type){var text="Timer"===item.Type||"SeriesTimer"===item.Type?globalize.translate("sharedcomponents#Edit"):globalize.translate("sharedcomponents#EditInfo");commands.push({name:text,id:"edit"})}return itemHelper.canEditImages(user,item)&&options.editImages!==!1&&commands.push({name:globalize.translate("sharedcomponents#EditImages"),id:"editimages"}),itemHelper.canEdit(user,item)&&("Video"!==item.MediaType||"TvChannel"===item.Type||"Program"===item.Type||"Virtual"===item.LocationType||"Recording"===item.Type&&"Completed"!==item.Status||options.editSubtitles!==!1&&commands.push({name:globalize.translate("sharedcomponents#EditSubtitles"),id:"editsubtitles"})),options.identify!==!1&&itemHelper.canIdentify(user,item.Type)&&commands.push({name:globalize.translate("sharedcomponents#Identify"),id:"identify"}),"Audio"!==item.MediaType&&"MusicAlbum"!==item.Type&&"MusicArtist"!==item.Type&&"MusicGenre"!==item.Type&&"music"!==item.CollectionType||options.instantMix!==!1&&commands.push({name:globalize.translate("sharedcomponents#InstantMix"),id:"instantmix"}),"Program"===item.Type&&options.record!==!1&&item.TimerId&&commands.push({name:Globalize.translate("sharedcomponents#ManageRecording"),id:"record"}),canPlay&&"Photo"!==item.MediaType&&(options.play!==!1&&commands.push({name:globalize.translate("sharedcomponents#Play"),id:"resume"}),options.playAllFromHere&&"Program"!==item.Type&&"TvChannel"!==item.Type&&commands.push({name:globalize.translate("sharedcomponents#PlayAllFromHere"),id:"playallfromhere"})),canQueueItem&&options.queue!==!1&&commands.push({name:globalize.translate("sharedcomponents#PlayNext"),id:"queuenext"}),"Program"===item.Type&&options.record!==!1&&(item.TimerId||commands.push({name:Globalize.translate("sharedcomponents#Record"),id:"record"})),user.Policy.IsAdministrator&&("Timer"===item.Type||"SeriesTimer"===item.Type||"Program"===item.Type||"TvChannel"===item.Type||"Recording"===item.Type&&"Completed"!==item.Status||commands.push({name:globalize.translate("sharedcomponents#RefreshMetadata"),id:"refresh"})),item.PlaylistItemId&&options.playlistId&&commands.push({name:globalize.translate("sharedcomponents#RemoveFromPlaylist"),id:"removefromplaylist"}),options.collectionId&&commands.push({name:globalize.translate("sharedcomponents#RemoveFromCollection"),id:"removefromcollection"}),options.share===!0&&itemHelper.canShare(item,user)&&commands.push({name:globalize.translate("sharedcomponents#Share"),id:"share"}),(item.IsFolder||"MusicArtist"===item.Type||"MusicGenre"===item.Type)&&options.shuffle!==!1&&commands.push({name:globalize.translate("sharedcomponents#Shuffle"),id:"shuffle"}),options.sync!==!1&&itemHelper.canSync(user,item)&&commands.push({name:globalize.translate("sharedcomponents#Sync"),id:"sync"}),options.openAlbum!==!1&&item.AlbumId&&"Photo"!==item.MediaType&&commands.push({name:Globalize.translate("sharedcomponents#ViewAlbum"),id:"album"}),options.openArtist!==!1&&item.ArtistItems&&item.ArtistItems.length&&commands.push({name:Globalize.translate("sharedcomponents#ViewArtist"),id:"artist"}),commands}function getResolveFunction(resolve,id,changed,deleted){return function(){resolve({command:id,updated:changed,deleted:deleted})}}function executeCommand(item,id,options){var itemId=item.Id,serverId=item.ServerId,apiClient=connectionManager.getApiClient(serverId);return new Promise(function(resolve,reject){switch(id){case"addtocollection":require(["collectionEditor"],function(collectionEditor){(new collectionEditor).show({items:[itemId],serverId:serverId}).then(getResolveFunction(resolve,id,!0),getResolveFunction(resolve,id))});break;case"addtoplaylist":require(["playlistEditor"],function(playlistEditor){(new playlistEditor).show({items:[itemId],serverId:serverId}).then(getResolveFunction(resolve,id,!0),getResolveFunction(resolve,id))});break;case"download":require(["fileDownloader"],function(fileDownloader){var downloadHref=apiClient.getItemDownloadUrl(itemId);fileDownloader.download([{url:downloadHref,itemId:itemId,serverId:serverId}]),getResolveFunction(getResolveFunction(resolve,id),id)()});break;case"editsubtitles":require(["subtitleEditor"],function(subtitleEditor){subtitleEditor.show(itemId,serverId).then(getResolveFunction(resolve,id,!0),getResolveFunction(resolve,id))});break;case"edit":editItem(apiClient,item).then(getResolveFunction(resolve,id,!0),getResolveFunction(resolve,id));break;case"editimages":require(["imageEditor"],function(imageEditor){imageEditor.show({itemId:itemId,serverId:serverId}).then(getResolveFunction(resolve,id,!0),getResolveFunction(resolve,id))});break;case"identify":require(["itemIdentifier"],function(itemIdentifier){itemIdentifier.show(itemId,serverId).then(getResolveFunction(resolve,id,!0),getResolveFunction(resolve,id))});break;case"refresh":refresh(apiClient,itemId),getResolveFunction(resolve,id)();break;case"open":appRouter.showItem(item),getResolveFunction(resolve,id)();break;case"play":play(item,!1),getResolveFunction(resolve,id)();break;case"resume":play(item,!0),getResolveFunction(resolve,id)();break;case"queue":play(item,!1,!0),getResolveFunction(resolve,id)();break;case"queuenext":play(item,!1,!0,!0),getResolveFunction(resolve,id)();break;case"record":require(["recordingCreator"],function(recordingCreator){recordingCreator.show(itemId,serverId).then(getResolveFunction(resolve,id,!0),getResolveFunction(resolve,id))});break;case"shuffle":playbackManager.shuffle(item),getResolveFunction(resolve,id)();break;case"instantmix":playbackManager.instantMix(item),getResolveFunction(resolve,id)();break;case"delete":deleteItem(apiClient,item).then(getResolveFunction(resolve,id,!0,!0),getResolveFunction(resolve,id));break;case"share":require(["sharingmanager"],function(sharingManager){sharingManager.showMenu({serverId:serverId,itemId:itemId}).then(getResolveFunction(resolve,id))});break;case"album":appRouter.showItem(item.AlbumId,item.ServerId),getResolveFunction(resolve,id)();break;case"artist":appRouter.showItem(item.ArtistItems[0].Id,item.ServerId),getResolveFunction(resolve,id)();break;case"playallfromhere":getResolveFunction(resolve,id)();break;case"queueallfromhere":getResolveFunction(resolve,id)();break;case"sync":require(["syncDialog"],function(syncDialog){syncDialog.showMenu({items:[item],serverId:serverId})}),getResolveFunction(resolve,id)();break;case"synclocal":require(["syncDialog"],function(syncDialog){syncDialog.showMenu({items:[item],isLocalSync:!0,serverId:serverId})}),getResolveFunction(resolve,id)();break;case"removefromplaylist":apiClient.ajax({url:apiClient.getUrl("Playlists/"+options.playlistId+"/Items",{EntryIds:[item.PlaylistItemId].join(",")}),type:"DELETE"}).then(function(){getResolveFunction(resolve,id,!0)()});break;case"removefromcollection":apiClient.ajax({type:"DELETE",url:apiClient.getUrl("Collections/"+options.collectionId+"/Items",{Ids:[item.Id].join(",")})}).then(function(){getResolveFunction(resolve,id,!0)()});break;case"canceltimer":deleteTimer(apiClient,item,resolve,id);break;case"cancelseriestimer":deleteSeriesTimer(apiClient,item,resolve,id);break;default:reject()}})}function deleteTimer(apiClient,item,resolve,command){require(["recordingHelper"],function(recordingHelper){var timerId=item.TimerId||item.Id;recordingHelper.cancelTimerWithConfirmation(timerId,item.ServerId).then(function(){getResolveFunction(resolve,command,!0)()})})}function deleteSeriesTimer(apiClient,item,resolve,command){require(["recordingHelper"],function(recordingHelper){recordingHelper.cancelSeriesTimerWithConfirmation(item.Id,item.ServerId).then(function(){getResolveFunction(resolve,command,!0)()})})}function play(item,resume,queue,queueNext){var method=queue?queueNext?"queueNext":"queue":"play",startPosition=0;resume&&item.UserData&&item.UserData.PlaybackPositionTicks&&(startPosition=item.UserData.PlaybackPositionTicks),"Program"===item.Type?playbackManager[method]({ids:[item.ChannelId],startPositionTicks:startPosition,serverId:item.ServerId}):playbackManager[method]({items:[item],startPositionTicks:startPosition})}function editItem(apiClient,item){return new Promise(function(resolve,reject){var serverId=apiClient.serverInfo().Id;"Timer"===item.Type?require(["recordingEditor"],function(recordingEditor){recordingEditor.show(item.Id,serverId).then(resolve,reject)}):"SeriesTimer"===item.Type?require(["seriesRecordingEditor"],function(recordingEditor){recordingEditor.show(item.Id,serverId).then(resolve,reject)}):require(["metadataEditor"],function(metadataEditor){metadataEditor.show(item.Id,serverId).then(resolve,reject)})})}function deleteItem(apiClient,item){return new Promise(function(resolve,reject){require(["deleteHelper"],function(deleteHelper){deleteHelper.deleteItem({item:item,navigate:!1}).then(function(){resolve(!0)},reject)})})}function refresh(apiClient,itemId){require(["refreshDialog"],function(refreshDialog){new refreshDialog({itemIds:[itemId],serverId:apiClient.serverInfo().Id}).show()})}function show(options){var commands=getCommands(options);return commands.length?new Promise(function(resolve,reject){require(["actionsheet"],function(actionSheet){actionSheet.show({items:commands,positionTo:options.positionTo}).then(function(id){executeCommand(options.item,id,options).then(resolve)},reject)})}):Promise.reject()}return{getCommands:getCommands,show:show}}); \ No newline at end of file +define(["apphost","globalize","connectionManager","itemHelper","appRouter","playbackManager","loading","appSettings","browser"],function(appHost,globalize,connectionManager,itemHelper,appRouter,playbackManager,loading,appSettings,browser){"use strict";function getCommands(options){var item=options.item,canPlay=playbackManager.canPlay(item),commands=[];if(itemHelper.isLocalItem(item))return commands;if(browser.operaTv||browser.web0s)return commands;var user=options.user;if(canPlay&&"Photo"!==item.MediaType&&(options.play!==!1&&commands.push({name:globalize.translate("sharedcomponents#Play"),id:"resume"}),options.playAllFromHere&&"Program"!==item.Type&&"TvChannel"!==item.Type&&commands.push({name:globalize.translate("sharedcomponents#PlayAllFromHere"),id:"playallfromhere"})),playbackManager.canQueue(item)&&(options.queue!==!1&&commands.push({name:globalize.translate("sharedcomponents#AddToPlayQueue"),id:"queue"}),options.queue!==!1&&commands.push({name:globalize.translate("sharedcomponents#PlayNext"),id:"queuenext"})),(item.IsFolder||"MusicArtist"===item.Type||"MusicGenre"===item.Type)&&options.shuffle!==!1&&commands.push({name:globalize.translate("sharedcomponents#Shuffle"),id:"shuffle"}),"Audio"!==item.MediaType&&"MusicAlbum"!==item.Type&&"MusicArtist"!==item.Type&&"MusicGenre"!==item.Type&&"music"!==item.CollectionType||options.instantMix!==!1&&commands.push({name:globalize.translate("sharedcomponents#InstantMix"),id:"instantmix"}),commands.length&&commands.push({divider:!0}),itemHelper.supportsAddingToCollection(item)&&commands.push({name:globalize.translate("sharedcomponents#AddToCollection"),id:"addtocollection"}),itemHelper.supportsAddingToPlaylist(item)&&commands.push({name:globalize.translate("sharedcomponents#AddToPlaylist"),id:"addtoplaylist"}),"Timer"===item.Type&&user.Policy.EnableLiveTvManagement&&options.cancelTimer!==!1&&commands.push({name:globalize.translate("sharedcomponents#CancelRecording"),id:"canceltimer"}),"Recording"===item.Type&&"InProgress"===item.Status&&user.Policy.EnableLiveTvManagement&&options.cancelTimer!==!1&&commands.push({name:globalize.translate("sharedcomponents#CancelRecording"),id:"canceltimer"}),"SeriesTimer"===item.Type&&user.Policy.EnableLiveTvManagement&&options.cancelTimer!==!1&&commands.push({name:globalize.translate("sharedcomponents#CancelSeries"),id:"cancelseriestimer"}),item.CanDelete&&options.deleteItem!==!1&&("Playlist"===item.Type||"BoxSet"===item.Type?commands.push({name:globalize.translate("sharedcomponents#Delete"),id:"delete"}):commands.push({name:globalize.translate("sharedcomponents#DeleteMedia"),id:"delete"})),item.CanDownload&&appHost.supports("filedownload")&&commands.push({name:globalize.translate("sharedcomponents#Download"),id:"download"}),appHost.supports("sync")&&options.syncLocal!==!1&&itemHelper.canSync(user,item)&&commands.push({name:globalize.translate("sharedcomponents#Download"),id:"synclocal"}),itemHelper.canEdit(user,item)&&options.edit!==!1&&"SeriesTimer"!==item.Type){var text="Timer"===item.Type||"SeriesTimer"===item.Type?globalize.translate("sharedcomponents#Edit"):globalize.translate("sharedcomponents#EditInfo");commands.push({name:text,id:"edit"})}return itemHelper.canEditImages(user,item)&&options.editImages!==!1&&commands.push({name:globalize.translate("sharedcomponents#EditImages"),id:"editimages"}),itemHelper.canEdit(user,item)&&("Video"!==item.MediaType||"TvChannel"===item.Type||"Program"===item.Type||"Virtual"===item.LocationType||"Recording"===item.Type&&"Completed"!==item.Status||options.editSubtitles!==!1&&commands.push({name:globalize.translate("sharedcomponents#EditSubtitles"),id:"editsubtitles"})),options.identify!==!1&&itemHelper.canIdentify(user,item.Type)&&commands.push({name:globalize.translate("sharedcomponents#Identify"),id:"identify"}),"Program"===item.Type&&options.record!==!1&&item.TimerId&&commands.push({name:Globalize.translate("sharedcomponents#ManageRecording"),id:"record"}),"Program"===item.Type&&options.record!==!1&&(item.TimerId||commands.push({name:Globalize.translate("sharedcomponents#Record"),id:"record"})),user.Policy.IsAdministrator&&("Timer"===item.Type||"SeriesTimer"===item.Type||"Program"===item.Type||"TvChannel"===item.Type||"Recording"===item.Type&&"Completed"!==item.Status||commands.push({name:globalize.translate("sharedcomponents#RefreshMetadata"),id:"refresh"})),item.PlaylistItemId&&options.playlistId&&commands.push({name:globalize.translate("sharedcomponents#RemoveFromPlaylist"),id:"removefromplaylist"}),options.collectionId&&commands.push({name:globalize.translate("sharedcomponents#RemoveFromCollection"),id:"removefromcollection"}),options.share===!0&&itemHelper.canShare(item,user)&&commands.push({name:globalize.translate("sharedcomponents#Share"),id:"share"}),options.sync!==!1&&itemHelper.canSync(user,item)&&commands.push({name:globalize.translate("sharedcomponents#Sync"),id:"sync"}),options.openAlbum!==!1&&item.AlbumId&&"Photo"!==item.MediaType&&commands.push({name:Globalize.translate("sharedcomponents#ViewAlbum"),id:"album"}),options.openArtist!==!1&&item.ArtistItems&&item.ArtistItems.length&&commands.push({name:Globalize.translate("sharedcomponents#ViewArtist"),id:"artist"}),commands}function getResolveFunction(resolve,id,changed,deleted){return function(){resolve({command:id,updated:changed,deleted:deleted})}}function executeCommand(item,id,options){var itemId=item.Id,serverId=item.ServerId,apiClient=connectionManager.getApiClient(serverId);return new Promise(function(resolve,reject){switch(id){case"addtocollection":require(["collectionEditor"],function(collectionEditor){(new collectionEditor).show({items:[itemId],serverId:serverId}).then(getResolveFunction(resolve,id,!0),getResolveFunction(resolve,id))});break;case"addtoplaylist":require(["playlistEditor"],function(playlistEditor){(new playlistEditor).show({items:[itemId],serverId:serverId}).then(getResolveFunction(resolve,id,!0),getResolveFunction(resolve,id))});break;case"download":require(["fileDownloader"],function(fileDownloader){var downloadHref=apiClient.getItemDownloadUrl(itemId);fileDownloader.download([{url:downloadHref,itemId:itemId,serverId:serverId}]),getResolveFunction(getResolveFunction(resolve,id),id)()});break;case"editsubtitles":require(["subtitleEditor"],function(subtitleEditor){subtitleEditor.show(itemId,serverId).then(getResolveFunction(resolve,id,!0),getResolveFunction(resolve,id))});break;case"edit":editItem(apiClient,item).then(getResolveFunction(resolve,id,!0),getResolveFunction(resolve,id));break;case"editimages":require(["imageEditor"],function(imageEditor){imageEditor.show({itemId:itemId,serverId:serverId}).then(getResolveFunction(resolve,id,!0),getResolveFunction(resolve,id))});break;case"identify":require(["itemIdentifier"],function(itemIdentifier){itemIdentifier.show(itemId,serverId).then(getResolveFunction(resolve,id,!0),getResolveFunction(resolve,id))});break;case"refresh":refresh(apiClient,itemId),getResolveFunction(resolve,id)();break;case"open":appRouter.showItem(item),getResolveFunction(resolve,id)();break;case"play":play(item,!1),getResolveFunction(resolve,id)();break;case"resume":play(item,!0),getResolveFunction(resolve,id)();break;case"queue":play(item,!1,!0),getResolveFunction(resolve,id)();break;case"queuenext":play(item,!1,!0,!0),getResolveFunction(resolve,id)();break;case"record":require(["recordingCreator"],function(recordingCreator){recordingCreator.show(itemId,serverId).then(getResolveFunction(resolve,id,!0),getResolveFunction(resolve,id))});break;case"shuffle":playbackManager.shuffle(item),getResolveFunction(resolve,id)();break;case"instantmix":playbackManager.instantMix(item),getResolveFunction(resolve,id)();break;case"delete":deleteItem(apiClient,item).then(getResolveFunction(resolve,id,!0,!0),getResolveFunction(resolve,id));break;case"share":require(["sharingmanager"],function(sharingManager){sharingManager.showMenu({serverId:serverId,itemId:itemId}).then(getResolveFunction(resolve,id))});break;case"album":appRouter.showItem(item.AlbumId,item.ServerId),getResolveFunction(resolve,id)();break;case"artist":appRouter.showItem(item.ArtistItems[0].Id,item.ServerId),getResolveFunction(resolve,id)();break;case"playallfromhere":getResolveFunction(resolve,id)();break;case"queueallfromhere":getResolveFunction(resolve,id)();break;case"sync":require(["syncDialog"],function(syncDialog){syncDialog.showMenu({items:[item],serverId:serverId})}),getResolveFunction(resolve,id)();break;case"synclocal":require(["syncDialog"],function(syncDialog){syncDialog.showMenu({items:[item],isLocalSync:!0,serverId:serverId})}),getResolveFunction(resolve,id)();break;case"removefromplaylist":apiClient.ajax({url:apiClient.getUrl("Playlists/"+options.playlistId+"/Items",{EntryIds:[item.PlaylistItemId].join(",")}),type:"DELETE"}).then(function(){getResolveFunction(resolve,id,!0)()});break;case"removefromcollection":apiClient.ajax({type:"DELETE",url:apiClient.getUrl("Collections/"+options.collectionId+"/Items",{Ids:[item.Id].join(",")})}).then(function(){getResolveFunction(resolve,id,!0)()});break;case"canceltimer":deleteTimer(apiClient,item,resolve,id);break;case"cancelseriestimer":deleteSeriesTimer(apiClient,item,resolve,id);break;default:reject()}})}function deleteTimer(apiClient,item,resolve,command){require(["recordingHelper"],function(recordingHelper){var timerId=item.TimerId||item.Id;recordingHelper.cancelTimerWithConfirmation(timerId,item.ServerId).then(function(){getResolveFunction(resolve,command,!0)()})})}function deleteSeriesTimer(apiClient,item,resolve,command){require(["recordingHelper"],function(recordingHelper){recordingHelper.cancelSeriesTimerWithConfirmation(item.Id,item.ServerId).then(function(){getResolveFunction(resolve,command,!0)()})})}function play(item,resume,queue,queueNext){var method=queue?queueNext?"queueNext":"queue":"play",startPosition=0;resume&&item.UserData&&item.UserData.PlaybackPositionTicks&&(startPosition=item.UserData.PlaybackPositionTicks),"Program"===item.Type?playbackManager[method]({ids:[item.ChannelId],startPositionTicks:startPosition,serverId:item.ServerId}):playbackManager[method]({items:[item],startPositionTicks:startPosition})}function editItem(apiClient,item){return new Promise(function(resolve,reject){var serverId=apiClient.serverInfo().Id;"Timer"===item.Type?require(["recordingEditor"],function(recordingEditor){recordingEditor.show(item.Id,serverId).then(resolve,reject)}):"SeriesTimer"===item.Type?require(["seriesRecordingEditor"],function(recordingEditor){recordingEditor.show(item.Id,serverId).then(resolve,reject)}):require(["metadataEditor"],function(metadataEditor){metadataEditor.show(item.Id,serverId).then(resolve,reject)})})}function deleteItem(apiClient,item){return new Promise(function(resolve,reject){require(["deleteHelper"],function(deleteHelper){deleteHelper.deleteItem({item:item,navigate:!1}).then(function(){resolve(!0)},reject)})})}function refresh(apiClient,itemId){require(["refreshDialog"],function(refreshDialog){new refreshDialog({itemIds:[itemId],serverId:apiClient.serverInfo().Id}).show()})}function show(options){var commands=getCommands(options);return commands.length?new Promise(function(resolve,reject){require(["actionsheet"],function(actionSheet){actionSheet.show({items:commands,positionTo:options.positionTo}).then(function(id){executeCommand(options.item,id,options).then(resolve)},reject)})}):Promise.reject()}return{getCommands:getCommands,show:show}}); \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/itemhovermenu/itemhovermenu.js b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/itemhovermenu/itemhovermenu.js index 2b9da3dccc..3fc3db063b 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/itemhovermenu/itemhovermenu.js +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/itemhovermenu/itemhovermenu.js @@ -1 +1 @@ -define(["connectionManager","itemHelper","mediaInfo","playbackManager","globalize","dom","apphost","css!./itemhovermenu","emby-button","emby-playstatebutton","emby-ratingbutton"],function(connectionManager,itemHelper,mediaInfo,playbackManager,globalize,dom,appHost){"use strict";function onHoverOut(e){var elem=e.target;showOverlayTimeout&&(clearTimeout(showOverlayTimeout),showOverlayTimeout=null),elem=elem.classList.contains("cardOverlayTarget")?elem:elem.querySelector(".cardOverlayTarget"),elem&&slideDownToHide(elem)}function onSlideTransitionComplete(){this.classList.add("hide")}function slideDownToHide(elem){elem.classList.contains("hide")||(dom.addEventListener(elem,dom.whichTransitionEvent(),onSlideTransitionComplete,{once:!0}),elem.classList.remove("cardOverlayTarget-open"))}function slideUpToShow(elem){dom.removeEventListener(elem,dom.whichTransitionEvent(),onSlideTransitionComplete,{once:!0}),elem.classList.remove("hide"),void elem.offsetWidth,elem.classList.add("cardOverlayTarget-open")}function getOverlayHtml(apiClient,item,card){var html="";html+='
';var className=card.className.toLowerCase(),isMiniItem=className.indexOf("mini")!==-1,isSmallItem=isMiniItem||className.indexOf("small")!==-1,isPortrait=className.indexOf("portrait")!==-1,parentName=isSmallItem||isMiniItem||isPortrait?null:item.SeriesName,name=item.EpisodeTitle?item.Name:itemHelper.getDisplayName(item);html+="
";var imgUrl,logoHeight=26;parentName&&item.ParentLogoItemId?(imgUrl=apiClient.getScaledImageUrl(item.ParentLogoItemId,{maxHeight:logoHeight,type:"logo",tag:item.ParentLogoImageTag}),html+=''):item.ImageTags.Logo?(imgUrl=apiClient.getScaledImageUrl(item.Id,{maxHeight:logoHeight,type:"logo",tag:item.ImageTags.Logo}),html+=''):html+=parentName||name,html+="
",parentName?(html+="

",html+=name,html+="

"):isSmallItem||isMiniItem||(html+='
',html+=mediaInfo.getPrimaryMediaInfoHtml(item,{endsAt:!1}),html+="
"),html+='
',playbackManager.canPlay(item)&&(html+=''),item.LocalTrailerCount&&(html+='');var moreIcon="dots-horiz"===appHost.moreIcon?"":"";html+='";var userData=item.UserData||{};if(itemHelper.canMarkPlayed(item)&&(html+=''),itemHelper.canRate(item)){var likes=null==userData.Likes?"":userData.Likes;html+=''}return html+="
",html+="
"}function onCardOverlayButtonsClick(e){var button=dom.parentWithClass(e.target,"btnUserData");button&&e.stopPropagation()}function onShowTimerExpired(elem){var innerElem=elem.querySelector(".cardOverlayTarget");if(!innerElem){innerElem=document.createElement("div"),innerElem.classList.add("hide"),innerElem.classList.add("cardOverlayTarget"),innerElem.classList.add("itemAction"),innerElem.setAttribute("data-action","link");var appendTo=elem.querySelector("div.cardContent")||elem.querySelector(".cardScalable")||elem.querySelector(".cardBox");appendTo||(appendTo=elem),appendTo.classList.add("withHoverMenu"),appendTo.appendChild(innerElem)}var dataElement=dom.parentWithAttribute(elem,"data-id");if(dataElement){var id=dataElement.getAttribute("data-id"),type=dataElement.getAttribute("data-type");if("Timer"!==type&&"SeriesTimer"!==type&&"Program"!==type){var serverId=dataElement.getAttribute("data-serverid"),apiClient=connectionManager.getApiClient(serverId);apiClient.getItem(apiClient.getCurrentUserId(),id).then(function(item){innerElem.innerHTML=getOverlayHtml(apiClient,item,dataElement),innerElem.querySelector(".cardOverlayButtons").addEventListener("click",onCardOverlayButtonsClick)}),slideUpToShow(innerElem)}}}function onHoverIn(e){var elem=e.target,card=dom.parentWithClass(elem,"cardBox");if(card){if(preventHover===!0)return void(preventHover=!1);showOverlayTimeout&&(clearTimeout(showOverlayTimeout),showOverlayTimeout=null),showOverlayTimeout=setTimeout(function(){onShowTimerExpired(card)},1600)}}function preventTouchHover(){preventHover=!0}function ItemHoverMenu(parentElement){this.parent=parentElement,this.parent.addEventListener("mouseenter",onHoverIn,!0),this.parent.addEventListener("mouseleave",onHoverOut,!0),dom.addEventListener(this.parent,"touchstart",preventTouchHover,{passive:!0})}var showOverlayTimeout,preventHover=!1;return ItemHoverMenu.prototype={constructor:ItemHoverMenu,destroy:function(){this.parent.removeEventListener("mouseenter",onHoverIn,!0),this.parent.removeEventListener("mouseleave",onHoverOut,!0),dom.removeEventListener(this.parent,"touchstart",preventTouchHover,{passive:!0})}},ItemHoverMenu}); \ No newline at end of file +define(["layoutManager","connectionManager","itemHelper","mediaInfo","playbackManager","globalize","dom","apphost","css!./itemhovermenu","emby-button","emby-playstatebutton","emby-ratingbutton"],function(layoutManager,connectionManager,itemHelper,mediaInfo,playbackManager,globalize,dom,appHost){"use strict";function onPointerLeave(e){var pointerType=e.pointerType||(layoutManager.mobile?"touch":"mouse");if("mouse"===pointerType){var elem=e.target;showOverlayTimeout&&(clearTimeout(showOverlayTimeout),showOverlayTimeout=null),elem=elem.classList.contains("cardOverlayTarget")?elem:elem.querySelector(".cardOverlayTarget"),elem&&slideDownToHide(elem)}}function onSlideTransitionComplete(){this.classList.add("hide")}function slideDownToHide(elem){elem.classList.contains("hide")||(dom.addEventListener(elem,dom.whichTransitionEvent(),onSlideTransitionComplete,{once:!0}),elem.classList.remove("cardOverlayTarget-open"))}function slideUpToShow(elem){dom.removeEventListener(elem,dom.whichTransitionEvent(),onSlideTransitionComplete,{once:!0}),elem.classList.remove("hide"),void elem.offsetWidth,elem.classList.add("cardOverlayTarget-open")}function getOverlayHtml(apiClient,item,card){var html="";html+='
';var className=card.className.toLowerCase(),isMiniItem=className.indexOf("mini")!==-1,isSmallItem=isMiniItem||className.indexOf("small")!==-1,isPortrait=className.indexOf("portrait")!==-1,parentName=isSmallItem||isMiniItem||isPortrait?null:item.SeriesName,name=item.EpisodeTitle?item.Name:itemHelper.getDisplayName(item);html+="
";var imgUrl,logoHeight=26;parentName&&item.ParentLogoItemId?(imgUrl=apiClient.getScaledImageUrl(item.ParentLogoItemId,{maxHeight:logoHeight,type:"logo",tag:item.ParentLogoImageTag}),html+=''):item.ImageTags.Logo?(imgUrl=apiClient.getScaledImageUrl(item.Id,{maxHeight:logoHeight,type:"logo",tag:item.ImageTags.Logo}),html+=''):html+=parentName||name,html+="
",parentName?(html+="

",html+=name,html+="

"):isSmallItem||isMiniItem||(html+='
',html+=mediaInfo.getPrimaryMediaInfoHtml(item,{endsAt:!1}),html+="
"),html+='
',playbackManager.canPlay(item)&&(html+=''),item.LocalTrailerCount&&(html+='');var moreIcon="dots-horiz"===appHost.moreIcon?"":"";html+='";var userData=item.UserData||{};if(itemHelper.canMarkPlayed(item)&&(html+=''),itemHelper.canRate(item)){var likes=null==userData.Likes?"":userData.Likes;html+=''}return html+="
",html+="
"}function onCardOverlayButtonsClick(e){var button=dom.parentWithClass(e.target,"btnUserData");button&&e.stopPropagation()}function onShowTimerExpired(elem){var innerElem=elem.querySelector(".cardOverlayTarget");if(!innerElem){innerElem=document.createElement("div"),innerElem.classList.add("hide"),innerElem.classList.add("cardOverlayTarget"),innerElem.classList.add("itemAction"),innerElem.setAttribute("data-action","link");var appendTo=elem.querySelector("div.cardContent")||elem.querySelector(".cardScalable")||elem.querySelector(".cardBox");appendTo||(appendTo=elem),appendTo.classList.add("withHoverMenu"),appendTo.appendChild(innerElem)}var dataElement=dom.parentWithAttribute(elem,"data-id");if(dataElement){var id=dataElement.getAttribute("data-id"),type=dataElement.getAttribute("data-type");if("Timer"!==type&&"SeriesTimer"!==type&&"Program"!==type){var serverId=dataElement.getAttribute("data-serverid"),apiClient=connectionManager.getApiClient(serverId);apiClient.getItem(apiClient.getCurrentUserId(),id).then(function(item){innerElem.innerHTML=getOverlayHtml(apiClient,item,dataElement),innerElem.querySelector(".cardOverlayButtons").addEventListener("click",onCardOverlayButtonsClick)}),slideUpToShow(innerElem)}}}function onPointerEnter(e){var pointerType=e.pointerType||(layoutManager.mobile?"touch":"mouse");if("mouse"===pointerType){var elem=e.target,card=dom.parentWithClass(elem,"cardBox");if(!card)return;if(preventHover===!0)return void(preventHover=!1);showOverlayTimeout&&(clearTimeout(showOverlayTimeout),showOverlayTimeout=null),showOverlayTimeout=setTimeout(function(){onShowTimerExpired(card)},1600)}}function preventTouchHover(){preventHover=!0}function ItemHoverMenu(parentElement){this.parent=parentElement,dom.addEventListener(this.parent,window.PointerEvent?"pointerenter":"mouseenter",onPointerEnter,{passive:!0,capture:!0}),dom.addEventListener(this.parent,window.PointerEvent?"pointerleave":"mouseleave",onPointerLeave,{passive:!0,capture:!0}),window.PointerEvent||dom.addEventListener(this.parent,"touchstart",preventTouchHover,{passive:!0})}var showOverlayTimeout,preventHover=!1;return ItemHoverMenu.prototype={constructor:ItemHoverMenu,destroy:function(){dom.removeEventListener(this.parent,window.PointerEvent?"pointerenter":"mouseenter",onPointerEnter,{passive:!0,capture:!0}),dom.removeEventListener(this.parent,window.PointerEvent?"pointerleave":"mouseleave",onPointerLeave,{passive:!0,capture:!0}),dom.removeEventListener(this.parent,"touchstart",preventTouchHover,{passive:!0})}},ItemHoverMenu}); \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/mediainfo/mediainfo.css b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/mediainfo/mediainfo.css index 4fe67369f7..b70990cd2a 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/mediainfo/mediainfo.css +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/mediainfo/mediainfo.css @@ -1 +1 @@ -.mediaInfoText,.starRatingContainer{display:-webkit-box;display:-webkit-flex;-webkit-box-align:center}.mediaInfoItem{margin:0 1em 0 0;padding:0}.mediaInfoText{padding:.2em .5em;-webkit-border-radius:.25em;border-radius:.25em;font-size:84%;display:flex;-webkit-align-items:center;align-items:center;white-space:nowrap}.mediaInfoIconItem{width:auto;height:auto;font-size:1.6em;margin-right:.6em}.mediaInfoItem:last-child{margin-right:0}.starRatingContainer{display:flex;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;vertical-align:middle;padding-top:0;padding-bottom:0}.starIcon{width:auto!important;height:auto!important;font-size:1.4em}.mediaInfoCriticRating{padding-left:1.5em;background-position:left center;background-repeat:no-repeat;-webkit-background-size:auto 1.2em;background-size:auto 1.2em;min-height:1.2em;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.mediaInfoCriticRatingFresh{background-image:url(fresh.png)}.mediaInfoCriticRatingRotten{background-image:url(rotten.png)}.mediaInfoProgramAttribute{text-transform:uppercase;padding:.16em .6em;-webkit-border-radius:.15em;border-radius:.15em;font-size:80%}.closedCaptionMediaInfoText{font-weight:700} \ No newline at end of file +.mediaInfoItem{margin:0 1em 0 0;padding:0}.mediaInfoText{padding:.22em .5em;-webkit-border-radius:.25em;border-radius:.25em;font-size:92%;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;white-space:nowrap;margin:0 .5em 0 0}.mediaInfoCriticRating,.starRatingContainer{display:-webkit-box;display:-webkit-flex;-webkit-box-align:center}.mediaInfoText-upper{text-transform:uppercase}.mediaInfoIconItem{width:auto;height:auto;font-size:1.6em;margin-right:.6em}.mediaInfoItem:last-child{margin-right:0}.starRatingContainer{display:flex;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;vertical-align:middle;padding-top:0;padding-bottom:0}.starIcon{width:auto!important;height:auto!important;font-size:1.4em}.mediaInfoCriticRating{padding-left:1.5em;background-position:left center;background-repeat:no-repeat;-webkit-background-size:auto 1.2em;background-size:auto 1.2em;min-height:1.2em;display:flex;-webkit-align-items:center;align-items:center}.mediaInfoCriticRatingFresh{background-image:url(fresh.png)}.mediaInfoCriticRatingRotten{background-image:url(rotten.png)}.mediaInfoProgramAttribute{text-transform:uppercase;padding:.16em .6em;-webkit-border-radius:.15em;border-radius:.15em;font-size:80%}.closedCaptionMediaInfoText{font-weight:700}.mediaInfoOfficialRating{border:.09em solid currentColor;padding:0 .6em;height:1.3em;line-height:1.8em;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center} \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/metadataeditor.js b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/metadataeditor.js index a487f163e4..dd31f116a7 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/metadataeditor.js +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/metadataeditor.js @@ -1 +1 @@ -define(["itemHelper","dom","layoutManager","dialogHelper","datetime","loading","focusManager","connectionManager","globalize","require","shell","emby-checkbox","emby-input","emby-select","listViewStyle","emby-textarea","emby-button","paper-icon-button-light","css!./../formdialog","clearButtonStyle"],function(itemHelper,dom,layoutManager,dialogHelper,datetime,loading,focusManager,connectionManager,globalize,require,shell){"use strict";function isDialog(){return currentContext.classList.contains("dialog")}function closeDialog(isSubmitted){isDialog()&&dialogHelper.close(currentContext)}function submitUpdatedItem(form,item){function afterContentTypeUpdated(){require(["toast"],function(toast){toast(globalize.translate("sharedcomponents#MessageItemSaved"))}),loading.hide(),closeDialog(!0)}var apiClient=getApiClient();apiClient.updateItem(item).then(function(){var newContentType=form.querySelector("#selectContentType").value||"";(metadataEditorInfo.ContentType||"")!==newContentType?apiClient.ajax({url:apiClient.getUrl("Items/"+item.Id+"/ContentType",{ContentType:newContentType}),type:"POST"}).then(function(){afterContentTypeUpdated()}):afterContentTypeUpdated()})}function getSelectedAirDays(form){var checkedItems=form.querySelectorAll(".chkAirDay:checked")||[];return Array.prototype.map.call(checkedItems,function(c){return c.getAttribute("data-day")})}function getAlbumArtists(form){return form.querySelector("#txtAlbumArtist").value.trim().split(";").filter(function(s){return s.length>0}).map(function(a){return{Name:a}})}function getArtists(form){return form.querySelector("#txtArtist").value.trim().split(";").filter(function(s){return s.length>0}).map(function(a){return{Name:a}})}function getDateFromForm(form,element,property){var val=form.querySelector(element).value;if(!val)return null;if(currentItem[property]){var date=datetime.parseISO8601Date(currentItem[property],!0),parts=date.toISOString().split("T");if(0===parts[0].indexOf(val)){var iso=parts[1];val+="T"+iso}}return val}function onSubmit(e){loading.show();var form=this;try{var item={Id:currentItem.Id,Name:form.querySelector("#txtName").value,OriginalTitle:form.querySelector("#txtOriginalName").value,ForcedSortName:form.querySelector("#txtSortName").value,CommunityRating:form.querySelector("#txtCommunityRating").value,HomePageUrl:form.querySelector("#txtHomePageUrl").value,CriticRating:form.querySelector("#txtCriticRating").value,IndexNumber:form.querySelector("#txtIndexNumber").value||null,AbsoluteEpisodeNumber:form.querySelector("#txtAbsoluteEpisodeNumber").value,DvdEpisodeNumber:form.querySelector("#txtDvdEpisodeNumber").value,DvdSeasonNumber:form.querySelector("#txtDvdSeasonNumber").value,AirsBeforeSeasonNumber:form.querySelector("#txtAirsBeforeSeason").value,AirsAfterSeasonNumber:form.querySelector("#txtAirsAfterSeason").value,AirsBeforeEpisodeNumber:form.querySelector("#txtAirsBeforeEpisode").value,ParentIndexNumber:form.querySelector("#txtParentIndexNumber").value||null,DisplayOrder:form.querySelector("#selectDisplayOrder").value,Album:form.querySelector("#txtAlbum").value,AlbumArtists:getAlbumArtists(form),ArtistItems:getArtists(form),Overview:form.querySelector("#txtOverview").value,Status:form.querySelector("#selectStatus").value,AirDays:getSelectedAirDays(form),AirTime:form.querySelector("#txtAirTime").value,Genres:editableListViewValues(form.querySelector("#listGenres")),Tags:editableListViewValues(form.querySelector("#listTags")),Studios:editableListViewValues(form.querySelector("#listStudios")).map(function(element){return{Name:element}}),PremiereDate:getDateFromForm(form,"#txtPremiereDate","PremiereDate"),DateCreated:getDateFromForm(form,"#txtDateAdded","DateCreated"),EndDate:getDateFromForm(form,"#txtEndDate","EndDate"),ProductionYear:form.querySelector("#txtProductionYear").value,AspectRatio:form.querySelector("#txtOriginalAspectRatio").value,Video3DFormat:form.querySelector("#select3dFormat").value,OfficialRating:form.querySelector("#selectOfficialRating").value,CustomRating:form.querySelector("#selectCustomRating").value,People:currentItem.People,LockData:form.querySelector("#chkLockData").checked,LockedFields:Array.prototype.filter.call(form.querySelectorAll(".selectLockedField"),function(c){return!c.checked}).map(function(c){return c.getAttribute("data-value")})};item.ProviderIds=Object.assign({},currentItem.ProviderIds);var idElements=form.querySelectorAll(".txtExternalId");if(Array.prototype.map.call(idElements,function(idElem){var providerKey=idElem.getAttribute("data-providerkey");item.ProviderIds[providerKey]=idElem.value}),item.PreferredMetadataLanguage=form.querySelector("#selectLanguage").value,item.PreferredMetadataCountryCode=form.querySelector("#selectCountry").value,"Person"===currentItem.Type){var placeOfBirth=form.querySelector("#txtPlaceOfBirth").value;item.ProductionLocations=placeOfBirth?[placeOfBirth]:[]}if("Series"===currentItem.Type){var seriesRuntime=form.querySelector("#txtSeriesRuntime").value;item.RunTimeTicks=seriesRuntime?6e8*seriesRuntime:null}var tagline=form.querySelector("#txtTagline").value;item.Taglines=tagline?[tagline]:[],submitUpdatedItem(form,item)}catch(err){alert(err)}return e.preventDefault(),e.stopPropagation(),!1}function editableListViewValues(list){return Array.prototype.map.call(list.querySelectorAll(".textValue"),function(el){return el.textContent})}function addElementToEditableListview(source,sortCallback){require(["prompt"],function(prompt){prompt({label:"Value:"}).then(function(text){var list=dom.parentWithClass(source,"editableListviewContainer").querySelector(".paperList"),items=editableListViewValues(list);items.push(text),populateListView(list,items,sortCallback)})})}function removeElementFromListview(source){var el=dom.parentWithClass(source,"listItem");el.parentNode.removeChild(el)}function editPerson(context,person,index){require(["personEditor"],function(personEditor){personEditor.show(person).then(function(updatedPerson){var isNew=index===-1;isNew&¤tItem.People.push(updatedPerson),populatePeople(context,currentItem.People)})})}function showMoreMenu(context,button,user){require(["itemContextMenu"],function(itemContextMenu){var item=currentItem;itemContextMenu.show({item:item,positionTo:button,edit:!1,editImages:!0,editSubtitles:!0,sync:!1,share:!1,play:!1,queue:!1,user:user}).then(function(result){result.deleted?afterDeleted(context,item):result.updated&&reload(context,item.Id,item.ServerId)})})}function afterDeleted(context,item){var parentId=item.ParentId||item.SeasonId||item.SeriesId;parentId?reload(context,parentId,item.ServerId):require(["appRouter"],function(appRouter){appRouter.goHome()})}function onWebSocketMessageReceived(e,data){var msg=data;"LibraryChanged"===msg.MessageType&&msg.Data.ItemsUpdated.indexOf(currentItem.Id)!==-1&&(console.log("Item updated - reloading metadata"),reload(currentContext,currentItem.Id,currentItem.ServerId))}function bindItemChanged(context,apiClient){Events.on(apiClient,"websocketmessage",onWebSocketMessageReceived)}function unbindItemChanged(context,apiClient){Events.off(apiClient,"websocketmessage",onWebSocketMessageReceived)}function onEditorClick(e){var btnRemoveFromEditorList=dom.parentWithClass(e.target,"btnRemoveFromEditorList");if(btnRemoveFromEditorList)return void removeElementFromListview(btnRemoveFromEditorList);var btnAddTextItem=dom.parentWithClass(e.target,"btnAddTextItem");btnAddTextItem&&addElementToEditableListview(btnAddTextItem)}function getApiClient(){return connectionManager.getApiClient(currentItem.ServerId)}function init(context,apiClient){context.querySelector(".externalIds").addEventListener("click",function(e){var btnOpenExternalId=dom.parentWithClass(e.target,"btnOpenExternalId");if(btnOpenExternalId){var field=context.querySelector("#"+btnOpenExternalId.getAttribute("data-fieldid")),formatString=field.getAttribute("data-formatstring");field.value&&shell.openUrl(formatString.replace("{0}",field.value))}}),context.querySelector(".btnCancel").addEventListener("click",function(){closeDialog(!1)}),context.querySelector(".btnMore").addEventListener("click",function(e){getApiClient().getCurrentUser().then(function(user){showMoreMenu(context,e.target,user)})}),context.querySelector(".btnHeaderSave").addEventListener("click",function(e){context.querySelector(".btnSave").click()}),context.querySelector("#chkLockData").addEventListener("click",function(e){e.target.checked?hideElement(".providerSettingsContainer"):showElement(".providerSettingsContainer")}),context.removeEventListener("click",onEditorClick),context.addEventListener("click",onEditorClick);var form=context.querySelector("form");form.removeEventListener("submit",onSubmit),form.addEventListener("submit",onSubmit),context.querySelector("#btnAddPerson").addEventListener("click",function(event,data){editPerson(context,{},-1)}),context.querySelector("#peopleList").addEventListener("click",function(e){var index,btnDeletePerson=dom.parentWithClass(e.target,"btnDeletePerson");btnDeletePerson&&(index=parseInt(btnDeletePerson.getAttribute("data-index")),currentItem.People.splice(index,1),populatePeople(context,currentItem.People));var btnEditPerson=dom.parentWithClass(e.target,"btnEditPerson");btnEditPerson&&(index=parseInt(btnEditPerson.getAttribute("data-index")),editPerson(context,currentItem.People[index],index))}),isDialog()&&bindItemChanged(context,apiClient)}function getItem(itemId,serverId){var apiClient=connectionManager.getApiClient(serverId);return itemId?apiClient.getItem(apiClient.getCurrentUserId(),itemId):apiClient.getRootFolder(apiClient.getCurrentUserId())}function getEditorConfig(itemId,serverId){var apiClient=connectionManager.getApiClient(serverId);return itemId?apiClient.getJSON(apiClient.getUrl("Items/"+itemId+"/MetadataEditor")):Promise.resolve({})}function populateCountries(select,allCountries){var html="";html+="";for(var i=0,length=allCountries.length;i"+culture.DisplayName+""}select.innerHTML=html}function populateLanguages(select,languages){var html="";html+="";for(var i=0,length=languages.length;i"+culture.DisplayName+""}select.innerHTML=html}function renderContentTypeOptions(context,metadataInfo){metadataInfo.ContentTypeOptions.length?showElement("#fldContentType",context):hideElement("#fldContentType",context);var html=metadataInfo.ContentTypeOptions.map(function(i){return'"}).join(""),selectEl=context.querySelector("#selectContentType");selectEl.innerHTML=html,selectEl.value=metadataInfo.ContentType||""}function loadExternalIds(context,item,externalIds){for(var html="",providerIds=item.ProviderIds||{},i=0,length=externalIds.length;i',html+='
';var value=providerIds[idInfo.Key]||"";html+='
',html+='',html+="
",formatString&&(html+=''),html+="
",html+=""}var elem=context.querySelector(".externalIds",context);elem.innerHTML=html,externalIds.length?context.querySelector(".externalIdsSection").classList.remove("hide"):context.querySelector(".externalIdsSection").classList.add("hide")}function hideElement(selector,context,multiple){if(context=context||document,"string"==typeof selector){var elements=multiple?context.querySelectorAll(selector):[context.querySelector(selector)];Array.prototype.forEach.call(elements,function(el){el&&el.classList.add("hide")})}else selector.classList.add("hide")}function showElement(selector,context,multiple){if(context=context||document,"string"==typeof selector){var elements=multiple?context.querySelectorAll(selector):[context.querySelector(selector)];Array.prototype.forEach.call(elements,function(el){el&&el.classList.remove("hide")})}else selector.classList.remove("hide")}function setFieldVisibilities(context,item){item.Path&&"Remote"!==item.LocationType?showElement("#fldPath",context):hideElement("#fldPath",context),"Series"===item.Type||"Movie"===item.Type||"Trailer"===item.Type?showElement("#fldOriginalName",context):hideElement("#fldOriginalName",context),"Series"===item.Type?showElement("#fldSeriesRuntime",context):hideElement("#fldSeriesRuntime",context),"Series"===item.Type||"Person"===item.Type?showElement("#fldEndDate",context):hideElement("#fldEndDate",context),"MusicAlbum"===item.Type?showElement("#albumAssociationMessage",context):hideElement("#albumAssociationMessage",context),"Movie"===item.Type||"Trailer"===item.Type?showElement("#fldCriticRating",context):hideElement("#fldCriticRating",context),"Series"===item.Type?(showElement("#fldStatus",context),showElement("#fldAirDays",context),showElement("#fldAirTime",context)):(hideElement("#fldStatus",context),hideElement("#fldAirDays",context),hideElement("#fldAirTime",context)),"Video"===item.MediaType&&"TvChannel"!==item.Type?showElement("#fld3dFormat",context):hideElement("#fld3dFormat",context),"Audio"===item.Type?showElement("#fldAlbumArtist",context):hideElement("#fldAlbumArtist",context),"Audio"===item.Type||"MusicVideo"===item.Type?(showElement("#fldArtist",context),showElement("#fldAlbum",context)):(hideElement("#fldArtist",context),hideElement("#fldAlbum",context)),"Episode"===item.Type?showElement("#collapsibleDvdEpisodeInfo",context):hideElement("#collapsibleDvdEpisodeInfo",context),"Episode"===item.Type&&0===item.ParentIndexNumber?showElement("#collapsibleSpecialEpisodeInfo",context):hideElement("#collapsibleSpecialEpisodeInfo",context),"Person"===item.Type||"Genre"===item.Type||"Studio"===item.Type||"GameGenre"===item.Type||"MusicGenre"===item.Type||"TvChannel"===item.Type?(hideElement("#fldCommunityRating",context),hideElement("#genresCollapsible",context),hideElement("#peopleCollapsible",context),hideElement("#studiosCollapsible",context),"TvChannel"===item.Type?showElement("#fldOfficialRating",context):hideElement("#fldOfficialRating",context),hideElement("#fldCustomRating",context)):(showElement("#fldCommunityRating",context),showElement("#genresCollapsible",context),showElement("#peopleCollapsible",context),showElement("#studiosCollapsible",context),showElement("#fldOfficialRating",context),showElement("#fldCustomRating",context)),showElement("#tagsCollapsible",context),"TvChannel"===item.Type?(hideElement("#metadataSettingsCollapsible",context),hideElement("#fldPremiereDate",context),hideElement("#fldDateAdded",context),hideElement("#fldYear",context)):(showElement("#metadataSettingsCollapsible",context),showElement("#fldPremiereDate",context),showElement("#fldDateAdded",context),showElement("#fldYear",context)),"TvChannel"===item.Type?hideElement(".overviewContainer",context):showElement(".overviewContainer",context),"TvChannel"===item.Type?hideElement(".websiteFieldContainer",context):showElement(".websiteFieldContainer",context),"Person"===item.Type?(context.querySelector("#txtProductionYear").label(globalize.translate("sharedcomponents#LabelBirthYear")),context.querySelector("#txtPremiereDate").label(globalize.translate("sharedcomponents#LabelBirthDate")),context.querySelector("#txtEndDate").label(globalize.translate("sharedcomponents#LabelDeathDate")),showElement("#fldPlaceOfBirth")):(context.querySelector("#txtProductionYear").label(globalize.translate("sharedcomponents#LabelYear")),context.querySelector("#txtPremiereDate").label(globalize.translate("sharedcomponents#LabelReleaseDate")),context.querySelector("#txtEndDate").label(globalize.translate("sharedcomponents#LabelEndDate")),hideElement("#fldPlaceOfBirth")),"Video"===item.MediaType&&"TvChannel"!==item.Type?showElement("#fldOriginalAspectRatio"):hideElement("#fldOriginalAspectRatio"),"Audio"===item.Type||"Episode"===item.Type||"Season"===item.Type?(showElement("#fldIndexNumber"),"Episode"===item.Type?context.querySelector("#txtIndexNumber").label(globalize.translate("sharedcomponents#LabelEpisodeNumber")):"Season"===item.Type?context.querySelector("#txtIndexNumber").label(globalize.translate("sharedcomponents#LabelSeasonNumber")):"Audio"===item.Type?context.querySelector("#txtIndexNumber").label(globalize.translate("sharedcomponents#LabelTrackNumber")):context.querySelector("#txtIndexNumber").label(globalize.translate("sharedcomponents#LabelNumber"))):hideElement("#fldIndexNumber"),"Audio"===item.Type||"Episode"===item.Type?(showElement("#fldParentIndexNumber"),"Episode"===item.Type?context.querySelector("#txtParentIndexNumber").label(globalize.translate("sharedcomponents#LabelSeasonNumber")):"Audio"===item.Type?context.querySelector("#txtParentIndexNumber").label(globalize.translate("sharedcomponents#LabelDiscNumber")):context.querySelector("#txtParentIndexNumber").label(globalize.translate("sharedcomponents#LabelParentNumber"))):hideElement("#fldParentIndexNumber",context),"BoxSet"===item.Type?(showElement("#fldDisplayOrder",context),context.querySelector("#selectDisplayOrder").innerHTML='",showElement("#collapsibleDisplaySettings",context)):(context.querySelector("#selectDisplayOrder").innerHTML="",hideElement("#fldDisplayOrder",context),hideElement("#collapsibleDisplaySettings",context))}function fillItemInfo(context,item,parentalRatingOptions){var select=context.querySelector("#selectOfficialRating");populateRatings(parentalRatingOptions,select,item.OfficialRating),select.value=item.OfficialRating||"",select=context.querySelector("#selectCustomRating"),populateRatings(parentalRatingOptions,select,item.CustomRating),select.value=item.CustomRating||"";var selectStatus=context.querySelector("#selectStatus");populateStatus(selectStatus),selectStatus.value=item.Status||"",context.querySelector("#select3dFormat",context).value=item.Video3DFormat||"",Array.prototype.forEach.call(context.querySelectorAll(".chkAirDay",context),function(el){el.checked=(item.AirDays||[]).indexOf(el.getAttribute("data-day"))!==-1}),populateListView(context.querySelector("#listGenres"),item.Genres),populatePeople(context,item.People||[]),populateListView(context.querySelector("#listStudios"),(item.Studios||[]).map(function(element){return element.Name||""})),populateListView(context.querySelector("#listTags"),item.Tags);var lockData=item.LockData||!1,chkLockData=context.querySelector("#chkLockData");chkLockData.checked=lockData,chkLockData.checked?hideElement(".providerSettingsContainer",context):showElement(".providerSettingsContainer",context),populateInternetProviderSettings(context,item,item.LockedFields),context.querySelector("#txtPath").value=item.Path||"",context.querySelector("#txtName").value=item.Name||"",context.querySelector("#txtOriginalName").value=item.OriginalTitle||"",context.querySelector("#txtOverview").value=item.Overview||"",context.querySelector("#txtTagline").value=item.Taglines&&item.Taglines.length?item.Taglines[0]:"",context.querySelector("#txtSortName").value=item.ForcedSortName||"",context.querySelector("#txtCommunityRating").value=item.CommunityRating||"",context.querySelector("#txtHomePageUrl").value=item.HomePageUrl||"",context.querySelector("#txtCriticRating").value=item.CriticRating||"",context.querySelector("#txtIndexNumber").value="IndexNumber"in item?item.IndexNumber:"",context.querySelector("#txtParentIndexNumber").value="ParentIndexNumber"in item?item.ParentIndexNumber:"",context.querySelector("#txtAbsoluteEpisodeNumber").value="AbsoluteEpisodeNumber"in item?item.AbsoluteEpisodeNumber:"",context.querySelector("#txtDvdEpisodeNumber").value="DvdEpisodeNumber"in item?item.DvdEpisodeNumber:"",context.querySelector("#txtDvdSeasonNumber").value="DvdSeasonNumber"in item?item.DvdSeasonNumber:"",context.querySelector("#txtAirsBeforeSeason").value="AirsBeforeSeasonNumber"in item?item.AirsBeforeSeasonNumber:"",context.querySelector("#txtAirsAfterSeason").value="AirsAfterSeasonNumber"in item?item.AirsAfterSeasonNumber:"",context.querySelector("#txtAirsBeforeEpisode").value="AirsBeforeEpisodeNumber"in item?item.AirsBeforeEpisodeNumber:"",context.querySelector("#txtAlbum").value=item.Album||"",context.querySelector("#txtAlbumArtist").value=(item.AlbumArtists||[]).map(function(a){return a.Name}).join(";"),context.querySelector("#selectDisplayOrder").value=item.DisplayOrder,context.querySelector("#txtArtist").value=(item.ArtistItems||[]).map(function(a){return a.Name}).join(";");var date;if(item.DateCreated)try{date=datetime.parseISO8601Date(item.DateCreated,!0),context.querySelector("#txtDateAdded").value=date.toISOString().slice(0,10)}catch(e){context.querySelector("#txtDateAdded").value=""}else context.querySelector("#txtDateAdded").value="";if(item.PremiereDate)try{date=datetime.parseISO8601Date(item.PremiereDate,!0),context.querySelector("#txtPremiereDate").value=date.toISOString().slice(0,10)}catch(e){context.querySelector("#txtPremiereDate").value=""}else context.querySelector("#txtPremiereDate").value="";if(item.EndDate)try{date=datetime.parseISO8601Date(item.EndDate,!0),context.querySelector("#txtEndDate").value=date.toISOString().slice(0,10)}catch(e){context.querySelector("#txtEndDate").value=""}else context.querySelector("#txtEndDate").value="";context.querySelector("#txtProductionYear").value=item.ProductionYear||"",context.querySelector("#txtAirTime").value=item.AirTime||"";var placeofBirth=item.ProductionLocations&&item.ProductionLocations.length?item.ProductionLocations[0]:"";if(context.querySelector("#txtPlaceOfBirth").value=placeofBirth,context.querySelector("#txtOriginalAspectRatio").value=item.AspectRatio||"",context.querySelector("#selectLanguage").value=item.PreferredMetadataLanguage||"",context.querySelector("#selectCountry").value=item.PreferredMetadataCountryCode||"",item.RunTimeTicks){var minutes=item.RunTimeTicks/6e8;context.querySelector("#txtSeriesRuntime").value=Math.round(minutes)}else context.querySelector("#txtSeriesRuntime",context).value=""}function populateRatings(allParentalRatings,select,currentValue){var html="";html+="";var i,length,rating,ratings=[],currentValueFound=!1;for(i=0,length=allParentalRatings.length;i"+rating.Name+"";select.innerHTML=html}function populateStatus(select){var html="";html+="",html+="",html+="",select.innerHTML=html}function populateListView(list,items,sortCallback){items=items||[],"undefined"==typeof sortCallback?items.sort(function(a,b){return a.toLowerCase().localeCompare(b.toLowerCase())}):items=sortCallback(items);for(var html="",i=0;i',html+='live_tv',html+='
',html+='
',html+=items[i],html+="
",html+="
",html+='',html+="";list.innerHTML=html}function populatePeople(context,people){for(var lastType="",html="",elem=context.querySelector("#peopleList"),i=0,length=people.length;i',html+='person',html+='
',html+='",html+="
",html+='',html+=""}elem.innerHTML=html}function generateSliders(fields,currentFields){for(var html="",i=0;i",html+=""+name+"",html+=""}return html}function populateInternetProviderSettings(context,item,lockedFields){var container=context.querySelector(".providerSettingsContainer");lockedFields=lockedFields||[];var metadatafields=[{name:globalize.translate("sharedcomponents#Name"),value:"Name"},{name:globalize.translate("sharedcomponents#Overview"),value:"Overview"},{name:globalize.translate("sharedcomponents#Genres"),value:"Genres"},{name:globalize.translate("sharedcomponents#ParentalRating"),value:"OfficialRating"},{name:globalize.translate("sharedcomponents#People"),value:"Cast"}];"Person"===item.Type?metadatafields.push({name:globalize.translate("sharedcomponents#BirthLocation"),value:"ProductionLocations"}):metadatafields.push({name:globalize.translate("sharedcomponents#ProductionLocations"),value:"ProductionLocations"}),"Series"===item.Type&&metadatafields.push({name:globalize.translate("Runtime"),value:"Runtime"}),metadatafields.push({name:globalize.translate("sharedcomponents#Studios"),value:"Studios"}),metadatafields.push({name:globalize.translate("sharedcomponents#Tags"),value:"Tags"}),metadatafields.push({name:globalize.translate("sharedcomponents#Images"),value:"Images"}),metadatafields.push({name:globalize.translate("sharedcomponents#Backdrops"),value:"Backdrops"}),"Game"===item.Type&&metadatafields.push({name:globalize.translate("sharedcomponents#Screenshots"),value:"Screenshots"});var html="";html+="

"+globalize.translate("sharedcomponents#HeaderEnabledFields")+"

",html+="

"+globalize.translate("sharedcomponents#HeaderEnabledFieldsHelp")+"

",html+=generateSliders(metadatafields,lockedFields),container.innerHTML=html}function reload(context,itemId,serverId){loading.show(),Promise.all([getItem(itemId,serverId),getEditorConfig(itemId,serverId)]).then(function(responses){var item=responses[0];metadataEditorInfo=responses[1],currentItem=item;var languages=metadataEditorInfo.Cultures,countries=metadataEditorInfo.Countries;renderContentTypeOptions(context,metadataEditorInfo),loadExternalIds(context,item,metadataEditorInfo.ExternalIdInfos),populateLanguages(context.querySelector("#selectLanguage"),languages),populateCountries(context.querySelector("#selectCountry"),countries),setFieldVisibilities(context,item),fillItemInfo(context,item,metadataEditorInfo.ParentalRatingOptions),"Video"===item.MediaType&&"Episode"!==item.Type&&"TvChannel"!==item.Type?showElement("#fldTagline",context):hideElement("#fldTagline",context),loading.hide()})}function centerFocus(elem,horiz,on){require(["scrollHelper"],function(scrollHelper){var fn=on?"on":"off";scrollHelper.centerFocus[fn](elem,horiz)})}function show(itemId,serverId,resolve,reject){loading.show(),require(["text!./metadataeditor.template.html"],function(template){var dialogOptions={removeOnClose:!0,scrollY:!1};layoutManager.tv?dialogOptions.size="fullscreen":dialogOptions.size="medium-tall";var dlg=dialogHelper.createDialog(dialogOptions);dlg.classList.add("formDialog");var html="";html+=globalize.translateDocument(template,"sharedcomponents"),dlg.innerHTML=html,layoutManager.tv&¢erFocus(dlg.querySelector(".formDialogContent"),!1,!0),dialogHelper.open(dlg),dlg.addEventListener("close",function(){layoutManager.tv&¢erFocus(dlg.querySelector(".formDialogContent"),!1,!1),unbindItemChanged(dlg,connectionManager.getApiClient(serverId)),resolve()}),currentContext=dlg,init(dlg,connectionManager.getApiClient(serverId)),reload(dlg,itemId,serverId)})}var currentContext,metadataEditorInfo,currentItem;return{show:function(itemId,serverId){return new Promise(function(resolve,reject){return show(itemId,serverId,resolve,reject)})},embed:function(elem,itemId,serverId){return new Promise(function(resolve,reject){loading.show(),require(["text!./metadataeditor.template.html"],function(template){elem.innerHTML=globalize.translateDocument(template,"sharedcomponents"),elem.querySelector(".formDialogFooter").classList.remove("formDialogFooter"),elem.querySelector(".btnHeaderSave").classList.remove("hide"),elem.querySelector(".btnCancel").classList.add("hide"),currentContext=elem,init(elem,connectionManager.getApiClient(serverId)),reload(elem,itemId,serverId),focusManager.autoFocus(elem)})})}}}); \ No newline at end of file +define(["itemHelper","dom","layoutManager","dialogHelper","datetime","loading","focusManager","connectionManager","globalize","require","shell","emby-checkbox","emby-input","emby-select","listViewStyle","emby-textarea","emby-button","paper-icon-button-light","css!./../formdialog","clearButtonStyle"],function(itemHelper,dom,layoutManager,dialogHelper,datetime,loading,focusManager,connectionManager,globalize,require,shell){"use strict";function isDialog(){return currentContext.classList.contains("dialog")}function closeDialog(isSubmitted){isDialog()&&dialogHelper.close(currentContext)}function submitUpdatedItem(form,item){function afterContentTypeUpdated(){require(["toast"],function(toast){toast(globalize.translate("sharedcomponents#MessageItemSaved"))}),loading.hide(),closeDialog(!0)}var apiClient=getApiClient();apiClient.updateItem(item).then(function(){var newContentType=form.querySelector("#selectContentType").value||"";(metadataEditorInfo.ContentType||"")!==newContentType?apiClient.ajax({url:apiClient.getUrl("Items/"+item.Id+"/ContentType",{ContentType:newContentType}),type:"POST"}).then(function(){afterContentTypeUpdated()}):afterContentTypeUpdated()})}function getSelectedAirDays(form){var checkedItems=form.querySelectorAll(".chkAirDay:checked")||[];return Array.prototype.map.call(checkedItems,function(c){return c.getAttribute("data-day")})}function getAlbumArtists(form){return form.querySelector("#txtAlbumArtist").value.trim().split(";").filter(function(s){return s.length>0}).map(function(a){return{Name:a}})}function getArtists(form){return form.querySelector("#txtArtist").value.trim().split(";").filter(function(s){return s.length>0}).map(function(a){return{Name:a}})}function getDateFromForm(form,element,property){var val=form.querySelector(element).value;if(!val)return null;if(currentItem[property]){var date=datetime.parseISO8601Date(currentItem[property],!0),parts=date.toISOString().split("T");if(0===parts[0].indexOf(val)){var iso=parts[1];val+="T"+iso}}return val}function onSubmit(e){loading.show();var form=this;try{var item={Id:currentItem.Id,Name:form.querySelector("#txtName").value,OriginalTitle:form.querySelector("#txtOriginalName").value,ForcedSortName:form.querySelector("#txtSortName").value,CommunityRating:form.querySelector("#txtCommunityRating").value,HomePageUrl:form.querySelector("#txtHomePageUrl").value,CriticRating:form.querySelector("#txtCriticRating").value,IndexNumber:form.querySelector("#txtIndexNumber").value||null,AbsoluteEpisodeNumber:form.querySelector("#txtAbsoluteEpisodeNumber").value,DvdEpisodeNumber:form.querySelector("#txtDvdEpisodeNumber").value,DvdSeasonNumber:form.querySelector("#txtDvdSeasonNumber").value,AirsBeforeSeasonNumber:form.querySelector("#txtAirsBeforeSeason").value,AirsAfterSeasonNumber:form.querySelector("#txtAirsAfterSeason").value,AirsBeforeEpisodeNumber:form.querySelector("#txtAirsBeforeEpisode").value,ParentIndexNumber:form.querySelector("#txtParentIndexNumber").value||null,DisplayOrder:form.querySelector("#selectDisplayOrder").value,Album:form.querySelector("#txtAlbum").value,AlbumArtists:getAlbumArtists(form),ArtistItems:getArtists(form),Overview:form.querySelector("#txtOverview").value,Status:form.querySelector("#selectStatus").value,AirDays:getSelectedAirDays(form),AirTime:form.querySelector("#txtAirTime").value,Genres:editableListViewValues(form.querySelector("#listGenres")),Tags:editableListViewValues(form.querySelector("#listTags")),Studios:editableListViewValues(form.querySelector("#listStudios")).map(function(element){return{Name:element}}),PremiereDate:getDateFromForm(form,"#txtPremiereDate","PremiereDate"),DateCreated:getDateFromForm(form,"#txtDateAdded","DateCreated"),EndDate:getDateFromForm(form,"#txtEndDate","EndDate"),ProductionYear:form.querySelector("#txtProductionYear").value,AspectRatio:form.querySelector("#txtOriginalAspectRatio").value,Video3DFormat:form.querySelector("#select3dFormat").value,OfficialRating:form.querySelector("#selectOfficialRating").value,CustomRating:form.querySelector("#selectCustomRating").value,People:currentItem.People,LockData:form.querySelector("#chkLockData").checked,LockedFields:Array.prototype.filter.call(form.querySelectorAll(".selectLockedField"),function(c){return!c.checked}).map(function(c){return c.getAttribute("data-value")})};item.ProviderIds=Object.assign({},currentItem.ProviderIds);var idElements=form.querySelectorAll(".txtExternalId");if(Array.prototype.map.call(idElements,function(idElem){var providerKey=idElem.getAttribute("data-providerkey");item.ProviderIds[providerKey]=idElem.value}),item.PreferredMetadataLanguage=form.querySelector("#selectLanguage").value,item.PreferredMetadataCountryCode=form.querySelector("#selectCountry").value,"Person"===currentItem.Type){var placeOfBirth=form.querySelector("#txtPlaceOfBirth").value;item.ProductionLocations=placeOfBirth?[placeOfBirth]:[]}if("Series"===currentItem.Type){var seriesRuntime=form.querySelector("#txtSeriesRuntime").value;item.RunTimeTicks=seriesRuntime?6e8*seriesRuntime:null}var tagline=form.querySelector("#txtTagline").value;item.Taglines=tagline?[tagline]:[],submitUpdatedItem(form,item)}catch(err){alert(err)}return e.preventDefault(),e.stopPropagation(),!1}function editableListViewValues(list){return Array.prototype.map.call(list.querySelectorAll(".textValue"),function(el){return el.textContent})}function addElementToEditableListview(source,sortCallback){require(["prompt"],function(prompt){prompt({label:"Value:"}).then(function(text){var list=dom.parentWithClass(source,"editableListviewContainer").querySelector(".paperList"),items=editableListViewValues(list);items.push(text),populateListView(list,items,sortCallback)})})}function removeElementFromListview(source){var el=dom.parentWithClass(source,"listItem");el.parentNode.removeChild(el)}function editPerson(context,person,index){require(["personEditor"],function(personEditor){personEditor.show(person).then(function(updatedPerson){var isNew=index===-1;isNew&¤tItem.People.push(updatedPerson),populatePeople(context,currentItem.People)})})}function showMoreMenu(context,button,user){require(["itemContextMenu"],function(itemContextMenu){var item=currentItem;itemContextMenu.show({item:item,positionTo:button,edit:!1,editImages:!0,editSubtitles:!0,sync:!1,share:!1,play:!1,queue:!1,user:user}).then(function(result){result.deleted?afterDeleted(context,item):result.updated&&reload(context,item.Id,item.ServerId)})})}function afterDeleted(context,item){var parentId=item.ParentId||item.SeasonId||item.SeriesId;parentId?reload(context,parentId,item.ServerId):require(["appRouter"],function(appRouter){appRouter.goHome()})}function onWebSocketMessageReceived(e,data){var msg=data;"LibraryChanged"===msg.MessageType&&msg.Data.ItemsUpdated.indexOf(currentItem.Id)!==-1&&(console.log("Item updated - reloading metadata"),reload(currentContext,currentItem.Id,currentItem.ServerId))}function bindItemChanged(context,apiClient){Events.on(apiClient,"websocketmessage",onWebSocketMessageReceived)}function unbindItemChanged(context,apiClient){Events.off(apiClient,"websocketmessage",onWebSocketMessageReceived)}function onEditorClick(e){var btnRemoveFromEditorList=dom.parentWithClass(e.target,"btnRemoveFromEditorList");if(btnRemoveFromEditorList)return void removeElementFromListview(btnRemoveFromEditorList);var btnAddTextItem=dom.parentWithClass(e.target,"btnAddTextItem");btnAddTextItem&&addElementToEditableListview(btnAddTextItem)}function getApiClient(){return connectionManager.getApiClient(currentItem.ServerId)}function init(context,apiClient){context.querySelector(".externalIds").addEventListener("click",function(e){var btnOpenExternalId=dom.parentWithClass(e.target,"btnOpenExternalId");if(btnOpenExternalId){var field=context.querySelector("#"+btnOpenExternalId.getAttribute("data-fieldid")),formatString=field.getAttribute("data-formatstring");field.value&&shell.openUrl(formatString.replace("{0}",field.value))}}),context.querySelector(".btnCancel").addEventListener("click",function(){closeDialog(!1)}),context.querySelector(".btnMore").addEventListener("click",function(e){getApiClient().getCurrentUser().then(function(user){showMoreMenu(context,e.target,user)})}),context.querySelector(".btnHeaderSave").addEventListener("click",function(e){context.querySelector(".btnSave").click()}),context.querySelector("#chkLockData").addEventListener("click",function(e){e.target.checked?hideElement(".providerSettingsContainer"):showElement(".providerSettingsContainer")}),context.removeEventListener("click",onEditorClick),context.addEventListener("click",onEditorClick);var form=context.querySelector("form");form.removeEventListener("submit",onSubmit),form.addEventListener("submit",onSubmit),context.querySelector("#btnAddPerson").addEventListener("click",function(event,data){editPerson(context,{},-1)}),context.querySelector("#peopleList").addEventListener("click",function(e){var index,btnDeletePerson=dom.parentWithClass(e.target,"btnDeletePerson");btnDeletePerson&&(index=parseInt(btnDeletePerson.getAttribute("data-index")),currentItem.People.splice(index,1),populatePeople(context,currentItem.People));var btnEditPerson=dom.parentWithClass(e.target,"btnEditPerson");btnEditPerson&&(index=parseInt(btnEditPerson.getAttribute("data-index")),editPerson(context,currentItem.People[index],index))}),isDialog()&&bindItemChanged(context,apiClient)}function getItem(itemId,serverId){var apiClient=connectionManager.getApiClient(serverId);return itemId?apiClient.getItem(apiClient.getCurrentUserId(),itemId):apiClient.getRootFolder(apiClient.getCurrentUserId())}function getEditorConfig(itemId,serverId){var apiClient=connectionManager.getApiClient(serverId);return itemId?apiClient.getJSON(apiClient.getUrl("Items/"+itemId+"/MetadataEditor")):Promise.resolve({})}function populateCountries(select,allCountries){var html="";html+="";for(var i=0,length=allCountries.length;i"+culture.DisplayName+""}select.innerHTML=html}function populateLanguages(select,languages){var html="";html+="";for(var i=0,length=languages.length;i"+culture.DisplayName+""}select.innerHTML=html}function renderContentTypeOptions(context,metadataInfo){metadataInfo.ContentTypeOptions.length?showElement("#fldContentType",context):hideElement("#fldContentType",context);var html=metadataInfo.ContentTypeOptions.map(function(i){return'"}).join(""),selectEl=context.querySelector("#selectContentType");selectEl.innerHTML=html,selectEl.value=metadataInfo.ContentType||""}function loadExternalIds(context,item,externalIds){for(var html="",providerIds=item.ProviderIds||{},i=0,length=externalIds.length;i',html+='
';var value=providerIds[idInfo.Key]||"";html+='
',html+='',html+="
",formatString&&(html+=''),html+="
",html+=""}var elem=context.querySelector(".externalIds",context);elem.innerHTML=html,externalIds.length?context.querySelector(".externalIdsSection").classList.remove("hide"):context.querySelector(".externalIdsSection").classList.add("hide")}function hideElement(selector,context,multiple){if(context=context||document,"string"==typeof selector){var elements=multiple?context.querySelectorAll(selector):[context.querySelector(selector)];Array.prototype.forEach.call(elements,function(el){el&&el.classList.add("hide")})}else selector.classList.add("hide")}function showElement(selector,context,multiple){if(context=context||document,"string"==typeof selector){var elements=multiple?context.querySelectorAll(selector):[context.querySelector(selector)];Array.prototype.forEach.call(elements,function(el){el&&el.classList.remove("hide")})}else selector.classList.remove("hide")}function setFieldVisibilities(context,item){item.Path&&"Remote"!==item.LocationType?showElement("#fldPath",context):hideElement("#fldPath",context),"Series"===item.Type||"Movie"===item.Type||"Trailer"===item.Type?showElement("#fldOriginalName",context):hideElement("#fldOriginalName",context),"Series"===item.Type?showElement("#fldSeriesRuntime",context):hideElement("#fldSeriesRuntime",context),"Series"===item.Type||"Person"===item.Type?showElement("#fldEndDate",context):hideElement("#fldEndDate",context),"MusicAlbum"===item.Type?showElement("#albumAssociationMessage",context):hideElement("#albumAssociationMessage",context),"Movie"===item.Type||"Trailer"===item.Type?showElement("#fldCriticRating",context):hideElement("#fldCriticRating",context),"Series"===item.Type?(showElement("#fldStatus",context),showElement("#fldAirDays",context),showElement("#fldAirTime",context)):(hideElement("#fldStatus",context),hideElement("#fldAirDays",context),hideElement("#fldAirTime",context)),"Video"===item.MediaType&&"TvChannel"!==item.Type?showElement("#fld3dFormat",context):hideElement("#fld3dFormat",context),"Audio"===item.Type?showElement("#fldAlbumArtist",context):hideElement("#fldAlbumArtist",context),"Audio"===item.Type||"MusicVideo"===item.Type?(showElement("#fldArtist",context),showElement("#fldAlbum",context)):(hideElement("#fldArtist",context),hideElement("#fldAlbum",context)),"Episode"===item.Type?showElement("#collapsibleDvdEpisodeInfo",context):hideElement("#collapsibleDvdEpisodeInfo",context),"Episode"===item.Type&&0===item.ParentIndexNumber?showElement("#collapsibleSpecialEpisodeInfo",context):hideElement("#collapsibleSpecialEpisodeInfo",context),"Person"===item.Type||"Genre"===item.Type||"Studio"===item.Type||"GameGenre"===item.Type||"MusicGenre"===item.Type||"TvChannel"===item.Type?(hideElement("#fldCommunityRating",context),hideElement("#genresCollapsible",context),hideElement("#peopleCollapsible",context),hideElement("#studiosCollapsible",context),"TvChannel"===item.Type?showElement("#fldOfficialRating",context):hideElement("#fldOfficialRating",context),hideElement("#fldCustomRating",context)):(showElement("#fldCommunityRating",context),showElement("#genresCollapsible",context),showElement("#peopleCollapsible",context),showElement("#studiosCollapsible",context),showElement("#fldOfficialRating",context),showElement("#fldCustomRating",context)),showElement("#tagsCollapsible",context),"TvChannel"===item.Type?(hideElement("#metadataSettingsCollapsible",context),hideElement("#fldPremiereDate",context),hideElement("#fldDateAdded",context),hideElement("#fldYear",context)):(showElement("#metadataSettingsCollapsible",context),showElement("#fldPremiereDate",context),showElement("#fldDateAdded",context),showElement("#fldYear",context)),"TvChannel"===item.Type?hideElement(".overviewContainer",context):showElement(".overviewContainer",context),"TvChannel"===item.Type?hideElement(".websiteFieldContainer",context):showElement(".websiteFieldContainer",context),"Person"===item.Type?(context.querySelector("#txtProductionYear").label(globalize.translate("sharedcomponents#LabelBirthYear")),context.querySelector("#txtPremiereDate").label(globalize.translate("sharedcomponents#LabelBirthDate")),context.querySelector("#txtEndDate").label(globalize.translate("sharedcomponents#LabelDeathDate")),showElement("#fldPlaceOfBirth")):(context.querySelector("#txtProductionYear").label(globalize.translate("sharedcomponents#LabelYear")),context.querySelector("#txtPremiereDate").label(globalize.translate("sharedcomponents#LabelReleaseDate")),context.querySelector("#txtEndDate").label(globalize.translate("sharedcomponents#LabelEndDate")),hideElement("#fldPlaceOfBirth")),"Video"===item.MediaType&&"TvChannel"!==item.Type?showElement("#fldOriginalAspectRatio"):hideElement("#fldOriginalAspectRatio"),"Audio"===item.Type||"Episode"===item.Type||"Season"===item.Type?(showElement("#fldIndexNumber"),"Episode"===item.Type?context.querySelector("#txtIndexNumber").label(globalize.translate("sharedcomponents#LabelEpisodeNumber")):"Season"===item.Type?context.querySelector("#txtIndexNumber").label(globalize.translate("sharedcomponents#LabelSeasonNumber")):"Audio"===item.Type?context.querySelector("#txtIndexNumber").label(globalize.translate("sharedcomponents#LabelTrackNumber")):context.querySelector("#txtIndexNumber").label(globalize.translate("sharedcomponents#LabelNumber"))):hideElement("#fldIndexNumber"),"Audio"===item.Type||"Episode"===item.Type?(showElement("#fldParentIndexNumber"),"Episode"===item.Type?context.querySelector("#txtParentIndexNumber").label(globalize.translate("sharedcomponents#LabelSeasonNumber")):"Audio"===item.Type?context.querySelector("#txtParentIndexNumber").label(globalize.translate("sharedcomponents#LabelDiscNumber")):context.querySelector("#txtParentIndexNumber").label(globalize.translate("sharedcomponents#LabelParentNumber"))):hideElement("#fldParentIndexNumber",context),"BoxSet"===item.Type?(showElement("#fldDisplayOrder",context),context.querySelector("#selectDisplayOrder").innerHTML='",showElement("#collapsibleDisplaySettings",context)):(context.querySelector("#selectDisplayOrder").innerHTML="",hideElement("#fldDisplayOrder",context),hideElement("#collapsibleDisplaySettings",context))}function fillItemInfo(context,item,parentalRatingOptions){var select=context.querySelector("#selectOfficialRating");populateRatings(parentalRatingOptions,select,item.OfficialRating),select.value=item.OfficialRating||"",select=context.querySelector("#selectCustomRating"),populateRatings(parentalRatingOptions,select,item.CustomRating),select.value=item.CustomRating||"";var selectStatus=context.querySelector("#selectStatus");populateStatus(selectStatus),selectStatus.value=item.Status||"",context.querySelector("#select3dFormat",context).value=item.Video3DFormat||"",Array.prototype.forEach.call(context.querySelectorAll(".chkAirDay",context),function(el){el.checked=(item.AirDays||[]).indexOf(el.getAttribute("data-day"))!==-1}),populateListView(context.querySelector("#listGenres"),item.Genres),populatePeople(context,item.People||[]),populateListView(context.querySelector("#listStudios"),(item.Studios||[]).map(function(element){return element.Name||""})),populateListView(context.querySelector("#listTags"),item.Tags);var lockData=item.LockData||!1,chkLockData=context.querySelector("#chkLockData");chkLockData.checked=lockData,chkLockData.checked?hideElement(".providerSettingsContainer",context):showElement(".providerSettingsContainer",context),populateInternetProviderSettings(context,item,item.LockedFields),context.querySelector("#txtPath").value=item.Path||"",context.querySelector("#txtName").value=item.Name||"",context.querySelector("#txtOriginalName").value=item.OriginalTitle||"",context.querySelector("#txtOverview").value=item.Overview||"",context.querySelector("#txtTagline").value=item.Taglines&&item.Taglines.length?item.Taglines[0]:"",context.querySelector("#txtSortName").value=item.ForcedSortName||"",context.querySelector("#txtCommunityRating").value=item.CommunityRating||"",context.querySelector("#txtHomePageUrl").value=item.HomePageUrl||"",context.querySelector("#txtCriticRating").value=item.CriticRating||"",context.querySelector("#txtIndexNumber").value="IndexNumber"in item?item.IndexNumber:"",context.querySelector("#txtParentIndexNumber").value="ParentIndexNumber"in item?item.ParentIndexNumber:"",context.querySelector("#txtAbsoluteEpisodeNumber").value="AbsoluteEpisodeNumber"in item?item.AbsoluteEpisodeNumber:"",context.querySelector("#txtDvdEpisodeNumber").value="DvdEpisodeNumber"in item?item.DvdEpisodeNumber:"",context.querySelector("#txtDvdSeasonNumber").value="DvdSeasonNumber"in item?item.DvdSeasonNumber:"",context.querySelector("#txtAirsBeforeSeason").value="AirsBeforeSeasonNumber"in item?item.AirsBeforeSeasonNumber:"",context.querySelector("#txtAirsAfterSeason").value="AirsAfterSeasonNumber"in item?item.AirsAfterSeasonNumber:"",context.querySelector("#txtAirsBeforeEpisode").value="AirsBeforeEpisodeNumber"in item?item.AirsBeforeEpisodeNumber:"",context.querySelector("#txtAlbum").value=item.Album||"",context.querySelector("#txtAlbumArtist").value=(item.AlbumArtists||[]).map(function(a){return a.Name}).join(";"),context.querySelector("#selectDisplayOrder").value=item.DisplayOrder,context.querySelector("#txtArtist").value=(item.ArtistItems||[]).map(function(a){return a.Name}).join(";");var date;if(item.DateCreated)try{date=datetime.parseISO8601Date(item.DateCreated,!0),context.querySelector("#txtDateAdded").value=date.toISOString().slice(0,10)}catch(e){context.querySelector("#txtDateAdded").value=""}else context.querySelector("#txtDateAdded").value="";if(item.PremiereDate)try{date=datetime.parseISO8601Date(item.PremiereDate,!0),context.querySelector("#txtPremiereDate").value=date.toISOString().slice(0,10)}catch(e){context.querySelector("#txtPremiereDate").value=""}else context.querySelector("#txtPremiereDate").value="";if(item.EndDate)try{date=datetime.parseISO8601Date(item.EndDate,!0),context.querySelector("#txtEndDate").value=date.toISOString().slice(0,10)}catch(e){context.querySelector("#txtEndDate").value=""}else context.querySelector("#txtEndDate").value="";context.querySelector("#txtProductionYear").value=item.ProductionYear||"",context.querySelector("#txtAirTime").value=item.AirTime||"";var placeofBirth=item.ProductionLocations&&item.ProductionLocations.length?item.ProductionLocations[0]:"";if(context.querySelector("#txtPlaceOfBirth").value=placeofBirth,context.querySelector("#txtOriginalAspectRatio").value=item.AspectRatio||"",context.querySelector("#selectLanguage").value=item.PreferredMetadataLanguage||"",context.querySelector("#selectCountry").value=item.PreferredMetadataCountryCode||"",item.RunTimeTicks){var minutes=item.RunTimeTicks/6e8;context.querySelector("#txtSeriesRuntime").value=Math.round(minutes)}else context.querySelector("#txtSeriesRuntime",context).value=""}function populateRatings(allParentalRatings,select,currentValue){var html="";html+="";var i,length,rating,ratings=[],currentValueFound=!1;for(i=0,length=allParentalRatings.length;i"+rating.Name+"";select.innerHTML=html}function populateStatus(select){var html="";html+="",html+="",html+="",select.innerHTML=html}function populateListView(list,items,sortCallback){items=items||[],"undefined"==typeof sortCallback?items.sort(function(a,b){return a.toLowerCase().localeCompare(b.toLowerCase())}):items=sortCallback(items);for(var html="",i=0;i',html+='live_tv',html+='
',html+='
',html+=items[i],html+="
",html+="
",html+='',html+="";list.innerHTML=html}function populatePeople(context,people){for(var lastType="",html="",elem=context.querySelector("#peopleList"),i=0,length=people.length;i',html+='person',html+='
',html+='",html+="
",html+='',html+=""}elem.innerHTML=html}function generateSliders(fields,currentFields){for(var html="",i=0;i",html+=""+name+"",html+=""}return html}function populateInternetProviderSettings(context,item,lockedFields){var container=context.querySelector(".providerSettingsContainer");lockedFields=lockedFields||[];var metadatafields=[{name:globalize.translate("sharedcomponents#Name"),value:"Name"},{name:globalize.translate("sharedcomponents#Overview"),value:"Overview"},{name:globalize.translate("sharedcomponents#Genres"),value:"Genres"},{name:globalize.translate("sharedcomponents#ParentalRating"),value:"OfficialRating"},{name:globalize.translate("sharedcomponents#People"),value:"Cast"}];"Person"===item.Type?metadatafields.push({name:globalize.translate("sharedcomponents#BirthLocation"),value:"ProductionLocations"}):metadatafields.push({name:globalize.translate("sharedcomponents#ProductionLocations"),value:"ProductionLocations"}),"Series"===item.Type&&metadatafields.push({name:globalize.translate("Runtime"),value:"Runtime"}),metadatafields.push({name:globalize.translate("sharedcomponents#Studios"),value:"Studios"}),metadatafields.push({name:globalize.translate("sharedcomponents#Tags"),value:"Tags"}),metadatafields.push({name:globalize.translate("sharedcomponents#Images"),value:"Images"}),metadatafields.push({name:globalize.translate("sharedcomponents#Backdrops"),value:"Backdrops"}),"Game"===item.Type&&metadatafields.push({name:globalize.translate("sharedcomponents#Screenshots"),value:"Screenshots"});var html="";html+="

"+globalize.translate("sharedcomponents#HeaderEnabledFields")+"

",html+="

"+globalize.translate("sharedcomponents#HeaderEnabledFieldsHelp")+"

",html+=generateSliders(metadatafields,lockedFields),container.innerHTML=html}function reload(context,itemId,serverId){loading.show(),Promise.all([getItem(itemId,serverId),getEditorConfig(itemId,serverId)]).then(function(responses){var item=responses[0];metadataEditorInfo=responses[1],currentItem=item;var languages=metadataEditorInfo.Cultures,countries=metadataEditorInfo.Countries;renderContentTypeOptions(context,metadataEditorInfo),loadExternalIds(context,item,metadataEditorInfo.ExternalIdInfos),populateLanguages(context.querySelector("#selectLanguage"),languages),populateCountries(context.querySelector("#selectCountry"),countries),setFieldVisibilities(context,item),fillItemInfo(context,item,metadataEditorInfo.ParentalRatingOptions),"Video"===item.MediaType&&"Episode"!==item.Type&&"TvChannel"!==item.Type?showElement("#fldTagline",context):hideElement("#fldTagline",context),loading.hide()})}function centerFocus(elem,horiz,on){require(["scrollHelper"],function(scrollHelper){var fn=on?"on":"off";scrollHelper.centerFocus[fn](elem,horiz)})}function show(itemId,serverId,resolve,reject){loading.show(),require(["text!./metadataeditor.template.html"],function(template){var dialogOptions={removeOnClose:!0,scrollY:!1};layoutManager.tv?dialogOptions.size="fullscreen":dialogOptions.size="medium-tall";var dlg=dialogHelper.createDialog(dialogOptions);dlg.classList.add("formDialog");var html="";html+=globalize.translateDocument(template,"sharedcomponents"),dlg.innerHTML=html,layoutManager.tv&¢erFocus(dlg.querySelector(".formDialogContent"),!1,!0),dialogHelper.open(dlg),dlg.addEventListener("close",function(){layoutManager.tv&¢erFocus(dlg.querySelector(".formDialogContent"),!1,!1),unbindItemChanged(dlg,connectionManager.getApiClient(serverId)),resolve()}),currentContext=dlg,init(dlg,connectionManager.getApiClient(serverId)),reload(dlg,itemId,serverId)})}var currentContext,metadataEditorInfo,currentItem;return{show:function(itemId,serverId){return new Promise(function(resolve,reject){return show(itemId,serverId,resolve,reject)})},embed:function(elem,itemId,serverId){return new Promise(function(resolve,reject){loading.show(),require(["text!./metadataeditor.template.html"],function(template){elem.innerHTML=globalize.translateDocument(template,"sharedcomponents"),elem.querySelector(".formDialogFooter").classList.remove("formDialogFooter"),elem.querySelector(".btnHeaderSave").classList.remove("hide"),elem.querySelector(".btnCancel").classList.add("hide"),currentContext=elem,init(elem,connectionManager.getApiClient(serverId)),reload(elem,itemId,serverId),focusManager.autoFocus(elem)})})}}}); \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/metadataeditor.template.html b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/metadataeditor.template.html index 0231f85b7a..1e32a9eb9b 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/metadataeditor.template.html +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/metadataeditor.template.html @@ -150,9 +150,9 @@

-

+

${HeaderAlternateEpisodeNumbers} -

+

@@ -165,9 +165,9 @@

-

+

${HeaderSpecialEpisodeInfo} -

+

@@ -180,26 +180,26 @@

-

+

${HeaderExternalIds} -

+

-

+

${HeaderDisplaySettings} -

+
-

+

${Genres} -

+
-

+

${People} -

+
-

+

${Studios} -

+
-

+

${Tags} -

+
-

${HeaderMetadataSettings}

+

${HeaderMetadataSettings}

diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/playback/playbackmanager.js b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/playback/playbackmanager.js index e98c57901a..dd7c6fa88a 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/playback/playbackmanager.js +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/playback/playbackmanager.js @@ -1,3 +1,3 @@ -define(["events","datetime","appSettings","itemHelper","pluginManager","playQueueManager","userSettings","globalize","connectionManager","loading","apphost","fullscreenManager"],function(events,datetime,appSettings,itemHelper,pluginManager,PlayQueueManager,userSettings,globalize,connectionManager,loading,apphost,fullscreenManager){"use strict";function enableLocalPlaylistManagement(player){return!player.getPlaylist&&!!player.isLocalPlayer}function bindToFullscreenChange(player){events.on(fullscreenManager,"fullscreenchange",function(){events.trigger(player,"fullscreenchange")})}function triggerPlayerChange(playbackManagerInstance,newPlayer,newTarget,previousPlayer,previousTargetInfo){(newPlayer||previousPlayer)&&(newTarget&&previousTargetInfo&&newTarget.id===previousTargetInfo.id||events.trigger(playbackManagerInstance,"playerchange",[newPlayer,newTarget,previousPlayer]))}function reportPlayback(state,serverId,method,progressEventName){if(serverId){var info=Object.assign({},state.PlayState);info.ItemId=state.NowPlayingItem.Id,progressEventName&&(info.EventName=progressEventName);var apiClient=connectionManager.getApiClient(serverId);apiClient[method](info)}}function normalizeName(t){return t.toLowerCase().replace(" ","")}function getItemsForPlayback(serverId,query){var apiClient=connectionManager.getApiClient(serverId);if(query.Ids&&1===query.Ids.split(",").length){var itemId=query.Ids.split(",");return apiClient.getItem(apiClient.getCurrentUserId(),itemId).then(function(item){return{Items:[item],TotalRecordCount:1}})}return query.Limit=query.Limit||200,query.Fields="MediaSources,Chapters",query.ExcludeLocationTypes="Virtual",query.EnableTotalRecordCount=!1,apiClient.getItems(apiClient.getCurrentUserId(),query)}function createStreamInfoFromUrlItem(item){return{url:item.Url||item.Path,playMethod:"DirectPlay",item:item,textTracks:[],mediaType:item.MediaType}}function mergePlaybackQueries(obj1,obj2){var query=Object.assign(obj1,obj2),filters=query.Filters?query.Filters.split(","):[];return filters.indexOf("IsNotFolder")===-1&&filters.push("IsNotFolder"),query.Filters=filters.join(","),query}function backdropImageUrl(apiClient,item,options){return options=options||{},options.type=options.type||"Backdrop",options.maxWidth||options.width||options.maxHeight||options.height||(options.quality=100),item.BackdropImageTags&&item.BackdropImageTags.length?(options.tag=item.BackdropImageTags[0],apiClient.getScaledImageUrl(item.Id,options)):item.ParentBackdropImageTags&&item.ParentBackdropImageTags.length?(options.tag=item.ParentBackdropImageTags[0],apiClient.getScaledImageUrl(item.ParentBackdropItemId,options)):null}function getMimeType(type,container){if(container=(container||"").toLowerCase(),"audio"===type){if("opus"===container)return"audio/ogg";if("webma"===container)return"audio/webm";if("m4a"===container)return"audio/mp4"}else if("video"===type){if("mkv"===container)return"video/x-matroska";if("m4v"===container)return"video/mp4";if("mov"===container)return"video/quicktime";if("mpg"===container)return"video/mpeg";if("flv"===container)return"video/x-flv"}return type+"/"+container}function getParam(name,url){name=name.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var regexS="[\\?&]"+name+"=([^&#]*)",regex=new RegExp(regexS,"i"),results=regex.exec(url);return null==results?"":decodeURIComponent(results[1].replace(/\+/g," "))}function isAutomaticPlayer(player){return!!player.isLocalPlayer}function getAutomaticPlayers(instance){var player=instance._currentPlayer;return player&&!isAutomaticPlayer(player)?[player]:instance.getPlayers().filter(isAutomaticPlayer)}function isServerItem(item){return!!item.Id}function enableIntros(item){return"Video"===item.MediaType&&("TvChannel"!==item.Type&&("InProgress"!==item.Status&&isServerItem(item)))}function getIntros(firstItem,apiClient,options){return!options.startPositionTicks&&options.fullscreen!==!1&&enableIntros(firstItem)&&userSettings.enableCinemaMode()?apiClient.getIntros(firstItem.Id):Promise.resolve({Items:[]})}function getAudioMaxValues(deviceProfile){var maxAudioSampleRate=null,maxAudioBitDepth=null;return deviceProfile.CodecProfiles.map(function(codecProfile){"Audio"===codecProfile.Type&&(codecProfile.Conditions||[]).map(function(condition){"LessThanEqual"===condition.Condition&&"AudioBitDepth"===condition.Property&&(maxAudioBitDepth=condition.Value),"LessThanEqual"===condition.Condition&&"AudioSampleRate"===condition.Property&&(maxAudioSampleRate=condition.Value)})}),{maxAudioSampleRate:maxAudioSampleRate,maxAudioBitDepth:maxAudioBitDepth}}function getAudioStreamUrl(item,transcodingProfile,directPlayContainers,maxBitrate,apiClient,maxAudioSampleRate,maxAudioBitDepth,startPosition){var url="Audio/"+item.Id+"/universal";return startingPlaySession++,apiClient.getUrl(url,{UserId:apiClient.getCurrentUserId(),DeviceId:apiClient.deviceId(),MaxStreamingBitrate:maxBitrate,Container:directPlayContainers,TranscodingContainer:transcodingProfile.Container||null,TranscodingProtocol:transcodingProfile.Protocol||null,AudioCodec:transcodingProfile.AudioCodec,MaxAudioSampleRate:maxAudioSampleRate,MaxAudioBitDepth:maxAudioBitDepth,api_key:apiClient.accessToken(),PlaySessionId:startingPlaySession,StartTimeTicks:startPosition||0,EnableRedirection:!0,EnableRemoteMedia:apphost.supports("remotemedia")})}function getAudioStreamUrlFromDeviceProfile(item,deviceProfile,maxBitrate,apiClient,startPosition){var transcodingProfile=deviceProfile.TranscodingProfiles.filter(function(p){return"Audio"===p.Type&&"Streaming"===p.Context})[0],directPlayContainers="";deviceProfile.DirectPlayProfiles.map(function(p){"Audio"===p.Type&&(directPlayContainers?directPlayContainers+=","+p.Container:directPlayContainers=p.Container,p.AudioCodec&&(directPlayContainers+="|"+p.AudioCodec))});var maxValues=getAudioMaxValues(deviceProfile);return getAudioStreamUrl(item,transcodingProfile,directPlayContainers,maxBitrate,apiClient,maxValues.maxAudioSampleRate,maxValues.maxAudioBitDepth,startPosition)}function getStreamUrls(items,deviceProfile,maxBitrate,apiClient,startPosition){var audioTranscodingProfile=deviceProfile.TranscodingProfiles.filter(function(p){return"Audio"===p.Type&&"Streaming"===p.Context})[0],audioDirectPlayContainers="";deviceProfile.DirectPlayProfiles.map(function(p){"Audio"===p.Type&&(audioDirectPlayContainers?audioDirectPlayContainers+=","+p.Container:audioDirectPlayContainers=p.Container,p.AudioCodec&&(audioDirectPlayContainers+="|"+p.AudioCodec))});for(var maxValues=getAudioMaxValues(deviceProfile),streamUrls=[],i=0,length=items.length;i=interceptors.length)return void resolve();var interceptor=interceptors[index];interceptor.intercept(options).then(function(){runNextPrePlay(interceptors,index+1,options,resolve,reject)},reject)}function sendPlaybackListToPlayer(player,items,deviceProfile,maxBitrate,apiClient,startPosition){return setStreamUrls(items,deviceProfile,maxBitrate,apiClient,startPosition).then(function(){return loading.hide(),player.play({items:items})})}function playAfterBitrateDetect(maxBitrate,item,playOptions,onPlaybackStartedFn){var promise,startPosition=playOptions.startPositionTicks,player=getPlayer(item,playOptions),activePlayer=self._currentPlayer;return activePlayer?(self._playNextAfterEnded=!1,promise=onPlaybackChanging(activePlayer,player,item)):promise=Promise.resolve(),isServerItem(item)&&"Game"!==item.MediaType?Promise.all([promise,player.getDeviceProfile(item)]).then(function(responses){var deviceProfile=responses[1],apiClient=connectionManager.getApiClient(item.ServerId);if(player&&!enableLocalPlaylistManagement(player))return sendPlaybackListToPlayer(player,playOptions.items,deviceProfile,maxBitrate,apiClient,startPosition);var mediaSourceId=playOptions.mediaSourceId,audioStreamIndex=playOptions.audioStreamIndex,subtitleStreamIndex=playOptions.subtitleStreamIndex;return getPlaybackMediaSource(player,apiClient,deviceProfile,maxBitrate,item,startPosition,mediaSourceId,audioStreamIndex,subtitleStreamIndex).then(function(mediaSource){var streamInfo=createStreamInfo(apiClient,item.MediaType,item,mediaSource,startPosition);return streamInfo.fullscreen=playOptions.fullscreen,getPlayerData(player).isChangingStream=!1,getPlayerData(player).maxStreamingBitrate=maxBitrate,player.play(streamInfo).then(function(){loading.hide(),onPlaybackStartedFn(),onPlaybackStarted(player,playOptions,streamInfo,mediaSource)},function(){onPlaybackStartedFn(),onPlaybackStarted(player,playOptions,streamInfo,mediaSource),setTimeout(function(err){onPlaybackError.call(player,err,{type:"mediadecodeerror"})},100)})})}):promise.then(function(){var streamInfo=createStreamInfoFromUrlItem(item);return streamInfo.fullscreen=playOptions.fullscreen,getPlayerData(player).isChangingStream=!1,player.play(streamInfo).then(function(){loading.hide(),onPlaybackStartedFn(),onPlaybackStarted(player,playOptions,streamInfo)},function(){self.stop(player)})})}function createStreamInfo(apiClient,type,item,mediaSource,startPosition,forceTranscoding){var mediaUrl,contentType,directOptions,transcodingOffsetTicks=0,playerStartPositionTicks=startPosition,liveStreamId=mediaSource.LiveStreamId,playMethod="Transcode",mediaSourceContainer=(mediaSource.Container||"").toLowerCase();"Video"===type?(contentType=getMimeType("video",mediaSourceContainer),mediaSource.enableDirectPlay&&!forceTranscoding?(mediaUrl=mediaSource.Path,playMethod="DirectPlay"):mediaSource.SupportsDirectStream&&!forceTranscoding?(directOptions={Static:!0,mediaSourceId:mediaSource.Id,deviceId:apiClient.deviceId(),api_key:apiClient.accessToken()},mediaSource.ETag&&(directOptions.Tag=mediaSource.ETag),mediaSource.LiveStreamId&&(directOptions.LiveStreamId=mediaSource.LiveStreamId),mediaUrl=apiClient.getUrl("Videos/"+item.Id+"/stream."+mediaSourceContainer,directOptions),playMethod="DirectStream"):mediaSource.SupportsTranscoding&&(mediaUrl=apiClient.getUrl(mediaSource.TranscodingUrl),"hls"===mediaSource.TranscodingSubProtocol?contentType="application/x-mpegURL":(playerStartPositionTicks=null,contentType=getMimeType("video",mediaSource.TranscodingContainer),mediaUrl.toLowerCase().indexOf("copytimestamps=true")===-1&&(transcodingOffsetTicks=startPosition||0)))):"Audio"===type?(contentType=getMimeType("audio",mediaSourceContainer),mediaSource.enableDirectPlay&&!forceTranscoding?(mediaUrl=mediaSource.Path,playMethod="DirectPlay"):mediaSource.StreamUrl?(playMethod="Transcode",mediaUrl=mediaSource.StreamUrl):mediaSource.SupportsDirectStream&&!forceTranscoding?(directOptions={Static:!0,mediaSourceId:mediaSource.Id,deviceId:apiClient.deviceId(),api_key:apiClient.accessToken()},mediaSource.ETag&&(directOptions.Tag=mediaSource.ETag),mediaSource.LiveStreamId&&(directOptions.LiveStreamId=mediaSource.LiveStreamId),mediaUrl=apiClient.getUrl("Audio/"+item.Id+"/stream."+mediaSourceContainer,directOptions),playMethod="DirectStream"):mediaSource.SupportsTranscoding&&(mediaUrl=apiClient.getUrl(mediaSource.TranscodingUrl),"hls"===mediaSource.TranscodingSubProtocol?contentType="application/x-mpegURL":(transcodingOffsetTicks=startPosition||0,playerStartPositionTicks=null,contentType=getMimeType("audio",mediaSource.TranscodingContainer)))):"Game"===type&&(mediaUrl=mediaSource.Path,playMethod="DirectPlay"),!mediaUrl&&mediaSource.SupportsDirectPlay&&(mediaUrl=mediaSource.Path,playMethod="DirectPlay");var resultInfo={url:mediaUrl,mimeType:contentType,transcodingOffsetTicks:transcodingOffsetTicks,playMethod:playMethod,playerStartPositionTicks:playerStartPositionTicks,item:item,mediaSource:mediaSource,textTracks:getTextTracks(apiClient,item,mediaSource),tracks:getTextTracks(apiClient,item,mediaSource),mediaType:type,liveStreamId:liveStreamId,playSessionId:getParam("playSessionId",mediaUrl),title:item.Name},backdropUrl=backdropImageUrl(apiClient,item,{});return backdropUrl&&(resultInfo.backdropUrl=backdropUrl),resultInfo}function getTextTracks(apiClient,item,mediaSource){for(var subtitleStreams=mediaSource.MediaStreams.filter(function(s){return"Subtitle"===s.Type}),textStreams=subtitleStreams.filter(function(s){return"External"===s.DeliveryMethod}),tracks=[],i=0,length=textStreams.length;i0},self.isPlayingVideo=function(player){return self.isPlayingMediaType("Video",player)},self.isPlayingAudio=function(player){return self.isPlayingMediaType("Audio",player)},self.getPlayers=function(){return players},self.canPlay=function(item){var itemType=item.Type,locationType=item.LocationType;if("MusicGenre"===itemType||"Season"===itemType||"Series"===itemType||"BoxSet"===itemType||"MusicAlbum"===itemType||"MusicArtist"===itemType||"Playlist"===itemType)return!0;if("Virtual"===locationType&&"Program"!==itemType)return!1;if("Program"===itemType){if(!item.EndDate||!item.StartDate)return!1;if((new Date).getTime()>datetime.parseISO8601Date(item.EndDate).getTime()||(new Date).getTime()=supported.length&&(index=0),self.setAspectRatio(supported[index].id,player)}},self.setAspectRatio=function(val,player){player=player||self._currentPlayer,player&&player.setAspectRatio&&player.setAspectRatio(val)},self.getSupportedAspectRatios=function(player){return player=player||self._currentPlayer,player&&player.getSupportedAspectRatios?player.getSupportedAspectRatios():[]},self.getAspectRatio=function(player){if(player=player||self._currentPlayer,player&&player.getAspectRatio)return player.getAspectRatio()};var brightnessOsdLoaded;self.setBrightness=function(val,player){player=player||self._currentPlayer,player&&(brightnessOsdLoaded||(brightnessOsdLoaded=!0,require(["brightnessOsd"])),player.setBrightness(val))},self.getBrightness=function(player){if(player=player||self._currentPlayer)return player.getBrightness()},self.setVolume=function(val,player){player=player||self._currentPlayer,player&&player.setVolume(val)},self.getVolume=function(player){if(player=player||self._currentPlayer)return player.getVolume()},self.volumeUp=function(player){player=player||self._currentPlayer,player&&player.volumeUp()},self.volumeDown=function(player){player=player||self._currentPlayer,player&&player.volumeDown()},self.changeAudioStream=function(player){if(player=player||self._currentPlayer,player&&!enableLocalPlaylistManagement(player))return player.changeAudioStream();if(player){var i,length,currentMediaSource=self.currentMediaSource(player),mediaStreams=[];for(i=0,length=currentMediaSource.MediaStreams.length;i=mediaStreams.length&&(nextIndex=0),nextIndex=nextIndex===-1?-1:mediaStreams[nextIndex].Index,self.setAudioStreamIndex(nextIndex,player)}}},self.changeSubtitleStream=function(player){if(player=player||self._currentPlayer,player&&!enableLocalPlaylistManagement(player))return player.changeSubtitleStream();if(player){var i,length,currentMediaSource=self.currentMediaSource(player),mediaStreams=[];for(i=0,length=currentMediaSource.MediaStreams.length;i=mediaStreams.length&&(nextIndex=-1),nextIndex=nextIndex===-1?-1:mediaStreams[nextIndex].Index,self.setSubtitleStreamIndex(nextIndex,player)}}},self.getAudioStreamIndex=function(player){return player=player||self._currentPlayer,player&&!enableLocalPlaylistManagement(player)?player.getAudioStreamIndex():getPlayerData(player).audioStreamIndex},self.setAudioStreamIndex=function(index,player){return player=player||self._currentPlayer,player&&!enableLocalPlaylistManagement(player)?player.setAudioStreamIndex(index):void("Transcode"!==self.playMethod(player)&&player.canSetAudioStreamIndex()?(player.setAudioStreamIndex(index),getPlayerData(player).audioStreamIndex=index):(changeStream(player,getCurrentTicks(player),{AudioStreamIndex:index}),getPlayerData(player).audioStreamIndex=index))},self.getMaxStreamingBitrate=function(player){if(player=player||self._currentPlayer,player&&player.getMaxStreamingBitrate)return player.getMaxStreamingBitrate();var playerData=getPlayerData(player);if(playerData.maxStreamingBitrate)return playerData.maxStreamingBitrate;var mediaType=playerData.streamInfo?playerData.streamInfo.mediaType:null,currentItem=self.currentItem(player),apiClient=currentItem?connectionManager.getApiClient(currentItem.ServerId):connectionManager.currentApiClient();return getSavedMaxStreamingBitrate(apiClient,mediaType)},self.enableAutomaticBitrateDetection=function(player){if(player=player||self._currentPlayer,player&&player.enableAutomaticBitrateDetection)return player.enableAutomaticBitrateDetection();var playerData=getPlayerData(player),mediaType=playerData.streamInfo?playerData.streamInfo.mediaType:null,currentItem=self.currentItem(player),apiClient=currentItem?connectionManager.getApiClient(currentItem.ServerId):connectionManager.currentApiClient(),endpointInfo=apiClient.getSavedEndpointInfo()||{};return appSettings.enableAutomaticBitrateDetection(endpointInfo.IsInNetwork,mediaType)},self.setMaxStreamingBitrate=function(options,player){if(player=player||self._currentPlayer,player&&player.setMaxStreamingBitrate)return player.setMaxStreamingBitrate(options);var apiClient=connectionManager.getApiClient(self.currentItem(player).ServerId);apiClient.getEndpointInfo().then(function(endpointInfo){var promise,playerData=getPlayerData(player),mediaType=playerData.streamInfo?playerData.streamInfo.mediaType:null;options.enableAutomaticBitrateDetection?(appSettings.enableAutomaticBitrateDetection(endpointInfo.IsInNetwork,mediaType,!0),promise=apiClient.detectBitrate(!0)):(appSettings.enableAutomaticBitrateDetection(endpointInfo.IsInNetwork,mediaType,!1),promise=Promise.resolve(options.maxBitrate)),promise.then(function(bitrate){appSettings.maxStreamingBitrate(endpointInfo.IsInNetwork,mediaType,bitrate),changeStream(player,getCurrentTicks(player),{MaxStreamingBitrate:bitrate})})})},self.isFullscreen=function(player){return player=player||self._currentPlayer,!player.isLocalPlayer||player.isFullscreen?player.isFullscreen():fullscreenManager.isFullScreen()},self.toggleFullscreen=function(player){return player=player||self._currentPlayer,!player.isLocalPlayer||player.toggleFulscreen?player.toggleFulscreen():void(fullscreenManager.isFullScreen()?fullscreenManager.exitFullscreen():fullscreenManager.requestFullscreen())},self.togglePictureInPicture=function(player){return player=player||self._currentPlayer,player.togglePictureInPicture()},self.getSubtitleStreamIndex=function(player){if(player=player||self._currentPlayer,player&&!enableLocalPlaylistManagement(player))return player.getSubtitleStreamIndex();if(!player)throw new Error("player cannot be null");return getPlayerData(player).subtitleStreamIndex},self.setSubtitleStreamIndex=function(index,player){if(player=player||self._currentPlayer,player&&!enableLocalPlaylistManagement(player))return player.setSubtitleStreamIndex(index);var currentStream=getCurrentSubtitleStream(player),newStream=getSubtitleStream(player,index);if(currentStream||newStream){var selectedTrackElementIndex=-1,currentPlayMethod=self.playMethod(player);currentStream&&!newStream?("Encode"===getDeliveryMethod(currentStream)||"Embed"===getDeliveryMethod(currentStream)&&"Transcode"===currentPlayMethod)&&changeStream(player,getCurrentTicks(player),{SubtitleStreamIndex:-1}):!currentStream&&newStream?"External"===getDeliveryMethod(newStream)?selectedTrackElementIndex=index:"Embed"===getDeliveryMethod(newStream)&&"Transcode"!==currentPlayMethod?selectedTrackElementIndex=index:changeStream(player,getCurrentTicks(player),{SubtitleStreamIndex:index}):currentStream&&newStream&&("External"===getDeliveryMethod(newStream)||"Embed"===getDeliveryMethod(newStream)&&"Transcode"!==currentPlayMethod?(selectedTrackElementIndex=index,"External"!==getDeliveryMethod(currentStream)&&"Embed"!==getDeliveryMethod(currentStream)&&changeStream(player,getCurrentTicks(player),{SubtitleStreamIndex:-1})):changeStream(player,getCurrentTicks(player),{SubtitleStreamIndex:index})),player.setSubtitleStreamIndex(selectedTrackElementIndex),getPlayerData(player).subtitleStreamIndex=index}},self.seek=function(ticks,player){return ticks=Math.max(0,ticks),player=player||self._currentPlayer,player&&!enableLocalPlaylistManagement(player)?player.isLocalPlayer?player.seek((ticks||0)/1e4):player.seek(ticks):void changeStream(player,ticks)},self.seekRelative=function(offsetTicks,player){if(player=player||self._currentPlayer,player&&!enableLocalPlaylistManagement(player)&&player.seekRelative)return player.isLocalPlayer?player.seekRelative((ticks||0)/1e4):player.seekRelative(ticks);var ticks=getCurrentTicks(player)+offsetTicks;return this.seek(ticks,player)},self.play=function(options){if(normalizePlayOptions(options),self._currentPlayer){if(options.enableRemotePlayers===!1&&!self._currentPlayer.isLocalPlayer)return Promise.reject();if(!self._currentPlayer.isLocalPlayer)return self._currentPlayer.play(options)}if(options.fullscreen&&loading.show(),options.items)return translateItemsForPlayback(options.items,options).then(function(items){return playWithIntros(items,options)});if(!options.serverId)throw new Error("serverId required!");return getItemsForPlayback(options.serverId,{Ids:options.ids.join(",")}).then(function(result){return translateItemsForPlayback(result.Items,options).then(function(items){return playWithIntros(items,options)})})},self.getPlayerState=function(player){if(player=player||self._currentPlayer,!player)throw new Error("player cannot be null");if(!enableLocalPlaylistManagement(player)&&player.getPlayerState)return player.getPlayerState();var item=player?self.currentItem(player):null,mediaSource=player?self.currentMediaSource(player):null,state={PlayState:{}};return player&&(state.PlayState.VolumeLevel=player.getVolume(),state.PlayState.IsMuted=player.isMuted(),state.PlayState.IsPaused=player.paused(),state.PlayState.RepeatMode=self.getRepeatMode(player),state.PlayState.MaxStreamingBitrate=self.getMaxStreamingBitrate(player),state.PlayState.PositionTicks=getCurrentTicks(player),state.PlayState.PlaybackStartTimeTicks=self.playbackStartTime(player),state.PlayState.SubtitleStreamIndex=self.getSubtitleStreamIndex(player),state.PlayState.AudioStreamIndex=self.getAudioStreamIndex(player),state.PlayState.BufferedRanges=self.getBufferedRanges(player),state.PlayState.PlayMethod=self.playMethod(player),mediaSource&&(state.PlayState.LiveStreamId=mediaSource.LiveStreamId),state.PlayState.PlaySessionId=self.playSessionId(player)),mediaSource&&(state.PlayState.MediaSourceId=mediaSource.Id,state.NowPlayingItem={RunTimeTicks:mediaSource.RunTimeTicks},state.PlayState.CanSeek=(mediaSource.RunTimeTicks||0)>0||canPlayerSeek(player)),item&&(state.NowPlayingItem=getNowPlayingItemForReporting(player,item,mediaSource)),state.MediaSource=mediaSource,state},self.duration=function(player){if(player=player||self._currentPlayer,player&&!enableLocalPlaylistManagement(player)&&!player.isLocalPlayer)return player.duration();if(!player)throw new Error("player cannot be null");var mediaSource=self.currentMediaSource(player);if(mediaSource&&mediaSource.RunTimeTicks)return mediaSource.RunTimeTicks;var playerDuration=player.duration();return playerDuration&&(playerDuration*=1e4),playerDuration},self.getCurrentTicks=getCurrentTicks,self.getPlaybackInfo=function(item,options){options=options||{};var playOptions={},startPosition=0,mediaType=options.mediaType||item.MediaType,player=getPlayer(item,playOptions),apiClient=connectionManager.getApiClient(item.ServerId),maxBitrate=getSavedMaxStreamingBitrate(connectionManager.getApiClient(item.ServerId),mediaType);return player.getDeviceProfile(item).then(function(deviceProfile){var mediaSourceId=null,audioStreamIndex=null,subtitleStreamIndex=null;return getPlaybackMediaSource(player,apiClient,deviceProfile,maxBitrate,item,startPosition,mediaSourceId,audioStreamIndex,subtitleStreamIndex).then(function(mediaSource){return createStreamInfo(apiClient,item.MediaType,item,mediaSource,startPosition)})})},self.setCurrentPlaylistItem=function(playlistItemId,player){if(player=player||self._currentPlayer,player&&!enableLocalPlaylistManagement(player))return player.setCurrentPlaylistItem(playlistItemId);for(var newItem,newItemIndex,playlist=self._playQueueManager.getPlaylist(),i=0,length=playlist.length;i=0){var playlist=self._playQueueManager.getPlaylist(),newItem=playlist[newIndex];if(newItem){var playOptions=Object.assign({},currentPlayOptions,{startPositionTicks:0,mediaSourceId:null,audioStreamIndex:null,subtitleStreamIndex:null});playInternal(newItem,playOptions,function(){setPlaylistState(newItem.PlaylistItemId,newIndex)})}}},self.queue=function(options,player){queue(options,"",player)},self.queueNext=function(options,player){queue(options,"next",player)},events.on(pluginManager,"registered",function(e,plugin){"mediaplayer"===plugin.type&&initMediaPlayer(plugin)}),pluginManager.ofType("mediaplayer").map(initMediaPlayer),self.onAppClose=function(){var player=this._currentPlayer;player&&this.isPlaying(player)&&(this._playNextAfterEnded=!1,onPlaybackStopped.call(player))},self.playbackStartTime=function(player){if(player=player||this._currentPlayer,player&&!enableLocalPlaylistManagement(player)&&!player.isLocalPlayer)return player.playbackStartTime();var streamInfo=getPlayerData(player).streamInfo;return streamInfo?streamInfo.playbackStartTimeTicks:null},apphost.supports("remotecontrol")&&require(["serverNotifications"],function(serverNotifications){events.on(serverNotifications,"ServerShuttingDown",self.setDefaultPlayerActive.bind(self)),events.on(serverNotifications,"ServerRestarting",self.setDefaultPlayerActive.bind(self))})}var startingPlaySession=(new Date).getTime();return PlaybackManager.prototype.getCurrentPlayer=function(){return this._currentPlayer},PlaybackManager.prototype.currentTime=function(player){return player=player||this._currentPlayer,!player||enableLocalPlaylistManagement(player)||player.isLocalPlayer?this.getCurrentTicks(player):player.currentTime()},PlaybackManager.prototype.nextItem=function(player){if(player=player||this._currentPlayer,player&&!enableLocalPlaylistManagement(player))return player.nextItem();var nextItem=this._playQueueManager.getNextItemInfo();if(!nextItem||!nextItem.item)return Promise.reject();var apiClient=connectionManager.getApiClient(nextItem.item.ServerId);return apiClient.getItem(apiClient.getCurrentUserId(),nextItem.item.Id)},PlaybackManager.prototype.canQueue=function(item){return"MusicAlbum"===item.Type||"MusicArtist"===item.Type||"MusicGenre"===item.Type?this.canQueueMediaType("Audio"):this.canQueueMediaType(item.MediaType)},PlaybackManager.prototype.canQueueMediaType=function(mediaType){return!!this._currentPlayer&&this._currentPlayer.canPlayMediaType(mediaType)},PlaybackManager.prototype.isMuted=function(player){return player=player||this._currentPlayer,!!player&&player.isMuted()},PlaybackManager.prototype.setMute=function(mute,player){player=player||this._currentPlayer,player&&player.setMute(mute)},PlaybackManager.prototype.toggleMute=function(mute,player){player=player||this._currentPlayer,player&&(player.toggleMute?player.toggleMute():player.setMute(!player.isMuted()))},PlaybackManager.prototype.toggleDisplayMirroring=function(){this.enableDisplayMirroring(!this.enableDisplayMirroring())},PlaybackManager.prototype.enableDisplayMirroring=function(enabled){if(null!=enabled){var val=enabled?"1":"0";return void appSettings.set("displaymirror",val)}return"0"!==(appSettings.get("displaymirror")||"")},PlaybackManager.prototype.nextChapter=function(player){player=player||this._currentPlayer;var item=this.currentItem(player),ticks=this.getCurrentTicks(player),nextChapter=(item.Chapters||[]).filter(function(i){return i.StartPositionTicks>ticks})[0];nextChapter?this.seek(nextChapter.StartPositionTicks,player):this.nextTrack(player)},PlaybackManager.prototype.previousChapter=function(player){player=player||this._currentPlayer;var item=this.currentItem(player),ticks=this.getCurrentTicks(player);ticks-=1e8,0===this.getCurrentPlaylistIndex(player)&&(ticks=Math.max(ticks,0));var previousChapters=(item.Chapters||[]).filter(function(i){return i.StartPositionTicks<=ticks});previousChapters.length?this.seek(previousChapters[previousChapters.length-1].StartPositionTicks,player):this.previousTrack(player)},PlaybackManager.prototype.fastForward=function(player){if(player=player||this._currentPlayer,null!=player.fastForward)return void player.fastForward(userSettings.skipForwardLength());var offsetTicks=1e4*userSettings.skipBackLength();this.seekRelative(offsetTicks,player)},PlaybackManager.prototype.rewind=function(player){if(player=player||this._currentPlayer,null!=player.rewind)return void player.rewind(userSettings.skipBackLength());var offsetTicks=0-1e4*userSettings.skipBackLength();this.seekRelative(offsetTicks,player)},PlaybackManager.prototype.seekPercent=function(percent,player){player=player||this._currentPlayer;var ticks=this.duration(player)||0;percent/=100,ticks*=percent,this.seek(parseInt(ticks),player)},PlaybackManager.prototype.playTrailers=function(item){var apiClient=connectionManager.getApiClient(item.ServerId),instance=this;if(item.LocalTrailerCount)return apiClient.getLocalTrailers(apiClient.getCurrentUserId(),item.Id).then(function(result){ -return instance.play({items:result})});var remoteTrailers=item.RemoteTrailers||[];return remoteTrailers.length?this.play({items:remoteTrailers.map(function(t){return{Name:t.Name||item.Name+" Trailer",Url:t.Url,MediaType:"Video",Type:"Trailer",ServerId:apiClient.serverId()}})}):Promise.reject()},PlaybackManager.prototype.getSubtitleUrl=function(textStream,serverId){var apiClient=connectionManager.getApiClient(serverId),textStreamUrl=textStream.IsExternalUrl?textStream.DeliveryUrl:apiClient.getUrl(textStream.DeliveryUrl);return textStreamUrl},PlaybackManager.prototype.stop=function(player){return player=player||this._currentPlayer,player?(enableLocalPlaylistManagement(player)&&(this._playNextAfterEnded=!1),player.stop(!0,!0)):Promise.resolve()},PlaybackManager.prototype.getBufferedRanges=function(player){return player=player||this._currentPlayer,player&&player.getBufferedRanges?player.getBufferedRanges():[]},PlaybackManager.prototype.playPause=function(player){if(player=player||this._currentPlayer)return player.playPause?player.playPause():player.paused()?this.unpause(player):this.pause(player)},PlaybackManager.prototype.paused=function(player){if(player=player||this._currentPlayer)return player.paused()},PlaybackManager.prototype.pause=function(player){player=player||this._currentPlayer,player&&player.pause()},PlaybackManager.prototype.unpause=function(player){player=player||this._currentPlayer,player&&player.unpause()},PlaybackManager.prototype.instantMix=function(item,player){if(player=player||this._currentPlayer,player&&player.instantMix)return player.instantMix(item);var apiClient=connectionManager.getApiClient(item.ServerId),options={};options.UserId=apiClient.getCurrentUserId(),options.Fields="MediaSources",options.Limit=200;var instance=this;apiClient.getInstantMixFromItem(item.Id,options).then(function(result){instance.play({items:result.Items})})},PlaybackManager.prototype.shuffle=function(shuffleItem,player,queryOptions){if(player=player||this._currentPlayer,player&&player.shuffle)return player.shuffle(shuffleItem);var apiClient=connectionManager.getApiClient(shuffleItem.ServerId),instance=this;apiClient.getItem(apiClient.getCurrentUserId(),shuffleItem.Id).then(function(item){var query={Fields:"MediaSources,Chapters",Limit:200,Recursive:!0,SortBy:"Random"};if("MusicArtist"===item.Type)query.MediaTypes="Audio",query.ArtistIds=item.Id;else if("MusicGenre"===item.Type)query.MediaTypes="Audio",query.Genres=item.Name;else{if(!item.IsFolder)return;query.ParentId=item.Id}queryOptions&&(query=mergePlaybackQueries(query,queryOptions)),getItemsForPlayback(item.ServerId,query).then(function(result){instance.play({items:result.Items})})})},PlaybackManager.prototype.audioTracks=function(player){if(player=player||this._currentPlayer,player.audioTracks){var result=player.audioTracks();if(result)return result}var mediaSource=this.currentMediaSource(player),mediaStreams=(mediaSource||{}).MediaStreams||[];return mediaStreams.filter(function(s){return"Audio"===s.Type})},PlaybackManager.prototype.subtitleTracks=function(player){if(player=player||this._currentPlayer,player.subtitleTracks){var result=player.subtitleTracks();if(result)return result}var mediaSource=this.currentMediaSource(player),mediaStreams=(mediaSource||{}).MediaStreams||[];return mediaStreams.filter(function(s){return"Subtitle"===s.Type})},PlaybackManager.prototype.getSupportedCommands=function(player){if(player=player||this._currentPlayer,player.isLocalPlayer){var list=["GoHome","GoToSettings","VolumeUp","VolumeDown","Mute","Unmute","ToggleMute","SetVolume","SetAudioStreamIndex","SetSubtitleStreamIndex","SetMaxStreamingBitrate","DisplayContent","GoToSearch","DisplayMessage","SetRepeatMode"];return apphost.supports("fullscreenchange")&&list.push("ToggleFullscreen"),player.supports&&(player.supports("PictureInPicture")&&list.push("PictureInPicture"),player.supports("SetBrightness")&&list.push("SetBrightness"),player.supports("SetAspectRatio")&&list.push("SetAspectRatio")),list}var info=this.getPlayerInfo();return info?info.supportedCommands:[]},PlaybackManager.prototype.setRepeatMode=function(value,player){return player=player||this._currentPlayer,player&&!enableLocalPlaylistManagement(player)?player.setRepeatMode(value):(this._playQueueManager.setRepeatMode(value),void events.trigger(player,"repeatmodechange"))},PlaybackManager.prototype.getRepeatMode=function(player){return player=player||this._currentPlayer,player&&!enableLocalPlaylistManagement(player)?player.getRepeatMode():this._playQueueManager.getRepeatMode()},PlaybackManager.prototype.trySetActiveDeviceName=function(name){name=normalizeName(name);var instance=this;instance.getTargets().then(function(result){var target=result.filter(function(p){return normalizeName(p.name)===name})[0];target&&instance.trySetActivePlayer(target.playerName,target)})},PlaybackManager.prototype.displayContent=function(options,player){player=player||this._currentPlayer,player&&player.displayContent&&player.displayContent(options)},PlaybackManager.prototype.beginPlayerUpdates=function(player){player.beginPlayerUpdates&&player.beginPlayerUpdates()},PlaybackManager.prototype.endPlayerUpdates=function(player){player.endPlayerUpdates&&player.endPlayerUpdates()},PlaybackManager.prototype.setDefaultPlayerActive=function(){this.setActivePlayer("localplayer")},PlaybackManager.prototype.removeActivePlayer=function(name){var playerInfo=this.getPlayerInfo();playerInfo&&playerInfo.name===name&&this.setDefaultPlayerActive()},PlaybackManager.prototype.removeActiveTarget=function(id){var playerInfo=this.getPlayerInfo();playerInfo&&playerInfo.id===id&&this.setDefaultPlayerActive()},PlaybackManager.prototype.sendCommand=function(cmd,player){switch(console.log("MediaController received command: "+cmd.Name),cmd.Name){case"SetRepeatMode":this.setRepeatMode(cmd.Arguments.RepeatMode,player);break;case"VolumeUp":this.volumeUp(player);break;case"VolumeDown":this.volumeDown(player);break;case"Mute":this.setMute(!0,player);break;case"Unmute":this.setMute(!1,player);break;case"ToggleMute":this.toggleMute(player);break;case"SetVolume":this.setVolume(cmd.Arguments.Volume,player);break;case"SetAspectRatio":this.setAspectRatio(cmd.Arguments.AspectRatio,player);break;case"SetBrightness":this.setBrightness(cmd.Arguments.Brightness,player);break;case"SetAudioStreamIndex":this.setAudioStreamIndex(parseInt(cmd.Arguments.Index),player);break;case"SetSubtitleStreamIndex":this.setSubtitleStreamIndex(parseInt(cmd.Arguments.Index),player);break;case"SetMaxStreamingBitrate":break;case"ToggleFullscreen":this.toggleFullscreen(player);break;default:player.sendCommand&&player.sendCommand(cmd)}},new PlaybackManager}); \ No newline at end of file +define(["events","datetime","appSettings","itemHelper","pluginManager","playQueueManager","userSettings","globalize","connectionManager","loading","apphost","fullscreenManager"],function(events,datetime,appSettings,itemHelper,pluginManager,PlayQueueManager,userSettings,globalize,connectionManager,loading,apphost,fullscreenManager){"use strict";function enableLocalPlaylistManagement(player){return!player.getPlaylist&&!!player.isLocalPlayer}function bindToFullscreenChange(player){events.on(fullscreenManager,"fullscreenchange",function(){events.trigger(player,"fullscreenchange")})}function triggerPlayerChange(playbackManagerInstance,newPlayer,newTarget,previousPlayer,previousTargetInfo){(newPlayer||previousPlayer)&&(newTarget&&previousTargetInfo&&newTarget.id===previousTargetInfo.id||events.trigger(playbackManagerInstance,"playerchange",[newPlayer,newTarget,previousPlayer]))}function reportPlayback(state,serverId,method,progressEventName){if(serverId){var info=Object.assign({},state.PlayState);info.ItemId=state.NowPlayingItem.Id,progressEventName&&(info.EventName=progressEventName);var apiClient=connectionManager.getApiClient(serverId);apiClient[method](info)}}function normalizeName(t){return t.toLowerCase().replace(" ","")}function getItemsForPlayback(serverId,query){var apiClient=connectionManager.getApiClient(serverId);if(query.Ids&&1===query.Ids.split(",").length){var itemId=query.Ids.split(",");return apiClient.getItem(apiClient.getCurrentUserId(),itemId).then(function(item){return{Items:[item],TotalRecordCount:1}})}return query.Limit=query.Limit||200,query.Fields="MediaSources,Chapters",query.ExcludeLocationTypes="Virtual",query.EnableTotalRecordCount=!1,apiClient.getItems(apiClient.getCurrentUserId(),query)}function createStreamInfoFromUrlItem(item){return{url:item.Url||item.Path,playMethod:"DirectPlay",item:item,textTracks:[],mediaType:item.MediaType}}function mergePlaybackQueries(obj1,obj2){var query=Object.assign(obj1,obj2),filters=query.Filters?query.Filters.split(","):[];return filters.indexOf("IsNotFolder")===-1&&filters.push("IsNotFolder"),query.Filters=filters.join(","),query}function backdropImageUrl(apiClient,item,options){return options=options||{},options.type=options.type||"Backdrop",options.maxWidth||options.width||options.maxHeight||options.height||(options.quality=100),item.BackdropImageTags&&item.BackdropImageTags.length?(options.tag=item.BackdropImageTags[0],apiClient.getScaledImageUrl(item.Id,options)):item.ParentBackdropImageTags&&item.ParentBackdropImageTags.length?(options.tag=item.ParentBackdropImageTags[0],apiClient.getScaledImageUrl(item.ParentBackdropItemId,options)):null}function getMimeType(type,container){if(container=(container||"").toLowerCase(),"audio"===type){if("opus"===container)return"audio/ogg";if("webma"===container)return"audio/webm";if("m4a"===container)return"audio/mp4"}else if("video"===type){if("mkv"===container)return"video/x-matroska";if("m4v"===container)return"video/mp4";if("mov"===container)return"video/quicktime";if("mpg"===container)return"video/mpeg";if("flv"===container)return"video/x-flv"}return type+"/"+container}function getParam(name,url){name=name.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var regexS="[\\?&]"+name+"=([^&#]*)",regex=new RegExp(regexS,"i"),results=regex.exec(url);return null==results?"":decodeURIComponent(results[1].replace(/\+/g," "))}function isAutomaticPlayer(player){return!!player.isLocalPlayer}function getAutomaticPlayers(instance){var player=instance._currentPlayer;return player&&!isAutomaticPlayer(player)?[player]:instance.getPlayers().filter(isAutomaticPlayer)}function isServerItem(item){return!!item.Id}function enableIntros(item){return"Video"===item.MediaType&&("TvChannel"!==item.Type&&("InProgress"!==item.Status&&isServerItem(item)))}function getIntros(firstItem,apiClient,options){return!options.startPositionTicks&&options.fullscreen!==!1&&enableIntros(firstItem)&&userSettings.enableCinemaMode()?apiClient.getIntros(firstItem.Id):Promise.resolve({Items:[]})}function getAudioMaxValues(deviceProfile){var maxAudioSampleRate=null,maxAudioBitDepth=null;return deviceProfile.CodecProfiles.map(function(codecProfile){"Audio"===codecProfile.Type&&(codecProfile.Conditions||[]).map(function(condition){"LessThanEqual"===condition.Condition&&"AudioBitDepth"===condition.Property&&(maxAudioBitDepth=condition.Value),"LessThanEqual"===condition.Condition&&"AudioSampleRate"===condition.Property&&(maxAudioSampleRate=condition.Value)})}),{maxAudioSampleRate:maxAudioSampleRate,maxAudioBitDepth:maxAudioBitDepth}}function getAudioStreamUrl(item,transcodingProfile,directPlayContainers,maxBitrate,apiClient,maxAudioSampleRate,maxAudioBitDepth,startPosition){var url="Audio/"+item.Id+"/universal";return startingPlaySession++,apiClient.getUrl(url,{UserId:apiClient.getCurrentUserId(),DeviceId:apiClient.deviceId(),MaxStreamingBitrate:maxBitrate,Container:directPlayContainers,TranscodingContainer:transcodingProfile.Container||null,TranscodingProtocol:transcodingProfile.Protocol||null,AudioCodec:transcodingProfile.AudioCodec,MaxAudioSampleRate:maxAudioSampleRate,MaxAudioBitDepth:maxAudioBitDepth,api_key:apiClient.accessToken(),PlaySessionId:startingPlaySession,StartTimeTicks:startPosition||0,EnableRedirection:!0,EnableRemoteMedia:apphost.supports("remotemedia")})}function getAudioStreamUrlFromDeviceProfile(item,deviceProfile,maxBitrate,apiClient,startPosition){var transcodingProfile=deviceProfile.TranscodingProfiles.filter(function(p){return"Audio"===p.Type&&"Streaming"===p.Context})[0],directPlayContainers="";deviceProfile.DirectPlayProfiles.map(function(p){"Audio"===p.Type&&(directPlayContainers?directPlayContainers+=","+p.Container:directPlayContainers=p.Container,p.AudioCodec&&(directPlayContainers+="|"+p.AudioCodec))});var maxValues=getAudioMaxValues(deviceProfile);return getAudioStreamUrl(item,transcodingProfile,directPlayContainers,maxBitrate,apiClient,maxValues.maxAudioSampleRate,maxValues.maxAudioBitDepth,startPosition)}function getStreamUrls(items,deviceProfile,maxBitrate,apiClient,startPosition){var audioTranscodingProfile=deviceProfile.TranscodingProfiles.filter(function(p){return"Audio"===p.Type&&"Streaming"===p.Context})[0],audioDirectPlayContainers="";deviceProfile.DirectPlayProfiles.map(function(p){"Audio"===p.Type&&(audioDirectPlayContainers?audioDirectPlayContainers+=","+p.Container:audioDirectPlayContainers=p.Container,p.AudioCodec&&(audioDirectPlayContainers+="|"+p.AudioCodec))});for(var maxValues=getAudioMaxValues(deviceProfile),streamUrls=[],i=0,length=items.length;i=interceptors.length)return void resolve();var interceptor=interceptors[index];interceptor.intercept(options).then(function(){runNextPrePlay(interceptors,index+1,options,resolve,reject)},reject)}function sendPlaybackListToPlayer(player,items,deviceProfile,maxBitrate,apiClient,startPositionTicks){return setStreamUrls(items,deviceProfile,maxBitrate,apiClient,startPositionTicks).then(function(){return loading.hide(),player.play({items:items,startPositionTicks:startPositionTicks||0})})}function playAfterBitrateDetect(maxBitrate,item,playOptions,onPlaybackStartedFn){var promise,startPosition=playOptions.startPositionTicks,player=getPlayer(item,playOptions),activePlayer=self._currentPlayer;return activePlayer?(self._playNextAfterEnded=!1,promise=onPlaybackChanging(activePlayer,player,item)):promise=Promise.resolve(),isServerItem(item)&&"Game"!==item.MediaType?Promise.all([promise,player.getDeviceProfile(item)]).then(function(responses){var deviceProfile=responses[1],apiClient=connectionManager.getApiClient(item.ServerId);if(player&&!enableLocalPlaylistManagement(player))return sendPlaybackListToPlayer(player,playOptions.items,deviceProfile,maxBitrate,apiClient,startPosition);var mediaSourceId=playOptions.mediaSourceId,audioStreamIndex=playOptions.audioStreamIndex,subtitleStreamIndex=playOptions.subtitleStreamIndex;return getPlaybackMediaSource(player,apiClient,deviceProfile,maxBitrate,item,startPosition,mediaSourceId,audioStreamIndex,subtitleStreamIndex).then(function(mediaSource){var streamInfo=createStreamInfo(apiClient,item.MediaType,item,mediaSource,startPosition);return streamInfo.fullscreen=playOptions.fullscreen,getPlayerData(player).isChangingStream=!1,getPlayerData(player).maxStreamingBitrate=maxBitrate,player.play(streamInfo).then(function(){loading.hide(),onPlaybackStartedFn(),onPlaybackStarted(player,playOptions,streamInfo,mediaSource)},function(){onPlaybackStartedFn(),onPlaybackStarted(player,playOptions,streamInfo,mediaSource),setTimeout(function(err){onPlaybackError.call(player,err,{type:"mediadecodeerror"})},100)})})}):promise.then(function(){var streamInfo=createStreamInfoFromUrlItem(item);return streamInfo.fullscreen=playOptions.fullscreen,getPlayerData(player).isChangingStream=!1,player.play(streamInfo).then(function(){loading.hide(),onPlaybackStartedFn(),onPlaybackStarted(player,playOptions,streamInfo)},function(){self.stop(player)})})}function createStreamInfo(apiClient,type,item,mediaSource,startPosition,forceTranscoding){var mediaUrl,contentType,directOptions,transcodingOffsetTicks=0,playerStartPositionTicks=startPosition,liveStreamId=mediaSource.LiveStreamId,playMethod="Transcode",mediaSourceContainer=(mediaSource.Container||"").toLowerCase();"Video"===type?(contentType=getMimeType("video",mediaSourceContainer),mediaSource.enableDirectPlay&&!forceTranscoding?(mediaUrl=mediaSource.Path,playMethod="DirectPlay"):mediaSource.SupportsDirectStream&&!forceTranscoding?(directOptions={Static:!0,mediaSourceId:mediaSource.Id,deviceId:apiClient.deviceId(),api_key:apiClient.accessToken()},mediaSource.ETag&&(directOptions.Tag=mediaSource.ETag),mediaSource.LiveStreamId&&(directOptions.LiveStreamId=mediaSource.LiveStreamId),mediaUrl=apiClient.getUrl("Videos/"+item.Id+"/stream."+mediaSourceContainer,directOptions),playMethod="DirectStream"):mediaSource.SupportsTranscoding&&(mediaUrl=apiClient.getUrl(mediaSource.TranscodingUrl),"hls"===mediaSource.TranscodingSubProtocol?contentType="application/x-mpegURL":(playerStartPositionTicks=null,contentType=getMimeType("video",mediaSource.TranscodingContainer),mediaUrl.toLowerCase().indexOf("copytimestamps=true")===-1&&(transcodingOffsetTicks=startPosition||0)))):"Audio"===type?(contentType=getMimeType("audio",mediaSourceContainer),mediaSource.enableDirectPlay&&!forceTranscoding?(mediaUrl=mediaSource.Path,playMethod="DirectPlay"):mediaSource.StreamUrl?(playMethod="Transcode",mediaUrl=mediaSource.StreamUrl):mediaSource.SupportsDirectStream&&!forceTranscoding?(directOptions={Static:!0,mediaSourceId:mediaSource.Id,deviceId:apiClient.deviceId(),api_key:apiClient.accessToken()},mediaSource.ETag&&(directOptions.Tag=mediaSource.ETag),mediaSource.LiveStreamId&&(directOptions.LiveStreamId=mediaSource.LiveStreamId),mediaUrl=apiClient.getUrl("Audio/"+item.Id+"/stream."+mediaSourceContainer,directOptions),playMethod="DirectStream"):mediaSource.SupportsTranscoding&&(mediaUrl=apiClient.getUrl(mediaSource.TranscodingUrl),"hls"===mediaSource.TranscodingSubProtocol?contentType="application/x-mpegURL":(transcodingOffsetTicks=startPosition||0,playerStartPositionTicks=null,contentType=getMimeType("audio",mediaSource.TranscodingContainer)))):"Game"===type&&(mediaUrl=mediaSource.Path,playMethod="DirectPlay"),!mediaUrl&&mediaSource.SupportsDirectPlay&&(mediaUrl=mediaSource.Path,playMethod="DirectPlay");var resultInfo={url:mediaUrl,mimeType:contentType,transcodingOffsetTicks:transcodingOffsetTicks,playMethod:playMethod,playerStartPositionTicks:playerStartPositionTicks,item:item,mediaSource:mediaSource,textTracks:getTextTracks(apiClient,item,mediaSource),tracks:getTextTracks(apiClient,item,mediaSource),mediaType:type,liveStreamId:liveStreamId,playSessionId:getParam("playSessionId",mediaUrl),title:item.Name},backdropUrl=backdropImageUrl(apiClient,item,{});return backdropUrl&&(resultInfo.backdropUrl=backdropUrl),resultInfo}function getTextTracks(apiClient,item,mediaSource){for(var subtitleStreams=mediaSource.MediaStreams.filter(function(s){return"Subtitle"===s.Type}),textStreams=subtitleStreams.filter(function(s){return"External"===s.DeliveryMethod}),tracks=[],i=0,length=textStreams.length;i0},self.isPlayingVideo=function(player){return self.isPlayingMediaType("Video",player)},self.isPlayingAudio=function(player){return self.isPlayingMediaType("Audio",player)},self.getPlayers=function(){return players},self.canPlay=function(item){var itemType=item.Type,locationType=item.LocationType;if("MusicGenre"===itemType||"Season"===itemType||"Series"===itemType||"BoxSet"===itemType||"MusicAlbum"===itemType||"MusicArtist"===itemType||"Playlist"===itemType)return!0;if("Virtual"===locationType&&"Program"!==itemType)return!1;if("Program"===itemType){if(!item.EndDate||!item.StartDate)return!1;if((new Date).getTime()>datetime.parseISO8601Date(item.EndDate).getTime()||(new Date).getTime()=supported.length&&(index=0),self.setAspectRatio(supported[index].id,player)}},self.setAspectRatio=function(val,player){player=player||self._currentPlayer,player&&player.setAspectRatio&&player.setAspectRatio(val)},self.getSupportedAspectRatios=function(player){return player=player||self._currentPlayer,player&&player.getSupportedAspectRatios?player.getSupportedAspectRatios():[]},self.getAspectRatio=function(player){if(player=player||self._currentPlayer,player&&player.getAspectRatio)return player.getAspectRatio()};var brightnessOsdLoaded;self.setBrightness=function(val,player){player=player||self._currentPlayer,player&&(brightnessOsdLoaded||(brightnessOsdLoaded=!0,require(["brightnessOsd"])),player.setBrightness(val))},self.getBrightness=function(player){if(player=player||self._currentPlayer)return player.getBrightness()},self.setVolume=function(val,player){player=player||self._currentPlayer,player&&player.setVolume(val)},self.getVolume=function(player){if(player=player||self._currentPlayer)return player.getVolume()},self.volumeUp=function(player){player=player||self._currentPlayer,player&&player.volumeUp()},self.volumeDown=function(player){player=player||self._currentPlayer,player&&player.volumeDown()},self.changeAudioStream=function(player){if(player=player||self._currentPlayer,player&&!enableLocalPlaylistManagement(player))return player.changeAudioStream();if(player){var i,length,currentMediaSource=self.currentMediaSource(player),mediaStreams=[];for(i=0,length=currentMediaSource.MediaStreams.length;i=mediaStreams.length&&(nextIndex=0),nextIndex=nextIndex===-1?-1:mediaStreams[nextIndex].Index,self.setAudioStreamIndex(nextIndex,player)}}},self.changeSubtitleStream=function(player){if(player=player||self._currentPlayer,player&&!enableLocalPlaylistManagement(player))return player.changeSubtitleStream();if(player){var i,length,currentMediaSource=self.currentMediaSource(player),mediaStreams=[];for(i=0,length=currentMediaSource.MediaStreams.length;i=mediaStreams.length&&(nextIndex=-1),nextIndex=nextIndex===-1?-1:mediaStreams[nextIndex].Index,self.setSubtitleStreamIndex(nextIndex,player)}}},self.getAudioStreamIndex=function(player){return player=player||self._currentPlayer,player&&!enableLocalPlaylistManagement(player)?player.getAudioStreamIndex():getPlayerData(player).audioStreamIndex},self.setAudioStreamIndex=function(index,player){return player=player||self._currentPlayer,player&&!enableLocalPlaylistManagement(player)?player.setAudioStreamIndex(index):void("Transcode"!==self.playMethod(player)&&player.canSetAudioStreamIndex()?(player.setAudioStreamIndex(index),getPlayerData(player).audioStreamIndex=index):(changeStream(player,getCurrentTicks(player),{AudioStreamIndex:index}),getPlayerData(player).audioStreamIndex=index))},self.getMaxStreamingBitrate=function(player){if(player=player||self._currentPlayer,player&&player.getMaxStreamingBitrate)return player.getMaxStreamingBitrate();var playerData=getPlayerData(player);if(playerData.maxStreamingBitrate)return playerData.maxStreamingBitrate;var mediaType=playerData.streamInfo?playerData.streamInfo.mediaType:null,currentItem=self.currentItem(player),apiClient=currentItem?connectionManager.getApiClient(currentItem.ServerId):connectionManager.currentApiClient();return getSavedMaxStreamingBitrate(apiClient,mediaType)},self.enableAutomaticBitrateDetection=function(player){if(player=player||self._currentPlayer,player&&player.enableAutomaticBitrateDetection)return player.enableAutomaticBitrateDetection();var playerData=getPlayerData(player),mediaType=playerData.streamInfo?playerData.streamInfo.mediaType:null,currentItem=self.currentItem(player),apiClient=currentItem?connectionManager.getApiClient(currentItem.ServerId):connectionManager.currentApiClient(),endpointInfo=apiClient.getSavedEndpointInfo()||{};return appSettings.enableAutomaticBitrateDetection(endpointInfo.IsInNetwork,mediaType)},self.setMaxStreamingBitrate=function(options,player){if(player=player||self._currentPlayer,player&&player.setMaxStreamingBitrate)return player.setMaxStreamingBitrate(options);var apiClient=connectionManager.getApiClient(self.currentItem(player).ServerId);apiClient.getEndpointInfo().then(function(endpointInfo){var promise,playerData=getPlayerData(player),mediaType=playerData.streamInfo?playerData.streamInfo.mediaType:null;options.enableAutomaticBitrateDetection?(appSettings.enableAutomaticBitrateDetection(endpointInfo.IsInNetwork,mediaType,!0),promise=apiClient.detectBitrate(!0)):(appSettings.enableAutomaticBitrateDetection(endpointInfo.IsInNetwork,mediaType,!1),promise=Promise.resolve(options.maxBitrate)),promise.then(function(bitrate){appSettings.maxStreamingBitrate(endpointInfo.IsInNetwork,mediaType,bitrate),changeStream(player,getCurrentTicks(player),{MaxStreamingBitrate:bitrate})})})},self.isFullscreen=function(player){return player=player||self._currentPlayer,!player.isLocalPlayer||player.isFullscreen?player.isFullscreen():fullscreenManager.isFullScreen()},self.toggleFullscreen=function(player){return player=player||self._currentPlayer,!player.isLocalPlayer||player.toggleFulscreen?player.toggleFulscreen():void(fullscreenManager.isFullScreen()?fullscreenManager.exitFullscreen():fullscreenManager.requestFullscreen())},self.togglePictureInPicture=function(player){return player=player||self._currentPlayer,player.togglePictureInPicture()},self.getSubtitleStreamIndex=function(player){if(player=player||self._currentPlayer,player&&!enableLocalPlaylistManagement(player))return player.getSubtitleStreamIndex();if(!player)throw new Error("player cannot be null");return getPlayerData(player).subtitleStreamIndex},self.setSubtitleStreamIndex=function(index,player){if(player=player||self._currentPlayer,player&&!enableLocalPlaylistManagement(player))return player.setSubtitleStreamIndex(index);var currentStream=getCurrentSubtitleStream(player),newStream=getSubtitleStream(player,index);if(currentStream||newStream){var selectedTrackElementIndex=-1,currentPlayMethod=self.playMethod(player);currentStream&&!newStream?("Encode"===getDeliveryMethod(currentStream)||"Embed"===getDeliveryMethod(currentStream)&&"Transcode"===currentPlayMethod)&&changeStream(player,getCurrentTicks(player),{SubtitleStreamIndex:-1}):!currentStream&&newStream?"External"===getDeliveryMethod(newStream)?selectedTrackElementIndex=index:"Embed"===getDeliveryMethod(newStream)&&"Transcode"!==currentPlayMethod?selectedTrackElementIndex=index:changeStream(player,getCurrentTicks(player),{SubtitleStreamIndex:index}):currentStream&&newStream&&("External"===getDeliveryMethod(newStream)||"Embed"===getDeliveryMethod(newStream)&&"Transcode"!==currentPlayMethod?(selectedTrackElementIndex=index,"External"!==getDeliveryMethod(currentStream)&&"Embed"!==getDeliveryMethod(currentStream)&&changeStream(player,getCurrentTicks(player),{SubtitleStreamIndex:-1})):changeStream(player,getCurrentTicks(player),{SubtitleStreamIndex:index})),player.setSubtitleStreamIndex(selectedTrackElementIndex),getPlayerData(player).subtitleStreamIndex=index}},self.seek=function(ticks,player){return ticks=Math.max(0,ticks),player=player||self._currentPlayer,player&&!enableLocalPlaylistManagement(player)?player.isLocalPlayer?player.seek((ticks||0)/1e4):player.seek(ticks):void changeStream(player,ticks)},self.seekRelative=function(offsetTicks,player){if(player=player||self._currentPlayer,player&&!enableLocalPlaylistManagement(player)&&player.seekRelative)return player.isLocalPlayer?player.seekRelative((ticks||0)/1e4):player.seekRelative(ticks);var ticks=getCurrentTicks(player)+offsetTicks;return this.seek(ticks,player)},self.play=function(options){if(normalizePlayOptions(options),self._currentPlayer){if(options.enableRemotePlayers===!1&&!self._currentPlayer.isLocalPlayer)return Promise.reject();if(!self._currentPlayer.isLocalPlayer)return self._currentPlayer.play(options)}if(options.fullscreen&&loading.show(),options.items)return translateItemsForPlayback(options.items,options).then(function(items){return playWithIntros(items,options)});if(!options.serverId)throw new Error("serverId required!");return getItemsForPlayback(options.serverId,{Ids:options.ids.join(",")}).then(function(result){return translateItemsForPlayback(result.Items,options).then(function(items){return playWithIntros(items,options)})})},self.getPlayerState=function(player){if(player=player||self._currentPlayer,!player)throw new Error("player cannot be null");if(!enableLocalPlaylistManagement(player)&&player.getPlayerState)return player.getPlayerState();var item=player?self.currentItem(player):null,mediaSource=player?self.currentMediaSource(player):null,state={PlayState:{}};return player&&(state.PlayState.VolumeLevel=player.getVolume(),state.PlayState.IsMuted=player.isMuted(),state.PlayState.IsPaused=player.paused(),state.PlayState.RepeatMode=self.getRepeatMode(player),state.PlayState.MaxStreamingBitrate=self.getMaxStreamingBitrate(player),state.PlayState.PositionTicks=getCurrentTicks(player),state.PlayState.PlaybackStartTimeTicks=self.playbackStartTime(player),state.PlayState.SubtitleStreamIndex=self.getSubtitleStreamIndex(player),state.PlayState.AudioStreamIndex=self.getAudioStreamIndex(player),state.PlayState.BufferedRanges=self.getBufferedRanges(player),state.PlayState.PlayMethod=self.playMethod(player),mediaSource&&(state.PlayState.LiveStreamId=mediaSource.LiveStreamId),state.PlayState.PlaySessionId=self.playSessionId(player)),mediaSource&&(state.PlayState.MediaSourceId=mediaSource.Id,state.NowPlayingItem={RunTimeTicks:mediaSource.RunTimeTicks},state.PlayState.CanSeek=(mediaSource.RunTimeTicks||0)>0||canPlayerSeek(player)),item&&(state.NowPlayingItem=getNowPlayingItemForReporting(player,item,mediaSource)),state.MediaSource=mediaSource,state},self.duration=function(player){if(player=player||self._currentPlayer,player&&!enableLocalPlaylistManagement(player)&&!player.isLocalPlayer)return player.duration();if(!player)throw new Error("player cannot be null");var mediaSource=self.currentMediaSource(player);if(mediaSource&&mediaSource.RunTimeTicks)return mediaSource.RunTimeTicks;var playerDuration=player.duration();return playerDuration&&(playerDuration*=1e4),playerDuration},self.getCurrentTicks=getCurrentTicks,self.getPlaybackInfo=function(item,options){options=options||{};var startPosition=options.startPositionTicks||0,mediaType=options.mediaType||item.MediaType,player=getPlayer(item,options),apiClient=connectionManager.getApiClient(item.ServerId),maxBitrate=getSavedMaxStreamingBitrate(connectionManager.getApiClient(item.ServerId),mediaType);return player.getDeviceProfile(item).then(function(deviceProfile){var mediaSourceId=null,audioStreamIndex=null,subtitleStreamIndex=null;return getPlaybackMediaSource(player,apiClient,deviceProfile,maxBitrate,item,startPosition,mediaSourceId,audioStreamIndex,subtitleStreamIndex).then(function(mediaSource){return createStreamInfo(apiClient,item.MediaType,item,mediaSource,startPosition)})})},self.setCurrentPlaylistItem=function(playlistItemId,player){if(player=player||self._currentPlayer,player&&!enableLocalPlaylistManagement(player))return player.setCurrentPlaylistItem(playlistItemId);for(var newItem,newItemIndex,playlist=self._playQueueManager.getPlaylist(),i=0,length=playlist.length;i=0){var playlist=self._playQueueManager.getPlaylist(),newItem=playlist[newIndex];if(newItem){var playOptions=Object.assign({},currentPlayOptions,{startPositionTicks:0,mediaSourceId:null,audioStreamIndex:null,subtitleStreamIndex:null});playInternal(newItem,playOptions,function(){setPlaylistState(newItem.PlaylistItemId,newIndex)})}}},self.queue=function(options,player){queue(options,"",player)},self.queueNext=function(options,player){queue(options,"next",player)},events.on(pluginManager,"registered",function(e,plugin){"mediaplayer"===plugin.type&&initMediaPlayer(plugin)}),pluginManager.ofType("mediaplayer").map(initMediaPlayer),self.onAppClose=function(){var player=this._currentPlayer;player&&this.isPlaying(player)&&(this._playNextAfterEnded=!1,onPlaybackStopped.call(player))},self.playbackStartTime=function(player){if(player=player||this._currentPlayer,player&&!enableLocalPlaylistManagement(player)&&!player.isLocalPlayer)return player.playbackStartTime();var streamInfo=getPlayerData(player).streamInfo;return streamInfo?streamInfo.playbackStartTimeTicks:null},apphost.supports("remotecontrol")&&require(["serverNotifications"],function(serverNotifications){events.on(serverNotifications,"ServerShuttingDown",self.setDefaultPlayerActive.bind(self)),events.on(serverNotifications,"ServerRestarting",self.setDefaultPlayerActive.bind(self))})}var startingPlaySession=(new Date).getTime();return PlaybackManager.prototype.getCurrentPlayer=function(){return this._currentPlayer},PlaybackManager.prototype.currentTime=function(player){return player=player||this._currentPlayer,!player||enableLocalPlaylistManagement(player)||player.isLocalPlayer?this.getCurrentTicks(player):player.currentTime()},PlaybackManager.prototype.nextItem=function(player){if(player=player||this._currentPlayer,player&&!enableLocalPlaylistManagement(player))return player.nextItem();var nextItem=this._playQueueManager.getNextItemInfo();if(!nextItem||!nextItem.item)return Promise.reject();var apiClient=connectionManager.getApiClient(nextItem.item.ServerId);return apiClient.getItem(apiClient.getCurrentUserId(),nextItem.item.Id)},PlaybackManager.prototype.canQueue=function(item){return"MusicAlbum"===item.Type||"MusicArtist"===item.Type||"MusicGenre"===item.Type?this.canQueueMediaType("Audio"):this.canQueueMediaType(item.MediaType)},PlaybackManager.prototype.canQueueMediaType=function(mediaType){return!!this._currentPlayer&&this._currentPlayer.canPlayMediaType(mediaType)},PlaybackManager.prototype.isMuted=function(player){return player=player||this._currentPlayer,!!player&&player.isMuted()},PlaybackManager.prototype.setMute=function(mute,player){player=player||this._currentPlayer,player&&player.setMute(mute)},PlaybackManager.prototype.toggleMute=function(mute,player){player=player||this._currentPlayer,player&&(player.toggleMute?player.toggleMute():player.setMute(!player.isMuted()))},PlaybackManager.prototype.toggleDisplayMirroring=function(){this.enableDisplayMirroring(!this.enableDisplayMirroring())},PlaybackManager.prototype.enableDisplayMirroring=function(enabled){if(null!=enabled){var val=enabled?"1":"0";return void appSettings.set("displaymirror",val)}return"0"!==(appSettings.get("displaymirror")||"")},PlaybackManager.prototype.nextChapter=function(player){player=player||this._currentPlayer;var item=this.currentItem(player),ticks=this.getCurrentTicks(player),nextChapter=(item.Chapters||[]).filter(function(i){return i.StartPositionTicks>ticks})[0];nextChapter?this.seek(nextChapter.StartPositionTicks,player):this.nextTrack(player)},PlaybackManager.prototype.previousChapter=function(player){player=player||this._currentPlayer;var item=this.currentItem(player),ticks=this.getCurrentTicks(player);ticks-=1e8,0===this.getCurrentPlaylistIndex(player)&&(ticks=Math.max(ticks,0));var previousChapters=(item.Chapters||[]).filter(function(i){return i.StartPositionTicks<=ticks});previousChapters.length?this.seek(previousChapters[previousChapters.length-1].StartPositionTicks,player):this.previousTrack(player)},PlaybackManager.prototype.fastForward=function(player){if(player=player||this._currentPlayer,null!=player.fastForward)return void player.fastForward(userSettings.skipForwardLength());var offsetTicks=1e4*userSettings.skipForwardLength();this.seekRelative(offsetTicks,player)},PlaybackManager.prototype.rewind=function(player){if(player=player||this._currentPlayer,null!=player.rewind)return void player.rewind(userSettings.skipBackLength());var offsetTicks=0-1e4*userSettings.skipBackLength();this.seekRelative(offsetTicks,player)},PlaybackManager.prototype.seekPercent=function(percent,player){player=player||this._currentPlayer;var ticks=this.duration(player)||0;percent/=100,ticks*=percent,this.seek(parseInt(ticks),player)},PlaybackManager.prototype.playTrailers=function(item){var apiClient=connectionManager.getApiClient(item.ServerId),instance=this; +if(item.LocalTrailerCount)return apiClient.getLocalTrailers(apiClient.getCurrentUserId(),item.Id).then(function(result){return instance.play({items:result})});var remoteTrailers=item.RemoteTrailers||[];return remoteTrailers.length?this.play({items:remoteTrailers.map(function(t){return{Name:t.Name||item.Name+" Trailer",Url:t.Url,MediaType:"Video",Type:"Trailer",ServerId:apiClient.serverId()}})}):Promise.reject()},PlaybackManager.prototype.getSubtitleUrl=function(textStream,serverId){var apiClient=connectionManager.getApiClient(serverId),textStreamUrl=textStream.IsExternalUrl?textStream.DeliveryUrl:apiClient.getUrl(textStream.DeliveryUrl);return textStreamUrl},PlaybackManager.prototype.stop=function(player){return player=player||this._currentPlayer,player?(enableLocalPlaylistManagement(player)&&(this._playNextAfterEnded=!1),player.stop(!0,!0)):Promise.resolve()},PlaybackManager.prototype.getBufferedRanges=function(player){return player=player||this._currentPlayer,player&&player.getBufferedRanges?player.getBufferedRanges():[]},PlaybackManager.prototype.playPause=function(player){if(player=player||this._currentPlayer)return player.playPause?player.playPause():player.paused()?this.unpause(player):this.pause(player)},PlaybackManager.prototype.paused=function(player){if(player=player||this._currentPlayer)return player.paused()},PlaybackManager.prototype.pause=function(player){player=player||this._currentPlayer,player&&player.pause()},PlaybackManager.prototype.unpause=function(player){player=player||this._currentPlayer,player&&player.unpause()},PlaybackManager.prototype.instantMix=function(item,player){if(player=player||this._currentPlayer,player&&player.instantMix)return player.instantMix(item);var apiClient=connectionManager.getApiClient(item.ServerId),options={};options.UserId=apiClient.getCurrentUserId(),options.Fields="MediaSources",options.Limit=200;var instance=this;apiClient.getInstantMixFromItem(item.Id,options).then(function(result){instance.play({items:result.Items})})},PlaybackManager.prototype.shuffle=function(shuffleItem,player,queryOptions){if(player=player||this._currentPlayer,player&&player.shuffle)return player.shuffle(shuffleItem);var apiClient=connectionManager.getApiClient(shuffleItem.ServerId),instance=this;apiClient.getItem(apiClient.getCurrentUserId(),shuffleItem.Id).then(function(item){var query={Fields:"MediaSources,Chapters",Limit:200,Recursive:!0,SortBy:"Random"};if("MusicArtist"===item.Type)query.MediaTypes="Audio",query.ArtistIds=item.Id;else if("MusicGenre"===item.Type)query.MediaTypes="Audio",query.Genres=item.Name;else{if(!item.IsFolder)return;query.ParentId=item.Id}queryOptions&&(query=mergePlaybackQueries(query,queryOptions)),getItemsForPlayback(item.ServerId,query).then(function(result){instance.play({items:result.Items})})})},PlaybackManager.prototype.audioTracks=function(player){if(player=player||this._currentPlayer,player.audioTracks){var result=player.audioTracks();if(result)return result}var mediaSource=this.currentMediaSource(player),mediaStreams=(mediaSource||{}).MediaStreams||[];return mediaStreams.filter(function(s){return"Audio"===s.Type})},PlaybackManager.prototype.subtitleTracks=function(player){if(player=player||this._currentPlayer,player.subtitleTracks){var result=player.subtitleTracks();if(result)return result}var mediaSource=this.currentMediaSource(player),mediaStreams=(mediaSource||{}).MediaStreams||[];return mediaStreams.filter(function(s){return"Subtitle"===s.Type})},PlaybackManager.prototype.getSupportedCommands=function(player){if(player=player||this._currentPlayer,player.isLocalPlayer){var list=["GoHome","GoToSettings","VolumeUp","VolumeDown","Mute","Unmute","ToggleMute","SetVolume","SetAudioStreamIndex","SetSubtitleStreamIndex","SetMaxStreamingBitrate","DisplayContent","GoToSearch","DisplayMessage","SetRepeatMode"];return apphost.supports("fullscreenchange")&&list.push("ToggleFullscreen"),player.supports&&(player.supports("PictureInPicture")&&list.push("PictureInPicture"),player.supports("SetBrightness")&&list.push("SetBrightness"),player.supports("SetAspectRatio")&&list.push("SetAspectRatio")),list}var info=this.getPlayerInfo();return info?info.supportedCommands:[]},PlaybackManager.prototype.setRepeatMode=function(value,player){return player=player||this._currentPlayer,player&&!enableLocalPlaylistManagement(player)?player.setRepeatMode(value):(this._playQueueManager.setRepeatMode(value),void events.trigger(player,"repeatmodechange"))},PlaybackManager.prototype.getRepeatMode=function(player){return player=player||this._currentPlayer,player&&!enableLocalPlaylistManagement(player)?player.getRepeatMode():this._playQueueManager.getRepeatMode()},PlaybackManager.prototype.trySetActiveDeviceName=function(name){name=normalizeName(name);var instance=this;instance.getTargets().then(function(result){var target=result.filter(function(p){return normalizeName(p.name)===name})[0];target&&instance.trySetActivePlayer(target.playerName,target)})},PlaybackManager.prototype.displayContent=function(options,player){player=player||this._currentPlayer,player&&player.displayContent&&player.displayContent(options)},PlaybackManager.prototype.beginPlayerUpdates=function(player){player.beginPlayerUpdates&&player.beginPlayerUpdates()},PlaybackManager.prototype.endPlayerUpdates=function(player){player.endPlayerUpdates&&player.endPlayerUpdates()},PlaybackManager.prototype.setDefaultPlayerActive=function(){this.setActivePlayer("localplayer")},PlaybackManager.prototype.removeActivePlayer=function(name){var playerInfo=this.getPlayerInfo();playerInfo&&playerInfo.name===name&&this.setDefaultPlayerActive()},PlaybackManager.prototype.removeActiveTarget=function(id){var playerInfo=this.getPlayerInfo();playerInfo&&playerInfo.id===id&&this.setDefaultPlayerActive()},PlaybackManager.prototype.sendCommand=function(cmd,player){switch(console.log("MediaController received command: "+cmd.Name),cmd.Name){case"SetRepeatMode":this.setRepeatMode(cmd.Arguments.RepeatMode,player);break;case"VolumeUp":this.volumeUp(player);break;case"VolumeDown":this.volumeDown(player);break;case"Mute":this.setMute(!0,player);break;case"Unmute":this.setMute(!1,player);break;case"ToggleMute":this.toggleMute(player);break;case"SetVolume":this.setVolume(cmd.Arguments.Volume,player);break;case"SetAspectRatio":this.setAspectRatio(cmd.Arguments.AspectRatio,player);break;case"SetBrightness":this.setBrightness(cmd.Arguments.Brightness,player);break;case"SetAudioStreamIndex":this.setAudioStreamIndex(parseInt(cmd.Arguments.Index),player);break;case"SetSubtitleStreamIndex":this.setSubtitleStreamIndex(parseInt(cmd.Arguments.Index),player);break;case"SetMaxStreamingBitrate":break;case"ToggleFullscreen":this.toggleFullscreen(player);break;default:player.sendCommand&&player.sendCommand(cmd)}},new PlaybackManager}); \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/playbacksettings/playbacksettings.js b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/playbacksettings/playbacksettings.js index 7d388b72d9..19c939c436 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/playbacksettings/playbacksettings.js +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/playbacksettings/playbacksettings.js @@ -1 +1 @@ -define(["require","appSettings","apphost","focusManager","qualityoptions","globalize","loading","connectionManager","dom","events","emby-select","emby-checkbox"],function(require,appSettings,appHost,focusManager,qualityoptions,globalize,loading,connectionManager,dom,events){"use strict";function fillSkipLengths(select){var options=[5,10,15,20,25,30];select.innerHTML=options.map(function(option){return{name:Globalize.translate("sharedcomponents#ValueSeconds",option),value:1e3*option}}).map(function(o){return'"}).join("")}function populateLanguages(select,languages){var html="";html+="";for(var i=0,length=languages.length;i"+culture.DisplayName+""}select.innerHTML=html}function setMaxBitrateIntoField(select,isInNetwork,mediatype){var options="Audio"===mediatype?qualityoptions.getAudioQualityOptions({currentMaxBitrate:appSettings.maxStreamingBitrate(isInNetwork,mediatype),isAutomaticBitrateEnabled:appSettings.enableAutomaticBitrateDetection(isInNetwork,mediatype),enableAuto:!0}):qualityoptions.getVideoQualityOptions({currentMaxBitrate:appSettings.maxStreamingBitrate(isInNetwork,mediatype),isAutomaticBitrateEnabled:appSettings.enableAutomaticBitrateDetection(isInNetwork,mediatype),enableAuto:!0});select.innerHTML=options.map(function(i){return'"}).join(""),appSettings.enableAutomaticBitrateDetection(isInNetwork,mediatype)?select.value="":select.value=appSettings.maxStreamingBitrate(isInNetwork,mediatype)}function fillChromecastQuality(select){var options=qualityoptions.getVideoQualityOptions({currentMaxBitrate:appSettings.maxChromecastBitrate(),isAutomaticBitrateEnabled:!appSettings.maxChromecastBitrate(),enableAuto:!0});select.innerHTML=options.map(function(i){return'"}).join(""),select.value=appSettings.maxChromecastBitrate()||""}function setMaxBitrateFromField(select,isInNetwork,mediatype,value){select.value?(appSettings.maxStreamingBitrate(isInNetwork,mediatype,select.value),appSettings.enableAutomaticBitrateDetection(isInNetwork,mediatype,!1)):appSettings.enableAutomaticBitrateDetection(isInNetwork,mediatype,!0)}function showHideQualityFields(context,apiClient){return appHost.supports("multiserver")?(context.querySelector(".fldVideoInNetworkQuality").classList.remove("hide"),context.querySelector(".fldVideoInternetQuality").classList.remove("hide"),void context.querySelector(".musicQualitySection").classList.remove("hide")):void apiClient.getEndpointInfo().then(function(endpointInfo){endpointInfo.IsInNetwork?(context.querySelector(".fldVideoInNetworkQuality").classList.remove("hide"),context.querySelector(".fldVideoInternetQuality").classList.add("hide"),context.querySelector(".musicQualitySection").classList.add("hide")):(context.querySelector(".fldVideoInNetworkQuality").classList.add("hide"),context.querySelector(".fldVideoInternetQuality").classList.remove("hide"),context.querySelector(".musicQualitySection").classList.remove("hide"))})}function loadForm(context,user,userSettings,apiClient){var loggedInUserId=apiClient.getCurrentUserId(),userId=user.Id;showHideQualityFields(context,apiClient),apiClient.getCultures().then(function(allCultures){populateLanguages(context.querySelector("#selectAudioLanguage"),allCultures),context.querySelector("#selectAudioLanguage",context).value=user.Configuration.AudioLanguagePreference||"",context.querySelector(".chkEpisodeAutoPlay").checked=user.Configuration.EnableNextEpisodeAutoPlay||!1}),apiClient.getNamedConfiguration("cinemamode").then(function(cinemaConfig){cinemaConfig.EnableIntrosForMovies||cinemaConfig.EnableIntrosForEpisodes?context.querySelector(".cinemaModeOptions").classList.remove("hide"):context.querySelector(".cinemaModeOptions").classList.add("hide")}),appHost.supports("externalplayerintent")&&userId===loggedInUserId?context.querySelector(".fldExternalPlayer").classList.remove("hide"):context.querySelector(".fldExternalPlayer").classList.add("hide"),userId===loggedInUserId?(context.querySelector(".qualitySections").classList.remove("hide"),context.querySelector(".fldChromecastQuality").classList.remove("hide")):(context.querySelector(".qualitySections").classList.add("hide"),context.querySelector(".fldChromecastQuality").classList.add("hide")),context.querySelector(".chkPlayDefaultAudioTrack").checked=user.Configuration.PlayDefaultAudioTrack||!1,context.querySelector(".chkEnableCinemaMode").checked=userSettings.enableCinemaMode(),context.querySelector(".chkEnableNextVideoOverlay").checked=userSettings.enableNextVideoInfoOverlay(),context.querySelector(".chkExternalVideoPlayer").checked=appSettings.enableSystemExternalPlayers(),setMaxBitrateIntoField(context.querySelector(".selectVideoInNetworkQuality"),!0,"Video"),setMaxBitrateIntoField(context.querySelector(".selectVideoInternetQuality"),!1,"Video"),setMaxBitrateIntoField(context.querySelector(".selectMusicInternetQuality"),!1,"Audio"),fillChromecastQuality(context.querySelector(".selectChromecastVideoQuality"));var selectSkipForwardLength=context.querySelector(".selectSkipForwardLength");fillSkipLengths(selectSkipForwardLength),selectSkipForwardLength.value=userSettings.skipForwardLength();var selectSkipBackLength=context.querySelector(".selectSkipBackLength");fillSkipLengths(selectSkipBackLength),selectSkipBackLength.value=userSettings.skipBackLength(),loading.hide()}function refreshGlobalUserSettings(userSettingsInstance){require(["userSettings"],function(userSettings){userSettings.importFrom(userSettingsInstance)})}function saveUser(context,user,userSettingsInstance,apiClient){return appSettings.enableSystemExternalPlayers(context.querySelector(".chkExternalVideoPlayer").checked),appSettings.maxChromecastBitrate(context.querySelector(".selectChromecastVideoQuality").value),setMaxBitrateFromField(context.querySelector(".selectVideoInNetworkQuality"),!0,"Video"),setMaxBitrateFromField(context.querySelector(".selectVideoInternetQuality"),!1,"Video"),setMaxBitrateFromField(context.querySelector(".selectMusicInternetQuality"),!1,"Audio"),user.Configuration.AudioLanguagePreference=context.querySelector("#selectAudioLanguage").value,user.Configuration.PlayDefaultAudioTrack=context.querySelector(".chkPlayDefaultAudioTrack").checked,user.Configuration.EnableNextEpisodeAutoPlay=context.querySelector(".chkEpisodeAutoPlay").checked,userSettingsInstance.enableCinemaMode(context.querySelector(".chkEnableCinemaMode").checked),userSettingsInstance.enableNextVideoInfoOverlay(context.querySelector(".chkEnableNextVideoOverlay").checked),userSettingsInstance.skipForwardLength(context.querySelector(".selectSkipForwardLength").value),userSettingsInstance.skipBackLength(context.querySelector(".selectSkipBackLength").value),user.Id===apiClient.getCurrentUserId()&&refreshGlobalUserSettings(userSettingsInstance),apiClient.updateUserConfiguration(user.Id,user.Configuration)}function save(instance,context,userId,userSettings,apiClient,enableSaveConfirmation){loading.show(),apiClient.getUser(userId).then(function(user){saveUser(context,user,userSettings,apiClient).then(function(){loading.hide(),enableSaveConfirmation&&require(["toast"],function(toast){toast(globalize.translate("sharedcomponents#SettingsSaved"))}),events.trigger(instance,"saved")},function(){loading.hide()})})}function onSubmit(e){var self=this,apiClient=connectionManager.getApiClient(self.options.serverId),userId=self.options.userId,userSettings=self.options.userSettings;return userSettings.setUserInfo(userId,apiClient).then(function(){var enableSaveConfirmation=self.options.enableSaveConfirmation;save(self,self.options.element,userId,userSettings,apiClient,enableSaveConfirmation)}),e&&e.preventDefault(),!1}function embed(options,self){require(["text!./playbacksettings.template.html"],function(template){options.element.innerHTML=globalize.translateDocument(template,"sharedcomponents"),options.element.querySelector("form").addEventListener("submit",onSubmit.bind(self)),options.enableSaveButton&&options.element.querySelector(".btnSave").classList.remove("hide"),self.loadData(),options.autoFocus&&focusManager.autoFocus(options.element)})}function PlaybackSettings(options){this.options=options,embed(options,this)}return PlaybackSettings.prototype.loadData=function(){var self=this,context=self.options.element;loading.show();var userId=self.options.userId,apiClient=connectionManager.getApiClient(self.options.serverId),userSettings=self.options.userSettings;apiClient.getUser(userId).then(function(user){userSettings.setUserInfo(userId,apiClient).then(function(){self.dataLoaded=!0,loadForm(context,user,userSettings,apiClient)})})},PlaybackSettings.prototype.submit=function(){onSubmit.call(this)},PlaybackSettings.prototype.destroy=function(){this.options=null},PlaybackSettings}); \ No newline at end of file +define(["require","appSettings","apphost","focusManager","qualityoptions","globalize","loading","connectionManager","dom","events","emby-select","emby-checkbox"],function(require,appSettings,appHost,focusManager,qualityoptions,globalize,loading,connectionManager,dom,events){"use strict";function fillSkipLengths(select){var options=[5,10,15,20,25,30];select.innerHTML=options.map(function(option){return{name:Globalize.translate("sharedcomponents#ValueSeconds",option),value:1e3*option}}).map(function(o){return'"}).join("")}function populateLanguages(select,languages){var html="";html+="";for(var i=0,length=languages.length;i"+culture.DisplayName+""}select.innerHTML=html}function setMaxBitrateIntoField(select,isInNetwork,mediatype){var options="Audio"===mediatype?qualityoptions.getAudioQualityOptions({currentMaxBitrate:appSettings.maxStreamingBitrate(isInNetwork,mediatype),isAutomaticBitrateEnabled:appSettings.enableAutomaticBitrateDetection(isInNetwork,mediatype),enableAuto:!0}):qualityoptions.getVideoQualityOptions({currentMaxBitrate:appSettings.maxStreamingBitrate(isInNetwork,mediatype),isAutomaticBitrateEnabled:appSettings.enableAutomaticBitrateDetection(isInNetwork,mediatype),enableAuto:!0});select.innerHTML=options.map(function(i){return'"}).join(""),appSettings.enableAutomaticBitrateDetection(isInNetwork,mediatype)?select.value="":select.value=appSettings.maxStreamingBitrate(isInNetwork,mediatype)}function fillChromecastQuality(select){var options=qualityoptions.getVideoQualityOptions({currentMaxBitrate:appSettings.maxChromecastBitrate(),isAutomaticBitrateEnabled:!appSettings.maxChromecastBitrate(),enableAuto:!0});select.innerHTML=options.map(function(i){return'"}).join(""),select.value=appSettings.maxChromecastBitrate()||""}function setMaxBitrateFromField(select,isInNetwork,mediatype,value){select.value?(appSettings.maxStreamingBitrate(isInNetwork,mediatype,select.value),appSettings.enableAutomaticBitrateDetection(isInNetwork,mediatype,!1)):appSettings.enableAutomaticBitrateDetection(isInNetwork,mediatype,!0)}function showHideQualityFields(context,apiClient){return appHost.supports("multiserver")?(context.querySelector(".fldVideoInNetworkQuality").classList.remove("hide"),context.querySelector(".fldVideoInternetQuality").classList.remove("hide"),void context.querySelector(".musicQualitySection").classList.remove("hide")):void apiClient.getEndpointInfo().then(function(endpointInfo){endpointInfo.IsInNetwork?(context.querySelector(".fldVideoInNetworkQuality").classList.remove("hide"),context.querySelector(".fldVideoInternetQuality").classList.add("hide"),context.querySelector(".musicQualitySection").classList.add("hide")):(context.querySelector(".fldVideoInNetworkQuality").classList.add("hide"),context.querySelector(".fldVideoInternetQuality").classList.remove("hide"),context.querySelector(".musicQualitySection").classList.remove("hide"))})}function loadForm(context,user,userSettings,apiClient){var loggedInUserId=apiClient.getCurrentUserId(),userId=user.Id;showHideQualityFields(context,apiClient),apiClient.getCultures().then(function(allCultures){populateLanguages(context.querySelector("#selectAudioLanguage"),allCultures),context.querySelector("#selectAudioLanguage",context).value=user.Configuration.AudioLanguagePreference||"",context.querySelector(".chkEpisodeAutoPlay").checked=user.Configuration.EnableNextEpisodeAutoPlay||!1}),apiClient.getNamedConfiguration("cinemamode").then(function(cinemaConfig){cinemaConfig.EnableIntrosForMovies||cinemaConfig.EnableIntrosForEpisodes?context.querySelector(".cinemaModeOptions").classList.remove("hide"):context.querySelector(".cinemaModeOptions").classList.add("hide")}),appHost.supports("externalplayerintent")&&userId===loggedInUserId?context.querySelector(".fldExternalPlayer").classList.remove("hide"):context.querySelector(".fldExternalPlayer").classList.add("hide"),userId===loggedInUserId?(context.querySelector(".qualitySections").classList.remove("hide"),context.querySelector(".fldChromecastQuality").classList.remove("hide")):(context.querySelector(".qualitySections").classList.add("hide"),context.querySelector(".fldChromecastQuality").classList.add("hide")),context.querySelector(".chkPlayDefaultAudioTrack").checked=user.Configuration.PlayDefaultAudioTrack||!1,context.querySelector(".chkEnableCinemaMode").checked=userSettings.enableCinemaMode(),context.querySelector(".chkEnableNextVideoOverlay").checked=userSettings.enableNextVideoInfoOverlay(),context.querySelector(".chkExternalVideoPlayer").checked=appSettings.enableSystemExternalPlayers(),setMaxBitrateIntoField(context.querySelector(".selectVideoInNetworkQuality"),!0,"Video"),setMaxBitrateIntoField(context.querySelector(".selectVideoInternetQuality"),!1,"Video"),setMaxBitrateIntoField(context.querySelector(".selectMusicInternetQuality"),!1,"Audio"),fillChromecastQuality(context.querySelector(".selectChromecastVideoQuality"));var selectSkipForwardLength=context.querySelector(".selectSkipForwardLength");fillSkipLengths(selectSkipForwardLength),selectSkipForwardLength.value=userSettings.skipForwardLength();var selectSkipBackLength=context.querySelector(".selectSkipBackLength");fillSkipLengths(selectSkipBackLength),selectSkipBackLength.value=userSettings.skipBackLength(),loading.hide()}function saveUser(context,user,userSettingsInstance,apiClient){return appSettings.enableSystemExternalPlayers(context.querySelector(".chkExternalVideoPlayer").checked),appSettings.maxChromecastBitrate(context.querySelector(".selectChromecastVideoQuality").value),setMaxBitrateFromField(context.querySelector(".selectVideoInNetworkQuality"),!0,"Video"),setMaxBitrateFromField(context.querySelector(".selectVideoInternetQuality"),!1,"Video"),setMaxBitrateFromField(context.querySelector(".selectMusicInternetQuality"),!1,"Audio"),user.Configuration.AudioLanguagePreference=context.querySelector("#selectAudioLanguage").value,user.Configuration.PlayDefaultAudioTrack=context.querySelector(".chkPlayDefaultAudioTrack").checked,user.Configuration.EnableNextEpisodeAutoPlay=context.querySelector(".chkEpisodeAutoPlay").checked,userSettingsInstance.enableCinemaMode(context.querySelector(".chkEnableCinemaMode").checked),userSettingsInstance.enableNextVideoInfoOverlay(context.querySelector(".chkEnableNextVideoOverlay").checked),userSettingsInstance.skipForwardLength(context.querySelector(".selectSkipForwardLength").value),userSettingsInstance.skipBackLength(context.querySelector(".selectSkipBackLength").value),apiClient.updateUserConfiguration(user.Id,user.Configuration)}function save(instance,context,userId,userSettings,apiClient,enableSaveConfirmation){loading.show(),apiClient.getUser(userId).then(function(user){saveUser(context,user,userSettings,apiClient).then(function(){loading.hide(),enableSaveConfirmation&&require(["toast"],function(toast){toast(globalize.translate("sharedcomponents#SettingsSaved"))}),events.trigger(instance,"saved")},function(){loading.hide()})})}function onSubmit(e){var self=this,apiClient=connectionManager.getApiClient(self.options.serverId),userId=self.options.userId,userSettings=self.options.userSettings;return userSettings.setUserInfo(userId,apiClient).then(function(){var enableSaveConfirmation=self.options.enableSaveConfirmation;save(self,self.options.element,userId,userSettings,apiClient,enableSaveConfirmation)}),e&&e.preventDefault(),!1}function embed(options,self){require(["text!./playbacksettings.template.html"],function(template){options.element.innerHTML=globalize.translateDocument(template,"sharedcomponents"),options.element.querySelector("form").addEventListener("submit",onSubmit.bind(self)),options.enableSaveButton&&options.element.querySelector(".btnSave").classList.remove("hide"),self.loadData(),options.autoFocus&&focusManager.autoFocus(options.element)})}function PlaybackSettings(options){this.options=options,embed(options,this)}return PlaybackSettings.prototype.loadData=function(){var self=this,context=self.options.element;loading.show();var userId=self.options.userId,apiClient=connectionManager.getApiClient(self.options.serverId),userSettings=self.options.userSettings;apiClient.getUser(userId).then(function(user){userSettings.setUserInfo(userId,apiClient).then(function(){self.dataLoaded=!0,loadForm(context,user,userSettings,apiClient)})})},PlaybackSettings.prototype.submit=function(){onSubmit.call(this)},PlaybackSettings.prototype.destroy=function(){this.options=null},PlaybackSettings}); \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/skinmanager.js b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/skinmanager.js index 98293f63c4..6fbce7fd41 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/skinmanager.js +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/skinmanager.js @@ -1 +1 @@ -define(["userSettings","browser","events","pluginManager","backdrop","globalize","require","appSettings"],function(userSettings,browser,events,pluginManager,backdrop,globalize,require,appSettings){"use strict";function getCurrentSkin(){return currentSkin}function getRequirePromise(deps){return new Promise(function(resolve,reject){require(deps,resolve)})}function loadSkin(id){var newSkin=pluginManager.plugins().filter(function(p){return p.id===id})[0];newSkin||(newSkin=pluginManager.plugins().filter(function(p){return"defaultskin"===p.id})[0]);var unloadPromise;if(currentSkin){if(currentSkin.id===newSkin.id)return Promise.resolve(currentSkin);unloadPromise=unloadSkin(currentSkin)}else unloadPromise=Promise.resolve();return unloadPromise.then(function(){var deps=newSkin.getDependencies();return console.log("Loading skin dependencies"),getRequirePromise(deps).then(function(){console.log("Skin dependencies loaded");var strings=newSkin.getTranslations?newSkin.getTranslations():[];return globalize.loadStrings({name:newSkin.id,strings:strings}).then(function(){return globalize.defaultModule(newSkin.id),loadSkinHeader(newSkin)})})})}function unloadSkin(skin){return unloadTheme(),backdrop.clear(),console.log("Unloading skin: "+skin.name),skin.unload().then(function(){document.dispatchEvent(new CustomEvent("skinunload",{detail:{name:skin.name}}))})}function loadSkinHeader(skin){return getSkinHeader(skin).then(function(headerHtml){return document.querySelector(".skinHeader").innerHTML=headerHtml,currentSkin=skin,skin.load(),skin})}function getSkinHeader(skin){return new Promise(function(resolve,reject){if(!skin.getHeaderTemplate)return void resolve("");var xhr=new XMLHttpRequest,url=skin.getHeaderTemplate();url+=url.indexOf("?")===-1?"?":"&",url+="v="+cacheParam,xhr.open("GET",url,!0),xhr.onload=function(e){resolve(this.status<400?this.response:"")},xhr.send()})}function loadUserSkin(options){var skin=userSettings.get("skin",!1)||"defaultskin";loadSkin(skin).then(function(skin){options=options||{},options.start?Emby.Page.invokeShortcut(options.start):Emby.Page.goHome()})}function unloadTheme(){var elem=themeStyleElement;elem&&(elem.parentNode.removeChild(elem),themeStyleElement=null,currentThemeId=null)}function getThemes(){return currentSkin.getThemes?currentSkin.getThemes():[]}function onRegistrationSuccess(){appSettings.set("appthemesregistered","true")}function onRegistrationFailure(){appSettings.set("appthemesregistered","false")}function isRegistered(){return getRequirePromise(["registrationServices"]).then(function(registrationServices){registrationServices.validateFeature("themes",{showDialog:!1}).then(onRegistrationSuccess,onRegistrationFailure)}),"false"!==appSettings.get("appthemesregistered")}function getThemeStylesheetInfo(id,requiresRegistration,isDefaultProperty){for(var defaultTheme,selectedTheme,themes=skinManager.getThemes(),i=0,length=themes.length;i=30?"halloween":id}function loadThemeResources(id){return lastSound=0,currentSound&&(currentSound.stop(),currentSound=null),backdrop.clear(),"halloween"===id?void(themeResources={themeSong:"https://github.com/MediaBrowser/Emby.Resources/raw/master/themes/halloween/monsterparadefade.mp3",effect:"https://github.com/MediaBrowser/Emby.Resources/raw/master/themes/halloween/howl.wav",backdrop:"https://github.com/MediaBrowser/Emby.Resources/raw/master/themes/halloween/bg.jpg"}):void(themeResources={})}function onViewBeforeShow(e){e.detail&&"video-osd"===e.detail.type||(themeResources.backdrop&&backdrop.setBackdrop(themeResources.backdrop),browser.mobile||(0===lastSound?themeResources.themeSong&&playSound(themeResources.themeSong):(new Date).getTime()-lastSound>3e4&&themeResources.effect&&playSound(themeResources.effect)))}function playSound(path,volume){lastSound=(new Date).getTime(),require(["howler"],function(howler){try{var sound=new Howl({urls:[path],volume:volume||.1});sound.play(),currentSound=sound}catch(err){console.log("Error playing sound: "+err)}})}var currentSkin,cacheParam=(new Date).getTime();events.on(userSettings,"change",function(e,name){"skin"!==name&&"language"!==name||loadUserSkin()});var themeStyleElement,currentThemeId,currentSound,skinManager={getCurrentSkin:getCurrentSkin,loadSkin:loadSkin,loadUserSkin:loadUserSkin,getThemes:getThemes},themeResources={},lastSound=0;return skinManager.setTheme=function(id,context){return new Promise(function(resolve,reject){var requiresRegistration=!0;if("serverdashboard"!==context&&!browser.orsay&&!browser.tizen){var newId=modifyThemeForSeasonal(id);newId!==id&&(requiresRegistration=!1),id=newId}if(currentThemeId&¤tThemeId===id)return void resolve();var isDefaultProperty="serverdashboard"===context?"isDefaultServerDashboard":"isDefault",info=getThemeStylesheetInfo(id,requiresRegistration,isDefaultProperty);if(currentThemeId&¤tThemeId===info.themeId)return void resolve();var linkUrl=info.stylesheetPath;unloadTheme();var link=document.createElement("link");link.setAttribute("rel","stylesheet"),link.setAttribute("type","text/css"),link.onload=resolve,link.setAttribute("href",linkUrl),document.head.appendChild(link),themeStyleElement=link,currentThemeId=info.themeId,loadThemeResources(info.themeId),onViewBeforeShow({})})},document.addEventListener("viewshow",onViewBeforeShow),skinManager}); \ No newline at end of file +define(["userSettings","browser","events","pluginManager","backdrop","globalize","require","appSettings"],function(userSettings,browser,events,pluginManager,backdrop,globalize,require,appSettings){"use strict";function getCurrentSkin(){return currentSkin}function getRequirePromise(deps){return new Promise(function(resolve,reject){require(deps,resolve)})}function loadSkin(id){var newSkin=pluginManager.plugins().filter(function(p){return p.id===id})[0];newSkin||(newSkin=pluginManager.plugins().filter(function(p){return"defaultskin"===p.id})[0]);var unloadPromise;if(currentSkin){if(currentSkin.id===newSkin.id)return Promise.resolve(currentSkin);unloadPromise=unloadSkin(currentSkin)}else unloadPromise=Promise.resolve();return unloadPromise.then(function(){var deps=newSkin.getDependencies();return console.log("Loading skin dependencies"),getRequirePromise(deps).then(function(){console.log("Skin dependencies loaded");var strings=newSkin.getTranslations?newSkin.getTranslations():[];return globalize.loadStrings({name:newSkin.id,strings:strings}).then(function(){return globalize.defaultModule(newSkin.id),loadSkinHeader(newSkin)})})})}function unloadSkin(skin){return unloadTheme(),backdrop.clear(),console.log("Unloading skin: "+skin.name),skin.unload().then(function(){document.dispatchEvent(new CustomEvent("skinunload",{detail:{name:skin.name}}))})}function loadSkinHeader(skin){return getSkinHeader(skin).then(function(headerHtml){return document.querySelector(".skinHeader").innerHTML=headerHtml,currentSkin=skin,skin.load(),skin})}function getSkinHeader(skin){return new Promise(function(resolve,reject){if(!skin.getHeaderTemplate)return void resolve("");var xhr=new XMLHttpRequest,url=skin.getHeaderTemplate();url+=url.indexOf("?")===-1?"?":"&",url+="v="+cacheParam,xhr.open("GET",url,!0),xhr.onload=function(e){resolve(this.status<400?this.response:"")},xhr.send()})}function loadUserSkin(options){var skin=userSettings.get("skin",!1)||"defaultskin";loadSkin(skin).then(function(skin){options=options||{},options.start?Emby.Page.invokeShortcut(options.start):Emby.Page.goHome()})}function unloadTheme(){var elem=themeStyleElement;elem&&(elem.parentNode.removeChild(elem),themeStyleElement=null,currentThemeId=null)}function getThemes(){return currentSkin.getThemes?currentSkin.getThemes():[]}function onRegistrationSuccess(){appSettings.set("appthemesregistered","true")}function onRegistrationFailure(){appSettings.set("appthemesregistered","false")}function isRegistered(){return getRequirePromise(["registrationServices"]).then(function(registrationServices){registrationServices.validateFeature("themes",{showDialog:!1}).then(onRegistrationSuccess,onRegistrationFailure)}),"false"!==appSettings.get("appthemesregistered")}function getThemeStylesheetInfo(id,requiresRegistration,isDefaultProperty){for(var defaultTheme,selectedTheme,themes=skinManager.getThemes(),i=0,length=themes.length;i=30?"halloween":id}function loadThemeResources(id){return lastSound=0,currentSound&&(currentSound.stop(),currentSound=null),backdrop.clear(),"halloween"===id?void(themeResources={themeSong:"https://github.com/MediaBrowser/Emby.Resources/raw/master/themes/halloween/monsterparadefade.mp3",effect:"https://github.com/MediaBrowser/Emby.Resources/raw/master/themes/halloween/howl.wav",backdrop:"https://github.com/MediaBrowser/Emby.Resources/raw/master/themes/halloween/bg.jpg"}):void(themeResources={})}function onViewBeforeShow(e){e.detail&&"video-osd"===e.detail.type||(themeResources.backdrop&&backdrop.setBackdrop(themeResources.backdrop),!browser.mobile&&userSettings.enableThemeSongs()&&(0===lastSound?themeResources.themeSong&&playSound(themeResources.themeSong):(new Date).getTime()-lastSound>3e4&&themeResources.effect&&playSound(themeResources.effect)))}function playSound(path,volume){lastSound=(new Date).getTime(),require(["howler"],function(howler){try{var sound=new Howl({urls:[path],volume:volume||.1});sound.play(),currentSound=sound}catch(err){console.log("Error playing sound: "+err)}})}var currentSkin,cacheParam=(new Date).getTime();events.on(userSettings,"change",function(e,name){"skin"!==name&&"language"!==name||loadUserSkin()});var themeStyleElement,currentThemeId,currentSound,skinManager={getCurrentSkin:getCurrentSkin,loadSkin:loadSkin,loadUserSkin:loadUserSkin,getThemes:getThemes},themeResources={},lastSound=0;return skinManager.setTheme=function(id,context){return new Promise(function(resolve,reject){var requiresRegistration=!0;if("serverdashboard"!==context){var newId=modifyThemeForSeasonal(id);newId!==id&&(requiresRegistration=!1),id=newId}if(currentThemeId&¤tThemeId===id)return void resolve();var isDefaultProperty="serverdashboard"===context?"isDefaultServerDashboard":"isDefault",info=getThemeStylesheetInfo(id,requiresRegistration,isDefaultProperty);if(currentThemeId&¤tThemeId===info.themeId)return void resolve();var linkUrl=info.stylesheetPath;unloadTheme();var link=document.createElement("link");link.setAttribute("rel","stylesheet"),link.setAttribute("type","text/css"),link.onload=resolve,link.setAttribute("href",linkUrl),document.head.appendChild(link),themeStyleElement=link,currentThemeId=info.themeId,loadThemeResources(info.themeId),onViewBeforeShow({})})},document.addEventListener("viewshow",onViewBeforeShow),skinManager}); \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/slideshow/slideshow.js b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/slideshow/slideshow.js index 999197a38a..ee7d63ea24 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/slideshow/slideshow.js +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/slideshow/slideshow.js @@ -1 +1 @@ -define(["dialogHelper","inputManager","connectionManager","layoutManager","focusManager","browser","apphost","loading","css!./style","material-icons","paper-icon-button-light"],function(dialogHelper,inputmanager,connectionManager,layoutManager,focusManager,browser,appHost,loading){"use strict";function getImageUrl(item,options,apiClient){return options=options||{},options.type=options.type||"Primary","string"==typeof item?apiClient.getScaledImageUrl(item,options):item.ImageTags&&item.ImageTags[options.type]?(options.tag=item.ImageTags[options.type],apiClient.getScaledImageUrl(item.Id,options)):"Primary"===options.type&&item.AlbumId&&item.AlbumPrimaryImageTag?(options.tag=item.AlbumPrimaryImageTag,apiClient.getScaledImageUrl(item.AlbumId,options)):null}function getBackdropImageUrl(item,options,apiClient){return options=options||{},options.type=options.type||"Backdrop",options.maxWidth||options.width||options.maxHeight||options.height||(options.quality=100),item.BackdropImageTags&&item.BackdropImageTags.length?(options.tag=item.BackdropImageTags[0],apiClient.getScaledImageUrl(item.Id,options)):null}function getImgUrl(item,original){var apiClient=connectionManager.getApiClient(item.ServerId),imageOptions={};return original||(imageOptions.maxWidth=screen.availWidth),item.BackdropImageTags&&item.BackdropImageTags.length?getBackdropImageUrl(item,imageOptions,apiClient):"Photo"===item.MediaType&&original?apiClient.getItemDownloadUrl(item.Id):(imageOptions.type="Primary",getImageUrl(item,imageOptions,apiClient))}function getIcon(icon,cssClass,canFocus,autoFocus){var tabIndex=canFocus?"":' tabindex="-1"';return autoFocus=autoFocus?" autofocus":"",'"}return function(options){function createElements(options){dlg=dialogHelper.createDialog({exitAnimationDuration:options.interactive?400:800,size:"fullscreen",autoFocus:!1,scrollY:!1,exitAnimation:"fadeout",removeOnClose:!0}),dlg.classList.add("slideshowDialog");var html="";if(options.interactive){var actionButtonsOnTop=layoutManager.mobile;html+="
",html+='
',html+=getIcon("keyboard_arrow_left","btnSlideshowPrevious slideshowButton",!1),html+=getIcon("keyboard_arrow_right","btnSlideshowNext slideshowButton",!1),html+='
',actionButtonsOnTop&&(appHost.supports("filedownload")&&(html+=getIcon("file_download","btnDownload slideshowButton",!0)),appHost.supports("sharing")&&(html+=getIcon("share","btnShare slideshowButton",!0))),html+=getIcon("close","slideshowButton btnSlideshowExit",!1),html+="
",actionButtonsOnTop||(html+='
',html+=getIcon("pause","btnSlideshowPause slideshowButton",!0,!0),appHost.supports("filedownload")&&(html+=getIcon("file_download","btnDownload slideshowButton",!0)),appHost.supports("sharing")&&(html+=getIcon("share","btnShare slideshowButton",!0)),html+="
"),html+="
"}else html+='

';if(dlg.innerHTML=html,options.interactive){dlg.querySelector(".btnSlideshowExit").addEventListener("click",function(e){dialogHelper.close(dlg)}),dlg.querySelector(".btnSlideshowNext").addEventListener("click",nextImage),dlg.querySelector(".btnSlideshowPrevious").addEventListener("click",previousImage);var btnPause=dlg.querySelector(".btnSlideshowPause");btnPause&&btnPause.addEventListener("click",playPause);var btnDownload=dlg.querySelector(".btnDownload");btnDownload&&btnDownload.addEventListener("click",download);var btnShare=dlg.querySelector(".btnShare");btnShare&&btnShare.addEventListener("click",share)}dialogHelper.open(dlg).then(function(){stopInterval()}),inputmanager.on(window,onInputCommand),document.addEventListener("mousemove",onMouseMove),dlg.addEventListener("close",onDialogClosed),options.interactive&&loadSwiper(dlg)}function loadSwiper(dlg){currentOptions.slides?dlg.querySelector(".swiper-wrapper").innerHTML=currentOptions.slides.map(getSwiperSlideHtmlFromSlide).join(""):dlg.querySelector(".swiper-wrapper").innerHTML=currentOptions.items.map(getSwiperSlideHtmlFromItem).join(""),require(["swiper"],function(swiper){swiperInstance=new Swiper(dlg.querySelector(".slideshowSwiperContainer"),{direction:"horizontal",loop:options.loop!==!1,autoplay:options.interval||8e3,preloadImages:!1,lazyLoading:!0,lazyLoadingInPrevNext:!0,autoplayDisableOnInteraction:!1,initialSlide:options.startIndex||0,speed:240}),layoutManager.mobile?pause():play()})}function getSwiperSlideHtmlFromItem(item){return getSwiperSlideHtmlFromSlide({imageUrl:getImgUrl(item),originalImage:getImgUrl(item,!0),Id:item.Id,ServerId:item.ServerId})}function getSwiperSlideHtmlFromSlide(item){var html="";return html+='
',html+='',(item.title||item.subtitle)&&(html+='
',html+='
',item.title&&(html+='

',html+=item.title,html+="

"),item.description&&(html+='
',html+=item.description,html+="
"),html+="
",html+="
"),html+="
"}function previousImage(){swiperInstance?swiperInstance.slidePrev():(stopInterval(),showNextImage(currentIndex-1))}function nextImage(){if(swiperInstance){if(options.loop===!1&&swiperInstance.activeIndex>=swiperInstance.slides.length-1)return void dialogHelper.close(dlg);swiperInstance.slideNext()}else stopInterval(),showNextImage(currentIndex+1)}function getCurrentImageInfo(){if(swiperInstance){var slide=document.querySelector(".swiper-slide-active");return slide?{url:slide.getAttribute("data-original"),itemId:slide.getAttribute("data-itemid"),serverId:slide.getAttribute("data-serverid")}:null}return null}function download(){var imageInfo=getCurrentImageInfo();require(["fileDownloader"],function(fileDownloader){fileDownloader.download([imageInfo])})}function share(){var imageInfo=getCurrentImageInfo();require(["sharingmanager"],function(sharingManager){sharingManager.showMenu(imageInfo)})}function play(){var btnSlideshowPause=dlg.querySelector(".btnSlideshowPause i");btnSlideshowPause&&(btnSlideshowPause.innerHTML="pause"),swiperInstance.startAutoplay()}function pause(){var btnSlideshowPause=dlg.querySelector(".btnSlideshowPause i");btnSlideshowPause&&(btnSlideshowPause.innerHTML="play_arrow"),swiperInstance.stopAutoplay()}function playPause(){var paused="pause"!==dlg.querySelector(".btnSlideshowPause i").innerHTML;paused?play():pause()}function onDialogClosed(){var swiper=swiperInstance;swiper&&(swiper.destroy(!0,!0),swiperInstance=null),inputmanager.off(window,onInputCommand),document.removeEventListener("mousemove",onMouseMove)}function startInterval(options){currentOptions=options,stopInterval(),createElements(options),options.interactive||(currentIntervalMs=options.interval||11e3,showNextImage(options.startIndex||0,!0))}function isOsdOpen(){return _osdOpen}function getOsdBottom(){return dlg.querySelector(".slideshowBottomBar")}function showOsd(){var bottom=getOsdBottom();bottom&&(slideUpToShow(bottom),startHideTimer())}function hideOsd(){var bottom=getOsdBottom();bottom&&slideDownToHide(bottom)}function startHideTimer(){stopHideTimer(),hideTimeout=setTimeout(hideOsd,4e3)}function stopHideTimer(){hideTimeout&&(clearTimeout(hideTimeout),hideTimeout=null)}function slideUpToShow(elem){if(elem.classList.contains("hide")){_osdOpen=!0,elem.classList.remove("hide");var onFinish=function(){focusManager.focus(elem.querySelector(".btnSlideshowPause"))};return elem.animate?void requestAnimationFrame(function(){var keyframes=[{transform:"translate3d(0,"+elem.offsetHeight+"px,0)",opacity:".3",offset:0},{transform:"translate3d(0,0,0)",opacity:"1",offset:1}],timing={duration:300,iterations:1,easing:"ease-out"};elem.animate(keyframes,timing).onfinish=onFinish}):void onFinish()}}function slideDownToHide(elem){if(!elem.classList.contains("hide")){var onFinish=function(){elem.classList.add("hide"),_osdOpen=!1};return elem.animate?void requestAnimationFrame(function(){var keyframes=[{transform:"translate3d(0,0,0)",opacity:"1",offset:0},{transform:"translate3d(0,"+elem.offsetHeight+"px,0)",opacity:".3",offset:1}],timing={duration:300,iterations:1,easing:"ease-out"};elem.animate(keyframes,timing).onfinish=onFinish}):void onFinish()}}function onMouseMove(e){var eventX=e.screenX||0,eventY=e.screenY||0,obj=lastMouseMoveData;return obj?void(Math.abs(eventX-obj.x)<10&&Math.abs(eventY-obj.y)<10||(obj.x=eventX,obj.y=eventY,showOsd())):void(lastMouseMoveData={x:eventX,y:eventY})}function onInputCommand(e){switch(e.detail.command){case"left":isOsdOpen()||(e.preventDefault(),e.stopPropagation(),previousImage());break;case"right":isOsdOpen()||(e.preventDefault(),e.stopPropagation(),nextImage());break;case"up":case"down":case"select":case"menu":case"info":case"play":case"playpause":case"pause":case"fastforward":case"rewind":case"next":case"previous":showOsd()}}function showNextImage(index,skipPreload){index=Math.max(0,index),index>=currentOptions.items.length&&(index=0),currentIndex=index;var options=currentOptions,items=options.items,item=items[index],imgUrl=getImgUrl(item),onSrcLoaded=function(){var cardImageContainer=dlg.querySelector(".slideshowImage"),newCardImageContainer=document.createElement("div");newCardImageContainer.className=cardImageContainer.className,options.cover&&newCardImageContainer.classList.add("slideshowImage-cover"),newCardImageContainer.style.backgroundImage="url('"+imgUrl+"')",newCardImageContainer.classList.add("hide"),cardImageContainer.parentNode.appendChild(newCardImageContainer),options.showTitle?dlg.querySelector(".slideshowImageText").innerHTML=item.Name:dlg.querySelector(".slideshowImageText").innerHTML="",newCardImageContainer.classList.remove("hide");var onAnimationFinished=function(){var parentNode=cardImageContainer.parentNode;parentNode&&parentNode.removeChild(cardImageContainer)};if(newCardImageContainer.animate){var keyframes=[{opacity:"0",offset:0},{opacity:"1",offset:1}],timing={duration:1200,iterations:1};newCardImageContainer.animate(keyframes,timing).onfinish=onAnimationFinished}else onAnimationFinished();stopInterval(),currentTimeout=setTimeout(function(){showNextImage(index+1,!0)},currentIntervalMs)};if(skipPreload)onSrcLoaded();else{var img=new Image;img.onload=onSrcLoaded,img.src=imgUrl}}function stopInterval(){currentTimeout&&(clearTimeout(currentTimeout),currentTimeout=null)}var swiperInstance,dlg,currentTimeout,currentIntervalMs,currentOptions,currentIndex,hideTimeout,lastMouseMoveData,self=this,_osdOpen=!1;self.show=function(){startInterval(options)},self.hide=function(){var dialog=dlg;dialog&&dialogHelper.close(dialog)}}}); \ No newline at end of file +define(["dialogHelper","inputManager","connectionManager","layoutManager","focusManager","browser","apphost","loading","css!./style","material-icons","paper-icon-button-light"],function(dialogHelper,inputmanager,connectionManager,layoutManager,focusManager,browser,appHost,loading){"use strict";function getImageUrl(item,options,apiClient){return options=options||{},options.type=options.type||"Primary","string"==typeof item?apiClient.getScaledImageUrl(item,options):item.ImageTags&&item.ImageTags[options.type]?(options.tag=item.ImageTags[options.type],apiClient.getScaledImageUrl(item.Id,options)):"Primary"===options.type&&item.AlbumId&&item.AlbumPrimaryImageTag?(options.tag=item.AlbumPrimaryImageTag,apiClient.getScaledImageUrl(item.AlbumId,options)):null}function getBackdropImageUrl(item,options,apiClient){return options=options||{},options.type=options.type||"Backdrop",options.maxWidth||options.width||options.maxHeight||options.height||(options.quality=100),item.BackdropImageTags&&item.BackdropImageTags.length?(options.tag=item.BackdropImageTags[0],apiClient.getScaledImageUrl(item.Id,options)):null}function getImgUrl(item,original){var apiClient=connectionManager.getApiClient(item.ServerId),imageOptions={};return original||(imageOptions.maxWidth=screen.availWidth),item.BackdropImageTags&&item.BackdropImageTags.length?getBackdropImageUrl(item,imageOptions,apiClient):"Photo"===item.MediaType&&original?apiClient.getItemDownloadUrl(item.Id):(imageOptions.type="Primary",getImageUrl(item,imageOptions,apiClient))}function getIcon(icon,cssClass,canFocus,autoFocus){var tabIndex=canFocus?"":' tabindex="-1"';return autoFocus=autoFocus?" autofocus":"",'"}return function(options){function createElements(options){dlg=dialogHelper.createDialog({exitAnimationDuration:options.interactive?400:800,size:"fullscreen",autoFocus:!1,scrollY:!1,exitAnimation:"fadeout",removeOnClose:!0}),dlg.classList.add("slideshowDialog");var html="";if(options.interactive){var actionButtonsOnTop=layoutManager.mobile;html+="
",html+='
',html+=getIcon("keyboard_arrow_left","btnSlideshowPrevious slideshowButton",!1),html+=getIcon("keyboard_arrow_right","btnSlideshowNext slideshowButton",!1),html+='
',actionButtonsOnTop&&(appHost.supports("filedownload")&&(html+=getIcon("file_download","btnDownload slideshowButton",!0)),appHost.supports("sharing")&&(html+=getIcon("share","btnShare slideshowButton",!0))),html+=getIcon("close","slideshowButton btnSlideshowExit",!1),html+="
",actionButtonsOnTop||(html+='
',html+=getIcon("pause","btnSlideshowPause slideshowButton",!0,!0),appHost.supports("filedownload")&&(html+=getIcon("file_download","btnDownload slideshowButton",!0)),appHost.supports("sharing")&&(html+=getIcon("share","btnShare slideshowButton",!0)),html+="
"),html+="
"}else html+='

';if(dlg.innerHTML=html,options.interactive){dlg.querySelector(".btnSlideshowExit").addEventListener("click",function(e){dialogHelper.close(dlg)}),dlg.querySelector(".btnSlideshowNext").addEventListener("click",nextImage),dlg.querySelector(".btnSlideshowPrevious").addEventListener("click",previousImage);var btnPause=dlg.querySelector(".btnSlideshowPause");btnPause&&btnPause.addEventListener("click",playPause);var btnDownload=dlg.querySelector(".btnDownload");btnDownload&&btnDownload.addEventListener("click",download);var btnShare=dlg.querySelector(".btnShare");btnShare&&btnShare.addEventListener("click",share)}dialogHelper.open(dlg).then(function(){stopInterval()}),inputmanager.on(window,onInputCommand),document.addEventListener(window.PointerEvent?"pointermove":"mousemove",onPointerMove),dlg.addEventListener("close",onDialogClosed),options.interactive&&loadSwiper(dlg)}function loadSwiper(dlg){currentOptions.slides?dlg.querySelector(".swiper-wrapper").innerHTML=currentOptions.slides.map(getSwiperSlideHtmlFromSlide).join(""):dlg.querySelector(".swiper-wrapper").innerHTML=currentOptions.items.map(getSwiperSlideHtmlFromItem).join(""),require(["swiper"],function(swiper){swiperInstance=new Swiper(dlg.querySelector(".slideshowSwiperContainer"),{direction:"horizontal",loop:options.loop!==!1,autoplay:options.interval||8e3,preloadImages:!1,lazyLoading:!0,lazyLoadingInPrevNext:!0,autoplayDisableOnInteraction:!1,initialSlide:options.startIndex||0,speed:240}),layoutManager.mobile?pause():play()})}function getSwiperSlideHtmlFromItem(item){return getSwiperSlideHtmlFromSlide({imageUrl:getImgUrl(item),originalImage:getImgUrl(item,!0),Id:item.Id,ServerId:item.ServerId})}function getSwiperSlideHtmlFromSlide(item){var html="";return html+='
',html+='',(item.title||item.subtitle)&&(html+='
',html+='
',item.title&&(html+='

',html+=item.title,html+="

"),item.description&&(html+='
',html+=item.description,html+="
"),html+="
",html+="
"),html+="
"}function previousImage(){swiperInstance?swiperInstance.slidePrev():(stopInterval(),showNextImage(currentIndex-1))}function nextImage(){if(swiperInstance){if(options.loop===!1&&swiperInstance.activeIndex>=swiperInstance.slides.length-1)return void dialogHelper.close(dlg);swiperInstance.slideNext()}else stopInterval(),showNextImage(currentIndex+1)}function getCurrentImageInfo(){if(swiperInstance){var slide=document.querySelector(".swiper-slide-active");return slide?{url:slide.getAttribute("data-original"),itemId:slide.getAttribute("data-itemid"),serverId:slide.getAttribute("data-serverid")}:null}return null}function download(){var imageInfo=getCurrentImageInfo();require(["fileDownloader"],function(fileDownloader){fileDownloader.download([imageInfo])})}function share(){var imageInfo=getCurrentImageInfo();require(["sharingmanager"],function(sharingManager){sharingManager.showMenu(imageInfo)})}function play(){var btnSlideshowPause=dlg.querySelector(".btnSlideshowPause i");btnSlideshowPause&&(btnSlideshowPause.innerHTML="pause"),swiperInstance.startAutoplay()}function pause(){var btnSlideshowPause=dlg.querySelector(".btnSlideshowPause i");btnSlideshowPause&&(btnSlideshowPause.innerHTML="play_arrow"),swiperInstance.stopAutoplay()}function playPause(){var paused="pause"!==dlg.querySelector(".btnSlideshowPause i").innerHTML;paused?play():pause()}function onDialogClosed(){var swiper=swiperInstance;swiper&&(swiper.destroy(!0,!0),swiperInstance=null),inputmanager.off(window,onInputCommand),document.removeEventListener(window.PointerEvent?"pointermove":"mousemove",onPointerMove)}function startInterval(options){currentOptions=options,stopInterval(),createElements(options),options.interactive||(currentIntervalMs=options.interval||11e3,showNextImage(options.startIndex||0,!0))}function isOsdOpen(){return _osdOpen}function getOsdBottom(){return dlg.querySelector(".slideshowBottomBar")}function showOsd(){var bottom=getOsdBottom();bottom&&(slideUpToShow(bottom),startHideTimer())}function hideOsd(){var bottom=getOsdBottom();bottom&&slideDownToHide(bottom)}function startHideTimer(){stopHideTimer(),hideTimeout=setTimeout(hideOsd,4e3)}function stopHideTimer(){hideTimeout&&(clearTimeout(hideTimeout),hideTimeout=null)}function slideUpToShow(elem){if(elem.classList.contains("hide")){_osdOpen=!0,elem.classList.remove("hide");var onFinish=function(){focusManager.focus(elem.querySelector(".btnSlideshowPause"))};return elem.animate?void requestAnimationFrame(function(){var keyframes=[{transform:"translate3d(0,"+elem.offsetHeight+"px,0)",opacity:".3",offset:0},{transform:"translate3d(0,0,0)",opacity:"1",offset:1}],timing={duration:300,iterations:1,easing:"ease-out"};elem.animate(keyframes,timing).onfinish=onFinish}):void onFinish()}}function slideDownToHide(elem){if(!elem.classList.contains("hide")){var onFinish=function(){elem.classList.add("hide"),_osdOpen=!1};return elem.animate?void requestAnimationFrame(function(){var keyframes=[{transform:"translate3d(0,0,0)",opacity:"1",offset:0},{transform:"translate3d(0,"+elem.offsetHeight+"px,0)",opacity:".3",offset:1}],timing={duration:300,iterations:1,easing:"ease-out"};elem.animate(keyframes,timing).onfinish=onFinish}):void onFinish()}}function onPointerMove(e){var pointerType=e.pointerType||(layoutManager.mobile?"touch":"mouse");if("mouse"===pointerType){var eventX=e.screenX||0,eventY=e.screenY||0,obj=lastMouseMoveData;if(!obj)return void(lastMouseMoveData={x:eventX,y:eventY});if(Math.abs(eventX-obj.x)<10&&Math.abs(eventY-obj.y)<10)return;obj.x=eventX,obj.y=eventY,showOsd()}}function onInputCommand(e){switch(e.detail.command){case"left":isOsdOpen()||(e.preventDefault(),e.stopPropagation(),previousImage());break;case"right":isOsdOpen()||(e.preventDefault(),e.stopPropagation(),nextImage());break;case"up":case"down":case"select":case"menu":case"info":case"play":case"playpause":case"pause":case"fastforward":case"rewind":case"next":case"previous":showOsd()}}function showNextImage(index,skipPreload){index=Math.max(0,index),index>=currentOptions.items.length&&(index=0),currentIndex=index;var options=currentOptions,items=options.items,item=items[index],imgUrl=getImgUrl(item),onSrcLoaded=function(){var cardImageContainer=dlg.querySelector(".slideshowImage"),newCardImageContainer=document.createElement("div");newCardImageContainer.className=cardImageContainer.className,options.cover&&newCardImageContainer.classList.add("slideshowImage-cover"),newCardImageContainer.style.backgroundImage="url('"+imgUrl+"')",newCardImageContainer.classList.add("hide"),cardImageContainer.parentNode.appendChild(newCardImageContainer),options.showTitle?dlg.querySelector(".slideshowImageText").innerHTML=item.Name:dlg.querySelector(".slideshowImageText").innerHTML="",newCardImageContainer.classList.remove("hide");var onAnimationFinished=function(){var parentNode=cardImageContainer.parentNode;parentNode&&parentNode.removeChild(cardImageContainer)};if(newCardImageContainer.animate){var keyframes=[{opacity:"0",offset:0},{opacity:"1",offset:1}],timing={duration:1200,iterations:1};newCardImageContainer.animate(keyframes,timing).onfinish=onAnimationFinished}else onAnimationFinished();stopInterval(),currentTimeout=setTimeout(function(){showNextImage(index+1,!0)},currentIntervalMs)};if(skipPreload)onSrcLoaded();else{var img=new Image;img.onload=onSrcLoaded,img.src=imgUrl}}function stopInterval(){currentTimeout&&(clearTimeout(currentTimeout),currentTimeout=null)}var swiperInstance,dlg,currentTimeout,currentIntervalMs,currentOptions,currentIndex,hideTimeout,lastMouseMoveData,self=this,_osdOpen=!1;self.show=function(){startInterval(options)},self.hide=function(){var dialog=dlg;dialog&&dialogHelper.close(dialog)}}}); \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/ar.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/ar.json index 3ab363d1b8..0fe6983c00 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/ar.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/ar.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Please wait while Emby Server shuts down and restarts. This may take a minute or two.", "PlayNext": "Play next", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/be-by.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/be-by.json index 32c1a3639b..28944423a4 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/be-by.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/be-by.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Please wait while Emby Server shuts down and restarts. This may take a minute or two.", "PlayNext": "Play next", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/bg-bg.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/bg-bg.json index 8ef2963e61..1a656f1326 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/bg-bg.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/bg-bg.json @@ -16,7 +16,7 @@ "OriginalAirDateValue": "\u0414\u0430\u0442\u0430 \u043d\u0430 \u043f\u044a\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u043d\u043e \u0438\u0437\u043b\u044a\u0447\u0432\u0430\u043d\u0435: {0}", "EndsAtValue": "Ends at {0}", "HeaderSelectDate": "\u0418\u0437\u0431\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0434\u0430\u0442\u0430", - "Watched": "Watched", + "Watched": "\u0418\u0437\u0433\u043b\u0435\u0434\u0430\u043d\u043e", "Played": "Played", "ButtonOk": "\u0414\u043e\u0431\u0440\u0435", "ButtonCancel": "\u041e\u0442\u043c\u044f\u043d\u0430", @@ -97,21 +97,21 @@ "LabelName": "\u0418\u043c\u0435:", "NewCollectionNameExample": "\u041f\u0440\u0438\u043c\u0435\u0440: \u043a\u043e\u043b\u0435\u043a\u0446\u0438\u044f \u041c\u0435\u0436\u0434\u0443\u0437\u0432\u0435\u0437\u0434\u043d\u0438 \u0432\u043e\u0439\u043d\u0438", "MessageItemsAdded": "Items added.", - "OptionNew": "New...", - "LabelPlaylist": "Playlist:", + "OptionNew": "\u041d\u043e\u0432...", + "LabelPlaylist": "\u0421\u043f\u0438\u0441\u044a\u043a:", "AddToPlaylist": "\u0414\u043e\u0431\u0430\u0432\u044f\u043d\u0435 \u043a\u044a\u043c \u0441\u043f\u0438\u0441\u044a\u043a", "HeaderAddToPlaylist": "\u0414\u043e\u0431\u0430\u0432\u044f\u043d\u0435 \u043a\u044a\u043c \u0441\u043f\u0438\u0441\u044a\u043a", "Subtitles": "\u0421\u0443\u0431\u0442\u0438\u0442\u0440\u0438", "LabelTheme": "Theme:", "LabelDashboardTheme": "Server dashboard theme:", - "SearchForSubtitles": "Search for Subtitles", + "SearchForSubtitles": "\u0422\u044a\u0440\u0441\u0435\u043d\u0435 \u043d\u0430 \u0441\u0443\u0431\u0442\u0438\u0442\u0440\u0438", "LabelLanguage": "\u0415\u0437\u0438\u043a:", "Search": "\u0422\u044a\u0440\u0441\u0435\u043d\u0435", "NoSubtitleSearchResultsFound": "\u041d\u044f\u043c\u0430 \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u0438 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0438.", "File": "\u0424\u0430\u0439\u043b", "MessageAreYouSureDeleteSubtitles": "Are you sure you wish to delete this subtitle file?", "ConfirmDeletion": "Confirm Deletion", - "MySubtitles": "My Subtitles", + "MySubtitles": "\u041c\u043e\u0438\u0442\u0435 \u0441\u0443\u0431\u0442\u0438\u0442\u0440\u0438", "MessageDownloadQueued": "Download queued.", "EditSubtitles": "\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0441\u0443\u0431\u0442\u0438\u0442\u0440\u0438\u0442\u0435", "UnlockGuide": "Unlock Guide", @@ -128,26 +128,26 @@ "MessageIfYouBlockedVoice": "If you denied voice access to the app you'll need to reconfigure before trying again.", "ValueDiscNumber": "Disc {0}", "Unrated": "Unrated", - "Favorite": "Favorite", + "Favorite": "\u0412 \u043b\u044e\u0431\u0438\u043c\u0438", "Like": "Like", "Dislike": "Dislike", "RefreshDialogHelp": "Metadata is refreshed based on settings and internet services that are enabled in the Emby Server dashboard.", "Open": "\u041e\u0442\u0432\u0430\u0440\u044f\u043d\u0435", "Play": "\u041f\u0443\u0441\u043a\u0430\u043d\u0435", "AddToPlayQueue": "Add to play queue", - "Shuffle": "Shuffle", + "Shuffle": "\u041f\u0443\u0441\u043a\u0430\u043d\u0435 \u0432 \u0440\u0430\u0437\u0431\u044a\u0440\u043a\u0430\u043d \u0440\u0435\u0434", "Identify": "\u0420\u0430\u0437\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0435", "EditImages": "\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u0442\u0430", "EditInfo": "\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438\u0442\u0435", "Sync": "\u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0438\u0440\u0430\u043d\u0435", - "InstantMix": "Instant mix", - "ViewAlbum": "View album", - "ViewArtist": "View artist", + "InstantMix": "\u041f\u0443\u0441\u043a\u0430\u043d\u0435 \u043d\u0430 \u043f\u043e\u0434\u043e\u0431\u043d\u0438", + "ViewAlbum": "\u041f\u0440\u0435\u0433\u043b\u0435\u0434 \u043d\u0430 \u0430\u043b\u0431\u0443\u043c\u0430", + "ViewArtist": "\u041f\u0440\u0435\u0433\u043b\u0435\u0434 \u043d\u0430 \u0438\u0437\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u044f", "QueueAllFromHere": "Queue all from here", "PlayAllFromHere": "\u041f\u0443\u0441\u043a\u0430\u043d\u0435 \u043d\u0430 \u0432\u0441\u0438\u0447\u043a\u043e \u043e\u0442 \u0442\u0443\u043a", "PlayFromBeginning": "Play from beginning", "ResumeAt": "Resume from {0}", - "RemoveFromPlaylist": "Remove from playlist", + "RemoveFromPlaylist": "\u041f\u0440\u0435\u043c\u0430\u0445\u0432\u0430\u043d\u0435 \u043e\u0442 \u0441\u043f\u0438\u0441\u044a\u043a\u0430", "RemoveFromCollection": "Remove from collection", "Trailer": "\u0422\u0440\u0435\u0439\u043b\u044a\u0440", "MarkPlayed": "\u041e\u0442\u0431\u0435\u043b\u044f\u0437\u0432\u0430\u043d\u0435 \u043a\u0430\u0442\u043e \u043f\u0443\u0441\u043a\u0430\u043d\u043e", @@ -185,7 +185,7 @@ "LabelAirDays": "Air days:", "LabelAirTime": "Air time:", "LabelRuntimeMinutes": "Run time (minutes):", - "LabelParentalRating": "Parental rating:", + "LabelParentalRating": "\u0420\u043e\u0434\u0438\u0442\u0435\u043b\u0441\u043a\u0430 \u043e\u0446\u0435\u043d\u043a\u0430:", "LabelCustomRating": "Custom rating:", "LabelOriginalAspectRatio": "\u041e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u043d\u043e \u0441\u044a\u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435:", "Label3DFormat": "3D format:", @@ -204,13 +204,13 @@ "LabelAirsBeforeEpisode": "Airs before episode:", "HeaderExternalIds": "External Ids:", "HeaderDisplaySettings": "Display Settings", - "LabelDisplayOrder": "Display order:", - "Display": "Display", + "LabelDisplayOrder": "\u0420\u0435\u0434 \u043d\u0430 \u043f\u043e\u043a\u0430\u0437\u0432\u0430\u043d\u0435:", + "Display": "\u0415\u043a\u0440\u0430\u043d", "Countries": "\u0414\u044a\u0440\u0436\u0430\u0432\u0438", "Genres": "\u0416\u0430\u043d\u0440\u043e\u0432\u0435", "Studios": "\u0421\u0442\u0443\u0434\u0438\u0430", "Tags": "\u0415\u0442\u0438\u043a\u0435\u0442\u0438", - "HeaderMetadataSettings": "Metadata Settings", + "HeaderMetadataSettings": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043d\u0430 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u0438\u0442\u0435", "People": "\u0425\u043e\u0440\u0430", "LabelMetadataDownloadLanguage": "\u041f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u043d \u0435\u0437\u0438\u043a \u043d\u0430 \u0441\u0432\u0430\u043b\u044f\u043d\u0435:", "LabelLockItemToPreventChanges": "Lock this item to prevent future changes", @@ -272,7 +272,7 @@ "ValueAlbumCount": "{0} albums", "ValueOneMusicVideo": "1 music video", "ValueMusicVideoCount": "{0} music videos", - "ValueMinutes": "{0} min", + "ValueMinutes": "{0} \u043c\u0438\u043d\u0443\u0442\u0438", "Albums": "\u0410\u043b\u0431\u0443\u043c\u0438", "Songs": "\u041f\u0435\u0441\u043d\u0438", "Books": "\u041a\u043d\u0438\u0433\u0438", @@ -340,8 +340,8 @@ "AllEpisodes": "All episodes", "LabelStartWhenPossible": "Start when possible:", "LabelStopWhenPossible": "Stop when possible:", - "MinutesBefore": "minutes before", - "MinutesAfter": "minutes after", + "MinutesBefore": "\u043c\u0438\u043d\u0443\u0442\u0438 \u043f\u0440\u0435\u0434\u0438", + "MinutesAfter": "\u043c\u0438\u043d\u0443\u0442\u0438 \u0441\u043b\u0435\u0434", "SkipEpisodesAlreadyInMyLibrary": "Don't record episodes that are already in my library", "SkipEpisodesAlreadyInMyLibraryHelp": "Episodes will be compared using season and episode numbers, when available.", "LabelKeepUpTo": "Keep up to:", @@ -357,7 +357,7 @@ "Kids": "Kids", "EnableColorCodedBackgrounds": "Enable color coded backgrounds", "SortChannelsBy": "Sort channels by:", - "RecentlyWatched": "Recently watched", + "RecentlyWatched": "\u0421\u043a\u043e\u0440\u043e \u0433\u043b\u0435\u0434\u0430\u043d\u0438", "ChannelNumber": "Channel number", "HeaderBenefitsEmbyPremiere": "Benefits of Emby Premiere", "ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.", @@ -416,13 +416,13 @@ "Reject": "Reject", "Connect": "Connect", "HeaderMyMedia": "\u041c\u043e\u044f\u0442\u0430 \u043c\u0435\u0434\u0438\u044f", - "HeaderMyMediaSmall": "My Media (small)", + "HeaderMyMediaSmall": "\u041c\u043e\u044f\u0442\u0430 \u043c\u0435\u0434\u0438\u044f (\u043c\u0430\u043b\u044a\u043a)", "LatestFromLibrary": "Latest {0}", "HeaderLatestChannelMedia": "Latest Channel Items", "HeaderContinueWatching": "Continue Watching", "HeaderContinueListening": "Continue Listening", "HeaderActiveRecordings": "Active Recordings", - "HeaderLatestRecordings": "Latest Recordings", + "HeaderLatestRecordings": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438 \u0437\u0430\u043f\u0438\u0441\u0438", "LabelSyncTo": "Sync to:", "Next": "Next", "LabelSource": "Source:", @@ -430,14 +430,14 @@ "Previous": "Previous", "HeaderNextUp": "Next Up", "HeaderLatestFrom": "Latest from {0}", - "LabelHomeScreenSectionValue": "Home screen section {0}:", + "LabelHomeScreenSectionValue": "\u0420\u0430\u0437\u0434\u0435\u043b {0} \u043d\u0430 \u043d\u0430\u0447\u0430\u043b\u043d\u0438\u044f \u0435\u043a\u0440\u0430\u043d:", "SettingsSaved": "Settings saved.", - "None": "None", + "None": "\u041d\u0438\u0449\u043e", "More": "More", "Up": "Up", "Down": "Down", - "HeaderHomeScreen": "Home Screen", - "HeaderHomeScreenContent": "Home Screen Content", + "HeaderHomeScreen": "\u041d\u0430\u0447\u0430\u043b\u0435\u043d \u0435\u043a\u0440\u0430\u043d", + "HeaderHomeScreenContent": "\u0421\u044a\u0434\u044a\u0440\u0436\u0430\u043d\u0438\u0435 \u043d\u0430 \u043d\u0430\u0447\u0430\u043b\u043d\u0438\u044f \u0435\u043a\u0440\u0430\u043d", "HeaderLatestChannelItems": "Latest Channel Items", "LabelSelectHomeScreenItemsFolders": "Allow items to appear on my home screen from:", "HeaderLibraryOrder": "\u041f\u043e\u0434\u0440\u0435\u0434\u0431\u0430 \u043d\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u0442\u0430", @@ -449,7 +449,7 @@ "PlaybackErrorPlaceHolder": "Please insert the disc in order to play this video.", "Guide": "Guide", "Suggestions": "\u041f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f", - "Favorites": "Favorites", + "Favorites": "\u041b\u044e\u0431\u0438\u043c\u0438", "Collections": "\u041a\u043e\u043b\u0435\u043a\u0446\u0438\u0438", "LabelSelectFolderGroups": "Automatically group content from the following folders into views such as Movies, Music and TV:", "LabelSelectFolderGroupsHelp": "Folders that are unchecked will be displayed by themselves in their own view.", @@ -521,12 +521,12 @@ "AlwaysPlaySubtitles": "Always play subtitles", "DefaultSubtitlesHelp": "Subtitles are loaded based on the default and forced flags in the embedded metadata. Language preferences are considered when multiple options are available.", "SmartSubtitlesHelp": "Subtitles matching the language preference will be loaded when the audio is in a foreign language.", - "HeaderSubtitleSettings": "Subtitle Settings", + "HeaderSubtitleSettings": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043d\u0430 \u0441\u0443\u0431\u0442\u0438\u0442\u0440\u0438\u0442\u0435", "HeaderSubtitleAppearance": "\u041e\u0431\u043b\u0438\u043a \u043d\u0430 \u0441\u0443\u0431\u0442\u0438\u0442\u0440\u0438\u0442\u0435", "OnlyForcedSubtitlesHelp": "Only subtitles marked as forced will be loaded.", "AlwaysPlaySubtitlesHelp": "Subtitles matching the language preference will be loaded regardless of the audio language.", "NoSubtitlesHelp": "Subtitles will not be loaded by default. They can still be turned on manually during playback.", - "LabelPreferredSubtitleLanguage": "Preferred subtitle language:", + "LabelPreferredSubtitleLanguage": "\u041f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u043d \u0435\u0437\u0438\u043a \u043d\u0430 \u0441\u0443\u0431\u0442\u0438\u0442\u0440\u0438\u0442\u0435:", "LabelTextSize": "\u0420\u0430\u0437\u043c\u0435\u0440 \u043d\u0430 \u0442\u0435\u043a\u0441\u0442\u0430:", "TheseSettingsAffectSubtitlesOnThisDevice": "These settings affect subtitles on this device", "LabelDropShadow": "\u0421\u044f\u043d\u043a\u0430:", @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Please wait while Emby Server shuts down and restarts. This may take a minute or two.", "PlayNext": "Play next", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e (\u0441\u043f\u043e\u0440\u0435\u0434 \u0435\u0437\u0438\u043a\u0430)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/ca.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/ca.json index 9c6069c8ef..f2f2f00588 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/ca.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/ca.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Please wait while Emby Server shuts down and restarts. This may take a minute or two.", "PlayNext": "Play next", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/cs.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/cs.json index 75c1c2e0ad..3d3be1f394 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/cs.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/cs.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Please wait while Emby Server shuts down and restarts. This may take a minute or two.", "PlayNext": "Play next", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/da.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/da.json index 13689bb704..4b3fb4b493 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/da.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/da.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Please wait while Emby Server shuts down and restarts. This may take a minute or two.", "PlayNext": "Play next", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/de.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/de.json index 7d136d83a5..0b1448856c 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/de.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/de.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Warte bitte bis der Emby Server heruntergefahren und neu gestartet wurde. Dieser Vorgang dauert 1 bis 2 Minuten.", "PlayNext": "Spiele als N\u00e4chstes ab", "AllowSeasonalThemes": "Erlaube automatische Saison-Themes", - "AllowSeasonalThemesHelp": "Wenn aktiviert, werden Saison-Themes von Zeit zu Zeit deine Theme-Einstellungen \u00fcberschreiben." + "AllowSeasonalThemesHelp": "Wenn aktiviert, werden Saison-Themes von Zeit zu Zeit deine Theme-Einstellungen \u00fcberschreiben.", + "AutoBasedOnLanguageSetting": "Automatisch (basierend auf Spracheinstellung)", + "LabelDateTimeLocale": "Datum\/Zeit lokal:", + "DirectorValue": "Regisseur: {0}", + "DirectorsValue": "Regisseure: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/el.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/el.json index a3a132980c..2c3512b8cb 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/el.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/el.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Please wait while Emby Server shuts down and restarts. This may take a minute or two.", "PlayNext": "Play next", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/en-gb.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/en-gb.json index 9be28e146b..2e26c46234 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/en-gb.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/en-gb.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Please wait while Emby Server shuts down and restarts. This may take a minute or two.", "PlayNext": "Play next", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/en-us.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/en-us.json index 17ee9386e6..11f0421e9c 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/en-us.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/en-us.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Please wait while Emby Server shuts down and restarts. This may take a minute or two.", "PlayNext": "Play next", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/es-ar.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/es-ar.json index 7feee6d365..45c1b7c98d 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/es-ar.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/es-ar.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Please wait while Emby Server shuts down and restarts. This may take a minute or two.", "PlayNext": "Play next", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/es-mx.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/es-mx.json index 8b6b4da7ac..4a9cb42fd6 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/es-mx.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/es-mx.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Por favor espere mientras el Servidor Emby cierra y reinicia. Este puede tomar un minuto o dos.", "PlayNext": "Reproducir siguiente", "AllowSeasonalThemes": "Permitir temas de temporada autom\u00e1ticamente", - "AllowSeasonalThemesHelp": "Si esta habilitado, temas de temporada reemplazaran ocasionalmente el tema por defecto." + "AllowSeasonalThemesHelp": "Si esta habilitado, temas de temporada reemplazaran ocasionalmente el tema por defecto.", + "AutoBasedOnLanguageSetting": "Auto (basado en la configuraci\u00f3n del lenguaje)", + "LabelDateTimeLocale": "Configuraci\u00f3n regional de Fecha y Hora:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/es.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/es.json index 41e156e928..48005423c8 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/es.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/es.json @@ -16,7 +16,7 @@ "OriginalAirDateValue": "Fecha de emisi\u00f3n original: {0}", "EndsAtValue": "Termina a las {0}", "HeaderSelectDate": "Seleccionar Fecha", - "Watched": "Watched", + "Watched": "Visto", "Played": "Reproducido", "ButtonOk": "Ok", "ButtonCancel": "Cancelar", @@ -88,10 +88,10 @@ "EnableBackdrops": "Enable backdrops", "EnableThemeSongsHelp": "If enabled, theme songs will be played in the background while browsing the library.", "EnableBackdropsHelp": "If enabled, backdrops will be displayed in the background of some pages while browsing the library.", - "EnableThemeVideos": "Enable theme videos", + "EnableThemeVideos": "Habilitar temas videos", "EnableThemeVideosHelp": "If enabled, theme videos will be played in the background while browsing the library.", "RunAtStartup": "Run at startup", - "LabelScreensaver": "Screensaver:", + "LabelScreensaver": "Salvapantallas", "LabelSoundEffects": "Sound effects:", "LabelSkin": "Skin:", "LabelName": "Nombre:", @@ -333,7 +333,7 @@ "ChannelNameOnly": "Canal {0} solo", "Anytime": "Anytime", "AroundTime": "Around {0}", - "All": "All", + "All": "Todo", "AllChannels": "Todos los canales", "LabelRecord": "Grabar:", "NewEpisodesOnly": "Solo nuevos episodios", @@ -424,10 +424,10 @@ "HeaderActiveRecordings": "Grabaciones activas", "HeaderLatestRecordings": "\u00daltimas Grabaciones", "LabelSyncTo": "Sincronizar en:", - "Next": "Next", + "Next": "Siguiente", "LabelSource": "Source:", - "AllLanguages": "All languages", - "Previous": "Previous", + "AllLanguages": "Todos los idiomas", + "Previous": "Anterior", "HeaderNextUp": "Siguiendo", "HeaderLatestFrom": "Lo \u00faltimo de {0}", "LabelHomeScreenSectionValue": "Secci\u00f3n de la pantalla de inicio {0}:", @@ -470,7 +470,7 @@ "Schedule": "Horario", "Recordings": "Grabaciones", "MarkWatched": "Marcar como visto", - "ScanForNewAndUpdatedFiles": "Scan for new and updated files", + "ScanForNewAndUpdatedFiles": "Buscar archivos nuevos y actualizados", "DirectStreamHelp1": "The media is compatible with the device regarding resolution and media type (H.264, AC3, etc.), but is in an incompatible file container (.mkv, .avi, .wmv, etc.). The video will be re-packaged on the fly before streaming it to the device.", "DirectStreamHelp2": "Direct Streaming a file uses very little processing power without any loss in video quality.", "MediaIsBeingConverted": "The media is being converted into a format that is compatible with the device that is playing the media.", @@ -599,7 +599,13 @@ "HeaderLatestMedia": "\u00daltimos medios", "HeaderRestartingEmbyServer": "Restarting Emby Server", "RestartPleaseWaitMessage": "Please wait while Emby Server shuts down and restarts. This may take a minute or two.", - "PlayNext": "Play next", + "PlayNext": "Reproducir siguiente", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/fi.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/fi.json index de68b5e875..ffb00c7b91 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/fi.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/fi.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Please wait while Emby Server shuts down and restarts. This may take a minute or two.", "PlayNext": "Play next", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/fr-ca.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/fr-ca.json index 5f8fef0a90..facf8b4fd9 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/fr-ca.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/fr-ca.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Please wait while Emby Server shuts down and restarts. This may take a minute or two.", "PlayNext": "Play next", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/fr.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/fr.json index 7fdd53cf60..9e2cc78d2a 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/fr.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/fr.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Veuillez patienter pendant que le serveur Emby s'arr\u00eate et red\u00e9marre. Cela peut prendre une minute ou deux.", "PlayNext": "Lire le suivant", "AllowSeasonalThemes": "Autoriser les th\u00e8mes saisonniers automatiques", - "AllowSeasonalThemesHelp": "Des th\u00e8mes saisonniers viendront occasionnellement remplacer votre th\u00e8me r\u00e9gulier." + "AllowSeasonalThemesHelp": "Des th\u00e8mes saisonniers viendront occasionnellement remplacer votre th\u00e8me r\u00e9gulier.", + "AutoBasedOnLanguageSetting": "Auto (bas\u00e9 sur le r\u00e9glage de la langue)", + "LabelDateTimeLocale": "Date et heure locale\u00a0:", + "DirectorValue": "R\u00e9alisateur: {0}", + "DirectorsValue": "R\u00e9alisateurs: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/gsw.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/gsw.json index 457fecd5bc..7daaefcd31 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/gsw.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/gsw.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Please wait while Emby Server shuts down and restarts. This may take a minute or two.", "PlayNext": "Play next", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/he.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/he.json index f9988f25eb..1b6a396759 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/he.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/he.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Please wait while Emby Server shuts down and restarts. This may take a minute or two.", "PlayNext": "Play next", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/hr.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/hr.json index 53d113d97b..87653f654d 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/hr.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/hr.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Please wait while Emby Server shuts down and restarts. This may take a minute or two.", "PlayNext": "Play next", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/hu.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/hu.json index 8f5e538b13..254c197542 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/hu.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/hu.json @@ -53,7 +53,7 @@ "MessageActiveSubscriptionRequiredSeriesRecordings": "An active Emby Premiere subscription is required in order to create automated series recordings.", "LabelEmailAddress": "E-mail c\u00edm:", "PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.", - "FeatureRequiresEmbyPremiere": "This feature requires an active Emby Premiere subscription.", + "FeatureRequiresEmbyPremiere": "Ez a szolg\u00e1ltat\u00e1s akt\u00edv Emby Premier el\u0151fizet\u00e9st ig\u00e9nyel.", "HeaderConvertYourRecordings": "Convert Your Recordings", "Record": "Felv\u00e9tel", "Save": "Ment\u00e9s", @@ -82,12 +82,12 @@ "LearnHowYouCanContribute": "Learn how you can contribute.", "NewCollectionHelp": "Collections allow you to create personalized groupings of movies and other library content.", "SearchForCollectionInternetMetadata": "Search the internet for artwork and metadata", - "DisplayMissingEpisodesWithinSeasons": "Display missing episodes within seasons", - "DisplayMissingEpisodesWithinSeasonsHelp": "This must also be enabled for TV libraries in Emby Server setup.", - "EnableThemeSongs": "Enable theme songs", - "EnableBackdrops": "Enable backdrops", - "EnableThemeSongsHelp": "If enabled, theme songs will be played in the background while browsing the library.", - "EnableBackdropsHelp": "If enabled, backdrops will be displayed in the background of some pages while browsing the library.", + "DisplayMissingEpisodesWithinSeasons": "Hi\u00e1nyz\u00f3 \u00e9vad epiz\u00f3dok megjelen\u00edt\u00e9se", + "DisplayMissingEpisodesWithinSeasonsHelp": "Ezt enged\u00e9lyezni kell az Emby Szerver be\u00e1ll\u00edt\u00e1sban l\u00e9v\u0151 TV k\u00f6nyvt\u00e1rak eset\u00e9ben is.", + "EnableThemeSongs": "F\u0151c\u00edm dalok enged\u00e9lyez\u00e9se", + "EnableBackdrops": "H\u00e1tt\u00e9rk\u00e9pek enged\u00e9lyezve", + "EnableThemeSongsHelp": "Ha enged\u00e9lyezve van, a f\u0151c\u00edm dalok a h\u00e1tt\u00e9rben j\u00e1tsz\u00f3dnak le a k\u00f6nyvt\u00e1r b\u00f6ng\u00e9sz\u00e9se k\u00f6zben.", + "EnableBackdropsHelp": "Ha enged\u00e9lyezve van, akkor a h\u00e1tt\u00e9rk\u00e9pek a k\u00f6nyvt\u00e1r b\u00f6ng\u00e9sz\u00e9se k\u00f6zben n\u00e9h\u00e1ny oldal h\u00e1tter\u00e9ben jelennek meg.", "EnableThemeVideos": "Enable theme videos", "EnableThemeVideosHelp": "If enabled, theme videos will be played in the background while browsing the library.", "RunAtStartup": "Run at startup", @@ -102,8 +102,8 @@ "AddToPlaylist": "Lej\u00e1tsz\u00e1si list\u00e1hoz adni", "HeaderAddToPlaylist": "Lej\u00e1tsz\u00e1si list\u00e1hoz adni", "Subtitles": "Feliratok", - "LabelTheme": "Theme:", - "LabelDashboardTheme": "Server dashboard theme:", + "LabelTheme": "Kin\u00e9zet:", + "LabelDashboardTheme": "Szerver vez\u00e9rl\u0151pult kin\u00e9zet:", "SearchForSubtitles": "Felirat keres\u00e9se", "LabelLanguage": "Nyelv:", "Search": "Keres\u00e9s", @@ -205,7 +205,7 @@ "HeaderExternalIds": "K\u00fcls\u0151 id-k:", "HeaderDisplaySettings": "K\u00e9perny\u0151 be\u00e1ll\u00edt\u00e1sok", "LabelDisplayOrder": "Megjelen\u00edt\u00e9si sorrend:", - "Display": "Display", + "Display": "Megjelen\u00edt\u00e9s", "Countries": "Countries", "Genres": "M\u0171fajok", "Studios": "St\u00fadi\u00f3k", @@ -275,8 +275,8 @@ "ValueMinutes": "{0} min", "Albums": "Albums", "Songs": "Songs", - "Books": "Books", - "HeaderAudioBooks": "Audio Books", + "Books": "K\u00f6nyvek", + "HeaderAudioBooks": "Hangos k\u00f6nyvek", "HeaderIdentifyItemHelp": "Adj meg egy vagy t\u00f6bb keres\u00e9si krit\u00e9riumot. T\u00e1vol\u00edtsd el a krit\u00e9riumokat a keres\u00e9si eredm\u00e9nyek n\u00f6vel\u00e9se \u00e9rdek\u00e9ben.", "PleaseEnterNameOrId": "Please enter a name or an external Id.", "MessageItemSaved": "Item saved.", @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Please wait while Emby Server shuts down and restarts. This may take a minute or two.", "PlayNext": "Play next", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/id.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/id.json index 6821cc1c2a..eee5c48a03 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/id.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/id.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Please wait while Emby Server shuts down and restarts. This may take a minute or two.", "PlayNext": "Play next", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/it.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/it.json index 8cef2f94fd..dfd9a1cd7e 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/it.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/it.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Per piacere aspetta mentre Emby Server si arresta e riavvia. Questo pu\u00f2 richiedere un minuto o due.", "PlayNext": "Riproduci prossimo", "AllowSeasonalThemes": "Consenti temi automatici stagionali", - "AllowSeasonalThemesHelp": "Se abilitato, i temi stagionali sovrascriveranno occasionalmente l'impostazione del tema." + "AllowSeasonalThemesHelp": "Se abilitato, i temi stagionali sovrascriveranno occasionalmente l'impostazione del tema.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/kk.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/kk.json index 9ce6c07f16..c91d7763ae 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/kk.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/kk.json @@ -600,6 +600,12 @@ "HeaderRestartingEmbyServer": "Emby Server \u049b\u0430\u0439\u0442\u0430 \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u044b\u043b\u0443\u0434\u0430", "RestartPleaseWaitMessage": "Emby Server \u0436\u04b1\u043c\u044b\u0441\u044b \u0430\u044f\u049b\u0442\u0430\u043b\u044b\u043f, \u049b\u0430\u0439\u0442\u0430 \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u044b\u043b\u0493\u0430\u043d\u0448\u0430 \u0434\u0435\u0439\u0456\u043d \u043a\u04af\u0442\u0435 \u0442\u04b1\u0440\u044b\u04a3\u044b\u0437. \u0411\u04b1\u043b \u0431\u0456\u0440-\u0435\u043a\u0456 \u043c\u0438\u043d\u04e9\u0442\u049b\u0430 \u0441\u043e\u0437\u044b\u043b\u0443\u044b \u043c\u04af\u043c\u043a\u0456\u043d.", "PlayNext": "\u041a\u0435\u043b\u0435\u0441\u0456\u043d\u0456 \u043e\u0439\u043d\u0430\u0442\u0443", - "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemes": "\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0442\u044b \u0442\u04af\u0440\u0434\u0435\u0433\u0456 \u043c\u0430\u0443\u0441\u044b\u043c\u0434\u044b\u049b \u0442\u0430\u049b\u044b\u0440\u044b\u043f\u0442\u0430\u0440\u0493\u0430 \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0443", + "AllowSeasonalThemesHelp": "\u049a\u043e\u0441\u044b\u043b\u0493\u0430\u043d \u0431\u043e\u043b\u0441\u0430, \u043c\u0430\u0443\u0441\u044b\u043c\u0434\u044b\u049b \u0442\u0430\u049b\u044b\u0440\u044b\u043f\u0442\u0430\u0440 \u0430\u043d\u0434\u0430-\u0441\u0430\u043d\u0434\u0430 \u0442\u0430\u049b\u044b\u0440\u044b\u043f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043b\u0435\u0440\u0456\u04a3\u0456\u0437\u0434\u0456\u04a3 \u043a\u04af\u0448\u0456\u043d \u0436\u043e\u044f\u0434\u044b.", + "AutoBasedOnLanguageSetting": "\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0442\u044b \u0442\u04af\u0440\u0434\u0435 (\u0442\u0456\u043b \u0442\u0435\u04a3\u0448\u0435\u043b\u0456\u043c\u0456 \u043d\u0435\u0433\u0456\u0437\u0456\u043d\u0434\u0435)", + "LabelDateTimeLocale": "\u041a\u04af\u043d \u043c\u0435\u043d \u0443\u0430\u049b\u044b\u0442:", + "DirectorValue": "\u0420\u0435\u0436\u0438\u0441\u0441\u0435\u0440\u0456: {0}", + "DirectorsValue": "\u0420\u0435\u0436\u0438\u0441\u0441\u0435\u0440\u043b\u0435\u0440; {0}", + "GenreValue": "\u0416\u0430\u043d\u0440: {0}", + "GenresValue": "\u0416\u0430\u043d\u0440\u043b\u0430\u0440: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/ko.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/ko.json index a81d68af1b..94cf04b7bd 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/ko.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/ko.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Please wait while Emby Server shuts down and restarts. This may take a minute or two.", "PlayNext": "Play next", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/lt-lt.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/lt-lt.json index a73b5d83ee..9de7645a6c 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/lt-lt.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/lt-lt.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Please wait while Emby Server shuts down and restarts. This may take a minute or two.", "PlayNext": "Play next", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/ms.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/ms.json index 852663d332..73bed1f683 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/ms.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/ms.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Please wait while Emby Server shuts down and restarts. This may take a minute or two.", "PlayNext": "Play next", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/nb.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/nb.json index 0bba9be62d..2551d40b29 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/nb.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/nb.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Please wait while Emby Server shuts down and restarts. This may take a minute or two.", "PlayNext": "Play next", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/nl.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/nl.json index b64f4ded99..8636c7ef81 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/nl.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/nl.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Please wait while Emby Server shuts down and restarts. This may take a minute or two.", "PlayNext": "Play next", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/pl.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/pl.json index 20b99f459e..feb78e8ea4 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/pl.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/pl.json @@ -7,7 +7,7 @@ "Add": "Dodaj", "ServerUpdateNeeded": "Ten serwer Emby wymaga aktualizacji. Odwied\u017a stron\u0119 {0}, aby pobra\u0107 najnowsz\u0105 wersj\u0119.", "LiveTvRequiresUnlock": "Odbi\u00f3r transmisji telewizyjnych wymaga aktywnej subskrypcji Emby Premiere.", - "AttributeNew": "Nowe", + "AttributeNew": "Nowy", "Premiere": "Premiera", "Live": "Na \u017cywo", "Repeat": "Powt\u00f3rz", @@ -50,7 +50,7 @@ "HeaderFreeApps": "Darmowe aplikacje Emby", "FreeAppsFeatureDescription": "Korzystaj z darmowego dost\u0119pu do aplikacji Emby na swoich urz\u0105dzeniach.", "HeaderBecomeProjectSupporter": "Zam\u00f3w subskrypcj\u0119 Premium", - "MessageActiveSubscriptionRequiredSeriesRecordings": "Funkcja nagrywania seriali wymaga aktywnej subskrypcji Emby Premium.", + "MessageActiveSubscriptionRequiredSeriesRecordings": "Funkcja automatycznego nagrywania seriali wymaga aktywnej subskrypcji Emby Premium.", "LabelEmailAddress": "Adres pocztowy:", "PromoConvertRecordingsToStreamingFormat": "Emby Premier umo\u017cliwia automatyczn\u0105 konwersj\u0119 nagra\u0144 do formatu przyjaznego transmisjom. Nagrania b\u0119d\u0105 konwertowane w flocie do kontenera MP4 lub MKV, w zale\u017cno\u015bci o konfiguracji serwera Emby.", "FeatureRequiresEmbyPremiere": "Ta funkcja wymaga aktywnej subskrypcji Emby Premium.", @@ -404,7 +404,7 @@ "EnableDisplayMirroring": "Aktywuj wy\u015bwietlanie lustrzane", "HeaderPlayOn": "Odtwarzaj na", "Quality": "Jako\u015b\u0107", - "Auto": "Automat", + "Auto": "Automatycznie", "AndroidUnlockRestoreHelp": "W celu odzyskania poprzedniego zakupu, upewnij si\u0119, \u017ce zalogowa\u0142e\u015b si\u0119 na urz\u0105dzeniu przy pomocy tego samego konta Google (lub Amazon), kt\u00f3rym pierwotnie dokona\u0142e\u015b zakupu. Upewnij si\u0119, \u017ce sklep aplikacji dzia\u0142a poprawnie i nie jest ograniczony kontrol\u0105 rodzicielsk\u0105, a Twoje po\u0142\u0105czenie z Internetem jest aktywne. Musisz to zrobi\u0107 tylko raz, aby przywr\u00f3ci\u0107 poprzedni zakup.", "AspectRatio": "Proporcje obrazu", "Original": "Orignalne", @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Czekaj na zamkni\u0119cie i ponowne uruchomienie serwera Emby. To mo\u017ce trwa\u0107 ok. jednej, dw\u00f3ch minut.", "PlayNext": "Odtwarzaj nast\u0119pne", "AllowSeasonalThemes": "Zezwalaj na automatyczne motywy sezonowe", - "AllowSeasonalThemesHelp": "Je\u015bli aktywne, motywy sezonowe b\u0119d\u0105 sporadycznie nadpisywa\u0107 Twoje ustawienia motywu." + "AllowSeasonalThemesHelp": "Je\u015bli aktywne, motywy sezonowe b\u0119d\u0105 sporadycznie nadpisywa\u0107 Twoje ustawienia motywu.", + "AutoBasedOnLanguageSetting": "Automatyczna (w oparciu o ustawienia j\u0119zykowe)", + "LabelDateTimeLocale": "Strefa czasowa:", + "DirectorValue": "Re\u017cyser: {0}", + "DirectorsValue": "Re\u017cyserzy: {0}", + "GenreValue": "Gatunek: {0}", + "GenresValue": "Gatunki: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/pt-br.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/pt-br.json index 7b3114af89..d32b7a385c 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/pt-br.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/pt-br.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Por favor, aguarde enquanto o Servidor Emby reinicia. Isto pode levar um ou dois minutos.", "PlayNext": "Play next", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/pt-pt.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/pt-pt.json index dc6ee8eff7..509c9dc874 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/pt-pt.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/pt-pt.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Please wait while Emby Server shuts down and restarts. This may take a minute or two.", "PlayNext": "Play next", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/ro.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/ro.json index 85ec174053..cfafe9f658 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/ro.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/ro.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Please wait while Emby Server shuts down and restarts. This may take a minute or two.", "PlayNext": "Play next", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/ru.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/ru.json index 4be3628efb..434894bea1 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/ru.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/ru.json @@ -600,6 +600,12 @@ "HeaderRestartingEmbyServer": "Emby Server \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f", "RestartPleaseWaitMessage": "\u041f\u043e\u0434\u043e\u0436\u0434\u0438\u0442\u0435, \u043f\u043e\u043a\u0430 Emby Server \u0432\u044b\u043a\u043b\u044e\u0447\u0438\u0442\u0441\u044f \u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0441\u044f. \u042d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043d\u044f\u0442\u044c \u043c\u0438\u043d\u0443\u0442\u0443 \u0438\u043b\u0438 \u0434\u0432\u0435.", "PlayNext": "\u0412\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435", - "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemes": "\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u0435\u0437\u043e\u043d\u043d\u044b\u0435 \u0442\u0435\u043c\u044b", + "AllowSeasonalThemesHelp": "\u041f\u0440\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438, \u0441\u0435\u0437\u043e\u043d\u043d\u044b\u0435 \u0442\u0435\u043c\u044b \u0431\u0443\u0434\u0443\u0442 \u0432\u0440\u0435\u043c\u044f \u043e\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043f\u0435\u0440\u0435\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u0432\u0430\u0448\u0443 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u0442\u0435\u043c\u044b.", + "AutoBasedOnLanguageSetting": "\u0410\u0432\u0442\u043e (\u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u044f\u0437\u044b\u043a\u0430)", + "LabelDateTimeLocale": "\u0414\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043c\u044f:", + "DirectorValue": "\u0420\u0435\u0436\u0438\u0441\u0441\u0451\u0440: {0}", + "DirectorsValue": "\u0420\u0435\u0436\u0438\u0441\u0441\u0451\u0440\u044b: {0}", + "GenreValue": "\u0416\u0430\u043d\u0440: {0}", + "GenresValue": "\u0416\u0430\u043d\u0440\u044b: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/sk.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/sk.json index 852663d332..73bed1f683 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/sk.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/sk.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Please wait while Emby Server shuts down and restarts. This may take a minute or two.", "PlayNext": "Play next", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/sl-si.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/sl-si.json index 429f63ace8..cd01500838 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/sl-si.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/sl-si.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Please wait while Emby Server shuts down and restarts. This may take a minute or two.", "PlayNext": "Play next", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/sv.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/sv.json index eec1efcc8e..ecfd79f4a7 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/sv.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/sv.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Please wait while Emby Server shuts down and restarts. This may take a minute or two.", "PlayNext": "Play next", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/tr.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/tr.json index 50878afd11..ace90c820f 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/tr.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/tr.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Please wait while Emby Server shuts down and restarts. This may take a minute or two.", "PlayNext": "Play next", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/uk.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/uk.json index eee5057748..7e48a35ca2 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/uk.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/uk.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Please wait while Emby Server shuts down and restarts. This may take a minute or two.", "PlayNext": "Play next", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/vi.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/vi.json index 280ea34f50..3484b409d7 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/vi.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/vi.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Please wait while Emby Server shuts down and restarts. This may take a minute or two.", "PlayNext": "Play next", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/zh-cn.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/zh-cn.json index 4824ba48d7..82bb4c9965 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/zh-cn.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/zh-cn.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Please wait while Emby Server shuts down and restarts. This may take a minute or two.", "PlayNext": "Play next", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/zh-hk.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/zh-hk.json index c159fed441..488273a56f 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/zh-hk.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/zh-hk.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Please wait while Emby Server shuts down and restarts. This may take a minute or two.", "PlayNext": "Play next", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/zh-tw.json b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/zh-tw.json index 81d75e4bce..c6fdc334c3 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/zh-tw.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/strings/zh-tw.json @@ -601,5 +601,11 @@ "RestartPleaseWaitMessage": "Please wait while Emby Server shuts down and restarts. This may take a minute or two.", "PlayNext": "Play next", "AllowSeasonalThemes": "Allow automatic seasonal themes", - "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting." + "AllowSeasonalThemesHelp": "If enabled, seasonal themes will occasionally override your theme setting.", + "AutoBasedOnLanguageSetting": "Auto (based on language setting)", + "LabelDateTimeLocale": "Date time locale:", + "DirectorValue": "Director: {0}", + "DirectorsValue": "Directors: {0}", + "GenreValue": "Genre: {0}", + "GenresValue": "Genres: {0}" } \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.js b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.js index 99290a9359..a8e3077b31 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.js +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.js @@ -1 +1 @@ -define(["dialogHelper","require","layoutManager","globalize","userSettings","connectionManager","loading","focusManager","dom","apphost","emby-select","listViewStyle","paper-icon-button-light","css!./../formdialog","material-icons","css!./subtitleeditor","emby-button","flexStyles"],function(dialogHelper,require,layoutManager,globalize,userSettings,connectionManager,loading,focusManager,dom,appHost){"use strict";function downloadRemoteSubtitles(context,id){var url="Items/"+currentItem.Id+"/RemoteSearch/Subtitles/"+id,apiClient=connectionManager.getApiClient(currentItem.ServerId);apiClient.ajax({type:"POST",url:apiClient.getUrl(url)}).then(function(){hasChanges=!0,require(["toast"],function(toast){toast(globalize.translate("sharedcomponents#MessageDownloadQueued"))}),focusManager.autoFocus(context)})}function deleteLocalSubtitle(context,index){var msg=globalize.translate("sharedcomponents#MessageAreYouSureDeleteSubtitles");require(["confirm"],function(confirm){confirm({title:globalize.translate("sharedcomponents#ConfirmDeletion"),text:msg,confirmText:globalize.translate("sharedcomponents#Delete"),primary:"cancel"}).then(function(){loading.show();var itemId=currentItem.Id,url="Videos/"+itemId+"/Subtitles/"+index,apiClient=connectionManager.getApiClient(currentItem.ServerId);apiClient.ajax({type:"DELETE",url:apiClient.getUrl(url)}).then(function(){hasChanges=!0,reload(context,apiClient,itemId)})})})}function fillSubtitleList(context,item){var streams=item.MediaStreams||[],subs=streams.filter(function(s){return"Subtitle"===s.Type}),html="";subs.length&&(html+="

"+globalize.translate("sharedcomponents#MySubtitles")+"

",html+=layoutManager.tv?'
':'
',html+=subs.map(function(s){var itemHtml="",tagName=layoutManager.tv?"button":"div",className=layoutManager.tv&&s.Path?"listItem btnDelete":"listItem";return layoutManager.tv&&(className+=" listItem-focusscale listItem-button"),className+=" listItem-noborder",itemHtml+="<"+tagName+' class="'+className+'" data-index="'+s.Index+'">',itemHtml+='closed_caption',itemHtml+='
',itemHtml+="
",itemHtml+=s.DisplayTitle||"",itemHtml+="
",s.Path&&(itemHtml+='
'+s.Path+"
"),itemHtml+="",itemHtml+="
",layoutManager.tv||s.Path&&(itemHtml+=''),itemHtml+=""}).join(""),html+="
");var elem=context.querySelector(".subtitleList");subs.length?elem.classList.remove("hide"):elem.classList.add("hide"),elem.innerHTML=html}function fillLanguages(context,apiClient,languages){var selectLanguage=context.querySelector("#selectLanguage");selectLanguage.innerHTML=languages.map(function(l){return'"});var lastLanguage=userSettings.get("subtitleeditor-language");lastLanguage?selectLanguage.value=lastLanguage:apiClient.getCurrentUser().then(function(user){var lang=user.Configuration.SubtitleLanguagePreference;lang&&(selectLanguage.value=lang)})}function renderSearchResults(context,results){var lastProvider="",html="";if(!results.length)return context.querySelector(".noSearchResults").classList.remove("hide"),context.querySelector(".subtitleResults").innerHTML="",void loading.hide();context.querySelector(".noSearchResults").classList.add("hide");for(var i=0,length=results.length;i0&&(html+="
"),html+="

"+provider+"

",html+=layoutManager.tv?'
':'
',lastProvider=provider);var tagName=layoutManager.tv?"button":"div",className=layoutManager.tv?"listItem btnOptions":"listItem";layoutManager.tv&&(className+=" listItem-focusscale listItem-button"),html+="<"+tagName+' class="'+className+'" data-subid="'+result.Id+'">',html+='closed_caption';var bodyClass=result.Comment||result.IsHashMatch?"three-line":"two-line";html+='
',html+="
"+result.Name+"
",html+='
',result.Format&&(html+=''+globalize.translate("sharedcomponents#FormatValue",result.Format)+""),html+=""+globalize.translate("sharedcomponents#DownloadsValue",result.DownloadCount||0)+"",html+="
",result.Comment&&(html+='
'+result.Comment+"
"),result.IsHashMatch&&(html+='
'+globalize.translate("sharedcomponents#PerfectMatch")+"
"),html+="
",layoutManager.tv||(html+=''),html+=""}results.length&&(html+="
");var elem=context.querySelector(".subtitleResults");elem.innerHTML=html,loading.hide()}function searchForSubtitles(context,language){userSettings.set("subtitleeditor-language",language),loading.show();var apiClient=connectionManager.getApiClient(currentItem.ServerId),url=apiClient.getUrl("Items/"+currentItem.Id+"/RemoteSearch/Subtitles/"+language);apiClient.getJSON(url).then(function(results){renderSearchResults(context,results)})}function reload(context,apiClient,itemId){function onGetItem(item){currentItem=item,fillSubtitleList(context,item);var file=item.Path||"",index=Math.max(file.lastIndexOf("/"),file.lastIndexOf("\\"));index>-1&&(file=file.substring(index+1)),file?(context.querySelector(".pathValue").innerHTML=file,context.querySelector(".originalFile").classList.remove("hide")):(context.querySelector(".pathValue").innerHTML="",context.querySelector(".originalFile").classList.add("hide")),loading.hide()}context.querySelector(".noSearchResults").classList.add("hide"),"string"==typeof itemId?apiClient.getItem(apiClient.getCurrentUserId(),itemId).then(onGetItem):onGetItem(itemId)}function onSearchSubmit(e){var form=this,lang=form.querySelector("#selectLanguage",form).value;return searchForSubtitles(dom.parentWithClass(form,"formDialogContent"),lang),e.preventDefault(),!1}function onSubtitleListClick(e){var btnDelete=dom.parentWithClass(e.target,"btnDelete");if(btnDelete){var index=btnDelete.getAttribute("data-index"),context=dom.parentWithClass(btnDelete,"subtitleEditorDialog");deleteLocalSubtitle(context,index)}}function onSubtitleResultsClick(e){var subtitleId,context,btnOptions=dom.parentWithClass(e.target,"btnOptions");btnOptions&&(subtitleId=btnOptions.getAttribute("data-subid"),context=dom.parentWithClass(btnOptions,"subtitleEditorDialog"),showDownloadOptions(btnOptions,context,subtitleId));var btnDownload=dom.parentWithClass(e.target,"btnDownload");btnDownload&&(subtitleId=btnDownload.getAttribute("data-subid"),context=dom.parentWithClass(btnDownload,"subtitleEditorDialog"),downloadRemoteSubtitles(context,subtitleId))}function showDownloadOptions(button,context,subtitleId){var items=[];items.push({name:Globalize.translate("sharedcomponents#Download"),id:"download"}),require(["actionsheet"],function(actionsheet){actionsheet.show({items:items,positionTo:button}).then(function(id){switch(id){case"download":downloadRemoteSubtitles(context,subtitleId)}})})}function centerFocus(elem,horiz,on){require(["scrollHelper"],function(scrollHelper){var fn=on?"on":"off";scrollHelper.centerFocus[fn](elem,horiz)})}function showEditorInternal(itemId,serverId,template){hasChanges=!1;var apiClient=connectionManager.getApiClient(serverId);return apiClient.getItem(apiClient.getCurrentUserId(),itemId).then(function(item){var dialogOptions={removeOnClose:!0,scrollY:!1};layoutManager.tv?dialogOptions.size="fullscreen":dialogOptions.size="small";var dlg=dialogHelper.createDialog(dialogOptions);dlg.classList.add("formDialog"),dlg.classList.add("subtitleEditorDialog"),dlg.innerHTML=globalize.translateDocument(template,"sharedcomponents"),dlg.querySelector(".originalSubtitleFileLabel").innerHTML=globalize.translate("sharedcomponents#File"),dlg.querySelector(".subtitleSearchForm").addEventListener("submit",onSearchSubmit);var btnSubmit=dlg.querySelector(".btnSubmit");layoutManager.tv?(centerFocus(dlg.querySelector(".formDialogContent"),!1,!0),dlg.querySelector(".btnSearchSubtitles").classList.add("hide")):btnSubmit.classList.add("hide");var editorContent=dlg.querySelector(".formDialogContent");return dlg.querySelector(".subtitleList").addEventListener("click",onSubtitleListClick),dlg.querySelector(".subtitleResults").addEventListener("click",onSubtitleResultsClick),apiClient.getCultures().then(function(languages){fillLanguages(editorContent,apiClient,languages)}),dlg.querySelector(".btnCancel").addEventListener("click",function(){dialogHelper.close(dlg)}),new Promise(function(resolve,reject){dlg.addEventListener("close",function(){layoutManager.tv&¢erFocus(dlg.querySelector(".formDialogContent"),!1,!1),hasChanges?resolve():reject()}),dialogHelper.open(dlg),reload(editorContent,apiClient,item)})})}function showEditor(itemId,serverId){return loading.show(),new Promise(function(resolve,reject){require(["text!./subtitleeditor.template.html"],function(template){showEditorInternal(itemId,serverId,template).then(resolve,reject)})})}var currentItem,hasChanges;return{show:showEditor}}); \ No newline at end of file +define(["dialogHelper","require","layoutManager","globalize","userSettings","connectionManager","loading","focusManager","dom","apphost","emby-select","listViewStyle","paper-icon-button-light","css!./../formdialog","material-icons","css!./subtitleeditor","emby-button","flexStyles"],function(dialogHelper,require,layoutManager,globalize,userSettings,connectionManager,loading,focusManager,dom,appHost){"use strict";function downloadRemoteSubtitles(context,id){var url="Items/"+currentItem.Id+"/RemoteSearch/Subtitles/"+id,apiClient=connectionManager.getApiClient(currentItem.ServerId);apiClient.ajax({type:"POST",url:apiClient.getUrl(url)}).then(function(){hasChanges=!0,require(["toast"],function(toast){toast(globalize.translate("sharedcomponents#MessageDownloadQueued"))}),focusManager.autoFocus(context)})}function deleteLocalSubtitle(context,index){var msg=globalize.translate("sharedcomponents#MessageAreYouSureDeleteSubtitles");require(["confirm"],function(confirm){confirm({title:globalize.translate("sharedcomponents#ConfirmDeletion"),text:msg,confirmText:globalize.translate("sharedcomponents#Delete"),primary:"cancel"}).then(function(){loading.show();var itemId=currentItem.Id,url="Videos/"+itemId+"/Subtitles/"+index,apiClient=connectionManager.getApiClient(currentItem.ServerId);apiClient.ajax({type:"DELETE",url:apiClient.getUrl(url)}).then(function(){hasChanges=!0,reload(context,apiClient,itemId)})})})}function fillSubtitleList(context,item){var streams=item.MediaStreams||[],subs=streams.filter(function(s){return"Subtitle"===s.Type}),html="";subs.length&&(html+="

"+globalize.translate("sharedcomponents#MySubtitles")+"

",html+=layoutManager.tv?'
':'
',html+=subs.map(function(s){var itemHtml="",tagName=layoutManager.tv?"button":"div",className=layoutManager.tv&&s.Path?"listItem btnDelete":"listItem";return layoutManager.tv&&(className+=" listItem-focusscale listItem-button"),className+=" listItem-noborder",itemHtml+="<"+tagName+' class="'+className+'" data-index="'+s.Index+'">',itemHtml+='closed_caption',itemHtml+='
',itemHtml+="
",itemHtml+=s.DisplayTitle||"",itemHtml+="
",s.Path&&(itemHtml+='
'+s.Path+"
"),itemHtml+="",itemHtml+="
",layoutManager.tv||s.Path&&(itemHtml+=''),itemHtml+=""}).join(""),html+="
");var elem=context.querySelector(".subtitleList");subs.length?elem.classList.remove("hide"):elem.classList.add("hide"),elem.innerHTML=html}function fillLanguages(context,apiClient,languages){var selectLanguage=context.querySelector("#selectLanguage");selectLanguage.innerHTML=languages.map(function(l){return'"});var lastLanguage=userSettings.get("subtitleeditor-language");lastLanguage?selectLanguage.value=lastLanguage:apiClient.getCurrentUser().then(function(user){var lang=user.Configuration.SubtitleLanguagePreference;lang&&(selectLanguage.value=lang)})}function renderSearchResults(context,results){var lastProvider="",html="";if(!results.length)return context.querySelector(".noSearchResults").classList.remove("hide"),context.querySelector(".subtitleResults").innerHTML="",void loading.hide();context.querySelector(".noSearchResults").classList.add("hide");for(var i=0,length=results.length;i0&&(html+="
"),html+="

"+provider+"

",html+=layoutManager.tv?'
':'
',lastProvider=provider);var tagName=layoutManager.tv?"button":"div",className=layoutManager.tv?"listItem btnOptions":"listItem";layoutManager.tv&&(className+=" listItem-focusscale listItem-button"),html+="<"+tagName+' class="'+className+'" data-subid="'+result.Id+'">',html+='closed_caption';var bodyClass=result.Comment||result.IsHashMatch?"three-line":"two-line";html+='
',html+="
"+result.Name+"
",html+='
',result.Format&&(html+=''+globalize.translate("sharedcomponents#FormatValue",result.Format)+""),html+=""+globalize.translate("sharedcomponents#DownloadsValue",result.DownloadCount||0)+"",html+="
",result.Comment&&(html+='
'+result.Comment+"
"),result.IsHashMatch&&(html+='
'+globalize.translate("sharedcomponents#PerfectMatch")+"
"),html+="
",layoutManager.tv||(html+=''),html+=""}results.length&&(html+="
");var elem=context.querySelector(".subtitleResults");elem.innerHTML=html,loading.hide()}function searchForSubtitles(context,language){userSettings.set("subtitleeditor-language",language),loading.show();var apiClient=connectionManager.getApiClient(currentItem.ServerId),url=apiClient.getUrl("Items/"+currentItem.Id+"/RemoteSearch/Subtitles/"+language);apiClient.getJSON(url).then(function(results){renderSearchResults(context,results)})}function reload(context,apiClient,itemId){function onGetItem(item){currentItem=item,fillSubtitleList(context,item);var file=item.Path||"",index=Math.max(file.lastIndexOf("/"),file.lastIndexOf("\\"));index>-1&&(file=file.substring(index+1)),file?(context.querySelector(".pathValue").innerHTML=file,context.querySelector(".originalFile").classList.remove("hide")):(context.querySelector(".pathValue").innerHTML="",context.querySelector(".originalFile").classList.add("hide")),loading.hide()}context.querySelector(".noSearchResults").classList.add("hide"),"string"==typeof itemId?apiClient.getItem(apiClient.getCurrentUserId(),itemId).then(onGetItem):onGetItem(itemId)}function onSearchSubmit(e){var form=this,lang=form.querySelector("#selectLanguage",form).value;return searchForSubtitles(dom.parentWithClass(form,"formDialogContent"),lang),e.preventDefault(),!1}function onSubtitleListClick(e){var btnDelete=dom.parentWithClass(e.target,"btnDelete");if(btnDelete){var index=btnDelete.getAttribute("data-index"),context=dom.parentWithClass(btnDelete,"subtitleEditorDialog");deleteLocalSubtitle(context,index)}}function onSubtitleResultsClick(e){var subtitleId,context,btnOptions=dom.parentWithClass(e.target,"btnOptions");btnOptions&&(subtitleId=btnOptions.getAttribute("data-subid"),context=dom.parentWithClass(btnOptions,"subtitleEditorDialog"),showDownloadOptions(btnOptions,context,subtitleId));var btnDownload=dom.parentWithClass(e.target,"btnDownload");btnDownload&&(subtitleId=btnDownload.getAttribute("data-subid"),context=dom.parentWithClass(btnDownload,"subtitleEditorDialog"),downloadRemoteSubtitles(context,subtitleId))}function showDownloadOptions(button,context,subtitleId){var items=[];items.push({name:Globalize.translate("sharedcomponents#Download"),id:"download"}),require(["actionsheet"],function(actionsheet){actionsheet.show({items:items,positionTo:button}).then(function(id){switch(id){case"download":downloadRemoteSubtitles(context,subtitleId)}})})}function centerFocus(elem,horiz,on){require(["scrollHelper"],function(scrollHelper){var fn=on?"on":"off";scrollHelper.centerFocus[fn](elem,horiz)})}function showEditorInternal(itemId,serverId,template){hasChanges=!1;var apiClient=connectionManager.getApiClient(serverId);return apiClient.getItem(apiClient.getCurrentUserId(),itemId).then(function(item){var dialogOptions={removeOnClose:!0,scrollY:!1};layoutManager.tv?dialogOptions.size="fullscreen":dialogOptions.size="small";var dlg=dialogHelper.createDialog(dialogOptions);dlg.classList.add("formDialog"),dlg.classList.add("subtitleEditorDialog"),dlg.innerHTML=globalize.translateDocument(template,"sharedcomponents"),dlg.querySelector(".originalSubtitleFileLabel").innerHTML=globalize.translate("sharedcomponents#File"),dlg.querySelector(".subtitleSearchForm").addEventListener("submit",onSearchSubmit);var btnSubmit=dlg.querySelector(".btnSubmit");layoutManager.tv?(centerFocus(dlg.querySelector(".formDialogContent"),!1,!0),dlg.querySelector(".btnSearchSubtitles").classList.add("hide")):btnSubmit.classList.add("hide");var editorContent=dlg.querySelector(".formDialogContent");return dlg.querySelector(".subtitleList").addEventListener("click",onSubtitleListClick),dlg.querySelector(".subtitleResults").addEventListener("click",onSubtitleResultsClick),apiClient.getCultures().then(function(languages){fillLanguages(editorContent,apiClient,languages)}),dlg.querySelector(".btnCancel").addEventListener("click",function(){dialogHelper.close(dlg)}),new Promise(function(resolve,reject){dlg.addEventListener("close",function(){layoutManager.tv&¢erFocus(dlg.querySelector(".formDialogContent"),!1,!1),hasChanges?resolve():reject()}),dialogHelper.open(dlg),reload(editorContent,apiClient,item)})})}function showEditor(itemId,serverId){return loading.show(),new Promise(function(resolve,reject){require(["text!./subtitleeditor.template.html"],function(template){showEditorInternal(itemId,serverId,template).then(resolve,reject)})})}var currentItem,hasChanges;return{show:showEditor}}); \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.template.html b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.template.html index 061bf11f5c..7bdab97b3c 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.template.html +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.template.html @@ -9,7 +9,7 @@

${Subtitles}

-

${SearchForSubtitles}

+

${SearchForSubtitles}

diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/subtitlesettings/subtitlesettings.js b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/subtitlesettings/subtitlesettings.js index cfe3123d10..fa3571e057 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/subtitlesettings/subtitlesettings.js +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/subtitlesettings/subtitlesettings.js @@ -1 +1 @@ -define(["require","globalize","appSettings","apphost","focusManager","loading","connectionManager","subtitleAppearanceHelper","dom","events","listViewStyle","emby-select","emby-input","emby-checkbox","flexStyles"],function(require,globalize,appSettings,appHost,focusManager,loading,connectionManager,subtitleAppearanceHelper,dom,events){"use strict";function populateLanguages(select,languages){var html="";html+="";for(var i=0,length=languages.length;i"+culture.DisplayName+""}select.innerHTML=html}function getSubtitleAppearanceObject(context){var appearanceSettings={};return appearanceSettings.textSize=context.querySelector("#selectTextSize").value,appearanceSettings.dropShadow=context.querySelector("#selectDropShadow").value,appearanceSettings.font=context.querySelector("#selectFont").value,appearanceSettings.textBackground=context.querySelector("#inputTextBackground").value,appearanceSettings.textColor=context.querySelector("#inputTextColor").value,appearanceSettings}function loadForm(context,user,userSettings,appearanceSettings,apiClient){apiClient.getCultures().then(function(allCultures){var selectSubtitleLanguage=context.querySelector("#selectSubtitleLanguage");populateLanguages(selectSubtitleLanguage,allCultures),selectSubtitleLanguage.value=user.Configuration.SubtitleLanguagePreference||"",context.querySelector("#selectSubtitlePlaybackMode").value=user.Configuration.SubtitleMode||"",context.querySelector("#selectSubtitlePlaybackMode").dispatchEvent(new CustomEvent("change",{})),context.querySelector("#selectTextSize").value=appearanceSettings.textSize||"",context.querySelector("#selectDropShadow").value=appearanceSettings.dropShadow||"",context.querySelector("#inputTextBackground").value=appearanceSettings.textBackground||"transparent",context.querySelector("#inputTextColor").value=appearanceSettings.textColor||"#ffffff",context.querySelector("#selectFont").value=appearanceSettings.font||"",context.querySelector("#selectSubtitleBurnIn").value=appSettings.get("subtitleburnin")||"",onAppearanceFieldChange({target:context.querySelector("#selectTextSize")}),loading.hide()})}function refreshGlobalUserSettings(userSettingsInstance){require(["userSettings"],function(userSettings){userSettings.importFrom(userSettingsInstance)})}function saveUser(context,user,userSettingsInstance,appearanceKey,apiClient){var appearanceSettings=userSettingsInstance.getSubtitleAppearanceSettings(appearanceKey);return appearanceSettings=Object.assign(appearanceSettings,getSubtitleAppearanceObject(context)),userSettingsInstance.setSubtitleAppearanceSettings(appearanceSettings,appearanceKey),user.Id===apiClient.getCurrentUserId()&&refreshGlobalUserSettings(userSettingsInstance),user.Configuration.SubtitleLanguagePreference=context.querySelector("#selectSubtitleLanguage").value,user.Configuration.SubtitleMode=context.querySelector("#selectSubtitlePlaybackMode").value,apiClient.updateUserConfiguration(user.Id,user.Configuration)}function save(instance,context,userId,userSettings,apiClient,enableSaveConfirmation){loading.show(),appSettings.set("subtitleburnin",context.querySelector("#selectSubtitleBurnIn").value),apiClient.getUser(userId).then(function(user){saveUser(context,user,userSettings,instance.appearanceKey,apiClient).then(function(){loading.hide(),enableSaveConfirmation&&require(["toast"],function(toast){toast(globalize.translate("sharedcomponents#SettingsSaved"))}),events.trigger(instance,"saved")},function(){loading.hide()})})}function onSubmit(e){var self=this,apiClient=connectionManager.getApiClient(self.options.serverId),userId=self.options.userId,userSettings=self.options.userSettings;return userSettings.setUserInfo(userId,apiClient).then(function(){var enableSaveConfirmation=self.options.enableSaveConfirmation;save(self,self.options.element,userId,userSettings,apiClient,enableSaveConfirmation)}),e&&e.preventDefault(),!1}function onSubtitleModeChange(e){for(var view=dom.parentWithClass(e.target,"subtitlesettings"),subtitlesHelp=view.querySelectorAll(".subtitlesHelp"),i=0,length=subtitlesHelp.length;i"+culture.DisplayName+""}select.innerHTML=html}function getSubtitleAppearanceObject(context){var appearanceSettings={};return appearanceSettings.textSize=context.querySelector("#selectTextSize").value,appearanceSettings.dropShadow=context.querySelector("#selectDropShadow").value,appearanceSettings.font=context.querySelector("#selectFont").value,appearanceSettings.textBackground=context.querySelector("#inputTextBackground").value,appearanceSettings.textColor=context.querySelector("#inputTextColor").value,appearanceSettings}function loadForm(context,user,userSettings,appearanceSettings,apiClient){apiClient.getCultures().then(function(allCultures){var selectSubtitleLanguage=context.querySelector("#selectSubtitleLanguage");populateLanguages(selectSubtitleLanguage,allCultures),selectSubtitleLanguage.value=user.Configuration.SubtitleLanguagePreference||"",context.querySelector("#selectSubtitlePlaybackMode").value=user.Configuration.SubtitleMode||"",context.querySelector("#selectSubtitlePlaybackMode").dispatchEvent(new CustomEvent("change",{})),context.querySelector("#selectTextSize").value=appearanceSettings.textSize||"",context.querySelector("#selectDropShadow").value=appearanceSettings.dropShadow||"",context.querySelector("#inputTextBackground").value=appearanceSettings.textBackground||"transparent",context.querySelector("#inputTextColor").value=appearanceSettings.textColor||"#ffffff",context.querySelector("#selectFont").value=appearanceSettings.font||"",context.querySelector("#selectSubtitleBurnIn").value=appSettings.get("subtitleburnin")||"",onAppearanceFieldChange({target:context.querySelector("#selectTextSize")}),loading.hide()})}function saveUser(context,user,userSettingsInstance,appearanceKey,apiClient){var appearanceSettings=userSettingsInstance.getSubtitleAppearanceSettings(appearanceKey);return appearanceSettings=Object.assign(appearanceSettings,getSubtitleAppearanceObject(context)),userSettingsInstance.setSubtitleAppearanceSettings(appearanceSettings,appearanceKey),user.Configuration.SubtitleLanguagePreference=context.querySelector("#selectSubtitleLanguage").value,user.Configuration.SubtitleMode=context.querySelector("#selectSubtitlePlaybackMode").value,apiClient.updateUserConfiguration(user.Id,user.Configuration)}function save(instance,context,userId,userSettings,apiClient,enableSaveConfirmation){loading.show(),appSettings.set("subtitleburnin",context.querySelector("#selectSubtitleBurnIn").value),apiClient.getUser(userId).then(function(user){saveUser(context,user,userSettings,instance.appearanceKey,apiClient).then(function(){loading.hide(),enableSaveConfirmation&&require(["toast"],function(toast){toast(globalize.translate("sharedcomponents#SettingsSaved"))}),events.trigger(instance,"saved")},function(){loading.hide()})})}function onSubmit(e){var self=this,apiClient=connectionManager.getApiClient(self.options.serverId),userId=self.options.userId,userSettings=self.options.userSettings;return userSettings.setUserInfo(userId,apiClient).then(function(){var enableSaveConfirmation=self.options.enableSaveConfirmation;save(self,self.options.element,userId,userSettings,apiClient,enableSaveConfirmation)}),e&&e.preventDefault(),!1}function onSubtitleModeChange(e){for(var view=dom.parentWithClass(e.target,"subtitlesettings"),subtitlesHelp=view.querySelectorAll(".subtitlesHelp"),i=0,length=subtitlesHelp.length;i.checkboxOutlineTick,.itemProgressBarForeground{background-color:#52B54B}.itemProgressBarForeground-recording{background-color:#CB272A}.countIndicator,.fullSyncIndicator,.playedIndicator{background:#52B54B}.fullSyncIndicator{color:#fff}.mainDrawer{background:#fff}.navMenuDivider{background:#eaeaea;background:rgba(0,0,0,.12)}.navMenuOption:hover{background:#f2f2f2}.navMenuOption-selected{background:#52B54B!important;color:#fff}.emby-tab-button{color:#999;color:rgba(0,0,0,.5)}.emby-tab-button-active,.emby-tab-button-active.emby-button-tv,.emby-tab-button.emby-button-tv:focus{color:#fff}.guide-channelHeaderCell,.guide-channelTimeslotHeader{background:#d2d2d2;background:rgba(0,0,0,.2)}.programCellInner{background-color:#e2e2e2;background-color:rgba(0,0,0,.1)}.programCellInner-sports{background:#3949AB}.programCellInner-movie{background:#5E35B1}.programCellInner-kids{background:#039BE5}.programCellInner-news{background:#43A047}.guide-programTextIcon{color:#1e1e1e;background:#aaa}.guide-headerTimeslots{color:inherit}.guide-currentTimeIndicatorBar{background-color:#52B54B}.guide-currentTimeIndicatorArrow,.guide-currentTimeIndicatorArrowContainer{color:#52B54B}.guide-date-tab-button{color:#555;color:rgba(0,0,0,.54)}.guide-date-tab-button.emby-tab-button-active,.guide-date-tab-button:focus{color:#52B54B}.guide-date-tab-button.emby-button-tv:focus{background-color:#52B54B;color:#fff}.itemBackdropFader{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(#E4E2DC));background:-webkit-linear-gradient(rgba(0,0,0,0),#E4E2DC);background:-o-linear-gradient(rgba(0,0,0,0),#E4E2DC);background:linear-gradient(rgba(0,0,0,0),#E4E2DC)}@media all and (min-width:62.5em){.detailButton-mobile{background:rgba(0,0,0,.14)!important;backdrop-filter:blur(10px)}}.infoBanner{color:#000;background:#fff3a5;padding:1em;-webkit-border-radius:.25em;border-radius:.25em}.ratingbutton-icon-withrating{color:#c33}.downloadbutton-icon-complete,.downloadbutton-icon-on{color:#4285F4}.playstatebutton-icon-played{color:#c33}.repeatButton-active{color:#4285F4} \ No newline at end of file +.skinHeader,html{color:#222;color:rgba(0,0,0,.87)}.emby-collapsible-button{border-color:#ccc;border-color:rgba(0,0,0,.158)}.collapseContent{background-color:#eaeaea}.formDialogHeader:not(.formDialogHeader-clear),.skinHeader-withBackground{color:rgba(0,0,0,.7);background:#303030;background:-webkit-gradient(linear,left top,right top,from(#BCBCBC),color-stop(#A7B4B7),color-stop(#BEB5A5),color-stop(#ADBEC2),to(#B9C7CB));background:-webkit-linear-gradient(left,#BCBCBC,#A7B4B7,#BEB5A5,#ADBEC2,#B9C7CB);background:-o-linear-gradient(left,#BCBCBC,#A7B4B7,#BEB5A5,#ADBEC2,#B9C7CB);background:linear-gradient(to right,#BCBCBC,#A7B4B7,#BEB5A5,#ADBEC2,#B9C7CB)}@supports (backdrop-filter:blur(1.5em)) or (-webkit-backdrop-filter:blur(1.5em)){.skinHeader-blurred{background:-webkit-gradient(linear,left top,right top,from(rgba(188,188,188,.7)),color-stop(rgba(167,180,183,.7)),color-stop(rgba(190,181,165,.7)),color-stop(rgba(173,190,194,.7)),to(rgba(185,199,203,.7)));background:-webkit-linear-gradient(left,rgba(188,188,188,.7),rgba(167,180,183,.7),rgba(190,181,165,.7),rgba(173,190,194,.7),rgba(185,199,203,.7));background:-o-linear-gradient(left,rgba(188,188,188,.7),rgba(167,180,183,.7),rgba(190,181,165,.7),rgba(173,190,194,.7),rgba(185,199,203,.7));background:linear-gradient(to right,rgba(188,188,188,.7),rgba(167,180,183,.7),rgba(190,181,165,.7),rgba(173,190,194,.7),rgba(185,199,203,.7));-webkit-backdrop-filter:blur(1.5em);backdrop-filter:blur(1.5em)}}.skinHeader.semiTransparent{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.pageTitleWithDefaultLogo{background-image:url(logo.png)}.backgroundContainer,.dialog{background:url(https://github.com/MediaBrowser/Emby.Resources/raw/master/images/wallpaper/atv1-1080.png) center center no-repeat #D5E9F2;-webkit-background-size:100% 100%;background-size:100% 100%}.backgroundContainer.withBackdrop{background:-webkit-gradient(linear,left top,left bottom,from(rgba(192,212,222,.94)),color-stop(rgba(235,250,254,.94)),color-stop(rgba(227,220,212,.94)),color-stop(rgba(206,214,216,.94)),to(rgba(192,211,218,.94)));background:-webkit-linear-gradient(top,rgba(192,212,222,.94),rgba(235,250,254,.94),rgba(227,220,212,.94),rgba(206,214,216,.94),rgba(192,211,218,.94));background:-o-linear-gradient(top,rgba(192,212,222,.94),rgba(235,250,254,.94),rgba(227,220,212,.94),rgba(206,214,216,.94),rgba(192,211,218,.94));background:linear-gradient(to bottom,rgba(192,212,222,.94),rgba(235,250,254,.94),rgba(227,220,212,.94),rgba(206,214,216,.94),rgba(192,211,218,.94))}.actionSheet{background:#f0f0f0}.paper-icon-button-light:focus{color:#52B54B}.fab,.raised{background:#fff;background:rgba(0,0,0,.14);color:inherit}.button-submit{background:#52B54B;color:#fff}.button-cancel{background:#fff;color:inherit}.button-accent{background:#52B54B;color:#fff}.checkboxLabel{color:inherit}.checkboxListLabel,.inputLabel,.inputLabelUnfocused,.paperListLabel,.selectLabelUnfocused,.textareaLabelUnfocused{color:#555;color:rgba(0,0,0,.7)}.button-link,.inputLabelFocused,.selectLabelFocused,.textareaLabelFocused{color:green}.checkboxOutline{border-color:currentColor}.paperList,.visualCardBox{background-color:#fff;background-color:rgba(0,0,0,.1)}.formDialogFooter:not(.formDialogFooter-clear){border-top:1px solid #ddd;border-top:1px solid rgba(0,0,0,.08)}.cardText-secondary,.fieldDescription,.guide-programNameCaret,.listItem .secondary,.nowPlayingBarSecondaryText,.programSecondaryTitle,.secondaryText{color:#888;color:rgba(0,0,0,.5)}.actionsheetDivider{background:#ddd;background:rgba(0,0,0,.14)}.cardFooter-vibrant .cardText-secondary{color:inherit;opacity:.5}.formDialogHeader a,.toast{color:#fff}.actionSheetMenuItem:hover{background-color:#ddd}.toast{background:#303030;color:rgba(255,255,255,.87)}.appfooter,.formDialogFooter:not(.formDialogFooter-clear){color:rgba(0,0,0,.7);background:#303030;background:-webkit-gradient(linear,left top,right top,from(#BCBCBC),color-stop(#A7B4B7),color-stop(#BEB5A5),color-stop(#ADBEC2),to(#B9C7CB));background:-webkit-linear-gradient(left,#BCBCBC,#A7B4B7,#BEB5A5,#ADBEC2,#B9C7CB);background:-o-linear-gradient(left,#BCBCBC,#A7B4B7,#BEB5A5,#ADBEC2,#B9C7CB);background:linear-gradient(to right,#BCBCBC,#A7B4B7,#BEB5A5,#ADBEC2,#B9C7CB)}@supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)){.appfooter-blurred{background:rgba(24,24,24,.7);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.nowPlayingBarSecondaryText{color:#999}.itemSelectionPanel{border:1px solid #52B54B}.selectionCommandsPanel{background:#52B54B;color:#fff}.upNextDialog-countdownText{color:#52B54B}.alphaPickerButton{color:#555;color:rgba(0,0,0,.7);background-color:transparent}.alphaPickerButton-selected,.alphaPickerButton-tv:focus{background-color:#52B54B;color:#fff!important}.detailTableBodyRow-shaded:nth-child(even),.listItem-shaded:nth-child(even){background:#f8f8f8;background:rgba(0,0,0,.1)}.listItem:focus{background:rgba(0,0,0,.2)}.progressring-spiner{border-color:#52B54B}.mediaInfoText{color:#333;background:#fff}.mediaInfoTimerIcon,.starIcon{color:#CB272A}.emby-input,.emby-textarea{color:inherit;background:rgba(255,255,255,.9);border:.07em solid rgba(0,0,0,.158);-webkit-border-radius:.15em;border-radius:.15em}.emby-input:focus,.emby-textarea:focus{border-color:#52B54B}.emby-select-withcolor{color:inherit;background:rgba(255,255,255,.9);border:.07em solid rgba(0,0,0,.158);-webkit-border-radius:.15em;border-radius:.15em}.card:focus .card-focuscontent,.emby-checkbox:checked+span+span+.checkboxOutline,.emby-select-withcolor:focus{border-color:#52B54B}.emby-checkbox:focus+span+.emby-checkbox-focushelper{background-color:rgba(82,181,75,.26)}.emby-checkbox:checked+span+span+.checkboxOutline>.checkboxOutlineTick,.itemProgressBarForeground{background-color:#52B54B}.itemProgressBarForeground-recording{background-color:#CB272A}.countIndicator,.fullSyncIndicator,.playedIndicator{background:#52B54B}.fullSyncIndicator{color:#fff}.mainDrawer{background:#fff}.navMenuDivider{background:#eaeaea;background:rgba(0,0,0,.12)}.navMenuOption:hover{background:#f2f2f2}.navMenuOption-selected{background:#52B54B!important;color:#fff}.emby-tab-button{color:#999;color:rgba(0,0,0,.5)}.emby-tab-button-active,.emby-tab-button-active.emby-button-tv,.emby-tab-button.emby-button-tv:focus{color:#fff}.guide-channelHeaderCell,.guide-channelTimeslotHeader{background:#d2d2d2;background:rgba(0,0,0,.2)}.programCellInner{background-color:#e2e2e2;background-color:rgba(0,0,0,.1)}.programCellInner-sports{background:#3949AB}.programCellInner-movie{background:#5E35B1}.programCellInner-kids{background:#039BE5}.programCellInner-news{background:#43A047}.guide-programTextIcon{color:#1e1e1e;background:#aaa}.guide-headerTimeslots{color:inherit}.guide-currentTimeIndicatorBar{background-color:#52B54B}.guide-currentTimeIndicatorArrow,.guide-currentTimeIndicatorArrowContainer{color:#52B54B}.guide-date-tab-button{color:#555;color:rgba(0,0,0,.54)}.guide-date-tab-button.emby-tab-button-active,.guide-date-tab-button:focus{color:#52B54B}.guide-date-tab-button.emby-button-tv:focus{background-color:#52B54B;color:#fff}.itemBackdropFader{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(#E4E2DC));background:-webkit-linear-gradient(rgba(0,0,0,0),#E4E2DC);background:-o-linear-gradient(rgba(0,0,0,0),#E4E2DC);background:linear-gradient(rgba(0,0,0,0),#E4E2DC)}@media all and (min-width:62.5em){.detailButton-mobile{background:rgba(0,0,0,.14)!important;backdrop-filter:blur(10px)}}.infoBanner{color:#000;background:#fff3a5;padding:1em;-webkit-border-radius:.25em;border-radius:.25em}.ratingbutton-icon-withrating{color:#c33}.downloadbutton-icon-complete,.downloadbutton-icon-on{color:#4285F4}.playstatebutton-icon-played{color:#c33}.repeatButton-active{color:#4285F4} \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/dark-green/theme.css b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/dark-green/theme.css index fb0697016e..3b4286a024 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/dark-green/theme.css +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/dark-green/theme.css @@ -1 +1 @@ -html{color:#eee;color:rgba(255,255,255,.87)}.emby-collapsible-button{border-color:#383838;border-color:rgba(255,255,255,.135)}.skinHeader{color:#ccc;color:rgba(255,255,255,.78)}.skinHeader-withBackground{background-color:#52B54B;-webkit-box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37);box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37)}.osdHeader{-webkit-box-shadow:none!important;box-shadow:none!important}.skinHeader.semiTransparent{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background-color:rgba(0,0,0,.3);background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.6)),to(rgba(0,0,0,0)));background:-webkit-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:-o-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0))}.pageTitleWithDefaultLogo{background-image:url(logo.png)}.backgroundContainer,.dialog{background-color:#282828}.backgroundContainer.withBackdrop{background-color:rgba(12,12,12,.9)}.detailBackgroundContainer.withBackdrop{background-color:rgba(6,6,6,.94);background:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.99)),color-stop(rgba(0,0,0,.94)),to(rgba(0,0,0,.5)));background:-webkit-linear-gradient(left,rgba(0,0,0,.99),rgba(0,0,0,.94),rgba(0,0,0,.5));background:-o-linear-gradient(left,rgba(0,0,0,.99),rgba(0,0,0,.94),rgba(0,0,0,.5));background:linear-gradient(to right,rgba(0,0,0,.99),rgba(0,0,0,.94),rgba(0,0,0,.5))}.paper-icon-button-light:focus{color:#52B54B}.skinHeader-withBackground .paper-icon-button-light:focus{color:#fff}.fab,.raised{background:#404040;color:#fff}.button-accent,.button-submit{background:#52B54B;color:#fff}.actionSheetMenuItem:hover,.collapseContent,.formDialogFooter:not(.formDialogFooter-clear),.formDialogHeader:not(.formDialogHeader-clear),.paperList,.visualCardBox{background-color:#222}.checkboxLabel{color:inherit}.checkboxListLabel,.inputLabel,.inputLabelUnfocused,.paperListLabel,.selectLabelUnfocused,.textareaLabelUnfocused{color:#bbb;color:rgba(255,255,255,.7)}.inputLabelFocused,.selectLabelFocused,.textareaLabelFocused{color:#52B54B}.checkboxOutline{border-color:currentColor}.cardText-secondary,.fieldDescription,.guide-programNameCaret,.listItem .secondary,.nowPlayingBarSecondaryText,.programSecondaryTitle,.secondaryText{color:#999;color:rgba(255,255,255,.5)}.cardFooter-vibrant .cardText-secondary{color:inherit;opacity:.5}.toast{background:#303030;color:#fff;color:rgba(255,255,255,.87)}.appfooter{background:#101010;color:#ccc;color:rgba(255,255,255,.78)}@supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)){.appfooter-blurred{background:rgba(24,24,24,.7);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.itemSelectionPanel{border:1px solid #52B54B}.selectionCommandsPanel{background:#52B54B;color:#fff}.upNextDialog-countdownText{color:#52B54B}.alphaPickerButton{color:#999;color:rgba(255,255,255,.5);background-color:transparent}.alphaPickerButton-selected,.alphaPickerButton-tv:focus{background-color:#52B54B;color:#fff!important}.detailTableBodyRow-shaded:nth-child(even),.listItem-shaded:nth-child(even){background:#1c1c1c;background:rgba(30,30,30,.9)}.listItem:focus{background:#333}.progressring-spiner{border-color:#52B54B}.button-flat-accent,.button-link{color:#52B54B}.mediaInfoText{color:#ddd;background:rgba(170,170,190,.2)}.mediaInfoTimerIcon,.starIcon{color:#CB272A}.emby-input,.emby-textarea{color:inherit;background:#202020;border:.07em solid #202020;-webkit-border-radius:.15em;border-radius:.15em}.emby-input:focus,.emby-textarea:focus{border-color:#52B54B}.emby-select-withcolor{color:inherit;background:#202020;border:.07em solid #202020;-webkit-border-radius:.15em;border-radius:.15em}.card:focus .card-focuscontent,.emby-checkbox:checked+span+span+.checkboxOutline,.emby-select-withcolor:focus{border-color:#52B54B}.emby-select-withcolor>option{color:inherit}.emby-checkbox:focus+span+.emby-checkbox-focushelper{background-color:rgba(82,181,75,.26)}.emby-checkbox:checked+span+span+.checkboxOutline>.checkboxOutlineTick,.itemProgressBarForeground{background-color:#52B54B}.itemProgressBarForeground-recording{background-color:#CB272A}.countIndicator,.fullSyncIndicator,.playedIndicator{background:#52B54B}.fullSyncIndicator{color:#fff}.mainDrawer{background-color:#1c1c1f;color:#ccc;color:rgba(255,255,255,.7)}.navMenuDivider{background:#202020;background:rgba(255,255,255,.12)}.navMenuOption:hover{background:#252528}.navMenuOption-selected{background:#52B54B!important;color:#fff}.emby-tab-button{color:#999;color:rgba(255,255,255,.5)}.emby-tab-button-active,.emby-tab-button-active.emby-button-tv,.emby-tab-button.emby-button-tv:focus{color:#fff}.guide-channelHeaderCell,.guide-channelTimeslotHeader{background:#2e2e2e}.programCellInner{background-color:#202020}.programCellInner-sports{background:#3949AB}.programCellInner-movie{background:#5E35B1}.programCellInner-kids{background:#039BE5}.programCellInner-news{background:#43A047}.guide-programTextIcon{color:#1e1e1e;background:#555}.guide-currentTimeIndicatorBar{background-color:#52B54B}.guide-currentTimeIndicatorArrow,.guide-currentTimeIndicatorArrowContainer{color:#52B54B}.guide-headerTimeslots{color:inherit}.guide-date-tab-button{color:#555;color:rgba(255,255,255,.3)}.guide-date-tab-button.emby-tab-button-active,.guide-date-tab-button:focus{color:#52B54B}.guide-date-tab-button.emby-button-tv:focus{background-color:#52B54B;color:#fff}.itemBackdropFader{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(#191919));background:-webkit-linear-gradient(rgba(0,0,0,0),#191919);background:-o-linear-gradient(rgba(0,0,0,0),#191919);background:linear-gradient(rgba(0,0,0,0),#191919)}@media all and (min-width:62.5em){.detailButton-mobile{background:rgba(255,255,255,.14)!important;backdrop-filter:blur(10px)}}.infoBanner{color:#ddd;background:#111;padding:1em;-webkit-border-radius:.25em;border-radius:.25em}.ratingbutton-icon-withrating{color:#c33}.downloadbutton-icon-complete,.downloadbutton-icon-on{color:#4285F4}.playstatebutton-icon-played{color:#c33}.repeatButton-active{color:#4285F4} \ No newline at end of file +html{color:#eee;color:rgba(255,255,255,.87)}.emby-collapsible-button{border-color:#383838;border-color:rgba(255,255,255,.135)}.skinHeader{color:#ccc;color:rgba(255,255,255,.78)}.skinHeader-withBackground{background-color:#52B54B;-webkit-box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37);box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37)}.osdHeader{-webkit-box-shadow:none!important;box-shadow:none!important}.skinHeader.semiTransparent{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background-color:rgba(0,0,0,.3);background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.6)),to(rgba(0,0,0,0)));background:-webkit-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:-o-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0))}.pageTitleWithDefaultLogo{background-image:url(logo.png)}.backgroundContainer,.dialog{background-color:#282828}.backgroundContainer.withBackdrop{background-color:rgba(12,12,12,.9)}.paper-icon-button-light:focus{color:#52B54B}.skinHeader-withBackground .paper-icon-button-light:focus{color:#fff}.fab,.raised{background:#404040;color:#fff}.button-accent,.button-submit{background:#52B54B;color:#fff}.checkboxLabel{color:inherit}.checkboxListLabel,.inputLabel,.inputLabelUnfocused,.paperListLabel,.selectLabelUnfocused,.textareaLabelUnfocused{color:#bbb;color:rgba(255,255,255,.7)}.inputLabelFocused,.selectLabelFocused,.textareaLabelFocused{color:#52B54B}.checkboxOutline{border-color:currentColor}.collapseContent,.formDialogFooter:not(.formDialogFooter-clear),.formDialogHeader:not(.formDialogHeader-clear),.paperList,.visualCardBox{background-color:#222}.cardText-secondary,.fieldDescription,.guide-programNameCaret,.listItem .secondary,.nowPlayingBarSecondaryText,.programSecondaryTitle,.secondaryText{color:#999;color:rgba(255,255,255,.5)}.actionsheetDivider{background:#444;background:rgba(255,255,255,.14)}.cardFooter-vibrant .cardText-secondary{color:inherit;opacity:.5}.actionSheetMenuItem:hover{background-color:#222}.toast{background:#303030;color:#fff;color:rgba(255,255,255,.87)}.appfooter{background:#101010;color:#ccc;color:rgba(255,255,255,.78)}@supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)){.appfooter-blurred{background:rgba(24,24,24,.7);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.itemSelectionPanel{border:1px solid #52B54B}.selectionCommandsPanel{background:#52B54B;color:#fff}.upNextDialog-countdownText{color:#52B54B}.alphaPickerButton{color:#999;color:rgba(255,255,255,.5);background-color:transparent}.alphaPickerButton-selected,.alphaPickerButton-tv:focus{background-color:#52B54B;color:#fff!important}.detailTableBodyRow-shaded:nth-child(even),.listItem-shaded:nth-child(even){background:#1c1c1c;background:rgba(30,30,30,.9)}.listItem:focus{background:#333}.progressring-spiner{border-color:#52B54B}.button-flat-accent,.button-link{color:#52B54B}.mediaInfoText{color:#ddd;background:rgba(170,170,190,.2)}.mediaInfoTimerIcon,.starIcon{color:#CB272A}.emby-input,.emby-textarea{color:inherit;background:#202020;border:.07em solid #202020;-webkit-border-radius:.15em;border-radius:.15em}.emby-input:focus,.emby-textarea:focus{border-color:#52B54B}.emby-select-withcolor{color:inherit;background:#202020;border:.07em solid #202020;-webkit-border-radius:.15em;border-radius:.15em}.card:focus .card-focuscontent,.emby-checkbox:checked+span+span+.checkboxOutline,.emby-select-withcolor:focus{border-color:#52B54B}.emby-select-withcolor>option{color:inherit}.emby-checkbox:focus+span+.emby-checkbox-focushelper{background-color:rgba(82,181,75,.26)}.emby-checkbox:checked+span+span+.checkboxOutline>.checkboxOutlineTick,.itemProgressBarForeground{background-color:#52B54B}.itemProgressBarForeground-recording{background-color:#CB272A}.countIndicator,.fullSyncIndicator,.playedIndicator{background:#52B54B}.fullSyncIndicator{color:#fff}.mainDrawer{background-color:#1c1c1f;color:#ccc;color:rgba(255,255,255,.7)}.navMenuDivider{background:#202020;background:rgba(255,255,255,.12)}.navMenuOption:hover{background:#252528}.navMenuOption-selected{background:#52B54B!important;color:#fff}.emby-tab-button{color:#999;color:rgba(255,255,255,.5)}.emby-tab-button-active,.emby-tab-button-active.emby-button-tv,.emby-tab-button.emby-button-tv:focus{color:#fff}.guide-channelHeaderCell,.guide-channelTimeslotHeader{background:#2e2e2e}.programCellInner{background-color:#202020}.programCellInner-sports{background:#3949AB}.programCellInner-movie{background:#5E35B1}.programCellInner-kids{background:#039BE5}.programCellInner-news{background:#43A047}.guide-programTextIcon{color:#1e1e1e;background:#555}.guide-currentTimeIndicatorBar{background-color:#52B54B}.guide-currentTimeIndicatorArrow,.guide-currentTimeIndicatorArrowContainer{color:#52B54B}.guide-headerTimeslots{color:inherit}.guide-date-tab-button{color:#555;color:rgba(255,255,255,.3)}.guide-date-tab-button.emby-tab-button-active,.guide-date-tab-button:focus{color:#52B54B}.guide-date-tab-button.emby-button-tv:focus{background-color:#52B54B;color:#fff}.itemBackdropFader{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(#191919));background:-webkit-linear-gradient(rgba(0,0,0,0),#191919);background:-o-linear-gradient(rgba(0,0,0,0),#191919);background:linear-gradient(rgba(0,0,0,0),#191919)}@media all and (min-width:62.5em){.detailButton-mobile{background:#444!important}}.infoBanner{color:#ddd;background:#111;padding:1em;-webkit-border-radius:.25em;border-radius:.25em}.ratingbutton-icon-withrating{color:#c33}.downloadbutton-icon-complete,.downloadbutton-icon-on{color:#4285F4}.playstatebutton-icon-played{color:#c33}.repeatButton-active{color:#4285F4} \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/dark-red/theme.css b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/dark-red/theme.css index 097a9dd606..a0cd31bdcf 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/dark-red/theme.css +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/dark-red/theme.css @@ -1 +1 @@ -html{color:#eee;color:rgba(255,255,255,.87)}.emby-collapsible-button{border-color:#383838;border-color:rgba(255,255,255,.135)}.skinHeader{color:#ccc;color:rgba(255,255,255,.78)}.skinHeader-withBackground{background-color:#c33;-webkit-box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37);box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37)}.osdHeader{-webkit-box-shadow:none!important;box-shadow:none!important}.skinHeader.semiTransparent{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background-color:rgba(0,0,0,.3);background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.6)),to(rgba(0,0,0,0)));background:-webkit-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:-o-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0))}.pageTitleWithDefaultLogo{background-image:url(logo.png)}.backgroundContainer,.dialog{background-color:#282828}.backgroundContainer.withBackdrop{background-color:rgba(12,12,12,.9)}.detailBackgroundContainer.withBackdrop{background-color:rgba(6,6,6,.94);background:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.99)),color-stop(rgba(0,0,0,.94)),to(rgba(0,0,0,.5)));background:-webkit-linear-gradient(left,rgba(0,0,0,.99),rgba(0,0,0,.94),rgba(0,0,0,.5));background:-o-linear-gradient(left,rgba(0,0,0,.99),rgba(0,0,0,.94),rgba(0,0,0,.5));background:linear-gradient(to right,rgba(0,0,0,.99),rgba(0,0,0,.94),rgba(0,0,0,.5))}.paper-icon-button-light:focus{color:#c33}.skinHeader-withBackground .paper-icon-button-light:focus{color:#fff}.fab,.raised{background:#404040;color:#fff}.button-accent,.button-submit{background:#c33;color:#fff}.actionSheetMenuItem:hover,.collapseContent,.formDialogFooter:not(.formDialogFooter-clear),.formDialogHeader:not(.formDialogHeader-clear),.paperList,.visualCardBox{background-color:#222}.checkboxLabel{color:inherit}.checkboxListLabel,.inputLabel,.inputLabelUnfocused,.paperListLabel,.selectLabelUnfocused,.textareaLabelUnfocused{color:#bbb;color:rgba(255,255,255,.7)}.inputLabelFocused,.selectLabelFocused,.textareaLabelFocused{color:#c33}.checkboxOutline{border-color:currentColor}.cardText-secondary,.fieldDescription,.guide-programNameCaret,.listItem .secondary,.nowPlayingBarSecondaryText,.programSecondaryTitle,.secondaryText{color:#999;color:rgba(255,255,255,.5)}.cardFooter-vibrant .cardText-secondary{color:inherit;opacity:.5}.toast{background:#303030;color:#fff;color:rgba(255,255,255,.87)}.appfooter{background:#101010;color:#ccc;color:rgba(255,255,255,.78)}@supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)){.appfooter-blurred{background:rgba(24,24,24,.7);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.itemSelectionPanel{border:1px solid #c33}.selectionCommandsPanel{background:#c33;color:#fff}.upNextDialog-countdownText{color:#c33}.alphaPickerButton{color:#999;color:rgba(255,255,255,.5);background-color:transparent}.alphaPickerButton-selected,.alphaPickerButton-tv:focus{background-color:#c33;color:#fff!important}.detailTableBodyRow-shaded:nth-child(even),.listItem-shaded:nth-child(even){background:#1c1c1c;background:rgba(30,30,30,.9)}.listItem:focus{background:#333}.progressring-spiner{border-color:#c33}.button-link{color:#c33;font-weight:500}.button-flat-accent{color:#c33}.mediaInfoText{color:#ddd;background:rgba(170,170,190,.2)}.mediaInfoTimerIcon,.starIcon{color:#CB272A}.emby-input,.emby-textarea{color:inherit;background:#202020;border:.07em solid #202020;-webkit-border-radius:.15em;border-radius:.15em}.emby-input:focus,.emby-textarea:focus{border-color:#c33}.emby-select-withcolor{color:inherit;background:#202020;border:.07em solid #202020;-webkit-border-radius:.15em;border-radius:.15em}.card:focus .card-focuscontent,.emby-checkbox:checked+span+span+.checkboxOutline,.emby-select-withcolor:focus{border-color:#c33}.emby-select-withcolor>option{color:inherit}.emby-checkbox:focus+span+.emby-checkbox-focushelper{background-color:rgba(204,51,51,.26)}.emby-checkbox:checked+span+span+.checkboxOutline>.checkboxOutlineTick,.itemProgressBarForeground{background-color:#c33}.itemProgressBarForeground-recording{background-color:#CB272A}.countIndicator,.playedIndicator{background:#c33}.fullSyncIndicator{background:#c33;color:#fff}.mainDrawer{background-color:#1c1c1f;color:#ccc;color:rgba(255,255,255,.7)}.navMenuDivider{background:#202020;background:rgba(255,255,255,.12)}.navMenuOption:hover{background:#252528}.navMenuOption-selected{background:#c33!important;color:#fff}.emby-tab-button{color:#999;color:rgba(255,255,255,.5)}.emby-tab-button-active,.emby-tab-button-active.emby-button-tv,.emby-tab-button.emby-button-tv:focus{color:#fff}.guide-channelHeaderCell,.guide-channelTimeslotHeader{background:#2e2e2e}.programCellInner{background-color:#202020}.programCellInner-sports{background:#3949AB}.programCellInner-movie{background:#5E35B1}.programCellInner-kids{background:#039BE5}.programCellInner-news{background:#43A047}.guide-programTextIcon{color:#1e1e1e;background:#555}.guide-currentTimeIndicatorBar{background-color:#c33}.guide-currentTimeIndicatorArrow,.guide-currentTimeIndicatorArrowContainer{color:#c33}.guide-headerTimeslots{color:inherit}.guide-date-tab-button{color:#555;color:rgba(255,255,255,.3)}.guide-date-tab-button.emby-tab-button-active,.guide-date-tab-button:focus{color:#c33}.guide-date-tab-button.emby-button-tv:focus{background-color:#c33;color:#fff}.itemBackdropFader{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(#191919));background:-webkit-linear-gradient(rgba(0,0,0,0),#191919);background:-o-linear-gradient(rgba(0,0,0,0),#191919);background:linear-gradient(rgba(0,0,0,0),#191919)}@media all and (min-width:62.5em){.detailButton-mobile{background:rgba(255,255,255,.14)!important;backdrop-filter:blur(10px)}}.infoBanner{color:#ddd;background:#111;padding:1em;-webkit-border-radius:.25em;border-radius:.25em}.ratingbutton-icon-withrating{color:#c33}.downloadbutton-icon-complete,.downloadbutton-icon-on{color:#4285F4}.playstatebutton-icon-played{color:#c33}.repeatButton-active{color:#4285F4} \ No newline at end of file +html{color:#eee;color:rgba(255,255,255,.87)}.emby-collapsible-button{border-color:#383838;border-color:rgba(255,255,255,.135)}.skinHeader{color:#ccc;color:rgba(255,255,255,.78)}.skinHeader-withBackground{background-color:#c33;-webkit-box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37);box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37)}.osdHeader{-webkit-box-shadow:none!important;box-shadow:none!important}.skinHeader.semiTransparent{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background-color:rgba(0,0,0,.3);background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.6)),to(rgba(0,0,0,0)));background:-webkit-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:-o-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0))}.pageTitleWithDefaultLogo{background-image:url(logo.png)}.backgroundContainer,.dialog{background-color:#282828}.backgroundContainer.withBackdrop{background-color:rgba(12,12,12,.9)}.paper-icon-button-light:focus{color:#c33}.skinHeader-withBackground .paper-icon-button-light:focus{color:#fff}.fab,.raised{background:#404040;color:#fff}.button-accent,.button-submit{background:#c33;color:#fff}.checkboxLabel{color:inherit}.checkboxListLabel,.inputLabel,.inputLabelUnfocused,.paperListLabel,.selectLabelUnfocused,.textareaLabelUnfocused{color:#bbb;color:rgba(255,255,255,.7)}.inputLabelFocused,.selectLabelFocused,.textareaLabelFocused{color:#c33}.checkboxOutline{border-color:currentColor}.collapseContent,.formDialogFooter:not(.formDialogFooter-clear),.formDialogHeader:not(.formDialogHeader-clear),.paperList,.visualCardBox{background-color:#222}.cardText-secondary,.fieldDescription,.guide-programNameCaret,.listItem .secondary,.nowPlayingBarSecondaryText,.programSecondaryTitle,.secondaryText{color:#999;color:rgba(255,255,255,.5)}.actionsheetDivider{background:#444;background:rgba(255,255,255,.14)}.cardFooter-vibrant .cardText-secondary{color:inherit;opacity:.5}.actionSheetMenuItem:hover{background-color:#222}.toast{background:#303030;color:#fff;color:rgba(255,255,255,.87)}.appfooter{background:#101010;color:#ccc;color:rgba(255,255,255,.78)}@supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)){.appfooter-blurred{background:rgba(24,24,24,.7);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.itemSelectionPanel{border:1px solid #c33}.selectionCommandsPanel{background:#c33;color:#fff}.upNextDialog-countdownText{color:#c33}.alphaPickerButton{color:#999;color:rgba(255,255,255,.5);background-color:transparent}.alphaPickerButton-selected,.alphaPickerButton-tv:focus{background-color:#c33;color:#fff!important}.detailTableBodyRow-shaded:nth-child(even),.listItem-shaded:nth-child(even){background:#1c1c1c;background:rgba(30,30,30,.9)}.listItem:focus{background:#333}.progressring-spiner{border-color:#c33}.button-link{color:#c33;font-weight:500}.button-flat-accent{color:#c33}.mediaInfoText{color:#ddd;background:rgba(170,170,190,.2)}.mediaInfoTimerIcon,.starIcon{color:#CB272A}.emby-input,.emby-textarea{color:inherit;background:#202020;border:.07em solid #202020;-webkit-border-radius:.15em;border-radius:.15em}.emby-input:focus,.emby-textarea:focus{border-color:#c33}.emby-select-withcolor{color:inherit;background:#202020;border:.07em solid #202020;-webkit-border-radius:.15em;border-radius:.15em}.card:focus .card-focuscontent,.emby-checkbox:checked+span+span+.checkboxOutline,.emby-select-withcolor:focus{border-color:#c33}.emby-select-withcolor>option{color:inherit}.emby-checkbox:focus+span+.emby-checkbox-focushelper{background-color:rgba(204,51,51,.26)}.emby-checkbox:checked+span+span+.checkboxOutline>.checkboxOutlineTick,.itemProgressBarForeground{background-color:#c33}.itemProgressBarForeground-recording{background-color:#CB272A}.countIndicator,.playedIndicator{background:#c33}.fullSyncIndicator{background:#c33;color:#fff}.mainDrawer{background-color:#1c1c1f;color:#ccc;color:rgba(255,255,255,.7)}.navMenuDivider{background:#202020;background:rgba(255,255,255,.12)}.navMenuOption:hover{background:#252528}.navMenuOption-selected{background:#c33!important;color:#fff}.emby-tab-button{color:#999;color:rgba(255,255,255,.5)}.emby-tab-button-active,.emby-tab-button-active.emby-button-tv,.emby-tab-button.emby-button-tv:focus{color:#fff}.guide-channelHeaderCell,.guide-channelTimeslotHeader{background:#2e2e2e}.programCellInner{background-color:#202020}.programCellInner-sports{background:#3949AB}.programCellInner-movie{background:#5E35B1}.programCellInner-kids{background:#039BE5}.programCellInner-news{background:#43A047}.guide-programTextIcon{color:#1e1e1e;background:#555}.guide-currentTimeIndicatorBar{background-color:#c33}.guide-currentTimeIndicatorArrow,.guide-currentTimeIndicatorArrowContainer{color:#c33}.guide-headerTimeslots{color:inherit}.guide-date-tab-button{color:#555;color:rgba(255,255,255,.3)}.guide-date-tab-button.emby-tab-button-active,.guide-date-tab-button:focus{color:#c33}.guide-date-tab-button.emby-button-tv:focus{background-color:#c33;color:#fff}.itemBackdropFader{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(#191919));background:-webkit-linear-gradient(rgba(0,0,0,0),#191919);background:-o-linear-gradient(rgba(0,0,0,0),#191919);background:linear-gradient(rgba(0,0,0,0),#191919)}@media all and (min-width:62.5em){.detailButton-mobile{background:#444!important}}.infoBanner{color:#ddd;background:#111;padding:1em;-webkit-border-radius:.25em;border-radius:.25em}.ratingbutton-icon-withrating{color:#c33}.downloadbutton-icon-complete,.downloadbutton-icon-on{color:#4285F4}.playstatebutton-icon-played{color:#c33}.repeatButton-active{color:#4285F4} \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/dark/theme.css b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/dark/theme.css index b9d5c33c8e..aff3b0c3c1 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/dark/theme.css +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/dark/theme.css @@ -1 +1 @@ -html{color:#eee;color:rgba(255,255,255,.87)}.emby-collapsible-button{border-color:#383838;border-color:rgba(255,255,255,.135)}.skinHeader{color:#ccc;color:rgba(255,255,255,.78)}.skinHeader-withBackground{background-color:#181818;-webkit-box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37);box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37)}.osdHeader{-webkit-box-shadow:none!important;box-shadow:none!important}.skinHeader.semiTransparent{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background-color:rgba(0,0,0,.3);background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.6)),to(rgba(0,0,0,0)));background:-webkit-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:-o-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0))}.pageTitleWithDefaultLogo{background-image:url(logo.png)}.backgroundContainer,.dialog{background-color:#282828}.backgroundContainer.withBackdrop{background-color:rgba(12,12,12,.9)}.detailBackgroundContainer.withBackdrop{background-color:rgba(6,6,6,.94);background:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.99)),color-stop(rgba(0,0,0,.94)),to(rgba(0,0,0,.5)));background:-webkit-linear-gradient(left,rgba(0,0,0,.99),rgba(0,0,0,.94),rgba(0,0,0,.5));background:-o-linear-gradient(left,rgba(0,0,0,.99),rgba(0,0,0,.94),rgba(0,0,0,.5));background:linear-gradient(to right,rgba(0,0,0,.99),rgba(0,0,0,.94),rgba(0,0,0,.5))}.paper-icon-button-light:focus{color:#52B54B}.fab,.raised{background:#404040;color:#fff}.button-accent,.button-submit{background:#52B54B;color:#fff}.actionSheetMenuItem:hover,.collapseContent,.formDialogFooter:not(.formDialogFooter-clear),.formDialogHeader:not(.formDialogHeader-clear),.paperList,.visualCardBox{background-color:#222}.checkboxLabel{color:inherit}.checkboxListLabel,.inputLabel,.inputLabelUnfocused,.paperListLabel,.selectLabelUnfocused,.textareaLabelUnfocused{color:#bbb;color:rgba(255,255,255,.7)}.inputLabelFocused,.selectLabelFocused,.textareaLabelFocused{color:#52B54B}.checkboxOutline{border-color:currentColor}.cardText-secondary,.fieldDescription,.guide-programNameCaret,.listItem .secondary,.nowPlayingBarSecondaryText,.programSecondaryTitle,.secondaryText{color:#999;color:rgba(255,255,255,.5)}.cardFooter-vibrant .cardText-secondary{color:inherit;opacity:.5}.toast{background:#303030;color:#fff;color:rgba(255,255,255,.87)}.appfooter{background:#101010;color:#ccc;color:rgba(255,255,255,.78)}@supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)){.appfooter-blurred{background:rgba(24,24,24,.7);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.itemSelectionPanel{border:1px solid #52B54B}.selectionCommandsPanel{background:#52B54B;color:#fff}.upNextDialog-countdownText{color:#52B54B}.alphaPickerButton{color:#999;color:rgba(255,255,255,.5);background-color:transparent}.alphaPickerButton-selected,.alphaPickerButton-tv:focus{background-color:#52B54B;color:#fff!important}.detailTableBodyRow-shaded:nth-child(even),.listItem-shaded:nth-child(even){background:#1c1c1c;background:rgba(30,30,30,.9)}.listItem:focus{background:#333}.progressring-spiner{border-color:#52B54B}.button-flat-accent,.button-link{color:#52B54B}.mediaInfoText{color:#ddd;background:rgba(170,170,190,.2)}.mediaInfoTimerIcon,.starIcon{color:#CB272A}.emby-input,.emby-textarea{color:inherit;background:#202020;border:.07em solid #202020;-webkit-border-radius:.15em;border-radius:.15em}.emby-input:focus,.emby-textarea:focus{border-color:#52B54B}.emby-select-withcolor{color:inherit;background:#202020;border:.07em solid #202020;-webkit-border-radius:.15em;border-radius:.15em}.card:focus .card-focuscontent,.emby-checkbox:checked+span+span+.checkboxOutline,.emby-select-withcolor:focus{border-color:#52B54B}.emby-select-withcolor>option{color:inherit}.emby-checkbox:focus+span+.emby-checkbox-focushelper{background-color:rgba(82,181,75,.26)}.emby-checkbox:checked+span+span+.checkboxOutline>.checkboxOutlineTick,.itemProgressBarForeground{background-color:#52B54B}.itemProgressBarForeground-recording{background-color:#CB272A}.countIndicator,.fullSyncIndicator,.playedIndicator{background:#52B54B}.fullSyncIndicator{color:#fff}.mainDrawer{background-color:#1c1c1f;color:#ccc;color:rgba(255,255,255,.7)}.navMenuDivider{background:#202020;background:rgba(255,255,255,.12)}.navMenuOption:hover{background:#252528}.navMenuOption-selected{background:#52B54B!important;color:#fff}.emby-tab-button{color:#999;color:rgba(255,255,255,.4)}.emby-tab-button-active{color:#52B54B}.emby-tab-button-active.emby-button-tv{color:#fff}.emby-tab-button.emby-button-tv:focus{color:#52B54B}.guide-channelHeaderCell,.guide-channelTimeslotHeader{background:#2e2e2e}.programCellInner{background-color:#202020}.programCellInner-sports{background:#3949AB}.programCellInner-movie{background:#5E35B1}.programCellInner-kids{background:#039BE5}.programCellInner-news{background:#43A047}.guide-programTextIcon{color:#1e1e1e;background:#555}.guide-currentTimeIndicatorBar{background-color:#52B54B}.guide-currentTimeIndicatorArrow,.guide-currentTimeIndicatorArrowContainer{color:#52B54B}.guide-headerTimeslots{color:inherit}.guide-date-tab-button{color:#555;color:rgba(255,255,255,.3)}.guide-date-tab-button.emby-tab-button-active,.guide-date-tab-button:focus{color:#52B54B}.guide-date-tab-button.emby-button-tv:focus{background-color:#52B54B;color:#fff}.itemBackdropFader{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(#191919));background:-webkit-linear-gradient(rgba(0,0,0,0),#191919);background:-o-linear-gradient(rgba(0,0,0,0),#191919);background:linear-gradient(rgba(0,0,0,0),#191919)}@media all and (min-width:62.5em){.detailButton-mobile{background:rgba(255,255,255,.14)!important;backdrop-filter:blur(10px)}}.infoBanner{color:#ddd;background:#111;padding:1em;-webkit-border-radius:.25em;border-radius:.25em}.ratingbutton-icon-withrating{color:#c33}.downloadbutton-icon-complete,.downloadbutton-icon-on{color:#4285F4}.playstatebutton-icon-played{color:#c33}.repeatButton-active{color:#4285F4} \ No newline at end of file +html{color:#eee;color:rgba(255,255,255,.87)}.emby-collapsible-button{border-color:#383838;border-color:rgba(255,255,255,.135)}.skinHeader{color:#ccc;color:rgba(255,255,255,.78)}.skinHeader-withBackground{background-color:#181818;-webkit-box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37);box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37)}.osdHeader{-webkit-box-shadow:none!important;box-shadow:none!important}.skinHeader.semiTransparent{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background-color:rgba(0,0,0,.3);background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.6)),to(rgba(0,0,0,0)));background:-webkit-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:-o-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0))}.pageTitleWithDefaultLogo{background-image:url(logo.png)}.backgroundContainer,.dialog{background-color:#282828}.backgroundContainer.withBackdrop{background-color:rgba(12,12,12,.9)}.paper-icon-button-light:focus{color:#52B54B}.fab,.raised{background:#404040;color:#fff}.button-accent,.button-submit{background:#52B54B;color:#fff}.checkboxLabel{color:inherit}.checkboxListLabel,.inputLabel,.inputLabelUnfocused,.paperListLabel,.selectLabelUnfocused,.textareaLabelUnfocused{color:#bbb;color:rgba(255,255,255,.7)}.inputLabelFocused,.selectLabelFocused,.textareaLabelFocused{color:#52B54B}.checkboxOutline{border-color:currentColor}.collapseContent,.formDialogFooter:not(.formDialogFooter-clear),.formDialogHeader:not(.formDialogHeader-clear),.paperList,.visualCardBox{background-color:#222}.cardText-secondary,.fieldDescription,.guide-programNameCaret,.listItem .secondary,.nowPlayingBarSecondaryText,.programSecondaryTitle,.secondaryText{color:#999;color:rgba(255,255,255,.5)}.actionsheetDivider{background:#444;background:rgba(255,255,255,.14)}.cardFooter-vibrant .cardText-secondary{color:inherit;opacity:.5}.actionSheetMenuItem:hover{background-color:#222}.toast{background:#303030;color:#fff;color:rgba(255,255,255,.87)}.appfooter{background:#101010;color:#ccc;color:rgba(255,255,255,.78)}@supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)){.appfooter-blurred{background:rgba(24,24,24,.7);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.itemSelectionPanel{border:1px solid #52B54B}.selectionCommandsPanel{background:#52B54B;color:#fff}.upNextDialog-countdownText{color:#52B54B}.alphaPickerButton{color:#999;color:rgba(255,255,255,.5);background-color:transparent}.alphaPickerButton-selected,.alphaPickerButton-tv:focus{background-color:#52B54B;color:#fff!important}.detailTableBodyRow-shaded:nth-child(even),.listItem-shaded:nth-child(even){background:#1c1c1c;background:rgba(30,30,30,.9)}.listItem:focus{background:#333}.progressring-spiner{border-color:#52B54B}.button-flat-accent,.button-link{color:#52B54B}.mediaInfoText{color:#ddd;background:rgba(170,170,190,.2)}.mediaInfoTimerIcon,.starIcon{color:#CB272A}.emby-input,.emby-textarea{color:inherit;background:#202020;border:.07em solid #202020;-webkit-border-radius:.15em;border-radius:.15em}.emby-input:focus,.emby-textarea:focus{border-color:#52B54B}.emby-select-withcolor{color:inherit;background:#202020;border:.07em solid #202020;-webkit-border-radius:.15em;border-radius:.15em}.card:focus .card-focuscontent,.emby-checkbox:checked+span+span+.checkboxOutline,.emby-select-withcolor:focus{border-color:#52B54B}.emby-select-withcolor>option{color:inherit}.emby-checkbox:focus+span+.emby-checkbox-focushelper{background-color:rgba(82,181,75,.26)}.emby-checkbox:checked+span+span+.checkboxOutline>.checkboxOutlineTick,.itemProgressBarForeground{background-color:#52B54B}.itemProgressBarForeground-recording{background-color:#CB272A}.countIndicator,.fullSyncIndicator,.playedIndicator{background:#52B54B}.fullSyncIndicator{color:#fff}.mainDrawer{background-color:#1c1c1f;color:#ccc;color:rgba(255,255,255,.7)}.navMenuDivider{background:#202020;background:rgba(255,255,255,.12)}.navMenuOption:hover{background:#252528}.navMenuOption-selected{background:#52B54B!important;color:#fff}.emby-tab-button{color:#999;color:rgba(255,255,255,.4)}.emby-tab-button-active{color:#52B54B}.emby-tab-button-active.emby-button-tv{color:#fff}.emby-tab-button.emby-button-tv:focus{color:#52B54B}.guide-channelHeaderCell,.guide-channelTimeslotHeader{background:#2e2e2e}.programCellInner{background-color:#202020}.programCellInner-sports{background:#3949AB}.programCellInner-movie{background:#5E35B1}.programCellInner-kids{background:#039BE5}.programCellInner-news{background:#43A047}.guide-programTextIcon{color:#1e1e1e;background:#555}.guide-currentTimeIndicatorBar{background-color:#52B54B}.guide-currentTimeIndicatorArrow,.guide-currentTimeIndicatorArrowContainer{color:#52B54B}.guide-headerTimeslots{color:inherit}.guide-date-tab-button{color:#555;color:rgba(255,255,255,.3)}.guide-date-tab-button.emby-tab-button-active,.guide-date-tab-button:focus{color:#52B54B}.guide-date-tab-button.emby-button-tv:focus{background-color:#52B54B;color:#fff}.itemBackdropFader{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(#191919));background:-webkit-linear-gradient(rgba(0,0,0,0),#191919);background:-o-linear-gradient(rgba(0,0,0,0),#191919);background:linear-gradient(rgba(0,0,0,0),#191919)}@media all and (min-width:62.5em){.detailButton-mobile{background:#444!important}}.infoBanner{color:#ddd;background:#111;padding:1em;-webkit-border-radius:.25em;border-radius:.25em}.ratingbutton-icon-withrating{color:#c33}.downloadbutton-icon-complete,.downloadbutton-icon-on{color:#4285F4}.playstatebutton-icon-played{color:#c33}.repeatButton-active{color:#4285F4} \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/halloween/theme.css b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/halloween/theme.css index 13a2658b3c..36d074ef44 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/halloween/theme.css +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/halloween/theme.css @@ -1 +1 @@ -@import url(https://fonts.googleapis.com/css?family=Eater);h1,h2{font-family:Eater;font-weight:400!important}h1{font-size:1.566em!important}h2{font-size:1.305em!important}.sectionTabs button,.userViewNames .btnUserViewHeader{font-family:Eater!important;font-size:87%!important}html{color:#eee;color:rgba(255,255,255,.87)}.emby-collapsible-button{border-color:#383838;border-color:rgba(255,255,255,.135)}.skinHeader{color:#ccc;color:rgba(255,255,255,.78)}.skinHeader-withBackground{background-color:#202020}.osdHeader{-webkit-box-shadow:none!important;box-shadow:none!important}.skinHeader.semiTransparent{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background-color:rgba(0,0,0,.3);background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.6)),to(rgba(0,0,0,0)));background:-webkit-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:-o-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0))}.pageTitleWithDefaultLogo{background-image:url(logo.png)}.backgroundContainer,.dialog{background-color:#1a1a1a}.backgroundContainer.withBackdrop{background-color:rgba(12,12,12,.9)}.detailBackgroundContainer.withBackdrop{background-color:rgba(6,6,6,.94);background:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.99)),color-stop(rgba(0,0,0,.94)),to(rgba(0,0,0,.5)));background:-webkit-linear-gradient(left,rgba(0,0,0,.99),rgba(0,0,0,.94),rgba(0,0,0,.5));background:-o-linear-gradient(left,rgba(0,0,0,.99),rgba(0,0,0,.94),rgba(0,0,0,.5));background:linear-gradient(to right,rgba(0,0,0,.99),rgba(0,0,0,.94),rgba(0,0,0,.5))}.paper-icon-button-light:focus{color:#FF9100}.skinHeader-withBackground .paper-icon-button-light:focus{color:#fff}.fab,.raised{background:#404040;color:#fff}.button-accent,.button-submit{background:#FF9100;color:#fff}.actionSheetMenuItem:hover,.collapseContent,.formDialogFooter:not(.formDialogFooter-clear),.formDialogHeader:not(.formDialogHeader-clear),.paperList,.visualCardBox{background-color:#222}.checkboxLabel{color:inherit}.checkboxListLabel,.inputLabel,.inputLabelUnfocused,.paperListLabel,.selectLabelUnfocused,.textareaLabelUnfocused{color:#bbb;color:rgba(255,255,255,.7)}.inputLabelFocused,.selectLabelFocused,.textareaLabelFocused{color:#FF9100}.checkboxOutline{border-color:currentColor}.cardText-secondary,.fieldDescription,.guide-programNameCaret,.listItem .secondary,.nowPlayingBarSecondaryText,.programSecondaryTitle,.secondaryText{color:#999;color:rgba(255,255,255,.5)}.cardFooter-vibrant .cardText-secondary{color:inherit;opacity:.5}.toast{background:#303030;color:#fff;color:rgba(255,255,255,.87)}.appfooter{background:#101010;color:#ccc;color:rgba(255,255,255,.78)}@supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)){.appfooter-blurred{background:rgba(24,24,24,.7);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.itemSelectionPanel{border:1px solid #FF9100}.selectionCommandsPanel{background:#FF9100;color:#fff}.upNextDialog-countdownText{color:#FF9100}.alphaPickerButton{color:#999;color:rgba(255,255,255,.5);background-color:transparent}.alphaPickerButton-selected,.alphaPickerButton-tv:focus{background-color:#FF9100;color:#fff!important}.button-flat-accent,.button-link{color:#FF9100}.detailTableBodyRow-shaded:nth-child(even),.listItem-shaded:nth-child(even){background:#1c1c1c;background:rgba(30,30,30,.9)}.listItem:focus{background:#333}.progressring-spiner{border-color:#FF9100}.button-link{font-weight:500}.mediaInfoText{color:#ddd;background:rgba(170,170,190,.2)}.mediaInfoTimerIcon,.starIcon{color:#CB272A}.emby-input,.emby-textarea{color:inherit;background:#262626;border:.07em solid #262626;-webkit-border-radius:.15em;border-radius:.15em}.emby-input:focus,.emby-textarea:focus{border-color:#FF9100}.emby-select-withcolor{color:inherit;background:#262626;border:.07em solid #262626;-webkit-border-radius:.15em;border-radius:.15em}.card:focus .card-focuscontent,.emby-checkbox:checked+span+span+.checkboxOutline,.emby-select-withcolor:focus{border-color:#FF9100}.emby-select-withcolor>option{color:inherit}.emby-checkbox:focus+span+.emby-checkbox-focushelper{background-color:rgba(204,51,51,.26)}.emby-checkbox:checked+span+span+.checkboxOutline>.checkboxOutlineTick,.itemProgressBarForeground{background-color:#FF9100}.itemProgressBarForeground-recording{background-color:#CB272A}.countIndicator,.fullSyncIndicator,.playedIndicator{background:#FF9100}.fullSyncIndicator{color:#fff}.mainDrawer{background-color:#1c1c1f;color:#ccc;color:rgba(255,255,255,.7)}.navMenuDivider{background:#262626;background:rgba(255,255,255,.12)}.navMenuOption:hover{background:#252528}.navMenuOption-selected{background:#FF9100!important;color:#fff}.emby-tab-button{color:#999;color:rgba(255,255,255,.5)}.emby-tab-button-active{color:#FF9100}.emby-tab-button-active.emby-button-tv{color:#fff}.emby-tab-button.emby-button-tv:focus{color:#FF9100}.guide-channelHeaderCell,.guide-channelTimeslotHeader{background:#2e2e2e}.programCellInner{background-color:#202020}.programCellInner-sports{background:#3949AB}.programCellInner-movie{background:#5E35B1}.programCellInner-kids{background:#039BE5}.programCellInner-news{background:#43A047}.guide-programTextIcon{color:#1e1e1e;background:#555}.guide-currentTimeIndicatorBar{background-color:#FF9100}.guide-currentTimeIndicatorArrow,.guide-currentTimeIndicatorArrowContainer{color:#FF9100}.guide-headerTimeslots{color:inherit}.guide-date-tab-button{color:#555;color:rgba(255,255,255,.3)}.guide-date-tab-button.emby-tab-button-active,.guide-date-tab-button:focus{color:#FF9100}.guide-date-tab-button.emby-button-tv:focus{background-color:#FF9100;color:#fff}.itemBackdropFader{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(#191919));background:-webkit-linear-gradient(rgba(0,0,0,0),#191919);background:-o-linear-gradient(rgba(0,0,0,0),#191919);background:linear-gradient(rgba(0,0,0,0),#191919)}@media all and (min-width:62.5em){.detailButton-mobile{background:rgba(255,255,255,.14)!important;backdrop-filter:blur(10px)}}.infoBanner{color:#ddd;background:#111;padding:1em;-webkit-border-radius:.25em;border-radius:.25em}.ratingbutton-icon-withrating{color:#FF9100}.downloadbutton-icon-complete,.downloadbutton-icon-on{color:#4285F4}.playstatebutton-icon-played{color:#FF9100}.repeatButton-active{color:#4285F4}.btnUserViewHeader:focus{color:#FF9100!important}.btnUserViewHeader:focus .userViewButtonText{border-bottom-color:#FF9100!important}.emby-button:focus:not(.btnUserViewHeader):not(.emby-tab-button){background:#FF9100} \ No newline at end of file +@import url(https://fonts.googleapis.com/css?family=Eater);h1,h2{font-family:Eater;font-weight:400!important}h1{font-size:1.566em!important}h2{font-size:1.305em!important}.sectionTabs button,.userViewNames .btnUserViewHeader{font-family:Eater!important;font-size:87%!important}html{color:#eee;color:rgba(255,255,255,.87)}.emby-collapsible-button{border-color:#383838;border-color:rgba(255,255,255,.135)}.skinHeader{color:#ccc;color:rgba(255,255,255,.78)}.skinHeader-withBackground{background-color:#202020}.osdHeader{-webkit-box-shadow:none!important;box-shadow:none!important}.skinHeader.semiTransparent{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background-color:rgba(0,0,0,.3);background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.6)),to(rgba(0,0,0,0)));background:-webkit-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:-o-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0))}.pageTitleWithDefaultLogo{background-image:url(logo.png)}.backgroundContainer,.dialog{background-color:#1a1a1a}.backgroundContainer.withBackdrop{background-color:rgba(12,12,12,.9)}.paper-icon-button-light:focus{color:#FF9100}.skinHeader-withBackground .paper-icon-button-light:focus{color:#fff}.fab,.raised{background:#404040;color:#fff}.button-accent,.button-submit{background:#FF9100;color:#fff}.checkboxLabel{color:inherit}.checkboxListLabel,.inputLabel,.inputLabelUnfocused,.paperListLabel,.selectLabelUnfocused,.textareaLabelUnfocused{color:#bbb;color:rgba(255,255,255,.7)}.inputLabelFocused,.selectLabelFocused,.textareaLabelFocused{color:#FF9100}.checkboxOutline{border-color:currentColor}.collapseContent,.formDialogFooter:not(.formDialogFooter-clear),.formDialogHeader:not(.formDialogHeader-clear),.paperList,.visualCardBox{background-color:#222}.cardText-secondary,.fieldDescription,.guide-programNameCaret,.listItem .secondary,.nowPlayingBarSecondaryText,.programSecondaryTitle,.secondaryText{color:#999;color:rgba(255,255,255,.5)}.actionsheetDivider{background:#444;background:rgba(255,255,255,.14)}.cardFooter-vibrant .cardText-secondary{color:inherit;opacity:.5}.actionSheetMenuItem:hover{background-color:#222}.toast{background:#303030;color:#fff;color:rgba(255,255,255,.87)}.appfooter{background:#101010;color:#ccc;color:rgba(255,255,255,.78)}@supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)){.appfooter-blurred{background:rgba(24,24,24,.7);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.itemSelectionPanel{border:1px solid #FF9100}.selectionCommandsPanel{background:#FF9100;color:#fff}.upNextDialog-countdownText{color:#FF9100}.alphaPickerButton{color:#999;color:rgba(255,255,255,.5);background-color:transparent}.alphaPickerButton-selected,.alphaPickerButton-tv:focus{background-color:#FF9100;color:#fff!important}.button-flat-accent,.button-link{color:#FF9100}.detailTableBodyRow-shaded:nth-child(even),.listItem-shaded:nth-child(even){background:#1c1c1c;background:rgba(30,30,30,.9)}.listItem:focus{background:#333}.progressring-spiner{border-color:#FF9100}.button-link{font-weight:500}.mediaInfoText{color:#ddd;background:rgba(170,170,190,.2)}.mediaInfoTimerIcon,.starIcon{color:#CB272A}.emby-input,.emby-textarea{color:inherit;background:#262626;border:.07em solid #262626;-webkit-border-radius:.15em;border-radius:.15em}.emby-input:focus,.emby-textarea:focus{border-color:#FF9100}.emby-select-withcolor{color:inherit;background:#262626;border:.07em solid #262626;-webkit-border-radius:.15em;border-radius:.15em}.card:focus .card-focuscontent,.emby-checkbox:checked+span+span+.checkboxOutline,.emby-select-withcolor:focus{border-color:#FF9100}.emby-select-withcolor>option{color:inherit}.emby-checkbox:focus+span+.emby-checkbox-focushelper{background-color:rgba(204,51,51,.26)}.emby-checkbox:checked+span+span+.checkboxOutline>.checkboxOutlineTick,.itemProgressBarForeground{background-color:#FF9100}.itemProgressBarForeground-recording{background-color:#CB272A}.countIndicator,.fullSyncIndicator,.playedIndicator{background:#FF9100}.fullSyncIndicator{color:#fff}.mainDrawer{background-color:#1c1c1f;color:#ccc;color:rgba(255,255,255,.7)}.navMenuDivider{background:#262626;background:rgba(255,255,255,.12)}.navMenuOption:hover{background:#252528}.navMenuOption-selected{background:#FF9100!important;color:#fff}.emby-tab-button{color:#999;color:rgba(255,255,255,.5)}.emby-tab-button-active{color:#FF9100}.emby-tab-button-active.emby-button-tv{color:#fff}.emby-tab-button.emby-button-tv:focus{color:#FF9100}.guide-channelHeaderCell,.guide-channelTimeslotHeader{background:#2e2e2e}.programCellInner{background-color:#202020}.programCellInner-sports{background:#3949AB}.programCellInner-movie{background:#5E35B1}.programCellInner-kids{background:#039BE5}.programCellInner-news{background:#43A047}.guide-programTextIcon{color:#1e1e1e;background:#555}.guide-currentTimeIndicatorBar{background-color:#FF9100}.guide-currentTimeIndicatorArrow,.guide-currentTimeIndicatorArrowContainer{color:#FF9100}.guide-headerTimeslots{color:inherit}.guide-date-tab-button{color:#555;color:rgba(255,255,255,.3)}.guide-date-tab-button.emby-tab-button-active,.guide-date-tab-button:focus{color:#FF9100}.guide-date-tab-button.emby-button-tv:focus{background-color:#FF9100;color:#fff}.itemBackdropFader{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(#191919));background:-webkit-linear-gradient(rgba(0,0,0,0),#191919);background:-o-linear-gradient(rgba(0,0,0,0),#191919);background:linear-gradient(rgba(0,0,0,0),#191919)}@media all and (min-width:62.5em){.detailButton-mobile{background:#444!important}}.infoBanner{color:#ddd;background:#111;padding:1em;-webkit-border-radius:.25em;border-radius:.25em}.ratingbutton-icon-withrating{color:#FF9100}.downloadbutton-icon-complete,.downloadbutton-icon-on{color:#4285F4}.playstatebutton-icon-played{color:#FF9100}.repeatButton-active{color:#4285F4}.btnUserViewHeader:focus{color:#FF9100!important}.btnUserViewHeader:focus .userViewButtonText{border-bottom-color:#FF9100!important}.emby-button:focus:not(.btnUserViewHeader):not(.emby-tab-button){background:#FF9100} \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/light-blue/theme.css b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/light-blue/theme.css index 5268626dbd..fe46c5694e 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/light-blue/theme.css +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/light-blue/theme.css @@ -1 +1 @@ -.skinHeader,html{color:#222;color:rgba(0,0,0,.87)}.emby-collapsible-button{border-color:#ccc;border-color:rgba(0,0,0,.158)}.collapseContent{background-color:#eaeaea}.skinHeader-withBackground{background-color:#2196F3;-webkit-box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37);box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37);color:#fff}.osdHeader{-webkit-box-shadow:none!important;box-shadow:none!important}.skinHeader.semiTransparent{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background-color:rgba(0,0,0,.3);background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.6)),to(rgba(0,0,0,0)));background:-webkit-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:-o-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0))}.pageTitleWithDefaultLogo{background-image:url(logo.png)}.backgroundContainer{background-color:#f2f2f2}.backgroundContainer.withBackdrop{background-color:rgba(255,255,255,.94)}.dialog{background-color:#f0f0f0}.paper-icon-button-light:focus{color:#2196F3}.skinHeader-withBackground .paper-icon-button-light:focus{color:#fff}.fab,.raised{background:#fff;color:inherit}.button-submit{background:#2196F3;color:#fff}.button-cancel{background:#fff;color:inherit}.button-accent{background:#2196F3;color:#fff}.checkboxLabel{color:inherit}.checkboxListLabel,.inputLabel,.inputLabelUnfocused,.paperListLabel,.selectLabelUnfocused,.textareaLabelUnfocused{color:#555}.button-link,.inputLabelFocused,.selectLabelFocused,.textareaLabelFocused{color:#2196F3}.checkboxOutline{border-color:currentColor}.paperList,.visualCardBox{background-color:#fff}.formDialogHeader:not(.formDialogHeader-clear){background-color:#2196F3;color:#fff}.formDialogFooter:not(.formDialogFooter-clear){background-color:#f0f0f0;border-top:1px solid rgba(0,0,0,.08);color:inherit}.cardText-secondary,.fieldDescription,.guide-programNameCaret,.listItem .secondary,.nowPlayingBarSecondaryText,.programSecondaryTitle,.secondaryText{color:#888}.cardFooter-vibrant .cardText-secondary{color:inherit;opacity:.5}.formDialogHeader a,.toast{color:#fff}.actionSheetMenuItem:hover{background-color:#ddd}.toast{background:#303030;color:rgba(255,255,255,.87)}.appfooter{background:#282828;color:#ccc;color:rgba(255,255,255,.78)}@supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)){.appfooter-blurred{background:rgba(24,24,24,.7);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.nowPlayingBarSecondaryText{color:#999}.itemSelectionPanel{border:1px solid #2196F3}.selectionCommandsPanel{background:#2196F3;color:#fff}.upNextDialog-countdownText{color:#2196F3}.alphaPickerButton{color:#555;color:rgba(0,0,0,.7);background-color:transparent}.alphaPickerButton-selected,.alphaPickerButton-tv:focus{background-color:#2196F3;color:#fff!important}.detailTableBodyRow-shaded:nth-child(even),.listItem-shaded:nth-child(even){background:#f8f8f8}.listItem:focus{background:#ddd}.progressring-spiner{border-color:#2196F3}.mediaInfoText{color:#333;background:#fff}.mediaInfoTimerIcon,.starIcon{color:#CB272A}.emby-input,.emby-textarea{color:inherit;background:#fff;border:.07em solid rgba(0,0,0,.158);-webkit-border-radius:.15em;border-radius:.15em}.emby-input:focus,.emby-textarea:focus{border-color:#2196F3}.emby-select-withcolor{color:inherit;background:#fff;border:.07em solid rgba(0,0,0,.158);-webkit-border-radius:.15em;border-radius:.15em}.card:focus .card-focuscontent,.emby-checkbox:checked+span+span+.checkboxOutline,.emby-select-withcolor:focus{border-color:#2196F3}.emby-checkbox:focus+span+.emby-checkbox-focushelper{background-color:rgba(33,150,243,.26)}.emby-checkbox:checked+span+span+.checkboxOutline>.checkboxOutlineTick,.itemProgressBarForeground{background-color:#2196F3}.itemProgressBarForeground-recording{background-color:#CB272A}.countIndicator,.fullSyncIndicator,.playedIndicator{background:#2196F3}.fullSyncIndicator{color:#fff}.mainDrawer{background:#fff}.navMenuDivider{background:#eaeaea;background:rgba(0,0,0,.12)}.navMenuOption:hover{background:#f2f2f2}.navMenuOption-selected{background:#2196F3!important;color:#fff}.emby-tab-button{color:#fff;color:rgba(255,255,255,.5)}.emby-tab-button-active,.emby-tab-button-active.emby-button-tv,.emby-tab-button.emby-button-tv:focus{color:#fff;color:rgba(255,255,255,1)}.guide-channelHeaderCell,.guide-channelTimeslotHeader{background:#d2d2d2}.programCellInner{background-color:#e2e2e2}.programCellInner-sports{background:#3949AB}.programCellInner-movie{background:#5E35B1}.programCellInner-kids{background:#039BE5}.programCellInner-news{background:#43A047}.guide-programTextIcon{color:#1e1e1e;background:#aaa}.guide-headerTimeslots{color:inherit}.guide-currentTimeIndicatorBar{background-color:#2196F3}.guide-currentTimeIndicatorArrow,.guide-currentTimeIndicatorArrowContainer{color:#2196F3}.guide-date-tab-button{color:#555;color:rgba(0,0,0,.54)}.guide-date-tab-button.emby-tab-button-active,.guide-date-tab-button:focus{color:#2196F3}.guide-date-tab-button.emby-button-tv:focus{background-color:#2196F3;color:#fff}.itemBackdropFader{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(#f2f2f2));background:-webkit-linear-gradient(rgba(0,0,0,0),#f2f2f2);background:-o-linear-gradient(rgba(0,0,0,0),#f2f2f2);background:linear-gradient(rgba(0,0,0,0),#f2f2f2)}@media all and (min-width:62.5em){.detailButton-mobile{background:rgba(0,0,0,.14)!important;backdrop-filter:blur(10px)}}.infoBanner{color:#000;background:#fff3a5;padding:1em;-webkit-border-radius:.25em;border-radius:.25em}.ratingbutton-icon-withrating{color:#c33}.downloadbutton-icon-complete,.downloadbutton-icon-on{color:#4285F4}.playstatebutton-icon-played{color:#c33}.repeatButton-active{color:#4285F4} \ No newline at end of file +.skinHeader,html{color:#222;color:rgba(0,0,0,.87)}.emby-collapsible-button{border-color:#ccc;border-color:rgba(0,0,0,.158)}.collapseContent{background-color:#eaeaea}.skinHeader-withBackground{background-color:#2196F3;-webkit-box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37);box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37);color:#fff}.osdHeader{-webkit-box-shadow:none!important;box-shadow:none!important}.skinHeader.semiTransparent{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background-color:rgba(0,0,0,.3);background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.6)),to(rgba(0,0,0,0)));background:-webkit-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:-o-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0))}.pageTitleWithDefaultLogo{background-image:url(logo.png)}.backgroundContainer{background-color:#f2f2f2}.backgroundContainer.withBackdrop{background-color:rgba(255,255,255,.94)}.dialog{background-color:#f0f0f0}.paper-icon-button-light:focus{color:#2196F3}.skinHeader-withBackground .paper-icon-button-light:focus{color:#fff}.fab,.raised{background:#fff;color:inherit}.button-submit{background:#2196F3;color:#fff}.button-cancel{background:#fff;color:inherit}.button-accent{background:#2196F3;color:#fff}.checkboxLabel{color:inherit}.checkboxListLabel,.inputLabel,.inputLabelUnfocused,.paperListLabel,.selectLabelUnfocused,.textareaLabelUnfocused{color:#555}.button-link,.inputLabelFocused,.selectLabelFocused,.textareaLabelFocused{color:#2196F3}.checkboxOutline{border-color:currentColor}.paperList,.visualCardBox{background-color:#fff}.formDialogHeader:not(.formDialogHeader-clear){background-color:#2196F3;color:#fff}.formDialogFooter:not(.formDialogFooter-clear){background-color:#f0f0f0;border-top:1px solid rgba(0,0,0,.08);color:inherit}.cardText-secondary,.fieldDescription,.guide-programNameCaret,.listItem .secondary,.nowPlayingBarSecondaryText,.programSecondaryTitle,.secondaryText{color:#888}.cardFooter-vibrant .cardText-secondary{color:inherit;opacity:.5}.formDialogHeader a,.toast{color:#fff}.actionSheetMenuItem:hover{background-color:#ddd}.toast{background:#303030;color:rgba(255,255,255,.87)}.appfooter{background:#282828;color:#ccc;color:rgba(255,255,255,.78)}@supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)){.appfooter-blurred{background:rgba(24,24,24,.7);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.nowPlayingBarSecondaryText{color:#999}.itemSelectionPanel{border:1px solid #2196F3}.selectionCommandsPanel{background:#2196F3;color:#fff}.upNextDialog-countdownText{color:#2196F3}.alphaPickerButton{color:#555;color:rgba(0,0,0,.7);background-color:transparent}.alphaPickerButton-selected,.alphaPickerButton-tv:focus{background-color:#2196F3;color:#fff!important}.detailTableBodyRow-shaded:nth-child(even),.listItem-shaded:nth-child(even){background:#f8f8f8}.listItem:focus{background:#ddd}.progressring-spiner{border-color:#2196F3}.mediaInfoText{color:#333;background:#fff}.mediaInfoTimerIcon,.starIcon{color:#CB272A}.emby-input,.emby-textarea{color:inherit;background:#fff;border:.07em solid rgba(0,0,0,.158);-webkit-border-radius:.15em;border-radius:.15em}.emby-input:focus,.emby-textarea:focus{border-color:#2196F3}.emby-select-withcolor{color:inherit;background:#fff;border:.07em solid rgba(0,0,0,.158);-webkit-border-radius:.15em;border-radius:.15em}.card:focus .card-focuscontent,.emby-checkbox:checked+span+span+.checkboxOutline,.emby-select-withcolor:focus{border-color:#2196F3}.emby-checkbox:focus+span+.emby-checkbox-focushelper{background-color:rgba(33,150,243,.26)}.emby-checkbox:checked+span+span+.checkboxOutline>.checkboxOutlineTick,.itemProgressBarForeground{background-color:#2196F3}.itemProgressBarForeground-recording{background-color:#CB272A}.countIndicator,.fullSyncIndicator,.playedIndicator{background:#2196F3}.fullSyncIndicator{color:#fff}.mainDrawer{background:#fff}.navMenuDivider{background:#eaeaea;background:rgba(0,0,0,.14)}.navMenuOption:hover{background:#f2f2f2}.navMenuOption-selected{background:#2196F3!important;color:#fff}.emby-tab-button{color:#fff;color:rgba(255,255,255,.5)}.emby-tab-button-active,.emby-tab-button-active.emby-button-tv,.emby-tab-button.emby-button-tv:focus{color:#fff;color:rgba(255,255,255,1)}.guide-channelHeaderCell,.guide-channelTimeslotHeader{background:#d2d2d2}.programCellInner{background-color:#e2e2e2}.programCellInner-sports{background:#3949AB}.programCellInner-movie{background:#5E35B1}.programCellInner-kids{background:#039BE5}.programCellInner-news{background:#43A047}.guide-programTextIcon{color:#1e1e1e;background:#aaa}.guide-headerTimeslots{color:inherit}.guide-currentTimeIndicatorBar{background-color:#2196F3}.guide-currentTimeIndicatorArrow,.guide-currentTimeIndicatorArrowContainer{color:#2196F3}.guide-date-tab-button{color:#555;color:rgba(0,0,0,.54)}.guide-date-tab-button.emby-tab-button-active,.guide-date-tab-button:focus{color:#2196F3}.guide-date-tab-button.emby-button-tv:focus{background-color:#2196F3;color:#fff}.itemBackdropFader{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(#f2f2f2));background:-webkit-linear-gradient(rgba(0,0,0,0),#f2f2f2);background:-o-linear-gradient(rgba(0,0,0,0),#f2f2f2);background:linear-gradient(rgba(0,0,0,0),#f2f2f2)}@media all and (min-width:62.5em){.detailButton-mobile{background:rgba(0,0,0,.14)!important;backdrop-filter:blur(10px)}}.infoBanner{color:#000;background:#fff3a5;padding:1em;-webkit-border-radius:.25em;border-radius:.25em}.ratingbutton-icon-withrating{color:#c33}.downloadbutton-icon-complete,.downloadbutton-icon-on{color:#4285F4}.playstatebutton-icon-played{color:#c33}.repeatButton-active{color:#4285F4} \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/light-green/theme.css b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/light-green/theme.css index 63d741b246..c4d613b57e 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/light-green/theme.css +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/light-green/theme.css @@ -1 +1 @@ -.skinHeader,html{color:#222;color:rgba(0,0,0,.87)}.emby-collapsible-button{border-color:#ccc;border-color:rgba(0,0,0,.158)}.collapseContent{background-color:#eaeaea}.skinHeader-withBackground{background-color:#52B54B;-webkit-box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37);box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37);color:#fff}.osdHeader{-webkit-box-shadow:none!important;box-shadow:none!important}.skinHeader.semiTransparent{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background-color:rgba(0,0,0,.3);background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.6)),to(rgba(0,0,0,0)));background:-webkit-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:-o-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0))}.pageTitleWithDefaultLogo{background-image:url(logo.png)}.backgroundContainer{background-color:#f2f2f2}.backgroundContainer.withBackdrop{background-color:rgba(255,255,255,.94)}.dialog{background-color:#f0f0f0}.paper-icon-button-light:focus{color:#52B54B}.skinHeader-withBackground .button-link,.skinHeader-withBackground .paper-icon-button-light:focus{color:#fff}.fab,.raised{background:#fff;color:inherit}.button-submit{background:#52B54B;color:#fff}.button-cancel{background:#fff;color:inherit}.button-accent{background:#52B54B;color:#fff}.checkboxLabel{color:inherit}.checkboxListLabel,.inputLabel,.inputLabelUnfocused,.paperListLabel,.selectLabelUnfocused,.textareaLabelUnfocused{color:#555}.button-link,.inputLabelFocused,.selectLabelFocused,.textareaLabelFocused{color:green}.checkboxOutline{border-color:currentColor}.paperList,.visualCardBox{background-color:#fff}.formDialogHeader:not(.formDialogHeader-clear){background-color:#52B54B;color:#fff}.formDialogFooter:not(.formDialogFooter-clear){background-color:#f0f0f0;border-top:1px solid #ddd;border-top:1px solid rgba(0,0,0,.08);color:inherit}.cardText-secondary,.fieldDescription,.guide-programNameCaret,.listItem .secondary,.nowPlayingBarSecondaryText,.programSecondaryTitle,.secondaryText{color:#888}.cardFooter-vibrant .cardText-secondary{color:inherit;opacity:.5}.formDialogHeader a,.toast{color:#fff}.actionSheetMenuItem:hover{background-color:#ddd}.toast{background:#303030;color:rgba(255,255,255,.87)}.appfooter{background:#282828;color:#ccc;color:rgba(255,255,255,.78)}@supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)){.appfooter-blurred{background:rgba(24,24,24,.7);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.nowPlayingBarSecondaryText{color:#999}.itemSelectionPanel{border:1px solid #52B54B}.selectionCommandsPanel{background:#52B54B;color:#fff}.upNextDialog-countdownText{color:#52B54B}.alphaPickerButton{color:#555;color:rgba(0,0,0,.7);background-color:transparent}.alphaPickerButton-selected,.alphaPickerButton-tv:focus{background-color:#52B54B;color:#fff!important}.detailTableBodyRow-shaded:nth-child(even),.listItem-shaded:nth-child(even){background:#f8f8f8}.listItem:focus{background:#ddd}.progressring-spiner{border-color:#52B54B}.mediaInfoText{color:#333;background:#fff}.mediaInfoTimerIcon,.starIcon{color:#CB272A}.emby-input,.emby-textarea{color:inherit;background:#fff;border:.07em solid rgba(0,0,0,.158);-webkit-border-radius:.15em;border-radius:.15em}.emby-input:focus,.emby-textarea:focus{border-color:#52B54B}.emby-select-withcolor{color:inherit;background:#fff;border:.07em solid rgba(0,0,0,.158);-webkit-border-radius:.15em;border-radius:.15em}.card:focus .card-focuscontent,.emby-checkbox:checked+span+span+.checkboxOutline,.emby-select-withcolor:focus{border-color:#52B54B}.emby-checkbox:focus+span+.emby-checkbox-focushelper{background-color:rgba(82,181,75,.26)}.emby-checkbox:checked+span+span+.checkboxOutline>.checkboxOutlineTick,.itemProgressBarForeground{background-color:#52B54B}.itemProgressBarForeground-recording{background-color:#CB272A}.countIndicator,.fullSyncIndicator,.playedIndicator{background:#52B54B}.fullSyncIndicator{color:#fff}.mainDrawer{background:#fff}.navMenuDivider{background:#eaeaea;background:rgba(0,0,0,.12)}.navMenuOption:hover{background:#f2f2f2}.navMenuOption-selected{background:#52B54B!important;color:#fff}.emby-tab-button{color:#fff;color:rgba(255,255,255,.5)}.emby-tab-button-active,.emby-tab-button-active.emby-button-tv,.emby-tab-button.emby-button-tv:focus{color:#fff;color:rgba(255,255,255,1)}.guide-channelHeaderCell,.guide-channelTimeslotHeader{background:#d2d2d2}.programCellInner{background-color:#e2e2e2}.programCellInner-sports{background:#3949AB}.programCellInner-movie{background:#5E35B1}.programCellInner-kids{background:#039BE5}.programCellInner-news{background:#43A047}.guide-programTextIcon{color:#1e1e1e;background:#aaa}.guide-headerTimeslots{color:inherit}.guide-currentTimeIndicatorBar{background-color:#52B54B}.guide-currentTimeIndicatorArrow,.guide-currentTimeIndicatorArrowContainer{color:#52B54B}.guide-date-tab-button{color:#555;color:rgba(0,0,0,.54)}.guide-date-tab-button.emby-tab-button-active,.guide-date-tab-button:focus{color:#52B54B}.guide-date-tab-button.emby-button-tv:focus{background-color:#52B54B;color:#fff}.itemBackdropFader{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(#f2f2f2));background:-webkit-linear-gradient(rgba(0,0,0,0),#f2f2f2);background:-o-linear-gradient(rgba(0,0,0,0),#f2f2f2);background:linear-gradient(rgba(0,0,0,0),#f2f2f2)}@media all and (min-width:62.5em){.detailButton-mobile{background:rgba(0,0,0,.14)!important;backdrop-filter:blur(10px)}}.infoBanner{color:#000;background:#fff3a5;padding:1em;-webkit-border-radius:.25em;border-radius:.25em}.ratingbutton-icon-withrating{color:#c33}.downloadbutton-icon-complete,.downloadbutton-icon-on{color:#4285F4}.playstatebutton-icon-played{color:#c33}.repeatButton-active{color:#4285F4} \ No newline at end of file +.skinHeader,html{color:#222;color:rgba(0,0,0,.87)}.emby-collapsible-button{border-color:#ccc;border-color:rgba(0,0,0,.158)}.collapseContent{background-color:#eaeaea}.skinHeader-withBackground{background-color:#52B54B;-webkit-box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37);box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37);color:#fff}.osdHeader{-webkit-box-shadow:none!important;box-shadow:none!important}.skinHeader.semiTransparent{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background-color:rgba(0,0,0,.3);background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.6)),to(rgba(0,0,0,0)));background:-webkit-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:-o-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0))}.pageTitleWithDefaultLogo{background-image:url(logo.png)}.backgroundContainer{background-color:#f2f2f2}.backgroundContainer.withBackdrop{background-color:rgba(255,255,255,.94)}.dialog{background-color:#f0f0f0}.paper-icon-button-light:focus{color:#52B54B}.skinHeader-withBackground .button-link,.skinHeader-withBackground .paper-icon-button-light:focus{color:#fff}.fab,.raised{background:#fff;color:inherit}.button-submit{background:#52B54B;color:#fff}.button-cancel{background:#fff;color:inherit}.button-accent{background:#52B54B;color:#fff}.checkboxLabel{color:inherit}.checkboxListLabel,.inputLabel,.inputLabelUnfocused,.paperListLabel,.selectLabelUnfocused,.textareaLabelUnfocused{color:#555}.button-link,.inputLabelFocused,.selectLabelFocused,.textareaLabelFocused{color:green}.checkboxOutline{border-color:currentColor}.paperList,.visualCardBox{background-color:#fff}.formDialogHeader:not(.formDialogHeader-clear){background-color:#52B54B;color:#fff}.formDialogFooter:not(.formDialogFooter-clear){background-color:#f0f0f0;border-top:1px solid #ddd;border-top:1px solid rgba(0,0,0,.08);color:inherit}.cardText-secondary,.fieldDescription,.guide-programNameCaret,.listItem .secondary,.nowPlayingBarSecondaryText,.programSecondaryTitle,.secondaryText{color:#888}.actionsheetDivider{background:#ddd;background:rgba(0,0,0,.14)}.cardFooter-vibrant .cardText-secondary{color:inherit;opacity:.5}.formDialogHeader a,.toast{color:#fff}.actionSheetMenuItem:hover{background-color:#ddd}.toast{background:#303030;color:rgba(255,255,255,.87)}.appfooter{background:#282828;color:#ccc;color:rgba(255,255,255,.78)}@supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)){.appfooter-blurred{background:rgba(24,24,24,.7);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.nowPlayingBarSecondaryText{color:#999}.itemSelectionPanel{border:1px solid #52B54B}.selectionCommandsPanel{background:#52B54B;color:#fff}.upNextDialog-countdownText{color:#52B54B}.alphaPickerButton{color:#555;color:rgba(0,0,0,.7);background-color:transparent}.alphaPickerButton-selected,.alphaPickerButton-tv:focus{background-color:#52B54B;color:#fff!important}.detailTableBodyRow-shaded:nth-child(even),.listItem-shaded:nth-child(even){background:#f8f8f8}.listItem:focus{background:#ddd}.progressring-spiner{border-color:#52B54B}.mediaInfoText{color:#333;background:#fff}.mediaInfoTimerIcon,.starIcon{color:#CB272A}.emby-input,.emby-textarea{color:inherit;background:#fff;border:.07em solid rgba(0,0,0,.158);-webkit-border-radius:.15em;border-radius:.15em}.emby-input:focus,.emby-textarea:focus{border-color:#52B54B}.emby-select-withcolor{color:inherit;background:#fff;border:.07em solid rgba(0,0,0,.158);-webkit-border-radius:.15em;border-radius:.15em}.card:focus .card-focuscontent,.emby-checkbox:checked+span+span+.checkboxOutline,.emby-select-withcolor:focus{border-color:#52B54B}.emby-checkbox:focus+span+.emby-checkbox-focushelper{background-color:rgba(82,181,75,.26)}.emby-checkbox:checked+span+span+.checkboxOutline>.checkboxOutlineTick,.itemProgressBarForeground{background-color:#52B54B}.itemProgressBarForeground-recording{background-color:#CB272A}.countIndicator,.fullSyncIndicator,.playedIndicator{background:#52B54B}.fullSyncIndicator{color:#fff}.mainDrawer{background:#fff}.navMenuDivider{background:#eaeaea;background:rgba(0,0,0,.12)}.navMenuOption:hover{background:#f2f2f2}.navMenuOption-selected{background:#52B54B!important;color:#fff}.emby-tab-button{color:#fff;color:rgba(255,255,255,.5)}.emby-tab-button-active,.emby-tab-button-active.emby-button-tv,.emby-tab-button.emby-button-tv:focus{color:#fff;color:rgba(255,255,255,1)}.guide-channelHeaderCell,.guide-channelTimeslotHeader{background:#d2d2d2}.programCellInner{background-color:#e2e2e2}.programCellInner-sports{background:#3949AB}.programCellInner-movie{background:#5E35B1}.programCellInner-kids{background:#039BE5}.programCellInner-news{background:#43A047}.guide-programTextIcon{color:#1e1e1e;background:#aaa}.guide-headerTimeslots{color:inherit}.guide-currentTimeIndicatorBar{background-color:#52B54B}.guide-currentTimeIndicatorArrow,.guide-currentTimeIndicatorArrowContainer{color:#52B54B}.guide-date-tab-button{color:#555;color:rgba(0,0,0,.54)}.guide-date-tab-button.emby-tab-button-active,.guide-date-tab-button:focus{color:#52B54B}.guide-date-tab-button.emby-button-tv:focus{background-color:#52B54B;color:#fff}.itemBackdropFader{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(#f2f2f2));background:-webkit-linear-gradient(rgba(0,0,0,0),#f2f2f2);background:-o-linear-gradient(rgba(0,0,0,0),#f2f2f2);background:linear-gradient(rgba(0,0,0,0),#f2f2f2)}@media all and (min-width:62.5em){.detailButton-mobile{background:rgba(0,0,0,.14)!important;backdrop-filter:blur(10px)}}.infoBanner{color:#000;background:#fff3a5;padding:1em;-webkit-border-radius:.25em;border-radius:.25em}.ratingbutton-icon-withrating{color:#c33}.downloadbutton-icon-complete,.downloadbutton-icon-on{color:#4285F4}.playstatebutton-icon-played{color:#c33}.repeatButton-active{color:#4285F4} \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/light-pink/theme.css b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/light-pink/theme.css index 346718990a..b91b83f542 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/light-pink/theme.css +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/light-pink/theme.css @@ -1 +1 @@ -.skinHeader,html{color:#222;color:rgba(0,0,0,.87)}.emby-collapsible-button{border-color:#ccc;border-color:rgba(0,0,0,.158)}.collapseContent{background-color:#eaeaea}.skinHeader-withBackground{background-color:#E91E63;-webkit-box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37);box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37);color:#fff}.osdHeader{-webkit-box-shadow:none!important;box-shadow:none!important}.skinHeader.semiTransparent{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background-color:rgba(0,0,0,.3);background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.6)),to(rgba(0,0,0,0)));background:-webkit-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:-o-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0))}.pageTitleWithDefaultLogo{background-image:url(logo.png)}.backgroundContainer{background-color:#f2f2f2}.backgroundContainer.withBackdrop{background-color:rgba(255,255,255,.94)}.dialog{background-color:#f0f0f0}.paper-icon-button-light:focus{color:#E91E63}.skinHeader-withBackground .paper-icon-button-light:focus{color:#fff}.fab,.raised{background:#fff;color:inherit}.button-submit{background:#E91E63;color:#fff}.button-cancel{background:#fff;color:inherit}.button-accent{background:#E91E63;color:#fff}.checkboxLabel{color:inherit}.checkboxListLabel,.inputLabel,.inputLabelUnfocused,.paperListLabel,.selectLabelUnfocused,.textareaLabelUnfocused{color:#555;color:rgba(0,0,0,.7)}.button-link,.inputLabelFocused,.selectLabelFocused,.textareaLabelFocused{color:#E91E63}.checkboxOutline{border-color:currentColor}.paperList,.visualCardBox{background-color:#F8BBD0}.formDialogHeader:not(.formDialogHeader-clear){background-color:#E91E63;color:#fff}.formDialogFooter:not(.formDialogFooter-clear){background-color:#f0f0f0;border-top:1px solid rgba(0,0,0,.08);color:inherit}.cardText-secondary,.fieldDescription,.guide-programNameCaret,.listItem .secondary,.nowPlayingBarSecondaryText,.programSecondaryTitle,.secondaryText{color:#888;color:rgba(0,0,0,.54)}.cardFooter-vibrant .cardText-secondary{color:inherit;opacity:.5}.formDialogHeader a,.toast{color:#fff}.actionSheetMenuItem:hover{background-color:#ddd}.toast{background:#303030;color:rgba(255,255,255,.87)}.appfooter{background:#282828;color:#ccc;color:rgba(255,255,255,.78)}@supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)){.appfooter-blurred{background:rgba(24,24,24,.7);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.nowPlayingBarSecondaryText{color:#999}.itemSelectionPanel{border:1px solid #E91E63}.selectionCommandsPanel{background:#E91E63;color:#fff}.upNextDialog-countdownText{color:#E91E63}.alphaPickerButton{color:#555;color:rgba(0,0,0,.7);background-color:transparent}.alphaPickerButton-selected,.alphaPickerButton-tv:focus{background-color:#E91E63;color:#fff!important}.detailTableBodyRow-shaded:nth-child(even),.listItem-shaded:nth-child(even){background:#f8f8f8}.listItem:focus{background:#ddd}.progressring-spiner{border-color:#E91E63}.mediaInfoText{color:#333;background:#fff}.mediaInfoTimerIcon,.starIcon{color:#CB272A}.emby-input,.emby-textarea{color:inherit;background:#fff;border:.07em solid rgba(0,0,0,.158);-webkit-border-radius:.15em;border-radius:.15em}.emby-input:focus,.emby-textarea:focus{border-color:#E91E63}.emby-select-withcolor{color:inherit;background:#fff;border:.07em solid rgba(0,0,0,.158);-webkit-border-radius:.15em;border-radius:.15em}.card:focus .card-focuscontent,.emby-checkbox:checked+span+span+.checkboxOutline,.emby-select-withcolor:focus{border-color:#E91E63}.emby-checkbox:focus+span+.emby-checkbox-focushelper{background-color:rgba(233,30,99,.26)}.emby-checkbox:checked+span+span+.checkboxOutline>.checkboxOutlineTick,.itemProgressBarForeground{background-color:#E91E63}.itemProgressBarForeground-recording{background-color:#CB272A}.countIndicator,.fullSyncIndicator,.playedIndicator{background:#E91E63}.fullSyncIndicator{color:#fff}.mainDrawer{background:#fff}.navMenuDivider{background:#eaeaea;background:rgba(0,0,0,.12)}.navMenuOption:hover{background:#f2f2f2}.navMenuOption-selected{background:#E91E63!important;color:#fff}.emby-tab-button{color:#fff;color:rgba(255,255,255,.5)}.emby-tab-button-active,.emby-tab-button-active.emby-button-tv,.emby-tab-button.emby-button-tv:focus{color:#fff;color:rgba(255,255,255,1)}.guide-channelHeaderCell,.guide-channelTimeslotHeader{background:#d2d2d2}.programCellInner{background-color:#e2e2e2}.programCellInner-sports{background:#3949AB}.programCellInner-movie{background:#5E35B1}.programCellInner-kids{background:#039BE5}.programCellInner-news{background:#43A047}.guide-programTextIcon{color:#1e1e1e;background:#aaa}.guide-headerTimeslots{color:inherit}.guide-currentTimeIndicatorBar{background-color:#E91E63}.guide-currentTimeIndicatorArrow,.guide-currentTimeIndicatorArrowContainer{color:#E91E63}.guide-date-tab-button{color:#555;color:rgba(0,0,0,.54)}.guide-date-tab-button.emby-tab-button-active,.guide-date-tab-button:focus{color:#E91E63}.guide-date-tab-button.emby-button-tv:focus{background-color:#E91E63;color:#fff}.itemBackdropFader{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(#f2f2f2));background:-webkit-linear-gradient(rgba(0,0,0,0),#f2f2f2);background:-o-linear-gradient(rgba(0,0,0,0),#f2f2f2);background:linear-gradient(rgba(0,0,0,0),#f2f2f2)}@media all and (min-width:62.5em){.detailButton-mobile{background:rgba(0,0,0,.14)!important;backdrop-filter:blur(10px)}}.infoBanner{color:#000;background:#fff3a5;padding:1em;-webkit-border-radius:.25em;border-radius:.25em}.ratingbutton-icon-withrating{color:#c33}.downloadbutton-icon-complete,.downloadbutton-icon-on{color:#4285F4}.playstatebutton-icon-played{color:#c33}.repeatButton-active{color:#4285F4} \ No newline at end of file +.skinHeader,html{color:#222;color:rgba(0,0,0,.87)}.emby-collapsible-button{border-color:#ccc;border-color:rgba(0,0,0,.158)}.collapseContent{background-color:#eaeaea}.skinHeader-withBackground{background-color:#E91E63;-webkit-box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37);box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37);color:#fff}.osdHeader{-webkit-box-shadow:none!important;box-shadow:none!important}.skinHeader.semiTransparent{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background-color:rgba(0,0,0,.3);background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.6)),to(rgba(0,0,0,0)));background:-webkit-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:-o-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0))}.pageTitleWithDefaultLogo{background-image:url(logo.png)}.backgroundContainer{background-color:#f2f2f2}.backgroundContainer.withBackdrop{background-color:rgba(255,255,255,.94)}.dialog{background-color:#f0f0f0}.paper-icon-button-light:focus{color:#E91E63}.skinHeader-withBackground .paper-icon-button-light:focus{color:#fff}.fab,.raised{background:#fff;color:inherit}.button-submit{background:#E91E63;color:#fff}.button-cancel{background:#fff;color:inherit}.button-accent{background:#E91E63;color:#fff}.checkboxLabel{color:inherit}.checkboxListLabel,.inputLabel,.inputLabelUnfocused,.paperListLabel,.selectLabelUnfocused,.textareaLabelUnfocused{color:#555;color:rgba(0,0,0,.7)}.button-link,.inputLabelFocused,.selectLabelFocused,.textareaLabelFocused{color:#E91E63}.checkboxOutline{border-color:currentColor}.paperList,.visualCardBox{background-color:#F8BBD0}.formDialogHeader:not(.formDialogHeader-clear){background-color:#E91E63;color:#fff}.formDialogFooter:not(.formDialogFooter-clear){background-color:#f0f0f0;border-top:1px solid rgba(0,0,0,.08);color:inherit}.cardText-secondary,.fieldDescription,.guide-programNameCaret,.listItem .secondary,.nowPlayingBarSecondaryText,.programSecondaryTitle,.secondaryText{color:#888;color:rgba(0,0,0,.54)}.actionsheetDivider{background:#ddd;background:rgba(0,0,0,.14)}.cardFooter-vibrant .cardText-secondary{color:inherit;opacity:.5}.formDialogHeader a,.toast{color:#fff}.actionSheetMenuItem:hover{background-color:#ddd}.toast{background:#303030;color:rgba(255,255,255,.87)}.appfooter{background:#282828;color:#ccc;color:rgba(255,255,255,.78)}@supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)){.appfooter-blurred{background:rgba(24,24,24,.7);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.nowPlayingBarSecondaryText{color:#999}.itemSelectionPanel{border:1px solid #E91E63}.selectionCommandsPanel{background:#E91E63;color:#fff}.upNextDialog-countdownText{color:#E91E63}.alphaPickerButton{color:#555;color:rgba(0,0,0,.7);background-color:transparent}.alphaPickerButton-selected,.alphaPickerButton-tv:focus{background-color:#E91E63;color:#fff!important}.detailTableBodyRow-shaded:nth-child(even),.listItem-shaded:nth-child(even){background:#f8f8f8}.listItem:focus{background:#ddd}.progressring-spiner{border-color:#E91E63}.mediaInfoText{color:#333;background:#fff}.mediaInfoTimerIcon,.starIcon{color:#CB272A}.emby-input,.emby-textarea{color:inherit;background:#fff;border:.07em solid rgba(0,0,0,.158);-webkit-border-radius:.15em;border-radius:.15em}.emby-input:focus,.emby-textarea:focus{border-color:#E91E63}.emby-select-withcolor{color:inherit;background:#fff;border:.07em solid rgba(0,0,0,.158);-webkit-border-radius:.15em;border-radius:.15em}.card:focus .card-focuscontent,.emby-checkbox:checked+span+span+.checkboxOutline,.emby-select-withcolor:focus{border-color:#E91E63}.emby-checkbox:focus+span+.emby-checkbox-focushelper{background-color:rgba(233,30,99,.26)}.emby-checkbox:checked+span+span+.checkboxOutline>.checkboxOutlineTick,.itemProgressBarForeground{background-color:#E91E63}.itemProgressBarForeground-recording{background-color:#CB272A}.countIndicator,.fullSyncIndicator,.playedIndicator{background:#E91E63}.fullSyncIndicator{color:#fff}.mainDrawer{background:#fff}.navMenuDivider{background:#eaeaea;background:rgba(0,0,0,.12)}.navMenuOption:hover{background:#f2f2f2}.navMenuOption-selected{background:#E91E63!important;color:#fff}.emby-tab-button{color:#fff;color:rgba(255,255,255,.5)}.emby-tab-button-active,.emby-tab-button-active.emby-button-tv,.emby-tab-button.emby-button-tv:focus{color:#fff;color:rgba(255,255,255,1)}.guide-channelHeaderCell,.guide-channelTimeslotHeader{background:#d2d2d2}.programCellInner{background-color:#e2e2e2}.programCellInner-sports{background:#3949AB}.programCellInner-movie{background:#5E35B1}.programCellInner-kids{background:#039BE5}.programCellInner-news{background:#43A047}.guide-programTextIcon{color:#1e1e1e;background:#aaa}.guide-headerTimeslots{color:inherit}.guide-currentTimeIndicatorBar{background-color:#E91E63}.guide-currentTimeIndicatorArrow,.guide-currentTimeIndicatorArrowContainer{color:#E91E63}.guide-date-tab-button{color:#555;color:rgba(0,0,0,.54)}.guide-date-tab-button.emby-tab-button-active,.guide-date-tab-button:focus{color:#E91E63}.guide-date-tab-button.emby-button-tv:focus{background-color:#E91E63;color:#fff}.itemBackdropFader{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(#f2f2f2));background:-webkit-linear-gradient(rgba(0,0,0,0),#f2f2f2);background:-o-linear-gradient(rgba(0,0,0,0),#f2f2f2);background:linear-gradient(rgba(0,0,0,0),#f2f2f2)}@media all and (min-width:62.5em){.detailButton-mobile{background:rgba(0,0,0,.14)!important;backdrop-filter:blur(10px)}}.infoBanner{color:#000;background:#fff3a5;padding:1em;-webkit-border-radius:.25em;border-radius:.25em}.ratingbutton-icon-withrating{color:#c33}.downloadbutton-icon-complete,.downloadbutton-icon-on{color:#4285F4}.playstatebutton-icon-played{color:#c33}.repeatButton-active{color:#4285F4} \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/light-purple/theme.css b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/light-purple/theme.css index 720f886131..6d77f1da2e 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/light-purple/theme.css +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/light-purple/theme.css @@ -1 +1 @@ -.skinHeader,html{color:#222;color:rgba(0,0,0,.87)}.emby-collapsible-button{border-color:#ccc;border-color:rgba(0,0,0,.158)}.collapseContent{background-color:#eaeaea}.skinHeader-withBackground{background-color:#673AB7;-webkit-box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37);box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37);color:#fff}.osdHeader{-webkit-box-shadow:none!important;box-shadow:none!important}.skinHeader.semiTransparent{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background-color:rgba(0,0,0,.3);background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.6)),to(rgba(0,0,0,0)));background:-webkit-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:-o-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0))}.pageTitleWithDefaultLogo{background-image:url(logo.png)}.backgroundContainer{background-color:#EDE7F6}.backgroundContainer.withBackdrop{background-color:rgba(237,241,236,.94)}.dialog{background-color:#f0f0f0}.paper-icon-button-light:focus{color:#673AB7}.skinHeader-withBackground .paper-icon-button-light:focus{color:#fff}.fab,.raised{background:#fff;color:inherit}.button-submit{background:#673AB7;color:#fff}.button-cancel{background:#fff;color:inherit}.button-accent{background:#673AB7;color:#fff}.checkboxLabel{color:inherit}.checkboxListLabel,.inputLabel,.inputLabelUnfocused,.paperListLabel,.selectLabelUnfocused,.textareaLabelUnfocused{color:#555;color:rgba(0,0,0,.7)}.button-link,.inputLabelFocused,.selectLabelFocused,.textareaLabelFocused{color:#673AB7}.checkboxOutline{border-color:currentColor}.paperList,.visualCardBox{background-color:#D1C4E9}.formDialogHeader:not(.formDialogHeader-clear){background-color:#673AB7;color:#fff}.formDialogFooter:not(.formDialogFooter-clear){background-color:#f0f0f0;border-top:1px solid #ddd;border-top:1px solid rgba(0,0,0,.08);color:inherit}.cardText-secondary,.fieldDescription,.guide-programNameCaret,.listItem .secondary,.nowPlayingBarSecondaryText,.programSecondaryTitle,.secondaryText{color:#888;color:rgba(0,0,0,.54)}.listItem:focus{background:#ddd}.cardFooter-vibrant .cardText-secondary{color:inherit;opacity:.5}.formDialogHeader a,.toast{color:#fff}.actionSheetMenuItem:hover{background-color:#ddd}.toast{background:#303030;color:rgba(255,255,255,.87)}.appfooter{background:#282828;color:#ccc;color:rgba(255,255,255,.78)}@supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)){.appfooter-blurred{background:rgba(24,24,24,.7);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.nowPlayingBarSecondaryText{color:#999}.itemSelectionPanel{border:1px solid #673AB7}.selectionCommandsPanel{background:#673AB7;color:#fff}.upNextDialog-countdownText{color:#673AB7}.alphaPickerButton{color:#555;color:rgba(0,0,0,.7);background-color:transparent}.alphaPickerButton-selected,.alphaPickerButton-tv:focus{background-color:#673AB7;color:#fff!important}.detailTableBodyRow-shaded:nth-child(even),.listItem-shaded:nth-child(even){background:#f8f8f8}.progressring-spiner{border-color:#673AB7}.mediaInfoText{color:#333;background:#fff}.mediaInfoTimerIcon,.starIcon{color:#CB272A}.emby-input,.emby-textarea{color:inherit;background:#fff;border:.07em solid rgba(0,0,0,.158);-webkit-border-radius:.15em;border-radius:.15em}.emby-input:focus,.emby-textarea:focus{border-color:#673AB7}.emby-select-withcolor{color:inherit;background:#fff;border:.07em solid rgba(0,0,0,.158);-webkit-border-radius:.15em;border-radius:.15em}.card:focus .card-focuscontent,.emby-checkbox:checked+span+span+.checkboxOutline,.emby-select-withcolor:focus{border-color:#673AB7}.emby-checkbox:focus+span+.emby-checkbox-focushelper{background-color:rgba(103,58,183,.26)}.emby-checkbox:checked+span+span+.checkboxOutline>.checkboxOutlineTick,.itemProgressBarForeground{background-color:#673AB7}.itemProgressBarForeground-recording{background-color:#CB272A}.countIndicator,.fullSyncIndicator,.playedIndicator{background:#673AB7}.fullSyncIndicator{color:#fff}.mainDrawer{background:#fff}.navMenuDivider{background:#eaeaea;background:rgba(0,0,0,.12)}.navMenuOption:hover{background:#f2f2f2}.navMenuOption-selected{background:#673AB7!important;color:#fff}.emby-tab-button{color:#fff;color:rgba(255,255,255,.54)}.emby-tab-button-active,.emby-tab-button-active.emby-button-tv,.emby-tab-button.emby-button-tv:focus{color:#fff;color:rgba(255,255,255,1)}.guide-channelHeaderCell,.guide-channelTimeslotHeader{background:#B39DDB}.programCellInner{background-color:#D1C4E9}.programCellInner-sports{background:#3949AB}.programCellInner-movie{background:#5E35B1}.programCellInner-kids{background:#039BE5}.programCellInner-news{background:#43A047}.guide-programTextIcon{color:#1e1e1e;background:#aaa}.guide-headerTimeslots{color:inherit}.guide-currentTimeIndicatorBar{background-color:#673AB7}.guide-currentTimeIndicatorArrow,.guide-currentTimeIndicatorArrowContainer{color:#673AB7}.guide-date-tab-button{color:#555;color:rgba(0,0,0,.54)}.guide-date-tab-button.emby-tab-button-active,.guide-date-tab-button:focus{color:#673AB7}.guide-date-tab-button.emby-button-tv:focus{background-color:#673AB7;color:#fff}.itemBackdropFader{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(#EDE7F6));background:-webkit-linear-gradient(rgba(0,0,0,0),#EDE7F6);background:-o-linear-gradient(rgba(0,0,0,0),#EDE7F6);background:linear-gradient(rgba(0,0,0,0),#EDE7F6)}@media all and (min-width:62.5em){.detailButton-mobile{background:rgba(0,0,0,.14)!important;backdrop-filter:blur(10px)}}.infoBanner{color:#000;background:#fff3a5;padding:1em;-webkit-border-radius:.25em;border-radius:.25em}.ratingbutton-icon-withrating{color:#c33}.downloadbutton-icon-complete,.downloadbutton-icon-on{color:#4285F4}.playstatebutton-icon-played{color:#c33}.repeatButton-active{color:#4285F4} \ No newline at end of file +.skinHeader,html{color:#222;color:rgba(0,0,0,.87)}.emby-collapsible-button{border-color:#ccc;border-color:rgba(0,0,0,.158)}.collapseContent{background-color:#eaeaea}.skinHeader-withBackground{background-color:#673AB7;-webkit-box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37);box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37);color:#fff}.osdHeader{-webkit-box-shadow:none!important;box-shadow:none!important}.skinHeader.semiTransparent{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background-color:rgba(0,0,0,.3);background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.6)),to(rgba(0,0,0,0)));background:-webkit-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:-o-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0))}.pageTitleWithDefaultLogo{background-image:url(logo.png)}.backgroundContainer{background-color:#EDE7F6}.backgroundContainer.withBackdrop{background-color:rgba(237,241,236,.94)}.dialog{background-color:#f0f0f0}.paper-icon-button-light:focus{color:#673AB7}.skinHeader-withBackground .paper-icon-button-light:focus{color:#fff}.fab,.raised{background:#fff;color:inherit}.button-submit{background:#673AB7;color:#fff}.button-cancel{background:#fff;color:inherit}.button-accent{background:#673AB7;color:#fff}.checkboxLabel{color:inherit}.checkboxListLabel,.inputLabel,.inputLabelUnfocused,.paperListLabel,.selectLabelUnfocused,.textareaLabelUnfocused{color:#555;color:rgba(0,0,0,.7)}.button-link,.inputLabelFocused,.selectLabelFocused,.textareaLabelFocused{color:#673AB7}.checkboxOutline{border-color:currentColor}.paperList,.visualCardBox{background-color:#D1C4E9}.formDialogHeader:not(.formDialogHeader-clear){background-color:#673AB7;color:#fff}.formDialogFooter:not(.formDialogFooter-clear){background-color:#f0f0f0;border-top:1px solid #ddd;border-top:1px solid rgba(0,0,0,.08);color:inherit}.cardText-secondary,.fieldDescription,.guide-programNameCaret,.listItem .secondary,.nowPlayingBarSecondaryText,.programSecondaryTitle,.secondaryText{color:#888;color:rgba(0,0,0,.54)}.actionsheetDivider{background:#ddd;background:rgba(0,0,0,.14)}.listItem:focus{background:#ddd}.cardFooter-vibrant .cardText-secondary{color:inherit;opacity:.5}.formDialogHeader a,.toast{color:#fff}.actionSheetMenuItem:hover{background-color:#ddd}.toast{background:#303030;color:rgba(255,255,255,.87)}.appfooter{background:#282828;color:#ccc;color:rgba(255,255,255,.78)}@supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)){.appfooter-blurred{background:rgba(24,24,24,.7);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.nowPlayingBarSecondaryText{color:#999}.itemSelectionPanel{border:1px solid #673AB7}.selectionCommandsPanel{background:#673AB7;color:#fff}.upNextDialog-countdownText{color:#673AB7}.alphaPickerButton{color:#555;color:rgba(0,0,0,.7);background-color:transparent}.alphaPickerButton-selected,.alphaPickerButton-tv:focus{background-color:#673AB7;color:#fff!important}.detailTableBodyRow-shaded:nth-child(even),.listItem-shaded:nth-child(even){background:#f8f8f8}.progressring-spiner{border-color:#673AB7}.mediaInfoText{color:#333;background:#fff}.mediaInfoTimerIcon,.starIcon{color:#CB272A}.emby-input,.emby-textarea{color:inherit;background:#fff;border:.07em solid rgba(0,0,0,.158);-webkit-border-radius:.15em;border-radius:.15em}.emby-input:focus,.emby-textarea:focus{border-color:#673AB7}.emby-select-withcolor{color:inherit;background:#fff;border:.07em solid rgba(0,0,0,.158);-webkit-border-radius:.15em;border-radius:.15em}.card:focus .card-focuscontent,.emby-checkbox:checked+span+span+.checkboxOutline,.emby-select-withcolor:focus{border-color:#673AB7}.emby-checkbox:focus+span+.emby-checkbox-focushelper{background-color:rgba(103,58,183,.26)}.emby-checkbox:checked+span+span+.checkboxOutline>.checkboxOutlineTick,.itemProgressBarForeground{background-color:#673AB7}.itemProgressBarForeground-recording{background-color:#CB272A}.countIndicator,.fullSyncIndicator,.playedIndicator{background:#673AB7}.fullSyncIndicator{color:#fff}.mainDrawer{background:#fff}.navMenuDivider{background:#eaeaea;background:rgba(0,0,0,.12)}.navMenuOption:hover{background:#f2f2f2}.navMenuOption-selected{background:#673AB7!important;color:#fff}.emby-tab-button{color:#fff;color:rgba(255,255,255,.54)}.emby-tab-button-active,.emby-tab-button-active.emby-button-tv,.emby-tab-button.emby-button-tv:focus{color:#fff;color:rgba(255,255,255,1)}.guide-channelHeaderCell,.guide-channelTimeslotHeader{background:#B39DDB}.programCellInner{background-color:#D1C4E9}.programCellInner-sports{background:#3949AB}.programCellInner-movie{background:#5E35B1}.programCellInner-kids{background:#039BE5}.programCellInner-news{background:#43A047}.guide-programTextIcon{color:#1e1e1e;background:#aaa}.guide-headerTimeslots{color:inherit}.guide-currentTimeIndicatorBar{background-color:#673AB7}.guide-currentTimeIndicatorArrow,.guide-currentTimeIndicatorArrowContainer{color:#673AB7}.guide-date-tab-button{color:#555;color:rgba(0,0,0,.54)}.guide-date-tab-button.emby-tab-button-active,.guide-date-tab-button:focus{color:#673AB7}.guide-date-tab-button.emby-button-tv:focus{background-color:#673AB7;color:#fff}.itemBackdropFader{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(#EDE7F6));background:-webkit-linear-gradient(rgba(0,0,0,0),#EDE7F6);background:-o-linear-gradient(rgba(0,0,0,0),#EDE7F6);background:linear-gradient(rgba(0,0,0,0),#EDE7F6)}@media all and (min-width:62.5em){.detailButton-mobile{background:rgba(0,0,0,.14)!important;backdrop-filter:blur(10px)}}.infoBanner{color:#000;background:#fff3a5;padding:1em;-webkit-border-radius:.25em;border-radius:.25em}.ratingbutton-icon-withrating{color:#c33}.downloadbutton-icon-complete,.downloadbutton-icon-on{color:#4285F4}.playstatebutton-icon-played{color:#c33}.repeatButton-active{color:#4285F4} \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/light-red/theme.css b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/light-red/theme.css index 5d8901220a..41538133f0 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/light-red/theme.css +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/light-red/theme.css @@ -1 +1 @@ -.skinHeader,html{color:#222;color:rgba(0,0,0,.87)}.emby-collapsible-button{border-color:#ccc;border-color:rgba(0,0,0,.158)}.collapseContent{background-color:#eaeaea}.skinHeader-withBackground{background-color:#c33;-webkit-box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37);box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37);color:#fff}.osdHeader{-webkit-box-shadow:none!important;box-shadow:none!important}.skinHeader.semiTransparent{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background-color:rgba(0,0,0,.3);background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.6)),to(rgba(0,0,0,0)));background:-webkit-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:-o-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0))}.pageTitleWithDefaultLogo{background-image:url(logo.png)}.backgroundContainer{background-color:#f2f2f2}.backgroundContainer.withBackdrop{background-color:rgba(255,255,255,.94)}.dialog{background-color:#f0f0f0}.paper-icon-button-light:focus{color:#c33}.skinHeader-withBackground .paper-icon-button-light:focus{color:#fff}.fab,.raised{background:#fff;color:inherit}.button-submit{background:#c33;color:#fff}.button-cancel{background:#fff;color:inherit}.button-accent{background:#c33;color:#fff}.checkboxLabel{color:inherit}.checkboxListLabel,.inputLabel,.inputLabelUnfocused,.paperListLabel,.selectLabelUnfocused,.textareaLabelUnfocused{color:#555}.button-link,.inputLabelFocused,.selectLabelFocused,.textareaLabelFocused{color:#c33}.checkboxOutline{border-color:currentColor}.paperList,.visualCardBox{background-color:#fff}.formDialogHeader:not(.formDialogHeader-clear){background-color:#c33;color:#fff}.formDialogFooter:not(.formDialogFooter-clear){background-color:#f0f0f0;border-top:1px solid #ddd;border-top:1px solid rgba(0,0,0,.08);color:inherit}.cardText-secondary,.fieldDescription,.guide-programNameCaret,.listItem .secondary,.nowPlayingBarSecondaryText,.programSecondaryTitle,.secondaryText{color:#888}.cardFooter-vibrant .cardText-secondary{color:inherit;opacity:.5}.formDialogHeader a,.toast{color:#fff}.actionSheetMenuItem:hover{background-color:#ddd}.toast{background:#303030;color:rgba(255,255,255,.87)}.appfooter{background:#282828;color:#ccc;color:rgba(255,255,255,.78)}@supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)){.appfooter-blurred{background:rgba(24,24,24,.7);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.nowPlayingBarSecondaryText{color:#999}.itemSelectionPanel{border:1px solid #c33}.selectionCommandsPanel{background:#c33;color:#fff}.upNextDialog-countdownText{color:#c33}.alphaPickerButton{color:#555;color:rgba(0,0,0,.7);background-color:transparent}.alphaPickerButton-selected,.alphaPickerButton-tv:focus{background-color:#c33;color:#fff!important}.detailTableBodyRow-shaded:nth-child(even),.listItem-shaded:nth-child(even){background:#f8f8f8}.listItem:focus{background:#ddd}.progressring-spiner{border-color:#c33}.mediaInfoText{color:#333;background:#fff}.mediaInfoTimerIcon,.starIcon{color:#CB272A}.emby-input,.emby-textarea{color:inherit;background:#fff;border:.07em solid rgba(0,0,0,.158);-webkit-border-radius:.15em;border-radius:.15em}.emby-input:focus,.emby-textarea:focus{border-color:#c33}.emby-select-withcolor{color:inherit;background:#fff;border:.07em solid rgba(0,0,0,.158);-webkit-border-radius:.15em;border-radius:.15em}.card:focus .card-focuscontent,.emby-checkbox:checked+span+span+.checkboxOutline,.emby-select-withcolor:focus{border-color:#c33}.emby-checkbox:focus+span+.emby-checkbox-focushelper{background-color:rgba(204,51,51,.26)}.emby-checkbox:checked+span+span+.checkboxOutline>.checkboxOutlineTick,.itemProgressBarForeground{background-color:#c33}.itemProgressBarForeground-recording{background-color:#CB272A}.countIndicator,.playedIndicator{background:#c33}.fullSyncIndicator{background:#c33;color:#fff}.mainDrawer{background:#fff}.navMenuDivider{background:#eaeaea;background:rgba(0,0,0,.12)}.navMenuOption:hover{background:#f2f2f2}.navMenuOption-selected{background:#c33!important;color:#fff}.emby-tab-button{color:#fff;color:rgba(255,255,255,.5)}.emby-tab-button-active,.emby-tab-button-active.emby-button-tv,.emby-tab-button.emby-button-tv:focus{color:#fff;color:rgba(255,255,255,1)}.guide-channelHeaderCell,.guide-channelTimeslotHeader{background:#d0d0d0}.programCellInner{background-color:#e0e0e0}.programCellInner-sports{background:#3949AB}.programCellInner-movie{background:#5E35B1}.programCellInner-kids{background:#039BE5}.programCellInner-news{background:#43A047}.guide-programTextIcon{color:#1e1e1e;background:#aaa}.guide-headerTimeslots{color:inherit}.guide-currentTimeIndicatorBar{background-color:#c33}.guide-currentTimeIndicatorArrow,.guide-currentTimeIndicatorArrowContainer{color:#c33}.guide-date-tab-button{color:#555;color:rgba(0,0,0,.54)}.guide-date-tab-button.emby-tab-button-active,.guide-date-tab-button:focus{color:#c33}.guide-date-tab-button.emby-button-tv:focus{background-color:#c33;color:#fff}.itemBackdropFader{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(#f2f2f2));background:-webkit-linear-gradient(rgba(0,0,0,0),#f2f2f2);background:-o-linear-gradient(rgba(0,0,0,0),#f2f2f2);background:linear-gradient(rgba(0,0,0,0),#f2f2f2)}@media all and (min-width:62.5em){.detailButton-mobile{background:rgba(0,0,0,.14)!important;backdrop-filter:blur(10px)}}.infoBanner{color:#000;background:#fff3a5;padding:1em;-webkit-border-radius:.25em;border-radius:.25em}.ratingbutton-icon-withrating{color:#c33}.downloadbutton-icon-complete,.downloadbutton-icon-on{color:#4285F4}.playstatebutton-icon-played{color:#c33}.repeatButton-active{color:#4285F4} \ No newline at end of file +.skinHeader,html{color:#222;color:rgba(0,0,0,.87)}.emby-collapsible-button{border-color:#ccc;border-color:rgba(0,0,0,.158)}.collapseContent{background-color:#eaeaea}.skinHeader-withBackground{background-color:#c33;-webkit-box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37);box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37);color:#fff}.osdHeader{-webkit-box-shadow:none!important;box-shadow:none!important}.skinHeader.semiTransparent{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background-color:rgba(0,0,0,.3);background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.6)),to(rgba(0,0,0,0)));background:-webkit-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:-o-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0))}.pageTitleWithDefaultLogo{background-image:url(logo.png)}.backgroundContainer{background-color:#f2f2f2}.backgroundContainer.withBackdrop{background-color:rgba(255,255,255,.94)}.dialog{background-color:#f0f0f0}.paper-icon-button-light:focus{color:#c33}.skinHeader-withBackground .paper-icon-button-light:focus{color:#fff}.fab,.raised{background:#fff;color:inherit}.button-submit{background:#c33;color:#fff}.button-cancel{background:#fff;color:inherit}.button-accent{background:#c33;color:#fff}.checkboxLabel{color:inherit}.checkboxListLabel,.inputLabel,.inputLabelUnfocused,.paperListLabel,.selectLabelUnfocused,.textareaLabelUnfocused{color:#555}.button-link,.inputLabelFocused,.selectLabelFocused,.textareaLabelFocused{color:#c33}.checkboxOutline{border-color:currentColor}.paperList,.visualCardBox{background-color:#fff}.formDialogHeader:not(.formDialogHeader-clear){background-color:#c33;color:#fff}.formDialogFooter:not(.formDialogFooter-clear){background-color:#f0f0f0;border-top:1px solid #ddd;border-top:1px solid rgba(0,0,0,.08);color:inherit}.cardText-secondary,.fieldDescription,.guide-programNameCaret,.listItem .secondary,.nowPlayingBarSecondaryText,.programSecondaryTitle,.secondaryText{color:#888}.actionsheetDivider{background:#ddd;background:rgba(0,0,0,.14)}.cardFooter-vibrant .cardText-secondary{color:inherit;opacity:.5}.formDialogHeader a,.toast{color:#fff}.actionSheetMenuItem:hover{background-color:#ddd}.toast{background:#303030;color:rgba(255,255,255,.87)}.appfooter{background:#282828;color:#ccc;color:rgba(255,255,255,.78)}@supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)){.appfooter-blurred{background:rgba(24,24,24,.7);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.nowPlayingBarSecondaryText{color:#999}.itemSelectionPanel{border:1px solid #c33}.selectionCommandsPanel{background:#c33;color:#fff}.upNextDialog-countdownText{color:#c33}.alphaPickerButton{color:#555;color:rgba(0,0,0,.7);background-color:transparent}.alphaPickerButton-selected,.alphaPickerButton-tv:focus{background-color:#c33;color:#fff!important}.detailTableBodyRow-shaded:nth-child(even),.listItem-shaded:nth-child(even){background:#f8f8f8}.listItem:focus{background:#ddd}.progressring-spiner{border-color:#c33}.mediaInfoText{color:#333;background:#fff}.mediaInfoTimerIcon,.starIcon{color:#CB272A}.emby-input,.emby-textarea{color:inherit;background:#fff;border:.07em solid rgba(0,0,0,.158);-webkit-border-radius:.15em;border-radius:.15em}.emby-input:focus,.emby-textarea:focus{border-color:#c33}.emby-select-withcolor{color:inherit;background:#fff;border:.07em solid rgba(0,0,0,.158);-webkit-border-radius:.15em;border-radius:.15em}.card:focus .card-focuscontent,.emby-checkbox:checked+span+span+.checkboxOutline,.emby-select-withcolor:focus{border-color:#c33}.emby-checkbox:focus+span+.emby-checkbox-focushelper{background-color:rgba(204,51,51,.26)}.emby-checkbox:checked+span+span+.checkboxOutline>.checkboxOutlineTick,.itemProgressBarForeground{background-color:#c33}.itemProgressBarForeground-recording{background-color:#CB272A}.countIndicator,.playedIndicator{background:#c33}.fullSyncIndicator{background:#c33;color:#fff}.mainDrawer{background:#fff}.navMenuDivider{background:#eaeaea;background:rgba(0,0,0,.12)}.navMenuOption:hover{background:#f2f2f2}.navMenuOption-selected{background:#c33!important;color:#fff}.emby-tab-button{color:#fff;color:rgba(255,255,255,.5)}.emby-tab-button-active,.emby-tab-button-active.emby-button-tv,.emby-tab-button.emby-button-tv:focus{color:#fff;color:rgba(255,255,255,1)}.guide-channelHeaderCell,.guide-channelTimeslotHeader{background:#d0d0d0}.programCellInner{background-color:#e0e0e0}.programCellInner-sports{background:#3949AB}.programCellInner-movie{background:#5E35B1}.programCellInner-kids{background:#039BE5}.programCellInner-news{background:#43A047}.guide-programTextIcon{color:#1e1e1e;background:#aaa}.guide-headerTimeslots{color:inherit}.guide-currentTimeIndicatorBar{background-color:#c33}.guide-currentTimeIndicatorArrow,.guide-currentTimeIndicatorArrowContainer{color:#c33}.guide-date-tab-button{color:#555;color:rgba(0,0,0,.54)}.guide-date-tab-button.emby-tab-button-active,.guide-date-tab-button:focus{color:#c33}.guide-date-tab-button.emby-button-tv:focus{background-color:#c33;color:#fff}.itemBackdropFader{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(#f2f2f2));background:-webkit-linear-gradient(rgba(0,0,0,0),#f2f2f2);background:-o-linear-gradient(rgba(0,0,0,0),#f2f2f2);background:linear-gradient(rgba(0,0,0,0),#f2f2f2)}@media all and (min-width:62.5em){.detailButton-mobile{background:rgba(0,0,0,.14)!important;backdrop-filter:blur(10px)}}.infoBanner{color:#000;background:#fff3a5;padding:1em;-webkit-border-radius:.25em;border-radius:.25em}.ratingbutton-icon-withrating{color:#c33}.downloadbutton-icon-complete,.downloadbutton-icon-on{color:#4285F4}.playstatebutton-icon-played{color:#c33}.repeatButton-active{color:#4285F4} \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/light/theme.css b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/light/theme.css index 3696cfcc88..5e26041ad7 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/light/theme.css +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/light/theme.css @@ -1 +1 @@ -.skinHeader,html{color:#222;color:rgba(0,0,0,.87)}.emby-collapsible-button{border-color:#ccc;border-color:rgba(0,0,0,.158)}.collapseContent{background-color:#eaeaea}.skinHeader-withBackground{background-color:#303030;color:#ccc;color:rgba(255,255,255,.87);-webkit-box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37);box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37)}.osdHeader{-webkit-box-shadow:none!important;box-shadow:none!important}.skinHeader.semiTransparent{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background-color:rgba(0,0,0,.3);background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.6)),to(rgba(0,0,0,0)));background:-webkit-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:-o-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0))}.pageTitleWithDefaultLogo{background-image:url(logo.png)}.backgroundContainer{background-color:#f2f2f2}.backgroundContainer.withBackdrop{background-color:rgba(255,255,255,.94)}.dialog{background-color:#f0f0f0}.paper-icon-button-light:focus{color:#52B54B}.fab,.raised{background:#fff;color:inherit}.button-submit{background:#52B54B;color:#fff}.button-cancel{background:#fff;color:inherit}.button-accent{background:#52B54B;color:#fff}.checkboxLabel{color:inherit}.checkboxListLabel,.inputLabel,.inputLabelUnfocused,.paperListLabel,.selectLabelUnfocused,.textareaLabelUnfocused{color:#555}.button-link,.inputLabelFocused,.selectLabelFocused,.textareaLabelFocused{color:green}.checkboxOutline{border-color:currentColor}.paperList,.visualCardBox{background-color:#fff}.formDialogHeader:not(.formDialogHeader-clear){background-color:#52B54B;color:#fff}.formDialogFooter:not(.formDialogFooter-clear){background-color:#f0f0f0;border-top:1px solid #ddd;border-top:1px solid rgba(0,0,0,.08);color:inherit}.cardText-secondary,.fieldDescription,.guide-programNameCaret,.listItem .secondary,.nowPlayingBarSecondaryText,.programSecondaryTitle,.secondaryText{color:#888}.cardFooter-vibrant .cardText-secondary{color:inherit;opacity:.5}.formDialogHeader a,.toast{color:#fff}.actionSheetMenuItem:hover{background-color:#ddd}.toast{background:#303030;color:rgba(255,255,255,.87)}.appfooter{background:#282828;color:#ccc;color:rgba(255,255,255,.78)}@supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)){.appfooter-blurred{background:rgba(24,24,24,.7);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.nowPlayingBarSecondaryText{color:#999}.itemSelectionPanel{border:1px solid #52B54B}.selectionCommandsPanel{background:#52B54B;color:#fff}.upNextDialog-countdownText{color:#52B54B}.alphaPickerButton{color:#555;color:rgba(0,0,0,.7);background-color:transparent}.alphaPickerButton-selected,.alphaPickerButton-tv:focus{background-color:#52B54B;color:#fff!important}.detailTableBodyRow-shaded:nth-child(even),.listItem-shaded:nth-child(even){background:#f8f8f8}.listItem:focus{background:#ddd}.progressring-spiner{border-color:#52B54B}.mediaInfoText{color:#333;background:#fff}.mediaInfoTimerIcon,.starIcon{color:#CB272A}.emby-input,.emby-textarea{color:inherit;background:#fff;border:.07em solid rgba(0,0,0,.158);-webkit-border-radius:.15em;border-radius:.15em}.emby-input:focus,.emby-textarea:focus{border-color:#52B54B}.emby-select-withcolor{color:inherit;background:#fff;border:.07em solid rgba(0,0,0,.158);-webkit-border-radius:.15em;border-radius:.15em}.card:focus .card-focuscontent,.emby-checkbox:checked+span+span+.checkboxOutline,.emby-select-withcolor:focus{border-color:#52B54B}.emby-checkbox:focus+span+.emby-checkbox-focushelper{background-color:rgba(82,181,75,.26)}.emby-checkbox:checked+span+span+.checkboxOutline>.checkboxOutlineTick,.itemProgressBarForeground{background-color:#52B54B}.itemProgressBarForeground-recording{background-color:#CB272A}.countIndicator,.fullSyncIndicator,.playedIndicator{background:#52B54B}.fullSyncIndicator{color:#fff}.mainDrawer{background:#fff}.navMenuDivider{background:#eaeaea;background:rgba(0,0,0,.12)}.navMenuOption:hover{background:#f2f2f2}.navMenuOption-selected{background:#52B54B!important;color:#fff}.emby-tab-button{color:#999;color:rgba(255,255,255,.5)}.emby-tab-button-active{color:#52B54B}.emby-tab-button-active.emby-button-tv{color:#fff}.emby-tab-button.emby-button-tv:focus{color:#52B54B}.guide-channelHeaderCell,.guide-channelTimeslotHeader{background:#d2d2d2}.programCellInner{background-color:#e2e2e2}.programCellInner-sports{background:#3949AB}.programCellInner-movie{background:#5E35B1}.programCellInner-kids{background:#039BE5}.programCellInner-news{background:#43A047}.guide-programTextIcon{color:#1e1e1e;background:#aaa}.guide-headerTimeslots{color:inherit}.guide-currentTimeIndicatorBar{background-color:#52B54B}.guide-currentTimeIndicatorArrow,.guide-currentTimeIndicatorArrowContainer{color:#52B54B}.guide-date-tab-button{color:#555;color:rgba(0,0,0,.54)}.guide-date-tab-button.emby-tab-button-active,.guide-date-tab-button:focus{color:#52B54B}.guide-date-tab-button.emby-button-tv:focus{background-color:#52B54B;color:#fff}.itemBackdropFader{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(#f2f2f2));background:-webkit-linear-gradient(rgba(0,0,0,0),#f2f2f2);background:-o-linear-gradient(rgba(0,0,0,0),#f2f2f2);background:linear-gradient(rgba(0,0,0,0),#f2f2f2)}@media all and (min-width:62.5em){.detailButton-mobile{background:rgba(0,0,0,.14)!important;backdrop-filter:blur(10px)}}.infoBanner{color:#000;background:#fff3a5;padding:1em;-webkit-border-radius:.25em;border-radius:.25em}.ratingbutton-icon-withrating{color:#c33}.downloadbutton-icon-complete,.downloadbutton-icon-on{color:#4285F4}.playstatebutton-icon-played{color:#c33}.repeatButton-active{color:#4285F4} \ No newline at end of file +.skinHeader,html{color:#222;color:rgba(0,0,0,.87)}.emby-collapsible-button{border-color:#ccc;border-color:rgba(0,0,0,.158)}.collapseContent{background-color:#eaeaea}.skinHeader-withBackground{background-color:#303030;color:#ccc;color:rgba(255,255,255,.87);-webkit-box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37);box-shadow:0 .0725em .29em 0 rgba(0,0,0,.37)}.osdHeader{-webkit-box-shadow:none!important;box-shadow:none!important}.skinHeader.semiTransparent{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background-color:rgba(0,0,0,.3);background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.6)),to(rgba(0,0,0,0)));background:-webkit-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:-o-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0))}.pageTitleWithDefaultLogo{background-image:url(logo.png)}.backgroundContainer{background-color:#f2f2f2}.backgroundContainer.withBackdrop{background-color:rgba(255,255,255,.94)}.dialog{background-color:#f0f0f0}.paper-icon-button-light:focus{color:#52B54B}.fab,.raised{background:#fff;color:inherit}.button-submit{background:#52B54B;color:#fff}.button-cancel{background:#fff;color:inherit}.button-accent{background:#52B54B;color:#fff}.checkboxLabel{color:inherit}.checkboxListLabel,.inputLabel,.inputLabelUnfocused,.paperListLabel,.selectLabelUnfocused,.textareaLabelUnfocused{color:#555}.button-link,.inputLabelFocused,.selectLabelFocused,.textareaLabelFocused{color:green}.checkboxOutline{border-color:currentColor}.paperList,.visualCardBox{background-color:#fff}.formDialogHeader:not(.formDialogHeader-clear){background-color:#52B54B;color:#fff}.formDialogFooter:not(.formDialogFooter-clear){background-color:#f0f0f0;border-top:1px solid #ddd;border-top:1px solid rgba(0,0,0,.08);color:inherit}.cardText-secondary,.fieldDescription,.guide-programNameCaret,.listItem .secondary,.nowPlayingBarSecondaryText,.programSecondaryTitle,.secondaryText{color:#888}.actionsheetDivider{background:#ddd;background:rgba(0,0,0,.14)}.cardFooter-vibrant .cardText-secondary{color:inherit;opacity:.5}.formDialogHeader a,.toast{color:#fff}.actionSheetMenuItem:hover{background-color:#ddd}.toast{background:#303030;color:rgba(255,255,255,.87)}.appfooter{background:#282828;color:#ccc;color:rgba(255,255,255,.78)}@supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)){.appfooter-blurred{background:rgba(24,24,24,.7);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.nowPlayingBarSecondaryText{color:#999}.itemSelectionPanel{border:1px solid #52B54B}.selectionCommandsPanel{background:#52B54B;color:#fff}.upNextDialog-countdownText{color:#52B54B}.alphaPickerButton{color:#555;color:rgba(0,0,0,.7);background-color:transparent}.alphaPickerButton-selected,.alphaPickerButton-tv:focus{background-color:#52B54B;color:#fff!important}.detailTableBodyRow-shaded:nth-child(even),.listItem-shaded:nth-child(even){background:#f8f8f8}.listItem:focus{background:#ddd}.progressring-spiner{border-color:#52B54B}.mediaInfoText{color:#333;background:#fff}.mediaInfoTimerIcon,.starIcon{color:#CB272A}.emby-input,.emby-textarea{color:inherit;background:#fff;border:.07em solid rgba(0,0,0,.158);-webkit-border-radius:.15em;border-radius:.15em}.emby-input:focus,.emby-textarea:focus{border-color:#52B54B}.emby-select-withcolor{color:inherit;background:#fff;border:.07em solid rgba(0,0,0,.158);-webkit-border-radius:.15em;border-radius:.15em}.card:focus .card-focuscontent,.emby-checkbox:checked+span+span+.checkboxOutline,.emby-select-withcolor:focus{border-color:#52B54B}.emby-checkbox:focus+span+.emby-checkbox-focushelper{background-color:rgba(82,181,75,.26)}.emby-checkbox:checked+span+span+.checkboxOutline>.checkboxOutlineTick,.itemProgressBarForeground{background-color:#52B54B}.itemProgressBarForeground-recording{background-color:#CB272A}.countIndicator,.fullSyncIndicator,.playedIndicator{background:#52B54B}.fullSyncIndicator{color:#fff}.mainDrawer{background:#fff}.navMenuDivider{background:#eaeaea;background:rgba(0,0,0,.12)}.navMenuOption:hover{background:#f2f2f2}.navMenuOption-selected{background:#52B54B!important;color:#fff}.emby-tab-button{color:#999;color:rgba(255,255,255,.5)}.emby-tab-button-active{color:#52B54B}.emby-tab-button-active.emby-button-tv{color:#fff}.emby-tab-button.emby-button-tv:focus{color:#52B54B}.guide-channelHeaderCell,.guide-channelTimeslotHeader{background:#d2d2d2}.programCellInner{background-color:#e2e2e2}.programCellInner-sports{background:#3949AB}.programCellInner-movie{background:#5E35B1}.programCellInner-kids{background:#039BE5}.programCellInner-news{background:#43A047}.guide-programTextIcon{color:#1e1e1e;background:#aaa}.guide-headerTimeslots{color:inherit}.guide-currentTimeIndicatorBar{background-color:#52B54B}.guide-currentTimeIndicatorArrow,.guide-currentTimeIndicatorArrowContainer{color:#52B54B}.guide-date-tab-button{color:#555;color:rgba(0,0,0,.54)}.guide-date-tab-button.emby-tab-button-active,.guide-date-tab-button:focus{color:#52B54B}.guide-date-tab-button.emby-button-tv:focus{background-color:#52B54B;color:#fff}.itemBackdropFader{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(#f2f2f2));background:-webkit-linear-gradient(rgba(0,0,0,0),#f2f2f2);background:-o-linear-gradient(rgba(0,0,0,0),#f2f2f2);background:linear-gradient(rgba(0,0,0,0),#f2f2f2)}@media all and (min-width:62.5em){.detailButton-mobile{background:rgba(0,0,0,.14)!important;backdrop-filter:blur(10px)}}.infoBanner{color:#000;background:#fff3a5;padding:1em;-webkit-border-radius:.25em;border-radius:.25em}.ratingbutton-icon-withrating{color:#c33}.downloadbutton-icon-complete,.downloadbutton-icon-on{color:#4285F4}.playstatebutton-icon-played{color:#c33}.repeatButton-active{color:#4285F4} \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/verydark/theme.css b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/verydark/theme.css index 6eeab68434..f35909a489 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/verydark/theme.css +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/verydark/theme.css @@ -1 +1 @@ -html{color:#ddd;color:rgba(255,255,255,.73)}.emby-collapsible-button{border-color:#383838;border-color:rgba(255,255,255,.135)}.skinHeader-withBackground{background-color:#191919;color:rgba(255,255,255,.7)}@supports (backdrop-filter:blur(1.5em)) or (-webkit-backdrop-filter:blur(1.5em)){.skinHeader-blurred{background-color:#1f1f1f;color:rgba(255,255,255,.7)}}.skinHeader.semiTransparent{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background-color:rgba(0,0,0,.3);background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.6)),to(rgba(0,0,0,0)));background:-webkit-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:-o-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0))}.pageTitleWithDefaultLogo{background-image:url(logo.png)}.backgroundContainer,.dialog{background-color:#141414}.backgroundContainer.withBackdrop{background-color:rgba(12,12,12,.9)}.detailBackgroundContainer.withBackdrop{background-color:rgba(6,6,6,.94);background:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.99)),color-stop(rgba(0,0,0,.94)),to(rgba(0,0,0,.5)));background:-webkit-linear-gradient(left,rgba(0,0,0,.99),rgba(0,0,0,.94),rgba(0,0,0,.5));background:-o-linear-gradient(left,rgba(0,0,0,.99),rgba(0,0,0,.94),rgba(0,0,0,.5));background:linear-gradient(to right,rgba(0,0,0,.99),rgba(0,0,0,.94),rgba(0,0,0,.5))}.paper-icon-button-light:focus{color:#52B54B}.fab,.raised{background:#282828;color:#fff}.button-accent,.button-submit{background:#52B54B;color:#fff}.checkboxLabel{color:inherit}.checkboxListLabel,.inputLabel,.inputLabelUnfocused,.paperListLabel,.selectLabelUnfocused,.textareaLabelUnfocused{color:#bbb;color:rgba(255,255,255,.7)}.inputLabelFocused,.selectLabelFocused,.textareaLabelFocused{color:#52B54B}.checkboxOutline{border-color:currentColor}.collapseContent,.formDialogFooter:not(.formDialogFooter-clear),.formDialogHeader:not(.formDialogHeader-clear),.paperList,.visualCardBox{background-color:#222326}.cardText-secondary,.fieldDescription,.guide-programNameCaret,.listItem .secondary,.nowPlayingBarSecondaryText,.programSecondaryTitle,.secondaryText{color:#999;color:rgba(255,255,255,.5)}.cardFooter-vibrant .cardText-secondary{color:inherit;opacity:.5}.actionSheetMenuItem:hover{background-color:#222}.toast{background:#303030;color:#fff;color:rgba(255,255,255,.87)}.appfooter{background:#101010;color:#ccc;color:rgba(255,255,255,.78)}@supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)){.appfooter-blurred{background:rgba(24,24,24,.7);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.itemSelectionPanel{border:1px solid #52B54B}.selectionCommandsPanel{background:#52B54B;color:#fff}.upNextDialog-countdownText{color:#52B54B}.alphaPickerButton{color:#999;color:rgba(255,255,255,.5);background-color:transparent}.alphaPickerButton-selected,.alphaPickerButton-tv:focus{background-color:#52B54B;color:#fff!important}.detailTableBodyRow-shaded:nth-child(even),.listItem-shaded:nth-child(even){background:#1c1c1c;background:rgba(30,30,30,.9)}.listItem:focus{background:#333}.progressring-spiner{border-color:#52B54B}.button-flat-accent,.button-link{color:#52B54B}.mediaInfoText{color:#ddd;background:rgba(170,170,190,.2)}.mediaInfoTimerIcon,.starIcon{color:#CB272A}.emby-input,.emby-textarea{color:inherit;background:#222326;border:.07em solid #222326;-webkit-border-radius:.15em;border-radius:.15em}.emby-input:focus,.emby-textarea:focus{border-color:#52B54B}.emby-select-withcolor{color:inherit;background:#222326;border:.07em solid #222326;-webkit-border-radius:.15em;border-radius:.15em}.card:focus .card-focuscontent,.emby-checkbox:checked+span+span+.checkboxOutline,.emby-select-withcolor:focus{border-color:#52B54B}.emby-select-withcolor>option{color:inherit}.emby-checkbox:focus+span+.emby-checkbox-focushelper{background-color:rgba(82,181,75,.26)}.emby-checkbox:checked+span+span+.checkboxOutline>.checkboxOutlineTick,.itemProgressBarForeground{background-color:#52B54B}.itemProgressBarForeground-recording{background-color:#CB272A}.countIndicator,.fullSyncIndicator,.playedIndicator{background:#52B54B}.fullSyncIndicator{color:#fff}.mainDrawer{background-color:#1c1c1f;color:#ccc;color:rgba(255,255,255,.7)}.navMenuDivider{background:#222326;background:rgba(255,255,255,.12)}.navMenuOption:hover{background:#252528}.navMenuOption-selected{background:#52B54B!important;color:#fff}.emby-tab-button{color:#999;color:rgba(255,255,255,.4)}.emby-tab-button-active{color:#52B54B}.emby-tab-button-active.emby-button-tv{color:#fff}.emby-tab-button.emby-button-tv:focus{color:#52B54B}.guide-channelHeaderCell,.guide-channelTimeslotHeader{background:#2a2a2a}.programCellInner{background-color:#1e1e1e}.programCellInner-sports{background:#3949AB}.programCellInner-movie{background:#5E35B1}.programCellInner-kids{background:#039BE5}.programCellInner-news{background:#43A047}.guide-programTextIcon{color:#1e1e1e;background:#555}.guide-currentTimeIndicatorBar{background-color:#52B54B}.guide-currentTimeIndicatorArrow,.guide-currentTimeIndicatorArrowContainer{color:#52B54B}.guide-headerTimeslots{color:inherit}.guide-date-tab-button{color:#555;color:rgba(255,255,255,.3)}.guide-date-tab-button.emby-tab-button-active,.guide-date-tab-button:focus{color:#52B54B}.guide-date-tab-button.emby-button-tv:focus{background-color:#52B54B;color:#fff}.itemBackdropFader{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(#141414));background:-webkit-linear-gradient(rgba(0,0,0,0),#141414);background:-o-linear-gradient(rgba(0,0,0,0),#141414);background:linear-gradient(rgba(0,0,0,0),#141414)}@media all and (min-width:62.5em){.detailButton-mobile{background:rgba(255,255,255,.14)!important;backdrop-filter:blur(10px)}}.infoBanner{color:#ddd;background:#111;padding:1em;-webkit-border-radius:.25em;border-radius:.25em}.ratingbutton-icon-withrating{color:#c33}.downloadbutton-icon-complete,.downloadbutton-icon-on{color:#4285F4}.playstatebutton-icon-played{color:#c33}.repeatButton-active{color:#4285F4} \ No newline at end of file +html{color:#ddd;color:rgba(255,255,255,.73)}.emby-collapsible-button{border-color:#383838;border-color:rgba(255,255,255,.135)}.skinHeader-withBackground{background-color:#191919;color:rgba(255,255,255,.7)}@supports (backdrop-filter:blur(1.5em)) or (-webkit-backdrop-filter:blur(1.5em)){.skinHeader-blurred{background-color:#1f1f1f;color:rgba(255,255,255,.7)}}.skinHeader.semiTransparent{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background-color:rgba(0,0,0,.3);background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.6)),to(rgba(0,0,0,0)));background:-webkit-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:-o-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0))}.pageTitleWithDefaultLogo{background-image:url(logo.png)}.backgroundContainer,.dialog{background-color:#141414}.backgroundContainer.withBackdrop{background-color:rgba(12,12,12,.9)}.paper-icon-button-light:focus{color:#52B54B}.fab,.raised{background:#282828;color:#fff}.button-accent,.button-submit{background:#52B54B;color:#fff}.checkboxLabel{color:inherit}.checkboxListLabel,.inputLabel,.inputLabelUnfocused,.paperListLabel,.selectLabelUnfocused,.textareaLabelUnfocused{color:#bbb;color:rgba(255,255,255,.7)}.inputLabelFocused,.selectLabelFocused,.textareaLabelFocused{color:#52B54B}.checkboxOutline{border-color:currentColor}.collapseContent,.formDialogFooter:not(.formDialogFooter-clear),.formDialogHeader:not(.formDialogHeader-clear),.paperList,.visualCardBox{background-color:#222326}.cardText-secondary,.fieldDescription,.guide-programNameCaret,.listItem .secondary,.nowPlayingBarSecondaryText,.programSecondaryTitle,.secondaryText{color:#999;color:rgba(255,255,255,.5)}.actionsheetDivider{background:#444;background:rgba(255,255,255,.14)}.cardFooter-vibrant .cardText-secondary{color:inherit;opacity:.5}.actionSheetMenuItem:hover{background-color:#222}.toast{background:#303030;color:#fff;color:rgba(255,255,255,.87)}.appfooter{background:#101010;color:#ccc;color:rgba(255,255,255,.78)}@supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)){.appfooter-blurred{background:rgba(24,24,24,.7);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.itemSelectionPanel{border:1px solid #52B54B}.selectionCommandsPanel{background:#52B54B;color:#fff}.upNextDialog-countdownText{color:#52B54B}.alphaPickerButton{color:#999;color:rgba(255,255,255,.5);background-color:transparent}.alphaPickerButton-selected,.alphaPickerButton-tv:focus{background-color:#52B54B;color:#fff!important}.detailTableBodyRow-shaded:nth-child(even),.listItem-shaded:nth-child(even){background:#1c1c1c;background:rgba(30,30,30,.9)}.listItem:focus{background:#333}.progressring-spiner{border-color:#52B54B}.button-flat-accent,.button-link{color:#52B54B}.mediaInfoText{color:#ddd;background:rgba(170,170,190,.2)}.mediaInfoTimerIcon,.starIcon{color:#CB272A}.emby-input,.emby-textarea{color:inherit;background:#222326;border:.07em solid #222326;-webkit-border-radius:.15em;border-radius:.15em}.emby-input:focus,.emby-textarea:focus{border-color:#52B54B}.emby-select-withcolor{color:inherit;background:#222326;border:.07em solid #222326;-webkit-border-radius:.15em;border-radius:.15em}.card:focus .card-focuscontent,.emby-checkbox:checked+span+span+.checkboxOutline,.emby-select-withcolor:focus{border-color:#52B54B}.emby-select-withcolor>option{color:inherit}.emby-checkbox:focus+span+.emby-checkbox-focushelper{background-color:rgba(82,181,75,.26)}.emby-checkbox:checked+span+span+.checkboxOutline>.checkboxOutlineTick,.itemProgressBarForeground{background-color:#52B54B}.itemProgressBarForeground-recording{background-color:#CB272A}.countIndicator,.fullSyncIndicator,.playedIndicator{background:#52B54B}.fullSyncIndicator{color:#fff}.mainDrawer{background-color:#1c1c1f;color:#ccc;color:rgba(255,255,255,.7)}.navMenuDivider{background:#222326;background:rgba(255,255,255,.12)}.navMenuOption:hover{background:#252528}.navMenuOption-selected{background:#52B54B!important;color:#fff}.emby-tab-button{color:#999;color:rgba(255,255,255,.4)}.emby-tab-button-active{color:#52B54B}.emby-tab-button-active.emby-button-tv{color:#fff}.emby-tab-button.emby-button-tv:focus{color:#52B54B}.guide-channelHeaderCell,.guide-channelTimeslotHeader{background:#2a2a2a}.programCellInner{background-color:#1e1e1e}.programCellInner-sports{background:#3949AB}.programCellInner-movie{background:#5E35B1}.programCellInner-kids{background:#039BE5}.programCellInner-news{background:#43A047}.guide-programTextIcon{color:#1e1e1e;background:#555}.guide-currentTimeIndicatorBar{background-color:#52B54B}.guide-currentTimeIndicatorArrow,.guide-currentTimeIndicatorArrowContainer{color:#52B54B}.guide-headerTimeslots{color:inherit}.guide-date-tab-button{color:#555;color:rgba(255,255,255,.3)}.guide-date-tab-button.emby-tab-button-active,.guide-date-tab-button:focus{color:#52B54B}.guide-date-tab-button.emby-button-tv:focus{background-color:#52B54B;color:#fff}.itemBackdropFader{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(#141414));background:-webkit-linear-gradient(rgba(0,0,0,0),#141414);background:-o-linear-gradient(rgba(0,0,0,0),#141414);background:linear-gradient(rgba(0,0,0,0),#141414)}@media all and (min-width:62.5em){.detailButton-mobile{background:#444!important}}.infoBanner{color:#ddd;background:#111;padding:1em;-webkit-border-radius:.25em;border-radius:.25em}.ratingbutton-icon-withrating{color:#c33}.downloadbutton-icon-complete,.downloadbutton-icon-on{color:#4285F4}.playstatebutton-icon-played{color:#c33}.repeatButton-active{color:#4285F4} \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/wmc/theme.css b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/wmc/theme.css index 5a8f9d8153..1e387d6c40 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/wmc/theme.css +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/themes/wmc/theme.css @@ -1 +1 @@ -html{color:#eee;color:rgba(255,255,255,.9)}.emby-collapsible-button{border-color:#383838;border-color:rgba(255,255,255,.135)}.skinHeader{color:#ccc;color:rgba(255,255,255,.78)}.formDialogHeader:not(.formDialogHeader-clear),.skinHeader-withBackground{background-color:#0C2450;background:-webkit-gradient(linear,left top,left bottom,from(#0C2450),to(#081B3B));background:-webkit-linear-gradient(top,#0C2450,#081B3B);background:-o-linear-gradient(top,#0C2450,#081B3B);background:linear-gradient(to bottom,#0C2450,#081B3B)}@supports (backdrop-filter:blur(1.5em)) or (-webkit-backdrop-filter:blur(1.5em)){.skinHeader-blurred{background:rgba(20,20,20,.7);-webkit-backdrop-filter:blur(1.5em);backdrop-filter:blur(1.5em)}}.skinHeader.semiTransparent{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background-color:rgba(0,0,0,.3);background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.6)),to(rgba(0,0,0,0)));background:-webkit-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:-o-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0))}.pageTitleWithDefaultLogo{background-image:url(logo.png)}.backgroundContainer,.dialog{background-color:#0F3562;background:-webkit-gradient(linear,left top,left bottom,from(#0F3562),color-stop(#1162A4),to(#03215F));background:-webkit-linear-gradient(top,#0F3562,#1162A4,#03215F);background:-o-linear-gradient(top,#0F3562,#1162A4,#03215F);background:linear-gradient(to bottom,#0F3562,#1162A4,#03215F)}.backgroundContainer.withBackdrop{background:rgba(17,98,164,.9)}.detailBackgroundContainer.withBackdrop{background:rgba(17,98,164,.94);background:-webkit-gradient(linear,left top,left bottom,from(rgba(15,53,98,.95)),color-stop(rgba(17,98,164,.95)),to(rgba(3,33,95,.95)));background:-webkit-linear-gradient(top,rgba(15,53,98,.95),rgba(17,98,164,.95),rgba(3,33,95,.95));background:-o-linear-gradient(top,rgba(15,53,98,.95),rgba(17,98,164,.95),rgba(3,33,95,.95));background:linear-gradient(to bottom,rgba(15,53,98,.95),rgba(17,98,164,.95),rgba(3,33,95,.95))}.paper-icon-button-light:focus{color:#52B54B}.fab,.raised{background:#082845;color:#fff}.button-accent,.button-submit{background:#52B54B;color:#fff}.checkboxLabel{color:inherit}.checkboxListLabel,.inputLabel,.inputLabelUnfocused,.paperListLabel,.selectLabelUnfocused,.textareaLabelUnfocused{color:#bbb;color:rgba(255,255,255,.7)}.inputLabelFocused,.selectLabelFocused,.textareaLabelFocused{color:#52B54B}.checkboxOutline{border-color:currentColor}.collapseContent,.paperList,.visualCardBox{background-color:#0F3562}.cardText-secondary,.fieldDescription,.guide-programNameCaret,.listItem .secondary,.nowPlayingBarSecondaryText,.programSecondaryTitle,.secondaryText{color:#999;color:rgba(255,255,255,.5)}.cardFooter-vibrant .cardText-secondary{color:inherit;opacity:.5}.toast{background:#081B3B;color:#fff;color:rgba(255,255,255,.87)}.appfooter,.formDialogFooter:not(.formDialogFooter-clear){background:#0C2450;background:-webkit-gradient(linear,left bottom,left top,from(#0C2450),to(#081B3B));background:-webkit-linear-gradient(bottom,#0C2450,#081B3B);background:-o-linear-gradient(bottom,#0C2450,#081B3B);background:linear-gradient(to top,#0C2450,#081B3B);color:rgba(255,255,255,.78)}@supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)){.appfooter-blurred{background:rgba(24,24,24,.7);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.itemSelectionPanel{border:1px solid #52B54B}.selectionCommandsPanel{background:#52B54B;color:#fff}.upNextDialog-countdownText{color:#52B54B}.alphaPickerButton{color:#999;color:rgba(255,255,255,.5);background-color:transparent}.alphaPickerButton-selected,.alphaPickerButton-tv:focus{background-color:#52B54B;color:#fff!important}.detailTableBodyRow-shaded:nth-child(even),.listItem-shaded:nth-child(even){background:#1c1c1c;background:rgba(0,0,0,.3)}.listItem:focus{background:#333}.progressring-spiner{border-color:#52B54B}.button-flat-accent,.button-link{color:#52B54B}.mediaInfoText{color:#ddd;background:rgba(170,170,190,.2)}.mediaInfoTimerIcon,.starIcon{color:#CB272A}.emby-input,.emby-textarea{color:inherit;background:rgba(255,255,255,.2);border:.07em solid rgba(255,255,255,.135);-webkit-border-radius:.15em;border-radius:.15em}.emby-input:focus,.emby-textarea:focus{border-color:#52B54B}.emby-select-withcolor{color:inherit;background:rgba(255,255,255,.2);border:.07em solid rgba(255,255,255,.135);-webkit-border-radius:.15em;border-radius:.15em}.card:focus .card-focuscontent,.emby-checkbox:checked+span+span+.checkboxOutline,.emby-select-withcolor:focus{border-color:#52B54B}.emby-select-withcolor>option{color:#000}.emby-checkbox:focus+span+.emby-checkbox-focushelper{background-color:rgba(82,181,75,.26)}.emby-checkbox:checked+span+span+.checkboxOutline>.checkboxOutlineTick,.itemProgressBarForeground{background-color:#52B54B}.itemProgressBarForeground-recording{background-color:#CB272A}.countIndicator,.fullSyncIndicator,.playedIndicator{background:#52B54B}.fullSyncIndicator{color:#fff}.mainDrawer{background-color:#0F3562;color:#ccc;color:rgba(255,255,255,.7)}.navMenuDivider{background:#262626;background:rgba(255,255,255,.12)}.actionSheetMenuItem:hover,.navMenuOption:hover{background:#252528;background:rgba(0,0,0,.2)}.navMenuOption-selected{background:#52B54B!important;color:#fff}.emby-tab-button{color:#999;color:rgba(255,255,255,.5)}.emby-tab-button-active,.emby-tab-button-active.emby-button-tv,.emby-tab-button.emby-button-tv:focus{color:#fff}.guide-channelHeaderCell,.guide-channelTimeslotHeader{background:rgba(8,27,59,.9)}.programCellInner{background-color:#022950;background:-webkit-gradient(linear,left top,right top,from(rgba(2,41,80,.9)),to(rgba(4,45,82,.9)));background:-webkit-linear-gradient(left,rgba(2,41,80,.9),rgba(4,45,82,.9));background:-o-linear-gradient(left,rgba(2,41,80,.9),rgba(4,45,82,.9));background:linear-gradient(to right,rgba(2,41,80,.9),rgba(4,45,82,.9))}.programCellInner-sports{background:#3949AB}.programCellInner-movie{background:#5E35B1}.programCellInner-kids{background:#039BE5}.programCellInner-news{background:#43A047}.guide-programTextIcon{color:#1e1e1e;background:#555}.guide-currentTimeIndicatorBar{background-color:#52B54B}.guide-currentTimeIndicatorArrow,.guide-currentTimeIndicatorArrowContainer{color:#52B54B}.guide-headerTimeslots{color:inherit}.guide-date-tab-button{color:#555;color:rgba(255,255,255,.3)}.guide-date-tab-button.emby-tab-button-active,.guide-date-tab-button:focus{color:#52B54B}.guide-date-tab-button.emby-button-tv:focus{background-color:#52B54B;color:#fff}.itemBackdropFader{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(#115E9E));background:-webkit-linear-gradient(rgba(0,0,0,0),#115E9E);background:-o-linear-gradient(rgba(0,0,0,0),#115E9E);background:linear-gradient(rgba(0,0,0,0),#115E9E)}@media all and (min-width:62.5em){.detailButton-mobile{background:rgba(0,0,0,.54)!important;backdrop-filter:blur(10px)}}.infoBanner{color:#000;background:#fff3a5;padding:1em;-webkit-border-radius:.25em;border-radius:.25em}.ratingbutton-icon-withrating{color:#c33}.downloadbutton-icon-complete,.downloadbutton-icon-on{color:#4285F4}.playstatebutton-icon-played{color:#c33}.repeatButton-active{color:#4285F4} \ No newline at end of file +html{color:#eee;color:rgba(255,255,255,.9)}.emby-collapsible-button{border-color:#383838;border-color:rgba(255,255,255,.135)}.skinHeader{color:#ccc;color:rgba(255,255,255,.78)}.formDialogHeader:not(.formDialogHeader-clear),.skinHeader-withBackground{background-color:#0C2450;background:-webkit-gradient(linear,left top,left bottom,from(#0C2450),to(#081B3B));background:-webkit-linear-gradient(top,#0C2450,#081B3B);background:-o-linear-gradient(top,#0C2450,#081B3B);background:linear-gradient(to bottom,#0C2450,#081B3B)}@supports (backdrop-filter:blur(1.5em)) or (-webkit-backdrop-filter:blur(1.5em)){.skinHeader-blurred{background:rgba(20,20,20,.7);-webkit-backdrop-filter:blur(1.5em);backdrop-filter:blur(1.5em)}}.skinHeader.semiTransparent{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background-color:rgba(0,0,0,.3);background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.6)),to(rgba(0,0,0,0)));background:-webkit-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:-o-linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0));background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0))}.pageTitleWithDefaultLogo{background-image:url(logo.png)}.backgroundContainer,.dialog{background-color:#0F3562;background:-webkit-gradient(linear,left top,left bottom,from(#0F3562),color-stop(#1162A4),to(#03215F));background:-webkit-linear-gradient(top,#0F3562,#1162A4,#03215F);background:-o-linear-gradient(top,#0F3562,#1162A4,#03215F);background:linear-gradient(to bottom,#0F3562,#1162A4,#03215F)}.backgroundContainer.withBackdrop{background:rgba(17,98,164,.9)}.paper-icon-button-light:focus{color:#52B54B}.fab,.raised{background:#082845;color:#fff}.button-accent,.button-submit{background:#52B54B;color:#fff}.checkboxLabel{color:inherit}.checkboxListLabel,.inputLabel,.inputLabelUnfocused,.paperListLabel,.selectLabelUnfocused,.textareaLabelUnfocused{color:#bbb;color:rgba(255,255,255,.7)}.inputLabelFocused,.selectLabelFocused,.textareaLabelFocused{color:#52B54B}.checkboxOutline{border-color:currentColor}.collapseContent,.paperList,.visualCardBox{background-color:#0F3562}.cardText-secondary,.fieldDescription,.guide-programNameCaret,.listItem .secondary,.nowPlayingBarSecondaryText,.programSecondaryTitle,.secondaryText{color:#999;color:rgba(255,255,255,.5)}.actionsheetDivider{background:#ddd;background:rgba(255,255,255,.14)}.cardFooter-vibrant .cardText-secondary{color:inherit;opacity:.5}.toast{background:#081B3B;color:#fff;color:rgba(255,255,255,.87)}.appfooter,.formDialogFooter:not(.formDialogFooter-clear){background:#0C2450;background:-webkit-gradient(linear,left bottom,left top,from(#0C2450),to(#081B3B));background:-webkit-linear-gradient(bottom,#0C2450,#081B3B);background:-o-linear-gradient(bottom,#0C2450,#081B3B);background:linear-gradient(to top,#0C2450,#081B3B);color:rgba(255,255,255,.78)}@supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)){.appfooter-blurred{background:rgba(24,24,24,.7);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.itemSelectionPanel{border:1px solid #52B54B}.selectionCommandsPanel{background:#52B54B;color:#fff}.upNextDialog-countdownText{color:#52B54B}.alphaPickerButton{color:#999;color:rgba(255,255,255,.5);background-color:transparent}.alphaPickerButton-selected,.alphaPickerButton-tv:focus{background-color:#52B54B;color:#fff!important}.detailTableBodyRow-shaded:nth-child(even),.listItem-shaded:nth-child(even){background:#1c1c1c;background:rgba(0,0,0,.3)}.listItem:focus{background:#333}.progressring-spiner{border-color:#52B54B}.button-flat-accent,.button-link{color:#52B54B}.mediaInfoText{color:#ddd;background:rgba(170,170,190,.2)}.mediaInfoTimerIcon,.starIcon{color:#CB272A}.emby-input,.emby-textarea{color:inherit;background:rgba(255,255,255,.2);border:.07em solid rgba(255,255,255,.135);-webkit-border-radius:.15em;border-radius:.15em}.emby-input:focus,.emby-textarea:focus{border-color:#52B54B}.emby-select-withcolor{color:inherit;background:rgba(255,255,255,.2);border:.07em solid rgba(255,255,255,.135);-webkit-border-radius:.15em;border-radius:.15em}.card:focus .card-focuscontent,.emby-checkbox:checked+span+span+.checkboxOutline,.emby-select-withcolor:focus{border-color:#52B54B}.emby-select-withcolor>option{color:#000}.emby-checkbox:focus+span+.emby-checkbox-focushelper{background-color:rgba(82,181,75,.26)}.emby-checkbox:checked+span+span+.checkboxOutline>.checkboxOutlineTick,.itemProgressBarForeground{background-color:#52B54B}.itemProgressBarForeground-recording{background-color:#CB272A}.countIndicator,.fullSyncIndicator,.playedIndicator{background:#52B54B}.fullSyncIndicator{color:#fff}.mainDrawer{background-color:#0F3562;color:#ccc;color:rgba(255,255,255,.7)}.navMenuDivider{background:#262626;background:rgba(255,255,255,.12)}.actionSheetMenuItem:hover,.navMenuOption:hover{background:#252528;background:rgba(0,0,0,.2)}.navMenuOption-selected{background:#52B54B!important;color:#fff}.emby-tab-button{color:#999;color:rgba(255,255,255,.5)}.emby-tab-button-active,.emby-tab-button-active.emby-button-tv,.emby-tab-button.emby-button-tv:focus{color:#fff}.guide-channelHeaderCell,.guide-channelTimeslotHeader{background:rgba(8,27,59,.9)}.programCellInner{background-color:#022950;background:-webkit-gradient(linear,left top,right top,from(rgba(2,41,80,.9)),to(rgba(4,45,82,.9)));background:-webkit-linear-gradient(left,rgba(2,41,80,.9),rgba(4,45,82,.9));background:-o-linear-gradient(left,rgba(2,41,80,.9),rgba(4,45,82,.9));background:linear-gradient(to right,rgba(2,41,80,.9),rgba(4,45,82,.9))}.programCellInner-sports{background:#3949AB}.programCellInner-movie{background:#5E35B1}.programCellInner-kids{background:#039BE5}.programCellInner-news{background:#43A047}.guide-programTextIcon{color:#1e1e1e;background:#555}.guide-currentTimeIndicatorBar{background-color:#52B54B}.guide-currentTimeIndicatorArrow,.guide-currentTimeIndicatorArrowContainer{color:#52B54B}.guide-headerTimeslots{color:inherit}.guide-date-tab-button{color:#555;color:rgba(255,255,255,.3)}.guide-date-tab-button.emby-tab-button-active,.guide-date-tab-button:focus{color:#52B54B}.guide-date-tab-button.emby-button-tv:focus{background-color:#52B54B;color:#fff}.itemBackdropFader{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(#115E9E));background:-webkit-linear-gradient(rgba(0,0,0,0),#115E9E);background:-o-linear-gradient(rgba(0,0,0,0),#115E9E);background:linear-gradient(rgba(0,0,0,0),#115E9E)}@media all and (min-width:62.5em){.detailButton-mobile{background:rgba(0,0,0,.54)!important;backdrop-filter:blur(10px)}}.infoBanner{color:#000;background:#fff3a5;padding:1em;-webkit-border-radius:.25em;border-radius:.25em}.ratingbutton-icon-withrating{color:#c33}.downloadbutton-icon-complete,.downloadbutton-icon-on{color:#4285F4}.playstatebutton-icon-played{color:#c33}.repeatButton-active{color:#4285F4} \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/usersettings/usersettingsbuilder.js b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/usersettings/usersettingsbuilder.js index 3f85a8df74..13808ecdcc 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/usersettings/usersettingsbuilder.js +++ b/MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/usersettings/usersettingsbuilder.js @@ -1 +1 @@ -define(["appSettings","events"],function(appsettings,events){"use strict";function onSaveTimeout(){var self=this;self.saveTimeout=null,self.currentApiClient.updateDisplayPreferences("usersettings",self.displayPrefs,self.currentUserId,"emby")}function saveServerPreferences(instance){instance.saveTimeout&&clearTimeout(instance.saveTimeout),instance.saveTimeout=setTimeout(onSaveTimeout.bind(instance),50)}function UserSettings(){}function getSavedQueryKey(context){return"query-"+context}return UserSettings.prototype.setUserInfo=function(userId,apiClient){if(this.saveTimeout&&clearTimeout(this.saveTimeout),this.currentUserId=userId,this.currentApiClient=apiClient,!userId)return this.displayPrefs=null,Promise.resolve();var self=this;return apiClient.getDisplayPreferences("usersettings",userId,"emby").then(function(result){result.CustomPrefs=result.CustomPrefs||{},self.displayPrefs=result})},UserSettings.prototype.getData=function(){return this.displayPrefs},UserSettings.prototype.importFrom=function(instance){this.displayPrefs=instance.getData()},UserSettings.prototype.set=function(name,value,enableOnServer){var userId=this.currentUserId;if(!userId)throw new Error("userId cannot be null");var currentValue=this.get(name),result=appsettings.set(name,value,userId);return enableOnServer!==!1&&this.displayPrefs&&(this.displayPrefs.CustomPrefs[name]=null==value?value:value.toString(),saveServerPreferences(this)),currentValue!==value&&events.trigger(this,"change",[name]),result},UserSettings.prototype.get=function(name,enableOnServer){var userId=this.currentUserId;return userId?enableOnServer!==!1&&this.displayPrefs?this.displayPrefs.CustomPrefs[name]:appsettings.get(name,userId):null},UserSettings.prototype.serverConfig=function(config){var apiClient=this.currentApiClient;return config?apiClient.updateUserConfiguration(this.currentUserId,config):apiClient.getUser(this.currentUserId).then(function(user){return user.Configuration})},UserSettings.prototype.enableCinemaMode=function(val){return null!=val?this.set("enableCinemaMode",val.toString(),!1):(val=this.get("enableCinemaMode",!1),!val||"false"!==val)},UserSettings.prototype.enableNextVideoInfoOverlay=function(val){return null!=val?this.set("enableNextVideoInfoOverlay",val.toString()):(val=this.get("enableNextVideoInfoOverlay"),"false"!==val)},UserSettings.prototype.enableThemeSongs=function(val){return null!=val?this.set("enableThemeSongs",val.toString(),!1):(val=this.get("enableThemeSongs",!1),"false"!==val)},UserSettings.prototype.enableThemeVideos=function(val){return null!=val?this.set("enableThemeVideos",val.toString(),!1):(val=this.get("enableThemeVideos",!1),val?"false"!==val:UserSettings.defaults.enableThemeVideos)},UserSettings.prototype.enableBackdrops=function(val){return null!=val?this.set("enableBackdrops",val.toString(),!1):(val=this.get("enableBackdrops",!1),val?"false"!==val:UserSettings.defaults.enableBackdrops)},UserSettings.prototype.language=function(val){return null!=val?this.set("language",val.toString(),!1):this.get("language",!1)},UserSettings.prototype.skipBackLength=function(val){return null!=val?this.set("skipBackLength",val.toString()):parseInt(this.get("skipBackLength")||"10000")},UserSettings.prototype.skipForwardLength=function(val){return null!=val?this.set("skipForwardLength",val.toString()):parseInt(this.get("skipForwardLength")||"30000")},UserSettings.prototype.dashboardTheme=function(val){return null!=val?this.set("dashboardTheme",val):this.get("dashboardTheme")},UserSettings.prototype.skin=function(val){return null!=val?this.set("skin",val,!1):this.get("skin",!1)||UserSettings.defaults.skin},UserSettings.prototype.theme=function(val){return null!=val?this.set("appTheme",val,!1):this.get("appTheme",!1)||UserSettings.defaults.theme},UserSettings.prototype.enableSeasonalThemes=function(val){return null!=val?this.set("enableSeasonalThemes",val,!1):"false"!==this.get("enableSeasonalThemes",!1)},UserSettings.prototype.screensaver=function(val){return null!=val?this.set("screensaver",val,!1):this.get("screensaver",!1)||UserSettings.defaults.screensaver},UserSettings.prototype.soundEffects=function(val){return null!=val?this.set("soundeffects",val,!1):this.get("soundeffects",!1)||UserSettings.defaults.soundEffects},UserSettings.defaults={theme:null,enableThemeVideos:!0},UserSettings.prototype.loadQuerySettings=function(query,context){var key=getSavedQueryKey(context),values=this.get(key);if(values)return values=JSON.parse(values),Object.assign(query,values)},UserSettings.prototype.saveQuerySettings=function(query,context){var key=getSavedQueryKey(context),values={};return query.SortBy&&(values.SortBy=query.SortBy),query.SortOrder&&(values.SortOrder=query.SortOrder),this.set(key,JSON.stringify(values))},UserSettings.prototype.getSubtitleAppearanceSettings=function(key){return key=key||"localplayersubtitleappearance3",JSON.parse(this.get(key,!1)||"{}")},UserSettings.prototype.setSubtitleAppearanceSettings=function(value,key){return key=key||"localplayersubtitleappearance3",this.set(key,JSON.stringify(value),!1)},UserSettings}); \ No newline at end of file +define(["appSettings","events"],function(appsettings,events){"use strict";function onSaveTimeout(){var self=this;self.saveTimeout=null,self.currentApiClient.updateDisplayPreferences("usersettings",self.displayPrefs,self.currentUserId,"emby")}function saveServerPreferences(instance){instance.saveTimeout&&clearTimeout(instance.saveTimeout),instance.saveTimeout=setTimeout(onSaveTimeout.bind(instance),50)}function UserSettings(){}function getSavedQueryKey(context){return"query-"+context}return UserSettings.prototype.setUserInfo=function(userId,apiClient){if(this.saveTimeout&&clearTimeout(this.saveTimeout),this.currentUserId=userId,this.currentApiClient=apiClient,!userId)return this.displayPrefs=null,Promise.resolve();var self=this;return apiClient.getDisplayPreferences("usersettings",userId,"emby").then(function(result){result.CustomPrefs=result.CustomPrefs||{},self.displayPrefs=result})},UserSettings.prototype.getData=function(){return this.displayPrefs},UserSettings.prototype.importFrom=function(instance){this.displayPrefs=instance.getData()},UserSettings.prototype.set=function(name,value,enableOnServer){var userId=this.currentUserId;if(!userId)throw new Error("userId cannot be null");var currentValue=this.get(name,enableOnServer),result=appsettings.set(name,value,userId);return enableOnServer!==!1&&this.displayPrefs&&(this.displayPrefs.CustomPrefs[name]=null==value?value:value.toString(),saveServerPreferences(this)),currentValue!==value&&events.trigger(this,"change",[name]),result},UserSettings.prototype.get=function(name,enableOnServer){var userId=this.currentUserId;return userId?enableOnServer!==!1&&this.displayPrefs?this.displayPrefs.CustomPrefs[name]:appsettings.get(name,userId):null},UserSettings.prototype.serverConfig=function(config){var apiClient=this.currentApiClient;return config?apiClient.updateUserConfiguration(this.currentUserId,config):apiClient.getUser(this.currentUserId).then(function(user){return user.Configuration})},UserSettings.prototype.enableCinemaMode=function(val){return null!=val?this.set("enableCinemaMode",val.toString(),!1):(val=this.get("enableCinemaMode",!1),!val||"false"!==val)},UserSettings.prototype.enableNextVideoInfoOverlay=function(val){return null!=val?this.set("enableNextVideoInfoOverlay",val.toString()):(val=this.get("enableNextVideoInfoOverlay"),"false"!==val)},UserSettings.prototype.enableThemeSongs=function(val){return null!=val?this.set("enableThemeSongs",val.toString(),!1):(val=this.get("enableThemeSongs",!1),"false"!==val)},UserSettings.prototype.enableThemeVideos=function(val){return null!=val?this.set("enableThemeVideos",val.toString(),!1):(val=this.get("enableThemeVideos",!1),val?"false"!==val:UserSettings.defaults.enableThemeVideos)},UserSettings.prototype.enableBackdrops=function(val){return null!=val?this.set("enableBackdrops",val.toString(),!1):(val=this.get("enableBackdrops",!1),val?"false"!==val:UserSettings.defaults.enableBackdrops)},UserSettings.prototype.language=function(val){return null!=val?this.set("language",val.toString(),!1):this.get("language",!1)},UserSettings.prototype.dateTimeLocale=function(val){return null!=val?this.set("datetimelocale",val.toString(),!1):this.get("datetimelocale",!1)},UserSettings.prototype.skipBackLength=function(val){return null!=val?this.set("skipBackLength",val.toString()):parseInt(this.get("skipBackLength")||"10000")},UserSettings.prototype.skipForwardLength=function(val){return null!=val?this.set("skipForwardLength",val.toString()):parseInt(this.get("skipForwardLength")||"30000")},UserSettings.prototype.dashboardTheme=function(val){return null!=val?this.set("dashboardTheme",val):this.get("dashboardTheme")},UserSettings.prototype.skin=function(val){return null!=val?this.set("skin",val,!1):this.get("skin",!1)||UserSettings.defaults.skin},UserSettings.prototype.theme=function(val){return null!=val?this.set("appTheme",val,!1):this.get("appTheme",!1)||UserSettings.defaults.theme},UserSettings.prototype.enableSeasonalThemes=function(val){return null!=val?this.set("enableSeasonalThemes",val,!1):"false"!==this.get("enableSeasonalThemes",!1)},UserSettings.prototype.screensaver=function(val){return null!=val?this.set("screensaver",val,!1):this.get("screensaver",!1)||UserSettings.defaults.screensaver},UserSettings.prototype.soundEffects=function(val){return null!=val?this.set("soundeffects",val,!1):this.get("soundeffects",!1)||UserSettings.defaults.soundEffects},UserSettings.defaults={theme:null,enableThemeVideos:!0},UserSettings.prototype.loadQuerySettings=function(query,context){var key=getSavedQueryKey(context),values=this.get(key);if(values)return values=JSON.parse(values),Object.assign(query,values)},UserSettings.prototype.saveQuerySettings=function(query,context){var key=getSavedQueryKey(context),values={};return query.SortBy&&(values.SortBy=query.SortBy),query.SortOrder&&(values.SortOrder=query.SortOrder),this.set(key,JSON.stringify(values))},UserSettings.prototype.getSubtitleAppearanceSettings=function(key){return key=key||"localplayersubtitleappearance3",JSON.parse(this.get(key,!1)||"{}")},UserSettings.prototype.setSubtitleAppearanceSettings=function(value,key){return key=key||"localplayersubtitleappearance3",this.set(key,JSON.stringify(value),!1)},UserSettings}); \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/components/libraryoptionseditor/libraryoptionseditor.template.html b/MediaBrowser.WebDashboard/dashboard-ui/components/libraryoptionseditor/libraryoptionseditor.template.html index 3a4a4f99f9..db1e216187 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/components/libraryoptionseditor/libraryoptionseditor.template.html +++ b/MediaBrowser.WebDashboard/dashboard-ui/components/libraryoptionseditor/libraryoptionseditor.template.html @@ -1,4 +1,4 @@ -

${HeaderLibrarySettings}

+

${HeaderLibrarySettings}

"}}if(version.Container&&(html+='
'+globalize.translate("MediaInfoContainer")+''+version.Container+"
"),version.Formats&&version.Formats.length,version.Path&&"Http"!=version.Protocol&&user&&user.Policy.IsAdministrator&&(html+='
'+globalize.translate("MediaInfoPath")+''+version.Path+"
"),version.Size){var size=(version.Size/1048576).toFixed(0);html+='
'+globalize.translate("MediaInfoSize")+''+size+" MB
"}return html}function createAttribute(label,value){return''+label+''+value+""}function getVideosHtml(items,user,limit,moreButtonClass){var html=cardBuilder.getCardsHtml({items:items,shape:"auto",showTitle:!0,action:"play",overlayText:!1,centerText:!0,showRuntime:!0});return limit&&items.length>limit&&(html+='

"),html}function renderSpecials(page,item,user,limit){connectionManager.getApiClient(item.ServerId).getSpecialFeatures(user.Id,item.Id).then(function(specials){var specialsContent=page.querySelector("#specialsContent");specialsContent.innerHTML=getVideosHtml(specials,user,limit,"moreSpecials"),imageLoader.lazyChildren(specialsContent)})}function renderCast(page,item,context,limit,isStatic){var people=item.People||[],castContent=page.querySelector("#castContent");enableScrollX()?(castContent.classList.add("smoothScrollX"),limit=32):castContent.classList.add("vertical-wrap");var limitExceeded=limit&&people.length>limit;limitExceeded&&(people=people.slice(0),people.length=Math.min(limit,people.length)),require(["peoplecardbuilder"],function(peoplecardbuilder){peoplecardbuilder.buildPeopleCards(people,{itemsContainer:castContent,coverImage:!0,serverId:item.ServerId,width:160,shape:getPortraitShape()})});var morePeopleButton=page.querySelector(".morePeople");morePeopleButton&&(limitExceeded&&!enableScrollX()?morePeopleButton.classList.remove("hide"):morePeopleButton.classList.add("hide"))}function showPlayMenu(item,target){require(["playMenu"],function(playMenu){playMenu.show({item:item,positionTo:target})})}function itemDetailPage(){var self=this;self.setInitialCollapsibleState=setInitialCollapsibleState,self.renderDetails=renderDetails,self.renderCast=renderCast,self.renderScenes=renderScenes,self.renderMediaSources=renderMediaSources}function bindAll(view,selector,eventName,fn){var i,length,elems=view.querySelectorAll(selector);for(i=0,length=elems.length;i"}function renderSeriesTimerSchedule(page,apiClient,seriesTimerId){apiClient.getLiveTvTimers({UserId:apiClient.getCurrentUserId(),ImageTypeLimit:1,EnableImageTypes:"Primary,Backdrop,Thumb",SortBy:"StartDate",EnableTotalRecordCount:!1,EnableUserData:!1,SeriesTimerId:seriesTimerId,Fields:"ChannelInfo,ChannelImage"}).then(function(result){result.Items.length&&result.Items[0].SeriesTimerId!=seriesTimerId&&(result.Items=[]);var html=getProgramScheduleHtml(result.Items),scheduleTab=page.querySelector(".seriesTimerSchedule");scheduleTab.innerHTML=html,imageLoader.lazyChildren(scheduleTab)})}function renderTimerEditor(page,item,apiClient,user){return"Recording"===item.Type&&user.Policy.EnableLiveTvManagement&&item.TimerId&&"InProgress"===item.Status?void hideAll(page,"btnCancelTimer",!0):void hideAll(page,"btnCancelTimer")}function renderSeriesTimerEditor(page,item,apiClient,user){return"SeriesTimer"!==item.Type?void hideAll(page,"btnCancelSeriesTimer"):user.Policy.EnableLiveTvManagement?(require(["seriesRecordingEditor"],function(seriesRecordingEditor){seriesRecordingEditor.embed(item,apiClient.serverId(),{context:page.querySelector(".seriesRecordingEditor")})}),page.querySelector(".seriesTimerScheduleSection").classList.remove("hide"),hideAll(page,"btnCancelSeriesTimer",!0),void renderSeriesTimerSchedule(page,apiClient,item.Id)):(page.querySelector(".seriesTimerScheduleSection").classList.add("hide"),void hideAll(page,"btnCancelSeriesTimer"))}function reloadPlayButtons(page,item){var canPlay=!1;if("Program"==item.Type){var now=new Date;now>=datetime.parseISO8601Date(item.StartDate,!0)&&now0)}else hideAll(page,"btnPlay"),hideAll(page,"btnResume"),hideAll(page,"btnInstantMix"),hideAll(page,"btnShuffle");return canPlay}function reloadUserDataButtons(page,item){var i,length,btnPlaystates=page.querySelectorAll(".btnPlaystate");for(i=0,length=btnPlaystates.length;i'+artist.Name+"")}return html=html.join(" / ")}function renderName(item,container,isStatic,context){var parentRoute,parentNameHtml=[],parentNameLast=!1;item.AlbumArtists?(parentNameHtml.push(getArtistLinksHtml(item.AlbumArtists,item.ServerId,context)),parentNameLast=!0):item.ArtistItems&&item.ArtistItems.length&&"MusicVideo"===item.Type?(parentNameHtml.push(getArtistLinksHtml(item.ArtistItems,item.ServerId,context)),parentNameLast=!0):item.SeriesName&&"Episode"===item.Type?(parentRoute=appRouter.getRouteUrl({Id:item.SeriesId,Name:item.SeriesName,Type:"Series",IsFolder:!0,ServerId:item.ServerId},{context:context}),parentNameHtml.push(''+item.SeriesName+"")):(item.IsSeries||item.EpisodeTitle)&&parentNameHtml.push(item.Name),item.SeriesName&&"Season"===item.Type?(parentRoute=appRouter.getRouteUrl({Id:item.SeriesId,Name:item.SeriesName,Type:"Series",IsFolder:!0,ServerId:item.ServerId},{context:context}),parentNameHtml.push(''+item.SeriesName+"")):null!=item.ParentIndexNumber&&"Episode"===item.Type?(parentRoute=appRouter.getRouteUrl({Id:item.SeasonId,Name:item.SeasonName,Type:"Season",IsFolder:!0,ServerId:item.ServerId},{context:context}),parentNameHtml.push(''+item.SeasonName+"")):null!=item.ParentIndexNumber&&item.IsSeries?parentNameHtml.push(item.SeasonName||"S"+item.ParentIndexNumber):item.Album&&"Audio"===item.Type&&(item.AlbumId||item.ParentId)?(parentRoute=appRouter.getRouteUrl({Id:item.AlbumId||item.ParentId,Name:item.Album,Type:"MusicAlbum",IsFolder:!0,ServerId:item.ServerId},{context:context}),parentNameHtml.push(''+item.Album+"")):item.Album&&"MusicVideo"===item.Type&&item.AlbumId?(parentRoute=appRouter.getRouteUrl({Id:item.Albumid,Name:item.Album,Type:"MusicAlbum",IsFolder:!0,ServerId:item.ServerId},{context:context}),parentNameHtml.push(''+item.Album+"")):item.Album&&parentNameHtml.push(item.Album);var html="";parentNameHtml.length&&(html=parentNameLast?'

'+parentNameHtml.join(" - ")+"

":'

'+parentNameHtml.join(" - ")+"

");var name=itemHelper.getDisplayName(item,{includeParentInfo:!1});html&&!parentNameLast?html+='

'+name+"

":html=parentNameLast?'

'+name+"

"+html:'

'+name+"

"+html,container.innerHTML=html,html.length?container.classList.remove("hide"):container.classList.add("hide")}function reloadFromItem(instance,page,params,item,user){var context=params.context;renderName(item,page.querySelector(".nameContainer"),!1,context);var apiClient=connectionManager.getApiClient(item.ServerId);renderSeriesTimerEditor(page,item,apiClient,user),renderTimerEditor(page,item,apiClient,user),renderImage(page,item,apiClient,user),renderLogo(page,item,apiClient),setTitle(item,apiClient),setInitialCollapsibleState(page,item,apiClient,context,user),renderDetails(page,item,apiClient,context),dom.getWindowSize().innerWidth>=1e3?backdrop.setBackdrops([item]):backdrop.clear(),libraryBrowser.renderDetailPageBackdrop(page,item,apiClient,imageLoader,indicators),libraryMenu.setTransparentMenu(!0);var canPlay=reloadPlayButtons(page,item),hasAnyButton=canPlay;item.LocalTrailerCount||item.RemoteTrailers&&item.RemoteTrailers.length?(hideAll(page,"btnPlayTrailer",!0),hasAnyButton=!0):hideAll(page,"btnPlayTrailer"),item.CanDelete&&!item.IsFolder?(hideAll(page,"btnDeleteItem",!0),hasAnyButton=!0):hideAll(page,"btnDeleteItem"),renderSyncLocalContainer(page,params,user,item),hasAnyButton||"Program"!==item.Type?hideAll(page,"mainDetailButtons",!0):hideAll(page,"mainDetailButtons"),showRecordingFields(instance,page,item,user);var groupedVersions=(item.MediaSources||[]).filter(function(g){return"Grouping"==g.Type});user.Policy.IsAdministrator&&groupedVersions.length?page.querySelector(".splitVersionContainer").classList.remove("hide"):page.querySelector(".splitVersionContainer").classList.add("hide");var commands=itemContextMenu.getCommands(getContextMenuOptions(item,user));commands.length?hideAll(page,"btnMoreCommands",!0):hideAll(page,"btnMoreCommands");var itemBirthday=page.querySelector("#itemBirthday");if("Person"==item.Type&&item.PremiereDate)try{var birthday=datetime.parseISO8601Date(item.PremiereDate,!0).toDateString();itemBirthday.classList.remove("hide"),itemBirthday.innerHTML=globalize.translate("BirthDateValue").replace("{0}",birthday)}catch(err){itemBirthday.classList.add("hide")}else itemBirthday.classList.add("hide");var itemDeathDate=page.querySelector("#itemDeathDate");if("Person"==item.Type&&item.EndDate)try{var deathday=datetime.parseISO8601Date(item.EndDate,!0).toDateString();itemDeathDate.classList.remove("hide"),itemDeathDate.innerHTML=globalize.translate("DeathDateValue").replace("{0}",deathday)}catch(err){itemDeathDate.classList.add("hide")}var itemBirthLocation=page.querySelector("#itemBirthLocation");if("Person"==item.Type&&item.ProductionLocations&&item.ProductionLocations.length){var gmap=''+item.ProductionLocations[0]+"";itemBirthLocation.classList.remove("hide"),itemBirthLocation.innerHTML=globalize.translate("BirthPlaceValue").replace("{0}",gmap)}else itemBirthLocation.classList.add("hide");setPeopleHeader(page,item),loading.hide()}function logoImageUrl(item,apiClient,options){return options=options||{},options.type="Logo",item.ImageTags&&item.ImageTags.Logo?(options.tag=item.ImageTags.Logo,apiClient.getScaledImageUrl(item.Id,options)):item.ParentLogoImageTag?(options.tag=item.ParentLogoImageTag,apiClient.getScaledImageUrl(item.ParentLogoItemId,options)):null}function setTitle(item,apiClient){var url=logoImageUrl(item,apiClient,{});if(url=null){var pageTitle=document.querySelector(".pageTitle");pageTitle.style.backgroundImage="url('"+url+"')",pageTitle.classList.add("pageTitleWithLogo"),pageTitle.innerHTML=""}else Emby.Page.setTitle("")}function renderLogo(page,item,apiClient){var url=logoImageUrl(item,apiClient,{maxWidth:300}),detailLogo=page.querySelector(".detailLogo");url?(detailLogo.classList.remove("hide"),detailLogo.classList.add("lazy"),detailLogo.setAttribute("data-src",url),imageLoader.lazyImage(detailLogo)):detailLogo.classList.add("hide")}function showRecordingFields(instance,page,item,user){if(!instance.currentRecordingFields){var recordingFieldsElement=page.querySelector(".recordingFields");"Program"==item.Type&&user.Policy.EnableLiveTvManagement?require(["recordingFields"],function(recordingFields){instance.currentRecordingFields=new recordingFields({parent:recordingFieldsElement,programId:item.Id,serverId:item.ServerId}),recordingFieldsElement.classList.remove("hide")}):(recordingFieldsElement.classList.add("hide"),recordingFieldsElement.innerHTML="")}}function renderLinks(linksElem,item){var links=[];if(item.HomePageUrl&&links.push(''+globalize.translate("ButtonWebsite")+""),item.ExternalUrls)for(var i=0,length=item.ExternalUrls.length;i'+url.Name+"")}if(links.length){var html=links.join('');linksElem.innerHTML=html,linksElem.classList.remove("hide")}else linksElem.classList.add("hide")}function renderImage(page,item,apiClient,user){var container=page.querySelector(".detailImageContainer");libraryBrowser.renderDetailImage(page,container,item,apiClient,user.Policy.IsAdministrator&&"Photo"!=item.MediaType,imageLoader,indicators)}function refreshDetailImageUserData(elem,item){var detailImageProgressContainer=elem.querySelector(".detailImageProgressContainer");detailImageProgressContainer.innerHTML=indicators.getProgressBarHtml(item)}function refreshImage(page,item,user){refreshDetailImageUserData(page.querySelector(".detailImageContainer"),item)}function setPeopleHeader(page,item){"Audio"==item.MediaType||"MusicAlbum"==item.Type||"Book"==item.MediaType||"Photo"==item.MediaType?page.querySelector("#peopleHeader").innerHTML=globalize.translate("HeaderPeople"):page.querySelector("#peopleHeader").innerHTML=globalize.translate("HeaderCastAndCrew")}function renderNextUp(page,item,user){var section=page.querySelector(".nextUpSection");return"Series"!=item.Type?void section.classList.add("hide"):void connectionManager.getApiClient(item.ServerId).getNextUpEpisodes({SeriesId:item.Id,UserId:user.Id}).then(function(result){result.Items.length?section.classList.remove("hide"):section.classList.add("hide");var html=cardBuilder.getCardsHtml({items:result.Items,shape:getThumbShape(!1),showTitle:!0,displayAsSpecial:"Season"==item.Type&&item.IndexNumber,overlayText:!1,centerText:!0,overlayPlayButton:!0}),itemsContainer=section.querySelector(".nextUpItems");itemsContainer.innerHTML=html,imageLoader.lazyChildren(itemsContainer)})}function setInitialCollapsibleState(page,item,apiClient,context,user){page.querySelector(".collectionItems").innerHTML="","Playlist"==item.Type?(page.querySelector("#childrenCollapsible").classList.remove("hide"),renderPlaylistItems(page,item,user)):"Studio"==item.Type||"Person"==item.Type||"Genre"==item.Type||"MusicGenre"==item.Type||"GameGenre"==item.Type||"MusicArtist"==item.Type?(page.querySelector("#childrenCollapsible").classList.remove("hide"),renderItemsByName(page,item,user)):item.IsFolder?("BoxSet"==item.Type&&page.querySelector("#childrenCollapsible").classList.add("hide"),renderChildren(page,item)):page.querySelector("#childrenCollapsible").classList.add("hide"),"Series"==item.Type&&renderSeriesSchedule(page,item,user),"Series"==item.Type?renderNextUp(page,item,user):page.querySelector(".nextUpSection").classList.add("hide"),item.MediaSources&&item.MediaSources.length&&"Channel"!==item.SourceType?renderMediaSources(page,user,item):page.querySelector(".audioVideoMediaInfo").classList.add("hide"),renderScenes(page,item),item.SpecialFeatureCount&&0!=item.SpecialFeatureCount&&"Series"!=item.Type?(page.querySelector("#specialsCollapsible").classList.remove("hide"),renderSpecials(page,item,user,6)):page.querySelector("#specialsCollapsible").classList.add("hide"),renderCast(page,item,context,enableScrollX()?null:12),item.PartCount&&item.PartCount>1?(page.querySelector("#additionalPartsCollapsible").classList.remove("hide"),renderAdditionalParts(page,item,user)):page.querySelector("#additionalPartsCollapsible").classList.add("hide"),page.querySelector("#themeSongsCollapsible").classList.add("hide"),page.querySelector("#themeVideosCollapsible").classList.add("hide"),"MusicAlbum"==item.Type?renderMusicVideos(page,item,user):page.querySelector("#musicVideosCollapsible").classList.add("hide"),renderThemeMedia(page,item,user)}function renderOverview(elems,item){for(var i=0,length=elems.length;i'+p.Name+""}).join(", "),elem=page.querySelector(".genres");elem.innerHTML=genres.length>1?globalize.translate("sharedcomponents#GenresValue",html):globalize.translate("sharedcomponents#GenreValue",html),genres.length?elem.classList.remove("hide"):elem.classList.add("hide")}function renderDirector(page,item,apiClient,context,isStatic){var directors=(item.People||[]).filter(function(p){return"Director"===p.Type}),html=directors.map(function(p){return''+p.Name+""}).join(", "),elem=page.querySelector(".directors");elem.innerHTML=directors.length>1?globalize.translate("sharedcomponents#DirectorsValue",html):globalize.translate("sharedcomponents#DirectorValue",html),directors.length?elem.classList.remove("hide"):elem.classList.add("hide")}function renderDetails(page,item,apiClient,context,isStatic){renderSimilarItems(page,item,context),renderMoreFromSeason(page,item,apiClient),renderMoreFromArtist(page,item,apiClient),renderDirector(page,item,apiClient,context,isStatic),renderGenres(page,item,apiClient,context,isStatic),renderChannelGuide(page,apiClient,item);var taglineElement=page.querySelector(".tagline");item.Taglines&&item.Taglines.length?(taglineElement.classList.remove("hide"),taglineElement.innerHTML=item.Taglines[0]):taglineElement.classList.add("hide");var overview=page.querySelector(".overview"),externalLinksElem=page.querySelector(".itemExternalLinks");"Season"!==item.Type&&"MusicAlbum"!==item.Type&&"MusicArtist"!==item.Type||(overview.classList.add("detailsHiddenOnMobile"),externalLinksElem.classList.add("detailsHiddenOnMobile")),renderOverview([overview],item);var i,length,itemMiscInfo=page.querySelectorAll(".itemMiscInfo-primary");for(i=0,length=itemMiscInfo.length;i'+text+"
":'
'+text+"
"}).join("");return view.querySelector(".mediaInfoIcons").innerHTML=html,html}function renderPhotoInfo(page,item){var html="",attributes=[];if(item.CameraMake&&attributes.push(createAttribute(globalize.translate("MediaInfoCameraMake"),item.CameraMake)),item.CameraModel&&attributes.push(createAttribute(globalize.translate("MediaInfoCameraModel"),item.CameraModel)),item.Altitude&&attributes.push(createAttribute(globalize.translate("MediaInfoAltitude"),item.Altitude.toFixed(1))),item.Aperture&&attributes.push(createAttribute(globalize.translate("MediaInfoAperture"),"F"+item.Aperture.toFixed(1))),item.ExposureTime){var val=1/item.ExposureTime;attributes.push(createAttribute(globalize.translate("MediaInfoExposureTime"),"1/"+val+" s"))}item.FocalLength&&attributes.push(createAttribute(globalize.translate("MediaInfoFocalLength"),item.FocalLength.toFixed(1)+" mm")),item.ImageOrientation,item.IsoSpeedRating&&attributes.push(createAttribute(globalize.translate("MediaInfoIsoSpeedRating"),item.IsoSpeedRating)),item.Latitude&&attributes.push(createAttribute(globalize.translate("MediaInfoLatitude"),item.Latitude.toFixed(1))),item.Longitude&&attributes.push(createAttribute(globalize.translate("MediaInfoLongitude"),item.Longitude.toFixed(1))),item.ShutterSpeed&&attributes.push(createAttribute(globalize.translate("MediaInfoShutterSpeed"),item.ShutterSpeed)),item.Software&&attributes.push(createAttribute(globalize.translate("MediaInfoSoftware"),item.Software)),html+=attributes.join("
"),page.querySelector(".photoInfoContent").innerHTML=html}function enableScrollX(){return browserInfo.mobile&&screen.availWidth<=1e3}function getPortraitShape(scrollX){return null==scrollX&&(scrollX=enableScrollX()),scrollX?"overflowPortrait":"portrait"}function getSquareShape(scrollX){return null==scrollX&&(scrollX=enableScrollX()),scrollX?"overflowSquare":"square"}function getThumbShape(scrollX){return null==scrollX&&(scrollX=enableScrollX()),scrollX?"overflowBackdrop":"backdrop"}function renderMoreFromSeason(view,item,apiClient){var section=view.querySelector(".moreFromSeasonSection");if(section){if("Episode"!==item.Type||!item.SeasonId||!item.SeriesId)return void section.classList.add("hide");var userId=apiClient.getCurrentUserId(),fields="ItemCounts,PrimaryImageAspectRatio,BasicSyncInfo,CanDelete";apiClient.getEpisodes(item.SeriesId,{SeasonId:item.SeasonId,UserId:userId,Fields:fields}).then(function(result){if(result.Items.length<2)return void section.classList.add("hide");section.classList.remove("hide"),section.querySelector("h2").innerHTML=globalize.translate("MoreFromValue",item.SeasonName);var itemsContainer=section.querySelector(".itemsContainer");cardBuilder.buildCards(result.Items,{parentContainer:section,itemsContainer:itemsContainer,shape:"autoVertical",sectionTitleTagName:"h2",scalable:!0,showTitle:!0,overlayText:!1,centerText:!0,includeParentInfoInTitle:!1,allowBottomPadding:!1});var card=itemsContainer.querySelector('.card[data-id="'+item.Id+'"]');card&&setTimeout(function(){section.querySelector(".emby-scroller").toStart(card.previousSibling||card,!0)},100)})}}function renderMoreFromArtist(view,item,apiClient){var section=view.querySelector(".moreFromArtistSection");if(section)return"MusicAlbum"===item.Type&&item.AlbumArtists&&item.AlbumArtists.length?void apiClient.getItems(apiClient.getCurrentUserId(),{IncludeItemTypes:"MusicAlbum",ArtistIds:item.AlbumArtists[0].Id,Recursive:!0,ExcludeItemIds:item.Id,SortBy:"ProductionYear,SortName",SortOrder:"Descending"}).then(function(result){return result.Items.length?(section.classList.remove("hide"),section.querySelector("h2").innerHTML=globalize.translate("MoreFromValue",item.AlbumArtists[0].Name),void cardBuilder.buildCards(result.Items,{parentContainer:section,itemsContainer:section.querySelector(".itemsContainer"),shape:"autoVertical",sectionTitleTagName:"h2",scalable:!0,coverImage:"MusicArtist"===item.Type||"MusicAlbum"===item.Type})):void section.classList.add("hide")}):void section.classList.add("hide")}function renderSimilarItems(page,item,context){var similarCollapsible=page.querySelector("#similarCollapsible");if(similarCollapsible){if("Movie"!=item.Type&&"Trailer"!=item.Type&&"Series"!=item.Type&&"Program"!=item.Type&&"Recording"!=item.Type&&"Game"!=item.Type&&"MusicAlbum"!=item.Type&&"MusicArtist"!=item.Type&&"ChannelVideoItem"!=item.Type)return void similarCollapsible.classList.add("hide");similarCollapsible.classList.remove("hide");var shape="MusicAlbum"==item.Type||"MusicArtist"==item.Type?"square":"portrait",apiClient=connectionManager.getApiClient(item.ServerId),options={userId:apiClient.getCurrentUserId(),limit:"MusicAlbum"==item.Type||"MusicArtist"==item.Type?8:10,fields:"PrimaryImageAspectRatio,UserData,CanDelete"};"MusicAlbum"==item.Type&&item.AlbumArtists&&item.AlbumArtists.length&&(options.ExcludeArtistIds=item.AlbumArtists[0].Id),apiClient.getSimilarItems(item.Id,options).then(function(result){if(!result.Items.length)return void similarCollapsible.classList.add("hide");similarCollapsible.classList.remove("hide");var html="";html+='
';var supportsImageAnalysis=appHost.supports("imageanalysis"),cardLayout=supportsImageAnalysis&&("MusicAlbum"==item.Type||"Game"==item.Type||"MusicArtist"==item.Type);cardLayout=!1,html+=cardBuilder.getCardsHtml({items:result.Items,shape:shape,showParentTitle:"MusicAlbum"==item.Type,centerText:!cardLayout,showTitle:"MusicAlbum"==item.Type||"Game"==item.Type||"MusicArtist"==item.Type,context:context,lazy:!0,showDetailsMenu:!0,coverImage:"MusicAlbum"==item.Type||"MusicArtist"==item.Type,overlayPlayButton:!0,cardLayout:cardLayout,vibrant:cardLayout&&supportsImageAnalysis}),html+="
";var similarContent=similarCollapsible.querySelector(".similarContent");similarContent.innerHTML=html,imageLoader.lazyChildren(similarContent)})}}function renderSeriesAirTime(page,item,isStatic){var seriesAirTime=page.querySelector("#seriesAirTime");if("Series"!=item.Type)return void seriesAirTime.classList.add("hide");var html="";if(item.AirDays&&item.AirDays.length&&(html+=7==item.AirDays.length?"daily":item.AirDays.map(function(a){return a+"s"}).join(",")),item.AirTime&&(html+=" at "+item.AirTime),item.Studios.length)if(isStatic)html+=" on "+item.Studios[0].Name;else{var context=inferContext(item),href=appRouter.getRouteUrl(item.Studios[0],{context:context,itemType:"Studio",serverId:item.ServerId});html+=' on '+item.Studios[0].Name+""}html?(html=("Ended"==item.Status?"Aired ":"Airs ")+html,seriesAirTime.innerHTML=html,seriesAirTime.classList.remove("hide")):seriesAirTime.classList.add("hide")}function renderTags(page,item){var itemTags=page.querySelector(".itemTags");if(item.Tags&&item.Tags.length){for(var html="",i=0,length=item.Tags.length;i'+item.Tags[i]+"
";itemTags.innerHTML=html,itemTags.classList.remove("hide")}else itemTags.classList.add("hide")}function renderChildren(page,item){var fields="ItemCounts,PrimaryImageAspectRatio,BasicSyncInfo,CanDelete",query={ParentId:item.Id,Fields:fields};"BoxSet"!==item.Type&&(query.SortBy="SortName");var promise,apiClient=connectionManager.getApiClient(item.ServerId),userId=apiClient.getCurrentUserId();"Series"==item.Type?promise=apiClient.getSeasons(item.Id,{userId:userId,Fields:fields}):"Season"==item.Type?(fields+=",Overview",promise=apiClient.getEpisodes(item.SeriesId,{seasonId:item.Id,userId:userId,Fields:fields})):"MusicAlbum"==item.Type||"MusicArtist"==item.Type&&(query.SortBy="ProductionYear,SortName"),promise=promise||apiClient.getItems(apiClient.getCurrentUserId(),query),promise.then(function(result){var html="",scrollX=!1,isList=!1,scrollClass="hiddenScrollX",childrenItemsContainer=page.querySelector(".childrenItemsContainer");if("MusicAlbum"==item.Type)html=listView.getListViewHtml({items:result.Items,smallIcon:!0,showIndex:!0,index:"disc",showIndexNumber:!0,playFromHere:!0,action:"playallfromhere",image:!1,artist:"auto",containerAlbumArtists:item.AlbumArtists,addToListButton:!0}),isList=!0;else if("Series"==item.Type)scrollX=enableScrollX(),html=cardBuilder.getCardsHtml({items:result.Items,shape:getPortraitShape(),showTitle:!0,centerText:!0,lazy:!0,overlayPlayButton:!0,allowBottomPadding:!scrollX});else if("Season"==item.Type||"Episode"==item.Type){if("Episode"===item.Type||(isList=!0),scrollX="Episode"==item.Type,browser.touch||(scrollClass="smoothScrollX"),result.Items.length<2&&"Episode"===item.Type)return;"Episode"===item.Type?html=cardBuilder.getCardsHtml({items:result.Items,shape:getThumbShape(scrollX),showTitle:!0,displayAsSpecial:"Season"==item.Type&&item.IndexNumber,playFromHere:!0,overlayText:!0,lazy:!0,showDetailsMenu:!0,overlayPlayButton:!0,allowBottomPadding:!scrollX,includeParentInfoInTitle:!1}):"Season"===item.Type&&(html=listView.getListViewHtml({items:result.Items,showIndexNumber:!1,enableOverview:!0,imageSize:"large",enableSideMediaInfo:!1,highlight:!1,action:"none",infoButton:!0,imagePlayButton:!0,includeParentInfoInTitle:!1}))}else"GameSystem"==item.Type&&(html=cardBuilder.getCardsHtml({items:result.Items,shape:"auto",showTitle:!0,centerText:!0,lazy:!0,showDetailsMenu:!0}));if("BoxSet"!==item.Type&&page.querySelector("#childrenCollapsible").classList.remove("hide"),scrollX?(childrenItemsContainer.classList.add(scrollClass),childrenItemsContainer.classList.remove("vertical-wrap"),childrenItemsContainer.classList.remove("vertical-list")):(childrenItemsContainer.classList.remove("hiddenScrollX"),childrenItemsContainer.classList.remove("smoothScrollX"),isList?(childrenItemsContainer.classList.add("vertical-list"),childrenItemsContainer.classList.remove("vertical-wrap")):(childrenItemsContainer.classList.add("vertical-wrap"),childrenItemsContainer.classList.remove("vertical-list"))),childrenItemsContainer.innerHTML=html,imageLoader.lazyChildren(childrenItemsContainer),"BoxSet"==item.Type){var collectionItemTypes=[{name:globalize.translate("HeaderVideos"),mediaType:"Video"},{name:globalize.translate("HeaderSeries"),type:"Series"},{name:globalize.translate("HeaderAlbums"),type:"MusicAlbum"},{name:globalize.translate("HeaderGames"),type:"Game"},{name:globalize.translate("HeaderBooks"),type:"Book"}];renderCollectionItems(page,item,collectionItemTypes,result.Items)}}),"Season"==item.Type?page.querySelector("#childrenTitle").innerHTML=globalize.translate("HeaderEpisodes"):"Series"==item.Type?page.querySelector("#childrenTitle").innerHTML=globalize.translate("HeaderSeasons"):"MusicAlbum"==item.Type?page.querySelector("#childrenTitle").innerHTML=globalize.translate("HeaderTracks"):"GameSystem"==item.Type?page.querySelector("#childrenTitle").innerHTML=globalize.translate("HeaderGames"):page.querySelector("#childrenTitle").innerHTML=globalize.translate("HeaderItems"), +"MusicAlbum"==item.Type||"Season"==item.Type?page.querySelector(".childrenSectionHeader",page).classList.add("hide"):page.querySelector(".childrenSectionHeader",page).classList.remove("hide")}function renderItemsByName(page,item,user){require("scripts/itembynamedetailpage".split(","),function(){window.ItemsByName.renderItems(page,item)})}function renderPlaylistItems(page,item,user){require("scripts/playlistedit".split(","),function(){PlaylistViewer.render(page,item)})}function renderProgramsForChannel(page,result){for(var html="",currentItems=[],currentStartDate=null,i=0,length=result.Items.length;i',html+='

'+datetime.toLocaleDateString(currentStartDate,{weekday:"long",month:"long",day:"numeric"})+"

",html+='
'+listView.getListViewHtml({items:currentItems,enableUserDataButtons:!1,showParentTitle:!0,image:!1,showProgramTime:!0,mediaInfo:!1,parentTitleWithTitle:!0})+"
"),currentStartDate=itemStartDate,currentItems=[]),currentItems.push(item)}page.querySelector(".programGuide").innerHTML=html}function renderChannelGuide(page,apiClient,item){"TvChannel"===item.Type&&(page.querySelector(".programGuideSection").classList.remove("hide"),apiClient.getLiveTvPrograms({ChannelIds:item.Id,UserId:apiClient.getCurrentUserId(),HasAired:!1,SortBy:"StartDate",EnableTotalRecordCount:!1,EnableImages:!1,ImageTypeLimit:0,EnableUserData:!1}).then(function(result){renderProgramsForChannel(page,result)}))}function renderSeriesSchedule(page,item,user){return}function inferContext(item){return"Movie"===item.Type||"BoxSet"===item.Type?"movies":"Series"===item.Type||"Season"===item.Type||"Episode"===item.Type?"tvshows":"Game"===item.Type||"GameSystem"===item.Type?"games":"Game"===item.Type||"GameSystem"===item.Type?"games":"MusicArtist"===item.Type||"MusicAlbum"===item.Type?"music":null}function renderStudios(elem,item,isStatic){var context=inferContext(item);if(item.Studios&&item.Studios.length&&"Series"!=item.Type,1)elem.classList.add("hide");else{for(var html="",i=0,length=item.Studios.length;i0&&(html+="  /  "),isStatic)html+=item.Studios[i].Name;else{item.Studios[i].Type="Studio";var href=appRouter.getRouteUrl(item.Studios[0],{context:context,serverId:item.ServerId});html+=''+item.Studios[i].Name+""}var translationKey=item.Studios.length>1?"ValueStudios":"ValueStudio";html=globalize.translate(translationKey,html),elem.innerHTML=html,elem.classList.remove("hide")}}function filterItemsByCollectionItemType(items,typeInfo){return items.filter(function(item){return typeInfo.mediaType?item.MediaType==typeInfo.mediaType:item.Type==typeInfo.type})}function renderCollectionItems(page,parentItem,types,items){page.querySelector(".collectionItems").innerHTML="";var i,length;for(i=0,length=types.length;i0}).length});otherTypeItems.length&&renderCollectionItemType(page,parentItem,otherType,otherTypeItems),items.length||renderCollectionItemType(page,parentItem,{name:globalize.translate("HeaderItems")},items)}function renderCollectionItemType(page,parentItem,type,items){var html="";html+='
',html+='
',html+='

',html+=""+type.name+"",html+="

",html+='',html+="
",html+='
';var shape="MusicAlbum"==type.type?getSquareShape(!1):getPortraitShape(!1);html+=cardBuilder.getCardsHtml({items:items,shape:shape,showTitle:!0,centerText:!0,lazy:!0,showDetailsMenu:!0,overlayMoreButton:!0,showAddToCollection:!1,showRemoveFromCollection:!0,collectionId:parentItem.Id}),html+="
",html+="
";var collectionItems=page.querySelector(".collectionItems");collectionItems.insertAdjacentHTML("beforeend",html),imageLoader.lazyChildren(collectionItems),collectionItems.querySelector(".btnAddToCollection").addEventListener("click",function(){require(["alert"],function(alert){alert({text:globalize.translate("AddItemToCollectionHelp"),html:globalize.translate("AddItemToCollectionHelp")+'

'+globalize.translate("ButtonLearnMore")+""})})})}function renderThemeMedia(page,item){if("SeriesTimer"!==item.Type&&"Timer"!==item.Type&&"Genre"!==item.Type&&"MusicGenre"!==item.Type&&"GameGenre"!==item.Type&&"Studio"!==item.Type&&"Person"!==item.Type){var apiClient=connectionManager.getApiClient(item.ServerId);apiClient.getThemeMedia(apiClient.getCurrentUserId(),item.Id,!0).then(function(result){var themeSongs=result.ThemeSongsResult.OwnerId==item.Id?result.ThemeSongsResult.Items:[],themeVideos=result.ThemeVideosResult.OwnerId==item.Id?result.ThemeVideosResult.Items:[];renderThemeSongs(page,themeSongs),renderThemeVideos(page,themeVideos)})}}function renderThemeSongs(page,items){if(items.length){page.querySelector("#themeSongsCollapsible").classList.remove("hide");var html=listView.getListViewHtml({items:items});page.querySelector("#themeSongsContent").innerHTML=html}else page.querySelector("#themeSongsCollapsible").classList.add("hide")}function renderThemeVideos(page,items,user){if(items.length){page.querySelector("#themeVideosCollapsible").classList.remove("hide");var themeVideosContent=page.querySelector("#themeVideosContent");themeVideosContent.innerHTML=getVideosHtml(items,user),imageLoader.lazyChildren(themeVideosContent)}else page.querySelector("#themeVideosCollapsible").classList.add("hide")}function renderMusicVideos(page,item,user){connectionManager.getApiClient(item.ServerId).getItems(user.Id,{SortBy:"SortName",SortOrder:"Ascending",IncludeItemTypes:"MusicVideo",Recursive:!0,Fields:"DateCreated,CanDelete",AlbumIds:item.Id}).then(function(result){if(result.Items.length){page.querySelector("#musicVideosCollapsible").classList.remove("hide");var musicVideosContent=page.querySelector(".musicVideosContent");musicVideosContent.innerHTML=getVideosHtml(result.Items,user),imageLoader.lazyChildren(musicVideosContent)}else page.querySelector("#musicVideosCollapsible").classList.add("hide")})}function renderAdditionalParts(page,item,user){connectionManager.getApiClient(item.ServerId).getAdditionalVideoParts(user.Id,item.Id).then(function(result){if(result.Items.length){page.querySelector("#additionalPartsCollapsible").classList.remove("hide");var additionalPartsContent=page.querySelector("#additionalPartsContent");additionalPartsContent.innerHTML=getVideosHtml(result.Items,user),imageLoader.lazyChildren(additionalPartsContent)}else page.querySelector("#additionalPartsCollapsible").classList.add("hide")})}function renderScenes(page,item){var chapters=item.Chapters||[];if(chapters.length&&!chapters[0].ImageTag&&(chapters=[]),chapters.length){page.querySelector("#scenesCollapsible").classList.remove("hide");var scenesContent=page.querySelector("#scenesContent");enableScrollX()?scenesContent.classList.add("smoothScrollX"):scenesContent.classList.add("vertical-wrap"),require(["chaptercardbuilder"],function(chaptercardbuilder){chaptercardbuilder.buildChapterCards(item,chapters,{itemsContainer:scenesContent,width:400,backdropShape:getThumbShape(),squareShape:getSquareShape()})})}else page.querySelector("#scenesCollapsible").classList.add("hide")}function renderMediaSources(page,user,item){var html=item.MediaSources.map(function(v){return getMediaSourceHtml(user,item,v)}).join('
');item.MediaSources.length>1&&(html="
"+html);var mediaInfoContent=page.querySelector("#mediaInfoContent");mediaInfoContent.innerHTML=html,html?page.querySelector(".audioVideoMediaInfo").classList.remove("hide"):page.querySelector(".audioVideoMediaInfo").classList.add("hide")}function getMediaSourceHtml(user,item,version){var html="";version.Name&&item.MediaSources.length>1&&(html+='
'+version.Name+"

");for(var i=0,length=version.MediaStreams.length;i';var displayType=globalize.translate("MediaInfoStreamType"+stream.Type);html+='

'+displayType+"

";var attributes=[];stream.Language&&"Video"!=stream.Type&&attributes.push(createAttribute(globalize.translate("MediaInfoLanguage"),stream.Language)),stream.Codec&&attributes.push(createAttribute(globalize.translate("MediaInfoCodec"),stream.Codec.toUpperCase())),stream.CodecTag&&attributes.push(createAttribute(globalize.translate("MediaInfoCodecTag"),stream.CodecTag)),null!=stream.IsAVC&&attributes.push(createAttribute("AVC",stream.IsAVC?"Yes":"No")),stream.Profile&&attributes.push(createAttribute(globalize.translate("MediaInfoProfile"),stream.Profile)),stream.Level&&attributes.push(createAttribute(globalize.translate("MediaInfoLevel"),stream.Level)),(stream.Width||stream.Height)&&attributes.push(createAttribute(globalize.translate("MediaInfoResolution"),stream.Width+"x"+stream.Height)),stream.AspectRatio&&"mjpeg"!=stream.Codec&&attributes.push(createAttribute(globalize.translate("MediaInfoAspectRatio"),stream.AspectRatio)),"Video"==stream.Type&&(null!=stream.IsAnamorphic&&attributes.push(createAttribute(globalize.translate("MediaInfoAnamorphic"),stream.IsAnamorphic?"Yes":"No")),attributes.push(createAttribute(globalize.translate("MediaInfoInterlaced"),stream.IsInterlaced?"Yes":"No"))),(stream.AverageFrameRate||stream.RealFrameRate)&&attributes.push(createAttribute(globalize.translate("MediaInfoFramerate"),stream.AverageFrameRate||stream.RealFrameRate)),stream.ChannelLayout&&attributes.push(createAttribute(globalize.translate("MediaInfoLayout"),stream.ChannelLayout)),stream.Channels&&attributes.push(createAttribute(globalize.translate("MediaInfoChannels"),stream.Channels+" ch")),stream.BitRate&&"mjpeg"!=stream.Codec&&attributes.push(createAttribute(globalize.translate("MediaInfoBitrate"),parseInt(stream.BitRate/1e3)+" kbps")),stream.SampleRate&&attributes.push(createAttribute(globalize.translate("MediaInfoSampleRate"),stream.SampleRate+" Hz")),stream.BitDepth&&attributes.push(createAttribute(globalize.translate("MediaInfoBitDepth"),stream.BitDepth+" bit")),stream.PixelFormat&&attributes.push(createAttribute(globalize.translate("MediaInfoPixelFormat"),stream.PixelFormat)),stream.RefFrames&&attributes.push(createAttribute(globalize.translate("MediaInfoRefFrames"),stream.RefFrames)),stream.NalLengthSize&&attributes.push(createAttribute("NAL",stream.NalLengthSize)),"Video"!=stream.Type&&attributes.push(createAttribute(globalize.translate("MediaInfoDefault"),stream.IsDefault?"Yes":"No")),"Subtitle"==stream.Type&&(attributes.push(createAttribute(globalize.translate("MediaInfoForced"),stream.IsForced?"Yes":"No")),attributes.push(createAttribute(globalize.translate("MediaInfoExternal"),stream.IsExternal?"Yes":"No"))),"Video"==stream.Type&&version.Timestamp&&attributes.push(createAttribute(globalize.translate("MediaInfoTimestamp"),version.Timestamp)),stream.DisplayTitle&&attributes.push(createAttribute("Title",stream.DisplayTitle)),html+=attributes.join("
"),html+="
"}}if(version.Container&&(html+='
'+globalize.translate("MediaInfoContainer")+''+version.Container+"
"),version.Formats&&version.Formats.length,version.Path&&"Http"!=version.Protocol&&user&&user.Policy.IsAdministrator&&(html+='
'+globalize.translate("MediaInfoPath")+''+version.Path+"
"),version.Size){var size=(version.Size/1048576).toFixed(0);html+='
'+globalize.translate("MediaInfoSize")+''+size+" MB
"}return html}function createAttribute(label,value){return''+label+''+value+""}function getVideosHtml(items,user,limit,moreButtonClass){var html=cardBuilder.getCardsHtml({items:items,shape:"auto",showTitle:!0,action:"play",overlayText:!1,centerText:!0,showRuntime:!0});return limit&&items.length>limit&&(html+='

"),html}function renderSpecials(page,item,user,limit){connectionManager.getApiClient(item.ServerId).getSpecialFeatures(user.Id,item.Id).then(function(specials){var specialsContent=page.querySelector("#specialsContent");specialsContent.innerHTML=getVideosHtml(specials,user,limit,"moreSpecials"),imageLoader.lazyChildren(specialsContent)})}function renderCast(page,item,context,limit,isStatic){var people=(item.People||[]).filter(function(p){return"Director"!==p.Type});if(!people.length)return void page.querySelector("#castCollapsible").classList.add("hide");page.querySelector("#castCollapsible").classList.remove("hide");var castContent=page.querySelector("#castContent");enableScrollX()?(castContent.classList.add("smoothScrollX"),limit=32):castContent.classList.add("vertical-wrap");var limitExceeded=limit&&people.length>limit;limitExceeded&&(people=people.slice(0),people.length=Math.min(limit,people.length)),require(["peoplecardbuilder"],function(peoplecardbuilder){peoplecardbuilder.buildPeopleCards(people,{itemsContainer:castContent,coverImage:!0,serverId:item.ServerId,width:160,shape:getPortraitShape()})});var morePeopleButton=page.querySelector(".morePeople");morePeopleButton&&(limitExceeded&&!enableScrollX()?morePeopleButton.classList.remove("hide"):morePeopleButton.classList.add("hide"))}function showPlayMenu(item,target){require(["playMenu"],function(playMenu){playMenu.show({item:item,positionTo:target})})}function itemDetailPage(){var self=this;self.setInitialCollapsibleState=setInitialCollapsibleState,self.renderDetails=renderDetails,self.renderCast=renderCast,self.renderMediaSources=renderMediaSources}function bindAll(view,selector,eventName,fn){var i,length,elems=view.querySelectorAll(selector);for(i=0,length=elems.length;i'+Globalize.translate("MessageNoCollectionsAvailable")+"

")):view.querySelector(".btnNewCollection").classList.add("hide");var elem=view.querySelector("#items");elem.innerHTML=html,imageLoader.lazyChildren(elem);var i,length,elems=view.querySelectorAll(".paging");for(i=0,length=elems.length;i'+Globalize.translate("MessageNoCollectionsAvailable")+"

")):view.querySelector(".btnNewCollection").classList.add("hide");var elem=view.querySelector("#items");elem.innerHTML=html,imageLoader.lazyChildren(elem);var i,length,elems=view.querySelectorAll(".paging");for(i=0,length=elems.length;i'+artist.Name+"")}return html=html.join(" / ")},getListItemInfo:function(elem){for(var elemWithAttributes=elem;!elemWithAttributes.getAttribute("data-id");)elemWithAttributes=elemWithAttributes.parentNode;var itemId=elemWithAttributes.getAttribute("data-id"),index=elemWithAttributes.getAttribute("data-index"),mediaType=elemWithAttributes.getAttribute("data-mediatype");return{id:itemId,index:index,mediaType:mediaType,context:elemWithAttributes.getAttribute("data-context")}},renderName:function(item,nameElem,linkToElement,context){require(["itemHelper"],function(itemHelper){var name=itemHelper.getDisplayName(item,{includeParentInfo:!1});linkToElement?nameElem.innerHTML=''+name+"":nameElem.innerHTML=name})},renderParentName:function(item,parentNameElem,context){var html=[],contextParam=context?"&context="+context:"";item.AlbumArtists?html.push(libraryBrowser.getArtistLinksHtml(item.AlbumArtists,item.ServerId,"detailPageParentLink")):item.ArtistItems&&item.ArtistItems.length&&"MusicVideo"==item.Type?html.push(libraryBrowser.getArtistLinksHtml(item.ArtistItems,item.ServerId,"detailPageParentLink")):item.SeriesName&&"Episode"==item.Type?html.push(''+item.SeriesName+""):(item.IsSeries||item.EpisodeTitle)&&html.push(item.Name),item.SeriesName&&"Season"==item.Type?html.push(''+item.SeriesName+""):null!=item.ParentIndexNumber&&"Episode"==item.Type?html.push(''+item.SeasonName+""):null!=item.ParentIndexNumber&&item.IsSeries?html.push(item.SeasonName||"S"+item.ParentIndexNumber):item.Album&&"Audio"==item.Type&&(item.AlbumId||item.ParentId)?html.push(''+item.Album+""):item.Album&&"MusicVideo"==item.Type&&item.AlbumId?html.push(''+item.Album+""):item.Album&&html.push(item.Album),html.length?(parentNameElem.classList.remove("hide"),parentNameElem.innerHTML=html.join(" - ")):parentNameElem.classList.add("hide")},showLayoutMenu:function(button,currentLayout,views){var dispatchEvent=!0;views||(dispatchEvent=!1,views=button.getAttribute("data-layouts"),views=views?views.split(","):["List","Poster","PosterCard","Thumb","ThumbCard"]);var menuItems=views.map(function(v){return{name:Globalize.translate("Option"+v),id:v,selected:currentLayout==v}});require(["actionsheet"],function(actionsheet){actionsheet.show({items:menuItems,positionTo:button,callback:function(id){button.dispatchEvent(new CustomEvent("layoutchange",{detail:{viewStyle:id},bubbles:!0,cancelable:!1})),dispatchEvent||window.$&&$(button).trigger("layoutchange",[id])}})})},getQueryPagingHtml:function(options){var startIndex=options.startIndex,limit=options.limit,totalRecordCount=options.totalRecordCount;if(limit&&options.updatePageSizeSetting!==!1)try{appSettings.set(options.pageSizeKey||pageSizeKey,limit)}catch(e){}var html="",recordsEnd=Math.min(startIndex+limit,totalRecordCount),showControls=limit',showControls){html+='';var startAtDisplay=totalRecordCount?startIndex+1:0;html+=startAtDisplay+"-"+recordsEnd+" of "+totalRecordCount,html+=""}return(showControls||options.viewButton||options.filterButton||options.sortButton||options.addLayoutButton)&&(html+='
',showControls&&(html+='',html+=''),options.addLayoutButton&&(html+=''),options.sortButton&&(html+=''),options.filterButton&&(html+=''),html+="
"),html+="
"},showSortMenu:function(options){require(["dialogHelper","emby-radio"],function(dialogHelper){function onSortByChange(){var newValue=this.value;if(this.checked){var changed=options.query.SortBy!=newValue;options.query.SortBy=newValue.replace("_",","),options.query.StartIndex=0,options.callback&&changed&&options.callback()}}function onSortOrderChange(){var newValue=this.value;if(this.checked){var changed=options.query.SortOrder!=newValue;options.query.SortOrder=newValue,options.query.StartIndex=0,options.callback&&changed&&options.callback()}}var dlg=dialogHelper.createDialog({removeOnClose:!0,modal:!1,entryAnimationDuration:160,exitAnimationDuration:200});dlg.classList.add("ui-body-a"),dlg.classList.add("background-theme-a"),dlg.classList.add("formDialog");var html="";html+='
',html+='

',html+=Globalize.translate("HeaderSortBy"),html+="

";var i,length,isChecked;for(html+="
",i=0,length=options.items.length;i"+option.name+""}html+="
",html+='

',html+=Globalize.translate("HeaderSortOrder"),html+="

",html+="
",isChecked="Ascending"==options.query.SortOrder?" checked":"",html+='",isChecked="Descending"==options.query.SortOrder?" checked":"",html+='",html+="
",html+="
",dlg.innerHTML=html,dialogHelper.open(dlg);var sortBys=dlg.querySelectorAll(".menuSortBy");for(i=0,length=sortBys.length;i',editable&&(html+=""),detectRatio&&item.PrimaryImageAspectRatio&&(item.PrimaryImageAspectRatio>=1.48?shape="thumb":item.PrimaryImageAspectRatio>=.85&&item.PrimaryImageAspectRatio<=1.34&&(shape="square")),html+="",editable&&(html+="");var progressHtml=item.IsFolder||!item.UserData?"":indicators.getProgressBarHtml(item);if(html+='
',progressHtml&&(html+=progressHtml),html+="
",html+="
",elem.innerHTML=html,"thumb"==shape?(elem.classList.add("thumbDetailImageContainer"),elem.classList.remove("portraitDetailImageContainer"),elem.classList.remove("squareDetailImageContainer")):"square"==shape?(elem.classList.remove("thumbDetailImageContainer"),elem.classList.remove("portraitDetailImageContainer"),elem.classList.add("squareDetailImageContainer")):(elem.classList.remove("thumbDetailImageContainer"),elem.classList.add("portraitDetailImageContainer"),elem.classList.remove("squareDetailImageContainer")),url){var img=elem.querySelector("img");img.onload=function(){img.src.indexOf("empty.png")==-1&&img.classList.add("loaded")},imageLoader.lazyImage(img,url)}},renderDetailPageBackdrop:function(page,item,apiClient,imageLoader,indicators){var imgUrl,screenWidth=screen.availWidth,hasbackdrop=!1,itemBackdropElement=page.querySelector("#itemBackdrop"),usePrimaryImage="Video"===item.MediaType&&"Movie"!==item.Type&&"Trailer"!==item.Type||item.MediaType&&"Video"!==item.MediaType,useThumbImage="Program"===item.Type;return useThumbImage&&item.ImageTags&&item.ImageTags.Thumb?(imgUrl=apiClient.getScaledImageUrl(item.Id,{type:"Thumb",index:0,maxWidth:screenWidth,tag:item.ImageTags.Thumb}),itemBackdropElement.classList.remove("noBackdrop"),imageLoader.lazyImage(itemBackdropElement,imgUrl,!1),hasbackdrop=!0):usePrimaryImage&&item.ImageTags&&item.ImageTags.Primary?(imgUrl=apiClient.getScaledImageUrl(item.Id,{type:"Primary",index:0,maxWidth:screenWidth,tag:item.ImageTags.Primary}),itemBackdropElement.classList.remove("noBackdrop"),imageLoader.lazyImage(itemBackdropElement,imgUrl,!1),hasbackdrop=!0):item.BackdropImageTags&&item.BackdropImageTags.length?(imgUrl=apiClient.getScaledImageUrl(item.Id,{type:"Backdrop",index:0,maxWidth:screenWidth,tag:item.BackdropImageTags[0]}),itemBackdropElement.classList.remove("noBackdrop"),imageLoader.lazyImage(itemBackdropElement,imgUrl,!1),hasbackdrop=!0):item.ParentBackdropItemId&&item.ParentBackdropImageTags&&item.ParentBackdropImageTags.length?(imgUrl=apiClient.getScaledImageUrl(item.ParentBackdropItemId,{type:"Backdrop",index:0,tag:item.ParentBackdropImageTags[0],maxWidth:screenWidth}),itemBackdropElement.classList.remove("noBackdrop"),imageLoader.lazyImage(itemBackdropElement,imgUrl,!1),hasbackdrop=!0):item.ImageTags&&item.ImageTags.Thumb?(imgUrl=apiClient.getScaledImageUrl(item.Id,{type:"Thumb",index:0,maxWidth:screenWidth,tag:item.ImageTags.Thumb}),itemBackdropElement.classList.remove("noBackdrop"),imageLoader.lazyImage(itemBackdropElement,imgUrl,!1),hasbackdrop=!0):(itemBackdropElement.classList.add("noBackdrop"),itemBackdropElement.style.backgroundImage=""),hasbackdrop}};return window.LibraryBrowser=libraryBrowser,libraryBrowser}); \ No newline at end of file +define(["appSettings","dom","browser","datetime","appRouter","events","scrollStyles"],function(appSettings,dom,browser,datetime,appRouter,events){"use strict";var pageSizeKey="pagesize_v4",libraryBrowser={getDefaultPageSize:function(key,defaultValue){return 100},getSavedQueryKey:function(modifier){return window.location.href.split("#")[0]+(modifier||"")},loadSavedQueryValues:function(key,query){var values=appSettings.get(key+"_"+Dashboard.getCurrentUserId());return values?(values=JSON.parse(values),Object.assign(query,values)):query},saveQueryValues:function(key,query){var values={};query.SortBy&&(values.SortBy=query.SortBy),query.SortOrder&&(values.SortOrder=query.SortOrder);try{appSettings.set(key+"_"+Dashboard.getCurrentUserId(),JSON.stringify(values))}catch(e){}},saveViewSetting:function(key,value){try{appSettings.set(key+"_"+Dashboard.getCurrentUserId()+"_view",value)}catch(e){}},getSavedView:function(key){var val=appSettings.get(key+"_"+Dashboard.getCurrentUserId()+"_view");return val},getSavedViewSetting:function(key){return new Promise(function(resolve,reject){var val=libraryBrowser.getSavedView(key);resolve(val)})},getListItemInfo:function(elem){for(var elemWithAttributes=elem;!elemWithAttributes.getAttribute("data-id");)elemWithAttributes=elemWithAttributes.parentNode;var itemId=elemWithAttributes.getAttribute("data-id"),index=elemWithAttributes.getAttribute("data-index"),mediaType=elemWithAttributes.getAttribute("data-mediatype");return{id:itemId,index:index,mediaType:mediaType,context:elemWithAttributes.getAttribute("data-context")}},showLayoutMenu:function(button,currentLayout,views){var dispatchEvent=!0;views||(dispatchEvent=!1,views=button.getAttribute("data-layouts"),views=views?views.split(","):["List","Poster","PosterCard","Thumb","ThumbCard"]);var menuItems=views.map(function(v){return{name:Globalize.translate("Option"+v),id:v,selected:currentLayout==v}});require(["actionsheet"],function(actionsheet){actionsheet.show({items:menuItems,positionTo:button,callback:function(id){button.dispatchEvent(new CustomEvent("layoutchange",{detail:{viewStyle:id},bubbles:!0,cancelable:!1})),dispatchEvent||window.$&&$(button).trigger("layoutchange",[id])}})})},getQueryPagingHtml:function(options){var startIndex=options.startIndex,limit=options.limit,totalRecordCount=options.totalRecordCount;if(limit&&options.updatePageSizeSetting!==!1)try{appSettings.set(options.pageSizeKey||pageSizeKey,limit)}catch(e){}var html="",recordsEnd=Math.min(startIndex+limit,totalRecordCount),showControls=limit',showControls){html+='';var startAtDisplay=totalRecordCount?startIndex+1:0;html+=startAtDisplay+"-"+recordsEnd+" of "+totalRecordCount,html+=""}return(showControls||options.viewButton||options.filterButton||options.sortButton||options.addLayoutButton)&&(html+='
',showControls&&(html+='',html+=''),options.addLayoutButton&&(html+=''),options.sortButton&&(html+=''),options.filterButton&&(html+=''),html+="
"),html+=""},showSortMenu:function(options){require(["dialogHelper","emby-radio"],function(dialogHelper){function onSortByChange(){var newValue=this.value;if(this.checked){var changed=options.query.SortBy!=newValue;options.query.SortBy=newValue.replace("_",","),options.query.StartIndex=0,options.callback&&changed&&options.callback()}}function onSortOrderChange(){var newValue=this.value;if(this.checked){var changed=options.query.SortOrder!=newValue;options.query.SortOrder=newValue,options.query.StartIndex=0,options.callback&&changed&&options.callback()}}var dlg=dialogHelper.createDialog({removeOnClose:!0,modal:!1,entryAnimationDuration:160,exitAnimationDuration:200});dlg.classList.add("ui-body-a"),dlg.classList.add("background-theme-a"),dlg.classList.add("formDialog");var html="";html+='
',html+='

',html+=Globalize.translate("HeaderSortBy"),html+="

";var i,length,isChecked;for(html+="
",i=0,length=options.items.length;i"+option.name+""}html+="
",html+='

',html+=Globalize.translate("HeaderSortOrder"),html+="

",html+="
",isChecked="Ascending"==options.query.SortOrder?" checked":"",html+='",isChecked="Descending"==options.query.SortOrder?" checked":"",html+='",html+="
",html+="
",dlg.innerHTML=html,dialogHelper.open(dlg);var sortBys=dlg.querySelectorAll(".menuSortBy");for(i=0,length=sortBys.length;i',editable&&(html+=""),detectRatio&&item.PrimaryImageAspectRatio&&(item.PrimaryImageAspectRatio>=1.48?shape="thumb":item.PrimaryImageAspectRatio>=.85&&item.PrimaryImageAspectRatio<=1.34&&(shape="square")),html+="",editable&&(html+="");var progressHtml=item.IsFolder||!item.UserData?"":indicators.getProgressBarHtml(item);if(html+='
',progressHtml&&(html+=progressHtml),html+="
",html+="",elem.innerHTML=html,"thumb"==shape?(elem.classList.add("thumbDetailImageContainer"),elem.classList.remove("portraitDetailImageContainer"),elem.classList.remove("squareDetailImageContainer")):"square"==shape?(elem.classList.remove("thumbDetailImageContainer"),elem.classList.remove("portraitDetailImageContainer"),elem.classList.add("squareDetailImageContainer")):(elem.classList.remove("thumbDetailImageContainer"),elem.classList.add("portraitDetailImageContainer"),elem.classList.remove("squareDetailImageContainer")),url){var img=elem.querySelector("img");img.onload=function(){img.src.indexOf("empty.png")==-1&&img.classList.add("loaded")},imageLoader.lazyImage(img,url)}},renderDetailPageBackdrop:function(page,item,apiClient,imageLoader,indicators){var imgUrl,screenWidth=screen.availWidth,hasbackdrop=!1,itemBackdropElement=page.querySelector("#itemBackdrop"),usePrimaryImage="Video"===item.MediaType&&"Movie"!==item.Type&&"Trailer"!==item.Type||item.MediaType&&"Video"!==item.MediaType,useThumbImage="Program"===item.Type;return useThumbImage&&item.ImageTags&&item.ImageTags.Thumb?(imgUrl=apiClient.getScaledImageUrl(item.Id,{type:"Thumb",index:0,maxWidth:screenWidth,tag:item.ImageTags.Thumb}),itemBackdropElement.classList.remove("noBackdrop"),imageLoader.lazyImage(itemBackdropElement,imgUrl,!1),hasbackdrop=!0):usePrimaryImage&&item.ImageTags&&item.ImageTags.Primary?(imgUrl=apiClient.getScaledImageUrl(item.Id,{type:"Primary",index:0,maxWidth:screenWidth,tag:item.ImageTags.Primary}),itemBackdropElement.classList.remove("noBackdrop"),imageLoader.lazyImage(itemBackdropElement,imgUrl,!1),hasbackdrop=!0):item.BackdropImageTags&&item.BackdropImageTags.length?(imgUrl=apiClient.getScaledImageUrl(item.Id,{type:"Backdrop",index:0,maxWidth:screenWidth,tag:item.BackdropImageTags[0]}),itemBackdropElement.classList.remove("noBackdrop"),imageLoader.lazyImage(itemBackdropElement,imgUrl,!1),hasbackdrop=!0):item.ParentBackdropItemId&&item.ParentBackdropImageTags&&item.ParentBackdropImageTags.length?(imgUrl=apiClient.getScaledImageUrl(item.ParentBackdropItemId,{type:"Backdrop",index:0,tag:item.ParentBackdropImageTags[0],maxWidth:screenWidth}),itemBackdropElement.classList.remove("noBackdrop"),imageLoader.lazyImage(itemBackdropElement,imgUrl,!1),hasbackdrop=!0):item.ImageTags&&item.ImageTags.Thumb?(imgUrl=apiClient.getScaledImageUrl(item.Id,{type:"Thumb",index:0,maxWidth:screenWidth,tag:item.ImageTags.Thumb}),itemBackdropElement.classList.remove("noBackdrop"),imageLoader.lazyImage(itemBackdropElement,imgUrl,!1),hasbackdrop=!0):(itemBackdropElement.classList.add("noBackdrop"),itemBackdropElement.style.backgroundImage=""),hasbackdrop}};return window.LibraryBrowser=libraryBrowser,libraryBrowser}); \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/scripts/livetvchannel.js b/MediaBrowser.WebDashboard/dashboard-ui/scripts/livetvchannel.js deleted file mode 100644 index 84deba7208..0000000000 --- a/MediaBrowser.WebDashboard/dashboard-ui/scripts/livetvchannel.js +++ /dev/null @@ -1 +0,0 @@ -define(["datetime","listView","loading"],function(datetime,listView,loading){"use strict";function isSameDay(date1,date2){return date1.toDateString()===date2.toDateString()}function renderPrograms(page,result){for(var html="",currentItems=[],currentStartDate=null,i=0,length=result.Items.length;i',html+='

'+datetime.toLocaleDateString(currentStartDate,{weekday:"long",month:"long",day:"numeric"})+"

",html+='
'+listView.getListViewHtml({items:currentItems,enableUserDataButtons:!1,showParentTitle:!0,image:!1,showProgramTime:!0,mediaInfo:!1,parentTitleWithTitle:!0})+"
"),currentStartDate=itemStartDate,currentItems=[]),currentItems.push(item)}page.querySelector("#childrenContent").innerHTML=html}function loadPrograms(page,channelId){ApiClient.getLiveTvPrograms({ChannelIds:channelId,UserId:Dashboard.getCurrentUserId(),HasAired:!1,SortBy:"StartDate",EnableTotalRecordCount:!1,EnableImages:!1,ImageTypeLimit:0,EnableUserData:!1}).then(function(result){renderPrograms(page,result),loading.hide()})}return{renderPrograms:loadPrograms}}); \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/scripts/livetvstatus.js b/MediaBrowser.WebDashboard/dashboard-ui/scripts/livetvstatus.js index d936ad50ef..0e8cc93204 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/scripts/livetvstatus.js +++ b/MediaBrowser.WebDashboard/dashboard-ui/scripts/livetvstatus.js @@ -1 +1 @@ -define(["jQuery","globalize","scripts/taskbutton","dom","libraryMenu","layoutManager","loading","listViewStyle","flexStyles","emby-itemscontainer","cardStyle","material-icons","emby-linkbutton"],function($,globalize,taskButton,dom,libraryMenu,layoutManager,loading){"use strict";function resetTuner(page,id){var message=globalize.translate("MessageConfirmResetTuner");require(["confirm"],function(confirm){confirm(message,globalize.translate("HeaderResetTuner")).then(function(){loading.show(),ApiClient.resetLiveTvTuner(id).then(function(){loading.hide(),reload(page)})})})}function renderTuners(page,tuners){var html="";if(tuners.length){html+='
';for(var i=0,length=tuners.length;i',html+='live_tv',html+='
',html+='

',html+=tuner.Name,html+="

",html+='
',html+=tuner.SourceType,html+="
",html+='
',html+="RecordingTv"==tuner.Status?tuner.ChannelName?globalize.translate("StatusRecordingProgram").replace("{0}",tuner.ChannelName):globalize.translate("StatusRecording"):"LiveTv"==tuner.Status?tuner.ChannelName?globalize.translate("StatusWatchingProgram").replace("{0}",tuner.ChannelName):globalize.translate("StatusWatching"):tuner.Status,html+="
",html+="
",tuner.CanReset&&(html+=''),html+="
"}html+=""}tuners.length?page.querySelector(".tunerSection").classList.remove("hide"):page.querySelector(".tunerSection").classList.add("hide");var elem=$(".tunerList",page).html(html);$(".btnResetTuner",elem).on("click",function(){var id=this.getAttribute("data-tunerid");resetTuner(page,id)})}function getServiceHtml(service){var html="";html+="
";var serviceUrl=service.HomePageUrl||"#";html+='

'+service.Name+"

";var versionHtml=service.Version||"Unknown";versionHtml+=service.HasUpdateAvailable?' '+globalize.translate("LiveTvUpdateAvailable")+"":' '+globalize.translate("LabelVersionUpToDate"),html+="

"+versionHtml+"

";var status=service.Status;return"Ok"==service.Status?status=''+status+"":(service.StatusMessage&&(status+=" ("+service.StatusMessage+")"),status=''+status+""),html+="

"+globalize.translate("ValueStatus",status)+"

",html+="
"}function loadPage(page,liveTvInfo){liveTvInfo.IsEnabled?$(".liveTvStatusContent",page).show():$(".liveTvStatusContent",page).hide();var servicesToDisplay=liveTvInfo.Services.filter(function(s){return s.IsVisible});servicesToDisplay.length?$(".servicesSection",page).show():$(".servicesSection",page).hide(),$(".servicesList",page).html(servicesToDisplay.map(getServiceHtml).join(""));for(var tuners=[],i=0,length=liveTvInfo.Services.length;i',html+='
',html+='
',html+='
',html+='
',html+='
dvr
',html+="
",html+="
",html+='
',html+='',html+='
'+(device.FriendlyName||device.Type)+"
",html+='
',html+=device.Url||" ",html+="
",html+="
",html+="
",html+=""}function renderDevices(page,devices){var html=devices.map(getDeviceHtml).join("");page.querySelector(".devicesList").innerHTML=html}function deleteDevice(page,id){var message=globalize.translate("MessageConfirmDeleteTunerDevice");require(["confirm"],function(confirm){confirm(message,globalize.translate("HeaderDeleteDevice")).then(function(){loading.show(),ApiClient.ajax({type:"DELETE",url:ApiClient.getUrl("LiveTv/TunerHosts",{Id:id})}).then(function(){reload(page)})})})}function reload(page){loading.show(),ApiClient.getLiveTvInfo().then(function(liveTvInfo){loadPage(page,liveTvInfo)},function(){loadPage(page,{Services:[],IsEnabled:!0})})}function submitAddDeviceForm(page){page.querySelector(".dlgAddDevice").close(),loading.show(),ApiClient.ajax({type:"POST",url:ApiClient.getUrl("LiveTv/TunerHosts"),data:JSON.stringify({Type:$("#selectTunerDeviceType",page).val(),Url:$("#txtDevicePath",page).val()}),contentType:"application/json"}).then(function(){reload(page)},function(){Dashboard.alert({message:globalize.translate("ErrorAddingTunerDevice")})})}function renderProviders(page,providers){var html="";if(providers.length){html+='
';for(var i=0,length=providers.length;i',html+='dvr',html+='",html+='',html+="
"}html+=""}var elem=$(".providerList",page).html(html);$(".btnOptions",elem).on("click",function(){var id=this.getAttribute("data-id");showProviderOptions(page,id,this)})}function showProviderOptions(page,providerId,button){var items=[];items.push({name:globalize.translate("ButtonDelete"),id:"delete"}),items.push({name:globalize.translate("MapChannels"),id:"map"}),require(["actionsheet"],function(actionsheet){actionsheet.show({items:items,positionTo:button}).then(function(id){switch(id){case"delete":deleteProvider(page,providerId);break;case"map":mapChannels(page,providerId)}})})}function mapChannels(page,providerId){require(["components/channelmapper/channelmapper"],function(channelmapper){new channelmapper({serverId:ApiClient.serverInfo().Id,providerId:providerId}).show()})}function deleteProvider(page,id){var message=globalize.translate("MessageConfirmDeleteGuideProvider");require(["confirm"],function(confirm){confirm(message,globalize.translate("HeaderDeleteProvider")).then(function(){loading.show(),ApiClient.ajax({type:"DELETE",url:ApiClient.getUrl("LiveTv/ListingProviders",{Id:id})}).then(function(){reload(page)},function(){reload(page)})})})}function getProviderName(providerId){switch(providerId=providerId.toLowerCase()){case"schedulesdirect":return"Schedules Direct";case"xmltv":return"Xml TV";case"emby":return"Emby Guide";default:return"Unknown"}}function getProviderConfigurationUrl(providerId){switch(providerId=providerId.toLowerCase()){case"xmltv":return"livetvguideprovider.html?type=xmltv";case"schedulesdirect":return"livetvguideprovider.html?type=schedulesdirect";case"emby":return"livetvguideprovider.html?type=emby"}}function addProvider(button){var menuItems=[];menuItems.push({name:"Schedules Direct",id:"SchedulesDirect"}),menuItems.push({name:"Xml TV",id:"xmltv"}),menuItems.push({name:globalize.translate("ButtonOther"),id:"other"}),require(["actionsheet"],function(actionsheet){actionsheet.show({items:menuItems,positionTo:button,callback:function(id){"other"==id?Dashboard.alert({message:globalize.translate("ForAdditionalLiveTvOptions")}):Dashboard.navigate(getProviderConfigurationUrl(id))}})})}function addDevice(button){Dashboard.navigate("livetvtuner.html")}function getTabs(){return[{href:"livetvstatus.html",name:globalize.translate("TabDevices")},{href:"livetvsettings.html",name:globalize.translate("TabSettings")},{href:"appservices.html?context=livetv",name:globalize.translate("TabServices")}]}function showDeviceMenu(button,tunerDeviceId){var items=[];items.push({name:globalize.translate("ButtonDelete"),id:"delete"}),items.push({name:globalize.translate("ButtonEdit"),id:"edit"}),require(["actionsheet"],function(actionsheet){actionsheet.show({items:items,positionTo:button}).then(function(id){switch(id){case"delete":deleteDevice(dom.parentWithClass(button,"page"),tunerDeviceId);break;case"edit":Dashboard.navigate("livetvtuner.html?id="+tunerDeviceId)}})})}function onDevicesListClick(e){var card=dom.parentWithClass(e.target,"card");if(card){var id=card.getAttribute("data-id"),btnCardOptions=dom.parentWithClass(e.target,"btnCardOptions");btnCardOptions?showDeviceMenu(btnCardOptions,id):Dashboard.navigate("livetvtuner.html?id="+id)}}$(document).on("pageinit","#liveTvStatusPage",function(){var page=this;$(".btnAddDevice",page).on("click",function(){addDevice(this)}),$(".formAddDevice",page).on("submit",function(){return submitAddDeviceForm(page),!1}),$(".btnAddProvider",page).on("click",function(){addProvider(this)}),page.querySelector(".devicesList").addEventListener("click",onDevicesListClick)}).on("pageshow","#liveTvStatusPage",function(){libraryMenu.setTabs("livetvadmin",0,getTabs);var page=this;reload(page),taskButton({mode:"on",progressElem:page.querySelector(".refreshGuideProgress"),taskKey:"RefreshGuide",button:page.querySelector(".btnRefresh")})}).on("pagehide","#liveTvStatusPage",function(){var page=this;taskButton({mode:"off",progressElem:page.querySelector(".refreshGuideProgress"),taskKey:"RefreshGuide",button:page.querySelector(".btnRefresh")})})}); \ No newline at end of file +define(["jQuery","globalize","scripts/taskbutton","dom","libraryMenu","layoutManager","loading","listViewStyle","flexStyles","emby-itemscontainer","cardStyle","material-icons","emby-linkbutton"],function($,globalize,taskButton,dom,libraryMenu,layoutManager,loading){"use strict";function resetTuner(page,id){var message=globalize.translate("MessageConfirmResetTuner");require(["confirm"],function(confirm){confirm(message,globalize.translate("HeaderResetTuner")).then(function(){loading.show(),ApiClient.resetLiveTvTuner(id).then(function(){loading.hide(),reload(page)})})})}function renderTuners(page,tuners){var html="";if(tuners.length){html+='
';for(var i=0,length=tuners.length;i',html+='live_tv',html+='
',html+='

',html+=tuner.Name,html+="

",html+='
',html+=tuner.SourceType,html+="
",html+='
',html+="RecordingTv"==tuner.Status?tuner.ChannelName?globalize.translate("StatusRecordingProgram").replace("{0}",tuner.ChannelName):globalize.translate("StatusRecording"):"LiveTv"==tuner.Status?tuner.ChannelName?globalize.translate("StatusWatchingProgram").replace("{0}",tuner.ChannelName):globalize.translate("StatusWatching"):tuner.Status,html+="
",html+="
",tuner.CanReset&&(html+=''),html+="
"}html+=""}tuners.length?page.querySelector(".tunerSection").classList.remove("hide"):page.querySelector(".tunerSection").classList.add("hide");var elem=$(".tunerList",page).html(html);$(".btnResetTuner",elem).on("click",function(){var id=this.getAttribute("data-tunerid");resetTuner(page,id)})}function getServiceHtml(service){var html="";html+="
";var serviceUrl=service.HomePageUrl||"#";html+='

'+service.Name+"

";var versionHtml=service.Version||"Unknown";versionHtml+=service.HasUpdateAvailable?' '+globalize.translate("LiveTvUpdateAvailable")+"":' '+globalize.translate("LabelVersionUpToDate"),html+="

"+versionHtml+"

";var status=service.Status;return"Ok"==service.Status?status=''+status+"":(service.StatusMessage&&(status+=" ("+service.StatusMessage+")"),status=''+status+""),html+="

"+globalize.translate("ValueStatus",status)+"

",html+="
"}function loadPage(page,liveTvInfo){liveTvInfo.IsEnabled?$(".liveTvStatusContent",page).show():$(".liveTvStatusContent",page).hide();var servicesToDisplay=liveTvInfo.Services.filter(function(s){return s.IsVisible});servicesToDisplay.length?$(".servicesSection",page).show():$(".servicesSection",page).hide(),$(".servicesList",page).html(servicesToDisplay.map(getServiceHtml).join(""));for(var tuners=[],i=0,length=liveTvInfo.Services.length;i',html+='
',html+='
',html+='
',html+='
',html+='
dvr
',html+="
",html+="
",html+='
',html+='',html+='
'+(device.FriendlyName||device.Type)+"
",html+='
',html+=device.Url||" ",html+="
",html+="
",html+="
",html+=""}function renderDevices(page,devices){var html=devices.map(getDeviceHtml).join("");page.querySelector(".devicesList").innerHTML=html}function deleteDevice(page,id){var message=globalize.translate("MessageConfirmDeleteTunerDevice");require(["confirm"],function(confirm){confirm(message,globalize.translate("HeaderDeleteDevice")).then(function(){loading.show(),ApiClient.ajax({type:"DELETE",url:ApiClient.getUrl("LiveTv/TunerHosts",{Id:id})}).then(function(){reload(page)})})})}function reload(page){loading.show(),ApiClient.getLiveTvInfo().then(function(liveTvInfo){loadPage(page,liveTvInfo)},function(){loadPage(page,{Services:[],IsEnabled:!0})})}function submitAddDeviceForm(page){page.querySelector(".dlgAddDevice").close(),loading.show(),ApiClient.ajax({type:"POST",url:ApiClient.getUrl("LiveTv/TunerHosts"),data:JSON.stringify({Type:$("#selectTunerDeviceType",page).val(),Url:$("#txtDevicePath",page).val()}),contentType:"application/json"}).then(function(){reload(page)},function(){Dashboard.alert({message:globalize.translate("ErrorAddingTunerDevice")})})}function renderProviders(page,providers){var html="";if(providers.length){html+='
';for(var i=0,length=providers.length;i',html+='dvr',html+='",html+='',html+="
"}html+=""}var elem=$(".providerList",page).html(html);$(".btnOptions",elem).on("click",function(){var id=this.getAttribute("data-id");showProviderOptions(page,id,this)})}function showProviderOptions(page,providerId,button){var items=[];items.push({name:globalize.translate("ButtonDelete"),id:"delete"}),items.push({name:globalize.translate("MapChannels"),id:"map"}),require(["actionsheet"],function(actionsheet){actionsheet.show({items:items,positionTo:button}).then(function(id){switch(id){case"delete":deleteProvider(page,providerId);break;case"map":mapChannels(page,providerId)}})})}function mapChannels(page,providerId){require(["components/channelmapper/channelmapper"],function(channelmapper){new channelmapper({serverId:ApiClient.serverInfo().Id,providerId:providerId}).show()})}function deleteProvider(page,id){var message=globalize.translate("MessageConfirmDeleteGuideProvider");require(["confirm"],function(confirm){confirm(message,globalize.translate("HeaderDeleteProvider")).then(function(){loading.show(),ApiClient.ajax({type:"DELETE",url:ApiClient.getUrl("LiveTv/ListingProviders",{Id:id})}).then(function(){reload(page)},function(){reload(page)})})})}function getProviderName(providerId){switch(providerId=providerId.toLowerCase()){case"schedulesdirect":return"Schedules Direct";case"xmltv":return"Xml TV";case"emby":return"Emby Guide";default:return"Unknown"}}function getProviderConfigurationUrl(providerId){switch(providerId=providerId.toLowerCase()){case"xmltv":return"livetvguideprovider.html?type=xmltv";case"schedulesdirect":return"livetvguideprovider.html?type=schedulesdirect";case"emby":return"livetvguideprovider.html?type=emby"}}function addProvider(button){var menuItems=[];menuItems.push({name:"Schedules Direct",id:"SchedulesDirect"}),menuItems.push({name:"Xml TV",id:"xmltv"}),menuItems.push({name:globalize.translate("ButtonOther"),id:"other"}),require(["actionsheet"],function(actionsheet){actionsheet.show({items:menuItems,positionTo:button,callback:function(id){"other"==id?Dashboard.alert({message:globalize.translate("ForAdditionalLiveTvOptions")}):Dashboard.navigate(getProviderConfigurationUrl(id))}})})}function addDevice(button){Dashboard.navigate("livetvtuner.html")}function getTabs(){return[{href:"livetvstatus.html",name:globalize.translate("TabDevices")},{href:"livetvsettings.html",name:globalize.translate("TabSettings")},{href:"appservices.html?context=livetv",name:globalize.translate("TabServices")}]}function showDeviceMenu(button,tunerDeviceId){var items=[];items.push({name:globalize.translate("ButtonDelete"),id:"delete"}),items.push({name:globalize.translate("ButtonEdit"),id:"edit"}),require(["actionsheet"],function(actionsheet){actionsheet.show({items:items,positionTo:button}).then(function(id){switch(id){case"delete":deleteDevice(dom.parentWithClass(button,"page"),tunerDeviceId);break;case"edit":Dashboard.navigate("livetvtuner.html?id="+tunerDeviceId)}})})}function onDevicesListClick(e){var card=dom.parentWithClass(e.target,"card");if(card){var id=card.getAttribute("data-id"),btnCardOptions=dom.parentWithClass(e.target,"btnCardOptions");btnCardOptions?showDeviceMenu(btnCardOptions,id):Dashboard.navigate("livetvtuner.html?id="+id)}}$(document).on("pageinit","#liveTvStatusPage",function(){var page=this;$(".btnAddDevice",page).on("click",function(){addDevice(this)}),$(".formAddDevice",page).on("submit",function(){return submitAddDeviceForm(page),!1}),$(".btnAddProvider",page).on("click",function(){addProvider(this)}),page.querySelector(".devicesList").addEventListener("click",onDevicesListClick)}).on("pageshow","#liveTvStatusPage",function(){libraryMenu.setTabs("livetvadmin",0,getTabs);var page=this;reload(page),taskButton({mode:"on",progressElem:page.querySelector(".refreshGuideProgress"),taskKey:"RefreshGuide",button:page.querySelector(".btnRefresh")})}).on("pagehide","#liveTvStatusPage",function(){var page=this;taskButton({mode:"off",progressElem:page.querySelector(".refreshGuideProgress"),taskKey:"RefreshGuide",button:page.querySelector(".btnRefresh")})})}); \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/scripts/medialibrarypage.js b/MediaBrowser.WebDashboard/dashboard-ui/scripts/medialibrarypage.js index b406c7cbec..bf2a059bfc 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/scripts/medialibrarypage.js +++ b/MediaBrowser.WebDashboard/dashboard-ui/scripts/medialibrarypage.js @@ -1 +1 @@ -define(["jQuery","apphost","scripts/taskbutton","loading","libraryMenu","globalize","dom","indicators","cardStyle","emby-itemrefreshindicator"],function($,appHost,taskButton,loading,libraryMenu,globalize,dom,indicators){"use strict";function changeCollectionType(page,virtualFolder){require(["alert"],function(alert){alert({title:globalize.translate("HeaderChangeFolderType"),text:globalize.translate("HeaderChangeFolderTypeHelp")})})}function addVirtualFolder(page){require(["medialibrarycreator"],function(medialibrarycreator){(new medialibrarycreator).show({collectionTypeOptions:getCollectionTypeOptions().filter(function(f){return!f.hidden}),refresh:shouldRefreshLibraryAfterChanges(page)}).then(function(hasChanges){hasChanges&&reloadLibrary(page)})})}function editVirtualFolder(page,virtualFolder){require(["medialibraryeditor"],function(medialibraryeditor){(new medialibraryeditor).show({refresh:shouldRefreshLibraryAfterChanges(page),library:virtualFolder}).then(function(hasChanges){hasChanges&&reloadLibrary(page)})})}function deleteVirtualFolder(page,virtualFolder){var msg=globalize.translate("MessageAreYouSureYouWishToRemoveMediaFolder");virtualFolder.Locations.length&&(msg+="

"+globalize.translate("MessageTheFollowingLocationWillBeRemovedFromLibrary")+"

",msg+=virtualFolder.Locations.join("
")),require(["confirm"],function(confirm){confirm(msg,globalize.translate("HeaderRemoveMediaFolder")).then(function(){var refreshAfterChange=shouldRefreshLibraryAfterChanges(page);ApiClient.removeVirtualFolder(virtualFolder.Name,refreshAfterChange).then(function(){reloadLibrary(page)})})})}function refreshVirtualFolder(page,virtualFolder){require(["refreshDialog"],function(refreshDialog){new refreshDialog({itemIds:[virtualFolder.ItemId],serverId:ApiClient.serverId(),mode:"scan"}).show()})}function renameVirtualFolder(page,virtualFolder){require(["prompt"],function(prompt){prompt({label:globalize.translate("LabelNewName"),confirmText:globalize.translate("ButtonRename")}).then(function(newName){if(newName&&newName!=virtualFolder.Name){var refreshAfterChange=shouldRefreshLibraryAfterChanges(page);ApiClient.renameVirtualFolder(virtualFolder.Name,newName,refreshAfterChange).then(function(){reloadLibrary(page)})}})})}function showCardMenu(page,elem,virtualFolders){var card=dom.parentWithClass(elem,"card"),index=parseInt(card.getAttribute("data-index")),virtualFolder=virtualFolders[index],menuItems=[];menuItems.push({name:globalize.translate("ButtonChangeContentType"),id:"changetype",ironIcon:"videocam"}),menuItems.push({name:globalize.translate("ButtonEditImages"),id:"editimages",ironIcon:"photo"}),menuItems.push({name:globalize.translate("ButtonManageFolders"),id:"edit",ironIcon:"folder_open"}),menuItems.push({name:globalize.translate("ButtonRemove"),id:"delete",ironIcon:"remove"}),menuItems.push({name:globalize.translate("ButtonRename"),id:"rename",ironIcon:"mode_edit"}),menuItems.push({name:globalize.translate("ScanLibrary"),id:"refresh",ironIcon:"refresh"}),require(["actionsheet"],function(actionsheet){actionsheet.show({items:menuItems,positionTo:elem,callback:function(resultId){switch(resultId){case"changetype":changeCollectionType(page,virtualFolder);break;case"edit":editVirtualFolder(page,virtualFolder);break;case"editimages":editImages(page,virtualFolder);break;case"rename":renameVirtualFolder(page,virtualFolder);break;case"delete":deleteVirtualFolder(page,virtualFolder);break;case"refresh":refreshVirtualFolder(page,virtualFolder)}}})})}function reloadLibrary(page){loading.show(),ApiClient.getVirtualFolders().then(function(result){reloadVirtualFolders(page,result)})}function shouldRefreshLibraryAfterChanges(page){return"mediaLibraryPage"===page.id}function reloadVirtualFolders(page,virtualFolders){var html="";virtualFolders.push({Name:globalize.translate("ButtonAddMediaLibrary"),icon:"add_circle",Locations:[],showType:!1,showLocations:!1,showMenu:!1,showNameWithIcon:!0});for(var i=0,length=virtualFolders.length;i',"")}function getCollectionTypeOptions(){return[{name:"",value:""},{name:globalize.translate("FolderTypeMovies"),value:"movies",message:getLink("MovieLibraryHelp","https://github.com/MediaBrowser/Wiki/wiki/Movie%20naming")},{name:globalize.translate("FolderTypeMusic"),value:"music"},{name:globalize.translate("FolderTypeTvShows"),value:"tvshows",message:getLink("TvLibraryHelp","https://github.com/MediaBrowser/Wiki/wiki/TV%20naming")},{name:globalize.translate("FolderTypeBooks"),value:"books",message:globalize.translate("BookLibraryHelp")},{name:globalize.translate("FolderTypeGames"),value:"games",message:globalize.translate("MessageGamePluginRequired")},{name:globalize.translate("OptionHomeVideos"),value:"homevideos"},{name:globalize.translate("FolderTypeMusicVideos"),value:"musicvideos"},{name:globalize.translate("FolderTypeUnset"),value:"mixed",message:globalize.translate("MessageUnsetContentHelp")}]}function getIcon(type){switch(type){case"movies":return"local_movies";case"music":return"library_music";case"photos":return"photo";case"livetv":return"live_tv";case"tvshows":return"live_tv";case"games":return"folder";case"trailers":return"local_movies";case"homevideos":return"video_library";case"musicvideos":return"video_library";case"books":return"folder";case"channels":return"folder";case"playlists":return"folder";default:return"folder"}}function getVirtualFolderHtml(page,virtualFolder,index){var html="",style="";page.classList.contains("wizardPage")&&(style+="min-width:33.3%;"),html+='
',html+='
',html+='
',html+='
',html+='
';var imgUrl="";virtualFolder.PrimaryImageItemId&&(imgUrl=ApiClient.getScaledImageUrl(virtualFolder.PrimaryImageItemId,{type:"Primary"}));var hasCardImageContainer;if(imgUrl?(html+='
",hasCardImageContainer=!0):virtualFolder.showNameWithIcon||(html+='
',html+=''+(virtualFolder.icon||getIcon(virtualFolder.CollectionType))+"",hasCardImageContainer=!0),hasCardImageContainer){html+='
';var refreshClass=virtualFolder.RefreshProgress||virtualFolder.RefreshStatus&&"Idle"!==virtualFolder.RefreshStatus?"":' class="hide"';html+='
',html+="
",html+="
"}if(!imgUrl&&virtualFolder.showNameWithIcon&&(html+='

',html+=''+(virtualFolder.icon||getIcon(virtualFolder.CollectionType))+"",virtualFolder.showNameWithIcon&&(html+='
',html+=virtualFolder.Name,html+="
"),html+="

"),html+="
",html+="
",html+='
',virtualFolder.showMenu!==!1){var moreIcon="dots-horiz"==appHost.moreIcon?"":"";html+='
',html+='",html+="
"}html+="
",html+=virtualFolder.showNameWithIcon?" ":virtualFolder.Name,html+="
";var typeName=getCollectionTypeOptions().filter(function(t){return t.value==virtualFolder.CollectionType})[0];return typeName=typeName?typeName.name:globalize.translate("FolderTypeUnset"),html+="
",html+=virtualFolder.showType===!1?" ":typeName,html+="
",virtualFolder.showLocations===!1?(html+="
",html+=" ",html+="
"):virtualFolder.Locations.length&&1==virtualFolder.Locations.length?(html+="
",html+=virtualFolder.Locations[0],html+="
"):(html+="
",html+=globalize.translate("NumLocationsValue",virtualFolder.Locations.length),html+="
"),html+="
",html+="
",html+="
"}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")}]}window.WizardLibraryPage={next:function(){loading.show();var apiClient=ApiClient;apiClient.ajax({type:"POST",url:apiClient.getUrl("System/Configuration/MetadataPlugins/Autoset")}).then(function(){loading.hide(),Dashboard.navigate("wizardsettings.html")})}},pageClassOn("pageshow","mediaLibraryPage",function(){var page=this;reloadLibrary(page)}),pageIdOn("pageshow","mediaLibraryPage",function(){libraryMenu.setTabs("librarysetup",0,getTabs);var page=this;taskButton({mode:"on",progressElem:page.querySelector(".refreshProgress"),taskKey:"RefreshLibrary",button:page.querySelector(".btnRefresh")})}),pageIdOn("pagebeforehide","mediaLibraryPage",function(){var page=this;taskButton({mode:"off",progressElem:page.querySelector(".refreshProgress"),taskKey:"RefreshLibrary",button:page.querySelector(".btnRefresh")})})}); \ No newline at end of file +define(["jQuery","apphost","scripts/taskbutton","loading","libraryMenu","globalize","dom","indicators","cardStyle","emby-itemrefreshindicator"],function($,appHost,taskButton,loading,libraryMenu,globalize,dom,indicators){"use strict";function changeCollectionType(page,virtualFolder){require(["alert"],function(alert){alert({title:globalize.translate("HeaderChangeFolderType"),text:globalize.translate("HeaderChangeFolderTypeHelp")})})}function addVirtualFolder(page){require(["medialibrarycreator"],function(medialibrarycreator){(new medialibrarycreator).show({collectionTypeOptions:getCollectionTypeOptions().filter(function(f){return!f.hidden}),refresh:shouldRefreshLibraryAfterChanges(page)}).then(function(hasChanges){hasChanges&&reloadLibrary(page)})})}function editVirtualFolder(page,virtualFolder){require(["medialibraryeditor"],function(medialibraryeditor){(new medialibraryeditor).show({refresh:shouldRefreshLibraryAfterChanges(page),library:virtualFolder}).then(function(hasChanges){hasChanges&&reloadLibrary(page)})})}function deleteVirtualFolder(page,virtualFolder){var msg=globalize.translate("MessageAreYouSureYouWishToRemoveMediaFolder");virtualFolder.Locations.length&&(msg+="

"+globalize.translate("MessageTheFollowingLocationWillBeRemovedFromLibrary")+"

",msg+=virtualFolder.Locations.join("
")),require(["confirm"],function(confirm){confirm(msg,globalize.translate("HeaderRemoveMediaFolder")).then(function(){var refreshAfterChange=shouldRefreshLibraryAfterChanges(page);ApiClient.removeVirtualFolder(virtualFolder.Name,refreshAfterChange).then(function(){reloadLibrary(page)})})})}function refreshVirtualFolder(page,virtualFolder){require(["refreshDialog"],function(refreshDialog){new refreshDialog({itemIds:[virtualFolder.ItemId],serverId:ApiClient.serverId(),mode:"scan"}).show()})}function renameVirtualFolder(page,virtualFolder){require(["prompt"],function(prompt){prompt({label:globalize.translate("LabelNewName"),confirmText:globalize.translate("ButtonRename")}).then(function(newName){if(newName&&newName!=virtualFolder.Name){var refreshAfterChange=shouldRefreshLibraryAfterChanges(page);ApiClient.renameVirtualFolder(virtualFolder.Name,newName,refreshAfterChange).then(function(){reloadLibrary(page)})}})})}function showCardMenu(page,elem,virtualFolders){var card=dom.parentWithClass(elem,"card"),index=parseInt(card.getAttribute("data-index")),virtualFolder=virtualFolders[index],menuItems=[];menuItems.push({name:globalize.translate("ButtonChangeContentType"),id:"changetype",ironIcon:"videocam"}),menuItems.push({name:globalize.translate("ButtonEditImages"),id:"editimages",ironIcon:"photo"}),menuItems.push({name:globalize.translate("ButtonManageFolders"),id:"edit",ironIcon:"folder_open"}),menuItems.push({name:globalize.translate("ButtonRemove"),id:"delete",ironIcon:"remove"}),menuItems.push({name:globalize.translate("ButtonRename"),id:"rename",ironIcon:"mode_edit"}),menuItems.push({name:globalize.translate("ScanLibrary"),id:"refresh",ironIcon:"refresh"}),require(["actionsheet"],function(actionsheet){actionsheet.show({items:menuItems,positionTo:elem,callback:function(resultId){switch(resultId){case"changetype":changeCollectionType(page,virtualFolder);break;case"edit":editVirtualFolder(page,virtualFolder);break;case"editimages":editImages(page,virtualFolder);break;case"rename":renameVirtualFolder(page,virtualFolder);break;case"delete":deleteVirtualFolder(page,virtualFolder);break;case"refresh":refreshVirtualFolder(page,virtualFolder)}}})})}function reloadLibrary(page){loading.show(),ApiClient.getVirtualFolders().then(function(result){reloadVirtualFolders(page,result)})}function shouldRefreshLibraryAfterChanges(page){return"mediaLibraryPage"===page.id}function reloadVirtualFolders(page,virtualFolders){var html="";virtualFolders.push({Name:globalize.translate("ButtonAddMediaLibrary"),icon:"add_circle",Locations:[],showType:!1,showLocations:!1,showMenu:!1,showNameWithIcon:!0});for(var i=0,length=virtualFolders.length;i',"")}function getCollectionTypeOptions(){return[{name:"",value:""},{name:globalize.translate("FolderTypeMovies"),value:"movies",message:getLink("MovieLibraryHelp","https://github.com/MediaBrowser/Wiki/wiki/Movie%20naming")},{name:globalize.translate("FolderTypeMusic"),value:"music"},{name:globalize.translate("FolderTypeTvShows"),value:"tvshows",message:getLink("TvLibraryHelp","https://github.com/MediaBrowser/Wiki/wiki/TV%20naming")},{name:globalize.translate("FolderTypeBooks"),value:"books",message:globalize.translate("BookLibraryHelp")},{name:globalize.translate("FolderTypeGames"),value:"games",message:globalize.translate("MessageGamePluginRequired")},{name:globalize.translate("OptionHomeVideos"),value:"homevideos"},{name:globalize.translate("FolderTypeMusicVideos"),value:"musicvideos"},{name:globalize.translate("FolderTypeUnset"),value:"mixed",message:globalize.translate("MessageUnsetContentHelp")}]}function getIcon(type){switch(type){case"movies":return"local_movies";case"music":return"library_music";case"photos":return"photo";case"livetv":return"live_tv";case"tvshows":return"live_tv";case"games":return"folder";case"trailers":return"local_movies";case"homevideos":return"video_library";case"musicvideos":return"video_library";case"books":return"folder";case"channels":return"folder";case"playlists":return"folder";default:return"folder"}}function getVirtualFolderHtml(page,virtualFolder,index){var html="",style="";page.classList.contains("wizardPage")&&(style+="min-width:33.3%;"),html+='
',html+='
',html+='
',html+='
',html+='
';var imgUrl="";virtualFolder.PrimaryImageItemId&&(imgUrl=ApiClient.getScaledImageUrl(virtualFolder.PrimaryImageItemId,{type:"Primary"}));var hasCardImageContainer;if(imgUrl?(html+='
",hasCardImageContainer=!0):virtualFolder.showNameWithIcon||(html+='
',html+=''+(virtualFolder.icon||getIcon(virtualFolder.CollectionType))+"",hasCardImageContainer=!0),hasCardImageContainer){html+='
';var refreshClass=virtualFolder.RefreshProgress||virtualFolder.RefreshStatus&&"Idle"!==virtualFolder.RefreshStatus?"":' class="hide"';html+='
',html+="
",html+="
"}if(!imgUrl&&virtualFolder.showNameWithIcon&&(html+='

',html+=''+(virtualFolder.icon||getIcon(virtualFolder.CollectionType))+"",virtualFolder.showNameWithIcon&&(html+='
',html+=virtualFolder.Name,html+="
"),html+="

"),html+="
",html+="
",html+='
',virtualFolder.showMenu!==!1){var moreIcon="dots-horiz"==appHost.moreIcon?"":"";html+='
',html+='",html+="
"}html+="
",html+=virtualFolder.showNameWithIcon?" ":virtualFolder.Name,html+="
";var typeName=getCollectionTypeOptions().filter(function(t){return t.value==virtualFolder.CollectionType})[0];return typeName=typeName?typeName.name:globalize.translate("FolderTypeUnset"),html+="
",html+=virtualFolder.showType===!1?" ":typeName,html+="
",virtualFolder.showLocations===!1?(html+="
",html+=" ",html+="
"):virtualFolder.Locations.length&&1==virtualFolder.Locations.length?(html+="
",html+=virtualFolder.Locations[0],html+="
"):(html+="
",html+=globalize.translate("NumLocationsValue",virtualFolder.Locations.length),html+="
"),html+="
",html+="
",html+="
"}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")}]}window.WizardLibraryPage={next:function(){loading.show();var apiClient=ApiClient;apiClient.ajax({type:"POST",url:apiClient.getUrl("System/Configuration/MetadataPlugins/Autoset")}).then(function(){loading.hide(),Dashboard.navigate("wizardsettings.html")})}},pageClassOn("pageshow","mediaLibraryPage",function(){var page=this;reloadLibrary(page)}),pageIdOn("pageshow","mediaLibraryPage",function(){libraryMenu.setTabs("librarysetup",0,getTabs);var page=this;taskButton({mode:"on",progressElem:page.querySelector(".refreshProgress"),taskKey:"RefreshLibrary",button:page.querySelector(".btnRefresh")})}),pageIdOn("pagebeforehide","mediaLibraryPage",function(){var page=this;taskButton({mode:"off",progressElem:page.querySelector(".refreshProgress"),taskKey:"RefreshLibrary",button:page.querySelector(".btnRefresh")})})}); \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/scripts/mypreferencesdisplay.js b/MediaBrowser.WebDashboard/dashboard-ui/scripts/mypreferencesdisplay.js index 55815e10bb..770038d87d 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/scripts/mypreferencesdisplay.js +++ b/MediaBrowser.WebDashboard/dashboard-ui/scripts/mypreferencesdisplay.js @@ -1 +1 @@ -define(["displaySettings","userSettingsBuilder"],function(DisplaySettings,userSettingsBuilder){"use strict";return function(view,params){var settingsInstance,userId=params.userId||ApiClient.getCurrentUserId(),userSettings=new userSettingsBuilder,autoSave=!0;view.addEventListener("viewshow",function(){settingsInstance||(settingsInstance=new DisplaySettings({serverId:ApiClient.serverId(),userId:userId,element:view.querySelector(".settingsContainer"),userSettings:userSettings,enableSaveButton:!autoSave,enableSaveConfirmation:!autoSave})),settingsInstance.loadData()}),view.addEventListener("viewbeforehide",function(){autoSave&&settingsInstance&&settingsInstance.submit()}),view.addEventListener("viewdestroy",function(){settingsInstance&&(settingsInstance.destroy(),settingsInstance=null)})}}); \ No newline at end of file +define(["displaySettings","userSettingsBuilder","userSettings"],function(DisplaySettings,userSettingsBuilder,currentUserSettings){"use strict";return function(view,params){var settingsInstance,userId=params.userId||ApiClient.getCurrentUserId(),userSettings=userId===ApiClient.getCurrentUserId()?currentUserSettings:new userSettingsBuilder,autoSave=!0;view.addEventListener("viewshow",function(){settingsInstance||(settingsInstance=new DisplaySettings({serverId:ApiClient.serverId(),userId:userId,element:view.querySelector(".settingsContainer"),userSettings:userSettings,enableSaveButton:!autoSave,enableSaveConfirmation:!autoSave})),settingsInstance.loadData()}),view.addEventListener("viewbeforehide",function(){autoSave&&settingsInstance&&settingsInstance.submit()}),view.addEventListener("viewdestroy",function(){settingsInstance&&(settingsInstance.destroy(),settingsInstance=null)})}}); \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/scripts/mypreferenceshome.js b/MediaBrowser.WebDashboard/dashboard-ui/scripts/mypreferenceshome.js index 423b4ca733..512e376321 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/scripts/mypreferenceshome.js +++ b/MediaBrowser.WebDashboard/dashboard-ui/scripts/mypreferenceshome.js @@ -1 +1 @@ -define(["homescreenSettings","userSettingsBuilder","dom","globalize","loading","homeSections","listViewStyle"],function(HomescreenSettings,userSettingsBuilder,dom,globalize,loading,homeSections){"use strict";return function(view,params){var homescreenSettingsInstance,userId=params.userId||ApiClient.getCurrentUserId(),userSettings=new userSettingsBuilder,autoSave=!0;view.addEventListener("viewshow",function(){homescreenSettingsInstance||(homescreenSettingsInstance=new HomescreenSettings({serverId:ApiClient.serverId(),userId:userId,element:view.querySelector(".homeScreenSettingsContainer"),userSettings:userSettings,enableSaveButton:!autoSave,enableSaveConfirmation:!autoSave})),homescreenSettingsInstance.loadData()}),view.addEventListener("viewbeforehide",function(){autoSave&&homescreenSettingsInstance&&homescreenSettingsInstance.submit()}),view.addEventListener("viewdestroy",function(){homescreenSettingsInstance&&(homescreenSettingsInstance.destroy(),homescreenSettingsInstance=null)})}}); \ No newline at end of file +define(["homescreenSettings","userSettingsBuilder","dom","globalize","loading","userSettings","listViewStyle"],function(HomescreenSettings,userSettingsBuilder,dom,globalize,loading,currentUserSettings){"use strict";return function(view,params){var homescreenSettingsInstance,userId=params.userId||ApiClient.getCurrentUserId(),userSettings=userId===ApiClient.getCurrentUserId()?currentUserSettings:new userSettingsBuilder,autoSave=!0;view.addEventListener("viewshow",function(){homescreenSettingsInstance||(homescreenSettingsInstance=new HomescreenSettings({serverId:ApiClient.serverId(),userId:userId,element:view.querySelector(".homeScreenSettingsContainer"),userSettings:userSettings,enableSaveButton:!autoSave,enableSaveConfirmation:!autoSave})),homescreenSettingsInstance.loadData()}),view.addEventListener("viewbeforehide",function(){autoSave&&homescreenSettingsInstance&&homescreenSettingsInstance.submit()}),view.addEventListener("viewdestroy",function(){homescreenSettingsInstance&&(homescreenSettingsInstance.destroy(),homescreenSettingsInstance=null)})}}); \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/scripts/mypreferenceslanguages.js b/MediaBrowser.WebDashboard/dashboard-ui/scripts/mypreferenceslanguages.js index 0f8c65594f..e9c990a197 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/scripts/mypreferenceslanguages.js +++ b/MediaBrowser.WebDashboard/dashboard-ui/scripts/mypreferenceslanguages.js @@ -1 +1 @@ -define(["playbackSettings","userSettingsBuilder","dom","globalize","loading","listViewStyle"],function(PlaybackSettings,userSettingsBuilder,dom,globalize,loading){"use strict";return function(view,params){var settingsInstance,userId=params.userId||ApiClient.getCurrentUserId(),userSettings=new userSettingsBuilder,autoSave=!0;view.addEventListener("viewshow",function(){settingsInstance||(settingsInstance=new PlaybackSettings({serverId:ApiClient.serverId(),userId:userId,element:view.querySelector(".settingsContainer"),userSettings:userSettings,enableSaveButton:!autoSave,enableSaveConfirmation:!autoSave})),settingsInstance.loadData()}),view.addEventListener("viewbeforehide",function(){autoSave&&settingsInstance&&settingsInstance.submit()}),view.addEventListener("viewdestroy",function(){settingsInstance&&(settingsInstance.destroy(),settingsInstance=null)})}}); \ No newline at end of file +define(["playbackSettings","userSettingsBuilder","dom","globalize","loading","userSettings","listViewStyle"],function(PlaybackSettings,userSettingsBuilder,dom,globalize,loading,currentUserSettings){"use strict";return function(view,params){var settingsInstance,userId=params.userId||ApiClient.getCurrentUserId(),userSettings=userId===ApiClient.getCurrentUserId()?currentUserSettings:new userSettingsBuilder,autoSave=!0;view.addEventListener("viewshow",function(){settingsInstance||(settingsInstance=new PlaybackSettings({serverId:ApiClient.serverId(),userId:userId,element:view.querySelector(".settingsContainer"),userSettings:userSettings,enableSaveButton:!autoSave,enableSaveConfirmation:!autoSave})),settingsInstance.loadData()}),view.addEventListener("viewbeforehide",function(){autoSave&&settingsInstance&&settingsInstance.submit()}),view.addEventListener("viewdestroy",function(){settingsInstance&&(settingsInstance.destroy(),settingsInstance=null)})}}); \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/scripts/mypreferencessubtitles.js b/MediaBrowser.WebDashboard/dashboard-ui/scripts/mypreferencessubtitles.js index 7399af64c9..b8653f1b97 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/scripts/mypreferencessubtitles.js +++ b/MediaBrowser.WebDashboard/dashboard-ui/scripts/mypreferencessubtitles.js @@ -1 +1 @@ -define(["subtitleSettings","userSettingsBuilder"],function(SubtitleSettings,userSettingsBuilder){"use strict";return function(view,params){var subtitleSettingsInstance,userId=params.userId||ApiClient.getCurrentUserId(),userSettings=new userSettingsBuilder,autoSave=!0;view.addEventListener("viewshow",function(){subtitleSettingsInstance||(subtitleSettingsInstance=new SubtitleSettings({serverId:ApiClient.serverId(),userId:userId,element:view.querySelector(".settingsContainer"),userSettings:userSettings,enableSaveButton:!autoSave,enableSaveConfirmation:!autoSave})),subtitleSettingsInstance.loadData()}),view.addEventListener("viewbeforehide",function(){autoSave&&subtitleSettingsInstance&&subtitleSettingsInstance.submit()}),view.addEventListener("viewdestroy",function(){subtitleSettingsInstance&&(subtitleSettingsInstance.destroy(),subtitleSettingsInstance=null)})}}); \ No newline at end of file +define(["subtitleSettings","userSettingsBuilder","userSettings"],function(SubtitleSettings,userSettingsBuilder,currentUserSettings){"use strict";return function(view,params){var subtitleSettingsInstance,userId=params.userId||ApiClient.getCurrentUserId(),userSettings=userId===ApiClient.getCurrentUserId()?currentUserSettings:new userSettingsBuilder,autoSave=!0;view.addEventListener("viewshow",function(){subtitleSettingsInstance||(subtitleSettingsInstance=new SubtitleSettings({serverId:ApiClient.serverId(),userId:userId,element:view.querySelector(".settingsContainer"),userSettings:userSettings,enableSaveButton:!autoSave,enableSaveConfirmation:!autoSave})),subtitleSettingsInstance.loadData()}),view.addEventListener("viewbeforehide",function(){autoSave&&subtitleSettingsInstance&&subtitleSettingsInstance.submit()}),view.addEventListener("viewdestroy",function(){subtitleSettingsInstance&&(subtitleSettingsInstance.destroy(),subtitleSettingsInstance=null)})}}); \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/scripts/notificationsettings.js b/MediaBrowser.WebDashboard/dashboard-ui/scripts/notificationsettings.js index 15ee63cdb1..fc7fd19713 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/scripts/notificationsettings.js +++ b/MediaBrowser.WebDashboard/dashboard-ui/scripts/notificationsettings.js @@ -1 +1 @@ -define(["loading","libraryMenu","listViewStyle","emby-linkbutton"],function(loading,libraryMenu){"use strict";function reload(page){loading.show(),ApiClient.getJSON(ApiClient.getUrl("Notifications/Types")).then(function(list){var html="",lastCategory="";html+=list.map(function(i){var itemHtml="";return i.Category!=lastCategory&&(lastCategory=i.Category,lastCategory&&(itemHtml+="
"),itemHtml+="

",itemHtml+=i.Category,itemHtml+="

",itemHtml+='"),page.querySelector(".notificationList").innerHTML=html,loading.hide()})}function getTabs(){return[{href:"notificationsettings.html",name:Globalize.translate("TabNotifications")},{href:"appservices.html?context=notifications",name:Globalize.translate("TabServices")}]}return function(view,params){view.addEventListener("viewshow",function(){libraryMenu.setTabs("notifications",0,getTabs),reload(view)})}}); \ No newline at end of file +define(["loading","libraryMenu","listViewStyle","emby-linkbutton"],function(loading,libraryMenu){"use strict";function reload(page){loading.show(),ApiClient.getJSON(ApiClient.getUrl("Notifications/Types")).then(function(list){var html="",lastCategory="";html+=list.map(function(i){var itemHtml="";return i.Category!=lastCategory&&(lastCategory=i.Category,lastCategory&&(itemHtml+="
"),itemHtml+="

",itemHtml+=i.Category,itemHtml+="

",itemHtml+='"),page.querySelector(".notificationList").innerHTML=html,loading.hide()})}function getTabs(){return[{href:"notificationsettings.html",name:Globalize.translate("TabNotifications")},{href:"appservices.html?context=notifications",name:Globalize.translate("TabServices")}]}return function(view,params){view.addEventListener("viewshow",function(){libraryMenu.setTabs("notifications",0,getTabs),reload(view)})}}); \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/scripts/plugincatalogpage.js b/MediaBrowser.WebDashboard/dashboard-ui/scripts/plugincatalogpage.js index 8597d3d36b..855c91c798 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/scripts/plugincatalogpage.js +++ b/MediaBrowser.WebDashboard/dashboard-ui/scripts/plugincatalogpage.js @@ -1 +1 @@ -define(["jQuery","loading","libraryMenu","cardStyle","emby-linkbutton"],function($,loading,libraryMenu){"use strict";function reloadList(page){loading.show(),query.IsAppStoreSafe=!0;var promise1=ApiClient.getAvailablePlugins(query),promise2=ApiClient.getInstalledPlugins();Promise.all([promise1,promise2]).then(function(responses){populateList({catalogElement:$("#pluginTiles",page),noItemsElement:$("#noPlugins",page),availablePlugins:responses[0],installedPlugins:responses[1]})})}function populateList(options){populateListInternal(options)}function populateListInternal(options){var availablePlugins=options.availablePlugins,installedPlugins=options.installedPlugins,allPlugins=availablePlugins.filter(function(p){return p.category=p.category||"General",p.categoryDisplayName=Globalize.translate("PluginCategory"+p.category.replace(" ","")),(!options.categories||options.categories.indexOf(p.category)!=-1)&&((!options.targetSystem||p.targetSystem==options.targetSystem)&&"UserInstalled"==p.type)});availablePlugins=allPlugins.sort(function(a,b){var aName=a.category,bName=b.category;return aName>bName?1:bName>aName?-1:(aName=a.name,bName=b.name,aName>bName?1:bName>aName?-1:0)});var i,length,plugin,currentCategory,html="";if(!options.categories){currentCategory=Globalize.translate("HeaderTopPlugins"),html+='

'+currentCategory+"

";var topPlugins=allPlugins.slice(0).sort(function(a,b){if(a.installs>b.installs)return-1;if(b.installs>a.installs)return 1;var aName=a.name,bName=b.name;return aName>bName?1:bName>aName?-1:0});html+='
';var limit=screen.availWidth>=1920?15:12;for(i=0,length=Math.min(topPlugins.length,limit);i",html+="
",html+="
"}var hasOpenTag=!1;for(currentCategory=null,options.showCategory===!1&&(html+='
',hasOpenTag=!0),i=0,length=availablePlugins.length;i",html+="
",html+="
"),html+='

'+category+"

",html+='
',hasOpenTag=!0),currentCategory=category),html+=getPluginHtml(plugin,options,installedPlugins)}hasOpenTag&&(html+="
"),!availablePlugins.length&&options.noItemsElement&&$(options.noItemsElement).hide(),$(options.catalogElement).html(html),loading.hide()}function getPluginHtml(plugin,options,installedPlugins){var html="",href=plugin.externalUrl?plugin.externalUrl:"addplugin.html?name="+encodeURIComponent(plugin.name)+"&guid="+plugin.guid;options.context&&(href+="&context="+options.context);var target=plugin.externalUrl?' target="_blank"':"";html+="
",html+='
',html+='
',html+='
',html+='",html+=plugin.thumbImage?'",html+='
',html+="
",html+=plugin.name,html+="
";var installedPlugin=plugin.isApp?null:installedPlugins.filter(function(ip){return ip.Id==plugin.guid})[0];return html+="
",html+=installedPlugin?Globalize.translate("LabelVersionInstalled").replace("{0}",installedPlugin.Version):" ",html+="
",html+="
",html+="
",html+="
"}function getTabs(){return[{href:"plugins.html",name:Globalize.translate("TabMyPlugins")},{href:"plugincatalog.html",name:Globalize.translate("TabCatalog")}]}var query={TargetSystems:"Server",IsAdult:!1};$(document).on("pageinit","#pluginCatalogPage",function(){var page=this;$("#selectSystem",page).on("change",function(){query.TargetSystems=this.value,reloadList(page)})}).on("pageshow","#pluginCatalogPage",function(){libraryMenu.setTabs("plugins",1,getTabs);var page=this;reloadList(page)}),window.PluginCatalog={renderCatalog:populateList}}); \ No newline at end of file +define(["jQuery","loading","libraryMenu","cardStyle","emby-linkbutton"],function($,loading,libraryMenu){"use strict";function reloadList(page){loading.show(),query.IsAppStoreSafe=!0;var promise1=ApiClient.getAvailablePlugins(query),promise2=ApiClient.getInstalledPlugins();Promise.all([promise1,promise2]).then(function(responses){populateList({catalogElement:$("#pluginTiles",page),noItemsElement:$("#noPlugins",page),availablePlugins:responses[0],installedPlugins:responses[1]})})}function populateList(options){populateListInternal(options)}function populateListInternal(options){var availablePlugins=options.availablePlugins,installedPlugins=options.installedPlugins,allPlugins=availablePlugins.filter(function(p){return p.category=p.category||"General",p.categoryDisplayName=Globalize.translate("PluginCategory"+p.category.replace(" ","")),(!options.categories||options.categories.indexOf(p.category)!=-1)&&((!options.targetSystem||p.targetSystem==options.targetSystem)&&"UserInstalled"==p.type)});availablePlugins=allPlugins.sort(function(a,b){var aName=a.category,bName=b.category;return aName>bName?1:bName>aName?-1:(aName=a.name,bName=b.name,aName>bName?1:bName>aName?-1:0)});var i,length,plugin,currentCategory,html="";if(!options.categories){currentCategory=Globalize.translate("HeaderTopPlugins"),html+='

'+currentCategory+"

";var topPlugins=allPlugins.slice(0).sort(function(a,b){if(a.installs>b.installs)return-1;if(b.installs>a.installs)return 1;var aName=a.name,bName=b.name;return aName>bName?1:bName>aName?-1:0});html+='
';var limit=screen.availWidth>=1920?15:12;for(i=0,length=Math.min(topPlugins.length,limit);i",html+="
",html+="
"}var hasOpenTag=!1;for(currentCategory=null,options.showCategory===!1&&(html+='
',hasOpenTag=!0),i=0,length=availablePlugins.length;i",html+="
",html+="
"),html+='

'+category+"

",html+='
',hasOpenTag=!0),currentCategory=category),html+=getPluginHtml(plugin,options,installedPlugins)}hasOpenTag&&(html+="
"),!availablePlugins.length&&options.noItemsElement&&$(options.noItemsElement).hide(),$(options.catalogElement).html(html),loading.hide()}function getPluginHtml(plugin,options,installedPlugins){var html="",href=plugin.externalUrl?plugin.externalUrl:"addplugin.html?name="+encodeURIComponent(plugin.name)+"&guid="+plugin.guid;options.context&&(href+="&context="+options.context);var target=plugin.externalUrl?' target="_blank"':"";html+="
",html+='
',html+='
',html+='
',html+='",html+=plugin.thumbImage?'",html+='
',html+="
",html+=plugin.name,html+="
";var installedPlugin=plugin.isApp?null:installedPlugins.filter(function(ip){return ip.Id==plugin.guid})[0];return html+="
",html+=installedPlugin?Globalize.translate("LabelVersionInstalled").replace("{0}",installedPlugin.Version):" ",html+="
",html+="
",html+="
",html+="
"}function getTabs(){return[{href:"plugins.html",name:Globalize.translate("TabMyPlugins")},{href:"plugincatalog.html",name:Globalize.translate("TabCatalog")}]}var query={TargetSystems:"Server",IsAdult:!1};$(document).on("pageinit","#pluginCatalogPage",function(){var page=this;$("#selectSystem",page).on("change",function(){query.TargetSystems=this.value,reloadList(page)})}).on("pageshow","#pluginCatalogPage",function(){libraryMenu.setTabs("plugins",1,getTabs);var page=this;reloadList(page)}),window.PluginCatalog={renderCatalog:populateList}}); \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/scripts/scheduledtaskspage.js b/MediaBrowser.WebDashboard/dashboard-ui/scripts/scheduledtaskspage.js index 6283e7d238..69d3fd43c2 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/scripts/scheduledtaskspage.js +++ b/MediaBrowser.WebDashboard/dashboard-ui/scripts/scheduledtaskspage.js @@ -1 +1 @@ -define(["jQuery","loading","events","globalize","serverNotifications","humanedate","listViewStyle","emby-linkbutton"],function($,loading,events,globalize,serverNotifications){"use strict";function reloadList(page){ApiClient.getScheduledTasks({isHidden:!1}).then(function(tasks){populateList(page,tasks),loading.hide()})}function populateList(page,tasks){tasks=tasks.sort(function(a,b){return a=a.Category+" "+a.Name,b=b.Category+" "+b.Name,a==b?0:a",html+="
"),html+='
',html+="

",html+=currentCategory,html+="

",html+='
'),html+='
',html+="",html+='schedule',html+="",html+='",html+="Idle"==task.State?'':"Running"==task.State?'':'',html+="
"}tasks.length&&(html+="
",html+="
");var divScheduledTasks=page.querySelector(".divScheduledTasks");divScheduledTasks.innerHTML=html}function humane_elapsed(firstDateStr,secondDateStr){var dt1=new Date(firstDateStr),dt2=new Date(secondDateStr),seconds=(dt2.getTime()-dt1.getTime())/1e3,numdays=Math.floor(seconds%31536e3/86400),numhours=Math.floor(seconds%31536e3%86400/3600),numminutes=Math.floor(seconds%31536e3%86400%3600/60),numseconds=Math.round(seconds%31536e3%86400%3600%60),elapsedStr="";return elapsedStr+=1==numdays?numdays+" day ":"",elapsedStr+=numdays>1?numdays+" days ":"",elapsedStr+=1==numhours?numhours+" hour ":"",elapsedStr+=numhours>1?numhours+" hours ":"",elapsedStr+=1==numminutes?numminutes+" minute ":"",elapsedStr+=numminutes>1?numminutes+" minutes ":"",elapsedStr+=elapsedStr.length>0?"and ":"",elapsedStr+=1==numseconds?numseconds+" second":"",elapsedStr+=0==numseconds||numseconds>1?numseconds+" seconds":""}function getTaskProgressHtml(task){var html="";if("Idle"==task.State)task.LastExecutionResult&&(html+=globalize.translate("LabelScheduledTaskLastRan").replace("{0}",humane_date(task.LastExecutionResult.EndTimeUtc)).replace("{1}",humane_elapsed(task.LastExecutionResult.StartTimeUtc,task.LastExecutionResult.EndTimeUtc)),"Failed"==task.LastExecutionResult.Status?html+=" ("+globalize.translate("LabelFailed")+")":"Cancelled"==task.LastExecutionResult.Status?html+=" ("+globalize.translate("LabelCancelled")+")":"Aborted"==task.LastExecutionResult.Status&&(html+=" "+globalize.translate("LabelAbortedByServerShutdown")+""));else if("Running"==task.State){var progress=(task.CurrentProgressPercentage||0).toFixed(1);html+='
',html+='
',html+='
',html+="
",html+="
",html+=""+progress+"%",html+="
"}else html+=""+globalize.translate("LabelStopping")+"";return html}function updateTaskButton(elem,state){"Idle"==state?(elem.classList.add("btnStartTask"),elem.classList.remove("btnStopTask"),elem.classList.remove("hide"),elem.querySelector("i").innerHTML="play_arrow",elem.title=globalize.translate("ButtonStart")):"Running"==state?(elem.classList.remove("btnStartTask"),elem.classList.add("btnStopTask"),elem.classList.remove("hide"),elem.querySelector("i").innerHTML="stop",elem.title=globalize.translate("ButtonStop")):(elem.classList.add("btnStartTask"),elem.classList.remove("btnStopTask"),elem.classList.add("hide"),elem.querySelector("i").innerHTML="play_arrow",elem.title=globalize.translate("ButtonStart"));var item=$(elem).parents(".listItem")[0];item.setAttribute("data-status",state)}return function(view,params){function updateTasks(tasks){for(var i=0,length=tasks.length;i",html+="
"),html+='
',html+="

",html+=currentCategory,html+="

",html+='
'),html+='
',html+="",html+='schedule',html+="",html+='",html+="Idle"==task.State?'':"Running"==task.State?'':'',html+="
"}tasks.length&&(html+="
",html+="
");var divScheduledTasks=page.querySelector(".divScheduledTasks");divScheduledTasks.innerHTML=html}function humane_elapsed(firstDateStr,secondDateStr){var dt1=new Date(firstDateStr),dt2=new Date(secondDateStr),seconds=(dt2.getTime()-dt1.getTime())/1e3,numdays=Math.floor(seconds%31536e3/86400),numhours=Math.floor(seconds%31536e3%86400/3600),numminutes=Math.floor(seconds%31536e3%86400%3600/60),numseconds=Math.round(seconds%31536e3%86400%3600%60),elapsedStr="";return elapsedStr+=1==numdays?numdays+" day ":"",elapsedStr+=numdays>1?numdays+" days ":"",elapsedStr+=1==numhours?numhours+" hour ":"",elapsedStr+=numhours>1?numhours+" hours ":"",elapsedStr+=1==numminutes?numminutes+" minute ":"",elapsedStr+=numminutes>1?numminutes+" minutes ":"",elapsedStr+=elapsedStr.length>0?"and ":"",elapsedStr+=1==numseconds?numseconds+" second":"",elapsedStr+=0==numseconds||numseconds>1?numseconds+" seconds":""}function getTaskProgressHtml(task){var html="";if("Idle"==task.State)task.LastExecutionResult&&(html+=globalize.translate("LabelScheduledTaskLastRan").replace("{0}",humane_date(task.LastExecutionResult.EndTimeUtc)).replace("{1}",humane_elapsed(task.LastExecutionResult.StartTimeUtc,task.LastExecutionResult.EndTimeUtc)),"Failed"==task.LastExecutionResult.Status?html+=" ("+globalize.translate("LabelFailed")+")":"Cancelled"==task.LastExecutionResult.Status?html+=" ("+globalize.translate("LabelCancelled")+")":"Aborted"==task.LastExecutionResult.Status&&(html+=" "+globalize.translate("LabelAbortedByServerShutdown")+""));else if("Running"==task.State){var progress=(task.CurrentProgressPercentage||0).toFixed(1);html+='
',html+='
',html+='
',html+="
",html+="
",html+=""+progress+"%",html+="
"}else html+=""+globalize.translate("LabelStopping")+"";return html}function updateTaskButton(elem,state){"Idle"==state?(elem.classList.add("btnStartTask"),elem.classList.remove("btnStopTask"),elem.classList.remove("hide"),elem.querySelector("i").innerHTML="play_arrow",elem.title=globalize.translate("ButtonStart")):"Running"==state?(elem.classList.remove("btnStartTask"),elem.classList.add("btnStopTask"),elem.classList.remove("hide"),elem.querySelector("i").innerHTML="stop",elem.title=globalize.translate("ButtonStop")):(elem.classList.add("btnStartTask"),elem.classList.remove("btnStopTask"),elem.classList.add("hide"),elem.querySelector("i").innerHTML="play_arrow",elem.title=globalize.translate("ButtonStart"));var item=$(elem).parents(".listItem")[0];item.setAttribute("data-status",state)}return function(view,params){function updateTasks(tasks){for(var i=0,length=tasks.length;i1?view.querySelector(".btnAudio").classList.remove("hide"):view.querySelector(".btnAudio").classList.add("hide"))):(setPoster(null),Emby.Page.setTitle(""),nowPlayingVolumeSlider.disabled=!0,nowPlayingPositionSlider.disabled=!0,btnFastForward.disabled=!0,btnRewind.disabled=!0,view.querySelector(".btnSubtitles").classList.add("hide"),view.querySelector(".btnAudio").classList.add("hide"),view.querySelector(".osdTitle").innerHTML="",void(view.querySelector(".osdMediaInfo").innerHTML=""))}function setTitle(item,parentName){var url=logoImageUrl(item,connectionManager.getApiClient(item.ServerId),{});if(url){Emby.Page.setTitle("");var pageTitle=document.querySelector(".pageTitle");pageTitle.style.backgroundImage="url('"+url+"')",pageTitle.classList.add("pageTitleWithLogo"),pageTitle.classList.remove("pageTitleWithDefaultLogo"),pageTitle.innerHTML=""}else Emby.Page.setTitle(parentName||"")}function setPoster(item,secondaryItem){var osdPoster=view.querySelector(".osdPoster");if(item){var imgUrl=seriesImageUrl(item,{type:"Primary"})||seriesImageUrl(item,{type:"Thumb"})||imageUrl(item,{type:"Primary"});if(!imgUrl&&secondaryItem&&(imgUrl=seriesImageUrl(secondaryItem,{type:"Primary"})||seriesImageUrl(secondaryItem,{type:"Thumb"})||imageUrl(secondaryItem,{type:"Primary"})),imgUrl)return void(osdPoster.innerHTML='')}osdPoster.innerHTML=""}function showOsd(){slideDownToShow(headerElement),showMainOsdControls(),startOsdHideTimer()}function hideOsd(){slideUpToHide(headerElement),hideMainOsdControls()}function toggleOsd(){"osd"===currentVisibleMenu?hideOsd():currentVisibleMenu||showOsd()}function startOsdHideTimer(){stopOsdHideTimer(),osdHideTimeout=setTimeout(hideOsd,5e3)}function stopOsdHideTimer(){osdHideTimeout&&(clearTimeout(osdHideTimeout),osdHideTimeout=null)}function slideDownToShow(elem){elem.classList.remove("osdHeader-hidden")}function slideUpToHide(elem){elem.classList.add("osdHeader-hidden")}function clearHideAnimationEventListeners(elem){dom.removeEventListener(elem,transitionEndEventName,onHideAnimationComplete,{once:!0})}function onHideAnimationComplete(e){var elem=e.target;elem.classList.add("hide"),dom.removeEventListener(elem,transitionEndEventName,onHideAnimationComplete,{once:!0})}function showMainOsdControls(){if(!currentVisibleMenu){var elem=osdBottomElement;currentVisibleMenu="osd",clearHideAnimationEventListeners(elem),elem.classList.remove("hide"),void elem.offsetWidth,elem.classList.remove("videoOsdBottom-hidden"),setTimeout(function(){focusManager.focus(elem.querySelector(".btnPause"))},50)}}function hideMainOsdControls(){if("osd"===currentVisibleMenu){var elem=osdBottomElement;clearHideAnimationEventListeners(elem),void elem.offsetWidth,elem.classList.add("videoOsdBottom-hidden"),dom.addEventListener(elem,transitionEndEventName,onHideAnimationComplete,{once:!0}),currentVisibleMenu=null}}function onMouseMove(e){var eventX=e.screenX||0,eventY=e.screenY||0,obj=lastMouseMoveData;return obj?void(Math.abs(eventX-obj.x)<10&&Math.abs(eventY-obj.y)<10||(obj.x=eventX,obj.y=eventY,showOsd())):void(lastMouseMoveData={x:eventX,y:eventY})}function onInputCommand(e){var player=currentPlayer;switch(e.detail.command){case"left":"osd"===currentVisibleMenu?showOsd():currentVisibleMenu||(e.preventDefault(),playbackManager.rewind(player));break;case"right":"osd"===currentVisibleMenu?showOsd():currentVisibleMenu||(e.preventDefault(),playbackManager.fastForward(player));break;case"pageup":playbackManager.unpause(player);break;case"pagedown":playbackManager.pause(player);break;case"up":case"down":case"select":case"menu":case"info":case"play":case"playpause":case"pause":case"fastforward":case"rewind":case"next":case"previous":showOsd();break;case"record":onRecordingCommand(),showOsd();break;case"togglestats":toggleStats()}}function onRecordingCommand(){var btnRecord=view.querySelector(".btnRecord");btnRecord.classList.contains("hide")||btnRecord.click()}function updateFullscreenIcon(){playbackManager.isFullscreen(currentPlayer)?(view.querySelector(".btnFullscreen").setAttribute("title",globalize.translate("ExitFullscreen")),view.querySelector(".btnFullscreen i").innerHTML=""):(view.querySelector(".btnFullscreen").setAttribute("title",globalize.translate("Fullscreen")),view.querySelector(".btnFullscreen i").innerHTML="")}function onPlayerChange(){var player=playbackManager.getCurrentPlayer();player&&!player.isLocalPlayer?view.querySelector(".btnCast i").innerHTML="":view.querySelector(".btnCast i").innerHTML="",bindToPlayer(player)}function onStateChanged(event,state){var player=this;state.NowPlayingItem&&(isEnabled=!0,updatePlayerStateInternal(event,player,state),updatePlaylist(player),enableStopOnBack(!0))}function onPlayPauseStateChanged(e){if(isEnabled){var player=this;updatePlayPauseState(player.paused())}}function onVolumeChanged(e){if(isEnabled){var player=this;updatePlayerVolumeState(player,player.isMuted(),player.getVolume())}}function onPlaybackStart(e,state){console.log("nowplaying event: "+e.type);var player=this;onStateChanged.call(player,e,state),resetUpNextDialog()}function resetUpNextDialog(){comingUpNextDisplayed=!1;var dlg=currentUpNextDialog;dlg&&(dlg.destroy(),currentUpNextDialog=null)}function onPlaybackStopped(e,state){currentRuntimeTicks=null,resetUpNextDialog(),console.log("nowplaying event: "+e.type),"Video"!==state.NextMediaType&&(view.removeEventListener("viewbeforehide",onViewHideStopPlayback),Emby.Page.back())}function bindToPlayer(player){if(player!==currentPlayer&&(releaseCurrentPlayer(),currentPlayer=player,player)){var state=playbackManager.getPlayerState(player);onStateChanged.call(player,{type:"init"},state),events.on(player,"playbackstart",onPlaybackStart),events.on(player,"playbackstop",onPlaybackStopped),events.on(player,"volumechange",onVolumeChanged),events.on(player,"pause",onPlayPauseStateChanged),events.on(player,"unpause",onPlayPauseStateChanged),events.on(player,"timeupdate",onTimeUpdate),events.on(player,"fullscreenchange",updateFullscreenIcon),resetUpNextDialog()}}function releaseCurrentPlayer(){destroyStats(),resetUpNextDialog();var player=currentPlayer;player&&(events.off(player,"playbackstart",onPlaybackStart),events.off(player,"playbackstop",onPlaybackStopped),events.off(player,"volumechange",onVolumeChanged),events.off(player,"pause",onPlayPauseStateChanged),events.off(player,"unpause",onPlayPauseStateChanged),events.off(player,"timeupdate",onTimeUpdate),events.off(player,"fullscreenchange",updateFullscreenIcon),currentPlayer=null)}function onTimeUpdate(e){if(isEnabled){var now=(new Date).getTime();if(!(now-lastUpdateTime<700)){lastUpdateTime=now;var player=this;currentRuntimeTicks=playbackManager.duration(player);var currentTime=playbackManager.currentTime(player);updateTimeDisplay(currentTime,currentRuntimeTicks,playbackManager.playbackStartTime(player),playbackManager.getBufferedRanges(player)),refreshProgramInfoIfNeeded(player),showComingUpNextIfNeeded(player,currentItem,currentTime,currentRuntimeTicks)}}}function showComingUpNextIfNeeded(player,currentItem,currentTimeTicks,runtimeTicks){if(runtimeTicks&¤tTimeTicks&&!comingUpNextDisplayed&&!currentVisibleMenu&&"Episode"===currentItem.Type&&userSettings.enableNextVideoInfoOverlay()){var minRuntimeTicks=6e9,fiftyMinuteTicks=3e10,fortyMinuteTicks=24e9,showAtSecondsLeft=runtimeTicks>=fiftyMinuteTicks?40:runtimeTicks>=fortyMinuteTicks?35:30,showAtTicks=runtimeTicks-1e3*showAtSecondsLeft*1e4,timeRemainingTicks=runtimeTicks-currentTimeTicks,minTimeRemainingTicks=2e8;currentTimeTicks>=showAtTicks&&runtimeTicks>=minRuntimeTicks&&timeRemainingTicks>=minTimeRemainingTicks&&showComingUpNext(player)}}function onUpNextHidden(){"upnext"===currentVisibleMenu&&(currentVisibleMenu=null)}function showComingUpNext(player){require(["upNextDialog"],function(UpNextDialog){currentVisibleMenu||currentUpNextDialog||(currentVisibleMenu="upnext",comingUpNextDisplayed=!0,currentUpNextDialog=new UpNextDialog({parent:view.querySelector(".upNextContainer"),player:player}),events.on(currentUpNextDialog,"hide",onUpNextHidden))})}function refreshProgramInfoIfNeeded(player){var item=currentItem;if("TvChannel"===item.Type){var program=item.CurrentProgram;if(program&&program.EndDate)try{var endDate=datetime.parseISO8601Date(program.EndDate);if((new Date).getTime()>=endDate.getTime()){console.log("program info needs to be refreshed");var state=playbackManager.getPlayerState(player);onStateChanged.call(player,{type:"init"},state)}}catch(e){console.log("Error parsing date: "+program.EndDate)}}}function updatePlayPauseState(isPaused){isPaused?view.querySelector(".btnPause i").innerHTML="":view.querySelector(".btnPause i").innerHTML=""}function updatePlayerStateInternal(event,player,state){var playState=state.PlayState||{};updatePlayPauseState(playState.IsPaused);var supportedCommands=playbackManager.getSupportedCommands(player);currentPlayerSupportedCommands=supportedCommands,supportsBrightnessChange=supportedCommands.indexOf("SetBrightness")!==-1,updatePlayerVolumeState(player,playState.IsMuted,playState.VolumeLevel),nowPlayingPositionSlider&&!nowPlayingPositionSlider.dragging&&(nowPlayingPositionSlider.disabled=!playState.CanSeek),btnFastForward.disabled=!playState.CanSeek,btnRewind.disabled=!playState.CanSeek;var nowPlayingItem=state.NowPlayingItem||{};playbackStartTimeTicks=playState.PlaybackStartTimeTicks,updateTimeDisplay(playState.PositionTicks,nowPlayingItem.RunTimeTicks,playState.PlaybackStartTimeTicks,playState.BufferedRanges||[]),updateNowPlayingInfo(player,state),state.MediaSource&&state.MediaSource.SupportsTranscoding&&supportedCommands.indexOf("SetMaxStreamingBitrate")!==-1?view.querySelector(".btnVideoOsdSettings").classList.remove("hide"):view.querySelector(".btnVideoOsdSettings").classList.add("hide"),supportedCommands.indexOf("ToggleFullscreen")===-1||player.isLocalPlayer&&layoutManager.tv&&playbackManager.isFullscreen(player)?view.querySelector(".btnFullscreen").classList.add("hide"):view.querySelector(".btnFullscreen").classList.remove("hide"),supportedCommands.indexOf("PictureInPicture")===-1?view.querySelector(".btnPip").classList.add("hide"):view.querySelector(".btnPip").classList.remove("hide"),updateFullscreenIcon()}function getDisplayPercentByTimeOfDay(programStartDateMs,programRuntimeMs,currentTimeMs){return(currentTimeMs-programStartDateMs)/programRuntimeMs*100}function updateTimeDisplay(positionTicks,runtimeTicks,playbackStartTimeTicks,bufferedRanges){if(enableProgressByTimeOfDay){if(nowPlayingPositionSlider&&!nowPlayingPositionSlider.dragging)if(programStartDateMs&&programEndDateMs){var currentTimeMs=(playbackStartTimeTicks+(positionTicks||0))/1e4,programRuntimeMs=programEndDateMs-programStartDateMs;if(nowPlayingPositionSlider.value=getDisplayPercentByTimeOfDay(programStartDateMs,programRuntimeMs,currentTimeMs),bufferedRanges.length){var rangeStart=getDisplayPercentByTimeOfDay(programStartDateMs,programRuntimeMs,(playbackStartTimeTicks+(bufferedRanges[0].start||0))/1e4),rangeEnd=getDisplayPercentByTimeOfDay(programStartDateMs,programRuntimeMs,(playbackStartTimeTicks+(bufferedRanges[0].end||0))/1e4);nowPlayingPositionSlider.setBufferedRanges([{start:rangeStart,end:rangeEnd}])}else nowPlayingPositionSlider.setBufferedRanges([])}else nowPlayingPositionSlider.value=0,nowPlayingPositionSlider.setBufferedRanges([]);nowPlayingPositionText.innerHTML="",nowPlayingDurationText.innerHTML=""}else{if(nowPlayingPositionSlider&&!nowPlayingPositionSlider.dragging){if(runtimeTicks){var pct=positionTicks/runtimeTicks;pct*=100,nowPlayingPositionSlider.value=pct}else nowPlayingPositionSlider.value=0;runtimeTicks&&null!=positionTicks&¤tRuntimeTicks&&!enableProgressByTimeOfDay&¤tItem.RunTimeTicks&&"Recording"!==currentItem.Type?endsAtText.innerHTML="  -  "+mediaInfo.getEndsAtFromPosition(runtimeTicks,positionTicks,!0):endsAtText.innerHTML=""}nowPlayingPositionSlider&&nowPlayingPositionSlider.setBufferedRanges(bufferedRanges,runtimeTicks,positionTicks),updateTimeText(nowPlayingPositionText,positionTicks),updateTimeText(nowPlayingDurationText,runtimeTicks,!0)}}function updatePlayerVolumeState(player,isMuted,volumeLevel){var supportedCommands=currentPlayerSupportedCommands,showMuteButton=!0,showVolumeSlider=!0;supportedCommands.indexOf("Mute")===-1&&(showMuteButton=!1),supportedCommands.indexOf("SetVolume")===-1&&(showVolumeSlider=!1),player.isLocalPlayer&&appHost.supports("physicalvolumecontrol")&&(showMuteButton=!1,showVolumeSlider=!1),isMuted?(view.querySelector(".buttonMute").setAttribute("title",globalize.translate("Unmute")),view.querySelector(".buttonMute i").innerHTML=""):(view.querySelector(".buttonMute").setAttribute("title",globalize.translate("Mute")),view.querySelector(".buttonMute i").innerHTML=""),showMuteButton?view.querySelector(".buttonMute").classList.remove("hide"):view.querySelector(".buttonMute").classList.add("hide"),nowPlayingVolumeSlider&&(showVolumeSlider?nowPlayingVolumeSliderContainer.classList.remove("hide"):nowPlayingVolumeSliderContainer.classList.add("hide"),nowPlayingVolumeSlider.dragging||(nowPlayingVolumeSlider.value=volumeLevel||0))}function updatePlaylist(player){var btnPreviousTrack=view.querySelector(".btnPreviousTrack"),btnNextTrack=view.querySelector(".btnNextTrack");btnPreviousTrack.classList.remove("hide"),btnNextTrack.classList.remove("hide"),btnNextTrack.disabled=!1,btnPreviousTrack.disabled=!1}function updateTimeText(elem,ticks,divider){if(null==ticks)return void(elem.innerHTML="");var html=datetime.getDisplayRunningTime(ticks);divider&&(html=" / "+html),elem.innerHTML=html}function onSettingsButtonClick(e){var btn=this;require(["playerSettingsMenu"],function(playerSettingsMenu){var player=currentPlayer;player&&playerSettingsMenu.show({mediaType:"Video",player:player,positionTo:btn,stats:!0,onOption:onSettingsOption})})}function onSettingsOption(selectedOption){"stats"===selectedOption&&toggleStats()}function toggleStats(){require(["playerStats"],function(PlayerStats){var player=currentPlayer;player&&(statsOverlay?statsOverlay.toggle():statsOverlay=new PlayerStats({player:player}))})}function destroyStats(){statsOverlay&&(statsOverlay.destroy(),statsOverlay=null)}function showAudioTrackSelection(){var player=currentPlayer,audioTracks=playbackManager.audioTracks(player),currentIndex=playbackManager.getAudioStreamIndex(player),menuItems=audioTracks.map(function(stream){var opt={name:stream.DisplayTitle,id:stream.Index};return stream.Index===currentIndex&&(opt.selected=!0),opt}),positionTo=this;require(["actionsheet"],function(actionsheet){actionsheet.show({items:menuItems,title:globalize.translate("Audio"),positionTo:positionTo}).then(function(id){var index=parseInt(id);index!==currentIndex&&playbackManager.setAudioStreamIndex(index,player)})})}function showSubtitleTrackSelection(){var player=currentPlayer,streams=playbackManager.subtitleTracks(player),currentIndex=playbackManager.getSubtitleStreamIndex(player);null==currentIndex&&(currentIndex=-1),streams.unshift({Index:-1,DisplayTitle:globalize.translate("Off")});var menuItems=streams.map(function(stream){var opt={name:stream.DisplayTitle,id:stream.Index};return stream.Index===currentIndex&&(opt.selected=!0),opt}),positionTo=this;require(["actionsheet"],function(actionsheet){actionsheet.show({title:globalize.translate("Subtitles"),items:menuItems,positionTo:positionTo}).then(function(id){var index=parseInt(id);index!==currentIndex&&playbackManager.setSubtitleStreamIndex(index,player)})})}function onWindowKeyDown(e){if(!currentVisibleMenu&&(32===e.keyCode||13===e.keyCode))return playbackManager.playPause(currentPlayer),void showOsd();switch(e.key){case"f":e.ctrlKey||playbackManager.toggleFullscreen(currentPlayer);break;case"m":playbackManager.toggleMute(currentPlayer);break;case"ArrowLeft":case"Left":case"NavigationLeft":case"GamepadDPadLeft":case"GamepadLeftThumbstickLeft":e.shiftKey&&playbackManager.rewind(currentPlayer);break;case"ArrowRight":case"Right":case"NavigationRight":case"GamepadDPadRight":case"GamepadLeftThumbstickRight":e.shiftKey&&playbackManager.fastForward(currentPlayer)}}function getImgUrl(item,chapter,index,maxWidth,apiClient){return chapter.ImageTag?apiClient.getScaledImageUrl(item.Id,{maxWidth:maxWidth,tag:chapter.ImageTag,type:"Chapter",index:index}):null}function getChapterBubbleHtml(apiClient,item,chapters,positionTicks){for(var chapter,index=-1,i=0,length=chapters.length;i=currentChapter.StartPositionTicks&&(chapter=currentChapter,index=i)}if(!chapter)return null;var src=getImgUrl(item,chapter,index,400,apiClient);if(src){var html='
';return html+='',html+='
',html+='
',html+=chapter.Name,html+="
",html+='

',html+=datetime.getDisplayRunningTime(positionTicks),html+="

",html+="
",html+="
"}return null}function onViewHideStopPlayback(){if(playbackManager.isPlayingVideo()){var player=currentPlayer;view.removeEventListener("viewbeforehide",onViewHideStopPlayback),releaseCurrentPlayer(),playbackManager.stop(player)}}function enableStopOnBack(enabled){view.removeEventListener("viewbeforehide",onViewHideStopPlayback),enabled&&playbackManager.isPlayingVideo(currentPlayer)&&view.addEventListener("viewbeforehide",onViewHideStopPlayback)}var currentPlayer,comingUpNextDisplayed,currentUpNextDialog,isEnabled,currentItem,recordingButtonManager,enableProgressByTimeOfDay,supportsBrightnessChange,currentVisibleMenu,statsOverlay,osdHideTimeout,lastMouseMoveData,self=this,currentPlayerSupportedCommands=[],currentRuntimeTicks=0,lastUpdateTime=0,programStartDateMs=0,programEndDateMs=0,playbackStartTimeTicks=0,nowPlayingVolumeSlider=view.querySelector(".osdVolumeSlider"),nowPlayingVolumeSliderContainer=view.querySelector(".osdVolumeSliderContainer"),nowPlayingPositionSlider=view.querySelector(".osdPositionSlider"),nowPlayingPositionText=view.querySelector(".osdPositionText"),nowPlayingDurationText=view.querySelector(".osdDurationText"),startTimeText=view.querySelector(".startTimeText"),endTimeText=view.querySelector(".endTimeText"),endsAtText=view.querySelector(".endsAtText"),btnRewind=view.querySelector(".btnRewind"),btnFastForward=view.querySelector(".btnFastForward"),transitionEndEventName=dom.whichTransitionEvent(),headerElement=document.querySelector(".skinHeader"),osdBottomElement=document.querySelector(".videoOsdBottom-maincontrols");view.addEventListener("viewbeforeshow",function(e){headerElement.classList.add("osdHeader"),Emby.Page.setTransparency("full")}),view.addEventListener("viewshow",function(e){events.on(playbackManager,"playerchange",onPlayerChange),bindToPlayer(playbackManager.getCurrentPlayer()),dom.addEventListener(document,"mousemove",onMouseMove,{passive:!0}),document.body.classList.add("autoScrollY"),showOsd(),inputManager.on(window,onInputCommand),dom.addEventListener(window,"keydown",onWindowKeyDown,{passive:!0})}),view.addEventListener("viewbeforehide",function(){statsOverlay&&statsOverlay.enabled(!1),dom.removeEventListener(window,"keydown",onWindowKeyDown,{passive:!0}),stopOsdHideTimer(),headerElement.classList.remove("osdHeader"),headerElement.classList.remove("osdHeader-hidden"),dom.removeEventListener(document,"mousemove",onMouseMove,{passive:!0}),document.body.classList.remove("autoScrollY"),inputManager.off(window,onInputCommand),events.off(playbackManager,"playerchange",onPlayerChange),releaseCurrentPlayer()}),appHost.supports("remotecontrol")&&!layoutManager.tv&&view.querySelector(".btnCast").classList.remove("hide"),view.querySelector(".btnCast").addEventListener("click",function(){var btn=this;require(["playerSelectionMenu"],function(playerSelectionMenu){playerSelectionMenu.show(btn)})}),view.querySelector(".btnFullscreen").addEventListener("click",function(){playbackManager.toggleFullscreen(currentPlayer)}),view.querySelector(".btnPip").addEventListener("click",function(){playbackManager.togglePictureInPicture(currentPlayer)}),view.querySelector(".btnVideoOsdSettings").addEventListener("click",onSettingsButtonClick),view.addEventListener("viewhide",function(){headerElement.classList.remove("hide")}),view.addEventListener("viewdestroy",function(){self.touchHelper&&(self.touchHelper.destroy(),self.touchHelper=null),recordingButtonManager&&(recordingButtonManager.destroy(),recordingButtonManager=null),destroyStats()}),view.addEventListener(window.PointerEvent?"pointerdown":"click",function(e){var isClickInControlsArea=dom.parentWithClass(e.target,["videoOsdBottom","upNextContainer"]);if(isClickInControlsArea)return void showOsd();var pointerType=e.pointerType||(layoutManager.mobile?"touch":"mouse");switch(pointerType){case"touch":toggleOsd();break;default:playbackManager.playPause(currentPlayer),showOsd()}}),browser.touch&&view.addEventListener("dblclick",onDoubleClick),view.querySelector(".buttonMute").addEventListener("click",function(){playbackManager.toggleMute(currentPlayer)}),nowPlayingVolumeSlider.addEventListener("change",function(){playbackManager.setVolume(this.value,currentPlayer)}),nowPlayingPositionSlider.addEventListener("change",function(){var player=currentPlayer;if(player){var newPercent=parseFloat(this.value);if(enableProgressByTimeOfDay){var seekAirTimeTicks=(programEndDateMs-programStartDateMs)*(newPercent/100)*1e4;seekAirTimeTicks+=1e4*programStartDateMs,seekAirTimeTicks-=playbackStartTimeTicks,playbackManager.seek(seekAirTimeTicks,player)}else playbackManager.seekPercent(newPercent,player)}}),nowPlayingPositionSlider.getBubbleHtml=function(value){if(showOsd(),enableProgressByTimeOfDay){if(programStartDateMs&&programEndDateMs){var ms=programEndDateMs-programStartDateMs;ms/=100,ms*=value,ms+=programStartDateMs;var date=new Date(parseInt(ms));return'

'+getDisplayTimeWithoutAmPm(date,!0)+"

"}return"--:--"}if(!currentRuntimeTicks)return"--:--";var ticks=currentRuntimeTicks;ticks/=100,ticks*=value;var item=currentItem;if(item&&item.Chapters&&item.Chapters.length&&item.Chapters[0].ImageTag){var html=getChapterBubbleHtml(connectionManager.getApiClient(item.ServerId),item,item.Chapters,ticks);if(html)return html}return'

'+datetime.getDisplayRunningTime(ticks)+"

"},view.querySelector(".btnPreviousTrack").addEventListener("click",function(){playbackManager.previousTrack(currentPlayer)}),view.querySelector(".btnPause").addEventListener("click",function(){playbackManager.playPause(currentPlayer)}),view.querySelector(".btnNextTrack").addEventListener("click",function(){playbackManager.nextTrack(currentPlayer)}),btnRewind.addEventListener("click",function(){playbackManager.rewind(currentPlayer)}),btnFastForward.addEventListener("click",function(){playbackManager.fastForward(currentPlayer)}),view.querySelector(".btnAudio").addEventListener("click",showAudioTrackSelection),view.querySelector(".btnSubtitles").addEventListener("click",showSubtitleTrackSelection),browser.touch&&initSwipeEvents()}}); \ No newline at end of file +define(["playbackManager","dom","inputmanager","datetime","itemHelper","mediaInfo","focusManager","imageLoader","scrollHelper","events","connectionManager","browser","globalize","apphost","layoutManager","userSettings","scrollStyles","emby-slider","paper-icon-button-light","css!css/videoosd"],function(playbackManager,dom,inputManager,datetime,itemHelper,mediaInfo,focusManager,imageLoader,scrollHelper,events,connectionManager,browser,globalize,appHost,layoutManager,userSettings){"use strict";function seriesImageUrl(item,options){if("Episode"!==item.Type)return null;if(options=options||{},options.type=options.type||"Primary","Primary"===options.type&&item.SeriesPrimaryImageTag)return options.tag=item.SeriesPrimaryImageTag,connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.SeriesId,options);if("Thumb"===options.type){if(item.SeriesThumbImageTag)return options.tag=item.SeriesThumbImageTag,connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.SeriesId,options);if(item.ParentThumbImageTag)return options.tag=item.ParentThumbImageTag,connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.ParentThumbItemId,options)}return null}function imageUrl(item,options){return options=options||{},options.type=options.type||"Primary",item.ImageTags&&item.ImageTags[options.type]?(options.tag=item.ImageTags[options.type],connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.PrimaryImageItemId||item.Id,options)):"Primary"===options.type&&item.AlbumId&&item.AlbumPrimaryImageTag?(options.tag=item.AlbumPrimaryImageTag,connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.AlbumId,options)):null}function logoImageUrl(item,apiClient,options){return options=options||{},options.type="Logo",item.ImageTags&&item.ImageTags.Logo?(options.tag=item.ImageTags.Logo,apiClient.getScaledImageUrl(item.Id,options)):item.ParentLogoImageTag?(options.tag=item.ParentLogoImageTag,apiClient.getScaledImageUrl(item.ParentLogoItemId,options)):null}return function(view,params){function onVerticalSwipe(e,elem,data){var player=currentPlayer;if(player){var deltaY=data.currentDeltaY,windowSize=dom.getWindowSize();if(supportsBrightnessChange&&data.clientX1?view.querySelector(".btnAudio").classList.remove("hide"):view.querySelector(".btnAudio").classList.add("hide"))):(setPoster(null),Emby.Page.setTitle(""),nowPlayingVolumeSlider.disabled=!0,nowPlayingPositionSlider.disabled=!0,btnFastForward.disabled=!0,btnRewind.disabled=!0,view.querySelector(".btnSubtitles").classList.add("hide"),view.querySelector(".btnAudio").classList.add("hide"),view.querySelector(".osdTitle").innerHTML="",void(view.querySelector(".osdMediaInfo").innerHTML=""))}function setTitle(item,parentName){var url=logoImageUrl(item,connectionManager.getApiClient(item.ServerId),{});if(url){Emby.Page.setTitle("");var pageTitle=document.querySelector(".pageTitle");pageTitle.style.backgroundImage="url('"+url+"')",pageTitle.classList.add("pageTitleWithLogo"),pageTitle.classList.remove("pageTitleWithDefaultLogo"),pageTitle.innerHTML=""}else Emby.Page.setTitle(parentName||"")}function setPoster(item,secondaryItem){var osdPoster=view.querySelector(".osdPoster");if(item){var imgUrl=seriesImageUrl(item,{type:"Primary"})||seriesImageUrl(item,{type:"Thumb"})||imageUrl(item,{type:"Primary"});if(!imgUrl&&secondaryItem&&(imgUrl=seriesImageUrl(secondaryItem,{type:"Primary"})||seriesImageUrl(secondaryItem,{type:"Thumb"})||imageUrl(secondaryItem,{type:"Primary"})),imgUrl)return void(osdPoster.innerHTML='')}osdPoster.innerHTML=""}function showOsd(){slideDownToShow(headerElement),showMainOsdControls(),startOsdHideTimer()}function hideOsd(){slideUpToHide(headerElement),hideMainOsdControls()}function toggleOsd(){"osd"===currentVisibleMenu?hideOsd():currentVisibleMenu||showOsd()}function startOsdHideTimer(){stopOsdHideTimer(),osdHideTimeout=setTimeout(hideOsd,5e3)}function stopOsdHideTimer(){osdHideTimeout&&(clearTimeout(osdHideTimeout),osdHideTimeout=null)}function slideDownToShow(elem){elem.classList.remove("osdHeader-hidden")}function slideUpToHide(elem){elem.classList.add("osdHeader-hidden")}function clearHideAnimationEventListeners(elem){dom.removeEventListener(elem,transitionEndEventName,onHideAnimationComplete,{once:!0})}function onHideAnimationComplete(e){var elem=e.target;elem.classList.add("hide"),dom.removeEventListener(elem,transitionEndEventName,onHideAnimationComplete,{once:!0})}function showMainOsdControls(){if(!currentVisibleMenu){var elem=osdBottomElement;currentVisibleMenu="osd",clearHideAnimationEventListeners(elem),elem.classList.remove("hide"),void elem.offsetWidth,elem.classList.remove("videoOsdBottom-hidden"),setTimeout(function(){focusManager.focus(elem.querySelector(".btnPause"))},50)}}function hideMainOsdControls(){if("osd"===currentVisibleMenu){var elem=osdBottomElement;clearHideAnimationEventListeners(elem),void elem.offsetWidth,elem.classList.add("videoOsdBottom-hidden"),dom.addEventListener(elem,transitionEndEventName,onHideAnimationComplete,{once:!0}),currentVisibleMenu=null}}function onPointerMove(e){var pointerType=e.pointerType||(layoutManager.mobile?"touch":"mouse");if("mouse"===pointerType){var eventX=e.screenX||0,eventY=e.screenY||0,obj=lastPointerMoveData;if(!obj)return void(lastPointerMoveData={x:eventX,y:eventY});if(Math.abs(eventX-obj.x)<10&&Math.abs(eventY-obj.y)<10)return;obj.x=eventX,obj.y=eventY,showOsd()}}function onInputCommand(e){var player=currentPlayer;switch(e.detail.command){case"left":"osd"===currentVisibleMenu?showOsd():currentVisibleMenu||(e.preventDefault(),playbackManager.rewind(player));break;case"right":"osd"===currentVisibleMenu?showOsd():currentVisibleMenu||(e.preventDefault(),playbackManager.fastForward(player));break;case"pageup":playbackManager.unpause(player);break;case"pagedown":playbackManager.pause(player);break;case"up":case"down":case"select":case"menu":case"info":case"play":case"playpause":case"pause":case"fastforward":case"rewind":case"next":case"previous":showOsd();break;case"record":onRecordingCommand(),showOsd();break;case"togglestats":toggleStats()}}function onRecordingCommand(){var btnRecord=view.querySelector(".btnRecord");btnRecord.classList.contains("hide")||btnRecord.click()}function updateFullscreenIcon(){playbackManager.isFullscreen(currentPlayer)?(view.querySelector(".btnFullscreen").setAttribute("title",globalize.translate("ExitFullscreen")),view.querySelector(".btnFullscreen i").innerHTML=""):(view.querySelector(".btnFullscreen").setAttribute("title",globalize.translate("Fullscreen")),view.querySelector(".btnFullscreen i").innerHTML="")}function onPlayerChange(){var player=playbackManager.getCurrentPlayer();player&&!player.isLocalPlayer?view.querySelector(".btnCast i").innerHTML="":view.querySelector(".btnCast i").innerHTML="",bindToPlayer(player)}function onStateChanged(event,state){var player=this;state.NowPlayingItem&&(isEnabled=!0,updatePlayerStateInternal(event,player,state),updatePlaylist(player),enableStopOnBack(!0))}function onPlayPauseStateChanged(e){if(isEnabled){var player=this;updatePlayPauseState(player.paused())}}function onVolumeChanged(e){if(isEnabled){var player=this;updatePlayerVolumeState(player,player.isMuted(),player.getVolume())}}function onPlaybackStart(e,state){console.log("nowplaying event: "+e.type);var player=this;onStateChanged.call(player,e,state),resetUpNextDialog()}function resetUpNextDialog(){comingUpNextDisplayed=!1;var dlg=currentUpNextDialog;dlg&&(dlg.destroy(),currentUpNextDialog=null)}function onPlaybackStopped(e,state){currentRuntimeTicks=null,resetUpNextDialog(),console.log("nowplaying event: "+e.type),"Video"!==state.NextMediaType&&(view.removeEventListener("viewbeforehide",onViewHideStopPlayback),Emby.Page.back())}function bindToPlayer(player){if(player!==currentPlayer&&(releaseCurrentPlayer(),currentPlayer=player,player)){var state=playbackManager.getPlayerState(player);onStateChanged.call(player,{type:"init"},state),events.on(player,"playbackstart",onPlaybackStart),events.on(player,"playbackstop",onPlaybackStopped),events.on(player,"volumechange",onVolumeChanged),events.on(player,"pause",onPlayPauseStateChanged),events.on(player,"unpause",onPlayPauseStateChanged),events.on(player,"timeupdate",onTimeUpdate),events.on(player,"fullscreenchange",updateFullscreenIcon),resetUpNextDialog()}}function releaseCurrentPlayer(){destroyStats(),resetUpNextDialog();var player=currentPlayer;player&&(events.off(player,"playbackstart",onPlaybackStart),events.off(player,"playbackstop",onPlaybackStopped),events.off(player,"volumechange",onVolumeChanged),events.off(player,"pause",onPlayPauseStateChanged),events.off(player,"unpause",onPlayPauseStateChanged),events.off(player,"timeupdate",onTimeUpdate),events.off(player,"fullscreenchange",updateFullscreenIcon),currentPlayer=null)}function onTimeUpdate(e){if(isEnabled){var now=(new Date).getTime();if(!(now-lastUpdateTime<700)){lastUpdateTime=now;var player=this;currentRuntimeTicks=playbackManager.duration(player);var currentTime=playbackManager.currentTime(player);updateTimeDisplay(currentTime,currentRuntimeTicks,playbackManager.playbackStartTime(player),playbackManager.getBufferedRanges(player)),refreshProgramInfoIfNeeded(player),showComingUpNextIfNeeded(player,currentItem,currentTime,currentRuntimeTicks)}}}function showComingUpNextIfNeeded(player,currentItem,currentTimeTicks,runtimeTicks){if(runtimeTicks&¤tTimeTicks&&!comingUpNextDisplayed&&!currentVisibleMenu&&"Episode"===currentItem.Type&&userSettings.enableNextVideoInfoOverlay()){var minRuntimeTicks=6e9,fiftyMinuteTicks=3e10,fortyMinuteTicks=24e9,showAtSecondsLeft=runtimeTicks>=fiftyMinuteTicks?40:runtimeTicks>=fortyMinuteTicks?35:30,showAtTicks=runtimeTicks-1e3*showAtSecondsLeft*1e4,timeRemainingTicks=runtimeTicks-currentTimeTicks,minTimeRemainingTicks=2e8;currentTimeTicks>=showAtTicks&&runtimeTicks>=minRuntimeTicks&&timeRemainingTicks>=minTimeRemainingTicks&&showComingUpNext(player)}}function onUpNextHidden(){"upnext"===currentVisibleMenu&&(currentVisibleMenu=null)}function showComingUpNext(player){require(["upNextDialog"],function(UpNextDialog){currentVisibleMenu||currentUpNextDialog||(currentVisibleMenu="upnext",comingUpNextDisplayed=!0,currentUpNextDialog=new UpNextDialog({parent:view.querySelector(".upNextContainer"),player:player}),events.on(currentUpNextDialog,"hide",onUpNextHidden))})}function refreshProgramInfoIfNeeded(player){var item=currentItem;if("TvChannel"===item.Type){var program=item.CurrentProgram;if(program&&program.EndDate)try{var endDate=datetime.parseISO8601Date(program.EndDate);if((new Date).getTime()>=endDate.getTime()){console.log("program info needs to be refreshed");var state=playbackManager.getPlayerState(player);onStateChanged.call(player,{type:"init"},state)}}catch(e){console.log("Error parsing date: "+program.EndDate)}}}function updatePlayPauseState(isPaused){isPaused?view.querySelector(".btnPause i").innerHTML="":view.querySelector(".btnPause i").innerHTML=""}function updatePlayerStateInternal(event,player,state){var playState=state.PlayState||{};updatePlayPauseState(playState.IsPaused);var supportedCommands=playbackManager.getSupportedCommands(player);currentPlayerSupportedCommands=supportedCommands,supportsBrightnessChange=supportedCommands.indexOf("SetBrightness")!==-1,updatePlayerVolumeState(player,playState.IsMuted,playState.VolumeLevel),nowPlayingPositionSlider&&!nowPlayingPositionSlider.dragging&&(nowPlayingPositionSlider.disabled=!playState.CanSeek),btnFastForward.disabled=!playState.CanSeek,btnRewind.disabled=!playState.CanSeek;var nowPlayingItem=state.NowPlayingItem||{};playbackStartTimeTicks=playState.PlaybackStartTimeTicks,updateTimeDisplay(playState.PositionTicks,nowPlayingItem.RunTimeTicks,playState.PlaybackStartTimeTicks,playState.BufferedRanges||[]),updateNowPlayingInfo(player,state),state.MediaSource&&state.MediaSource.SupportsTranscoding&&supportedCommands.indexOf("SetMaxStreamingBitrate")!==-1?view.querySelector(".btnVideoOsdSettings").classList.remove("hide"):view.querySelector(".btnVideoOsdSettings").classList.add("hide"),supportedCommands.indexOf("ToggleFullscreen")===-1||player.isLocalPlayer&&layoutManager.tv&&playbackManager.isFullscreen(player)?view.querySelector(".btnFullscreen").classList.add("hide"):view.querySelector(".btnFullscreen").classList.remove("hide"),supportedCommands.indexOf("PictureInPicture")===-1?view.querySelector(".btnPip").classList.add("hide"):view.querySelector(".btnPip").classList.remove("hide"),updateFullscreenIcon()}function getDisplayPercentByTimeOfDay(programStartDateMs,programRuntimeMs,currentTimeMs){return(currentTimeMs-programStartDateMs)/programRuntimeMs*100}function updateTimeDisplay(positionTicks,runtimeTicks,playbackStartTimeTicks,bufferedRanges){if(enableProgressByTimeOfDay){if(nowPlayingPositionSlider&&!nowPlayingPositionSlider.dragging)if(programStartDateMs&&programEndDateMs){var currentTimeMs=(playbackStartTimeTicks+(positionTicks||0))/1e4,programRuntimeMs=programEndDateMs-programStartDateMs;if(nowPlayingPositionSlider.value=getDisplayPercentByTimeOfDay(programStartDateMs,programRuntimeMs,currentTimeMs),bufferedRanges.length){var rangeStart=getDisplayPercentByTimeOfDay(programStartDateMs,programRuntimeMs,(playbackStartTimeTicks+(bufferedRanges[0].start||0))/1e4),rangeEnd=getDisplayPercentByTimeOfDay(programStartDateMs,programRuntimeMs,(playbackStartTimeTicks+(bufferedRanges[0].end||0))/1e4);nowPlayingPositionSlider.setBufferedRanges([{start:rangeStart,end:rangeEnd}])}else nowPlayingPositionSlider.setBufferedRanges([])}else nowPlayingPositionSlider.value=0,nowPlayingPositionSlider.setBufferedRanges([]);nowPlayingPositionText.innerHTML="",nowPlayingDurationText.innerHTML=""}else{if(nowPlayingPositionSlider&&!nowPlayingPositionSlider.dragging){if(runtimeTicks){var pct=positionTicks/runtimeTicks;pct*=100,nowPlayingPositionSlider.value=pct}else nowPlayingPositionSlider.value=0;runtimeTicks&&null!=positionTicks&¤tRuntimeTicks&&!enableProgressByTimeOfDay&¤tItem.RunTimeTicks&&"Recording"!==currentItem.Type?endsAtText.innerHTML="  -  "+mediaInfo.getEndsAtFromPosition(runtimeTicks,positionTicks,!0):endsAtText.innerHTML=""}nowPlayingPositionSlider&&nowPlayingPositionSlider.setBufferedRanges(bufferedRanges,runtimeTicks,positionTicks),updateTimeText(nowPlayingPositionText,positionTicks),updateTimeText(nowPlayingDurationText,runtimeTicks,!0)}}function updatePlayerVolumeState(player,isMuted,volumeLevel){var supportedCommands=currentPlayerSupportedCommands,showMuteButton=!0,showVolumeSlider=!0;supportedCommands.indexOf("Mute")===-1&&(showMuteButton=!1),supportedCommands.indexOf("SetVolume")===-1&&(showVolumeSlider=!1),player.isLocalPlayer&&appHost.supports("physicalvolumecontrol")&&(showMuteButton=!1,showVolumeSlider=!1),isMuted?(view.querySelector(".buttonMute").setAttribute("title",globalize.translate("Unmute")),view.querySelector(".buttonMute i").innerHTML=""):(view.querySelector(".buttonMute").setAttribute("title",globalize.translate("Mute")),view.querySelector(".buttonMute i").innerHTML=""),showMuteButton?view.querySelector(".buttonMute").classList.remove("hide"):view.querySelector(".buttonMute").classList.add("hide"),nowPlayingVolumeSlider&&(showVolumeSlider?nowPlayingVolumeSliderContainer.classList.remove("hide"):nowPlayingVolumeSliderContainer.classList.add("hide"),nowPlayingVolumeSlider.dragging||(nowPlayingVolumeSlider.value=volumeLevel||0))}function updatePlaylist(player){var btnPreviousTrack=view.querySelector(".btnPreviousTrack"),btnNextTrack=view.querySelector(".btnNextTrack");btnPreviousTrack.classList.remove("hide"),btnNextTrack.classList.remove("hide"),btnNextTrack.disabled=!1,btnPreviousTrack.disabled=!1}function updateTimeText(elem,ticks,divider){if(null==ticks)return void(elem.innerHTML="");var html=datetime.getDisplayRunningTime(ticks);divider&&(html=" / "+html),elem.innerHTML=html}function onSettingsButtonClick(e){var btn=this;require(["playerSettingsMenu"],function(playerSettingsMenu){var player=currentPlayer;player&&playerSettingsMenu.show({mediaType:"Video",player:player,positionTo:btn,stats:!0,onOption:onSettingsOption})})}function onSettingsOption(selectedOption){"stats"===selectedOption&&toggleStats()}function toggleStats(){require(["playerStats"],function(PlayerStats){var player=currentPlayer;player&&(statsOverlay?statsOverlay.toggle():statsOverlay=new PlayerStats({player:player}))})}function destroyStats(){statsOverlay&&(statsOverlay.destroy(),statsOverlay=null)}function showAudioTrackSelection(){var player=currentPlayer,audioTracks=playbackManager.audioTracks(player),currentIndex=playbackManager.getAudioStreamIndex(player),menuItems=audioTracks.map(function(stream){var opt={name:stream.DisplayTitle,id:stream.Index};return stream.Index===currentIndex&&(opt.selected=!0),opt}),positionTo=this;require(["actionsheet"],function(actionsheet){actionsheet.show({items:menuItems,title:globalize.translate("Audio"),positionTo:positionTo}).then(function(id){var index=parseInt(id);index!==currentIndex&&playbackManager.setAudioStreamIndex(index,player)})})}function showSubtitleTrackSelection(){var player=currentPlayer,streams=playbackManager.subtitleTracks(player),currentIndex=playbackManager.getSubtitleStreamIndex(player);null==currentIndex&&(currentIndex=-1),streams.unshift({Index:-1,DisplayTitle:globalize.translate("Off")});var menuItems=streams.map(function(stream){var opt={name:stream.DisplayTitle,id:stream.Index};return stream.Index===currentIndex&&(opt.selected=!0),opt}),positionTo=this;require(["actionsheet"],function(actionsheet){actionsheet.show({title:globalize.translate("Subtitles"),items:menuItems,positionTo:positionTo}).then(function(id){var index=parseInt(id);index!==currentIndex&&playbackManager.setSubtitleStreamIndex(index,player)})})}function onWindowKeyDown(e){if(!currentVisibleMenu&&(32===e.keyCode||13===e.keyCode))return playbackManager.playPause(currentPlayer),void showOsd();switch(e.key){case"f":e.ctrlKey||playbackManager.toggleFullscreen(currentPlayer);break;case"m":playbackManager.toggleMute(currentPlayer);break;case"ArrowLeft":case"Left":case"NavigationLeft":case"GamepadDPadLeft":case"GamepadLeftThumbstickLeft":e.shiftKey&&playbackManager.rewind(currentPlayer);break;case"ArrowRight":case"Right":case"NavigationRight":case"GamepadDPadRight":case"GamepadLeftThumbstickRight":e.shiftKey&&playbackManager.fastForward(currentPlayer)}}function getImgUrl(item,chapter,index,maxWidth,apiClient){return chapter.ImageTag?apiClient.getScaledImageUrl(item.Id,{maxWidth:maxWidth,tag:chapter.ImageTag,type:"Chapter",index:index}):null}function getChapterBubbleHtml(apiClient,item,chapters,positionTicks){for(var chapter,index=-1,i=0,length=chapters.length;i=currentChapter.StartPositionTicks&&(chapter=currentChapter,index=i)}if(!chapter)return null;var src=getImgUrl(item,chapter,index,400,apiClient);if(src){var html='
';return html+='',html+='
',html+='
',html+=chapter.Name,html+="
",html+='

',html+=datetime.getDisplayRunningTime(positionTicks),html+="

",html+="
",html+="
"}return null}function onViewHideStopPlayback(){if(playbackManager.isPlayingVideo()){var player=currentPlayer;view.removeEventListener("viewbeforehide",onViewHideStopPlayback),releaseCurrentPlayer(),playbackManager.stop(player)}}function enableStopOnBack(enabled){view.removeEventListener("viewbeforehide",onViewHideStopPlayback),enabled&&playbackManager.isPlayingVideo(currentPlayer)&&view.addEventListener("viewbeforehide",onViewHideStopPlayback)}var currentPlayer,comingUpNextDisplayed,currentUpNextDialog,isEnabled,currentItem,recordingButtonManager,enableProgressByTimeOfDay,supportsBrightnessChange,currentVisibleMenu,statsOverlay,osdHideTimeout,lastPointerMoveData,self=this,currentPlayerSupportedCommands=[],currentRuntimeTicks=0,lastUpdateTime=0,programStartDateMs=0,programEndDateMs=0,playbackStartTimeTicks=0,nowPlayingVolumeSlider=view.querySelector(".osdVolumeSlider"),nowPlayingVolumeSliderContainer=view.querySelector(".osdVolumeSliderContainer"),nowPlayingPositionSlider=view.querySelector(".osdPositionSlider"),nowPlayingPositionText=view.querySelector(".osdPositionText"),nowPlayingDurationText=view.querySelector(".osdDurationText"),startTimeText=view.querySelector(".startTimeText"),endTimeText=view.querySelector(".endTimeText"),endsAtText=view.querySelector(".endsAtText"),btnRewind=view.querySelector(".btnRewind"),btnFastForward=view.querySelector(".btnFastForward"),transitionEndEventName=dom.whichTransitionEvent(),headerElement=document.querySelector(".skinHeader"),osdBottomElement=document.querySelector(".videoOsdBottom-maincontrols");view.addEventListener("viewbeforeshow",function(e){headerElement.classList.add("osdHeader"),Emby.Page.setTransparency("full")}),view.addEventListener("viewshow",function(e){events.on(playbackManager,"playerchange",onPlayerChange),bindToPlayer(playbackManager.getCurrentPlayer()),dom.addEventListener(document,window.PointerEvent?"pointermove":"mousemove",onPointerMove,{passive:!0}),document.body.classList.add("autoScrollY"),showOsd(),inputManager.on(window,onInputCommand),dom.addEventListener(window,"keydown",onWindowKeyDown,{passive:!0})}),view.addEventListener("viewbeforehide",function(){statsOverlay&&statsOverlay.enabled(!1),dom.removeEventListener(window,"keydown",onWindowKeyDown,{passive:!0}),stopOsdHideTimer(),headerElement.classList.remove("osdHeader"),headerElement.classList.remove("osdHeader-hidden"),dom.removeEventListener(document,window.PointerEvent?"pointermove":"mousemove",onPointerMove,{passive:!0}),document.body.classList.remove("autoScrollY"),inputManager.off(window,onInputCommand),events.off(playbackManager,"playerchange",onPlayerChange),releaseCurrentPlayer()}),appHost.supports("remotecontrol")&&!layoutManager.tv&&view.querySelector(".btnCast").classList.remove("hide"),view.querySelector(".btnCast").addEventListener("click",function(){var btn=this;require(["playerSelectionMenu"],function(playerSelectionMenu){playerSelectionMenu.show(btn)})}),view.querySelector(".btnFullscreen").addEventListener("click",function(){playbackManager.toggleFullscreen(currentPlayer)}),view.querySelector(".btnPip").addEventListener("click",function(){playbackManager.togglePictureInPicture(currentPlayer)}),view.querySelector(".btnVideoOsdSettings").addEventListener("click",onSettingsButtonClick),view.addEventListener("viewhide",function(){headerElement.classList.remove("hide")}),view.addEventListener("viewdestroy",function(){self.touchHelper&&(self.touchHelper.destroy(),self.touchHelper=null),recordingButtonManager&&(recordingButtonManager.destroy(),recordingButtonManager=null),destroyStats()});var lastPointerDown=0;view.addEventListener(window.PointerEvent?"pointerdown":"click",function(e){var isClickInControlsArea=dom.parentWithClass(e.target,["videoOsdBottom","upNextContainer"]);if(isClickInControlsArea)return void showOsd();var pointerType=e.pointerType||(layoutManager.mobile?"touch":"mouse"),now=(new Date).getTime();switch(pointerType){case"touch":now-lastPointerDown>300&&(lastPointerDown=now,toggleOsd());break;default:playbackManager.playPause(currentPlayer),showOsd()}}),browser.touch&&view.addEventListener("dblclick",onDoubleClick),view.querySelector(".buttonMute").addEventListener("click",function(){playbackManager.toggleMute(currentPlayer)}),nowPlayingVolumeSlider.addEventListener("change",function(){playbackManager.setVolume(this.value,currentPlayer)}),nowPlayingPositionSlider.addEventListener("change",function(){var player=currentPlayer;if(player){var newPercent=parseFloat(this.value);if(enableProgressByTimeOfDay){var seekAirTimeTicks=(programEndDateMs-programStartDateMs)*(newPercent/100)*1e4;seekAirTimeTicks+=1e4*programStartDateMs,seekAirTimeTicks-=playbackStartTimeTicks,playbackManager.seek(seekAirTimeTicks,player)}else playbackManager.seekPercent(newPercent,player)}}),nowPlayingPositionSlider.getBubbleHtml=function(value){if(showOsd(),enableProgressByTimeOfDay){if(programStartDateMs&&programEndDateMs){var ms=programEndDateMs-programStartDateMs;ms/=100,ms*=value,ms+=programStartDateMs;var date=new Date(parseInt(ms));return'

'+getDisplayTimeWithoutAmPm(date,!0)+"

"}return"--:--"}if(!currentRuntimeTicks)return"--:--";var ticks=currentRuntimeTicks;ticks/=100,ticks*=value;var item=currentItem;if(item&&item.Chapters&&item.Chapters.length&&item.Chapters[0].ImageTag){var html=getChapterBubbleHtml(connectionManager.getApiClient(item.ServerId),item,item.Chapters,ticks);if(html)return html}return'

'+datetime.getDisplayRunningTime(ticks)+"

"},view.querySelector(".btnPreviousTrack").addEventListener("click",function(){playbackManager.previousTrack(currentPlayer)}),view.querySelector(".btnPause").addEventListener("click",function(){playbackManager.playPause(currentPlayer)}),view.querySelector(".btnNextTrack").addEventListener("click",function(){playbackManager.nextTrack(currentPlayer)}),btnRewind.addEventListener("click",function(){playbackManager.rewind(currentPlayer)}),btnFastForward.addEventListener("click",function(){playbackManager.fastForward(currentPlayer)}),view.querySelector(".btnAudio").addEventListener("click",showAudioTrackSelection),view.querySelector(".btnSubtitles").addEventListener("click",showSubtitleTrackSelection),browser.touch&&initSwipeEvents()}}); \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/shared.html b/MediaBrowser.WebDashboard/dashboard-ui/shared.html index 318820c838..432f274b4c 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/shared.html +++ b/MediaBrowser.WebDashboard/dashboard-ui/shared.html @@ -118,12 +118,6 @@

-
-

- ${HeaderScenes} -

-
-

${HeaderThemeSongs} diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/ar.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/ar.json index 2cfda55971..16ec379370 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/ar.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/ar.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "\u0627\u0644\u0633\u0627\u0628\u0642", "LabelFinish": "\u0627\u0646\u0647\u0627\u0621", "LabelNext": "\u0627\u0644\u062a\u0627\u0644\u064a", @@ -25,6 +24,7 @@ "LabelPinCode": "\u0627\u0644\u0631\u0645\u0632 \u0627\u0644\u0634\u062e\u0635\u064a:", "DeleteMedia": "\u062d\u0630\u0641 \u0627\u0644\u0648\u0633\u0627\u0626\u0637", "HeaderSync": "\u062a\u0632\u0627\u0645\u0646", + "HeaderPlayAll": "Play All", "HeaderUpcomingNews": "Upcoming News", "ButtonOk": "\u0645\u0648\u0627\u0641\u0642", "ButtonCancel": "\u0627\u0644\u063a\u0627\u0621", @@ -485,9 +485,6 @@ "HeaderResult": "\u0627\u0644\u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u0646\u0647\u0627\u0626\u064a\u0629", "OptionOverwriteExistingEpisodes": "\u0623\u0643\u062a\u0628 \u0639\u0644\u0649 \u0627\u0644\u062d\u0644\u0642\u0627\u062a \u0627\u0644\u0645\u0648\u062c\u0648\u062f\u0629 \u0633\u0644\u0641\u0627\u064b", "LabelTransferMethod": "\u0637\u0631\u064a\u0642\u0629 \u0627\u0644\u0646\u0642\u0644", - "OptionCopy": "\u0646\u0633\u062e", - "OptionMove": "\u0646\u0642\u0644", - "LabelTransferMethodHelp": "\u0646\u0633\u062e \u0623\u0648 \u0646\u0642\u0644 \u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0645\u0646 \u0627\u0644\u0645\u062c\u0644\u062f \u0627\u0644\u0645\u0631\u0627\u0642\u0628", "HeaderLatestNews": "\u0622\u062e\u0631 \u0627\u0644\u0623\u062e\u0628\u0627\u0631", "HeaderRunningTasks": "\u0627\u0644\u0645\u0647\u0627\u0645 \u0627\u0644\u0645\u0634\u063a\u0651\u0644\u0629", "HeaderActiveDevices": "\u0627\u0644\u0623\u062c\u0647\u0632\u0629 \u0627\u0644\u0645\u0641\u0639\u0651\u0644\u0629", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "\u0644\u0627 \u062a\u0648\u062c\u062f \u0623\u064a \u0645\u0644\u062d\u0642\u0627\u062a.", "LabelDisplayPluginsFor": "\u0623\u0638\u0647\u0631 \u0627\u0644\u0645\u0644\u062d\u0642\u0627\u062a \u0644\u0640:", "PluginTabAppClassic": "Emby for Windows Media Center", - "LabelEpisodeNamePlain": "\u0627\u0633\u0645 \u0627\u0644\u062d\u0644\u0642\u0629", - "LabelSeriesNamePlain": "\u0627\u0633\u0645 \u0627\u0644\u0645\u0633\u0644\u0633\u0644", - "ValueSeriesNamePeriod": "Series.name", - "ValueSeriesNameUnderscore": "Series_name", - "ValueEpisodeNamePeriod": "Episode.name", - "ValueEpisodeNameUnderscore": "Episode_name", - "LabelSeasonNumberPlain": "\u0631\u0642\u0645 \u0627\u0644\u0645\u0648\u0633\u0645", - "LabelEpisodeNumberPlain": "\u0631\u0642\u0645 \u0627\u0644\u062d\u0644\u0642\u0629", - "LabelEndingEpisodeNumberPlain": "\u0631\u0642\u0645 \u0627\u0644\u062d\u0644\u0642\u0629 \u0627\u0644\u0623\u062e\u064a\u0631\u0629", "HeaderTypeText": "\u0623\u062f\u062e\u0644 \u0627\u0644\u0646\u0635", "LabelTypeText": "\u0627\u0644\u0646\u0635", "TabDisplay": "\u0625\u0638\u0647\u0627\u0631", "TabLanguages": "\u0627\u0644\u0644\u063a\u0627\u062a", "TabAppSettings": "\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u062a\u0637\u0628\u064a\u0642", - "LabelEnableThemeSongs": "\u062a\u0641\u0639\u064a\u0644 \u0623\u063a\u0646\u064a\u0629 \u0627\u0644\u0634\u0627\u0631\u0629", - "LabelEnableBackdrops": "\u062a\u0641\u0639\u064a\u0644 \u0627\u0644\u062e\u0644\u0641\u064a\u0627\u062a", - "LabelEnableThemeSongsHelp": "\u0639\u0646\u062f \u0627\u0644\u062a\u0641\u0639\u064a\u0644\u060c \u0641\u0625\u0646 \u0623\u063a\u0646\u064a\u0629 \u0627\u0644\u0634\u0627\u0631\u0629 \u0633\u062a\u0634\u062a\u063a\u0644 \u0641\u064a \u0627\u0644\u062e\u0644\u0641\u064a\u0629 \u0639\u0646\u062f \u062a\u0635\u0641\u062d \u0627\u0644\u0645\u0643\u062a\u0628\u0629.", - "LabelEnableBackdropsHelp": "\u0639\u0646\u062f \u0627\u0644\u062a\u0641\u0639\u064a\u0644\u060c \u0641\u0625\u0646 \u0627\u0644\u062e\u0644\u0641\u064a\u0627\u062a \u0633\u062a\u063a\u0631\u0636 \u0644\u0628\u0639\u0636 \u0627\u0644\u0635\u0641\u062d\u0627\u062a \u0639\u0646\u062f \u062a\u0635\u0641\u062d \u0627\u0644\u0645\u0643\u062a\u0628\u0629.", "HeaderHomePage": "\u0627\u0644\u0635\u0641\u062d\u0629 \u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629", "OptionAuto": "\u0622\u0644\u064a", "OptionYes": "\u0646\u0639\u0645", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", "ButtonStopRecording": "Stop Recording", "StopRecording": "Stop recording", - "CancelSeries": "Cancel series" + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 602dbf8ed8..ee8f34cbdf 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/be-BY.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/be-BY.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "\u041f\u0430\u043f\u044f\u0440\u044d\u0434\u043d\u044f\u0435", "LabelFinish": "\u0413\u0430\u0442\u043e\u0432\u0430", "LabelNext": "\u041d\u0430\u0441\u0442\u0443\u043f\u043d\u0430\u0435", @@ -25,6 +24,7 @@ "LabelPinCode": "PIN-\u043a\u043e\u0434:", "DeleteMedia": "Delete media", "HeaderSync": "\u0421\u0456\u043d\u0445\u0440\u0430\u043d\u0456\u0437\u0430\u0446\u044b\u044f", + "HeaderPlayAll": "Play All", "HeaderUpcomingNews": "Upcoming News", "ButtonOk": "\u041e\u041a", "ButtonCancel": "\u0410\u0434\u043c\u044f\u043d\u0456\u0446\u044c", @@ -485,9 +485,6 @@ "HeaderResult": "Result", "OptionOverwriteExistingEpisodes": "Overwrite existing episodes", "LabelTransferMethod": "Transfer method", - "OptionCopy": "Copy", - "OptionMove": "Move", - "LabelTransferMethodHelp": "Copy or move files from the watch folder", "HeaderLatestNews": "Latest News", "HeaderRunningTasks": "Running Tasks", "HeaderActiveDevices": "Active Devices", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "No available plugins.", "LabelDisplayPluginsFor": "Display plugins for:", "PluginTabAppClassic": "Emby for Windows Media Center", - "LabelEpisodeNamePlain": "Episode name", - "LabelSeriesNamePlain": "Series name", - "ValueSeriesNamePeriod": "Series.name", - "ValueSeriesNameUnderscore": "Series_name", - "ValueEpisodeNamePeriod": "Episode.name", - "ValueEpisodeNameUnderscore": "Episode_name", - "LabelSeasonNumberPlain": "Season number", - "LabelEpisodeNumberPlain": "Episode number", - "LabelEndingEpisodeNumberPlain": "Ending episode number", "HeaderTypeText": "Enter Text", "LabelTypeText": "Text", "TabDisplay": "Display", "TabLanguages": "Languages", "TabAppSettings": "App Settings", - "LabelEnableThemeSongs": "Enable theme songs", - "LabelEnableBackdrops": "Enable backdrops", - "LabelEnableThemeSongsHelp": "If enabled, theme songs will be played in the background while browsing the library.", - "LabelEnableBackdropsHelp": "If enabled, backdrops will be displayed in the background of some pages while browsing the library.", "HeaderHomePage": "Home Page", "OptionAuto": "Auto", "OptionYes": "Yes", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", "ButtonStopRecording": "Stop Recording", "StopRecording": "Stop recording", - "CancelSeries": "Cancel series" + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 dea8c8b786..2d90bd9384 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/bg-BG.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/bg-BG.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "\u041f\u0440\u0435\u0434\u0438\u0448\u0435\u043d", "LabelFinish": "\u0413\u043e\u0442\u043e\u0432\u043e", "LabelNext": "\u0421\u043b\u0435\u0434\u0432\u0430\u0449", @@ -25,6 +24,7 @@ "LabelPinCode": "\u041f\u0418\u041d \u043a\u043e\u0434:", "DeleteMedia": "\u0418\u0437\u0442\u0440\u0438\u0432\u0430\u043d\u0435 \u043d\u0430 \u043c\u0435\u0434\u0438\u044f", "HeaderSync": "\u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437.", + "HeaderPlayAll": "\u041f\u0443\u0441\u043a\u0430\u043d\u0435 \u043d\u0430 \u0432\u0441\u0438\u0447\u043a\u043e", "HeaderUpcomingNews": "\u041f\u0440\u0435\u0434\u0441\u0442\u043e\u044f\u0449\u0438 \u043d\u043e\u0432\u0438\u043d\u0438", "ButtonOk": "\u0414\u043e\u0431\u0440\u0435", "ButtonCancel": "\u041e\u0442\u043a\u0430\u0437", @@ -40,7 +40,7 @@ "HeaderPaths": "\u041f\u044a\u0442\u0438\u0449\u0430", "CategorySync": "\u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437.", "TabPlaylist": "\u0421\u043f\u0438\u0441\u044a\u043a", - "HeaderInstantMix": "Instant Mix", + "HeaderInstantMix": "\u041f\u0443\u0441\u043a\u0430\u043d\u0435 \u043d\u0430 \u043f\u043e\u0434\u043e\u0431\u043d\u0438", "HeaderEasyPinCode": "\u041b\u0435\u0441\u0435\u043d \u041f\u0418\u041d \u043a\u043e\u0434", "HeaderInstalledServices": "\u0418\u043d\u0441\u0442\u0430\u043b\u0438\u0440\u0430\u043d\u0438 \u0443\u0441\u043b\u0443\u0433\u0438", "HeaderAvailableServices": "\u041d\u0430\u043b\u0438\u0447\u043d\u0438 \u0443\u0441\u043b\u0443\u0433\u0438", @@ -89,9 +89,9 @@ "TabNotifications": "\u0418\u0437\u0432\u0435\u0441\u0442\u0438\u044f", "TabCollectionTitles": "\u0417\u0430\u0433\u043b\u0430\u0432\u0438\u044f", "HeaderDeviceAccess": "\u0414\u043e\u0441\u0442\u044a\u043f \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0442\u0430", - "OptionEnableAccessFromAllDevices": "\u0410\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u0439 \u0434\u043e\u0441\u0442\u044a\u043f \u043e\u0442 \u0432\u0441\u0438\u0447\u043a\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430", - "OptionEnableAccessToAllChannels": "\u0410\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u0439 \u0434\u043e\u0441\u0442\u044a\u043f \u0434\u043e \u0432\u0441\u0438\u0447\u043a\u0438 \u043a\u0430\u043d\u0430\u043b\u0438", - "OptionEnableAccessToAllLibraries": "\u0410\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u0439 \u0434\u043e\u0441\u0442\u044a\u043f \u0434\u043e \u0432\u0441\u0438\u0447\u043a\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438", + "OptionEnableAccessFromAllDevices": "\u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0434\u043e\u0441\u0442\u044a\u043f\u0430 \u043e\u0442 \u0432\u0441\u0438\u0447\u043a\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430", + "OptionEnableAccessToAllChannels": "\u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0434\u043e\u0441\u0442\u044a\u043f\u0430 \u0434\u043e \u0432\u0441\u0438\u0447\u043a\u0438 \u043a\u0430\u043d\u0430\u043b\u0438", + "OptionEnableAccessToAllLibraries": "\u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0434\u043e\u0441\u0442\u044a\u043f\u0430 \u0434\u043e \u0432\u0441\u0438\u0447\u043a\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438", "DeviceAccessHelp": "\u0422\u043e\u0432\u0430 \u0441\u0435 \u043e\u0442\u043d\u0430\u0441\u044f \u0441\u0430\u043c\u043e \u0437\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u043a\u043e\u0438\u0442\u043e \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u0440\u0430\u0437\u043b\u0438\u0447\u0435\u043d\u0438 \u0438 \u043d\u044f\u043c\u0430 \u0434\u0430 \u043f\u043e\u043f\u0440\u0435\u0447\u0438 \u043d\u0430 \u0434\u043e\u0441\u0442\u044a\u043f \u043e\u0442 \u0431\u0440\u0430\u0443\u0437\u044a\u0440. \u0424\u0438\u043b\u0442\u0440\u0438\u0440\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u0441\u043a\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0449\u0435 \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u0438 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435\u0442\u043e \u0438\u043c \u0434\u043e\u043a\u0430\u0442\u043e \u043d\u0435 \u0431\u044a\u0434\u0430\u0442 \u043e\u0434\u043e\u0431\u0440\u0435\u043d\u0438 \u0442\u0443\u043a.", "LabelDisplayMissingEpisodesWithinSeasons": "\u041f\u043e\u043a\u0430\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 \u043b\u0438\u043f\u0441\u0432\u0430\u0449\u0438\u0442\u0435 \u0435\u043f\u0438\u0437\u043e\u0434\u0438 \u0432 \u0441\u0435\u0437\u043e\u043d\u0438\u0442\u0435", "LabelDisplayMissingEpisodesWithinSeasonsHelp": "\u0422\u043e\u0432\u0430 \u0441\u044a\u0449\u043e \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0435 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u043d\u043e \u0437\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u043e\u0442 \u0441\u0435\u0440\u0438\u0430\u043b\u0438 \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0442\u0430 \u043d\u0430 \u0441\u044a\u0440\u0432\u044a\u0440\u0430.", @@ -108,7 +108,7 @@ "OptionAlwaysPlaySubtitles": "\u0412\u0438\u043d\u0430\u0433\u0438 \u043f\u043e\u043a\u0430\u0437\u0432\u0430\u0439 \u0441\u0443\u0431\u0442\u0438\u0442\u0440\u0438", "OptionDefaultSubtitlesHelp": "\u0421\u0443\u0431\u0442\u0438\u0442\u0440\u0438\u0442\u0435 \u0441\u0435 \u0437\u0430\u0440\u0435\u0436\u0434\u0430\u0442 \u043d\u0430 \u0431\u0430\u0437\u0430\u0442\u0430 \u043d\u0430 \u0444\u043b\u0430\u0433\u043e\u0432\u0435\u0442\u0435 \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435 \u0438 \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u043d\u0438\u0442\u0435 \u0444\u043b\u0430\u0433\u043e\u0432\u0435 \u0432\u044a\u0432 \u0432\u0433\u0440\u0430\u0434\u0435\u043d\u0438\u0442\u0435 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u0438. \u0415\u0437\u0438\u043a\u043e\u0432\u0438\u0442\u0435 \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u043d\u0438\u044f \u0441\u0435 \u0432\u0437\u0435\u043c\u0430\u0442 \u043f\u0440\u0435\u0434\u0432\u0438\u0434, \u043a\u043e\u0433\u0430\u0442\u043e \u0441\u0430 \u043d\u0430\u043b\u0438\u0447\u043d\u0438 \u043d\u044f\u043a\u043e\u043b\u043a\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430.", "OptionOnlyForcedSubtitlesHelp": "\u0421\u0430\u043c\u043e \u0441\u0443\u0431\u0442\u0438\u0442\u0440\u0438, \u043c\u0430\u0440\u043a\u0438\u0440\u0430\u043d\u0438 \u043a\u0430\u0442\u043e \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u043d\u0438, \u0449\u0435 \u0431\u044a\u0434\u0430\u0442 \u0437\u0430\u0440\u0435\u0436\u0434\u0430\u043d\u0438", - "OptionAlwaysPlaySubtitlesHelp": "\u0421\u0443\u0431\u0442\u0438\u0442\u0440\u0438, \u043e\u0442\u0433\u043e\u0432\u0430\u0440\u044f\u0449\u0438 \u043d\u0430 \u0435\u0437\u0438\u043a\u043e\u0432\u043e\u0442\u043e \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u043d\u0438\u0435, \u0449\u0435 \u0431\u044a\u0434\u0430\u0442 \u0437\u0430\u0440\u0435\u0436\u0434\u0430\u043d\u0438 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u0435\u0437\u0438\u043a\u0430 \u043d\u0430 \u0430\u0443\u0434\u0438\u043e\u0442\u043e.", + "OptionAlwaysPlaySubtitlesHelp": "\u0421\u0443\u0431\u0442\u0438\u0442\u0440\u0438, \u043e\u0442\u0433\u043e\u0432\u0430\u0440\u044f\u0449\u0438 \u043d\u0430 \u0435\u0437\u0438\u043a\u043e\u0432\u043e\u0442\u043e \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u043d\u0438\u0435, \u0449\u0435 \u0431\u044a\u0434\u0430\u0442 \u0437\u0430\u0440\u0435\u0436\u0434\u0430\u043d\u0438 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u0435\u0437\u0438\u043a\u0430 \u043d\u0430 \u0437\u0432\u0443\u043a\u0430.", "OptionNoSubtitlesHelp": "\u0421\u0443\u0431\u0442\u0438\u0442\u0440\u0438 \u043d\u044f\u043c\u0430 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u0437\u0430\u0440\u0435\u0436\u0434\u0430\u043d\u0438 \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435.", "TabProfiles": "\u041f\u0440\u043e\u0444\u0438\u043b\u0438", "TabSecurity": "\u0417\u0430\u0449\u0438\u0442\u0430", @@ -201,7 +201,7 @@ "HeaderFrequentlyPlayed": "\u0427\u0435\u0441\u0442\u043e \u043f\u0443\u0441\u043a\u0430\u043d\u0438", "LabelVideoType": "\u0422\u0438\u043f \u043d\u0430 \u0432\u0438\u0434\u0435\u043e\u0442\u043e:", "OptionBluray": "Bluray", - "OptionDvd": "Dvd", + "OptionDvd": "\u0414\u0412\u0414", "OptionIso": "Iso", "Option3D": "\u0422\u0440\u0438\u0438\u0437\u043c\u0435\u0440\u043d\u0438", "LabelDeinterlacingMethod": "Deinterlacing method:", @@ -259,15 +259,15 @@ "OptionDisableUserHelp": "\u0410\u043a\u043e \u0435 \u0434\u0435\u0437\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u043d, \u0441\u044a\u0440\u0432\u044a\u0440\u044a\u0442 \u043d\u044f\u043c\u0430 \u0434\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u0438 \u043a\u0430\u043a\u0432\u0438\u0442\u043e \u0438 \u0434\u0430 \u0431\u0438\u043b\u043e \u0432\u0440\u044a\u0437\u043a\u0438 \u043e\u0442 \u0442\u043e\u0437\u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b. \u0421\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430\u0449\u0438\u0442\u0435 \u0432\u0440\u044a\u0437\u043a\u0438 \u0449\u0435 \u0431\u044a\u0434\u0430\u0442 \u0432\u043d\u0435\u0437\u0430\u043f\u043d\u043e \u043f\u0440\u0435\u043a\u0440\u0430\u0442\u0435\u043d\u0438.", "LabelName": "\u0418\u043c\u0435:", "ButtonHelp": "\u041f\u043e\u043c\u043e\u0449", - "OptionAllowUserToManageServer": "\u0420\u0430\u0437\u0440\u0435\u0448\u0438 \u043d\u0430 \u0442\u043e\u0437\u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b \u0434\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0432\u0430 \u0441\u044a\u0440\u0432\u044a\u0440\u0430", + "OptionAllowUserToManageServer": "\u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u0442\u043e\u0437\u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b \u0434\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0432\u0430 \u0441\u044a\u0440\u0432\u044a\u0440\u0430", "HeaderFeatureAccess": "\u0414\u043e\u0441\u0442\u044a\u043f \u0434\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438", "OptionAllowMediaPlayback": "\u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u043f\u0443\u0441\u043a\u0430\u043d\u0435 \u043d\u0430 \u043c\u0435\u0434\u0438\u044f", "OptionAllowBrowsingLiveTv": "\u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u0442\u0435\u043b\u0435\u0432\u0438\u0437\u0438\u044f \u043d\u0430 \u0436\u0438\u0432\u043e", "HeaderMediaDeletion": "Media Deletion", "AllowDeletionFromAll": "Allow media deletion from all libraries", "OptionAllowManageLiveTv": "\u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0432\u0430\u043d\u0435 \u0437\u0430\u043f\u0438\u0441\u043d\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u0442\u0435\u043b\u0435\u0432\u0438\u0437\u0438\u044f \u043d\u0430 \u0436\u0438\u0432\u043e", - "OptionAllowRemoteControlOthers": "\u0420\u0430\u0437\u0440\u0435\u0448\u0438 \u043e\u0442\u0434\u0430\u043b\u0435\u0447\u0435\u043d \u043a\u043e\u043d\u0442\u0440\u043e\u043b \u043d\u0430 \u0434\u0440\u0443\u0433\u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u0438", - "OptionAllowRemoteSharedDevices": "\u0420\u0430\u0437\u0440\u0435\u0448\u0438 \u043e\u0442\u0434\u0430\u043b\u0435\u0447\u0435\u043d \u043a\u043e\u043d\u0442\u0440\u043e\u043b \u043d\u0430 \u0441\u043f\u043e\u0434\u0435\u043b\u0435\u043d\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430", + "OptionAllowRemoteControlOthers": "\u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u043e\u0442\u0434\u0430\u043b\u0435\u0447\u0435\u043d \u043a\u043e\u043d\u0442\u0440\u043e\u043b \u043d\u0430 \u0434\u0440\u0443\u0433\u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u0438", + "OptionAllowRemoteSharedDevices": "\u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u043e\u0442\u0434\u0430\u043b\u0435\u0447\u0435\u043d \u043a\u043e\u043d\u0442\u0440\u043e\u043b \u043d\u0430 \u0441\u043f\u043e\u0434\u0435\u043b\u0435\u043d\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430", "OptionAllowRemoteSharedDevicesHelp": "DLNA \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0441\u0435 \u0441\u0447\u0438\u0442\u0430\u0442 \u0437\u0430 \u0441\u043f\u043e\u0434\u0435\u043b\u0435\u043d\u0438 \u0434\u043e\u043a\u0430\u0442\u043e \u043d\u044f\u043a\u043e\u0439 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b \u043d\u0435 \u0437\u0430\u043f\u043e\u0447\u043d\u0435 \u0434\u0430 \u0433\u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0430.", "OptionAllowLinkSharing": "\u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u0441\u043f\u043e\u0434\u0435\u043b\u044f\u043d\u0435 \u0432 \u0441\u043e\u0446\u0438\u0430\u043b\u043d\u0438\u0442\u0435 \u043c\u0435\u0434\u0438\u0438", "OptionAllowLinkSharingHelp": "Only web pages containing media information are shared. Media files are never shared publicly. Shares are time-limited and will expire after {0} days.", @@ -284,10 +284,10 @@ "TabServer": "\u0421\u044a\u0440\u0432\u044a\u0440", "TabTranscoding": "\u041f\u0440\u0435\u043a\u043e\u0434\u0438\u0440\u0430\u043d\u0435", "OptionRelease": "\u041e\u0444\u0438\u0446\u0438\u0430\u043b\u043d\u043e \u0438\u0437\u0434\u0430\u043d\u0438\u0435", - "LabelAllowServerAutoRestart": "\u0420\u0430\u0437\u0440\u0435\u0448\u0438 \u043d\u0430 \u0441\u044a\u0440\u0432\u044a\u0440\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u043d \u0440\u0435\u0441\u0442\u0430\u0440\u0442 \u0437\u0430 \u043f\u0440\u0438\u043b\u0430\u0433\u0430\u043d\u0435 \u043d\u0430 \u0430\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438\u0442\u0435", + "LabelAllowServerAutoRestart": "\u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u0441\u044a\u0440\u0432\u044a\u0440\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u0434\u0430 \u0441\u0435 \u043f\u0443\u0441\u043a\u0430 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e \u0437\u0430 \u043f\u0440\u0438\u043b\u0430\u0433\u0430\u043d\u0435 \u043d\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f", "LabelAllowServerAutoRestartHelp": "\u0421\u044a\u0440\u0432\u044a\u0440\u044a\u0442 \u0449\u0435 \u0441\u0435 \u0440\u0435\u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430 \u0441\u0430\u043c\u043e \u043f\u0440\u0435\u0437 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0442\u043e \u0441\u0438 \u0432\u0440\u0435\u043c\u0435, \u043a\u043e\u0433\u0430\u0442\u043e \u043d\u044f\u043c\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u0438.", "LabelRunServerAtStartup": "\u041f\u0443\u0441\u043a\u0430\u043d\u0435 \u043d\u0430 \u0441\u044a\u0440\u0432\u044a\u0440\u0430 \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u043d\u0435", - "LabelRunServerAtStartupHelp": "\u0422\u043e\u0432\u0430 \u0449\u0435 \u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430 \u0438\u043a\u043e\u043d\u043a\u0430\u0442\u0430 \u0432 \u0442\u0440\u0435\u0439 \u043b\u0435\u043d\u0442\u0430\u0442\u0430 \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 Windows. \u0417\u0430 \u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 Windows service, \u043c\u0430\u0445\u043d\u0435\u0442\u0435 \u043e\u0442\u043c\u0435\u0442\u043a\u0430\u0442\u0430 \u043e\u0442 \u0442\u043e\u0432\u0430 \u0438 \u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u0439\u0442\u0435 \u0443\u0441\u043b\u0443\u0433\u0430\u0442\u0430 \u043e\u0442 Windows \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043d\u0438\u044f \u043f\u0430\u043d\u0435\u043b. \u041c\u043e\u043b\u044f, \u043e\u0442\u0431\u0435\u043b\u0435\u0436\u0435\u0442\u0435, \u0447\u0435 \u0434\u0432\u0435\u0442\u0435 \u043d\u0435 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u043f\u0443\u0441\u043d\u0430\u0442\u0438 \u043f\u043e \u0435\u0434\u043d\u043e \u0438 \u0441\u044a\u0449\u043e \u0432\u0440\u0435\u043c\u0435, \u0442\u0430\u043a\u0430 \u0447\u0435 \u0449\u0435 \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0438\u0437\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u0438\u043a\u043e\u043d\u043a\u0430\u0442\u0430 \u0432 \u0442\u0440\u0435\u0439 \u043b\u0435\u043d\u0442\u0430\u0442\u0430 \u043f\u0440\u0435\u0434\u0438 \u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0443\u0441\u043b\u0443\u0433\u0430\u0442\u0430.", + "LabelRunServerAtStartupHelp": "\u0422\u043e\u0432\u0430 \u0449\u0435 \u043f\u043e\u043a\u0430\u0436\u0435 \u0438\u043a\u043e\u043d\u043a\u0430\u0442\u0430 \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0442\u0430 \u0437\u0430 \u0443\u0432\u0435\u0434\u043e\u043c\u044f\u0432\u0430\u043d\u0435 \u043f\u0440\u0438 \u043f\u0443\u0441\u043a\u0430\u043d\u0435 \u043d\u0430 \u0423\u0438\u043d\u0434\u043e\u0443\u0441. \u0410\u043a\u043e \u0441\u0442\u0435 \u0437\u0430\u0434\u0430\u043b\u0438 \u0443\u0441\u043b\u0443\u0433\u0430, \u0442\u043e\u0433\u0430\u0432\u0430 \u043c\u0430\u0445\u043d\u0435\u0442\u0435 \u043e\u0442\u043c\u0435\u0442\u043a\u0430\u0442\u0430 \u043d\u0430 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u0442\u0435 \u0443\u0441\u043b\u0443\u0433\u0430\u0442\u0430 \u0434\u0430 \u0441\u0435 \u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430 \u043f\u0440\u0438 \u043f\u0443\u0441\u043a\u0430\u043d\u0435.", "ButtonSelectDirectory": "\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u043f\u0430\u043f\u043a\u0430", "LabelCachePath": "\u041f\u044a\u0442 \u043a\u044a\u043c \u043a\u0435\u0448\u0430:", "DefaultMetadataLangaugeDescription": "These are your defaults and can be customized on a per-library basis.", @@ -485,9 +485,6 @@ "HeaderResult": "\u0420\u0435\u0437\u0443\u043b\u0442\u0430\u0442", "OptionOverwriteExistingEpisodes": "\u041f\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0432\u0430\u043d\u0435 \u0432\u0435\u0447\u0435 \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430\u0449\u0438\u0442\u0435 \u0435\u043f\u0438\u0437\u043e\u0434\u0438", "LabelTransferMethod": "\u041c\u0435\u0442\u043e\u0434 \u043d\u0430 \u043f\u0440\u0435\u0445\u0432\u044a\u0440\u043b\u044f\u043d\u0435", - "OptionCopy": "\u041a\u043e\u043f\u0438\u0440\u0430\u043d\u0435", - "OptionMove": "\u041c\u0435\u0441\u0442\u0435\u043d\u0435", - "LabelTransferMethodHelp": "\u041a\u043e\u043f\u0438\u0440\u0430\u043d\u0435 \u0438\u043b\u0438 \u043f\u0440\u0435\u043c\u0435\u0441\u0442\u0432\u0430\u043d\u0435 \u043d\u0430 \u0444\u0430\u0439\u043b\u043e\u0432\u0435 \u043e\u0442 \u043f\u0430\u043f\u043a\u0430\u0442\u0430 \u0441 \u0433\u043b\u0435\u0434\u0430\u043d\u0438\u044f", "HeaderLatestNews": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438 \u043d\u043e\u0432\u0438\u043d\u0438", "HeaderRunningTasks": "\u0418\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430\u0449\u0438 \u0441\u0435 \u0437\u0430\u0434\u0430\u0447\u0438", "HeaderActiveDevices": "\u0410\u043a\u0442\u0438\u0432\u043d\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430", @@ -554,7 +551,7 @@ "Mute": "Mute", "Unmute": "Unmute", "Subtitles": "\u0421\u0443\u0431\u0442\u0438\u0442\u0440\u0438", - "Audio": "Audio", + "Audio": "\u0417\u0432\u0443\u043a", "Rewind": "Rewind", "Fullscreen": "\u0426\u044f\u043b \u0435\u043a\u0440\u0430\u043d", "ExitFullscreen": "\u0418\u0437\u0445\u043e\u0434 \u043e\u0442 \u0446\u044f\u043b \u0435\u043a\u0440\u0430\u043d", @@ -590,7 +587,7 @@ "HeaderCodecProfile": "\u041f\u0440\u043e\u0444\u0438\u043b \u043d\u0430 \u043a\u043e\u0434\u0435\u043a\u0430", "HeaderContainerProfile": "\u041f\u0440\u043e\u0444\u0438\u043b \u043d\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430", "OptionProfileVideo": "\u0412\u0438\u0434\u0435\u043e", - "OptionProfileAudio": "\u0410\u0443\u0434\u0438\u043e", + "OptionProfileAudio": "\u0417\u0432\u0443\u043a", "OptionProfileVideoAudio": "\u0412\u0438\u0434\u0435\u043e \u0410\u0443\u0434\u0438\u043e", "OptionProfilePhoto": "\u0421\u043d\u0438\u043c\u043a\u0430", "LabelUserLibrary": "\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043d\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u044f:", @@ -668,7 +665,7 @@ "LabelOpenSubtitlesUsername": "Open Subtitles username:", "LabelOpenSubtitlesPassword": "Open Subtitles password:", "LabelPlayDefaultAudioTrack": "Play default audio track regardless of language", - "LabelSubtitlePlaybackMode": "Subtitle mode:", + "LabelSubtitlePlaybackMode": "\u0420\u0435\u0436\u0438\u043c \u043d\u0430 \u0441\u0443\u0431\u0442\u0438\u0442\u0440\u0438\u0442\u0435:", "LabelDownloadLanguages": "\u0418\u0437\u0442\u0435\u0433\u043b\u044f\u043d\u0435 \u043d\u0430 \u0435\u0437\u0438\u0446\u0438:", "ButtonRegister": "Register", "LabelSkipIfAudioTrackPresent": "Skip if the default audio track matches the download language", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "\u041d\u044f\u043c\u0430 \u043d\u0430\u043b\u0438\u0447\u043d\u0438 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0438.", "LabelDisplayPluginsFor": "Display plugins for:", "PluginTabAppClassic": "Emby for Windows Media Center", - "LabelEpisodeNamePlain": "Episode name", - "LabelSeriesNamePlain": "Series name", - "ValueSeriesNamePeriod": "Series.name", - "ValueSeriesNameUnderscore": "Series_name", - "ValueEpisodeNamePeriod": "Episode.name", - "ValueEpisodeNameUnderscore": "Episode_name", - "LabelSeasonNumberPlain": "\u0411\u0440\u043e\u0439 \u0441\u0435\u0437\u043e\u043d\u0438", - "LabelEpisodeNumberPlain": "Episode number", - "LabelEndingEpisodeNumberPlain": "Ending episode number", "HeaderTypeText": "Enter Text", "LabelTypeText": "Text", "TabDisplay": "\u0415\u043a\u0440\u0430\u043d", "TabLanguages": "\u0415\u0437\u0438\u0446\u0438", "TabAppSettings": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u0430\u0442\u0430", - "LabelEnableThemeSongs": "Enable theme songs", - "LabelEnableBackdrops": "Enable backdrops", - "LabelEnableThemeSongsHelp": "If enabled, theme songs will be played in the background while browsing the library.", - "LabelEnableBackdropsHelp": "If enabled, backdrops will be displayed in the background of some pages while browsing the library.", "HeaderHomePage": "\u041d\u0430\u0447\u0430\u043b\u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430", "OptionAuto": "\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e", "OptionYes": "\u0414\u0430", @@ -710,7 +694,7 @@ "OptionLatestMedia": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438 \u043c\u0435\u0434\u0438\u0438", "OptionLatestChannelMedia": "Latest channel items", "HeaderLatestChannelItems": "Latest Channel Items", - "OptionNone": "None", + "OptionNone": "\u041d\u0438\u0449\u043e", "HeaderLiveTv": "\u0422\u0435\u043b\u0435\u0432\u0438\u0437\u0438\u044f \u043d\u0430 \u0436\u0438\u0432\u043e", "HeaderReports": "\u0414\u043e\u043a\u043b\u0430\u0434\u0438", "HeaderSettings": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438", @@ -720,7 +704,7 @@ "MessageNoMovieSuggestionsAvailable": "No movie suggestions are currently available. Start watching and rating your movies, and then come back to view your recommendations.", "MessageNoCollectionsAvailable": "Collections allow you to enjoy personalized groupings of Movies, Series, Albums, Books and Games. Click the + button to start creating Collections.", "MessageNoPlaylistsAvailable": "Playlists allow you to create lists of content to play consecutively at a time. To add items to playlists, right click or tap and hold, then select Add to Playlist.", - "MessageNoPlaylistItemsAvailable": "This playlist is currently empty.", + "MessageNoPlaylistItemsAvailable": "\u0421\u043f\u0438\u0441\u044a\u043a\u044a\u0442 \u0435 \u043f\u0440\u0430\u0437\u0435\u043d.", "ButtonEditOtherUserPreferences": "Edit this user's profile, image and personal preferences.", "LabelChannelStreamQuality": "Preferred internet channel quality:", "LabelChannelStreamQualityHelp": "In a low bandwidth environment, limiting quality can help ensure a smooth streaming experience.", @@ -739,7 +723,7 @@ "OptionDisplayAdultContent": "Display adult content", "OptionLibraryFolders": "\u041c\u0435\u0434\u0438\u0439\u043d\u0438 \u043f\u0430\u043f\u043a\u0438", "TitleRemoteControl": "\u041e\u0442\u0434\u0430\u043b\u0435\u0447\u0435\u043d \u043a\u043e\u043d\u0442\u0440\u043e\u043b", - "OptionLatestTvRecordings": "Latest recordings", + "OptionLatestTvRecordings": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438 \u0437\u0430\u043f\u0438\u0441\u0438", "LabelProtocolInfo": "Protocol info:", "LabelProtocolInfoHelp": "The value that will be used when responding to GetProtocolInfo requests from the device.", "TabNfoSettings": "Nfo Settings", @@ -758,7 +742,7 @@ "LabelDisplayCollectionsViewHelp": "This will create a separate view to display movie collections. To create a collection, right-click or tap-hold any movie and select 'Add to Collection'. ", "LabelKodiMetadataEnableExtraThumbs": "Copy extrafanart into extrathumbs", "LabelKodiMetadataEnableExtraThumbsHelp": "When downloading images they can be saved into both extrafanart and extrathumbs for maximum Kodi skin compatibility.", - "TabServices": "Services", + "TabServices": "\u0423\u0441\u043b\u0443\u0433\u0438", "TabLogs": "\u0416\u0443\u0440\u043d\u0430\u043b\u0438", "TabBranding": "Branding", "HeaderBrandingHelp": "\u041f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u0439\u0442\u0435 \u0438\u0437\u0433\u043b\u0435\u0434\u0430 \u043d\u0430 Emby \u0437\u0430 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u043d\u043e\u0442\u043e \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u043e \u043d\u0430 \u0432\u0430\u0448\u0430\u0442\u0430 \u0433\u0440\u0443\u043f\u0430 \u0438\u043b\u0438 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f.", @@ -771,7 +755,7 @@ "LabelLogs": "\u0416\u0443\u0440\u043d\u0430\u043b\u0438:", "LabelMetadata": "Metadata:", "LabelTranscodingTemporaryFiles": "Transcoding temporary files:", - "HeaderLatestMusic": "Latest Music", + "HeaderLatestMusic": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0430 \u043c\u0443\u0437\u0438\u043a\u0430", "HeaderBranding": "Branding", "HeaderApiKeys": "Api Keys", "HeaderApiKeysHelp": "External applications are required to have an Api key in order to communicate with Emby Server. Keys are issued by logging in with an Emby account, or by manually granting the application a key.", @@ -836,7 +820,7 @@ "OptionReportSeries": "\u0421\u0435\u0440\u0438\u0430\u043b\u0438", "OptionReportSeasons": "\u0421\u0435\u0437\u043e\u043d\u0438", "OptionReportTrailers": "Trailers", - "OptionReportMusicVideos": "Music videos", + "OptionReportMusicVideos": "\u041c\u0443\u0437\u0438\u043a\u0430\u043b\u043d\u0438 \u043a\u043b\u0438\u043f\u043e\u0432\u0435", "OptionReportMovies": "Movies", "OptionReportHomeVideos": "\u0414\u043e\u043c\u0430\u0448\u043d\u0438 \u043a\u043b\u0438\u043f\u043e\u0432\u0435", "OptionReportGames": "\u0418\u0433\u0440\u0438", @@ -847,8 +831,8 @@ "OptionReportAlbums": "\u0410\u043b\u0431\u0443\u043c\u0438", "ButtonMore": "\u041e\u0449\u0435", "HeaderActivity": "\u0414\u0435\u0439\u043d\u043e\u0441\u0442", - "PluginInstalledWithName": "{0} was installed", - "PluginUpdatedWithName": "{0} was updated", + "PluginInstalledWithName": "{0} \u0435 \u0438\u043d\u0441\u0442\u0430\u043b\u0438\u0440\u0430\u043d\u043e", + "PluginUpdatedWithName": "{0} \u0435 \u043e\u0431\u043d\u043e\u0432\u0435\u043d\u043e", "PluginUninstalledWithName": "{0} \u0435 \u0434\u0435\u0438\u043d\u0441\u0442\u0430\u043b\u0438\u0440\u0430\u043d\u043e", "LabelRunningTimeValue": "Running time: {0}", "LabelIpAddressValue": "Ip address: {0}", @@ -961,16 +945,16 @@ "LabelDateAddedBehaviorHelp": "If a metadata value is present it will always be used before either of these options.", "LabelNumberTrailerToPlay": "Number of trailers to play:", "TitleDevices": "\u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430", - "TabCameraUpload": "Camera Upload", + "TabCameraUpload": "\u041a\u0430\u0447\u0432\u0430\u043d\u0435 \u043e\u0442 \u0444\u043e\u0442\u043e\u0430\u043f\u0430\u0440\u0430\u0442", "TabDevices": "\u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430", "HeaderLibrarySettings": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043d\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u0442\u0430", "HeaderChapterSettings": "Chapter Settings", "HeaderCameraUploadHelp": "Emby apps can automatically upload photos and videos taken from your mobile devices into Emby Server.", - "LabelCameraUploadPath": "Camera upload path:", + "LabelCameraUploadPath": "\u041f\u044a\u0442 \u043d\u0430 \u043a\u0430\u0447\u0432\u0430\u043d\u0435 \u043e\u0442 \u0444\u043e\u0442\u043e\u0430\u043f\u0430\u0440\u0430\u0442", "LabelCameraUploadPathHelp": "Select a custom upload path. This will override any default settings set in the Camera Upload section. If left blank, a default folder will be used. If using a custom path it will also need to be added in the library setup area.", "LabelCreateCameraUploadSubfolder": "Create a subfolder for each device", "LabelCreateCameraUploadSubfolderHelp": "Specific folders can be assigned to a device by clicking on it from the Devices page.", - "LabelCustomDeviceDisplayName": "Display name:", + "LabelCustomDeviceDisplayName": "\u041f\u043e\u043a\u0430\u0437\u0432\u0430\u043d\u043e \u0438\u043c\u0435:", "LabelCustomDeviceDisplayNameHelp": "Supply a custom display name or leave empty to use the name reported by the device.", "HeaderInviteUser": "Invite User", "LabelConnectGuestUserNameHelp": "This is the username that your friend uses to sign in to the Emby website, or their email address.", @@ -979,7 +963,7 @@ "HeaderSignInWithConnect": "\u0412\u043b\u0435\u0437\u0442\u0435 \u0441 Emby Connect", "HeaderGuests": "Guests", "HeaderPendingInvitations": "Pending Invitations", - "TabParentalControl": "Parental Control", + "TabParentalControl": "\u0420\u043e\u0434\u0438\u0442\u0435\u043b\u0441\u043a\u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b", "HeaderAccessSchedule": "Access Schedule", "HeaderAccessScheduleHelp": "Create an access schedule to limit access to certain hours.", "LabelAccessDay": "Day of week:", @@ -1001,7 +985,7 @@ "TitleNewUser": "\u041d\u043e\u0432 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b", "ButtonConfigurePassword": "Configure Password", "HeaderDashboardUserPassword": "User passwords are managed within each user's personal profile settings.", - "HeaderLibraryAccess": "Library Access", + "HeaderLibraryAccess": "\u0414\u043e\u0441\u0442\u044a\u043f \u0434\u043e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u0442\u0430", "HeaderChannelAccess": "Channel Access", "HeaderLatestItems": "Latest Items", "HeaderShareMediaFolders": "Share Media Folders", @@ -1078,7 +1062,7 @@ "LabelPasswordConfirm": "\u041f\u0430\u0440\u043e\u043b\u0430 (\u043e\u0442\u043d\u043e\u0432\u043e):", "ButtonAddServer": "\u0414\u043e\u0431\u0430\u0432\u044f\u043d\u0435 \u043d\u0430 \u0441\u044a\u0440\u0432\u044a\u0440", "TabHomeScreen": "\u041d\u0430\u0447\u0430\u043b\u0435\u043d \u0435\u043a\u0440\u0430\u043d", - "HeaderDisplay": "Display", + "HeaderDisplay": "\u0415\u043a\u0440\u0430\u043d", "HeaderNavigation": "Navigation", "OptionEnableAutomaticServerUpdates": "Enable automatic server updates", "OptionOtherTrailers": "Include trailers from older movies", @@ -1087,9 +1071,9 @@ "OptionReportActivities": "Activities Log", "HeaderTunerDevices": "Tuner Devices", "HeaderAddDevice": "Add Device", - "HeaderExternalServices": "External Services", + "HeaderExternalServices": "\u0412\u044a\u043d\u0448\u043d\u0438 \u0443\u0441\u043b\u0443\u0433\u0438", "LabelTunerIpAddress": "Tuner IP Address:", - "TabExternalServices": "External Services", + "TabExternalServices": "\u0412\u044a\u043d\u0448\u043d\u0438 \u0443\u0441\u043b\u0443\u0433\u0438", "HeaderGuideProviders": "Guide Providers", "AddGuideProviderHelp": "Add a source for TV Guide information", "LabelZipCode": "Zip Code:", @@ -1129,12 +1113,12 @@ "ButtonServerDashboard": "\u0422\u0430\u0431\u043b\u043e \u043d\u0430 \u0441\u044a\u0440\u0432\u044a\u0440\u0430", "HeaderAdmin": "\u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u0430\u043d\u0435", "ButtonSignOut": "\u041e\u0442\u043f\u0438\u0441\u0432\u0430\u043d\u0435", - "HeaderCameraUpload": "Camera Upload", + "HeaderCameraUpload": "\u041a\u0430\u0447\u0432\u0430\u043d\u0435 \u043e\u0442 \u0444\u043e\u0442\u043e\u0430\u043f\u0430\u0440\u0430\u0442", "SelectCameraUploadServers": "Upload camera photos to the following servers:", "ButtonClear": "\u0418\u0437\u0447\u0438\u0441\u0442\u0432\u0430\u043d\u0435", "LabelFolder": "\u041f\u0430\u043f\u043a\u0430:", "HeadersFolders": "\u041f\u0430\u043f\u043a\u0438", - "LabelDisplayName": "Display name:", + "LabelDisplayName": "\u041f\u043e\u043a\u0430\u0437\u0432\u0430\u043d\u043e \u0438\u043c\u0435:", "LabelCodecIntrosPath": "Codec intros path:", "LabelCodecIntrosPathHelp": "A folder containing video files. If an intro video file name matches the video codec, audio codec, audio profile, or a tag, then it will be played prior to the main feature.", "OptionConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format", @@ -1276,10 +1260,10 @@ "MessageConfirmSplitMedia": "Are you sure you wish to split the media sources into separate items?", "HeaderError": "\u0413\u0440\u0435\u0448\u043a\u0430", "HeaderLibraryFolders": "\u041c\u0435\u0434\u0438\u0439\u043d\u0438 \u043f\u0430\u043f\u043a\u0438", - "HeaderFavoriteMovies": "Favorite Movies", - "HeaderFavoriteShows": "Favorite Shows", - "HeaderFavoriteEpisodes": "Favorite Episodes", - "HeaderFavoriteGames": "Favorite Games", + "HeaderFavoriteMovies": "\u041b\u044e\u0431\u0438\u043c\u0438 \u0444\u0438\u043b\u043c\u0438", + "HeaderFavoriteShows": "\u041b\u044e\u0431\u0438\u043c\u0438 \u0441\u0435\u0440\u0438\u0430\u043b\u0438", + "HeaderFavoriteEpisodes": "\u041b\u044e\u0431\u0438\u043c\u0438 \u0435\u043f\u0438\u0437\u043e\u0434\u0438", + "HeaderFavoriteGames": "\u041b\u044e\u0431\u0438\u043c\u0438 \u0438\u0433\u0440\u0438", "HeaderConfirmProfileDeletion": "Confirm Profile Deletion", "MessageConfirmProfileDeletion": "Are you sure you wish to delete this profile?", "HeaderSelectServerCachePath": "Select Server Cache Path", @@ -1288,7 +1272,7 @@ "HeaderSelectServerCachePathHelp": "Browse or enter the path to use for server cache files. The folder must be writeable.", "HeaderSelectTranscodingPathHelp": "Browse or enter the path to use for transcoding temporary files. The folder must be writeable.", "HeaderSelectMetadataPathHelp": "Browse or enter the path you'd like to store metadata within. The folder must be writeable.", - "HeaderFavoriteAlbums": "Favorite Albums", + "HeaderFavoriteAlbums": "\u041b\u044e\u0431\u0438\u043c\u0438 \u0430\u043b\u0431\u0443\u043c\u0438", "HeaderLatestChannelMedia": "Latest Channel Items", "MessageFileWillBeDeleted": "The following file will be deleted:", "MessageSureYouWishToProceed": "Are you sure you wish to proceed?", @@ -1315,21 +1299,21 @@ "LabelRunningOnPorts": "Running on http port {0}, and https port {1}.", "HeaderLatestFromChannel": "Latest from {0}", "ButtonRemoteControl": "Remote Control", - "HeaderLatestTvRecordings": "Latest Recordings", + "HeaderLatestTvRecordings": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438 \u0437\u0430\u043f\u0438\u0441\u0438", "LabelCurrentPath": "Current path:", "HeaderSelectMediaPath": "Select Media Path", - "HeaderSelectPath": "Select Path", + "HeaderSelectPath": "\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u043f\u044a\u0442", "ButtonNetwork": "Network", "MessageDirectoryPickerInstruction": "Network paths can be entered manually in the event the Network button fails to locate your devices. For example, {0} or {1}.", "MessageDirectoryPickerBSDInstruction": "For BSD, you may need to configure storage within your FreeNAS Jail in order to allow Emby to access it.", "MessageDirectoryPickerLinuxInstruction": "For Linux on Arch Linux, CentOS, Debian, Fedora, OpenSuse, or Ubuntu, you must grant the Emby system user at least read access to your storage locations.", "HeaderMenu": "Menu", - "ButtonOpen": "Open", - "ButtonShuffle": "Shuffle", + "ButtonOpen": "\u041e\u0442\u0432\u0430\u0440\u044f\u043d\u0435", + "ButtonShuffle": "\u041f\u0443\u0441\u043a\u0430\u043d\u0435 \u0432 \u0440\u0430\u0437\u0431\u044a\u0440\u043a\u0430\u043d \u0440\u0435\u0434", "ButtonResume": "\u041f\u0440\u043e\u0434\u044a\u043b\u0436\u0430\u0432\u0430\u043d\u0435", - "HeaderAudioTracks": "Audio Tracks", - "HeaderLibraries": "Libraries", - "HeaderVideoQuality": "Video Quality", + "HeaderAudioTracks": "\u0417\u0432\u0443\u043a\u043e\u0432\u0438 \u043f\u044a\u0442\u0435\u043a\u0438", + "HeaderLibraries": "\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438", + "HeaderVideoQuality": "\u041a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u043d\u0430 \u0432\u0438\u0434\u0435\u043e\u0442\u043e", "MessageErrorPlayingVideo": "There was an error playing the video.", "MessageEnsureOpenTuner": "Please ensure there is an open tuner availalble.", "ButtonReports": "\u0414\u043e\u043a\u043b\u0430\u0434\u0438", @@ -1367,7 +1351,7 @@ "OptionOff": "Off", "OptionOn": "On", "ButtonUninstall": "\u0414\u0435\u0438\u043d\u0441\u0442\u0430\u043b\u0438\u0440\u0430\u043d\u0435", - "HeaderLiveTV": "Live TV", + "HeaderLiveTV": "\u0422\u0435\u043b\u0435\u0432\u0438\u0437\u0438\u044f \u043d\u0430 \u0436\u0438\u0432\u043e", "MissingPrimaryImage": "\u041b\u0438\u043f\u0441\u0432\u0430 \u0433\u043b\u0430\u0432\u043d\u043e \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435.", "MissingBackdropImage": "\u041b\u0438\u043f\u0441\u0432\u0430 \u0444\u043e\u043d\u043e\u0432\u043e \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435.", "MissingLogoImage": "\u041b\u0438\u043f\u0441\u0432\u0430 \u043b\u043e\u0433\u043e\u0442\u0438\u043f.", @@ -1391,11 +1375,11 @@ "MessageSettingsSaved": "Settings saved.", "TabLibrary": "\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430", "TabDLNA": "DLNA", - "TabLiveTV": "Live TV", + "TabLiveTV": "\u0422\u0435\u043b\u0435\u0432\u0438\u0437\u0438\u044f \u043d\u0430 \u0436\u0438\u0432\u043e", "TabPlugins": "\u041f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0438", "TabHelp": "Help", "ButtonFullscreen": "Fullscreen", - "ButtonAudioTracks": "Audio Tracks", + "ButtonAudioTracks": "\u0417\u0432\u0443\u043a\u043e\u0432\u0438 \u043f\u044a\u0442\u0435\u043a\u0438", "ButtonQuality": "Quality", "HeaderNotifications": "Notifications", "HeaderSelectPlayer": "Select Player", @@ -1404,7 +1388,7 @@ "HeaderTrailers": "\u0422\u0440\u0435\u0439\u043b\u044a\u0440\u0438", "HeaderResolution": "\u0420\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u043d\u0430 \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442", "HeaderRuntime": "Runtime", - "HeaderParentalRating": "Parental Rating", + "HeaderParentalRating": "\u0420\u043e\u0434\u0438\u0442\u0435\u043b\u0441\u043a\u0430 \u043e\u0446\u0435\u043d\u043a\u0430", "HeaderReleaseDate": "\u0414\u0430\u0442\u0430 \u043d\u0430 \u0438\u0437\u0434\u0430\u0432\u0430\u043d\u0435", "HeaderSeries": "Series:", "HeaderSeason": "\u0421\u0435\u0437\u043e\u043d", @@ -1420,9 +1404,9 @@ "OptionGameSystems": "Game systems", "OptionMusicArtists": "Music artists", "OptionMusicAlbums": "Music albums", - "OptionMusicVideos": "Music videos", + "OptionMusicVideos": "\u041c\u0443\u0437\u0438\u043a\u0430\u043b\u043d\u0438 \u043a\u043b\u0438\u043f\u043e\u0432\u0435", "OptionSongs": "Songs", - "OptionHomeVideos": "Home videos & photos", + "OptionHomeVideos": "\u0414\u043e\u043c\u0430\u0448\u043d\u0438 \u043a\u043b\u0438\u043f\u043e\u0432\u0435 \u0438 \u0441\u043d\u0438\u043c\u043a\u0438", "OptionBooks": "Books", "ButtonUp": "Up", "ButtonDown": "Down", @@ -1449,11 +1433,11 @@ "ButtonChangeContentType": "\u041f\u0440\u043e\u043c\u044f\u043d\u0430 \u043d\u0430 \u0442\u0438\u043f\u0430 \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u043d\u0438\u0435", "HeaderMediaLocations": "Media Locations", "LabelContentTypeValue": "Content type: {0}", - "FolderTypeUnset": "Unset (mixed content)", + "FolderTypeUnset": "\u041d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043e (\u0441\u043c\u0435\u0441\u0435\u043d\u043e \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u043d\u0438\u0435)", "BirthPlaceValue": "Birth place: {0}", "DeathDateValue": "Died: {0}", "BirthDateValue": "Born: {0}", - "HeaderLatestReviews": "Latest Reviews", + "HeaderLatestReviews": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438 \u0440\u0435\u0446\u0435\u043d\u0437\u0438\u0438", "HeaderPluginInstallation": "Plugin Installation", "MessageAlreadyInstalled": "This version is already installed.", "MessageYouHaveVersionInstalled": "You currently have version {0} installed.", @@ -1472,11 +1456,11 @@ "ValueDiscNumber": "Disc {0}", "HeaderUnknownDate": "Unknown Date", "HeaderUnknownYear": "Unknown Year", - "ValueMinutes": "{0} min", + "ValueMinutes": "{0} \u043c\u0438\u043d\u0443\u0442\u0438", "HeaderSelectExternalPlayer": "Select External Player", "HeaderExternalPlayerPlayback": "External Player Playback", - "OptionWatched": "Watched", - "OptionUnwatched": "Unwatched", + "OptionWatched": "\u0418\u0437\u0433\u043b\u0435\u0434\u0430\u043d\u043e", + "OptionUnwatched": "\u041d\u0435\u0438\u0437\u0433\u043b\u0435\u0434\u0430\u043d\u043e", "LabelMarkAs": "Mark as:", "OptionInProgress": "In-Progress", "LabelResumePoint": "Resume point:", @@ -1534,7 +1518,7 @@ "HeaderTracks": "\u041f\u0435\u0441\u043d\u0438", "HeaderItems": "Items", "HeaderOtherItems": "Other Items", - "ValueAsRole": "as {0}", + "ValueAsRole": "\u0432 \u0440\u043e\u043b\u044f\u0442\u0430 \u043d\u0430 {0}", "ValueGuestStar": "Guest star", "MediaInfoSize": "\u0420\u0430\u0437\u043c\u0435\u0440", "MediaInfoPath": "\u041f\u044a\u0442", @@ -1561,10 +1545,10 @@ "MediaInfoAnamorphic": "Anamorphic", "MediaInfoInterlaced": "Interlaced", "MediaInfoFramerate": "\u041a\u0430\u0434\u0440\u0438 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0430", - "MediaInfoStreamTypeAudio": "Audio", + "MediaInfoStreamTypeAudio": "\u0417\u0432\u0443\u043a", "MediaInfoStreamTypeData": "Data", - "MediaInfoStreamTypeVideo": "Video", - "MediaInfoStreamTypeSubtitle": "Subtitle", + "MediaInfoStreamTypeVideo": "\u0412\u0438\u0434\u0435\u043e", + "MediaInfoStreamTypeSubtitle": "\u0421\u0443\u0431\u0442\u0438\u0442\u0440\u0438", "MediaInfoStreamTypeEmbeddedImage": "Embedded Image", "MediaInfoRefFrames": "Ref frames", "TabExpert": "\u0417\u0430 \u043d\u0430\u043f\u0440\u0435\u0434\u043d\u0430\u043b\u0438", @@ -1608,8 +1592,8 @@ "HeaderSelectUploadPath": "Select Upload Path", "LabelEnableCameraUploadForHelp": "Uploads will occur automatically in the background when signed into Emby.", "ErrorMessageStartHourGreaterThanEnd": "End time must be greater than the start time.", - "ButtonLibraryAccess": "Library access", - "ButtonParentalControl": "Parental control", + "ButtonLibraryAccess": "\u0414\u043e\u0441\u0442\u044a\u043f \u0434\u043e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u0442\u0430", + "ButtonParentalControl": "\u0420\u043e\u0434\u0438\u0442\u0435\u043b\u0441\u043a\u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b", "HeaderInvitationSent": "Invitation Sent", "MessageInvitationSentToUser": "An email has been sent to {0}, inviting them to accept your sharing invitation.", "MessageInvitationSentToNewUser": "An email has been sent to {0} inviting them to sign up with Emby.", @@ -1641,7 +1625,7 @@ "LabelBitrateMbps": "Bitrate (Mbps):", "EmbyIntroDownloadMessage": "To download and install the free Emby Server visit {0}.", "EmbyIntroDownloadMessageWithoutLink": "To download and install the free Emby Server visit the Emby website.", - "ButtonNewServer": "New Server", + "ButtonNewServer": "\u041d\u043e\u0432 \u0441\u044a\u0440\u0432\u044a\u0440", "MyDevice": "My Device", "ButtonRemote": "Remote", "TabCast": "Cast", @@ -1657,8 +1641,8 @@ "NoResultsFound": "No results found.", "ButtonManageServer": "\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u0441\u044a\u0440\u0432\u044a\u0440\u0430", "ButtonPreferences": "Preferences", - "ButtonViewArtist": "View artist", - "ButtonViewAlbum": "View album", + "ButtonViewArtist": "\u041f\u0440\u0435\u0433\u043b\u0435\u0434 \u043d\u0430 \u0438\u0437\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u044f", + "ButtonViewAlbum": "\u041f\u0440\u0435\u0433\u043b\u0435\u0434 \u043d\u0430 \u0430\u043b\u0431\u0443\u043c\u0430", "ButtonEditImages": "\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u0442\u0430", "ErrorMessagePasswordNotMatchConfirm": "The password and password confirmation must match.", "ErrorMessageUsernameInUse": "The username is already in use. Please choose a new name and try again.", @@ -1692,7 +1676,7 @@ "AddUser": "Add User", "ButtonNo": "No", "ButtonNowPlaying": "Now Playing", - "HeaderLatestMovies": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438 \u0424\u0438\u043b\u043c\u0438", + "HeaderLatestMovies": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438 \u0444\u0438\u043b\u043c\u0438", "HeaderEmailAddress": "\u0415\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u0430 \u043f\u043e\u0449\u0430", "LoginDisclaimer": "Emby is designed to help you manage your personal media library, such as home videos and photos. Please see our terms of use. The use of any Emby software constitutes acceptance of these terms.", "TermsOfUse": "Terms of use", @@ -1706,8 +1690,8 @@ "ErrorAddingEmbyConnectAccount1": "There was an error adding the Emby Connect account. Have you created an Emby account? You can sign up at {0}.", "ErrorAddingEmbyConnectAccount2": "If you're still having a problem, please send an email to {0}.", "ErrorAddingEmbyConnectAccount3": "The Emby account is already linked to an existing local user. An Emby account can only be linked to one local user at a time.", - "HeaderFavoriteArtists": "Favorite Artists", - "HeaderFavoriteSongs": "Favorite Songs", + "HeaderFavoriteArtists": "\u041b\u044e\u0431\u0438\u043c\u0438 \u0438\u0437\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u0438", + "HeaderFavoriteSongs": "\u041b\u044e\u0431\u0438\u043c\u0438 \u043f\u0435\u0441\u043d\u0438", "HeaderConfirmPluginInstallation": "Confirm Plugin Installation", "PleaseConfirmPluginInstallation": "Please click OK to confirm you've read the above and wish to proceed with the plugin installation.", "MessagePluginInstallDisclaimer": "Plugins built by Emby community members are a great way to enhance your Emby experience with additional features and benefits. Before installing, please be aware of the effects they may have on your Emby Server, such as longer library scans, additional background processing, and decreased system stability.", @@ -1786,7 +1770,7 @@ "HowToConnectFromEmbyApps": "How to Connect from Emby apps", "OptionExtractChapterImage": "Enable chapter image extraction", "Downloads": "\u0418\u0437\u0442\u0435\u0433\u043b\u044f\u043d\u0438\u044f", - "LabelEnableDebugLogging": "\u0410\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u0439 \u043b\u043e\u0433\u0438\u043d\u0433 \u043d\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0437\u0430 \u0433\u0440\u0435\u0448\u043a\u0438", + "LabelEnableDebugLogging": "\u0412\u043a\u043b\u044e\u0447\u0432\u0430\u043d\u0435 \u043d\u0430 \u0436\u0443\u0440\u043d\u0430\u043b\u0438\u0442\u0435 \u0437\u0430 \u0433\u0440\u0435\u0448\u043a\u0438", "OptionEnableExternalContentInSuggestions": "Enable external content in suggestions", "OptionEnableExternalContentInSuggestionsHelp": "Allow internet trailers and live tv programs to be included within suggested content.", "LabelH264EncodingPreset": "H264 encoding preset:", @@ -1798,7 +1782,7 @@ "HeaderRecordingGroups": "Recording Groups", "LabelConvertRecordingsTo": "Convert recordings to:", "HeaderUpcomingOnTV": "Upcoming On TV", - "LabelOptionalNetworkPath": "(Optional) Shared network folder:", + "LabelOptionalNetworkPath": "\u0421\u043f\u043e\u0434\u0435\u043b\u0435\u043d\u0430 \u043c\u0440\u0435\u0436\u043e\u0432\u0430 \u043f\u0430\u043f\u043a\u0430 (\u043d\u0435\u0437\u0430\u0434\u044a\u043b\u0436\u0438\u0442\u0435\u043b\u043d\u043e):", "LabelOptionalNetworkPathHelp": "If this folder is shared on your network, supplying the network share path can allow Emby apps on other devices to access media files directly.", "NotScheduledToRecord": "Not scheduled to record", "SynologyUpdateInstructions": "Please login to DSM and go to Package Center to update.", @@ -1817,7 +1801,7 @@ "PreferEmbeddedTitlesOverFileNames": "Prefer embedded titles over filenames", "PreferEmbeddedTitlesOverFileNamesHelp": "This determines the default display title when no internet metadata or local metadata is available.", "HeaderUpcomingEpisodes": "Upcoming Episodes", - "HeaderFavoriteVideos": "Favorite Videos", + "HeaderFavoriteVideos": "\u041b\u044e\u0431\u0438\u043c\u0438 \u043a\u043b\u0438\u043f\u043e\u0432\u0435", "HeaderLiveTvTunerSetup": "Live TV Tuner Setup", "HeaderDetectMyDevices": "Detect My Devices", "MessagePleaseWait": "Please wait. This may take a minute.", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", "ButtonStopRecording": "Stop Recording", "StopRecording": "Stop recording", - "CancelSeries": "Cancel series" + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 c2a6513053..ea89c4f5a8 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/ca.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/ca.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "Anterior", "LabelFinish": "Finalitzar", "LabelNext": "Seg\u00fcent", @@ -25,6 +24,7 @@ "LabelPinCode": "Codi pin:", "DeleteMedia": "Esborra multim\u00e8dia", "HeaderSync": "Sync", + "HeaderPlayAll": "Play All", "HeaderUpcomingNews": "Properes Not\u00edcies", "ButtonOk": "D'acord", "ButtonCancel": "Cancel\u00b7la", @@ -485,9 +485,6 @@ "HeaderResult": "Resultat", "OptionOverwriteExistingEpisodes": "Sobreescriu episodis existents", "LabelTransferMethod": "M\u00e8tode de transfer\u00e8ncia", - "OptionCopy": "Copia", - "OptionMove": "Mou", - "LabelTransferMethodHelp": "Copia o mou fitxers des de directori a supervisar", "HeaderLatestNews": "Darreres Not\u00edcies", "HeaderRunningTasks": "Tasques Corrent", "HeaderActiveDevices": "Dispositius Actius", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "No hi ha extensions disponibles.", "LabelDisplayPluginsFor": "Mostra complements per a:", "PluginTabAppClassic": "Emby for Windows Media Center", - "LabelEpisodeNamePlain": "Nom de l'episodi", - "LabelSeriesNamePlain": "Nom de la s\u00e8rie", - "ValueSeriesNamePeriod": "Series.name", - "ValueSeriesNameUnderscore": "Series_name", - "ValueEpisodeNamePeriod": "Episode.name", - "ValueEpisodeNameUnderscore": "Nom_episodi", - "LabelSeasonNumberPlain": "Season number", - "LabelEpisodeNumberPlain": "Episode number", - "LabelEndingEpisodeNumberPlain": "Ending episode number", "HeaderTypeText": "Introdueix Text", "LabelTypeText": "Text", "TabDisplay": "Visualitzaci\u00f3", "TabLanguages": "Idiomes", "TabAppSettings": "Prefer\u00e8ncies d'App", - "LabelEnableThemeSongs": "Habilita les can\u00e7ons tem\u00e0tiques", - "LabelEnableBackdrops": "Habilita els fons", - "LabelEnableThemeSongsHelp": "Si s'habilita es reproduiran can\u00e7ons tem\u00e0tiques de fons mentre naveguis per la biblioteca.", - "LabelEnableBackdropsHelp": "If enabled, backdrops will be displayed in the background of some pages while browsing the library.", "HeaderHomePage": "P\u00e0gina d'Inici", "OptionAuto": "Autom\u00e0tc", "OptionYes": "S\u00ed", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", "ButtonStopRecording": "Stop Recording", "StopRecording": "Stop recording", - "CancelSeries": "Cancel series" + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 799106f5b5..f6d6989747 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/cs.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/cs.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "P\u0159edchoz\u00ed", "LabelFinish": "Dokon\u010dit", "LabelNext": "Dal\u0161\u00ed", @@ -25,6 +24,7 @@ "LabelPinCode": "Pin k\u00f3d:", "DeleteMedia": "Odstranit m\u00e9dia", "HeaderSync": "Synchronizace", + "HeaderPlayAll": "Play All", "HeaderUpcomingNews": "Upcoming News", "ButtonOk": "Ok", "ButtonCancel": "Zru\u0161it", @@ -485,9 +485,6 @@ "HeaderResult": "V\u00fdsledek", "OptionOverwriteExistingEpisodes": "P\u0159epsat existuj\u00edc\u00ed epizody", "LabelTransferMethod": "Metoda p\u0159enosu", - "OptionCopy": "Kop\u00edrovat", - "OptionMove": "P\u0159esunout", - "LabelTransferMethodHelp": "Kop\u00edrovat nebo p\u0159esunout ze slo\u017eky sledovan\u00fdch", "HeaderLatestNews": "Posledn\u00ed novinky", "HeaderRunningTasks": "B\u011b\u017e\u00edc\u00ed \u00falohy", "HeaderActiveDevices": "Aktivn\u00ed za\u0159\u00edzen\u00ed", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "Nejsou dostupn\u00e9 \u017e\u00e1dn\u00e9 z\u00e1suvn\u00e9 moduly.", "LabelDisplayPluginsFor": "Zobrazovac\u00ed z\u00e1suvn\u00e9 moduly pro:", "PluginTabAppClassic": "Emby for Windows Media Center", - "LabelEpisodeNamePlain": "N\u00e1zev epizody", - "LabelSeriesNamePlain": "N\u00e1zev seri\u00e1lu", - "ValueSeriesNamePeriod": "Seri\u00e1l.n\u00e1zev", - "ValueSeriesNameUnderscore": "N\u00e1zev_seri\u00e1lu", - "ValueEpisodeNamePeriod": "Epizoda.n\u00e1zev", - "ValueEpisodeNameUnderscore": "N\u00e1zev_epizody", - "LabelSeasonNumberPlain": "\u010c\u00edslo sez\u00f3ny", - "LabelEpisodeNumberPlain": "\u010c\u00edslo epizody", - "LabelEndingEpisodeNumberPlain": "\u010c\u00edslo posledn\u00ed epizody", "HeaderTypeText": "Vlo\u017ete text", "LabelTypeText": "Text", "TabDisplay": "Zobrazen\u00ed", "TabLanguages": "Jazyky", "TabAppSettings": "Nastaven\u00ed aplikace", - "LabelEnableThemeSongs": "Povolit t\u00e9matickou hudbu na pozad\u00ed", - "LabelEnableBackdrops": "Povolit pozad\u00ed", - "LabelEnableThemeSongsHelp": "Pokud povol\u00edte, bude p\u0159i proch\u00e1zen\u00ed knihovny p\u0159ehr\u00e1v\u00e1na t\u00e9matick\u00e1 melodie na pozad\u00ed.", - "LabelEnableBackdropsHelp": "Pokud je povoleno, pozad\u00ed je zobrazeno pro n\u011bkter\u00e9 str\u00e1nky p\u0159i proch\u00e1zen\u00ed va\u0161\u00ed knihovny.", "HeaderHomePage": "Hlavn\u00ed str\u00e1nka", "OptionAuto": "Automaticky", "OptionYes": "Ano", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", "ButtonStopRecording": "Stop Recording", "StopRecording": "Stop recording", - "CancelSeries": "Cancel series" + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 2850e79bb5..545dbc48fa 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/da.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/da.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "Forrige", "LabelFinish": "Afslut", "LabelNext": "N\u00e6ste", @@ -25,6 +24,7 @@ "LabelPinCode": "Pinkode:", "DeleteMedia": "Slet medie", "HeaderSync": "Sync", + "HeaderPlayAll": "Play All", "HeaderUpcomingNews": "Upcoming News", "ButtonOk": "Ok", "ButtonCancel": "Annuller", @@ -485,9 +485,6 @@ "HeaderResult": "Resultat", "OptionOverwriteExistingEpisodes": "Overskriv eksisterende episoder", "LabelTransferMethod": "Overf\u00f8rselsmetode", - "OptionCopy": "Kopier", - "OptionMove": "Flyt", - "LabelTransferMethodHelp": "Kopier eller flyt filer fra den overv\u00e5gede mappe.", "HeaderLatestNews": "Sidste nyt", "HeaderRunningTasks": "K\u00f8rende opgaver", "HeaderActiveDevices": "Aktive enheder", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "Ingen tilg\u00e6ngelige plugins.", "LabelDisplayPluginsFor": "Vis plugins til:", "PluginTabAppClassic": "Emby for Windows Media Center", - "LabelEpisodeNamePlain": "Episodenavn", - "LabelSeriesNamePlain": "Serienavn", - "ValueSeriesNamePeriod": "Serie.navn", - "ValueSeriesNameUnderscore": "Serie_navn", - "ValueEpisodeNamePeriod": "Episode.navn", - "ValueEpisodeNameUnderscore": "Episode_navn", - "LabelSeasonNumberPlain": "S\u00e6sonnummer", - "LabelEpisodeNumberPlain": "Episodenummer", - "LabelEndingEpisodeNumberPlain": "Nummer p\u00e5 sidste episode", "HeaderTypeText": "Indtast tekst", "LabelTypeText": "Tekst", "TabDisplay": "Visning", "TabLanguages": "Sprog", "TabAppSettings": "App-indstillinger", - "LabelEnableThemeSongs": "Aktiver temasange", - "LabelEnableBackdrops": "Aktiver backdrops", - "LabelEnableThemeSongsHelp": "N\u00e5r dette er aktiveret vil der blive afspillet temasange mens man kigger i biblioteket.", - "LabelEnableBackdropsHelp": "N\u00e5r dette er aktiveret vil der blive vist backdrops i baggrunden af nogle sider n\u00e5r man kigger i biblioteket.", "HeaderHomePage": "Hjemmeside", "OptionAuto": "Auto", "OptionYes": "Ja", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", "ButtonStopRecording": "Stop Recording", "StopRecording": "Stop recording", - "CancelSeries": "Cancel series" + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 ae2e675554..727b422e73 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/de.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/de.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "Vorheriges", "LabelFinish": "Fertig", "LabelNext": "N\u00e4chstes", @@ -25,6 +24,7 @@ "LabelPinCode": "PIN Code:", "DeleteMedia": "Medien l\u00f6schen", "HeaderSync": "Synchronisation", + "HeaderPlayAll": "Alle abspielen", "HeaderUpcomingNews": "Bevorstehende Nachrichten", "ButtonOk": "Ok", "ButtonCancel": "Abbrechen", @@ -485,9 +485,6 @@ "HeaderResult": "Ergebnis", "OptionOverwriteExistingEpisodes": "\u00dcberschreibe vorhandene Episoden", "LabelTransferMethod": "\u00dcbertragungsmethode", - "OptionCopy": "Kopieren", - "OptionMove": "Verschieben", - "LabelTransferMethodHelp": "Kopiere oder verschiebe Dateien aus dem \u00dcberwachungsverzeichnis", "HeaderLatestNews": "Neueste Nachrichten", "HeaderRunningTasks": "Laufende Aufgaben", "HeaderActiveDevices": "Aktive Ger\u00e4te", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "Keine verf\u00fcgbaren Erweiterungen.", "LabelDisplayPluginsFor": "Zeige Plugins f\u00fcr:", "PluginTabAppClassic": "Emby f\u00fcr Windows Media Center", - "LabelEpisodeNamePlain": "Episodenname", - "LabelSeriesNamePlain": "Serienname", - "ValueSeriesNamePeriod": "Serien.Name", - "ValueSeriesNameUnderscore": "Serien_Name", - "ValueEpisodeNamePeriod": "Episoden.Name", - "ValueEpisodeNameUnderscore": "Episoden_Name", - "LabelSeasonNumberPlain": "Staffelnummer", - "LabelEpisodeNumberPlain": "Episodennummer", - "LabelEndingEpisodeNumberPlain": "Nummer der letzten Episode", "HeaderTypeText": "Texteingabe", "LabelTypeText": "Text", "TabDisplay": "Anzeige", "TabLanguages": "Sprachen", "TabAppSettings": "App Einstellungen", - "LabelEnableThemeSongs": "Aktiviere Titelmelodie", - "LabelEnableBackdrops": "Aktiviere Hintergr\u00fcnde", - "LabelEnableThemeSongsHelp": "Wenn aktiviert, wird die Titelmusik w\u00e4hrend dem Durchsuchen durch die Bibliothek im Hintergrund abgespielt", - "LabelEnableBackdropsHelp": "Falls aktiviert, werden beim durchsuchen der Bibliothek auf einigen Seiten passende Hintergr\u00fcnde angezeigt.", "HeaderHomePage": "Startseite", "OptionAuto": "Auto", "OptionYes": "Ja", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Eingebettete Untertitel k\u00f6nnen aus Videos extrahiert und in Textformat an Emby gesendet werden um Transkodieren zu vermeiden. Auf manchen Systemen kann dieser Vorgang eine lange Zeit in Anspruch nehmen und die Videowiedergabe zum Halten bringen w\u00e4hrend der Extraktion. Deaktiviere diese Option um eingebettete Untertitel w\u00e4hrend des Videotranskodierens einbrennen zu lassen, wenn sie nicht nativ vom Client unterst\u00fctzt werden.", "ButtonStopRecording": "Aufnahme stoppen", "StopRecording": "Aufnahme stoppen", - "CancelSeries": "Serienaufnahme beenden" + "CancelSeries": "Serienaufnahme beenden", + "EnableDebugLoggingHelp": "Debug-Logging sollte nur zur Fehlersuche aktiviert werden. Der Zugriff auf das Dateisystem kann das System unter Umst\u00e4nden daran hindern, in den Energiesparmodus zu gehen." } \ 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 e664d4238c..e814cf1661 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/el.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/el.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "\u03a0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf\u03c2", "LabelFinish": "\u03a4\u03ad\u03bb\u03bf\u03c2", "LabelNext": "\u0395\u03c0\u03cc\u03bc\u03b5\u03bd\u03bf", @@ -25,6 +24,7 @@ "LabelPinCode": "\u039a\u03c9\u03b4\u03b9\u03ba\u03cc\u03c2 PIN:", "DeleteMedia": "Delete media", "HeaderSync": "\u03a3\u03c5\u03b3\u03c7\u03c1\u03bf\u03bd\u03b9\u03c3\u03bc\u03cc\u03c2", + "HeaderPlayAll": "Play All", "HeaderUpcomingNews": "Upcoming News", "ButtonOk": "Ok", "ButtonCancel": "\u0391\u03ba\u03cd\u03c1\u03c9\u03c3\u03b7 ", @@ -485,9 +485,6 @@ "HeaderResult": "Result", "OptionOverwriteExistingEpisodes": "Overwrite existing episodes", "LabelTransferMethod": "Transfer method", - "OptionCopy": "Copy", - "OptionMove": "Move", - "LabelTransferMethodHelp": "Copy or move files from the watch folder", "HeaderLatestNews": "Latest News", "HeaderRunningTasks": "Running Tasks", "HeaderActiveDevices": "Active Devices", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "No available plugins.", "LabelDisplayPluginsFor": "Display plugins for:", "PluginTabAppClassic": "Emby for Windows Media Center", - "LabelEpisodeNamePlain": "Episode name", - "LabelSeriesNamePlain": "Series name", - "ValueSeriesNamePeriod": "Series.name", - "ValueSeriesNameUnderscore": "Series_name", - "ValueEpisodeNamePeriod": "Episode.name", - "ValueEpisodeNameUnderscore": "Episode_name", - "LabelSeasonNumberPlain": "Season number", - "LabelEpisodeNumberPlain": "Episode number", - "LabelEndingEpisodeNumberPlain": "Ending episode number", "HeaderTypeText": "Enter Text", "LabelTypeText": "Text", "TabDisplay": "Display", "TabLanguages": "Languages", "TabAppSettings": "App Settings", - "LabelEnableThemeSongs": "Enable theme songs", - "LabelEnableBackdrops": "Enable backdrops", - "LabelEnableThemeSongsHelp": "If enabled, theme songs will be played in the background while browsing the library.", - "LabelEnableBackdropsHelp": "If enabled, backdrops will be displayed in the background of some pages while browsing the library.", "HeaderHomePage": "Home Page", "OptionAuto": "Auto", "OptionYes": "Yes", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", "ButtonStopRecording": "Stop Recording", "StopRecording": "Stop recording", - "CancelSeries": "Cancel series" + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 b911bec189..584425be24 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/en-GB.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/en-GB.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "Previous", "LabelFinish": "Finish", "LabelNext": "Next", @@ -25,6 +24,7 @@ "LabelPinCode": "PIN code:", "DeleteMedia": "Delete media", "HeaderSync": "Sync", + "HeaderPlayAll": "Play All", "HeaderUpcomingNews": "Upcoming News", "ButtonOk": "Ok", "ButtonCancel": "Cancel", @@ -485,9 +485,6 @@ "HeaderResult": "Result", "OptionOverwriteExistingEpisodes": "Overwrite existing episodes", "LabelTransferMethod": "Transfer method", - "OptionCopy": "Copy", - "OptionMove": "Move", - "LabelTransferMethodHelp": "Copy or move files from the watch folder", "HeaderLatestNews": "Latest News", "HeaderRunningTasks": "Running Tasks", "HeaderActiveDevices": "Active Devices", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "No available plugins.", "LabelDisplayPluginsFor": "Display plugins for:", "PluginTabAppClassic": "Emby for Windows Media Center", - "LabelEpisodeNamePlain": "Episode name", - "LabelSeriesNamePlain": "Series name", - "ValueSeriesNamePeriod": "Series.name", - "ValueSeriesNameUnderscore": "Series_name", - "ValueEpisodeNamePeriod": "Episode.name", - "ValueEpisodeNameUnderscore": "Episode_name", - "LabelSeasonNumberPlain": "Season number", - "LabelEpisodeNumberPlain": "Episode number", - "LabelEndingEpisodeNumberPlain": "Ending episode number", "HeaderTypeText": "Enter Text", "LabelTypeText": "Text", "TabDisplay": "Display", "TabLanguages": "Languages", "TabAppSettings": "App Settings", - "LabelEnableThemeSongs": "Enable theme songs", - "LabelEnableBackdrops": "Enable backdrops", - "LabelEnableThemeSongsHelp": "If enabled, theme songs will be played in the background while browsing the library.", - "LabelEnableBackdropsHelp": "If enabled, backdrops will be displayed in the background of some pages while browsing the library.", "HeaderHomePage": "Home Page", "OptionAuto": "Auto", "OptionYes": "Yes", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems, this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", "ButtonStopRecording": "Stop Recording", "StopRecording": "Stop recording", - "CancelSeries": "Cancel series" + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 5d24242767..aca1805d88 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/en-US.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/en-US.json @@ -24,7 +24,7 @@ "LabelPinCode": "Pin code:", "DeleteMedia": "Delete media", "HeaderSync": "Sync", - "HeaderPlayAll": "Play All", + "HeaderPlayAll": "Play All", "HeaderUpcomingNews": "Upcoming News", "ButtonOk": "Ok", "ButtonCancel": "Cancel", @@ -949,7 +949,7 @@ "TabDevices": "Devices", "HeaderLibrarySettings": "Library Settings", "HeaderChapterSettings": "Chapter Settings", - "HeaderCameraUploadHelp": "Emby apps can automatically upload photos and videos taken from your mobile devices into Emby Server.", + "HeaderCameraUploadHelp": "Emby apps can automatically upload photos taken from your mobile devices into Emby Server.", "LabelCameraUploadPath": "Camera upload path:", "LabelCameraUploadPathHelp": "Select a custom upload path. This will override any default settings set in the Camera Upload section. If left blank, a default folder will be used. If using a custom path it will also need to be added in the library setup area.", "LabelCreateCameraUploadSubfolder": "Create a subfolder for each device", @@ -1850,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", "ButtonStopRecording": "Stop Recording", "StopRecording": "Stop recording", - "CancelSeries": "Cancel series" + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } diff --git a/MediaBrowser.WebDashboard/dashboard-ui/strings/es-AR.json b/MediaBrowser.WebDashboard/dashboard-ui/strings/es-AR.json index eb7cc57505..8527856964 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/es-AR.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/es-AR.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "Anterior", "LabelFinish": "Terminar", "LabelNext": "Siguiente", @@ -25,6 +24,7 @@ "LabelPinCode": "Pin code:", "DeleteMedia": "Delete media", "HeaderSync": "Sync", + "HeaderPlayAll": "Play All", "HeaderUpcomingNews": "Upcoming News", "ButtonOk": "Ok", "ButtonCancel": "Cancel", @@ -485,9 +485,6 @@ "HeaderResult": "Result", "OptionOverwriteExistingEpisodes": "Overwrite existing episodes", "LabelTransferMethod": "Transfer method", - "OptionCopy": "Copy", - "OptionMove": "Move", - "LabelTransferMethodHelp": "Copy or move files from the watch folder", "HeaderLatestNews": "Latest News", "HeaderRunningTasks": "Running Tasks", "HeaderActiveDevices": "Active Devices", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "No available plugins.", "LabelDisplayPluginsFor": "Display plugins for:", "PluginTabAppClassic": "Emby for Windows Media Center", - "LabelEpisodeNamePlain": "Episode name", - "LabelSeriesNamePlain": "Series name", - "ValueSeriesNamePeriod": "Series.name", - "ValueSeriesNameUnderscore": "Series_name", - "ValueEpisodeNamePeriod": "Episode.name", - "ValueEpisodeNameUnderscore": "Episode_name", - "LabelSeasonNumberPlain": "Season number", - "LabelEpisodeNumberPlain": "Episode number", - "LabelEndingEpisodeNumberPlain": "Ending episode number", "HeaderTypeText": "Enter Text", "LabelTypeText": "Text", "TabDisplay": "Display", "TabLanguages": "Languages", "TabAppSettings": "App Settings", - "LabelEnableThemeSongs": "Enable theme songs", - "LabelEnableBackdrops": "Enable backdrops", - "LabelEnableThemeSongsHelp": "If enabled, theme songs will be played in the background while browsing the library.", - "LabelEnableBackdropsHelp": "If enabled, backdrops will be displayed in the background of some pages while browsing the library.", "HeaderHomePage": "Home Page", "OptionAuto": "Auto", "OptionYes": "Yes", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", "ButtonStopRecording": "Stop Recording", "StopRecording": "Stop recording", - "CancelSeries": "Cancel series" + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 2e4624ed83..014307a533 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/es-MX.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/es-MX.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "Anterior", "LabelFinish": "Terminar", "LabelNext": "Siguiente", @@ -25,6 +24,7 @@ "LabelPinCode": "C\u00f3digo pin:", "DeleteMedia": "Eliminar medios", "HeaderSync": "Sinc", + "HeaderPlayAll": "Reproducir Todo", "HeaderUpcomingNews": "Noticias Recientes", "ButtonOk": "Ok", "ButtonCancel": "Cancelar", @@ -485,9 +485,6 @@ "HeaderResult": "Resultado", "OptionOverwriteExistingEpisodes": "Sobreescribir episodios pre-existentes", "LabelTransferMethod": "M\u00e9todo de transferencia", - "OptionCopy": "Copiar", - "OptionMove": "Mover", - "LabelTransferMethodHelp": "Copiar o mover archivos desde la carpeta de inspecci\u00f3n", "HeaderLatestNews": "Noticias Recientes", "HeaderRunningTasks": "Tareas en Ejecuci\u00f3n", "HeaderActiveDevices": "Dispositivos Activos", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "No hay complementos disponibles.", "LabelDisplayPluginsFor": "Mostrar complementos para:", "PluginTabAppClassic": "Emby para Windows Media Center", - "LabelEpisodeNamePlain": "Nombre del episodio", - "LabelSeriesNamePlain": "Nombre de la serie", - "ValueSeriesNamePeriod": "Nombre.serie", - "ValueSeriesNameUnderscore": "Nombre_serie", - "ValueEpisodeNamePeriod": "Nombre del episodio", - "ValueEpisodeNameUnderscore": "Nombre_episodio", - "LabelSeasonNumberPlain": "N\u00famero de temporada", - "LabelEpisodeNumberPlain": "N\u00famero de episodio", - "LabelEndingEpisodeNumberPlain": "N\u00famero del episodio final", "HeaderTypeText": "Introduzca Texto", "LabelTypeText": "Texto", "TabDisplay": "Pantalla", "TabLanguages": "Idiomas", "TabAppSettings": "Configuracion del App", - "LabelEnableThemeSongs": "Habilitar canciones de tema", - "LabelEnableBackdrops": "Habilitar im\u00e1genes de fondo", - "LabelEnableThemeSongsHelp": "Al activarse, las canciones de tema ser\u00e1n reproducidas en segundo plano mientras se navega en la biblioteca.", - "LabelEnableBackdropsHelp": "Si est\u00e1 activado, las im\u00e1genes de fondo ser\u00e1n mostradas en el fondo de algunas paginas mientras se navega en la biblioteca.", "HeaderHomePage": "P\u00e1gina de Inicio", "OptionAuto": "Autom\u00e1tico", "OptionYes": "Si", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Los subtitulos embebidos puedes ser extra\u00eddos de los videos y enviados a las aplicaciones Emby en texto plano esto para prevenir la transcodificacion del video. En algunos sistemas esto puede tomar un tiempo mas largo y causar problemas de reproducci\u00f3n durante el proceso de extracci\u00f3n. Deshabilite esto para tener subtitulos embebidos \"quemados\" en la transcodificacion de video cuando no son soportados nativamente por el dispositivo cliente.", "ButtonStopRecording": "Detener Grabaci\u00f3n", "StopRecording": "Detener grabaci\u00f3n", - "CancelSeries": "Cancelar Serie" + "CancelSeries": "Cancelar Serie", + "EnableDebugLoggingHelp": "El registro de depuraci\u00f3n deber\u00eda ser habilitado solamente para prop\u00f3sitos de soluci\u00f3n de problemas. El incremento en el archivo de sistema podr\u00eda prevenir que el servidor entre en modo suspendido bajo algunos entornos." } \ 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 553be30194..3b7b25c17e 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/es.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/es.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "Anterior", "LabelFinish": "Terminar", "LabelNext": "Siguiente", @@ -25,6 +24,7 @@ "LabelPinCode": "C\u00f3digo PIN:", "DeleteMedia": "Eliminar medios", "HeaderSync": "Sincronizar", + "HeaderPlayAll": "Reproducir todo", "HeaderUpcomingNews": "Pr\u00f3ximas Noticias", "ButtonOk": "OK", "ButtonCancel": "Cancelar", @@ -50,7 +50,7 @@ "RegisterWithPayPal": "Registrese con PayPal", "LabelSyncTempPath": "Localizaci\u00f3n del archivo temporal:", "LabelSyncTempPathHelp": "Especificar una carpeta personalizada para archivos en sincronizaci\u00f3n. Medios convertidos creados durante el proceso de sincronizaci\u00f3n ser\u00e1n guardados aqu\u00ed.", - "LabelCustomCertificatePath": "Lugar del certificado personalizado:", + "LabelCustomCertificatePath": "Lugar ssl certificado personalizado:", "LabelCustomCertificatePathHelp": "Incluya su propio certificado ssl o archivo .pfx.", "TitleNotifications": "Notificaciones", "OptionDetectArchiveFilesAsMedia": "Detectar ficheros de archivo como medios", @@ -287,7 +287,7 @@ "LabelAllowServerAutoRestart": "Permitir al servidor reiniciarse autom\u00e1ticamente para aplicar las actualizaciones", "LabelAllowServerAutoRestartHelp": "El servidor s\u00f3lo se reiniciar\u00e1 durante periodos de reposo, cuando no hayan usuarios activos.", "LabelRunServerAtStartup": "Arrancar servidor al iniciar", - "LabelRunServerAtStartupHelp": "Esto iniciar\u00e1 como aplicaci\u00f3n en el inicio. Para iniciar en modo servicio de windows, desmarque esto e inicie el servicio desde el panel de control de windows. Tenga en cuenta que no es posible inciar de las dos formas a la vez, usted debe salir de la aplicaci\u00f3n para iniciar el servicio.", + "LabelRunServerAtStartupHelp": "Esto iniciar\u00e1 el \u00edcono de la bandeja Emby al inicio de Windows. Si ha configurado un servicio de Windows, deje esto sin marcar y configure el servicio para que se ejecute al inicio.", "ButtonSelectDirectory": "Seleccionar directorio", "LabelCachePath": "Ruta del cach\u00e9:", "DefaultMetadataLangaugeDescription": "Estos son tus ajustes y se pueden personalizar para cada librer\u00eda.", @@ -485,9 +485,6 @@ "HeaderResult": "Resultado", "OptionOverwriteExistingEpisodes": "Sobreescribir episodios ya existentes", "LabelTransferMethod": "M\u00e9todo de transferencia", - "OptionCopy": "Copiar", - "OptionMove": "Mover", - "LabelTransferMethodHelp": "Copiar o mover archivos desde la carpeta de inspecci\u00f3n", "HeaderLatestNews": "Ultimas noticias", "HeaderRunningTasks": "Tareas en ejecuci\u00f3n", "HeaderActiveDevices": "Dispositivos activos", @@ -497,7 +494,7 @@ "ButtonShutdown": "Apagar", "ButtonUpdateNow": "Actualizar ahora", "TabHosting": "Servidor", - "PleaseUpdateManually": "Please shutdown Emby Server and install the latest version.", + "PleaseUpdateManually": "Por favor cierre el Servidor Emby e instale la \u00faltima versi\u00f3n.", "NewServerVersionAvailable": "Una nueva versi\u00f3n de Emby est\u00e1 disponible!", "ServerUpToDate": "El Servidor Emby est\u00e1 actualizado", "LabelComponentsUpdated": "Los siguientes componentes se han instalado o actualizado:", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "No hay plugins disponibles.", "LabelDisplayPluginsFor": "Mostrar plugins para:", "PluginTabAppClassic": "Emby para Windows Media Center", - "LabelEpisodeNamePlain": "Nombre del episodio", - "LabelSeriesNamePlain": "Nombre de la serie", - "ValueSeriesNamePeriod": "Series.nombre", - "ValueSeriesNameUnderscore": "Series_nombre", - "ValueEpisodeNamePeriod": "Episodio.nombre", - "ValueEpisodeNameUnderscore": "Episodio_nombre", - "LabelSeasonNumberPlain": "Temporada n\u00famero", - "LabelEpisodeNumberPlain": "Episodio n\u00famero", - "LabelEndingEpisodeNumberPlain": "N\u00famero del \u00faltimo episodio", "HeaderTypeText": "Entrar texto", "LabelTypeText": "Texto", "TabDisplay": "Pantalla", "TabLanguages": "Idiomas", "TabAppSettings": "Ajustes de la App", - "LabelEnableThemeSongs": "Habilitar temas musicales", - "LabelEnableBackdrops": "Habilitar im\u00e1genes de fondo", - "LabelEnableThemeSongsHelp": "Si est\u00e1 habilitado, se reproducir\u00e1n temas musicales de fondo mientras navega por la biblioteca.", - "LabelEnableBackdropsHelp": "Si est\u00e1 habilitado, se mostrar\u00e1n im\u00e1genes de fondo en algunas p\u00e1ginas mientras navega por la biblioteca.", "HeaderHomePage": "P\u00e1gina de inicio", "OptionAuto": "Auto", "OptionYes": "Si", @@ -1040,7 +1024,7 @@ "OptionAllowAudioPlaybackTranscoding": "Permitir reproducci\u00f3n de audio que requiere transcodificaci\u00f3n", "OptionAllowVideoPlaybackTranscoding": "Permitir reproducci\u00f3n de v\u00eddeo que requiere transcodificaci\u00f3n", "OptionAllowVideoPlaybackRemuxing": "Permitir reproducci\u00f3n de v\u00eddeo que requiere conversi\u00f3n sin necesidad de volver a codificar", - "OptionAllowMediaPlaybackTranscodingHelp": "Los usuarios recibir\u00e1n un mensaje cuando no pueden reproducir contenido en base a los ajustes.", + "OptionAllowMediaPlaybackTranscodingHelp": "Restringir el acceso a la transcodificaci\u00f3n puede causar fallos de reproducci\u00f3n en aplicaciones Emby debido a formatos de medios no compatibles.", "TabStreaming": "Transmisi\u00f3n", "LabelRemoteClientBitrateLimit": "L\u00edmite de la transmisi\u00f3n de tasa de bits por internet (Mbps):", "LabelRemoteClientBitrateLimitHelp": "An optional per-stream bitrate limit for all out of network devices. This is useful to prevent devices from requesting a higher bitrate than your internet connection can handle. This may result in increased CPU load on your server in order to transcode videos on the fly to a lower bitrate.", @@ -1639,7 +1623,7 @@ "MessageUnsetContentHelp": "El contenido se mostrar\u00e1 como carpetas planas. Para tener mejores resultados utiliza el gestor de metadatos para establecer los tipos de contenidos de las sub-carpetas.", "LabelProfile": "Perfil:", "LabelBitrateMbps": "Tasa de bits (Mbps):", - "EmbyIntroDownloadMessage": "To download and install the free Emby Server visit {0}.", + "EmbyIntroDownloadMessage": "Para descargar e instalar el servidor gratuito de Emby visita {0}.", "EmbyIntroDownloadMessageWithoutLink": "Para descargar e instalar el servidor gratuito de Emby visita la p\u00e1gina web de Emby.", "ButtonNewServer": "Nuevo servidor", "MyDevice": "Mi dispositivo", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", "ButtonStopRecording": "Parar Grabaci\u00f3n", "StopRecording": "Parar grabaci\u00f3n", - "CancelSeries": "Cancelar serie" + "CancelSeries": "Cancelar serie", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 6d7c107724..fc02cf9322 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/fa.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/fa.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "\u0642\u0628\u0644\u06cc", "LabelFinish": "\u067e\u0627\u06cc\u0627\u0646", "LabelNext": "\u0628\u0639\u062f\u06cc", @@ -25,6 +24,7 @@ "LabelPinCode": "\u067e\u06cc\u0646 \u06a9\u062f:", "DeleteMedia": "\u062d\u0630\u0641 \u0631\u0633\u0627\u0646\u0647", "HeaderSync": "\u0647\u0645\u06af\u0627\u0645 \u0633\u0627\u0632\u06cc", + "HeaderPlayAll": "Play All", "HeaderUpcomingNews": "Upcoming News", "ButtonOk": "\u062e\u0648\u0628", "ButtonCancel": "\u0644\u063a\u0648 \u06a9\u0631\u062f\u0646", @@ -485,9 +485,6 @@ "HeaderResult": "Result", "OptionOverwriteExistingEpisodes": "Overwrite existing episodes", "LabelTransferMethod": "Transfer method", - "OptionCopy": "Copy", - "OptionMove": "Move", - "LabelTransferMethodHelp": "Copy or move files from the watch folder", "HeaderLatestNews": "Latest News", "HeaderRunningTasks": "Running Tasks", "HeaderActiveDevices": "Active Devices", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "No available plugins.", "LabelDisplayPluginsFor": "Display plugins for:", "PluginTabAppClassic": "Emby for Windows Media Center", - "LabelEpisodeNamePlain": "Episode name", - "LabelSeriesNamePlain": "Series name", - "ValueSeriesNamePeriod": "Series.name", - "ValueSeriesNameUnderscore": "Series_name", - "ValueEpisodeNamePeriod": "Episode.name", - "ValueEpisodeNameUnderscore": "Episode_name", - "LabelSeasonNumberPlain": "Season number", - "LabelEpisodeNumberPlain": "Episode number", - "LabelEndingEpisodeNumberPlain": "Ending episode number", "HeaderTypeText": "Enter Text", "LabelTypeText": "Text", "TabDisplay": "Display", "TabLanguages": "Languages", "TabAppSettings": "App Settings", - "LabelEnableThemeSongs": "Enable theme songs", - "LabelEnableBackdrops": "Enable backdrops", - "LabelEnableThemeSongsHelp": "If enabled, theme songs will be played in the background while browsing the library.", - "LabelEnableBackdropsHelp": "If enabled, backdrops will be displayed in the background of some pages while browsing the library.", "HeaderHomePage": "Home Page", "OptionAuto": "Auto", "OptionYes": "Yes", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", "ButtonStopRecording": "Stop Recording", "StopRecording": "Stop recording", - "CancelSeries": "Cancel series" + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 480043e85e..ef9b5623b2 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/fi.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/fi.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "Edellinen", "LabelFinish": "Valmis", "LabelNext": "Seuraava", @@ -25,6 +24,7 @@ "LabelPinCode": "Pin code:", "DeleteMedia": "Delete media", "HeaderSync": "Sync", + "HeaderPlayAll": "Play All", "HeaderUpcomingNews": "Upcoming News", "ButtonOk": "Ok", "ButtonCancel": "Lopeta", @@ -485,9 +485,6 @@ "HeaderResult": "Result", "OptionOverwriteExistingEpisodes": "Overwrite existing episodes", "LabelTransferMethod": "Transfer method", - "OptionCopy": "Copy", - "OptionMove": "Move", - "LabelTransferMethodHelp": "Copy or move files from the watch folder", "HeaderLatestNews": "Latest News", "HeaderRunningTasks": "Running Tasks", "HeaderActiveDevices": "Active Devices", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "No available plugins.", "LabelDisplayPluginsFor": "Display plugins for:", "PluginTabAppClassic": "Emby for Windows Media Center", - "LabelEpisodeNamePlain": "Episode name", - "LabelSeriesNamePlain": "Series name", - "ValueSeriesNamePeriod": "Series.name", - "ValueSeriesNameUnderscore": "Series_name", - "ValueEpisodeNamePeriod": "Episode.name", - "ValueEpisodeNameUnderscore": "Episode_name", - "LabelSeasonNumberPlain": "Season number", - "LabelEpisodeNumberPlain": "Episode number", - "LabelEndingEpisodeNumberPlain": "Ending episode number", "HeaderTypeText": "Enter Text", "LabelTypeText": "Text", "TabDisplay": "Display", "TabLanguages": "Languages", "TabAppSettings": "App Settings", - "LabelEnableThemeSongs": "Enable theme songs", - "LabelEnableBackdrops": "Enable backdrops", - "LabelEnableThemeSongsHelp": "If enabled, theme songs will be played in the background while browsing the library.", - "LabelEnableBackdropsHelp": "If enabled, backdrops will be displayed in the background of some pages while browsing the library.", "HeaderHomePage": "Home Page", "OptionAuto": "Auto", "OptionYes": "Yes", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", "ButtonStopRecording": "Stop Recording", "StopRecording": "Stop recording", - "CancelSeries": "Cancel series" + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 e524402bd7..6a4fe7424b 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/fr-CA.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/fr-CA.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "Pr\u00e9c\u00e9dent", "LabelFinish": "Terminer", "LabelNext": "Suivant", @@ -25,6 +24,7 @@ "LabelPinCode": "Pin code:", "DeleteMedia": "Delete media", "HeaderSync": "Sync", + "HeaderPlayAll": "Play All", "HeaderUpcomingNews": "Upcoming News", "ButtonOk": "Ok", "ButtonCancel": "Cancel", @@ -485,9 +485,6 @@ "HeaderResult": "Result", "OptionOverwriteExistingEpisodes": "Overwrite existing episodes", "LabelTransferMethod": "Transfer method", - "OptionCopy": "Copy", - "OptionMove": "Move", - "LabelTransferMethodHelp": "Copy or move files from the watch folder", "HeaderLatestNews": "Latest News", "HeaderRunningTasks": "Running Tasks", "HeaderActiveDevices": "Active Devices", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "No available plugins.", "LabelDisplayPluginsFor": "Display plugins for:", "PluginTabAppClassic": "Emby for Windows Media Center", - "LabelEpisodeNamePlain": "Episode name", - "LabelSeriesNamePlain": "Series name", - "ValueSeriesNamePeriod": "Series.name", - "ValueSeriesNameUnderscore": "Series_name", - "ValueEpisodeNamePeriod": "Episode.name", - "ValueEpisodeNameUnderscore": "Episode_name", - "LabelSeasonNumberPlain": "Season number", - "LabelEpisodeNumberPlain": "Episode number", - "LabelEndingEpisodeNumberPlain": "Ending episode number", "HeaderTypeText": "Enter Text", "LabelTypeText": "Text", "TabDisplay": "Display", "TabLanguages": "Languages", "TabAppSettings": "App Settings", - "LabelEnableThemeSongs": "Enable theme songs", - "LabelEnableBackdrops": "Enable backdrops", - "LabelEnableThemeSongsHelp": "If enabled, theme songs will be played in the background while browsing the library.", - "LabelEnableBackdropsHelp": "If enabled, backdrops will be displayed in the background of some pages while browsing the library.", "HeaderHomePage": "Home Page", "OptionAuto": "Auto", "OptionYes": "Yes", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", "ButtonStopRecording": "Stop Recording", "StopRecording": "Stop recording", - "CancelSeries": "Cancel series" + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 28c150123d..b81db02d19 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/fr.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/fr.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Lire tout", "LabelPrevious": "Pr\u00e9c\u00e9dent", "LabelFinish": "Terminer", "LabelNext": "Suivant", @@ -8,7 +7,7 @@ "ThisWizardWillGuideYou": "Cet assistant vous guidera dans le processus de configuration. Pour commencer, merci de s\u00e9lectionner votre langue pr\u00e9f\u00e9r\u00e9e.", "TellUsAboutYourself": "Parlez-nous de vous", "ButtonQuickStartGuide": "Guide de d\u00e9marrage rapide", - "LabelYourFirstName": "Votre pr\u00e9nom:", + "LabelYourFirstName": "Votre pr\u00e9nom :", "MoreUsersCanBeAddedLater": "D'autres utilisateurs pourront \u00eatre ajout\u00e9s ult\u00e9rieurement \u00e0 partir du tableau de bord.", "UserProfilesIntro": "Emby supporte nativement les profils utilisateurs, permettant \u00e0 chaque utilisateur d'avoir ses propres pr\u00e9f\u00e9rences d'affichage, sauvegarde de l'\u00e9tat de lecture et contr\u00f4le parental.", "WizardCompleted": "C'est tout ce dont nous avons besoin pour l'instant. Emby a commenc\u00e9 \u00e0 collecter les informations de votre m\u00e9diath\u00e8que. Jetez un coup d'\u0153il \u00e0 quelques-unes de nos applications, puis cliquez sur Terminer<\/b> pour consulter le Tableau de bord du serveur<\/b>.", @@ -25,6 +24,7 @@ "LabelPinCode": "Code PIN\u00a0:", "DeleteMedia": "Supprimer le m\u00e9dia", "HeaderSync": "Synchroniser", + "HeaderPlayAll": "Tout lire", "HeaderUpcomingNews": "Actualit\u00e9s \u00e0 venir", "ButtonOk": "Ok", "ButtonCancel": "Annuler", @@ -485,9 +485,6 @@ "HeaderResult": "R\u00e9sultat", "OptionOverwriteExistingEpisodes": "Remplacer les \u00e9pisodes existants", "LabelTransferMethod": "M\u00e9thode de transfert", - "OptionCopy": "Copier", - "OptionMove": "D\u00e9placer", - "LabelTransferMethodHelp": "Copier ou d\u00e9placer des fichiers du dossier surveill\u00e9", "HeaderLatestNews": "Actualit\u00e9s r\u00e9centes", "HeaderRunningTasks": "T\u00e2ches en cours d'ex\u00e9cution", "HeaderActiveDevices": "Appareils actifs", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "Aucune extension disponible.", "LabelDisplayPluginsFor": "Afficher les extensions pour :", "PluginTabAppClassic": "Emby pour Windows Media Center", - "LabelEpisodeNamePlain": "Nom de l'\u00e9pisode", - "LabelSeriesNamePlain": "Nom de la s\u00e9rie", - "ValueSeriesNamePeriod": "Series.nom", - "ValueSeriesNameUnderscore": "Series_nom", - "ValueEpisodeNamePeriod": "Episode.nom", - "ValueEpisodeNameUnderscore": "Episode_name", - "LabelSeasonNumberPlain": "Num\u00e9ro de la saison", - "LabelEpisodeNumberPlain": "Num\u00e9ro d'\u00e9pisode", - "LabelEndingEpisodeNumberPlain": "Num\u00e9ro du dernier \u00e9pisode", "HeaderTypeText": "Entrer texte", "LabelTypeText": "Texte", "TabDisplay": "Affichage", "TabLanguages": "Langues", "TabAppSettings": "Param\u00e8tres d'application", - "LabelEnableThemeSongs": "Activer les th\u00e8mes musicaux", - "LabelEnableBackdrops": "Activer les images d'arri\u00e8re-plans", - "LabelEnableThemeSongsHelp": "Les th\u00e8mes musicaux seront lus en arri\u00e8re-plan pendant la navigation dans la m\u00e9diath\u00e8que.", - "LabelEnableBackdropsHelp": "Les images d'arri\u00e8re-plan seront affich\u00e9es sur certaines pages pendant la navigation dans la m\u00e9diath\u00e8que.", "HeaderHomePage": "Accueil", "OptionAuto": "Automatique", "OptionYes": "Oui", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Les sous-titres int\u00e9gr\u00e9s peuvent \u00eatre extraits des vid\u00e9os et distribu\u00e9s aux applications Emby au format texte pour \u00e9viter le transcodage. Sur certains syst\u00e8mes, cela peut prendre du temps et arr\u00eater la lecture de la vid\u00e9o pendant le processus d'extraction. D\u00e9sactiver cette option pour graver les sous-titres avec un transcodage quand l'appareil ne les prend pas en charge nativement.", "ButtonStopRecording": "Arr\u00eater l'enregistrement", "StopRecording": "Arr\u00eater l'enregistrement", - "CancelSeries": "Annuler la s\u00e9rie" + "CancelSeries": "Annuler la s\u00e9rie", + "EnableDebugLoggingHelp": "La journalisation du d\u00e9bogage ne devrait seulement \u00eatre activ\u00e9e au besoin \u00e0 des fins de d\u00e9pannage. L'augmentation de l'acc\u00e8s au syst\u00e8me de fichiers peut emp\u00eacher le serveur de tomber en veille sur certains environnements." } \ 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 ebfb1d0966..dec2044a8c 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/gsw.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/gsw.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "Vorher", "LabelFinish": "Beende", "LabelNext": "N\u00f6chst", @@ -25,6 +24,7 @@ "LabelPinCode": "Pin Code:", "DeleteMedia": "Delete media", "HeaderSync": "synchronisiere", + "HeaderPlayAll": "Play All", "HeaderUpcomingNews": "Upcoming News", "ButtonOk": "OK", "ButtonCancel": "Abbreche", @@ -485,9 +485,6 @@ "HeaderResult": "Result", "OptionOverwriteExistingEpisodes": "Overwrite existing episodes", "LabelTransferMethod": "Transfer method", - "OptionCopy": "Copy", - "OptionMove": "Move", - "LabelTransferMethodHelp": "Copy or move files from the watch folder", "HeaderLatestNews": "Latest News", "HeaderRunningTasks": "Running Tasks", "HeaderActiveDevices": "Active Devices", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "No available plugins.", "LabelDisplayPluginsFor": "Display plugins for:", "PluginTabAppClassic": "Emby for Windows Media Center", - "LabelEpisodeNamePlain": "Episode name", - "LabelSeriesNamePlain": "Series name", - "ValueSeriesNamePeriod": "Series.name", - "ValueSeriesNameUnderscore": "Series_name", - "ValueEpisodeNamePeriod": "Episode.name", - "ValueEpisodeNameUnderscore": "Episode_name", - "LabelSeasonNumberPlain": "Season number", - "LabelEpisodeNumberPlain": "Episode number", - "LabelEndingEpisodeNumberPlain": "Ending episode number", "HeaderTypeText": "Enter Text", "LabelTypeText": "Text", "TabDisplay": "Display", "TabLanguages": "Languages", "TabAppSettings": "App Settings", - "LabelEnableThemeSongs": "Enable theme songs", - "LabelEnableBackdrops": "Enable backdrops", - "LabelEnableThemeSongsHelp": "If enabled, theme songs will be played in the background while browsing the library.", - "LabelEnableBackdropsHelp": "If enabled, backdrops will be displayed in the background of some pages while browsing the library.", "HeaderHomePage": "Home Page", "OptionAuto": "Auto", "OptionYes": "Yes", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", "ButtonStopRecording": "Stop Recording", "StopRecording": "Stop recording", - "CancelSeries": "Cancel series" + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 03bdc7c8b7..158f2fea35 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/he.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/he.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "\u05d4\u05e7\u05d5\u05d3\u05dd", "LabelFinish": "\u05e1\u05d9\u05d9\u05dd", "LabelNext": "\u05d4\u05d1\u05d0", @@ -25,6 +24,7 @@ "LabelPinCode": "\u05e7\u05d5\u05d3 \u05d0\u05d9\u05e9\u05d9", "DeleteMedia": "Delete media", "HeaderSync": "Sync", + "HeaderPlayAll": "Play All", "HeaderUpcomingNews": "Upcoming News", "ButtonOk": "\u05d0\u05e9\u05e8", "ButtonCancel": "\u05d1\u05d8\u05dc", @@ -485,9 +485,6 @@ "HeaderResult": "\u05ea\u05d5\u05e6\u05d0\u05d4", "OptionOverwriteExistingEpisodes": "\u05db\u05ea\u05d5\u05d1 \u05de\u05d7\u05d3\u05e9 \u05e4\u05e8\u05e7\u05d9\u05dd \u05e7\u05d9\u05d9\u05de\u05d9\u05dd", "LabelTransferMethod": "\u05e9\u05d9\u05d8\u05ea \u05d4\u05e2\u05d1\u05e8\u05d4", - "OptionCopy": "\u05d4\u05e2\u05ea\u05e7", - "OptionMove": "\u05d4\u05e2\u05d1\u05e8", - "LabelTransferMethodHelp": "\u05d4\u05e2\u05ea\u05e7 \u05d0\u05d5 \u05d4\u05e2\u05d1\u05e8 \u05e7\u05d1\u05e6\u05d9\u05dd \u05de\u05ea\u05e7\u05d9\u05d9\u05ea \u05d4\u05de\u05e2\u05e7\u05d1", "HeaderLatestNews": "\u05d7\u05d3\u05e9\u05d5\u05ea \u05d0\u05d7\u05e8\u05d5\u05e0\u05d5\u05ea", "HeaderRunningTasks": "\u05de\u05e9\u05d9\u05de\u05d5\u05ea \u05e8\u05e6\u05d5\u05ea", "HeaderActiveDevices": "\u05de\u05db\u05e9\u05d9\u05e8\u05d9\u05dd \u05e4\u05e2\u05d9\u05dc\u05d9\u05dd", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "No available plugins.", "LabelDisplayPluginsFor": "Display plugins for:", "PluginTabAppClassic": "Emby for Windows Media Center", - "LabelEpisodeNamePlain": "Episode name", - "LabelSeriesNamePlain": "Series name", - "ValueSeriesNamePeriod": "Series.name", - "ValueSeriesNameUnderscore": "Series_name", - "ValueEpisodeNamePeriod": "Episode.name", - "ValueEpisodeNameUnderscore": "Episode_name", - "LabelSeasonNumberPlain": "Season number", - "LabelEpisodeNumberPlain": "Episode number", - "LabelEndingEpisodeNumberPlain": "Ending episode number", "HeaderTypeText": "Enter Text", "LabelTypeText": "Text", "TabDisplay": "Display", "TabLanguages": "Languages", "TabAppSettings": "App Settings", - "LabelEnableThemeSongs": "Enable theme songs", - "LabelEnableBackdrops": "Enable backdrops", - "LabelEnableThemeSongsHelp": "If enabled, theme songs will be played in the background while browsing the library.", - "LabelEnableBackdropsHelp": "If enabled, backdrops will be displayed in the background of some pages while browsing the library.", "HeaderHomePage": "Home Page", "OptionAuto": "Auto", "OptionYes": "Yes", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", "ButtonStopRecording": "Stop Recording", "StopRecording": "Stop recording", - "CancelSeries": "Cancel series" + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 24db598d7f..cafc5b2091 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/hi-IN.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/hi-IN.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "\u092a\u093f\u091b\u0932\u093e", "LabelFinish": "\u0938\u092e\u093e\u092a\u094d\u0924", "LabelNext": "\u0905\u0917\u0932\u093e", @@ -25,6 +24,7 @@ "LabelPinCode": "\u092a\u093f\u0928 \u0915\u094b\u0921:", "DeleteMedia": "Delete media", "HeaderSync": "Sync", + "HeaderPlayAll": "Play All", "HeaderUpcomingNews": "Upcoming News", "ButtonOk": "Ok", "ButtonCancel": "Cancel", @@ -485,9 +485,6 @@ "HeaderResult": "Result", "OptionOverwriteExistingEpisodes": "Overwrite existing episodes", "LabelTransferMethod": "Transfer method", - "OptionCopy": "Copy", - "OptionMove": "Move", - "LabelTransferMethodHelp": "Copy or move files from the watch folder", "HeaderLatestNews": "Latest News", "HeaderRunningTasks": "Running Tasks", "HeaderActiveDevices": "Active Devices", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "No available plugins.", "LabelDisplayPluginsFor": "Display plugins for:", "PluginTabAppClassic": "Emby for Windows Media Center", - "LabelEpisodeNamePlain": "Episode name", - "LabelSeriesNamePlain": "Series name", - "ValueSeriesNamePeriod": "Series.name", - "ValueSeriesNameUnderscore": "Series_name", - "ValueEpisodeNamePeriod": "Episode.name", - "ValueEpisodeNameUnderscore": "Episode_name", - "LabelSeasonNumberPlain": "Season number", - "LabelEpisodeNumberPlain": "Episode number", - "LabelEndingEpisodeNumberPlain": "Ending episode number", "HeaderTypeText": "Enter Text", "LabelTypeText": "Text", "TabDisplay": "Display", "TabLanguages": "Languages", "TabAppSettings": "App Settings", - "LabelEnableThemeSongs": "Enable theme songs", - "LabelEnableBackdrops": "Enable backdrops", - "LabelEnableThemeSongsHelp": "If enabled, theme songs will be played in the background while browsing the library.", - "LabelEnableBackdropsHelp": "If enabled, backdrops will be displayed in the background of some pages while browsing the library.", "HeaderHomePage": "Home Page", "OptionAuto": "Auto", "OptionYes": "Yes", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", "ButtonStopRecording": "Stop Recording", "StopRecording": "Stop recording", - "CancelSeries": "Cancel series" + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 34e1cae6ca..40d700893e 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/hr.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/hr.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "Prethodni", "LabelFinish": "Kraj", "LabelNext": "Sljede\u0107i", @@ -25,6 +24,7 @@ "LabelPinCode": "PIN:", "DeleteMedia": "Delete media", "HeaderSync": "Sink.", + "HeaderPlayAll": "Play All", "HeaderUpcomingNews": "Upcoming News", "ButtonOk": "U redu", "ButtonCancel": "Odustani", @@ -485,9 +485,6 @@ "HeaderResult": "Rezultat", "OptionOverwriteExistingEpisodes": "Presnimi preko postoje\u0107ih epizoda", "LabelTransferMethod": "Na\u010din prijenosa", - "OptionCopy": "Kopiraj", - "OptionMove": "Premjesti", - "LabelTransferMethodHelp": "Kopiraj ili premjesti datoteke iz mape koju ste postavili da se nadzire", "HeaderLatestNews": "Zadnje vijesti", "HeaderRunningTasks": "Zadatci koji se izvode", "HeaderActiveDevices": "Aktivni ure\u0111aji", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "Nema odgovaraju\u0107ih dodataka.", "LabelDisplayPluginsFor": "Prika\u017ei dodatak za:", "PluginTabAppClassic": "Emby for Windows Media Center", - "LabelEpisodeNamePlain": "Ime epizode", - "LabelSeriesNamePlain": "Ime serije", - "ValueSeriesNamePeriod": "serija.ime", - "ValueSeriesNameUnderscore": "serija_ime", - "ValueEpisodeNamePeriod": "epizoda.ime", - "ValueEpisodeNameUnderscore": "epizoda_ime", - "LabelSeasonNumberPlain": "Broj sezone", - "LabelEpisodeNumberPlain": "Broj epizode", - "LabelEndingEpisodeNumberPlain": "Broj kraja epizode", "HeaderTypeText": "Unesite tekst", "LabelTypeText": "Tekst", "TabDisplay": "Prikaz", "TabLanguages": "Jezici", "TabAppSettings": "Postavke aplikacije", - "LabelEnableThemeSongs": "Omogu\u0107i pjesme tema", - "LabelEnableBackdrops": "Omogu\u0107i pozadinu", - "LabelEnableThemeSongsHelp": "Ako je omogu\u0107eno, pjesma teme igrati \u0107e u pozadini tijekom pregledavanja biblioteke.", - "LabelEnableBackdropsHelp": "Ako je omogu\u0107eno, oslikane pozadine \u0107e biti prikazane u pozadini nekih stranica tijekom pregledavanja biblioteke.", "HeaderHomePage": "Po\u010detna stranica", "OptionAuto": "Automatski", "OptionYes": "Da", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", "ButtonStopRecording": "Stop Recording", "StopRecording": "Stop recording", - "CancelSeries": "Cancel series" + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 074507395c..82e68674c5 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/hu.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/hu.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "El\u0151z\u0151", "LabelFinish": "Befejez", "LabelNext": "K\u00f6vetkez\u0151", @@ -25,6 +24,7 @@ "LabelPinCode": "Pin k\u00f3d:", "DeleteMedia": "M\u00e9dia t\u00f6rl\u00e9se", "HeaderSync": "Sync", + "HeaderPlayAll": "Play All", "HeaderUpcomingNews": "Upcoming News", "ButtonOk": "Ok", "ButtonCancel": "M\u00e9gsem", @@ -485,9 +485,6 @@ "HeaderResult": "Result", "OptionOverwriteExistingEpisodes": "Overwrite existing episodes", "LabelTransferMethod": "Transfer method", - "OptionCopy": "Copy", - "OptionMove": "Move", - "LabelTransferMethodHelp": "Copy or move files from the watch folder", "HeaderLatestNews": "Friss h\u00edrek", "HeaderRunningTasks": "Fut\u00f3 folyamatok", "HeaderActiveDevices": "Akt\u00edv eszk\u00f6z\u00f6k", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "No available plugins.", "LabelDisplayPluginsFor": "Megjelen\u00edtend\u0151 b\u0151v\u00edtm\u00e9nyek:", "PluginTabAppClassic": "Emby for Windows Media Center", - "LabelEpisodeNamePlain": "Episode name", - "LabelSeriesNamePlain": "Series name", - "ValueSeriesNamePeriod": "Series.name", - "ValueSeriesNameUnderscore": "Series_name", - "ValueEpisodeNamePeriod": "Episode.name", - "ValueEpisodeNameUnderscore": "Episode_name", - "LabelSeasonNumberPlain": "Season number", - "LabelEpisodeNumberPlain": "Epiz\u00f3d sz\u00e1ma", - "LabelEndingEpisodeNumberPlain": "Befejez\u0151 epiz\u00f3d sz\u00e1ma", "HeaderTypeText": "Enter Text", "LabelTypeText": "Text", "TabDisplay": "Megjelen\u00edt\u00e9s", "TabLanguages": "Nyelv", "TabAppSettings": "App Settings", - "LabelEnableThemeSongs": "F\u0151c\u00edm dalok enged\u00e9lyez\u00e9se", - "LabelEnableBackdrops": "H\u00e1tt\u00e9rk\u00e9pek enged\u00e9lyezve", - "LabelEnableThemeSongsHelp": "Ha enged\u00e9lyezve van, a f\u0151c\u00edm dalok a h\u00e1tt\u00e9rben j\u00e1tsz\u00f3dnak le a k\u00f6nyvt\u00e1r b\u00f6ng\u00e9sz\u00e9se k\u00f6zben.", - "LabelEnableBackdropsHelp": "Ha enged\u00e9lyezve van, akkor a h\u00e1tt\u00e9rk\u00e9pek a k\u00f6nyvt\u00e1r b\u00f6ng\u00e9sz\u00e9se k\u00f6zben n\u00e9h\u00e1ny oldal h\u00e1tter\u00e9ben jelennek meg.", "HeaderHomePage": "Kezd\u0151 Oldal", "OptionAuto": "Auto", "OptionYes": "Igen", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", "ButtonStopRecording": "Stop Recording", "StopRecording": "Stop recording", - "CancelSeries": "Cancel series" + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 bd8971ca4b..3c4f0c4b8e 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/id.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/id.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "Sebelumnya", "LabelFinish": "Selesai", "LabelNext": "Berikutnya", @@ -25,6 +24,7 @@ "LabelPinCode": "Kode Pin:", "DeleteMedia": "Delete media", "HeaderSync": "Sync", + "HeaderPlayAll": "Play All", "HeaderUpcomingNews": "Upcoming News", "ButtonOk": "Ok", "ButtonCancel": "Cancel", @@ -485,9 +485,6 @@ "HeaderResult": "Result", "OptionOverwriteExistingEpisodes": "Overwrite existing episodes", "LabelTransferMethod": "Transfer method", - "OptionCopy": "Copy", - "OptionMove": "Move", - "LabelTransferMethodHelp": "Copy or move files from the watch folder", "HeaderLatestNews": "Latest News", "HeaderRunningTasks": "Running Tasks", "HeaderActiveDevices": "Active Devices", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "No available plugins.", "LabelDisplayPluginsFor": "Display plugins for:", "PluginTabAppClassic": "Emby for Windows Media Center", - "LabelEpisodeNamePlain": "Episode name", - "LabelSeriesNamePlain": "Series name", - "ValueSeriesNamePeriod": "Series.name", - "ValueSeriesNameUnderscore": "Series_name", - "ValueEpisodeNamePeriod": "Episode.name", - "ValueEpisodeNameUnderscore": "Episode_name", - "LabelSeasonNumberPlain": "Season number", - "LabelEpisodeNumberPlain": "Episode number", - "LabelEndingEpisodeNumberPlain": "Ending episode number", "HeaderTypeText": "Enter Text", "LabelTypeText": "Text", "TabDisplay": "Display", "TabLanguages": "Languages", "TabAppSettings": "App Settings", - "LabelEnableThemeSongs": "Enable theme songs", - "LabelEnableBackdrops": "Enable backdrops", - "LabelEnableThemeSongsHelp": "If enabled, theme songs will be played in the background while browsing the library.", - "LabelEnableBackdropsHelp": "If enabled, backdrops will be displayed in the background of some pages while browsing the library.", "HeaderHomePage": "Home Page", "OptionAuto": "Auto", "OptionYes": "Yes", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", "ButtonStopRecording": "Stop Recording", "StopRecording": "Stop recording", - "CancelSeries": "Cancel series" + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 457d250427..9c3ab232dc 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/it.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/it.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Riproduci Tutti", "LabelPrevious": "Precedente", "LabelFinish": "Finito", "LabelNext": "Prossimo", @@ -25,6 +24,7 @@ "LabelPinCode": "Codice pin:", "DeleteMedia": "Elimina media", "HeaderSync": "Sinc.", + "HeaderPlayAll": "Riproduci Tutti", "HeaderUpcomingNews": "Notizie in Arrivo", "ButtonOk": "Ok", "ButtonCancel": "Annulla", @@ -485,9 +485,6 @@ "HeaderResult": "Risultato", "OptionOverwriteExistingEpisodes": "Sovrascrivi gli episodi esistenti", "LabelTransferMethod": "Metodo di trasferimento", - "OptionCopy": "Copia", - "OptionMove": "Sposta", - "LabelTransferMethodHelp": "Copia o sposta i file dalla cartella monitorata", "HeaderLatestNews": "Ultime Novit\u00e0", "HeaderRunningTasks": "Operazioni in corso", "HeaderActiveDevices": "Dispositivi Connessi", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "Nessun plugin disponibile.", "LabelDisplayPluginsFor": "Mostra plugin per:", "PluginTabAppClassic": "Emby per Windows Media Center", - "LabelEpisodeNamePlain": "Nome Episodio", - "LabelSeriesNamePlain": "Nome Serie", - "ValueSeriesNamePeriod": "Nome Serie", - "ValueSeriesNameUnderscore": "Nome Serie", - "ValueEpisodeNamePeriod": "Titolo Episodio", - "ValueEpisodeNameUnderscore": "Titolo Episodio", - "LabelSeasonNumberPlain": "Stagione numero", - "LabelEpisodeNumberPlain": "Episodio numero", - "LabelEndingEpisodeNumberPlain": "Numero ultimo episodio", "HeaderTypeText": "Inserisci il testo", "LabelTypeText": "Testo", "TabDisplay": "Schermo", "TabLanguages": "Lingue", "TabAppSettings": "Impostazioni app", - "LabelEnableThemeSongs": "Abilita tema canzoni", - "LabelEnableBackdrops": "Abilita gli sfondi", - "LabelEnableThemeSongsHelp": "Se abiltato le canzoni a tema saranno riprodotte mentre visualizzi la tua libreria", - "LabelEnableBackdropsHelp": "Se abilitato gli sfondi verranno riprodotti mentre visualizzi la tua libreria", "HeaderHomePage": "Pagina Iniziale", "OptionAuto": "Automatico", "OptionYes": "Si", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "I sottotitoli incorporati possono essere estratti dai video e consegnati ad applicazioni Emby in testo semplice per evitare la transcodifica dei video. In alcuni sistemi questo pu\u00f2 richiedere molto tempo e causare un rallentamento della riproduzione video durante il processo di estrazione. Disattivare questa opzione per avere i sottotitoli incorporati con la transcodifica video quando non sono supportati nativamente dal dispositivo client.", "ButtonStopRecording": "Ferma Registrazione", "StopRecording": "Ferma registrazione", - "CancelSeries": "Annulla Serie" + "CancelSeries": "Annulla Serie", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 e1896eec1d..b174960f24 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/kk.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/kk.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "\u0410\u043b\u0434\u044b\u04a3\u0493\u044b", "LabelFinish": "\u0410\u044f\u049b\u0442\u0430\u0443", "LabelNext": "\u041a\u0435\u043b\u0435\u0441\u0456", @@ -25,6 +24,7 @@ "LabelPinCode": "PIN-\u043a\u043e\u0434:", "DeleteMedia": "\u0422\u0430\u0441\u044b\u0493\u044b\u0448\u0434\u0435\u0440\u0435\u043a\u0442\u0456 \u0436\u043e\u044e", "HeaderSync": "\u04ae\u043d\u0434\u0435\u0441\u0442\u0456\u0440\u0443", + "HeaderPlayAll": "\u0411\u04d9\u0440\u0456\u043d \u043e\u0439\u043d\u0430\u0442\u0443", "HeaderUpcomingNews": "\u041a\u04af\u0442\u0456\u043b\u0433\u0435\u043d \u0436\u0430\u04a3\u0430\u043b\u044b\u049b\u0442\u0430\u0440", "ButtonOk": "\u0416\u0430\u0440\u0430\u0439\u0434\u044b", "ButtonCancel": "\u0411\u043e\u043b\u0434\u044b\u0440\u043c\u0430\u0443", @@ -485,9 +485,6 @@ "HeaderResult": "\u041d\u04d9\u0442\u0438\u0436\u0435", "OptionOverwriteExistingEpisodes": "\u0411\u0430\u0440 \u0431\u04e9\u043b\u0456\u043c\u0434\u0435\u0440\u0434\u0456 \u049b\u0430\u0439\u0442\u0430 \u0436\u0430\u0437\u0443", "LabelTransferMethod": "\u0410\u0443\u044b\u0441\u0442\u044b\u0440\u0443 \u04d9\u0434\u0456\u0441\u0456", - "OptionCopy": "\u041a\u04e9\u0448\u0456\u0440\u0443", - "OptionMove": "\u0416\u044b\u043b\u0436\u044b\u0442\u0443", - "LabelTransferMethodHelp": "\u049a\u0430\u0434\u0430\u0493\u0430\u043b\u0430\u0443\u0434\u0430\u0493\u044b \u049b\u0430\u043b\u0442\u0430\u0434\u0430\u043d \u0444\u0430\u0439\u043b\u0434\u0430\u0440\u0434\u044b \u043a\u04e9\u0448\u0456\u0440\u0443 \u043d\u0435 \u0436\u044b\u043b\u0436\u044b\u0442\u0443", "HeaderLatestNews": "\u0415\u04a3 \u043a\u0435\u0439\u0456\u04a3\u0433\u0456 \u0436\u0430\u04a3\u0430\u043b\u044b\u049b\u0442\u0430\u0440", "HeaderRunningTasks": "\u041e\u0440\u044b\u043d\u0434\u0430\u043b\u044b\u043f \u0436\u0430\u0442\u049b\u0430\u043d \u0442\u0430\u043f\u0441\u044b\u0440\u043c\u0430\u043b\u0430\u0440", "HeaderActiveDevices": "\u0411\u0435\u043b\u0441\u0435\u043d\u0434\u0456 \u049b\u04b1\u0440\u044b\u043b\u0493\u044b\u043b\u0430\u0440", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "\u049a\u043e\u043b \u0436\u0435\u0442\u0456\u043c\u0434\u0456 \u043f\u043b\u0430\u0433\u0438\u043d\u0434\u0435\u0440 \u0436\u043e\u049b", "LabelDisplayPluginsFor": "\u041f\u043b\u0430\u0433\u0438\u043d\u0434\u0435\u0440\u0434\u0456 \u043c\u044b\u043d\u0430\u0493\u0430\u043d \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0443:", "PluginTabAppClassic": "WMC \u04af\u0448\u0456\u043d Emby", - "LabelEpisodeNamePlain": "\u0411\u04e9\u043b\u0456\u043c \u0430\u0442\u0430\u0443\u044b", - "LabelSeriesNamePlain": "\u0422\u0435\u043b\u0435\u0445\u0438\u043a\u0430\u044f \u0430\u0442\u0430\u0443\u044b", - "ValueSeriesNamePeriod": "\u0422\u0435\u043b\u0435\u0445\u0438\u043a\u0430\u044f.\u0430\u0442\u0430\u0443\u044b", - "ValueSeriesNameUnderscore": "\u0422\u043e\u043f\u0442\u0430\u043c\u0430_\u0430\u0442\u0430\u0443\u044b", - "ValueEpisodeNamePeriod": "\u0411\u04e9\u043b\u0456\u043c.\u0430\u0442\u044b", - "ValueEpisodeNameUnderscore": "\u0411\u04e9\u043b\u0456\u043c_\u0430\u0442\u044b", - "LabelSeasonNumberPlain": "\u041c\u0430\u0443\u0441\u044b\u043c \u043d\u04e9\u043c\u0456\u0440\u0456", - "LabelEpisodeNumberPlain": "\u0411\u04e9\u043b\u0456\u043c \u043d\u04e9\u043c\u0456\u0440\u0456", - "LabelEndingEpisodeNumberPlain": "\u0410\u044f\u049b\u0442\u0430\u0443\u0448\u044b \u0431\u04e9\u043b\u0456\u043c\u0434\u0456\u04a3 \u043d\u04e9\u043c\u0456\u0440\u0456", "HeaderTypeText": "\u041c\u04d9\u0442\u0456\u043d\u0434\u0456 \u0435\u043d\u0433\u0456\u0437\u0443", "LabelTypeText": "\u041c\u04d9\u0442\u0456\u043d", "TabDisplay": "\u0411\u0435\u0439\u043d\u0435\u043b\u0435\u0443", "TabLanguages": "\u0422\u0456\u043b\u0434\u0435\u0440", "TabAppSettings": "\u049a\u043e\u043b\u0434\u0430\u043d\u0431\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043b\u0435\u0440\u0456", - "LabelEnableThemeSongs": "\u0422\u0430\u049b\u044b\u0440\u044b\u043f\u0442\u044b\u049b \u04d9\u0443\u0435\u043d\u0434\u0435\u0440\u0434\u0456 \u049b\u043e\u0441\u0443", - "LabelEnableBackdrops": "\u0410\u0440\u0442\u049b\u044b \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440\u0434\u0456 \u049b\u043e\u0441\u0443", - "LabelEnableThemeSongsHelp": "\u049a\u043e\u0441\u044b\u043b\u0493\u0430\u043d\u0434\u0430, \u0442\u0430\u0441\u044b\u0493\u044b\u0448\u0445\u0430\u043d\u0430\u043d\u044b \u0448\u043e\u043b\u0443 \u043a\u0435\u0437\u0456\u043d\u0434\u0435 \u0442\u0430\u049b\u044b\u0440\u044b\u043f\u0442\u044b\u049b \u04d9\u0443\u0435\u043d\u0434\u0435\u0440 \u04e9\u04a3\u0434\u0435 \u043e\u0439\u043d\u0430\u0442\u044b\u043b\u0430\u0434\u044b.", - "LabelEnableBackdropsHelp": "\u049a\u043e\u0441\u044b\u043b\u0493\u0430\u043d\u0434\u0430, \u0430\u0440\u0442\u049b\u044b \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440 \u0442\u0430\u0441\u044b\u0493\u044b\u0448\u0445\u0430\u043d\u0430\u043d\u044b \u0448\u043e\u043b\u0443 \u043a\u0435\u0437\u0456\u043d\u0434\u0435 \u043a\u0435\u0439\u0431\u0456\u0440 \u0431\u0435\u0442\u0442\u0435\u0440\u0434\u0435 \u04e9\u04a3\u0434\u0435 \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u043d\u0435\u0434\u0456.", "HeaderHomePage": "\u0411\u0430\u0441\u0442\u044b \u0431\u0435\u0442", "OptionAuto": "\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0442\u044b", "OptionYes": "\u0418\u04d9", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "\u0411\u0435\u0439\u043d\u0435 \u049b\u0430\u0439\u0442\u0430 \u043a\u043e\u0434\u0442\u0430\u0443\u044b\u043d\u0430 \u0442\u0438\u044b\u043c \u0441\u0430\u043b\u0443\u0493\u0430 \u043a\u04e9\u043c\u0435\u043a\u0442\u0435\u0441\u0443 \u04af\u0448\u0456\u043d \u0435\u043d\u0434\u0456\u0440\u0456\u043b\u0433\u0435\u043d \u0441\u0443\u0431\u0442\u0438\u0442\u0440\u043b\u0435\u0440 \u0431\u0435\u0439\u043d\u0435\u0434\u0435\u043d \u0448\u044b\u0493\u0430\u0440\u044b\u043b\u044b\u043f, Emby \u049b\u043e\u043b\u0434\u0430\u043d\u0431\u0430\u043b\u0430\u0440\u044b\u043d\u0430 \u043a\u04d9\u0434\u0456\u043c\u0433\u0456 \u043c\u04d9\u0442\u0456\u043d\u0433\u0435 \u043f\u0456\u0448\u0456\u043c\u0456\u043d\u0434\u0435 \u0436\u0435\u0442\u043a\u0456\u0437\u0456\u043b\u0443 \u043c\u04af\u043c\u043a\u0456\u043d. \u041a\u0435\u0439\u0431\u0456\u0440 \u0436\u04af\u0439\u0435\u043b\u0435\u0440\u0434\u0435 \u0431\u04b1\u0493\u0430\u043d \u04b1\u0437\u0430\u049b \u0443\u0430\u049b\u044b\u0442 \u043a\u0435\u0442\u0443\u0456 \u0436\u04d9\u043d\u0435 \u0448\u044b\u0493\u0430\u0440\u0443 \u04af\u0440\u0434\u0456\u0441\u0456 \u0431\u0430\u0440\u044b\u0441\u044b\u043d\u0434\u0430 \u0431\u0435\u0439\u043d\u0435 \u043e\u0439\u043d\u0430\u0442\u0443 \u0442\u043e\u049b\u0442\u0430\u0442\u044b\u043b\u0443\u044b \u043c\u04af\u043c\u043a\u0456\u043d. \u0422\u04b1\u0442\u044b\u043d\u0493\u044b\u0448 \u049b\u04b1\u0440\u044b\u043b\u0493\u044b\u0434\u0430 \u043e\u043b\u0430\u0440\u0493\u0430 \u049b\u043e\u043b\u0434\u0430\u0443 \u043a\u04e9\u0440\u0441\u0435\u0442\u0456\u043b\u043c\u0435\u0433\u0435\u043d \u043a\u0435\u0437\u0434\u0435, \u0431\u0435\u0439\u043d\u0435 \u049b\u0430\u0439\u0442\u0430 \u043a\u043e\u0434\u0442\u0430\u043b\u0443 \u0430\u0440\u049b\u044b\u043b\u044b \u0435\u043d\u0434\u0456\u0440\u0456\u043b\u0433\u0435\u043d \u0441\u0443\u0431\u0442\u0438\u0442\u0440\u043b\u0435\u0440 \u0436\u0430\u0437\u044b\u043b\u0443\u044b \u04af\u0448\u0456\u043d \u043e\u043d\u044b \u04e9\u0448\u0456\u0440\u0456\u04a3\u0456\u0437.", "ButtonStopRecording": "\u0416\u0430\u0437\u0443\u0434\u044b \u0442\u043e\u049b\u0442\u0430\u0442\u0443", "StopRecording": "\u0416\u0430\u0437\u0443\u0434\u044b \u0442\u043e\u049b\u0442\u0430\u0442\u0443", - "CancelSeries": "\u0422\u0435\u043b\u0435\u0445\u0438\u043a\u0430\u044f\u043d\u044b \u0431\u043e\u043b\u0434\u044b\u0440\u043c\u0430\u0443" + "CancelSeries": "\u0422\u0435\u043b\u0435\u0445\u0438\u043a\u0430\u044f\u043d\u044b \u0431\u043e\u043b\u0434\u044b\u0440\u043c\u0430\u0443", + "EnableDebugLoggingHelp": "\u0410\u049b\u0430\u0443\u043b\u044b\u049b\u0442\u0430\u0440\u0434\u044b \u0436\u043e\u044e \u0436\u0443\u0440\u043d\u0430\u043b\u044b\u043d \u0442\u0435\u043a \u049b\u0430\u0436\u0435\u0442 \u0431\u043e\u043b\u0493\u0430\u043d \u0436\u0430\u0493\u0434\u0430\u0439\u0434\u0430 \u049b\u043e\u0441\u0443 \u043a\u0435\u0440\u0435\u043a. \u0424\u0430\u0439\u043b\u0434\u044b\u049b \u0436\u04af\u0439\u0435\u0433\u0435 \u049b\u0430\u0442\u044b\u043d\u0430\u0443 \u043a\u04e9\u0431\u0435\u044e\u0456 \u043a\u0435\u0439\u0431\u0456\u0440 \u043e\u0440\u0442\u0430\u043b\u0430\u0440\u0434\u0430 \u0441\u0435\u0440\u0432\u0435\u0440 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0456\u043d\u0435 \u04b1\u0439\u044b\u049b\u0442\u0430\u0443\u0493\u0430 \u0436\u043e\u043b \u0431\u0435\u0440\u043c\u0435\u0439\u0434\u0456." } \ 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 c64c365a49..c2a2f9fe56 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/ko.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/ko.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "\uc774\uc804", "LabelFinish": "\ub05d\ub0b4\uae30", "LabelNext": "\ub2e4\uc74c", @@ -25,6 +24,7 @@ "LabelPinCode": "PIN \ucf54\ub4dc:", "DeleteMedia": "\ubbf8\ub514\uc5b4 \uc9c0\uc6b0\uae30", "HeaderSync": "\ub3d9\uae30\ud654", + "HeaderPlayAll": "Play All", "HeaderUpcomingNews": "Upcoming News", "ButtonOk": "OK", "ButtonCancel": "\ucde8\uc18c", @@ -485,9 +485,6 @@ "HeaderResult": "\uacb0\uacfc", "OptionOverwriteExistingEpisodes": "\ud604\uc7ac \uc5d0\ud53c\uc18c\ub4dc \ub36e\uc5b4\uc4f0\uae30", "LabelTransferMethod": "Transfer method", - "OptionCopy": "\ubcf5\uc0ac", - "OptionMove": "\uc774\ub3d9", - "LabelTransferMethodHelp": "\uac10\uc2dc \ud3f4\ub354\uc5d0\uc11c \ubcf5\uc0ac \ub610\ub294 \uc774\ub3d9", "HeaderLatestNews": "\ucd5c\uadfc \ub274\uc2a4", "HeaderRunningTasks": "\uc2e4\ud589\uc911\uc778 \uc791\uc5c5", "HeaderActiveDevices": "\ud65c\uc131 \uae30\uae30", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "No available plugins.", "LabelDisplayPluginsFor": "Display plugins for:", "PluginTabAppClassic": "Emby for Windows Media Center", - "LabelEpisodeNamePlain": "\uc5d0\ud53c\uc18c\ub4dc \uc81c\ubaa9", - "LabelSeriesNamePlain": "\uc2dc\ub9ac\uc988 \uc81c\ubaa9", - "ValueSeriesNamePeriod": "\uc2dc\ub9ac\uc988.\uc81c\ubaa9", - "ValueSeriesNameUnderscore": "\uc2dc\ub9ac\uc988_\uc81c\ubaa9", - "ValueEpisodeNamePeriod": "\uc5d0\ud53c\uc18c\ub4dc.\uc81c\ubaa9", - "ValueEpisodeNameUnderscore": "\uc5d0\ud53c\uc18c\ub4dc_\uc81c\ubaa9", - "LabelSeasonNumberPlain": "\uc2dc\uc98c \ubc88\ud638", - "LabelEpisodeNumberPlain": "\uc5d0\ud53c\uc18c\ub4dc \ubc88\ud638", - "LabelEndingEpisodeNumberPlain": "\ub9c8\uc9c0\ub9c9 \uc5d0\ud53c\uc18c\ub4dc \ubc88\ud638", "HeaderTypeText": "\ud14d\uc2a4\ud2b8 \uc785\ub825", "LabelTypeText": "\ud14d\uc2a4\ud2b8", "TabDisplay": "\ud654\uba74", "TabLanguages": "\uc5b8\uc5b4", "TabAppSettings": "\uc571 \uc124\uc815", - "LabelEnableThemeSongs": "\ud14c\ub9c8 \uc74c\uc545 \uc0ac\uc6a9", - "LabelEnableBackdrops": "\ubc30\uacbd \uc0ac\uc6a9", - "LabelEnableThemeSongsHelp": "\ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \ud0d0\uc0c9\ud560 \ub54c \ud14c\ub9c8\uc74c\uc545\uc744 \uc7ac\uc0dd\ud569\ub2c8\ub2e4.", - "LabelEnableBackdropsHelp": "\ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \ud0d0\uc0c9\ud560 \ub54c \ubc30\uacbd\uc5d0 \uc774\ubbf8\uc9c0\ub97c \ud45c\uc2dc\ud569\ub2c8\ub2e4.", "HeaderHomePage": "\ud648 \ud398\uc774\uc9c0", "OptionAuto": "\uc790\ub3d9", "OptionYes": "\uc608", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", "ButtonStopRecording": "Stop Recording", "StopRecording": "Stop recording", - "CancelSeries": "Cancel series" + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 bb0514ba8e..c3b2d78507 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/lt-LT.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/lt-LT.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "Ankstesnis", "LabelFinish": "Baigti", "LabelNext": "Kitas", @@ -25,6 +24,7 @@ "LabelPinCode": "Pin kodas:", "DeleteMedia": "Delete media", "HeaderSync": "SInchron.", + "HeaderPlayAll": "Play All", "HeaderUpcomingNews": "Upcoming News", "ButtonOk": "OK", "ButtonCancel": "At\u0161aukti", @@ -485,9 +485,6 @@ "HeaderResult": "Rezultatas", "OptionOverwriteExistingEpisodes": "Ra\u0161yti ant esan\u010di\u0173 serij\u0173", "LabelTransferMethod": "Perk\u0117limo metodas", - "OptionCopy": "Kopijuoti", - "OptionMove": "Perkelti", - "LabelTransferMethodHelp": "Kopijuoti ar perkelti failus i\u0161 steb\u0117jimo katalogo", "HeaderLatestNews": "V\u0117liausios naujienos", "HeaderRunningTasks": "Veikian\u010dios u\u017eduotys", "HeaderActiveDevices": "Aktyv\u016bs \u012frenginiai", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "No available plugins.", "LabelDisplayPluginsFor": "Display plugins for:", "PluginTabAppClassic": "Emby for Windows Media Center", - "LabelEpisodeNamePlain": "Episode name", - "LabelSeriesNamePlain": "Series name", - "ValueSeriesNamePeriod": "Series.name", - "ValueSeriesNameUnderscore": "Series_name", - "ValueEpisodeNamePeriod": "Episode.name", - "ValueEpisodeNameUnderscore": "Episode_name", - "LabelSeasonNumberPlain": "Season number", - "LabelEpisodeNumberPlain": "Episode number", - "LabelEndingEpisodeNumberPlain": "Ending episode number", "HeaderTypeText": "Enter Text", "LabelTypeText": "Text", "TabDisplay": "Display", "TabLanguages": "Languages", "TabAppSettings": "App Settings", - "LabelEnableThemeSongs": "Enable theme songs", - "LabelEnableBackdrops": "Enable backdrops", - "LabelEnableThemeSongsHelp": "If enabled, theme songs will be played in the background while browsing the library.", - "LabelEnableBackdropsHelp": "If enabled, backdrops will be displayed in the background of some pages while browsing the library.", "HeaderHomePage": "Home Page", "OptionAuto": "Auto", "OptionYes": "Yes", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", "ButtonStopRecording": "Stop Recording", "StopRecording": "Stop recording", - "CancelSeries": "Cancel series" + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 8148174c41..b0607e2a5d 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/ms.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/ms.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "Sebelumnya", "LabelFinish": "Habis", "LabelNext": "Seterusnya", @@ -25,6 +24,7 @@ "LabelPinCode": "Pin code:", "DeleteMedia": "Delete media", "HeaderSync": "Sync", + "HeaderPlayAll": "Play All", "HeaderUpcomingNews": "Upcoming News", "ButtonOk": "Ok", "ButtonCancel": "Cancel", @@ -485,9 +485,6 @@ "HeaderResult": "Result", "OptionOverwriteExistingEpisodes": "Overwrite existing episodes", "LabelTransferMethod": "Transfer method", - "OptionCopy": "Copy", - "OptionMove": "Move", - "LabelTransferMethodHelp": "Copy or move files from the watch folder", "HeaderLatestNews": "Latest News", "HeaderRunningTasks": "Running Tasks", "HeaderActiveDevices": "Active Devices", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "No available plugins.", "LabelDisplayPluginsFor": "Display plugins for:", "PluginTabAppClassic": "Emby for Windows Media Center", - "LabelEpisodeNamePlain": "Episode name", - "LabelSeriesNamePlain": "Series name", - "ValueSeriesNamePeriod": "Series.name", - "ValueSeriesNameUnderscore": "Series_name", - "ValueEpisodeNamePeriod": "Episode.name", - "ValueEpisodeNameUnderscore": "Episode_name", - "LabelSeasonNumberPlain": "Season number", - "LabelEpisodeNumberPlain": "Episode number", - "LabelEndingEpisodeNumberPlain": "Ending episode number", "HeaderTypeText": "Enter Text", "LabelTypeText": "Text", "TabDisplay": "Display", "TabLanguages": "Languages", "TabAppSettings": "App Settings", - "LabelEnableThemeSongs": "Enable theme songs", - "LabelEnableBackdrops": "Enable backdrops", - "LabelEnableThemeSongsHelp": "If enabled, theme songs will be played in the background while browsing the library.", - "LabelEnableBackdropsHelp": "If enabled, backdrops will be displayed in the background of some pages while browsing the library.", "HeaderHomePage": "Home Page", "OptionAuto": "Auto", "OptionYes": "Yes", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", "ButtonStopRecording": "Stop Recording", "StopRecording": "Stop recording", - "CancelSeries": "Cancel series" + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 8d1f2c3a65..0ea4b8e693 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/nb.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/nb.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "Forrige", "LabelFinish": "Ferdig", "LabelNext": "Neste", @@ -25,6 +24,7 @@ "LabelPinCode": "Pin kode:", "DeleteMedia": "Slett media", "HeaderSync": "Synk.", + "HeaderPlayAll": "Play All", "HeaderUpcomingNews": "Kommende nyheter", "ButtonOk": "Ok", "ButtonCancel": "Avbryt", @@ -485,9 +485,6 @@ "HeaderResult": "Resultat", "OptionOverwriteExistingEpisodes": "Skriv over eksisterende episoder", "LabelTransferMethod": "overf\u00f8ringsmetoder", - "OptionCopy": "Kopier", - "OptionMove": "Flytt", - "LabelTransferMethodHelp": "Kopier eller flytt filer fra watch mappen", "HeaderLatestNews": "Siste nyheter", "HeaderRunningTasks": "Kj\u00f8rende oppgaver", "HeaderActiveDevices": "Aktive enheter", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "Ingen tilgjengelige programtillegg.", "LabelDisplayPluginsFor": "Vis plugins for:", "PluginTabAppClassic": "Emby for Windows Media Center", - "LabelEpisodeNamePlain": "Episodenavn", - "LabelSeriesNamePlain": "Serienavn", - "ValueSeriesNamePeriod": "Serier.navn", - "ValueSeriesNameUnderscore": "Serie_navn", - "ValueEpisodeNamePeriod": "Episode.navn", - "ValueEpisodeNameUnderscore": "Episode_navn", - "LabelSeasonNumberPlain": "Sesong nummer", - "LabelEpisodeNumberPlain": "Episode nummer", - "LabelEndingEpisodeNumberPlain": "Siste episode nummer", "HeaderTypeText": "Skriv Tekst", "LabelTypeText": "Tekst", "TabDisplay": "Skjerm", "TabLanguages": "Spr\u00e5k", "TabAppSettings": "App-innstillinger", - "LabelEnableThemeSongs": "Sl\u00e5 p\u00e5 tema sanger", - "LabelEnableBackdrops": "Sl\u00e5 p\u00e5 backdrops", - "LabelEnableThemeSongsHelp": "Hvis p\u00e5sl\u00e5tt vil tema sanger bli avspilt i bakgrunnen mens man blar igjennom biblioteket.", - "LabelEnableBackdropsHelp": "Hvis p\u00e5sl\u00e5tt vil backdrops bli vist i bakgrunnen p\u00e5 noen sider mens man blar igjennom biblioteket.", "HeaderHomePage": "Hjemmeside", "OptionAuto": "Auto", "OptionYes": "Ja", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", "ButtonStopRecording": "Stop Recording", "StopRecording": "Stop recording", - "CancelSeries": "Cancel series" + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 8864b8db03..7d84c4b299 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/nl.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/nl.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "Vorige", "LabelFinish": "Voltooien", "LabelNext": "Volgende", @@ -25,6 +24,7 @@ "LabelPinCode": "Pincode:", "DeleteMedia": "Verwijder media", "HeaderSync": "Sync", + "HeaderPlayAll": "Play All", "HeaderUpcomingNews": "Aankomende Nieuws", "ButtonOk": "Ok", "ButtonCancel": "Annuleren", @@ -485,9 +485,6 @@ "HeaderResult": "Resulteert in:", "OptionOverwriteExistingEpisodes": "Bestaande afleveringen overschrijven", "LabelTransferMethod": "Verplaats methode", - "OptionCopy": "Kopie", - "OptionMove": "Verplaats", - "LabelTransferMethodHelp": "Bestanden kopi\u00ebren of verplaatsen van de bewaakte map", "HeaderLatestNews": "Nieuws", "HeaderRunningTasks": "Actieve taken", "HeaderActiveDevices": "Actieve apparaten", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "Geen beschikbare Plugins.", "LabelDisplayPluginsFor": "Toon Plugins voor:", "PluginTabAppClassic": "Emby voor Windows Media Center", - "LabelEpisodeNamePlain": "Naam aflevering", - "LabelSeriesNamePlain": "Naam serie", - "ValueSeriesNamePeriod": "Serie.Naam", - "ValueSeriesNameUnderscore": "Serie_naam", - "ValueEpisodeNamePeriod": "Aflevering.naam", - "ValueEpisodeNameUnderscore": "Aflevering_naam", - "LabelSeasonNumberPlain": "nummer seizoen", - "LabelEpisodeNumberPlain": "Nummer aflevering", - "LabelEndingEpisodeNumberPlain": "Laatste nummer aflevering", "HeaderTypeText": "Voer tekst in", "LabelTypeText": "Tekst", "TabDisplay": "Weergave", "TabLanguages": "Talen", "TabAppSettings": "App Instellingen", - "LabelEnableThemeSongs": "Herkenningsmelodie inschakelen:", - "LabelEnableBackdrops": "Achtergronden inschakelen:", - "LabelEnableThemeSongsHelp": "Indien ingeschakeld, zal de herkenningsmelodie in de achtergrond worden afgespeeld tijdens het bladeren door de bibliotheek.", - "LabelEnableBackdropsHelp": "Indien ingeschakeld, zullen achtergrondafbeeldingen in de achtergrond worden getoond van een aantal pagina's tijdens het browsen door de bibliotheek.", "HeaderHomePage": "Startpagina", "OptionAuto": "Auto", "OptionYes": "Ja", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", "ButtonStopRecording": "Stop Opname", "StopRecording": "Stop opname", - "CancelSeries": "Cancel series" + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 b73303f99d..fd3ffe7d8f 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/pl.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/pl.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Odtwarzaj wszystko", "LabelPrevious": "Wstecz", "LabelFinish": "Zako\u0144cz", "LabelNext": "Dalej", @@ -25,6 +24,7 @@ "LabelPinCode": "Kod PIN:", "DeleteMedia": "Usu\u0144 pozycj\u0119", "HeaderSync": "Synchronizacja", + "HeaderPlayAll": "Odtwarzaj wszystko", "HeaderUpcomingNews": "Nadchodz\u0105ce nowo\u015bci", "ButtonOk": "Ok", "ButtonCancel": "Anuluj", @@ -115,7 +115,7 @@ "ButtonAddUser": "Dodaj u\u017cytkownika", "ButtonInviteUser": "Zapro\u015b u\u017cytkownika", "ButtonSave": "Zapisz", - "ButtonResetPassword": "Zresetuj has\u0142o", + "ButtonResetPassword": "Wyczy\u015b\u0107 has\u0142o", "LabelUrl": "Adres URL:", "LabelNewPassword": "Nowe has\u0142o:", "LabelNewPasswordConfirm": "Potwierd\u017a nowe has\u0142o:", @@ -485,9 +485,6 @@ "HeaderResult": "Wynik", "OptionOverwriteExistingEpisodes": "Nadpisuj istniej\u0105ce odcinki", "LabelTransferMethod": "Metoda transferu", - "OptionCopy": "Kopiuj", - "OptionMove": "Przenie\u015b", - "LabelTransferMethodHelp": "Kopiuj lub przenie\u015b pliki z obserwowanego folderu", "HeaderLatestNews": "Najnowsze wiadomo\u015bci", "HeaderRunningTasks": "Uruchomione zadania", "HeaderActiveDevices": "Aktywne Urz\u0105dzenia", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "Brak dost\u0119pnych wtyczek.", "LabelDisplayPluginsFor": "Wy\u015bwietlaj wtyczki dla:", "PluginTabAppClassic": "Emby dla Windows Media Center", - "LabelEpisodeNamePlain": "Nazwa odcinka", - "LabelSeriesNamePlain": "Nazwa serialu", - "ValueSeriesNamePeriod": "Serial.nazwa", - "ValueSeriesNameUnderscore": "Serial_nazwa", - "ValueEpisodeNamePeriod": "Odcinek.nazwa", - "ValueEpisodeNameUnderscore": "Odcinek_nazwa", - "LabelSeasonNumberPlain": "Numer sezonu", - "LabelEpisodeNumberPlain": "Numer odcinka", - "LabelEndingEpisodeNumberPlain": "Numer ostatniego odcinka", "HeaderTypeText": "Wprowad\u017a tekst", "LabelTypeText": "Tekst", "TabDisplay": "Wy\u015bwietlanie", "TabLanguages": "J\u0119zyki", "TabAppSettings": "Ustawienia aplikacji", - "LabelEnableThemeSongs": "Aktywuj motywy muzyczne", - "LabelEnableBackdrops": "Aktywuj fototapety", - "LabelEnableThemeSongsHelp": "Je\u017celi aktywne, podczas przegl\u0105dania biblioteki, b\u0119d\u0105 odtwarzane motywy muzyczne.", - "LabelEnableBackdropsHelp": "Je\u017celi aktywne,podczas przegl\u0105dania biblioteki, dla niekt\u00f3rych stron b\u0119d\u0105 wy\u015bwietlane fototapety tematyczne.", "HeaderHomePage": "Strona startowa", "OptionAuto": "Automatycznie", "OptionYes": "Tak", @@ -871,7 +855,7 @@ "LabelInNetworkSignInWithEasyPasswordHelp": "Je\u017celi w\u0142\u0105czone, b\u0119dzie mo\u017cliwe u\u017cywanie prostego kodu PIN, w celu logowania do aplikacji Emby, wewn\u0105trz swojej sieci domowej. Twoje standardowe has\u0142o b\u0119dzie potrzebne tylko z dala od domu. Je\u017celi kod PIN jest pusty, nie b\u0119dziesz musia\u0142 podawa\u0107 has\u0142a w sieci domowej.", "HeaderPassword": "Has\u0142o", "HeaderViewOrder": "Zobacz kolejno\u015b\u0107", - "ButtonResetEasyPassword": "Reset \u0142atwego kodu pin", + "ButtonResetEasyPassword": "Wyczy\u015b\u0107 \u0142atwy kod PIN", "HeaderPersonInfo": "Informacje o osobie", "HeaderConfirmDeletion": "Potwierd\u017a usuni\u0119cie", "LabelAlbumArtist": "Wykonawca albumu:", @@ -1010,9 +994,9 @@ "Invitations": "Zaproszenia", "LabelForgotPasswordUsernameHelp": "Podaj nazw\u0119 u\u017cytkownika, je\u015bli pami\u0119tasz.", "HeaderForgotPassword": "Zapomnia\u0142em has\u0142o", - "TitlePasswordReset": "Zresetuj has\u0142o", + "TitlePasswordReset": "Czyszczenie has\u0142a", "LabelPasswordRecoveryPinCode": "Kod pin:", - "HeaderPasswordReset": "Zresetuj has\u0142o", + "HeaderPasswordReset": "Czyszczenie has\u0142a", "HeaderParentalRatings": "Kategorie wiekowe", "HeaderVideoTypes": "Typy Video", "HeaderYears": "Lata", @@ -1155,12 +1139,12 @@ "FileReadError": "Podczas odczytywania pliku wyst\u0105pi\u0142 b\u0142\u0105d.", "DeleteUser": "Usu\u0144 u\u017cytkownika", "DeleteUserConfirmation": "Czy na pewno chcesz usun\u0105\u0107 tego u\u017cytkownika?", - "PasswordResetHeader": "Zresetuj has\u0142o", + "PasswordResetHeader": "Wyczy\u015b\u0107 has\u0142o", "PasswordResetComplete": "Has\u0142o zosta\u0142o zresetowane.", - "PinCodeResetComplete": "Kod pin zosta\u0142 zresetowany.", + "PinCodeResetComplete": "Kod PIN zosta\u0142 wyczyszczony.", "PasswordResetConfirmation": "Czy na pewno chcesz wyczy\u015bci\u0107 has\u0142o?", "PinCodeResetConfirmation": "Czy na pewno chcesz wyczy\u015bci\u0107 kod PIN?", - "HeaderPinCodeReset": "Resetuj Kod Pin", + "HeaderPinCodeReset": "Wyczy\u015b\u0107 kod Pin", "PasswordSaved": "Has\u0142o zapisane.", "PasswordMatchError": "Has\u0142o i potwierdzenie has\u0142a musz\u0105 si\u0119 zgadza\u0107.", "UninstallPluginHeader": "Usu\u0144 wtyczk\u0119", @@ -1262,9 +1246,9 @@ "OptionWeekday": "Dni Tygodnia", "LiveTvUpdateAvailable": "(Dost\u0119pna aktualizacja)", "LabelVersionUpToDate": "Aktualny!", - "ButtonResetTuner": "Resetuj tuner", - "HeaderResetTuner": "Resetuj Tuner", - "MessageConfirmResetTuner": "Czy na pewno chcesz zresetowa\u0107 ten tuner? Wszystkie aktywne procesy odtwarzania i nagrywania zostan\u0119 przerwane.", + "ButtonResetTuner": "Zainicjuj tuner ponownie", + "HeaderResetTuner": "Zainicjuj tuner ponownie", + "MessageConfirmResetTuner": "Czy na pewno chcesz zainicjowa\u0107 ten tuner ponownie? Wszystkie aktywne procesy odtwarzania i nagrywania zostan\u0119 przerwane.", "ButtonCancelSeries": "Anuluj nagrywanie serialu", "HeaderSeriesRecordings": "Nagrania seriali", "LabelAnytime": "O dowolnej porze", @@ -1621,10 +1605,10 @@ "DefaultErrorMessage": "Podczas przetwarzania \u017c\u0105dania wyst\u0105pi\u0142 b\u0142\u0105d. Prosz\u0119 spr\u00f3bowa\u0107 ponownie p\u00f3\u017aniej.", "ButtonAccept": "Akceptuj", "ButtonReject": "Odrzu\u0107", - "MessageContactAdminToResetPassword": "Skontaktuj si\u0119 z administratorem systemu w celu zresetowania has\u0142a.", - "MessageForgotPasswordInNetworkRequired": "Spr\u00f3buj ponownie zainicjowa\u0107 reset has\u0142a, tym razem u\u017cywaj\u0105c swojej sieci domowej.", + "MessageContactAdminToResetPassword": "W celu wyczyszczenia has\u0142a. skontaktuj si\u0119 z administratorem systemu.", + "MessageForgotPasswordInNetworkRequired": "Spr\u00f3buj ponownie zainicjowa\u0107 czyszczenie has\u0142a, tym razem u\u017cywaj\u0105c swojej sieci domowej.", "MessageForgotPasswordFileCreated": "Plik zawieraj\u0105cy instrukcje z dalszymi krokami zosta\u0142 utworzony na serwerze:", - "MessageForgotPasswordFileExpiration": "Numer PIN wyga\u015bnie za {0}.", + "MessageForgotPasswordFileExpiration": "Kod resetowania wyga\u015bnie za {0}.", "MessageInvalidForgotPasswordPin": "Nieprawid\u0142owy lub wygas\u0142y PIN. Prosz\u0119 spr\u00f3bowa\u0107 ponownie.", "MessagePasswordResetForUsers": "Has\u0142a nast\u0119puj\u0105cych u\u017cytkownik\u00f3w zosta\u0142y usuni\u0119te. W celu zalogowania, u\u017cyj pustego has\u0142a.", "ButtonLinkMyEmbyAccount": "Po\u0142\u0105cz moje konto teraz", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Napisy wbudowane mog\u0105 zosta\u0107 wyodr\u0119bnione z plik\u00f3w wideo, a Emby mo\u017ce je dostarcza\u0107 w postaci zwyk\u0142ego tekstu, w celu zapobiegania transkodowania wideo. Na niekt\u00f3rych systemach mo\u017ce to zabiera\u0107 du\u017co czasu i powodowa\u0107 wstrzymywanie odtwarzania wideo podczas procesu ekstrakcji. Dezaktywuj t\u0119 opcj\u0119, aby wbudowane napisy by\u0142y wypalane w transkodowanym wideo, w przypadku gdy nie s\u0105 obs\u0142ugiwane przez urz\u0105dzenie klienta.", "ButtonStopRecording": "Zatrzymaj nagrywanie", "StopRecording": "Zatrzymaj nagrywanie", - "CancelSeries": "Anuluj nagrywanie seryjne" + "CancelSeries": "Anuluj nagrywanie seryjne", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 abd8c05900..dcc9e6589f 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/pt-BR.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/pt-BR.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "Anterior", "LabelFinish": "Finalizar", "LabelNext": "Pr\u00f3ximo", @@ -25,6 +24,7 @@ "LabelPinCode": "C\u00f3digo Pin:", "DeleteMedia": "Excluir m\u00eddia", "HeaderSync": "Sincroniza\u00e7\u00e3o", + "HeaderPlayAll": "Play All", "HeaderUpcomingNews": "Pr\u00f3ximas Not\u00edcias", "ButtonOk": "OK", "ButtonCancel": "Cancelar", @@ -485,9 +485,6 @@ "HeaderResult": "Resultado", "OptionOverwriteExistingEpisodes": "Sobrescrever epis\u00f3dios existentes", "LabelTransferMethod": "M\u00e9todo de transfer\u00eancia", - "OptionCopy": "Copiar", - "OptionMove": "Mover", - "LabelTransferMethodHelp": "Copiar ou mover arquivos da pasta de monitora\u00e7\u00e3o", "HeaderLatestNews": "Not\u00edcias Recentes", "HeaderRunningTasks": "Tarefas em Execu\u00e7\u00e3o", "HeaderActiveDevices": "Dispositivos Ativos", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "N\u00e3o existem plugins dispon\u00edveis.", "LabelDisplayPluginsFor": "Exibir plugins para:", "PluginTabAppClassic": "Emby for Windows Media Center", - "LabelEpisodeNamePlain": "Nome do epis\u00f3dio", - "LabelSeriesNamePlain": "Nome da s\u00e9rie", - "ValueSeriesNamePeriod": "Nome.s\u00e9rie", - "ValueSeriesNameUnderscore": "Nome_s\u00e9rie", - "ValueEpisodeNamePeriod": "Nome.epis\u00f3dio", - "ValueEpisodeNameUnderscore": "Nome_epis\u00f3dio", - "LabelSeasonNumberPlain": "N\u00famero da temporada", - "LabelEpisodeNumberPlain": "N\u00famero do epis\u00f3dio", - "LabelEndingEpisodeNumberPlain": "N\u00famero do epis\u00f3dio final", "HeaderTypeText": "Digitar texto", "LabelTypeText": "Texto", "TabDisplay": "Exibi\u00e7\u00e3o", "TabLanguages": "Idiomas", "TabAppSettings": "Configura\u00e7\u00f5es do App", - "LabelEnableThemeSongs": "Ativar m\u00fasicas-tema", - "LabelEnableBackdrops": "Ativar imagens de fundo", - "LabelEnableThemeSongsHelp": "Se ativadas, m\u00fasicas-tema ser\u00e3o reproduzidas em segundo plano ao navegar pela biblioteca.", - "LabelEnableBackdropsHelp": "Se ativadas, imagens de fundo ser\u00e3o exibidas ao fundo de algumas p\u00e1ginas ao navegar pela biblioteca.", "HeaderHomePage": "P\u00e1gina Inicial", "OptionAuto": "Auto", "OptionYes": "Sim", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Legendas gravadas podem ser extra\u00eddas dos v\u00eddeos e entregues \u00e0s apps do Emby como texto puro para ajudar a evitar a transcodifica\u00e7\u00e3o do v\u00eddeo. Em alguns sistemas isto pode levar bastante tempo e causar travamento na reprodu\u00e7\u00e3o do v\u00eddeo durante o processo de extra\u00e7\u00e3o. Desative isto para ter as legendas gravadas com transcodifica\u00e7\u00e3o do v\u00eddeo quando n\u00e3o forem nativamente suportadas pelo dispositivo cliente.", "ButtonStopRecording": "Parar Grava\u00e7\u00e3o", "StopRecording": "Parar grava\u00e7\u00e3o", - "CancelSeries": "Cancelar s\u00e9rie" + "CancelSeries": "Cancelar s\u00e9rie", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 5f6dd06944..09685e8234 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/pt-PT.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/pt-PT.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "Anterior", "LabelFinish": "Terminar", "LabelNext": "Seguinte", @@ -25,6 +24,7 @@ "LabelPinCode": "C\u00f3digo PIN:", "DeleteMedia": "Remover multim\u00e9dia", "HeaderSync": "Sincroniza\u00e7\u00e3o", + "HeaderPlayAll": "Reproduzir Todos", "HeaderUpcomingNews": "Pr\u00f3ximas Not\u00edcias", "ButtonOk": "Ok", "ButtonCancel": "Cancelar", @@ -50,8 +50,8 @@ "RegisterWithPayPal": "Registar com PayPal", "LabelSyncTempPath": "Caminho do ficheiro tempor\u00e1rio:", "LabelSyncTempPathHelp": "Especifique uma pasta de trabalho para a sincroniza\u00e7\u00e3o personalizada. Multim\u00e9dia convertida, criada durante o processo de sincroniza\u00e7\u00e3o, ser\u00e1 aqui armazenada.", - "LabelCustomCertificatePath": "Localiza\u00e7\u00e3o do certificado personalizado:", - "LabelCustomCertificatePathHelp": "Forne\u00e7a seu pr\u00f3prio arquivo .pfx do certificado ssl. Se omitido, o servidor criar\u00e1 um certificado auto-assinado.", + "LabelCustomCertificatePath": "Localiza\u00e7\u00e3o do certificado SSL personalizado:", + "LabelCustomCertificatePathHelp": "Forne\u00e7a o seu pr\u00f3prio ficheiro .pfx do certificado ssl.", "TitleNotifications": "Notifica\u00e7\u00f5es", "OptionDetectArchiveFilesAsMedia": "Detetar ficheiros como multim\u00e9dia", "OptionDetectArchiveFilesAsMediaHelp": "Se ativado, arquivos com extens\u00f5es .rar e .zip ser\u00e3o detectados como arquivos multim\u00e9dia.", @@ -74,7 +74,7 @@ "LabelCountry": "Pa\u00eds:", "LabelLanguage": "Idioma:", "LabelTimeLimitHours": "Limite de tempo (horas):", - "HeaderPreferredMetadataLanguage": "Preferred Metadata Language", + "HeaderPreferredMetadataLanguage": "Idioma Preferencial dos Metadados", "LabelSaveLocalMetadata": "Guardar imagens e metadados nas pastas multim\u00e9dia", "LabelSaveLocalMetadataHelp": "Guardar imagens e metadados diretamente nas pastas multim\u00e9dia, vai coloc\u00e1-los num local de f\u00e1cil acesso para poderem ser editados facilmente.", "LabelDownloadInternetMetadata": "Transferir imagens e metadados da Internet", @@ -108,7 +108,7 @@ "OptionAlwaysPlaySubtitles": "Reproduzir sempre legendas", "OptionDefaultSubtitlesHelp": "As legendas ser\u00e3o carregadas com base nas defini\u00e7\u00f5es de legenda padr\u00e3o e for\u00e7ada nos metadados inseridos. As prefer\u00eancias de idioma s\u00e3o consideradas quando m\u00faltiplas op\u00e7\u00f5es est\u00e3o dispon\u00edveis.", "OptionOnlyForcedSubtitlesHelp": "Apenas legendas marcadas como for\u00e7adas ser\u00e3o carregadas.", - "OptionAlwaysPlaySubtitlesHelp": "As legendas que forem iguais ao idioma preferido ser\u00e3o carregadas independente do idioma do \u00e1udio.", + "OptionAlwaysPlaySubtitlesHelp": "As legendas que forem iguais ao idioma preferencial ser\u00e3o carregadas independente do idioma do \u00e1udio.", "OptionNoSubtitlesHelp": "As legendas n\u00e3o ser\u00e3o carregadas por padr\u00e3o.", "TabProfiles": "Perfis", "TabSecurity": "Seguran\u00e7a", @@ -133,7 +133,7 @@ "MessageNothingHere": "Nada aqui.", "MessagePleaseEnsureInternetMetadata": "Certifique-se que a transfer\u00eancia de metadados da internet est\u00e1 activa.", "AlreadyPaidHelp1": "If you already paid to install an older version of Media Browser for Android, you don't need to pay again in order to activate this app. Click OK to send us an email at {0} and we'll get it activated for you.", - "AlreadyPaidHelp2": "Got Emby Premiere? Just cancel this dialog, setup Emby Premiere in your Emby Server Dashboard under Help -> Emby Premiere, and it will be unlocked automatically.", + "AlreadyPaidHelp2": "Tem o Emby Premiere? cancele esta caixa de di\u00e1logo, configure o Emby Premiere no painel principal do seu servidor Emby em Ajuda -> Emby Premiere e ser\u00e1 desbloqueado autom\u00e1ticamente.", "TabSuggestions": "Sugest\u00f5es", "TabLatest": "Mais recente", "TabUpcoming": "Pr\u00f3ximos", @@ -205,7 +205,7 @@ "OptionIso": "Iso", "Option3D": "3D", "LabelDeinterlacingMethod": "Deinterlacing method:", - "Standard": "Standard", + "Standard": "Padr\u00e3o", "BobAndWeaveWithHelp": "Bob and weave (higher quality, but slower)", "LabelStatus": "Estado:", "LabelLastResult": "\u00daltimo resultado:", @@ -263,7 +263,7 @@ "HeaderFeatureAccess": "Acesso a Caracter\u00edsticas", "OptionAllowMediaPlayback": "Permitir reprodu\u00e7\u00e3o de m\u00e9dia", "OptionAllowBrowsingLiveTv": "Permitir acesso a TV ao Vivo", - "HeaderMediaDeletion": "Media Deletion", + "HeaderMediaDeletion": "Remo\u00e7\u00e3o de Multim\u00e9dia", "AllowDeletionFromAll": "Allow media deletion from all libraries", "OptionAllowManageLiveTv": "Permitir gerir grava\u00e7\u00f5es de TV ao Vivo", "OptionAllowRemoteControlOthers": "Permitir controlo remoto de outros utilizadores", @@ -287,12 +287,12 @@ "LabelAllowServerAutoRestart": "Permitir ao servidor reiniciar automaticamente para aplicar as atualiza\u00e7\u00f5es", "LabelAllowServerAutoRestartHelp": "O servidor ir\u00e1 reiniciar apenas durante per\u00edodos em que n\u00e3o esteja a ser usado, quando nenhum utilizador estiver ativo.", "LabelRunServerAtStartup": "Iniciar o servidor no arranque", - "LabelRunServerAtStartupHelp": "Isto ir\u00e1 iniciar o \u00edcone na barra de tarefas quando o Windows inicia. Para iniciar o servi\u00e7o do Windows, desmarque isto e corra o servi\u00e7o a partir do Painel de Controlo do Windows. N\u00e3o pode correr ambos ao mesmo tempo, logo precisa de terminar o \u00edcone da barra de tarefas antes de iniciar o servi\u00e7o.", + "LabelRunServerAtStartupHelp": "Isto ir\u00e1 iniciar o \u00edcone do Emby na barra de tarefas quando o Windows inicia. Se configurou um servi\u00e7o do Windows, deixe a caixa desmarcada e configure o servi\u00e7o para correr no arranque.", "ButtonSelectDirectory": "Selecione a diretoria", "LabelCachePath": "Localiza\u00e7\u00e3o da cache:", "DefaultMetadataLangaugeDescription": "These are your defaults and can be customized on a per-library basis.", "LabelCachePathHelp": "Defina uma localiza\u00e7\u00e3o para os arquivos de cache como, por exemplo, imagens. Por favor, deixe em branco para usar o padr\u00e3o do servidor.", - "LabelRecordingPath": "Default recording path:", + "LabelRecordingPath": "Localiza\u00e7\u00e3o predefinida das grava\u00e7\u00f5es:", "LabelMovieRecordingPath": "Movie recording path (optional):", "LabelSeriesRecordingPath": "Series recording path (optional):", "LabelRecordingPathHelp": "Specify the default location to save recordings. If left empty, the server's program data folder will be used.", @@ -326,8 +326,8 @@ "TabSeries": "S\u00e9ries", "TabFavorites": "Favoritos", "TabMyLibrary": "A minha Biblioteca", - "LabelStartWhenPossible": "Start when possible:", - "LabelStopWhenPossible": "Stop when possible:", + "LabelStartWhenPossible": "Come\u00e7ar quando poss\u00edvel:", + "LabelStopWhenPossible": "Parar quando poss\u00edvel:", "MinutesBefore": "minutos antes", "MinutesAfter": "minutos depois", "TabSettings": "Configura\u00e7\u00f5es", @@ -433,7 +433,7 @@ "LinkApi": "Api", "LabelFriendlyServerName": "Nome amig\u00e1vel do servidor:", "LabelFriendlyServerNameHelp": "Ser\u00e1 usado este nome para identificar o servidor. Se n\u00e3o for preenchido, ser\u00e1 usado o nome do computador.", - "LabelPreferredDisplayLanguage": "Idioma de visualiza\u00e7\u00e3o preferido:", + "LabelPreferredDisplayLanguage": "Idioma de visualiza\u00e7\u00e3o preferencial:", "LabelPreferredDisplayLanguageHelp": "A tradu\u00e7\u00e3o do Emby \u00e9 um projeto cont\u00ednuo.", "LabelReadHowYouCanContribute": "Aprenda como pode contribuir.", "ButtonSubmit": "Enviar", @@ -453,7 +453,7 @@ "LabelEnableAutomaticPortMap": "Ativar mapeamento autom\u00e1tico de portas", "LabelEnableAutomaticPortMapHelp": "Tentativa de mapear automaticamente a porta p\u00fablica para a porta local atrav\u00e9s de UPnP. Isto poder\u00e1 n\u00e3o funcionar em alguns modelos de roteadores.", "LabelExternalDDNS": "Dom\u00ednio externo:", - "LabelExternalDDNSHelp": "Se tem um DNS din\u00e2mico insira-o aqui. As aplica\u00e7\u00f5es do Emby ir\u00e3o us\u00e1-lo ao conectar remotamente. Este campo \u00e9 obrigat\u00f3rio quando usado com um certificado SSL personalizado.", + "LabelExternalDDNSHelp": "Se tem um servidor DNS din\u00e2mico insira-o aqui. As aplica\u00e7\u00f5es do Emby ir\u00e3o us\u00e1-lo ao conectar remotamente. Este campo \u00e9 obrigat\u00f3rio quando usado com um certificado SSL personalizado. Exemplo: omeudominio.com", "TitleAppSettings": "Configura\u00e7\u00f5es da Aplica\u00e7\u00e3o", "LabelMinResumePercentage": "Percentagem m\u00ednima para retomar:", "LabelMaxResumePercentage": "Percentagem m\u00e1xima para retomar:", @@ -485,9 +485,6 @@ "HeaderResult": "Resultado", "OptionOverwriteExistingEpisodes": "Sobrepor epis\u00f3dios existentes", "LabelTransferMethod": "M\u00e9todo da transfer\u00eancia", - "OptionCopy": "Copiar", - "OptionMove": "Mover", - "LabelTransferMethodHelp": "Copiar ou mover ficheiros da pasta observada", "HeaderLatestNews": "\u00daltimas Not\u00edcias", "HeaderRunningTasks": "Tarefas em Execu\u00e7\u00e3o", "HeaderActiveDevices": "Dispositivos Ativos", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "Sem extens\u00f5es dispon\u00edveis.", "LabelDisplayPluginsFor": "Exibir extens\u00f5es para:", "PluginTabAppClassic": "Emby for Windows Media Center", - "LabelEpisodeNamePlain": "Nome do epis\u00f3dio", - "LabelSeriesNamePlain": "Nome da s\u00e9rie", - "ValueSeriesNamePeriod": "Nome.da.s\u00e9rie", - "ValueSeriesNameUnderscore": "Nome_da_s\u00e9rie", - "ValueEpisodeNamePeriod": "Nome.do.epis\u00f3dio", - "ValueEpisodeNameUnderscore": "Nome_do_epis\u00f3dio", - "LabelSeasonNumberPlain": "N\u00famero da temporada", - "LabelEpisodeNumberPlain": "N\u00famero do epis\u00f3dio", - "LabelEndingEpisodeNumberPlain": "N\u00famero do epis\u00f3dio final", "HeaderTypeText": "Inserir texto", "LabelTypeText": "Texto", "TabDisplay": "Exibi\u00e7\u00e3o", "TabLanguages": "Idiomas", "TabAppSettings": "Configura\u00e7\u00f5es do App", - "LabelEnableThemeSongs": "Ativar m\u00fasicas-tema", - "LabelEnableBackdrops": "Ativar imagens de fundo", - "LabelEnableThemeSongsHelp": "Se ativadas, m\u00fasicas-tema ser\u00e3o reproduzidas em segundo plano ao navegar pela biblioteca.", - "LabelEnableBackdropsHelp": "Se ativadas, imagens de fundo ser\u00e3o exibidas ao fundo de algumas p\u00e1ginas ao navegar pela biblioteca.", "HeaderHomePage": "P\u00e1gina Inicial", "OptionAuto": "Auto", "OptionYes": "Sim", @@ -1016,7 +1000,7 @@ "HeaderParentalRatings": "Classifica\u00e7\u00f5es Parentais", "HeaderVideoTypes": "Tipos de V\u00eddeo", "HeaderYears": "Anos", - "HeaderBlockItemsWithNoRating": "Bloquear conte\u00fado que n\u00e3o tenha informa\u00e7\u00e3o de classifica\u00e7\u00e3o ou que n\u00e3o seja reconhecida:", + "HeaderBlockItemsWithNoRating": "Bloquear conte\u00fado sem informa\u00e7\u00e3o de classifica\u00e7\u00e3o et\u00e1ria ou com informa\u00e7\u00e3o desconhecida:", "LabelBlockContentWithTags": "Bloquear conte\u00fado com tags:", "LabelEnableSingleImageInDidlLimit": "Limitar a uma imagem incorporada", "LabelEnableSingleImageInDidlLimitHelp": "Alguns dispositivos n\u00e3o interpretar\u00e3o apropriadamente se m\u00faltiplas imagens estiverem incorporadas dentro do Didl.", @@ -1040,7 +1024,7 @@ "OptionAllowAudioPlaybackTranscoding": "Permitir reprodu\u00e7\u00e3o de \u00e1udio que necessite de transcodifica\u00e7\u00e3o", "OptionAllowVideoPlaybackTranscoding": "Permitir reprodu\u00e7\u00e3o de v\u00eddeo que necessite de transcodifica\u00e7\u00e3o", "OptionAllowVideoPlaybackRemuxing": "Allow video playback that requires conversion without re-encoding", - "OptionAllowMediaPlaybackTranscodingHelp": "Os utilizadores receber\u00e3o mensagens de erro amig\u00e1veis quando o conte\u00fado n\u00e3o for reproduz\u00edvel, baseado nas pol\u00edticas.", + "OptionAllowMediaPlaybackTranscodingHelp": "Restringir o acesso \u00e0 transcodifica\u00e7\u00e3o pode causar falhas de reprodu\u00e7\u00e3o nas aplica\u00e7\u00f5es do Emby devido a formatos multim\u00e9dia n\u00e3o suportados.", "TabStreaming": "Streaming", "LabelRemoteClientBitrateLimit": "Limite de taxa de bits para streaming da Internet (Mbps):", "LabelRemoteClientBitrateLimitHelp": "An optional per-stream bitrate limit for all out of network devices. This is useful to prevent devices from requesting a higher bitrate than your internet connection can handle. This may result in increased CPU load on your server in order to transcode videos on the fly to a lower bitrate.", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", "ButtonStopRecording": "Stop Recording", "StopRecording": "Stop recording", - "CancelSeries": "Cancel series" + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 c7cf4d9862..323cff2116 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/ro.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/ro.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "Anteriorul", "LabelFinish": "Termin\u0103", "LabelNext": "Urm\u0103torul", @@ -25,6 +24,7 @@ "LabelPinCode": "Codul Pin:", "DeleteMedia": "\u0218tergere fi\u0219iere media", "HeaderSync": "Sincronizeaz\u0103", + "HeaderPlayAll": "Play All", "HeaderUpcomingNews": "\u0218tiri viitoare", "ButtonOk": "Ok", "ButtonCancel": "Anuleaz\u0103", @@ -485,9 +485,6 @@ "HeaderResult": "Result", "OptionOverwriteExistingEpisodes": "Overwrite existing episodes", "LabelTransferMethod": "Transfer method", - "OptionCopy": "Copy", - "OptionMove": "Move", - "LabelTransferMethodHelp": "Copy or move files from the watch folder", "HeaderLatestNews": "Latest News", "HeaderRunningTasks": "Running Tasks", "HeaderActiveDevices": "Active Devices", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "No available plugins.", "LabelDisplayPluginsFor": "Display plugins for:", "PluginTabAppClassic": "Emby for Windows Media Center", - "LabelEpisodeNamePlain": "Episode name", - "LabelSeriesNamePlain": "Series name", - "ValueSeriesNamePeriod": "Series.name", - "ValueSeriesNameUnderscore": "Series_name", - "ValueEpisodeNamePeriod": "Episode.name", - "ValueEpisodeNameUnderscore": "Episode_name", - "LabelSeasonNumberPlain": "Season number", - "LabelEpisodeNumberPlain": "Episode number", - "LabelEndingEpisodeNumberPlain": "Ending episode number", "HeaderTypeText": "Enter Text", "LabelTypeText": "Text", "TabDisplay": "Display", "TabLanguages": "Languages", "TabAppSettings": "App Settings", - "LabelEnableThemeSongs": "Enable theme songs", - "LabelEnableBackdrops": "Enable backdrops", - "LabelEnableThemeSongsHelp": "If enabled, theme songs will be played in the background while browsing the library.", - "LabelEnableBackdropsHelp": "If enabled, backdrops will be displayed in the background of some pages while browsing the library.", "HeaderHomePage": "Home Page", "OptionAuto": "Auto", "OptionYes": "Yes", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", "ButtonStopRecording": "Stop Recording", "StopRecording": "Stop recording", - "CancelSeries": "Cancel series" + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 e8018377cd..646097d30e 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/ru.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/ru.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0435", "LabelFinish": "\u0417\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044c", "LabelNext": "\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435", @@ -25,6 +24,7 @@ "LabelPinCode": "PIN-\u043a\u043e\u0434:", "DeleteMedia": "\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u043c\u0435\u0434\u0438\u0430\u0434\u0430\u043d\u043d\u044b\u0435", "HeaderSync": "\u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044f", + "HeaderPlayAll": "\u0412\u043e\u0441\u043f\u0440. \u0432\u0441\u0435", "HeaderUpcomingNews": "\u041e\u0436\u0438\u0434\u0430\u0435\u043c\u044b\u0435 \u043d\u043e\u0432\u043e\u0441\u0442\u0438", "ButtonOk": "\u041e\u043a", "ButtonCancel": "\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c", @@ -485,9 +485,6 @@ "HeaderResult": "\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442", "OptionOverwriteExistingEpisodes": "\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0438\u043c\u0435\u044e\u0449\u0438\u0435\u0441\u044f \u044d\u043f\u0438\u0437\u043e\u0434\u044b", "LabelTransferMethod": "\u041c\u0435\u0442\u043e\u0434 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430", - "OptionCopy": "\u041a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435", - "OptionMove": "\u041f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435", - "LabelTransferMethodHelp": "\u041a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 \u0438\u0437 \u043f\u0430\u043f\u043a\u0438 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f", "HeaderLatestNews": "\u0421\u0432\u0435\u0436\u0438\u0435 \u043d\u043e\u0432\u043e\u0441\u0442\u0438", "HeaderRunningTasks": "\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0449\u0438\u0435\u0441\u044f \u0437\u0430\u0434\u0430\u0447\u0438", "HeaderActiveDevices": "\u0410\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "\u041f\u043b\u0430\u0433\u0438\u043d\u043e\u0432 \u043d\u0435 \u0438\u043c\u0435\u0435\u0442\u0441\u044f.", "LabelDisplayPluginsFor": "\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432 \u0434\u043b\u044f:", "PluginTabAppClassic": "Emby \u0434\u043b\u044f WMC", - "LabelEpisodeNamePlain": "\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u044d\u043f\u0438\u0437\u043e\u0434\u0430", - "LabelSeriesNamePlain": "\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0441\u0435\u0440\u0438\u0430\u043b\u0430", - "ValueSeriesNamePeriod": "\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435.\u0441\u0435\u0440\u0438\u0430\u043b\u0430", - "ValueSeriesNameUnderscore": "\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435_\u0441\u0435\u0440\u0438\u0430\u043b\u0430", - "ValueEpisodeNamePeriod": "\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435.\u044d\u043f\u0438\u0437\u043e\u0434\u0430", - "ValueEpisodeNameUnderscore": "\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435_\u044d\u043f\u0438\u0437\u043e\u0434\u0430", - "LabelSeasonNumberPlain": "\u041d\u043e\u043c\u0435\u0440 \u0441\u0435\u0437\u043e\u043d\u0430", - "LabelEpisodeNumberPlain": "\u041d\u043e\u043c\u0435\u0440 \u044d\u043f\u0438\u0437\u043e\u0434\u0430", - "LabelEndingEpisodeNumberPlain": "\u041d\u043e\u043c\u0435\u0440 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0433\u043e \u044d\u043f\u0438\u0437\u043e\u0434\u0430", "HeaderTypeText": "\u0412\u0432\u043e\u0434 \u0442\u0435\u043a\u0441\u0442\u0430", "LabelTypeText": "\u0422\u0435\u043a\u0441\u0442", "TabDisplay": "\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435", "TabLanguages": "\u042f\u0437\u044b\u043a\u0438", "TabAppSettings": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f", - "LabelEnableThemeSongs": "\u0412\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u0439", - "LabelEnableBackdrops": "\u0412\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u043d\u0438\u043a\u043e\u0432", - "LabelEnableThemeSongsHelp": "\u041f\u0440\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438, \u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u0431\u0443\u0434\u0443\u0442 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u0444\u043e\u043d\u043e\u043c \u043f\u0440\u0438 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435 \u043c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0438.", - "LabelEnableBackdropsHelp": "\u041f\u0440\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438, \u0437\u0430\u0434\u043d\u0438\u043a\u0438 \u0431\u0443\u0434\u0443\u0442 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f \u0444\u043e\u043d\u043e\u043c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u043f\u0440\u0438 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435 \u043c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0438.", "HeaderHomePage": "\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430", "OptionAuto": "\u0410\u0432\u0442\u043e", "OptionYes": "\u0414\u0430", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "\u0412\u043d\u0435\u0434\u0440\u0451\u043d\u043d\u044b\u0435 \u0441\u0443\u0431\u0442\u0438\u0442\u0440\u044b \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0442\u044c \u0438\u0437 \u0432\u0438\u0434\u0435\u043e \u0438 \u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c Emby-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c \u0432 \u0432\u0438\u0434\u0435 \u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430, \u0432 \u0446\u0435\u043b\u044f\u0445 \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438 \u0432\u0438\u0434\u0435\u043e. \u041d\u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043d\u044f\u0442\u044c \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0438 \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0432\u0438\u0434\u0435\u043e \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f. \u041e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u044d\u0442\u043e, \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u0432\u043d\u0435\u0434\u0440\u0451\u043d\u043d\u044b\u0445 \u0441\u0443\u0431\u0442\u0438\u0442\u0440\u043e\u0432 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u0435\u0440\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438 \u0432\u0438\u0434\u0435\u043e, \u043f\u0440\u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0438 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0438\u0445 \u0432 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u043e\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435.", "ButtonStopRecording": "\u041e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u044c", "StopRecording": "\u041e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u044c", - "CancelSeries": "\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u0441\u0435\u0440\u0438\u0430\u043b" + "CancelSeries": "\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u0441\u0435\u0440\u0438\u0430\u043b", + "EnableDebugLoggingHelp": "\u0416\u0443\u0440\u043d\u0430\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u0434\u043e\u043b\u0436\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043d\u0435\u043f\u043e\u043b\u0430\u0434\u043e\u043a. \u041f\u043e\u0432\u044b\u0448\u0435\u043d\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043c\u0435\u0448\u0430\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0441\u043d\u0430 \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0440\u0435\u0434\u0430\u0445." } \ 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 8a9e0a68f6..1367948992 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/sk.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/sk.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "Predch\u00e1dzaj\u00face", "LabelFinish": "Ukon\u010di\u0165", "LabelNext": "\u010ealej", @@ -25,6 +24,7 @@ "LabelPinCode": "Pin k\u00f3d:", "DeleteMedia": "Odstr\u00e1ni\u0165 m\u00e9dia", "HeaderSync": "Sync", + "HeaderPlayAll": "Prehra\u0165 v\u0161etko", "HeaderUpcomingNews": "Nadch\u00e1dzaj\u00face spr\u00e1vy", "ButtonOk": "Ok", "ButtonCancel": "Zru\u0161i\u0165", @@ -40,25 +40,25 @@ "HeaderPaths": "Cesty", "CategorySync": "Sync", "TabPlaylist": "Playlist", - "HeaderInstantMix": "Instant Mix", + "HeaderInstantMix": "Okam\u017eit\u00fd mix", "HeaderEasyPinCode": "Jednoduch\u00fd pin k\u00f3d", "HeaderInstalledServices": "Nain\u0161talovan\u00e9 slu\u017eby", "HeaderAvailableServices": "Dostupn\u00e9 slu\u017eby", "MessageNoServicesInstalled": "Moment\u00e1lne nie s\u00fa nain\u0161talovan\u00e9 \u017eiadne slu\u017eby.", - "HeaderToAccessPleaseEnterEasyPinCode": "Pre pr\u00edstup pros\u00edm vlo\u017ete V\u00e1\u0161 jednoduch\u00fd pin k\u00f3d", + "HeaderToAccessPleaseEnterEasyPinCode": "Pre pr\u00edstup, pros\u00edm, vlo\u017ete V\u00e1\u0161 jednoduch\u00fd pin k\u00f3d", "ButtonConfigurePinCode": "Konfigurova\u0165 pin k\u00f3d", - "RegisterWithPayPal": "Register with PayPal", + "RegisterWithPayPal": "Registrova\u0165 pomocou PayPal", "LabelSyncTempPath": "Do\u010dasn\u00e1 cesta k s\u00faboru:", "LabelSyncTempPathHelp": "Specify a custom sync working folder. Converted media created during the sync process will be stored here.", - "LabelCustomCertificatePath": "Vlastn\u00e1 cesta k certifik\u00e1tu:", - "LabelCustomCertificatePathHelp": "Supply your own ssl certificate .pfx file.", + "LabelCustomCertificatePath": "Vlastn\u00e1 cesta k ssl certifik\u00e1tu:", + "LabelCustomCertificatePathHelp": "Uve\u010fte V\u00e1\u0161 vlastn\u00fd .pfx s\u00fabor ssl certifik\u00e1tu.", "TitleNotifications": "Upozornenia", - "OptionDetectArchiveFilesAsMedia": "Detect archive files as media", - "OptionDetectArchiveFilesAsMediaHelp": "If enabled, files with .rar and .zip extensions will be detected as media files.", - "LabelEnterConnectUserName": "Username or email:", - "LabelEnterConnectUserNameHelp": "This is your Emby online account username or email.", + "OptionDetectArchiveFilesAsMedia": "Detegova\u0165 s\u00fabory arch\u00edvov ako m\u00e9di\u00e1", + "OptionDetectArchiveFilesAsMediaHelp": "Ak je mo\u017enos\u0165 povolen\u00e1, s\u00fabory s form\u00e1tom .rar a .zip bud\u00fa detegovan\u00e9 ako medi\u00e1lne s\u00fabory.", + "LabelEnterConnectUserName": "Meno u\u017e\u00edvate\u013ea alebo email:", + "LabelEnterConnectUserNameHelp": "Toto je u\u017e\u00edvate\u013esk\u00e9 meno alebo email V\u00e1\u0161ho Emby online \u00fa\u010dtu.", "HeaderSyncJobInfo": "Sync Job", - "FolderTypeMixed": "Mixed content", + "FolderTypeMixed": "Zmie\u0161an\u00fd obsah", "FolderTypeMovies": "Filmy", "FolderTypeMusic": "Hudba", "FolderTypePhotos": "Fotky", @@ -68,198 +68,198 @@ "FolderTypeTvShows": "TV", "FolderTypeInherit": "Inherit", "LabelContentType": "Druh obsahu:", - "TitleScheduledTasks": "Scheduled Tasks", - "HeaderSetupLibrary": "Setup your media libraries", - "LabelFolderType": "Folder type:", - "LabelCountry": "Country:", - "LabelLanguage": "Language:", - "LabelTimeLimitHours": "Time limit (hours):", - "HeaderPreferredMetadataLanguage": "Preferred Metadata Language", + "TitleScheduledTasks": "Napl\u00e1novan\u00e9 \u00falohy", + "HeaderSetupLibrary": "Nastavte Va\u0161e kni\u017enice m\u00e9di\u00ed", + "LabelFolderType": "Druh prie\u010dinka:", + "LabelCountry": "Krajina:", + "LabelLanguage": "Jazyk:", + "LabelTimeLimitHours": "\u010casov\u00fd limit (v hodin\u00e1ch):", + "HeaderPreferredMetadataLanguage": "Uprednost\u0148ovan\u00fd jazyk metad\u00e1t", "LabelSaveLocalMetadata": "Save artwork and metadata into media folders", "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", "LabelDownloadInternetMetadataHelp": "Emby Server can download information about your media to enable rich presentations.", - "TabPassword": "Password", - "TabLibraryAccess": "Library Access", - "TabAccess": "Access", - "TabImage": "Image", - "TabProfile": "Profile", - "TabMetadata": "Metadata", - "TabImages": "Images", - "TabNotifications": "Notifications", - "TabCollectionTitles": "Titles", + "TabPassword": "Heslo", + "TabLibraryAccess": "Pr\u00edstup ku kni\u017enici", + "TabAccess": "Pr\u00edstup", + "TabImage": "Obr\u00e1zok", + "TabProfile": "Profil", + "TabMetadata": "Metad\u00e1ta", + "TabImages": "Obr\u00e1zky", + "TabNotifications": "Upozornenia", + "TabCollectionTitles": "N\u00e1zvy", "HeaderDeviceAccess": "Device Access", - "OptionEnableAccessFromAllDevices": "Enable access from all devices", - "OptionEnableAccessToAllChannels": "Enable access to all channels", - "OptionEnableAccessToAllLibraries": "Enable access to all libraries", - "DeviceAccessHelp": "This only applies to devices that can be uniquely identified and will not prevent browser access. Filtering user device access will prevent them from using new devices until they've been approved here.", - "LabelDisplayMissingEpisodesWithinSeasons": "Display missing episodes within seasons", - "LabelDisplayMissingEpisodesWithinSeasonsHelp": "This must also be enabled for TV libraries in Emby Server setup.", - "LabelUnairedMissingEpisodesWithinSeasons": "Display unaired episodes within seasons", - "ImportMissingEpisodesHelp": "If enabled, information about missing episodes will be imported into your Emby database and displayed within seasons and series. This may cause significantly longer library scans.", - "MessageEnablingOptionLongerScans": "Enabling this option may result in significantly longer library scans.", - "HeaderPlaybackSettings": "Playback Settings", - "LabelAudioLanguagePreference": "Audio language preference:", - "LabelSubtitleLanguagePreference": "Subtitle language preference:", - "OptionDefaultSubtitles": "Default", - "OptionSmartSubtitles": "Smart", - "OptionSmartSubtitlesHelp": "Subtitles matching the language preference will be loaded when the audio is in a foreign language.", - "OptionOnlyForcedSubtitles": "Only forced subtitles", - "OptionAlwaysPlaySubtitles": "Always play subtitles", - "OptionDefaultSubtitlesHelp": "Subtitles are loaded based on the default and forced flags in the embedded metadata. Language preferences are considered when multiple options are available.", - "OptionOnlyForcedSubtitlesHelp": "Only subtitles marked as forced will be loaded.", - "OptionAlwaysPlaySubtitlesHelp": "Subtitles matching the language preference will be loaded regardless of the audio language.", - "OptionNoSubtitlesHelp": "Subtitles will not be loaded by default.", - "TabProfiles": "Profiles", - "TabSecurity": "Security", - "ButtonAddUser": "Add User", - "ButtonInviteUser": "Invite User", - "ButtonSave": "Save", - "ButtonResetPassword": "Reset Password", - "LabelUrl": "Url:", - "LabelNewPassword": "New password:", - "LabelNewPasswordConfirm": "New password confirm:", - "HeaderCreatePassword": "Create Password", - "LabelCurrentPassword": "Current password:", - "LabelMaxParentalRating": "Maximum allowed parental rating:", - "MaxParentalRatingHelp": "Content with a higher rating will be hidden from this user.", - "LibraryAccessHelp": "Select the media folders to share with this user. Administrators will be able to edit all folders using the metadata manager.", - "ChannelAccessHelp": "Select the channels to share with this user. Administrators will be able to edit all channels using the metadata manager.", - "ButtonDeleteImage": "Delete Image", - "LabelSelectUsers": "Select users:", - "ButtonUpload": "Upload", - "HeaderUploadNewImage": "Upload New Image", - "ImageUploadAspectRatioHelp": "1:1 Aspect Ratio Recommended. JPG\/PNG only.", - "MessageNothingHere": "Nothing here.", - "MessagePleaseEnsureInternetMetadata": "Please ensure downloading of internet metadata is enabled.", - "AlreadyPaidHelp1": "If you already paid to install an older version of Media Browser for Android, you don't need to pay again in order to activate this app. Click OK to send us an email at {0} and we'll get it activated for you.", - "AlreadyPaidHelp2": "Got Emby Premiere? Just cancel this dialog, setup Emby Premiere in your Emby Server Dashboard under Help -> Emby Premiere, and it will be unlocked automatically.", - "TabSuggestions": "Suggestions", - "TabLatest": "Latest", - "TabUpcoming": "Upcoming", + "OptionEnableAccessFromAllDevices": "Povoli\u0165 pr\u00edstup zo v\u0161etk\u00fdch zariaden\u00ed", + "OptionEnableAccessToAllChannels": "Povoli\u0165 pr\u00edstup ku v\u0161etk\u00fdm kan\u00e1lom", + "OptionEnableAccessToAllLibraries": "Povoli\u0165 pr\u00edstup ku v\u0161etk\u00fdm kni\u017eniciam", + "DeviceAccessHelp": "T\u00e1to mo\u017enos\u0165 sa vz\u0165ahuje iba na zariadenia, ktor\u00e9 m\u00f4\u017eu by\u0165 jedine\u010dne identifikovan\u00e9 a nezabr\u00e1ni pr\u00edstup cez prehliada\u010d. Filtrovan\u00edm pr\u00edstupu u\u017e\u00edvate\u013esk\u00fdch zariaden\u00ed zabra\u0148uje u\u017e\u00edvate\u013eom pou\u017ei\u0165 nov\u00e9 zariadenie, pokia\u013e neboli tu schv\u00e1len\u00e9.", + "LabelDisplayMissingEpisodesWithinSeasons": "Zobrazi\u0165 ch\u00fdbaj\u00face epiz\u00f3dy v s\u00e9ri\u00e1ch", + "LabelDisplayMissingEpisodesWithinSeasonsHelp": "Toto mus\u00ed by\u0165 tie\u017e povolen\u00e9 pre TV kni\u017enice v nastaven\u00ed Emby servera.", + "LabelUnairedMissingEpisodesWithinSeasons": "Zobrazi\u0165 nevysielan\u00e9 epiz\u00f3dy v s\u00e9ri\u00e1ch", + "ImportMissingEpisodesHelp": "Ak je mo\u017enos\u0165 povolen\u00e1, inform\u00e1cie o ch\u00fdbaj\u00facich epiz\u00f3dach bud\u00fa importovan\u00e9 do Va\u0161ej Emby datab\u00e1zy a bud\u00fa zobrazen\u00e9 v s\u00e9ri\u00e1ch a seri\u00e1loch. Toto m\u00f4\u017ee sp\u00f4sobi\u0165 podstatne dlh\u0161ie skenovania kni\u017en\u00edc.", + "MessageEnablingOptionLongerScans": "Povolenie tejto mo\u017enosti m\u00f4\u017ee ma\u0165 za n\u00e1sledok podstatne dlh\u0161ie skenovania kni\u017en\u00edc.", + "HeaderPlaybackSettings": "Nastavenia prehr\u00e1vania", + "LabelAudioLanguagePreference": "Preferovan\u00fd jazyk zvukovej stopy:", + "LabelSubtitleLanguagePreference": "Preferovan\u00fd jazyk titulkov:", + "OptionDefaultSubtitles": "Predvolen\u00fd", + "OptionSmartSubtitles": "Chytr\u00fd", + "OptionSmartSubtitlesHelp": "Titulky, ktor\u00fdch jazyk sa zhoduje s preferovan\u00fdm jazykom bud\u00fa na\u010d\u00edtan\u00e9, ak zvukov\u00e1 stopa je v cudzom jazyku.", + "OptionOnlyForcedSubtitles": "Iba vyn\u00faten\u00e9 titulky", + "OptionAlwaysPlaySubtitles": "V\u017edy prehr\u00e1va\u0165 titulky", + "OptionDefaultSubtitlesHelp": "Titulky s\u00fa na\u010d\u00edtan\u00e9 na z\u00e1klade predvolen\u00fdch a vyn\u00faten\u00fdch zna\u010diek vo vstavan\u00fdch metad\u00e1tach. Jazykov\u00e9 preferencie s\u00fa zv\u00e1\u017een\u00e9 ak viacero mo\u017enost\u00ed je dostupn\u00fdch.", + "OptionOnlyForcedSubtitlesHelp": "Bud\u00fa na\u010d\u00edtan\u00e9 iba titulky ozna\u010den\u00e9 ako vyn\u00faten\u00e9.", + "OptionAlwaysPlaySubtitlesHelp": "Titulky, ktor\u00fdch jazyk sa zhoduje s preferovan\u00fdm jazykom bud\u00fa na\u010d\u00edtan\u00e9 bez oh\u013eadu na jazyk zvukovej stopy.", + "OptionNoSubtitlesHelp": "Titulky nebud\u00fa predvolene na\u010d\u00edtan\u00e9.", + "TabProfiles": "Profily", + "TabSecurity": "Zabezpe\u010denie", + "ButtonAddUser": "Prida\u0165 u\u017e\u00edvate\u013ea", + "ButtonInviteUser": "Pozva\u0165 u\u017e\u00edvate\u013ea", + "ButtonSave": "Ulo\u017ei\u0165", + "ButtonResetPassword": "Obnovi\u0165 heslo", + "LabelUrl": "URL:", + "LabelNewPassword": "Nov\u00e9 heslo:", + "LabelNewPasswordConfirm": "Potvrdenie nov\u00e9ho hesla:", + "HeaderCreatePassword": "Vytvori\u0165 heslo", + "LabelCurrentPassword": "Aktu\u00e1lne heslo:", + "LabelMaxParentalRating": "Maxim\u00e1lne povolen\u00e9 rodi\u010dovsk\u00e9 hodnotenie:", + "MaxParentalRatingHelp": "Obsah s vy\u0161\u0161\u00edm rodi\u010dovsk\u00fdm hodnoten\u00edm bude skryt\u00fd pre tohto u\u017e\u00edvate\u013ea.", + "LibraryAccessHelp": "Zvo\u013ete prie\u010dinky m\u00e9di\u00ed zdie\u013ean\u00e9 s t\u00fdmto u\u017e\u00edvate\u013eom. Administr\u00e1tori bud\u00fa schopn\u00ed upravi\u0165 v\u0161etky prie\u010dinky pou\u017eit\u00edm spr\u00e1vcu metad\u00e1t.", + "ChannelAccessHelp": "Zvo\u013ete kan\u00e1ly zdie\u013ean\u00e9 s t\u00fdmto u\u017e\u00edvate\u013eom. Administr\u00e1tori bud\u00fa schopn\u00ed upravi\u0165 v\u0161etky kan\u00e1ly pou\u017eit\u00edm spr\u00e1vcu metad\u00e1t.", + "ButtonDeleteImage": "Zmaza\u0165 obr\u00e1zok", + "LabelSelectUsers": "Zvo\u013ete u\u017e\u00edvate\u013eov:", + "ButtonUpload": "Nahra\u0165", + "HeaderUploadNewImage": "Nahra\u0165 nov\u00fd obr\u00e1zok", + "ImageUploadAspectRatioHelp": "Odpor\u00fa\u010dan\u00fd pomer str\u00e1n je 1:1. Iba JPG\/PNG.", + "MessageNothingHere": "Ni\u010d tu nie je.", + "MessagePleaseEnsureInternetMetadata": "Pros\u00edm, uistite sa, \u017ee s\u0165ahovanie internetov\u00fdch metad\u00e1t je povolen\u00e9.", + "AlreadyPaidHelp1": "Ak ste u\u017e zaplatili za in\u0161tal\u00e1ciu star\u0161ej verzie aplik\u00e1cie Media Browser pre Android, nemus\u00edte znova plati\u0165 za aktiv\u00e1ciu tejto aplik\u00e1cie. Kliknut\u00edm na OK n\u00e1m odo\u0161lete email na adresu {0} a my V\u00e1m ju aktivujeme.", + "AlreadyPaidHelp2": "M\u00e1te Emby Premiere? Zavrite toto dial\u00f3gov\u00e9 okno, nastavte Emby Premiere vo Va\u0161om Dashboarde Emby serveru v sekcii Pomoc -> Emby Premiere a bude to automaticky odomknut\u00e9.", + "TabSuggestions": "N\u00e1vrhy", + "TabLatest": "Posledn\u00e9", + "TabUpcoming": "Nadch\u00e1dzaj\u00face", "TabShows": "Shows", - "TabEpisodes": "Episodes", - "TabGenres": "Genres", - "TabNetworks": "Networks", - "HeaderUsers": "Users", - "HeaderFilters": "Filters", + "TabEpisodes": "Epiz\u00f3dy", + "TabGenres": "\u017d\u00e1nre", + "TabNetworks": "Siete", + "HeaderUsers": "U\u017e\u00edvatelia", + "HeaderFilters": "Filtre", "ButtonFilter": "Filter", "OptionFavorite": "Ob\u013e\u00faben\u00e9", "OptionLikes": "Likes", "OptionDislikes": "Dislikes", - "OptionActors": "Actors", - "OptionGuestStars": "Guest Stars", - "OptionDirectors": "Directors", + "OptionActors": "Herci", + "OptionGuestStars": "Hos\u0165uj\u00face hviezdy", + "OptionDirectors": "Re\u017eis\u00e9ri", "OptionWriters": "Writers", - "OptionProducers": "Producers", - "HeaderResume": "Resume", - "HeaderContinueWatching": "Continue Watching", - "HeaderNextUp": "Next Up", - "NoNextUpItemsMessage": "None found. Start watching your shows!", - "HeaderLatestEpisodes": "Latest Episodes", + "OptionProducers": "Producenti", + "HeaderResume": "Pokra\u010dova\u0165", + "HeaderContinueWatching": "Pokra\u010dova\u0165 v pozeran\u00ed", + "HeaderNextUp": "Nasleduje", + "NoNextUpItemsMessage": "Neboli \u017eiadne n\u00e1jden\u00e9. Za\u010dnite pozera\u0165 Va\u0161e seri\u00e1ly!", + "HeaderLatestEpisodes": "Najnov\u0161ie epiz\u00f3dy", "HeaderPersonTypes": "Person Types:", - "TabSongs": "Songs", - "TabAlbums": "Albums", - "TabArtists": "Artists", + "TabSongs": "Skladby", + "TabAlbums": "Albumy", + "TabArtists": "Umelci", "TabAlbumArtists": "Album Artists", - "TabMusicVideos": "Music Videos", - "ButtonSort": "Sort", - "OptionPlayed": "Played", - "OptionUnplayed": "Unplayed", - "OptionAscending": "Ascending", - "OptionDescending": "Descending", + "TabMusicVideos": "Hudobn\u00e9 vide\u00e1", + "ButtonSort": "Zoradi\u0165", + "OptionPlayed": "Prehran\u00e9", + "OptionUnplayed": "Neprehran\u00e9", + "OptionAscending": "Vzostupne", + "OptionDescending": "Zostupne", "OptionRuntime": "Runtime", - "OptionReleaseDate": "Release Date", - "OptionPlayCount": "Play Count", - "OptionDatePlayed": "Date Played", - "OptionDateAdded": "Date Added", + "OptionReleaseDate": "D\u00e1tum vydania", + "OptionPlayCount": "Po\u010det prehran\u00ed", + "OptionDatePlayed": "D\u00e1tum prehrania", + "OptionDateAdded": "D\u00e1tum pridania", "OptionAlbumArtist": "Album Artist", - "OptionArtist": "Artist", + "OptionArtist": "Umelec", "OptionAlbum": "Album", - "OptionTrackName": "Track Name", - "OptionCommunityRating": "Community Rating", - "OptionNameSort": "Name", - "OptionFolderSort": "Folders", - "OptionPoster": "Poster", + "OptionTrackName": "N\u00e1zov skladby", + "OptionCommunityRating": "Hodnotenie komunity", + "OptionNameSort": "Meno", + "OptionFolderSort": "Prie\u010dinky", + "OptionPoster": "Plag\u00e1t:", "OptionPosterCard": "Poster card", "OptionBackdrop": "Backdrop", "OptionTimeline": "Timeline", "OptionThumb": "Thumb", "OptionThumbCard": "Thumb card", "OptionBanner": "Banner", - "OptionCriticRating": "Critic Rating", + "OptionCriticRating": "Hodnotenie kritikov", "OptionVideoBitrate": "Video Bitrate", "OptionResumable": "Resumable", - "TabMyPlugins": "My Plugins", - "TabCatalog": "Catalog", - "TitlePlugins": "Plugins", - "HeaderAutomaticUpdates": "Automatic Updates", - "HeaderNowPlaying": "Now Playing", - "HeaderLatestAlbums": "Latest Albums", - "HeaderLatestSongs": "Latest Songs", - "HeaderRecentlyPlayed": "Recently Played", - "HeaderFrequentlyPlayed": "Frequently Played", - "LabelVideoType": "Video Type:", + "TabMyPlugins": "Moje roz\u0161\u00edrenia", + "TabCatalog": "Katal\u00f3g", + "TitlePlugins": "Roz\u0161\u00edrenia", + "HeaderAutomaticUpdates": "Automatick\u00e9 aktualiz\u00e1cie", + "HeaderNowPlaying": "Teraz prehr\u00e1van\u00e9", + "HeaderLatestAlbums": "Posledn\u00e9 albumy", + "HeaderLatestSongs": "Posledn\u00e9 skladby", + "HeaderRecentlyPlayed": "Ned\u00e1vno prehr\u00e1van\u00e9", + "HeaderFrequentlyPlayed": "\u010casto hran\u00e9", + "LabelVideoType": "Druh videa:", "OptionBluray": "Bluray", "OptionDvd": "Dvd", "OptionIso": "Iso", "Option3D": "3D", - "LabelDeinterlacingMethod": "Deinterlacing method:", - "Standard": "Standard", - "BobAndWeaveWithHelp": "Bob and weave (higher quality, but slower)", - "LabelStatus": "Status:", - "LabelLastResult": "Last result:", - "OptionHasSubtitles": "Subtitles", + "LabelDeinterlacingMethod": "Met\u00f3da deinterl\u00e1cie:", + "Standard": "\u0160tandardn\u00e1", + "BobAndWeaveWithHelp": "Bob and weave (vy\u0161\u0161ia kvalita, no pomal\u0161ia)", + "LabelStatus": "Stav:", + "LabelLastResult": "Posledn\u00fd v\u00fdsledok:", + "OptionHasSubtitles": "Titulky", "OptionHasTrailer": "Trailer", "OptionHasThemeSong": "Theme Song", "OptionHasThemeVideo": "Theme Video", - "TabMovies": "Movies", + "TabMovies": "Filmy", "TabStudios": "Studios", "TabTrailers": "Trailers", - "LabelArtists": "Artists:", + "LabelArtists": "Umelci:", "LabelArtistsHelp": "Separate multiple using ;", "HeaderLatestTrailers": "Latest Trailers", "OptionHasSpecialFeatures": "Special Features", - "OptionImdbRating": "IMDb Rating", + "OptionImdbRating": "Hodnotenie IMDb", "OptionParentalRating": "Parental Rating", - "OptionPremiereDate": "Premiere Date", - "TabBasic": "Basic", - "TabAdvanced": "Advanced", + "OptionPremiereDate": "D\u00e1tum premi\u00e9ry", + "TabBasic": "Z\u00e1kladn\u00e9", + "TabAdvanced": "Pokro\u010dil\u00e9", "OptionContinuing": "Continuing", "OptionEnded": "Ended", "HeaderAirDays": "Air Days", - "OptionSundayShort": "Sun", - "OptionMondayShort": "Mon", - "OptionTuesdayShort": "Tue", - "OptionWednesdayShort": "Wed", - "OptionThursdayShort": "Thu", - "OptionFridayShort": "Fri", - "OptionSaturdayShort": "Sat", - "OptionSunday": "Sunday", - "OptionMonday": "Monday", - "OptionTuesday": "Tuesday", - "OptionWednesday": "Wednesday", - "OptionThursday": "Thursday", - "OptionFriday": "Friday", - "OptionSaturday": "Saturday", - "HeaderManagement": "Management", - "LabelManagement": "Management:", - "OptionMissingImdbId": "Missing IMDb Id", - "OptionMissingTvdbId": "Missing TheTVDB Id", + "OptionSundayShort": "Ned", + "OptionMondayShort": "Pon", + "OptionTuesdayShort": "Uto", + "OptionWednesdayShort": "Str", + "OptionThursdayShort": "\u0160tv", + "OptionFridayShort": "Pia", + "OptionSaturdayShort": "Sob", + "OptionSunday": "Nede\u013ea", + "OptionMonday": "Pondelok", + "OptionTuesday": "Utorok", + "OptionWednesday": "Streda", + "OptionThursday": "\u0160tvrtok", + "OptionFriday": "Piatok", + "OptionSaturday": "Sobota", + "HeaderManagement": "Mana\u017ement", + "LabelManagement": "Mana\u017ement:", + "OptionMissingImdbId": "Ch\u00fdbaj\u00face IMDb ID", + "OptionMissingTvdbId": "Ch\u00fdbaj\u00face TheTVDB ID", "OptionMissingOverview": "Missing Overview", - "TabGeneral": "General", - "TitleSupport": "Support", - "TabAbout": "About", + "TabGeneral": "V\u0161eobecn\u00e9", + "TitleSupport": "Podpora", + "TabAbout": "O", "TabSupporterKey": "Emby Premiere Key", "TabBecomeSupporter": "Get Emby Premiere", "TabEmbyPremiere": "Emby Premiere", - "OptionHideUser": "Hide this user from login screens", - "OptionHideUserFromLoginHelp": "Useful for private or hidden administrator accounts. The user will need to sign in manually by entering their username and password.", - "OptionDisableUser": "Disable this user", + "OptionHideUser": "Nezobrazova\u0165 tohto pou\u017e\u00edvate\u013ea v prihlasovac\u00edch obrazovk\u00e1ch", + "OptionHideUserFromLoginHelp": "U\u017eito\u010dn\u00e9 pre s\u00fakromn\u00e9 alebo ukryt\u00e9 administr\u00e1torsk\u00e9 \u00fa\u010dty. Pou\u017e\u00edvate\u013e sa bude musie\u0165 prihl\u00e1si\u0165 manu\u00e1lne zadan\u00edm mena a hesla.", + "OptionDisableUser": "Zak\u00e1za\u0165 tohto u\u017e\u00edvate\u013ea", "OptionDisableUserHelp": "If disabled the server will not allow any connections from this user. Existing connections will be abruptly terminated.", - "LabelName": "Name:", - "ButtonHelp": "Help", - "OptionAllowUserToManageServer": "Allow this user to manage the server", + "LabelName": "Meno:", + "ButtonHelp": "Pomoc", + "OptionAllowUserToManageServer": "Povoli\u0165 tomuto pou\u017e\u00edvate\u013eovi spravova\u0165 server", "HeaderFeatureAccess": "Feature Access", "OptionAllowMediaPlayback": "Allow media playback", "OptionAllowBrowsingLiveTv": "Allow Live TV access", @@ -271,24 +271,24 @@ "OptionAllowRemoteSharedDevicesHelp": "Dlna devices are considered shared until a user begins controlling it.", "OptionAllowLinkSharing": "Allow social media sharing", "OptionAllowLinkSharingHelp": "Only web pages containing media information are shared. Media files are never shared publicly. Shares are time-limited and will expire after {0} days.", - "HeaderRemoteControl": "Remote Control", + "HeaderRemoteControl": "\u010eia\u013ekov\u00e9 ovl\u00e1danie", "OptionMissingTmdbId": "Missing Tmdb Id", "OptionIsHD": "HD", "OptionIsSD": "SD", - "ButtonSelect": "Select", + "ButtonSelect": "Vybra\u0165", "PismoMessage": "Utilizing Pismo File Mount through a donated license.", "HeaderCredits": "Credits", "PleaseSupportOtherProduces": "Please support other free products we utilize:", "VersionNumber": "Version {0}", - "TabPaths": "Paths", + "TabPaths": "Cesty", "TabServer": "Server", "TabTranscoding": "Transcoding", - "OptionRelease": "Official Release", + "OptionRelease": "Ofici\u00e1lne vydanie", "LabelAllowServerAutoRestart": "Allow the server to restart automatically to apply updates", "LabelAllowServerAutoRestartHelp": "The server will only restart during idle periods, when no users are active.", - "LabelRunServerAtStartup": "Run server at startup", + "LabelRunServerAtStartup": "Spusti\u0165 server pri \u0161tarte", "LabelRunServerAtStartupHelp": "This will start the Emby tray icon on Windows startup. If you've set up a Windows service then leave this unchecked and configure the service to run at startup.", - "ButtonSelectDirectory": "Select Directory", + "ButtonSelectDirectory": "Vybra\u0165 prie\u010dinok", "LabelCachePath": "Cache path:", "DefaultMetadataLangaugeDescription": "These are your defaults and can be customized on a per-library basis.", "LabelCachePathHelp": "Specify a custom location for server cache files, such as images. Leave blank to use the server default.", @@ -300,58 +300,58 @@ "LabelMetadataPathHelp": "Specify a custom location for downloaded artwork and metadata.", "LabelTranscodingTempPath": "Transcoding temporary path:", "LabelTranscodingTempPathHelp": "This folder contains working files used by the transcoder. Specify a custom path, or leave empty to use the default within the server's data folder.", - "TabBasics": "Basics", + "TabBasics": "Z\u00e1klady", "TabTV": "TV", - "TabGames": "Games", - "TabMusic": "Music", - "TabOthers": "Others", - "OptionMovies": "Movies", - "OptionEpisodes": "Episodes", - "OptionOtherVideos": "Other Videos", + "TabGames": "Hry", + "TabMusic": "Hudba", + "TabOthers": "In\u00e9", + "OptionMovies": "Filmy", + "OptionEpisodes": "Epiz\u00f3dy", + "OptionOtherVideos": "In\u00e9 vide\u00e1", "LabelFanartApiKey": "Personal api key:", "LabelFanartApiKeyHelp": "Requests to fanart without a personal API key return images that were approved over 7 days ago. With a personal API key that drops to 48 hours and if you are also a fanart VIP member that will further drop to around 10 minutes.", "ExtractChapterImagesHelp": "Extracting chapter images will allow Emby apps to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs when videos are discovered, and also as a nightly scheduled task. The schedule is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", - "LabelMetadataDownloadLanguage": "Preferred metadata language:", - "ButtonSignIn": "Sign In", - "TitleSignIn": "Sign In", - "HeaderPleaseSignIn": "Please sign in", - "LabelUser": "User:", - "LabelPassword": "Password:", - "ButtonManualLogin": "Manual Login", - "TabGuide": "Guide", - "TabChannels": "Channels", - "TabCollections": "Collections", - "HeaderChannels": "Channels", - "TabRecordings": "Recordings", + "LabelMetadataDownloadLanguage": "Uprednost\u0148ovan\u00fd jazyk metad\u00e1t:", + "ButtonSignIn": "Prihl\u00e1si\u0165 sa", + "TitleSignIn": "Prihl\u00e1si\u0165 sa", + "HeaderPleaseSignIn": "Pros\u00edm prihl\u00e1ste sa", + "LabelUser": "U\u017e\u00edvate\u013e:", + "LabelPassword": "Heslo:", + "ButtonManualLogin": "Manu\u00e1lne prihl\u00e1senie", + "TabGuide": "Sprievodca", + "TabChannels": "Kan\u00e1ly", + "TabCollections": "Zbierky", + "HeaderChannels": "Kan\u00e1ly", + "TabRecordings": "Nahr\u00e1vky", "TabSeries": "Series", "TabFavorites": "Ob\u013e\u00faben\u00e9", - "TabMyLibrary": "My Library", + "TabMyLibrary": "Moja kni\u017enica", "LabelStartWhenPossible": "Start when possible:", "LabelStopWhenPossible": "Stop when possible:", - "MinutesBefore": "minutes before", - "MinutesAfter": "minutes after", - "TabSettings": "Settings", + "MinutesBefore": "Nastavenia", + "MinutesAfter": "min\u00fat po", + "TabSettings": "Nastavenia", "ButtonRefreshGuideData": "Refresh Guide Data", - "ButtonRefresh": "Refresh", - "OptionPriority": "Priority", + "ButtonRefresh": "Obnovi\u0165", + "OptionPriority": "Priorita", "OptionRecordOnAllChannels": "Record on all channels", "OptionRecordAnytime": "Record at any time", "OptionRecordOnlyNewEpisodes": "Record only new episodes", - "HeaderDays": "Days", - "HeaderActiveRecordings": "Active Recordings", - "HeaderLatestRecordings": "Latest Recordings", - "ButtonPlay": "Play", + "HeaderDays": "Dni", + "HeaderActiveRecordings": "Akt\u00edvne nahr\u00e1vky", + "HeaderLatestRecordings": "Posledn\u00e9 nahr\u00e1vky", + "ButtonPlay": "Prehra\u0165", "ButtonEdit": "Edit", "ButtonRecord": "Record", - "ButtonDelete": "Delete", - "ButtonRemove": "Remove", + "ButtonDelete": "Zmaza\u0165", + "ButtonRemove": "Odstr\u00e1ni\u0165", "OptionRecordSeries": "Record Series", - "HeaderDetails": "Details", + "HeaderDetails": "Detaily", "TitleLiveTV": "Live TV", "LabelNumberOfGuideDays": "Number of days of guide data to download:", "LabelNumberOfGuideDaysHelp": "Downloading more days worth of guide data provides the ability to schedule out further in advance and view more listings, but it will also take longer to download. Auto will choose based on the number of channels.", "OptionAutomatic": "Auto", - "HeaderServices": "Services", + "HeaderServices": "Slu\u017eby", "LabelCustomizeOptionsPerMediaType": "Customize for media type:", "OptionDownloadThumbImage": "Thumb", "OptionDownloadMenuImage": "Menu", @@ -359,39 +359,39 @@ "OptionDownloadBoxImage": "Box", "OptionDownloadDiscImage": "Disc", "OptionDownloadBannerImage": "Banner", - "OptionDownloadBackImage": "Back", + "OptionDownloadBackImage": "Sp\u00e4\u0165", "OptionDownloadArtImage": "Art", "OptionDownloadPrimaryImage": "Primary", "HeaderFetchImages": "Fetch Images:", - "HeaderImageSettings": "Image Settings", - "TabOther": "Other", + "HeaderImageSettings": "Nastavenia obr\u00e1zkov", + "TabOther": "In\u00e9", "LabelMaxBackdropsPerItem": "Maximum number of backdrops per item:", "LabelMaxScreenshotsPerItem": "Maximum number of screenshots per item:", "LabelMinBackdropDownloadWidth": "Minimum backdrop download width:", "LabelMinScreenshotDownloadWidth": "Minimum screenshot download width:", "ButtonAddScheduledTaskTrigger": "Add Trigger", "HeaderAddScheduledTaskTrigger": "Add Trigger", - "ButtonAdd": "Add", + "ButtonAdd": "Prida\u0165", "LabelTriggerType": "Trigger Type:", - "OptionDaily": "Daily", - "OptionWeekly": "Weekly", + "OptionDaily": "Denne", + "OptionWeekly": "T\u00fd\u017edenne", "OptionOnInterval": "On an interval", "OptionOnAppStartup": "On application startup", "OptionAfterSystemEvent": "After a system event", - "LabelDay": "Day:", - "LabelTime": "Time:", - "LabelEvent": "Event:", - "OptionWakeFromSleep": "Wake from sleep", + "LabelDay": "De\u0148:", + "LabelTime": "\u010cas:", + "LabelEvent": "Udalos\u0165:", + "OptionWakeFromSleep": "Zobudi\u0165 zo sp\u00e1nku", "LabelEveryXMinutes": "Every:", "HeaderTvTuners": "Tuners", - "HeaderLatestGames": "Latest Games", + "HeaderLatestGames": "Posledn\u00e9 hry", "TabGameSystems": "Game Systems", - "TabFolders": "Folders", + "TabFolders": "Prie\u010dinky", "LabelSpecialSeasonsDisplayName": "Special season display name:", "LabelEnableRealtimeMonitor": "Enable real time monitoring", "LabelEnableRealtimeMonitorHelp": "Changes will be processed immediately, on supported file systems.", - "ButtonScanLibrary": "Scan Library", - "HeaderNumberOfPlayers": "Players", + "ButtonScanLibrary": "Skenova\u0165 kni\u017enicu", + "HeaderNumberOfPlayers": "Prehr\u00e1va\u010de", "OptionAnyNumberOfPlayers": "Any", "Option1Player": "1+", "Option2Player": "2+", @@ -402,7 +402,7 @@ "HeaderThemeSongs": "Theme Songs", "HeaderScenes": "Scenes", "HeaderAwardsAndReviews": "Awards and Reviews", - "HeaderMusicVideos": "Music Videos", + "HeaderMusicVideos": "Hudobn\u00e9 vide\u00e1", "HeaderSpecialFeatures": "Special Features", "HeaderCastCrew": "Cast & Crew", "HeaderAdditionalParts": "Additional Parts", @@ -410,10 +410,10 @@ "ButtonPlayTrailer": "Trailer", "LabelMissing": "Missing", "OptionSpecialEpisode": "Specials", - "OptionMissingEpisode": "Missing Episodes", - "OptionUnairedEpisode": "Unaired Episodes", + "OptionMissingEpisode": "Ch\u00fdbaj\u00face epiz\u00f3dy", + "OptionUnairedEpisode": "Nevysielan\u00e9 epiz\u00f3dy", "OptionEpisodeSortName": "Episode Sort Name", - "OptionTvdbRating": "Tvdb Rating", + "OptionTvdbRating": "TVDB hodnotenie", "HeaderAddTitles": "Add Titles", "LabelEnableDlnaPlayTo": "Enable DLNA Play To", "LabelEnableDlnaPlayToHelp": "Emby can detect devices within your network and offer the ability to remote control them.", @@ -425,10 +425,10 @@ "HeaderSystemDlnaProfiles": "System Profiles", "CustomDlnaProfilesHelp": "Create a custom profile to target a new device or override a system profile.", "SystemDlnaProfilesHelp": "System profiles are read-only. Changes to a system profile will be saved to a new custom profile.", - "TabHome": "Home", + "TabHome": "Domov", "TabInfo": "Info", - "HeaderLinks": "Links", - "LinkCommunity": "Community", + "HeaderLinks": "Odkazy", + "LinkCommunity": "Komunita", "LinkGithub": "Github", "LinkApi": "Api", "LabelFriendlyServerName": "Friendly server name:", @@ -437,7 +437,7 @@ "LabelPreferredDisplayLanguageHelp": "Translating Emby is an ongoing project.", "LabelReadHowYouCanContribute": "Learn how you can contribute.", "ButtonSubmit": "Submit", - "ButtonCreate": "Create", + "ButtonCreate": "Vytvori\u0165", "LabelCustomCss": "Custom css:", "LabelCustomCssHelp": "Apply your own custom css to the web interface.", "LabelLocalHttpServerPortNumber": "Local http port number:", @@ -452,9 +452,9 @@ "LabelHttpsPortHelp": "The tcp port number that Emby's https server should bind to.", "LabelEnableAutomaticPortMap": "Enable automatic port mapping", "LabelEnableAutomaticPortMapHelp": "Attempt to automatically map the public port to the local port via UPnP. This may not work with some router models.", - "LabelExternalDDNS": "External domain:", + "LabelExternalDDNS": "Extern\u00e1 dom\u00e9na:", "LabelExternalDDNSHelp": "If you have a dynamic DNS enter it here. Emby apps will use it when connecting remotely. This field is required when used with a custom ssl certificate. Example: mydomain.com.", - "TitleAppSettings": "App Settings", + "TitleAppSettings": "Nastavenia aplik\u00e1cie", "LabelMinResumePercentage": "Min resume percentage:", "LabelMaxResumePercentage": "Max resume percentage:", "LabelMinResumeDuration": "Min resume duration (seconds):", @@ -462,45 +462,42 @@ "LabelMaxResumePercentageHelp": "Titles are assumed fully played if stopped after this time", "LabelMinResumeDurationHelp": "Titles shorter than this will not be resumable", "HeaderName": "Name", - "HeaderDate": "Date", - "HeaderSource": "Source", + "HeaderDate": "D\u00e1tum", + "HeaderSource": "Zdroj", "HeaderStatus": "Status", - "HeaderDestination": "Destination", + "HeaderDestination": "Cie\u013e", "HeaderProgram": "Program", - "HeaderClients": "Clients", - "LabelCompleted": "Completed", + "HeaderClients": "Klienti", + "LabelCompleted": "Dokon\u010den\u00e9", "LabelFailed": "Failed", - "LabelSkipped": "Skipped", + "LabelSkipped": "Presko\u010den\u00e9", "LabelSeries": "Series:", - "LabelSeasonNumber": "Season number:", - "LabelEpisodeNumber": "Episode number:", + "LabelSeasonNumber": "\u010c\u00edslo sez\u00f3ny:", + "LabelEpisodeNumber": "\u010c\u00edslo epiz\u00f3dy:", "LabelEndingEpisodeNumber": "Ending episode number:", "LabelEndingEpisodeNumberHelp": "Only required for multi-episode files", - "HeaderSupportTheTeam": "Support the Emby Team", + "HeaderSupportTheTeam": "Podporte Emby t\u00edm", "HeaderSupportTheTeamHelp": "Help ensure the continued development of this project by purchasing Emby Premiere. A portion of all income will be contributed to other free tools we depend on.", "DonationNextStep": "Once complete, please return and enter your Emby Premiere key, which you will receive by email.", "OptionEnableEpisodeOrganization": "Enable new episode organization", "LabelSeasonFolderPattern": "Season folder pattern:", "LabelSeasonZeroFolderName": "Season zero folder name:", - "HeaderResult": "Result", - "OptionOverwriteExistingEpisodes": "Overwrite existing episodes", - "LabelTransferMethod": "Transfer method", - "OptionCopy": "Copy", - "OptionMove": "Move", - "LabelTransferMethodHelp": "Copy or move files from the watch folder", + "HeaderResult": "V\u00fdsledok", + "OptionOverwriteExistingEpisodes": "Prep\u00edsa\u0165 existuj\u00face epiz\u00f3dy", + "LabelTransferMethod": "Sp\u00f4sob prenosu", "HeaderLatestNews": "Latest News", - "HeaderRunningTasks": "Running Tasks", - "HeaderActiveDevices": "Active Devices", + "HeaderRunningTasks": "Be\u017eiace \u00falohy", + "HeaderActiveDevices": "Akt\u00edvne zariadenia", "HeaderPendingInstallations": "Pending Installations", - "ButtonRestartNow": "Restart Now", - "ButtonRestart": "Restart", - "ButtonShutdown": "Shutdown", - "ButtonUpdateNow": "Update Now", + "ButtonRestartNow": "Re\u0161tartova\u0165 teraz", + "ButtonRestart": "Re\u0161tartova\u0165", + "ButtonShutdown": "Vypn\u00fa\u0165", + "ButtonUpdateNow": "Aktualizova\u0165 teraz", "TabHosting": "Hosting", - "PleaseUpdateManually": "Please shutdown Emby Server and install the latest version.", - "NewServerVersionAvailable": "A new version of Emby Server is available!", - "ServerUpToDate": "Emby Server is up to date", - "LabelComponentsUpdated": "The following components have been installed or updated:", + "PleaseUpdateManually": "Vypnite pros\u00edm Emby server a nain\u0161talujte najnov\u0161iu verziu.", + "NewServerVersionAvailable": "Je dostupn\u00e1 nov\u00e1 verzia Emby servera!", + "ServerUpToDate": "Emby Server je aktu\u00e1lny", + "LabelComponentsUpdated": "Nasledovn\u00e9 komponenty boli nain\u0161talovan\u00e9 alebo aktualizovan\u00e9:", "MessagePleaseRestartServerToFinishUpdating": "Please restart the server to finish applying updates.", "LabelDownMixAudioScale": "Audio boost when downmixing:", "LabelDownMixAudioScaleHelp": "Boost audio when downmixing. Set to 1 to preserve original volume value.", @@ -515,7 +512,7 @@ "MessageInvalidKey": "Emby Premiere key is missing or invalid.", "ErrorMessageInvalidKey": "In order for any premium content to be registered, you must also have an active Emby Premiere subscription.", "HeaderDisplaySettings": "Display Settings", - "LabelEnableDlnaServer": "Enable Dlna server", + "LabelEnableDlnaServer": "Povoli\u0165 DLNA server", "LabelEnableDlnaServerHelp": "Allows UPnP devices on your network to browse and play Emby content.", "LabelEnableBlastAliveMessages": "Blast alive messages", "LabelEnableBlastAliveMessagesHelp": "Enable this if the server is not detected reliably by other UPnP devices on your network.", @@ -523,64 +520,64 @@ "LabelBlastMessageIntervalHelp": "Determines the duration in seconds between server alive messages.", "LabelDefaultUser": "Default user:", "LabelDefaultUserHelp": "Determines which user library should be displayed on connected devices. This can be overridden for each device using profiles.", - "HeaderServerSettings": "Server Settings", + "HeaderServerSettings": "Nastavenia servera", "HeaderRequireManualLogin": "Require manual username entry for:", "HeaderRequireManualLoginHelp": "When disabled, Emby apps may present a login screen with a visual selection of users.", - "OptionOtherApps": "Other apps", - "OptionMobileApps": "Mobile apps", + "OptionOtherApps": "In\u00e9 aplik\u00e1cie", + "OptionMobileApps": "Mobiln\u00e9 aplik\u00e1cie", "LabelNotificationEnabled": "Enable this notification", "LabelMonitorUsers": "Monitor activity from:", "LabelSendNotificationToUsers": "Send the notification to:", "LabelUseNotificationServices": "Use the following services:", "CategoryUser": "User", - "CategorySystem": "System", - "CategoryApplication": "Application", + "CategorySystem": "Syst\u00e9m", + "CategoryApplication": "Aplik\u00e1cia", "CategoryPlugin": "Plugin", - "LabelAvailableTokens": "Available tokens:", + "LabelAvailableTokens": "Dostupn\u00e9 tokeny:", "AdditionalNotificationServices": "Browse the plugin catalog to install additional notification services.", - "OptionAllUsers": "All users", + "OptionAllUsers": "V\u0161etci u\u017e\u00edvatelia", "OptionAdminUsers": "Administrators", "OptionCustomUsers": "Custom", - "ButtonArrowUp": "Up", - "ButtonArrowDown": "Down", - "ButtonArrowLeft": "Left", - "ButtonArrowRight": "Right", - "ButtonBack": "Back", + "ButtonArrowUp": "Hore", + "ButtonArrowDown": "Dole", + "ButtonArrowLeft": "V\u013eavo", + "ButtonArrowRight": "Vpravo", + "ButtonBack": "Sp\u00e4\u0165", "ButtonInfo": "Info", - "ButtonHome": "Home", - "ButtonSearch": "Search", - "ButtonSettings": "Settings", - "Settings": "Settings", + "ButtonHome": "Domov", + "ButtonSearch": "H\u013eada\u0165", + "ButtonSettings": "Nastavenia", + "Settings": "Nastavenia", "Mute": "Mute", "Unmute": "Unmute", - "Subtitles": "Subtitles", + "Subtitles": "Titulky", "Audio": "Audio", "Rewind": "Rewind", - "Fullscreen": "Full screen", + "Fullscreen": "Na cel\u00fa obrazovku", "ExitFullscreen": "Exit full screen", - "PictureInPicture": "Picture in picture", - "PlayOnAnotherDevice": "Play on another device", + "PictureInPicture": "Obraz v obraze", + "PlayOnAnotherDevice": "Prehra\u0165 na inom zariaden\u00ed", "FastForward": "Fast-forward", "LetterButtonAbbreviation": "A", - "TabNowPlaying": "Now Playing", - "TabNavigation": "Navigation", + "TabNowPlaying": "Teraz prehr\u00e1van\u00e9", + "TabNavigation": "Navig\u00e1cia", "TabControls": "Controls", - "ButtonSubtitles": "Subtitles", + "ButtonSubtitles": "Titulky", "ButtonPreviousTrack": "Previous track", "ButtonNextTrack": "Next track", "ButtonStop": "Stop", - "ButtonPause": "Pause", - "ButtonNext": "Next", - "ButtonPrevious": "Previous", + "ButtonPause": "Pauza", + "ButtonNext": "\u010eal\u0161ie", + "ButtonPrevious": "Predch\u00e1dzaj\u00face", "LabelGroupMoviesIntoCollections": "Group movies into collections", "LabelGroupMoviesIntoCollectionsHelp": "When displaying movie lists, movies belonging to a collection will be displayed as one grouped item.", "HeaderLatestMedia": "Latest Media", - "OptionNoSubtitles": "No Subtitles", - "HeaderCollections": "Collections", + "OptionNoSubtitles": "\u017diadne titulky", + "HeaderCollections": "Zbierky", "LabelProfileCodecsHelp": "Separated by comma. This can be left empty to apply to all codecs.", "LabelProfileContainersHelp": "Separated by comma. This can be left empty to apply to all containers.", "HeaderResponseProfile": "Response Profile", - "LabelType": "Type:", + "LabelType": "Typ:", "LabelProfileContainer": "Container:", "LabelProfileVideoCodecs": "Video codecs:", "LabelProfileAudioCodecs": "Audio codecs:", @@ -599,7 +596,7 @@ "OptionPlainStorageFoldersHelp": "If enabled, all folders are represented in DIDL as \"object.container.storageFolder\" instead of a more specific type, such as \"object.container.person.musicArtist\".", "OptionPlainVideoItems": "Display all videos as plain video items", "OptionPlainVideoItemsHelp": "If enabled, all videos are represented in DIDL as \"object.item.videoItem\" instead of a more specific type, such as \"object.item.videoItem.movie\".", - "LabelSupportedMediaTypes": "Supported Media Types:", + "LabelSupportedMediaTypes": "Podporovan\u00e9 typy m\u00e9di\u00ed:", "HeaderIdentification": "Identification", "TabDirectPlay": "Direct Play", "TabContainers": "Containers", @@ -632,15 +629,15 @@ "OptionIgnoreTranscodeByteRangeRequests": "Ignore transcode byte range requests", "OptionIgnoreTranscodeByteRangeRequestsHelp": "If enabled, these requests will be honored but will ignore the byte range header.", "LabelFriendlyName": "Friendly name", - "LabelManufacturer": "Manufacturer", + "LabelManufacturer": "V\u00fdrobca", "LabelManufacturerUrl": "Manufacturer url", - "LabelModelName": "Model name", - "LabelModelNumber": "Model number", - "LabelModelDescription": "Model description", + "LabelModelName": "N\u00e1zov modelu", + "LabelModelNumber": "\u010c\u00edslo modelu", + "LabelModelDescription": "Popis modelu", "LabelModelUrl": "Model url", - "LabelSerialNumber": "Serial number", - "LabelDeviceDescription": "Device description", - "HeaderIdentificationCriteriaHelp": "Enter at least one identification criteria.", + "LabelSerialNumber": "S\u00e9riov\u00e9 \u010d\u00edslo", + "LabelDeviceDescription": "Popis zariadenia", + "HeaderIdentificationCriteriaHelp": "Zadajte aspo\u0148 jedno identifika\u010dn\u00e9 krit\u00e9rium.", "HeaderDirectPlayProfileHelp": "Add direct play profiles to indicate which formats the device can handle natively.", "HeaderTranscodingProfileHelp": "Add transcoding profiles to indicate which formats should be used when transcoding is required.", "HeaderContainerProfileHelp": "Container profiles indicate the limitations of a device when playing specific formats. If a limitation applies then the media will be transcoded, even if the format is configured for direct play.", @@ -661,62 +658,49 @@ "OptionReportByteRangeSeekingWhenTranscoding": "Report that the server supports byte seeking when transcoding", "OptionReportByteRangeSeekingWhenTranscodingHelp": "This is required for some devices that don't time seek very well.", "HeaderDownloadSubtitlesFor": "Download subtitles for:", - "LabelSkipIfGraphicalSubsPresent": "Skip if the video already contains embedded subtitles", + "LabelSkipIfGraphicalSubsPresent": "Presko\u010di\u0165 ak video obsahuje vlo\u017een\u00e9 titulky", "LabelSkipIfGraphicalSubsPresentHelp": "Keeping text versions of subtitles will result in more efficient delivery and decrease the likelihood of video transcoding.", - "TabSubtitles": "Subtitles", - "TabChapters": "Chapters", + "TabSubtitles": "Titulky", + "TabChapters": "Kapitoly", "LabelOpenSubtitlesUsername": "Open Subtitles username:", "LabelOpenSubtitlesPassword": "Open Subtitles password:", "LabelPlayDefaultAudioTrack": "Play default audio track regardless of language", "LabelSubtitlePlaybackMode": "Subtitle mode:", - "LabelDownloadLanguages": "Download languages:", + "LabelDownloadLanguages": "Prebra\u0165 jazyky:", "ButtonRegister": "Register", "LabelSkipIfAudioTrackPresent": "Skip if the default audio track matches the download language", "LabelSkipIfAudioTrackPresentHelp": "Uncheck this to ensure all videos have subtitles, regardless of audio language.", - "SendMessage": "Send message", - "HeaderSendMessage": "Send Message", - "ButtonSend": "Send", + "SendMessage": "Posla\u0165 spr\u00e1vu", + "HeaderSendMessage": "Posla\u0165 spr\u00e1vu", + "ButtonSend": "Odosla\u0165", "ViewPlaybackInfo": "View playback info", - "LabelMessageText": "Message text:", + "LabelMessageText": "Text spr\u00e1vy:", "LabelMessageTitle": "Message title:", - "MessageNoAvailablePlugins": "No available plugins.", - "LabelDisplayPluginsFor": "Display plugins for:", - "PluginTabAppClassic": "Emby for Windows Media Center", - "LabelEpisodeNamePlain": "Episode name", - "LabelSeriesNamePlain": "Series name", - "ValueSeriesNamePeriod": "Series.name", - "ValueSeriesNameUnderscore": "Series_name", - "ValueEpisodeNamePeriod": "Episode.name", - "ValueEpisodeNameUnderscore": "Episode_name", - "LabelSeasonNumberPlain": "Season number", - "LabelEpisodeNumberPlain": "Episode number", - "LabelEndingEpisodeNumberPlain": "Ending episode number", + "MessageNoAvailablePlugins": "\u017diadne dostupn\u00e9 roz\u0161\u00edrenia.", + "LabelDisplayPluginsFor": "Zobrazi\u0165 roz\u0161\u00edrenia pre:", + "PluginTabAppClassic": "Emby pre Windows Media Center", "HeaderTypeText": "Enter Text", "LabelTypeText": "Text", "TabDisplay": "Display", - "TabLanguages": "Languages", - "TabAppSettings": "App Settings", - "LabelEnableThemeSongs": "Enable theme songs", - "LabelEnableBackdrops": "Enable backdrops", - "LabelEnableThemeSongsHelp": "If enabled, theme songs will be played in the background while browsing the library.", - "LabelEnableBackdropsHelp": "If enabled, backdrops will be displayed in the background of some pages while browsing the library.", - "HeaderHomePage": "Home Page", + "TabLanguages": "Jazyky", + "TabAppSettings": "Nastavenia aplik\u00e1cie", + "HeaderHomePage": "Domovsk\u00e1 str\u00e1nka", "OptionAuto": "Auto", - "OptionYes": "Yes", - "OptionNo": "No", + "OptionYes": "\u00c1no", + "OptionNo": "Nie", "HeaderOptions": "Options", "LabelHomeScreenSectionValue": "Home screen section {0}:", - "OptionResumablemedia": "Resume", + "OptionResumablemedia": "Pokra\u010dova\u0165", "OptionLatestMedia": "Latest media", "OptionLatestChannelMedia": "Latest channel items", "HeaderLatestChannelItems": "Latest Channel Items", - "OptionNone": "None", + "OptionNone": "\u017diadne", "HeaderLiveTv": "Live TV", "HeaderReports": "Reports", - "HeaderSettings": "Settings", + "HeaderSettings": "Nastavenia", "OptionDefaultSort": "Default", - "TabNextUp": "Next Up", - "HeaderBecomeProjectSupporter": "Get Emby Premiere", + "TabNextUp": "Nasleduje", + "HeaderBecomeProjectSupporter": "Z\u00edska\u0165 Emby Premiere", "MessageNoMovieSuggestionsAvailable": "No movie suggestions are currently available. Start watching and rating your movies, and then come back to view your recommendations.", "MessageNoCollectionsAvailable": "Collections allow you to enjoy personalized groupings of Movies, Series, Albums, Books and Games. Click the + button to start creating Collections.", "MessageNoPlaylistsAvailable": "Playlists allow you to create lists of content to play consecutively at a time. To add items to playlists, right click or tap and hold, then select Add to Playlist.", @@ -725,7 +709,7 @@ "LabelChannelStreamQuality": "Preferred internet channel quality:", "LabelChannelStreamQualityHelp": "In a low bandwidth environment, limiting quality can help ensure a smooth streaming experience.", "OptionBestAvailableStreamQuality": "Best available", - "ViewTypeMovies": "Movies", + "ViewTypeMovies": "Filmy", "ViewTypeTvShows": "TV", "ViewTypeGames": "Games", "ViewTypeMusic": "Music", @@ -736,10 +720,10 @@ "ViewTypeMusicFavoriteArtists": "Favorite Artists", "ViewTypeMusicFavoriteSongs": "Ob\u013e\u00faben\u00e9 pesni\u010dky", "HeaderMyViews": "My Views", - "OptionDisplayAdultContent": "Display adult content", + "OptionDisplayAdultContent": "Zobrazi\u0165 obsah pre dospel\u00fdch", "OptionLibraryFolders": "Media folders", - "TitleRemoteControl": "Remote Control", - "OptionLatestTvRecordings": "Latest recordings", + "TitleRemoteControl": "\u010eia\u013ekov\u00e9 ovl\u00e1danie", + "OptionLatestTvRecordings": "Posledn\u00e9 nahr\u00e1vky", "LabelProtocolInfo": "Protocol info:", "LabelProtocolInfoHelp": "The value that will be used when responding to GetProtocolInfo requests from the device.", "TabNfoSettings": "Nfo Settings", @@ -769,20 +753,20 @@ "TitleServer": "Server", "LabelCache": "Cache:", "LabelLogs": "Logs:", - "LabelMetadata": "Metadata:", + "LabelMetadata": "Metad\u00e1ta:", "LabelTranscodingTemporaryFiles": "Transcoding temporary files:", - "HeaderLatestMusic": "Latest Music", + "HeaderLatestMusic": "Posledn\u00e1 hudba", "HeaderBranding": "Branding", "HeaderApiKeys": "Api Keys", "HeaderApiKeysHelp": "External applications are required to have an Api key in order to communicate with Emby Server. Keys are issued by logging in with an Emby account, or by manually granting the application a key.", "HeaderApiKey": "Api Key", "HeaderApp": "App", - "HeaderDevice": "Device", + "HeaderDevice": "Zariadenie", "HeaderUser": "User", "HeaderDateIssued": "Date Issued", "HeaderHttpHeaders": "Http Headers", "HeaderIdentificationHeader": "Identification Header", - "LabelValue": "Value:", + "LabelValue": "Hodnota:", "LabelMatchType": "Match type:", "OptionEquals": "Equals", "OptionRegex": "Regex", @@ -795,29 +779,29 @@ "LabelView": "View:", "TabUsers": "Users", "HeaderFeatures": "Features", - "HeaderAdvanced": "Advanced", + "HeaderAdvanced": "Pokro\u010dil\u00e9", "ButtonSync": "Sync", "TabScheduledTasks": "Scheduled Tasks", - "HeaderChapters": "Chapters", + "HeaderChapters": "Kapitoly", "HeaderResumeSettings": "Resume Settings", "TabSync": "Sync", - "TitleUsers": "Users", - "LabelProtocol": "Protocol:", - "OptionProtocolHttp": "Http", + "TitleUsers": "U\u017e\u00edvatelia", + "LabelProtocol": "Protokol:", + "OptionProtocolHttp": "HTTP", "OptionProtocolHls": "Http Live Streaming", "LabelContext": "Context:", "TabPlaylists": "Playlists", - "ButtonClose": "Close", - "LabelAllLanguages": "All languages", - "LabelSource": "Source:", - "OptionAll": "All", - "LabelImage": "Image:", - "HeaderImages": "Images", + "ButtonClose": "Zatvori\u0165", + "LabelAllLanguages": "V\u0161etky jazyky", + "LabelSource": "Zdroj:", + "OptionAll": "V\u0161etky", + "LabelImage": "Obr\u00e1zok:", + "HeaderImages": "Obr\u00e1zky", "HeaderBackdrops": "Backdrops", "HeaderAddUpdateImage": "Add\/Update Image", "LabelDropImageHere": "Drop image here.", - "LabelJpgPngOnly": "JPG\/PNG only", - "LabelImageType": "Image type:", + "LabelJpgPngOnly": "Iba JPG\/PNG", + "LabelImageType": "Typ obr\u00e1zku:", "OptionPrimary": "Primary", "OptionArt": "Art", "OptionBox": "Box", @@ -827,62 +811,62 @@ "OptionLogo": "Logo", "OptionMenu": "Menu", "OptionScreenshot": "Screenshot", - "OptionLocked": "Locked", - "OptionUnidentified": "Unidentified", + "OptionLocked": "Zamknut\u00e9", + "OptionUnidentified": "Neidentifikovan\u00e9", "OptionMissingParentalRating": "Missing parental rating", "OptionSeason0": "Season 0", "LabelReport": "Report:", "OptionReportSongs": "Songs", "OptionReportSeries": "Series", - "OptionReportSeasons": "Seasons", + "OptionReportSeasons": "Sez\u00f3ny", "OptionReportTrailers": "Trailers", - "OptionReportMusicVideos": "Music videos", - "OptionReportMovies": "Movies", - "OptionReportHomeVideos": "Home videos", - "OptionReportGames": "Games", - "OptionReportEpisodes": "Episodes", - "OptionReportCollections": "Collections", - "OptionReportBooks": "Books", - "OptionReportArtists": "Artists", - "OptionReportAlbums": "Albums", - "ButtonMore": "More", - "HeaderActivity": "Activity", + "OptionReportMusicVideos": "Hudobn\u00e9 vide\u00e1", + "OptionReportMovies": "Filmy", + "OptionReportHomeVideos": "Dom\u00e1ce vide\u00e1", + "OptionReportGames": "Hry", + "OptionReportEpisodes": "Epiz\u00f3dy", + "OptionReportCollections": "Zbierky", + "OptionReportBooks": "Knihy", + "OptionReportArtists": "Umelci", + "OptionReportAlbums": "Albumy", + "ButtonMore": "Viac", + "HeaderActivity": "Aktivita", "PluginInstalledWithName": "{0} was installed", "PluginUpdatedWithName": "{0} was updated", "PluginUninstalledWithName": "{0} was uninstalled", "LabelRunningTimeValue": "Running time: {0}", - "LabelIpAddressValue": "Ip address: {0}", + "LabelIpAddressValue": "IP adresa: {0}", "MessageServerConfigurationUpdated": "Server configuration has been updated", "MessageNamedServerConfigurationUpdatedWithValue": "Server configuration section {0} has been updated", "MessageApplicationUpdated": "Emby Server has been updated", "ProviderValue": "Provider: {0}", - "HeaderRecentActivity": "Recent Activity", + "HeaderRecentActivity": "Posledn\u00e1 aktivita", "HeaderPeople": "People", - "OptionComposers": "Composers", - "OptionOthers": "Others", + "OptionComposers": "Skladatelia", + "OptionOthers": "In\u00e9", "ViewTypeFolders": "Folders", "OptionDisplayFolderView": "Display a folder view to show plain media folders", "OptionDisplayFolderViewHelp": "If enabled, Emby apps will display a Folders category alongside your media library. This is useful if you'd like to have plain folder views.", "ViewTypeLiveTvRecordingGroups": "Recordings", - "ViewTypeLiveTvChannels": "Channels", - "LabelEasyPinCode": "Easy pin code:", + "ViewTypeLiveTvChannels": "Kan\u00e1ly", + "LabelEasyPinCode": "Jednoduch\u00fd PIN k\u00f3d:", "EasyPasswordHelp": "Your easy pin code is used for offline access with supported Emby apps, and can also be used for easy in-network sign in.", "LabelInNetworkSignInWithEasyPassword": "Enable in-network sign in with my easy pin code", "LabelInNetworkSignInWithEasyPasswordHelp": "If enabled, you'll be able to use your easy pin code to sign in to Emby apps from inside your home network. Your regular password will only be needed away from home. If the pin code is left blank, you won't need a password within your home network.", - "HeaderPassword": "Password", - "HeaderViewOrder": "View Order", + "HeaderPassword": "Heslo", + "HeaderViewOrder": "Poradie zobrazenia", "ButtonResetEasyPassword": "Reset easy pin code", "HeaderPersonInfo": "Person Info", "HeaderConfirmDeletion": "Confirm Deletion", "LabelAlbumArtist": "Album artist:", "LabelAlbumArtists": "Album artists:", "LabelAlbum": "Album:", - "LabelCommunityRating": "Community rating:", - "LabelReleaseDate": "Release date:", + "LabelCommunityRating": "Hodnotenie komunity:", + "LabelReleaseDate": "D\u00e1tum vydania:", "LabelEndDate": "End date:", "LabelAirDate": "Air days:", "LabelAirTime:": "Air time:", - "LabelRuntimeMinutes": "Run time (minutes):", + "LabelRuntimeMinutes": "D\u013a\u017eka (min\u00faty):", "HeaderSpecialEpisodeInfo": "Special Episode Info", "LabelDisplaySpecialsWithinSeasons": "Display specials within seasons they aired in", "HeaderGenres": "Genres", @@ -890,28 +874,28 @@ "HeaderTags": "Tags", "OptionNoTrailer": "No Trailer", "ButtonPurchase": "Purchase", - "OptionActor": "Actor", + "OptionActor": "Herec", "OptionComposer": "Composer", - "OptionDirector": "Director", - "OptionProducer": "Producer", + "OptionDirector": "Re\u017eis\u00e9r", + "OptionProducer": "Producent", "LabelAirDays": "Air days:", "LabelAirTime": "Air time:", "HeaderMediaInfo": "Media Info", - "HeaderPhotoInfo": "Photo Info", - "HeaderInstall": "Install", + "HeaderPhotoInfo": "Inform\u00e1cie o fotke", + "HeaderInstall": "In\u0161talova\u0165", "LabelSelectVersionToInstall": "Select version to install:", "LinkLearnMoreAboutSubscription": "Learn about Emby Premiere", "MessagePluginRequiresSubscription": "This plugin will require an active Emby Premiere subscription after the 14 day free trial.", "MessagePremiumPluginRequiresMembership": "This plugin will require an active Emby Premiere subscription in order to purchase after the 14 day free trial.", "HeaderReviews": "Reviews", "HeaderDeveloperInfo": "Developer Info", - "HeaderRevisionHistory": "Revision History", + "HeaderRevisionHistory": "Hist\u00f3ria rev\u00edzi\u00ed", "ButtonViewWebsite": "View website", "HeaderXmlSettings": "Xml Settings", "HeaderXmlDocumentAttributes": "Xml Document Attributes", "HeaderXmlDocumentAttribute": "Xml Document Attribute", "XmlDocumentAttributeListHelp": "These attributes are applied to the root element of every xml response.", - "OptionSaveMetadataAsHidden": "Save metadata and images as hidden files", + "OptionSaveMetadataAsHidden": "Ulo\u017ei\u0165 metad\u00e1ta a obr\u00e1zky ako skryt\u00e9 s\u00fabory", "LabelExtractChaptersDuringLibraryScan": "Extract chapter images during the library scan", "LabelExtractChaptersDuringLibraryScanHelp": "If enabled, chapter images will be extracted when videos are imported during the library scan. If disabled they will be extracted during the chapter images scheduled task, allowing the regular library scan to complete faster.", "LabelConnectGuestUserName": "Their Emby username or email address:", @@ -923,7 +907,7 @@ "HeaderSubtitleProfile": "Subtitle Profile", "HeaderSubtitleProfiles": "Subtitle Profiles", "HeaderSubtitleProfilesHelp": "Subtitle profiles describe the subtitle formats supported by the device.", - "LabelFormat": "Format:", + "LabelFormat": "Form\u00e1t:", "LabelMethod": "Method:", "LabelDidlMode": "Didl mode:", "OptionCaptionInfoExSamsung": "CaptionInfoEx (Samsung)", @@ -931,12 +915,12 @@ "OptionEmbedSubtitles": "Embed within container", "OptionExternallyDownloaded": "External download", "OptionHlsSegmentedSubtitles": "Hls segmented subtitles", - "LabelSubtitleFormatHelp": "Example: srt", + "LabelSubtitleFormatHelp": "Pr\u00edklad: srt", "ButtonLearnMore": "Learn more", "TabPlayback": "Playback", - "HeaderAudioSettings": "Audio Settings", - "HeaderSubtitleSettings": "Subtitle Settings", - "TabCinemaMode": "Cinema Mode", + "HeaderAudioSettings": "Nastavenia zvuku", + "HeaderSubtitleSettings": "Nastavenia titulkov", + "TabCinemaMode": "Kino m\u00f3d", "TitlePlayback": "Playback", "LabelEnableCinemaModeFor": "Enable cinema mode for:", "CinemaModeConfigurationHelp": "Cinema mode brings the theater experience straight to your living room with the ability to play trailers and custom intros before the main feature.", @@ -953,80 +937,80 @@ "OptionUpcomingDvdMovies": "Include trailers from new and upcoming movies on Dvd & Blu-ray", "OptionUpcomingStreamingMovies": "Include trailers from new and upcoming movies on Netflix", "CinemaModeConfigurationHelp2": "Emby apps will have a setting to enable or disable cinema mode. TV apps enable cinema mode by default.", - "LabelEnableCinemaMode": "Enable cinema mode", - "HeaderCinemaMode": "Cinema Mode", + "LabelEnableCinemaMode": "Povoli\u0165 kino m\u00f3d", + "HeaderCinemaMode": "Kino m\u00f3d", "LabelDateAddedBehavior": "Date added behavior for new content:", "OptionDateAddedImportTime": "Use date scanned into the library", - "OptionDateAddedFileTime": "Use file creation date", + "OptionDateAddedFileTime": "Pou\u017ei\u0165 d\u00e1tum vytvorenia s\u00faboru", "LabelDateAddedBehaviorHelp": "If a metadata value is present it will always be used before either of these options.", "LabelNumberTrailerToPlay": "Number of trailers to play:", - "TitleDevices": "Devices", + "TitleDevices": "Zariadenia", "TabCameraUpload": "Camera Upload", - "TabDevices": "Devices", - "HeaderLibrarySettings": "Library Settings", - "HeaderChapterSettings": "Chapter Settings", + "TabDevices": "Zariadenia", + "HeaderLibrarySettings": "Nastavenia kni\u017enice", + "HeaderChapterSettings": "Nastavenia kapitoly", "HeaderCameraUploadHelp": "Emby apps can automatically upload photos and videos taken from your mobile devices into Emby Server.", "LabelCameraUploadPath": "Camera upload path:", "LabelCameraUploadPathHelp": "Select a custom upload path. This will override any default settings set in the Camera Upload section. If left blank, a default folder will be used. If using a custom path it will also need to be added in the library setup area.", - "LabelCreateCameraUploadSubfolder": "Create a subfolder for each device", + "LabelCreateCameraUploadSubfolder": "Vytvori\u0165 podprie\u010dinok pre ka\u017ed\u00e9 zariadenie", "LabelCreateCameraUploadSubfolderHelp": "Specific folders can be assigned to a device by clicking on it from the Devices page.", "LabelCustomDeviceDisplayName": "Display name:", "LabelCustomDeviceDisplayNameHelp": "Supply a custom display name or leave empty to use the name reported by the device.", "HeaderInviteUser": "Invite User", "LabelConnectGuestUserNameHelp": "This is the username that your friend uses to sign in to the Emby website, or their email address.", "HeaderInviteUserHelp": "Sharing your media with friends is easier than ever before with Emby Connect.", - "ButtonSendInvitation": "Send Invitation", + "ButtonSendInvitation": "Posla\u0165 pozv\u00e1nku", "HeaderSignInWithConnect": "Sign in with Emby Connect", - "HeaderGuests": "Guests", - "HeaderPendingInvitations": "Pending Invitations", - "TabParentalControl": "Parental Control", + "HeaderGuests": "Hostia", + "HeaderPendingInvitations": "\u010cakaj\u00face pozv\u00e1nky", + "TabParentalControl": "Rodi\u010dovsk\u00e1 kontrola", "HeaderAccessSchedule": "Access Schedule", "HeaderAccessScheduleHelp": "Create an access schedule to limit access to certain hours.", - "LabelAccessDay": "Day of week:", + "LabelAccessDay": "De\u0148 v t\u00fd\u017edni:", "LabelAccessStart": "Start time:", "LabelAccessEnd": "End time:", "HeaderSchedule": "Schedule", - "OptionEveryday": "Every day", + "OptionEveryday": "Ka\u017ed\u00fd de\u0148", "OptionWeekdays": "Weekdays", "OptionWeekends": "Weekends", "MessageProfileInfoSynced": "User profile information synced with Emby Connect.", "HeaderOptionalLinkEmbyAccount": "Optional: Link your Emby account", "ButtonTrailer": "Trailer", "MessageNoTrailersFound": "No trailers found. Install the Trailer channel to enhance your movie experience by adding a library of internet trailers.", - "HeaderNewUsers": "New Users", - "ButtonSignUp": "Sign up", - "ButtonForgotPassword": "Forgot password", - "HeaderSelectServer": "Select Server", + "HeaderNewUsers": "Nov\u00ed pou\u017e\u00edvatelia", + "ButtonSignUp": "Prihl\u00e1si\u0165 sa", + "ButtonForgotPassword": "Zabudnut\u00e9 heslo", + "HeaderSelectServer": "Vybra\u0165 server", "MessageNoServersAvailableToConnect": "No servers are available to connect to. If you've been invited to share a server, make sure to accept it below or by clicking the link in the email.", - "TitleNewUser": "New User", - "ButtonConfigurePassword": "Configure Password", + "TitleNewUser": "Nov\u00fd u\u017e\u00edvate\u013e", + "ButtonConfigurePassword": "Nastavi\u0165 heslo", "HeaderDashboardUserPassword": "User passwords are managed within each user's personal profile settings.", "HeaderLibraryAccess": "Library Access", "HeaderChannelAccess": "Channel Access", - "HeaderLatestItems": "Latest Items", + "HeaderLatestItems": "Posledn\u00e9 polo\u017eky", "HeaderShareMediaFolders": "Share Media Folders", "MessageGuestSharingPermissionsHelp": "Most features are initially unavailable to guests but can be enabled as needed.", - "HeaderInvitations": "Invitations", - "Invitations": "Invitations", + "HeaderInvitations": "Pozv\u00e1nky", + "Invitations": "Pozv\u00e1nky", "LabelForgotPasswordUsernameHelp": "Enter your username, if you remember it.", - "HeaderForgotPassword": "Forgot Password", - "TitlePasswordReset": "Password Reset", - "LabelPasswordRecoveryPinCode": "Pin code:", - "HeaderPasswordReset": "Password Reset", + "HeaderForgotPassword": "Zabudnut\u00e9 heslo", + "TitlePasswordReset": "Obnovenie hesla", + "LabelPasswordRecoveryPinCode": "PIN k\u00f3d:", + "HeaderPasswordReset": "Obnovi\u0165 heslo", "HeaderParentalRatings": "Parental Ratings", "HeaderVideoTypes": "Video Types", - "HeaderYears": "Years", + "HeaderYears": "Roky", "HeaderBlockItemsWithNoRating": "Block items with no or unrecognized rating information:", "LabelBlockContentWithTags": "Block items with tags:", "LabelEnableSingleImageInDidlLimit": "Limit to single embedded image", "LabelEnableSingleImageInDidlLimitHelp": "Some devices will not render properly if multiple images are embedded within Didl.", - "TabActivity": "Activity", + "TabActivity": "Aktivita", "TitleSync": "Sync", "OptionAllowSyncContent": "Allow Sync", "OptionAllowContentDownloading": "Allow media downloading", - "NameSeasonUnknown": "Season Unknown", + "NameSeasonUnknown": "Nezn\u00e1ma sez\u00f3na", "NameSeasonNumber": "Season {0}", - "LabelNewUserNameHelp": "Usernames can contain letters (a-z), numbers (0-9), dashes (-), underscores (_), apostrophes ('), and periods (.)", + "LabelNewUserNameHelp": "Pou\u017e\u00edvate\u013esk\u00e9 men\u00e1 m\u00f4\u017eu obsahova\u0165 p\u00edsmen\u00e1 (a-z), \u010d\u00edsla (0-9), poml\u010dky (-), pod\u010diarkovn\u00edky (_), apostrofy (') a bodky (.)", "TabJobs": "Jobs", "TabSyncJobs": "Sync Jobs", "HeaderThisUserIsCurrentlyDisabled": "This user is currently disabled", @@ -1051,42 +1035,42 @@ "OptionEnableFullSpeedConversionHelp": "By default, sync conversion is performed at a low speed to minimize resource consumption.", "HeaderPlaylists": "Playlists", "HeaderViewStyles": "View Styles", - "TabPhotos": "Photos", - "HeaderWelcomeToEmby": "Welcome to Emby", + "TabPhotos": "Fotky", + "HeaderWelcomeToEmby": "V\u00edtajte v Emby", "EmbyIntroMessage": "With Emby you can easily stream videos, music and photos to smart phones, tablets and other devices from your Emby Server.", - "ButtonSkip": "Skip", + "ButtonSkip": "Presko\u010di\u0165", "TextConnectToServerManually": "Connect to server manually", "ButtonSignInWithConnect": "Sign in with Emby Connect", - "ButtonConnect": "Connect", + "ButtonConnect": "Pripoji\u0165", "LabelServerHost": "Host:", - "LabelServerHostHelp": "192.168.1.100 or https:\/\/myserver.com", + "LabelServerHostHelp": "192.168.1.100 alebo https:\/\/myserver.com", "LabelServerPort": "Port:", - "HeaderNewServer": "New Server", + "HeaderNewServer": "Nov\u00fd server", "ButtonChangeServer": "Change Server", - "HeaderConnectToServer": "Connect to Server", + "HeaderConnectToServer": "Propoji\u0165 sa k serveru", "OptionReportList": "List View", "OptionReportStatistics": "Statistics", "OptionReportGrouping": "Grouping", "HeaderExport": "Export", - "HeaderColumns": "Columns", + "HeaderColumns": "St\u013apce", "ButtonReset": "Reset", "OptionEnableExternalVideoPlayers": "Enable external video players", "LabelEnableFullScreen": "Enable fullscreen mode", "LabelEmail": "Email:", "LabelUsername": "Username:", - "HeaderSignUp": "Sign Up", - "LabelPasswordConfirm": "Password (confirm):", - "ButtonAddServer": "Add Server", - "TabHomeScreen": "Home Screen", + "HeaderSignUp": "Prihl\u00e1si\u0165 sa", + "LabelPasswordConfirm": "Heslo (potvrdenie):", + "ButtonAddServer": "Prida\u0165 server", + "TabHomeScreen": "Domovsk\u00e1 obrazovka", "HeaderDisplay": "Display", - "HeaderNavigation": "Navigation", - "OptionEnableAutomaticServerUpdates": "Enable automatic server updates", + "HeaderNavigation": "Navig\u00e1cia", + "OptionEnableAutomaticServerUpdates": "Povoli\u0165 automatick\u00e9 aktualiz\u00e1cie servera", "OptionOtherTrailers": "Include trailers from older movies", "HeaderOverview": "Overview", - "HeaderType": "Type", + "HeaderType": "Typ", "OptionReportActivities": "Activities Log", "HeaderTunerDevices": "Tuner Devices", - "HeaderAddDevice": "Add Device", + "HeaderAddDevice": "Prida\u0165 zariadenie", "HeaderExternalServices": "External Services", "LabelTunerIpAddress": "Tuner IP Address:", "TabExternalServices": "External Services", @@ -1099,18 +1083,18 @@ "MessageTunerDeviceNotListed": "Is your tuner device not listed? Try installing an external service provider for more Live TV options.", "LabelImportOnlyFavoriteChannels": "Restrict to channels marked as favorite", "ImportFavoriteChannelsHelp": "If enabled, only channels that are marked as favorite on the tuner device will be imported.", - "ButtonRepeat": "Repeat", + "ButtonRepeat": "Opakova\u0165", "LabelEnableThisTuner": "Enable this tuner", "LabelEnableThisTunerHelp": "Uncheck to prevent importing channels from this tuner.", "HeaderImagePrimary": "Primary", "HeaderImageBackdrop": "Backdrop", "HeaderImageLogo": "Logo", "HeaderUserPrimaryImage": "User Image", - "ButtonProfile": "Profile", + "ButtonProfile": "Profil", "ButtonProfileHelp": "Set your profile image and password.", - "HeaderHomeScreenSettings": "Home Screen settings", - "HeaderProfile": "Profile", - "HeaderLanguage": "Language", + "HeaderHomeScreenSettings": "Nastavenia dom\u00e1cej obrazovky", + "HeaderProfile": "Profil", + "HeaderLanguage": "Jazyk", "LabelTranscodingThreadCount": "Transcoding thread count:", "LabelTranscodingThreadCountHelp": "Select the maximum number of threads to use when transcoding. Reducing the thread count will lower cpu usage but may not convert fast enough for a smooth playback experience.", "OptionMax": "Max", @@ -1123,47 +1107,47 @@ "HeaderDefaultRecordingSettings": "Default Recording Settings", "OptionEnableRecordingSubfolders": "Create sub-folders for categories such as Sports, Kids, etc.", "HeaderSubtitles": "Subtitles", - "HeaderVideos": "Videos", + "HeaderVideos": "Vide\u00e1", "LabelHardwareAccelerationType": "Hardware acceleration:", "LabelHardwareAccelerationTypeHelp": "Available on supported systems only.", "ButtonServerDashboard": "Server Dashboard", "HeaderAdmin": "Admin", - "ButtonSignOut": "Sign out", + "ButtonSignOut": "Odhl\u00e1si\u0165 sa", "HeaderCameraUpload": "Camera Upload", "SelectCameraUploadServers": "Upload camera photos to the following servers:", "ButtonClear": "Clear", - "LabelFolder": "Folder:", - "HeadersFolders": "Folders", + "LabelFolder": "Prie\u010dinok:", + "HeadersFolders": "Prie\u010dinky", "LabelDisplayName": "Display name:", "LabelCodecIntrosPath": "Codec intros path:", "LabelCodecIntrosPathHelp": "A folder containing video files. If an intro video file name matches the video codec, audio codec, audio profile, or a tag, then it will be played prior to the main feature.", "OptionConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format", "OptionConvertRecordingsToStreamingFormatHelp": "Recordings will be converted on the fly to MKV for easy playback on your devices.", "FeatureRequiresEmbyPremiere": "This feature requires an active Emby Premiere subscription.", - "OptionPlayNextEpisodeAutomatically": "Play next episode automatically", + "OptionPlayNextEpisodeAutomatically": "Automaticky prehra\u0165 \u010fal\u0161iu epiz\u00f3du", "OptionDownloadImagesInAdvance": "Download images in advance", - "SettingsSaved": "Settings saved.", + "SettingsSaved": "Nastavenia ulo\u017een\u00e9.", "OptionDownloadImagesInAdvanceHelp": "By default, most images are only downloaded when requested by an Emby app. Enable this option to download all images in advance, as new media is imported. This may cause significantly longer library scans.", "Users": "Users", - "Delete": "Delete", - "Password": "Password", - "DeleteImage": "Delete Image", + "Delete": "Zmaza\u0165", + "Password": "Heslo", + "DeleteImage": "Zmaza\u0165 obr\u00e1zok", "MessageThankYouForSupporting": "Thank you for supporting Emby.", - "DeleteImageConfirmation": "Are you sure you wish to delete this image?", + "DeleteImageConfirmation": "Ste si ist\u00fd, \u017ee chcete zmaza\u0165 tento obr\u00e1zok?", "FileReadCancelled": "The file read has been canceled.", - "FileNotFound": "File not found.", - "FileReadError": "An error occurred while reading the file.", - "DeleteUser": "Delete User", - "DeleteUserConfirmation": "Are you sure you wish to delete this user?", - "PasswordResetHeader": "Reset Password", - "PasswordResetComplete": "The password has been reset.", + "FileNotFound": "S\u00fabor nen\u00e1jden\u00fd.", + "FileReadError": "Pri \u010d\u00edtan\u00ed s\u00faboru nastala chyba.", + "DeleteUser": "Zmaza\u0165 pou\u017e\u00edvate\u013ea", + "DeleteUserConfirmation": "Ste si ist\u00fd, \u017ee chcete zmaza\u0165 tohto pou\u017e\u00edvate\u013ea?", + "PasswordResetHeader": "Obnovi\u0165 heslo", + "PasswordResetComplete": "Heslo bolo obnoven\u00e9.", "PinCodeResetComplete": "The pin code has been reset.", - "PasswordResetConfirmation": "Are you sure you wish to reset the password?", + "PasswordResetConfirmation": "Naozaj chcete obnovi\u0165 heslo?", "PinCodeResetConfirmation": "Are you sure you wish to reset the pin code?", "HeaderPinCodeReset": "Reset Pin Code", - "PasswordSaved": "Password saved.", + "PasswordSaved": "Heslo ulo\u017een\u00e9.", "PasswordMatchError": "Password and password confirmation must match.", - "UninstallPluginHeader": "Uninstall Plugin", + "UninstallPluginHeader": "Odin\u0161talova\u0165 roz\u0161\u00edrenie", "UninstallPluginConfirmation": "Are you sure you wish to uninstall {0}?", "NoPluginConfigurationMessage": "This plugin has no settings to configure.", "NoPluginsInstalledMessage": "You have no plugins installed.", @@ -1181,44 +1165,44 @@ "HeaderAddTag": "Add Tag", "LabelTag": "Tag:", "ButtonSelectView": "Select view", - "HeaderSelectDate": "Select Date", + "HeaderSelectDate": "Vybra\u0165 d\u00e1tum", "ServerUpdateNeeded": "This Emby Server needs to be updated. To download the latest version, please visit {0}", "LabelFromHelp": "Example: {0} (on the server)", "HeaderMyMedia": "Moje M\u00e9dia", "MessageErrorLoadingSupporterInfo": "There was an error loading Emby Premiere information. Please try again later.", - "HeaderConfirmRemoveUser": "Remove User", - "ValueTimeLimitSingleHour": "Time limit: 1 hour", + "HeaderConfirmRemoveUser": "Odobra\u0165 pou\u017e\u00edvate\u013ea", + "ValueTimeLimitSingleHour": "\u010casov\u00fd limit: 1 hodina", "ValueTimeLimitMultiHour": "Time limit: {0} hours", - "PluginCategoryGeneral": "General", - "PluginCategoryContentProvider": "Content Providers", - "PluginCategoryScreenSaver": "Screen Savers", - "PluginCategoryTheme": "Themes", + "PluginCategoryGeneral": "V\u0161eobecn\u00e9", + "PluginCategoryContentProvider": "Poskytovatelia obsahu", + "PluginCategoryScreenSaver": "\u0160etri\u010de obrazovky", + "PluginCategoryTheme": "T\u00e9my", "PluginCategorySync": "Sync", - "PluginCategorySocialIntegration": "Social Networks", + "PluginCategorySocialIntegration": "Soci\u00e1lne siete", "PluginCategoryNotifications": "Notifications", - "PluginCategoryMetadata": "Metadata", + "PluginCategoryMetadata": "Metad\u00e1ta", "PluginCategoryLiveTV": "Live TV", - "PluginCategoryChannel": "Channels", - "HeaderSearch": "Search", + "PluginCategoryChannel": "Kan\u00e1ly", + "HeaderSearch": "H\u013eada\u0165", "ValueDateCreated": "Date created: {0}", - "LabelArtist": "Artist", - "LabelMovie": "Movie", + "LabelArtist": "Umelec", + "LabelMovie": "Film", "LabelMusicVideo": "Music Video", - "LabelEpisode": "Episode", + "LabelEpisode": "Epiz\u00f3da", "Series": "Series", "LabelStopping": "Stopping", - "LabelCancelled": "Cancelled", + "LabelCancelled": "Zru\u0161en\u00e9", "ButtonDownload": "Download", "LabelCollection": "Collection", - "HeaderDevices": "Devices", - "ButtonScheduledTasks": "Scheduled tasks", + "HeaderDevices": "Zariadenia", + "ButtonScheduledTasks": "Napl\u00e1novan\u00e9 \u00falohy", "MessageItemsAdded": "Items added", "HeaderSelectCertificatePath": "Select Certificate Path", "HeaderSupporterBenefit": "An active Emby Premiere subscription provides additional benefits such as access to Emby DVR, offline media, premium plugins, and more. {0}Learn more{1}.", "HeaderWelcomeToProjectServerDashboard": "Welcome to the Emby Server Dashboard", - "HeaderWelcomeToProjectWebClient": "Welcome to Emby", - "ButtonTakeTheTour": "Take the tour", - "HeaderWelcomeBack": "Welcome back!", + "HeaderWelcomeToProjectWebClient": "V\u00edtajte v Emby", + "ButtonTakeTheTour": "Za\u010da\u0165 prehliadku", + "HeaderWelcomeBack": "Vitajte sp\u00e4\u0165!", "ButtonTakeTheTourToSeeWhatsNew": "Take the tour to see what's new", "MessageNoSyncJobsFound": "No sync jobs found. Create sync jobs using the Sync buttons found throughout the app.", "MessageDownloadsFound": "No offline downloads. Make your media available offline by clicking Make Available Offline throughout the app.", @@ -1228,25 +1212,25 @@ "LabelScheduledTaskLastRan": "Last ran {0}, taking {1}.", "HeaderDeleteTaskTrigger": "Delete Task Trigger", "MessageDeleteTaskTrigger": "Are you sure you wish to delete this task trigger?", - "MessageNoPluginsInstalled": "You have no plugins installed.", + "MessageNoPluginsInstalled": "Nem\u00e1te nain\u0161talovan\u00e9 \u017eiadne roz\u0161\u00edrenia.", "MessageNoPluginsDueToAppStore": "To manage plugins, please use the Emby web app.", "LabelVersionInstalled": "{0} installed", "LabelNumberReviews": "{0} Reviews", "LabelFree": "Free", "HeaderSelectAudio": "Select Audio", - "HeaderSelectSubtitles": "Select Subtitles", + "HeaderSelectSubtitles": "Vybra\u0165 titulky", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", - "LabelUnknownLanguage": "Unknown language", - "ButtonMute": "Mute", + "LabelUnknownLanguage": "Nezn\u00e1my jazyk", + "ButtonMute": "St\u00ed\u0161i\u0165", "ButtonUnmute": "Unmute", "ButtonPlaylist": "Playlist", - "LabelEnabled": "Enabled", - "LabelDisabled": "Disabled", - "ButtonMoreInformation": "More Information", + "LabelEnabled": "Povolen\u00e9", + "LabelDisabled": "Zak\u00e1zan\u00e9", + "ButtonMoreInformation": "Viac inform\u00e1ci\u00ed", "LabelNoUnreadNotifications": "No unread notifications.", - "MessageInvalidUser": "Invalid username or password. Please try again.", + "MessageInvalidUser": "Nespr\u00e1vne meno alebo heslo. Sk\u00faste pros\u00edm znovu.", "HeaderLoginFailure": "Login Failure", "RecommendationBecauseYouLike": "Because you like {0}", "RecommendationBecauseYouWatched": "Because you watched {0}", @@ -1274,12 +1258,12 @@ "StatusWatchingProgram": "Watching {0}", "HeaderSplitMedia": "Split Media Apart", "MessageConfirmSplitMedia": "Are you sure you wish to split the media sources into separate items?", - "HeaderError": "Error", + "HeaderError": "Chyba", "HeaderLibraryFolders": "Media Folders", - "HeaderFavoriteMovies": "Favorite Movies", + "HeaderFavoriteMovies": "Ob\u013e\u00faben\u00e9 filmy", "HeaderFavoriteShows": "Ob\u013e\u00faben\u00e9 seri\u00e1ly", - "HeaderFavoriteEpisodes": "Favorite Episodes", - "HeaderFavoriteGames": "Favorite Games", + "HeaderFavoriteEpisodes": "Ob\u013e\u00faben\u00e9 epiz\u00f3dy", + "HeaderFavoriteGames": "Ob\u013e\u00faben\u00e9 hry", "HeaderConfirmProfileDeletion": "Confirm Profile Deletion", "MessageConfirmProfileDeletion": "Are you sure you wish to delete this profile?", "HeaderSelectServerCachePath": "Select Server Cache Path", @@ -1288,17 +1272,17 @@ "HeaderSelectServerCachePathHelp": "Browse or enter the path to use for server cache files. The folder must be writeable.", "HeaderSelectTranscodingPathHelp": "Browse or enter the path to use for transcoding temporary files. The folder must be writeable.", "HeaderSelectMetadataPathHelp": "Browse or enter the path you'd like to store metadata within. The folder must be writeable.", - "HeaderFavoriteAlbums": "Favorite Albums", + "HeaderFavoriteAlbums": "Ob\u013e\u00faben\u00e9 albumy", "HeaderLatestChannelMedia": "Latest Channel Items", - "MessageFileWillBeDeleted": "The following file will be deleted:", - "MessageSureYouWishToProceed": "Are you sure you wish to proceed?", + "MessageFileWillBeDeleted": "Nasledovn\u00fd s\u00fabor bude odstr\u00e1nen\u00fd:", + "MessageSureYouWishToProceed": "Ste si ist\u00fd, \u017ee chcete pokra\u010dova\u0165?", "MessageDuplicatesWillBeDeleted": "In addition the following duplicates will be deleted:", - "MessageFollowingFileWillBeMovedFrom": "The following file will be moved from:", - "MessageDestinationTo": "to:", - "HeaderRestart": "Restart", - "HeaderShutdown": "Shutdown", - "MessageConfirmRestart": "Are you sure you wish to restart Emby Server?", - "MessageConfirmShutdown": "Are you sure you wish to shutdown Emby Server?", + "MessageFollowingFileWillBeMovedFrom": "Nasleduj\u00faci s\u00fabor bude presunut\u00fd z:", + "MessageDestinationTo": "do:", + "HeaderRestart": "Re\u0161tartova\u0165", + "HeaderShutdown": "Vypn\u00fa\u0165", + "MessageConfirmRestart": "Ste si ist\u00fd, \u017ee chcete re\u0161tartova\u0165 Emby Server?", + "MessageConfirmShutdown": "Ste si ist\u00fd, \u017ee chcete vypn\u00fa\u0165 Emby Server?", "ValueItemCount": "{0} item", "ValueItemCountPlural": "{0} items", "NewVersionOfSomethingAvailable": "A new version of {0} is available!", @@ -1314,36 +1298,36 @@ "LabelRunningOnPort": "Running on http port {0}.", "LabelRunningOnPorts": "Running on http port {0}, and https port {1}.", "HeaderLatestFromChannel": "Latest from {0}", - "ButtonRemoteControl": "Remote Control", + "ButtonRemoteControl": "\u010eia\u013ekov\u00e9 ovl\u00e1danie", "HeaderLatestTvRecordings": "Latest Recordings", "LabelCurrentPath": "Current path:", "HeaderSelectMediaPath": "Select Media Path", "HeaderSelectPath": "Select Path", - "ButtonNetwork": "Network", + "ButtonNetwork": "Sie\u0165", "MessageDirectoryPickerInstruction": "Network paths can be entered manually in the event the Network button fails to locate your devices. For example, {0} or {1}.", "MessageDirectoryPickerBSDInstruction": "For BSD, you may need to configure storage within your FreeNAS Jail in order to allow Emby to access it.", "MessageDirectoryPickerLinuxInstruction": "For Linux on Arch Linux, CentOS, Debian, Fedora, OpenSuse, or Ubuntu, you must grant the Emby system user at least read access to your storage locations.", "HeaderMenu": "Menu", - "ButtonOpen": "Open", - "ButtonShuffle": "Shuffle", - "ButtonResume": "Resume", + "ButtonOpen": "Otvori\u0165", + "ButtonShuffle": "Zamie\u0161a\u0165", + "ButtonResume": "Pokra\u010dova\u0165", "HeaderAudioTracks": "Audio Tracks", - "HeaderLibraries": "Libraries", - "HeaderVideoQuality": "Video Quality", + "HeaderLibraries": "Kni\u017enice", + "HeaderVideoQuality": "Kvalita videa", "MessageErrorPlayingVideo": "There was an error playing the video.", "MessageEnsureOpenTuner": "Please ensure there is an open tuner availalble.", "ButtonReports": "Reports", - "MetadataManager": "Metadata Manager", - "HeaderTime": "Time", + "MetadataManager": "Spr\u00e1vca metad\u00e1t", + "HeaderTime": "\u010cas", "LabelAddedOnDate": "Added {0}", "ButtonStart": "Start", - "OptionBlockOthers": "Others", + "OptionBlockOthers": "In\u00e9", "OptionBlockTvShows": "TV Shows", "OptionBlockTrailers": "Trailers", - "OptionBlockMusic": "Music", - "OptionBlockMovies": "Movies", - "OptionBlockBooks": "Books", - "OptionBlockGames": "Games", + "OptionBlockMusic": "Hudba", + "OptionBlockMovies": "Filmy", + "OptionBlockBooks": "Knihy", + "OptionBlockGames": "Hry", "OptionBlockLiveTvPrograms": "Live TV Programs", "OptionBlockLiveTvChannels": "Live TV Channels", "OptionBlockChannelContent": "Internet Channel Content", @@ -1355,77 +1339,77 @@ "ValueVideoCodec": "Video Codec: {0}", "ValueCodec": "Codec: {0}", "ValueConditions": "Conditions: {0}", - "LabelAll": "All", - "HeaderDeleteImage": "Delete Image", - "MessageFileNotFound": "File not found.", - "MessageFileReadError": "An error occurred reading this file.", - "ButtonNextPage": "Next Page", - "ButtonPreviousPage": "Previous Page", - "HeaderDeleteItem": "Delete Item", + "LabelAll": "V\u0161etky", + "HeaderDeleteImage": "Zmaza\u0165 obr\u00e1zok", + "MessageFileNotFound": "S\u00fabor nen\u00e1jden\u00fd.", + "MessageFileReadError": "Pri \u010d\u00edtan\u00ed s\u00faboru nastala chyba.", + "ButtonNextPage": "\u010eal\u0161ia strana", + "ButtonPreviousPage": "Predch\u00e1dzaj\u00faca strana", + "HeaderDeleteItem": "Zmaza\u0165 polo\u017eku", "MessageItemSaved": "Item saved.", "MessagePleaseAcceptTermsOfServiceBeforeContinuing": "Please accept the terms of service before continuing.", "OptionOff": "Off", "OptionOn": "On", - "ButtonUninstall": "Uninstall", + "ButtonUninstall": "Odin\u0161talova\u0165.", "HeaderLiveTV": "Live TV", - "MissingPrimaryImage": "Missing primary image.", + "MissingPrimaryImage": "Ch\u00fdba prim\u00e1rny obr\u00e1zok.", "MissingBackdropImage": "Missing backdrop image.", "MissingLogoImage": "Missing logo image.", - "MissingEpisode": "Missing episode.", + "MissingEpisode": "Ch\u00fdbaj\u00faca epiz\u00f3da.", "OptionBackdrops": "Backdrops", - "OptionImages": "Images", - "OptionKeywords": "Keywords", + "OptionImages": "Obr\u00e1zky", + "OptionKeywords": "K\u013e\u00fa\u010dov\u00e9 slov\u00e1", "OptionTags": "Tags", "OptionStudios": "Studios", "OptionName": "Name", - "OptionOverview": "Overview", - "OptionGenres": "Genres", + "OptionOverview": "Preh\u013ead", + "OptionGenres": "\u017d\u00e1nre", "OptionPeople": "People", "OptionProductionLocations": "Production Locations", - "OptionBirthLocation": "Birth Location", - "HeaderChangeFolderType": "Change Content Type", + "OptionBirthLocation": "Miesto narodenia", + "HeaderChangeFolderType": "Zmeni\u0165 typ obsahu", "HeaderChangeFolderTypeHelp": "To change the type, please remove and rebuild the library with the new type.", "HeaderAlert": "Alert", "MessagePleaseRestart": "Please restart to finish updating.", - "ButtonHide": "Hide", - "MessageSettingsSaved": "Settings saved.", - "TabLibrary": "Library", + "ButtonHide": "Skry\u0165", + "MessageSettingsSaved": "Nastavenia ulo\u017een\u00e9.", + "TabLibrary": "Kni\u017enica", "TabDLNA": "DLNA", "TabLiveTV": "Live TV", - "TabPlugins": "Plugins", - "TabHelp": "Help", - "ButtonFullscreen": "Fullscreen", + "TabPlugins": "Roz\u0161\u00edrenia", + "TabHelp": "Pomoc", + "ButtonFullscreen": "Cel\u00e1 obrazovka", "ButtonAudioTracks": "Audio Tracks", - "ButtonQuality": "Quality", + "ButtonQuality": "Kvalita", "HeaderNotifications": "Notifications", "HeaderSelectPlayer": "Select Player", "ButtonViewSeriesRecording": "View series recording", "HeaderSpecials": "Specials", "HeaderTrailers": "Trailers", - "HeaderResolution": "Resolution", + "HeaderResolution": "Rozl\u00ed\u0161enie", "HeaderRuntime": "Runtime", "HeaderParentalRating": "Parental Rating", "HeaderReleaseDate": "Release date", "HeaderSeries": "Series:", "HeaderSeason": "Season", "HeaderSeasonNumber": "Season number", - "HeaderNetwork": "Network", + "HeaderNetwork": "Sie\u0165", "HeaderYear": "Year:", "HeaderEmbeddedImage": "Embedded image", "HeaderTrack": "Track", - "OptionCollections": "Collections", + "OptionCollections": "Zbierky", "OptionSeries": "Series", - "OptionSeasons": "Seasons", - "OptionGames": "Games", + "OptionSeasons": "Sez\u00f3ny", + "OptionGames": "Hry", "OptionGameSystems": "Game systems", "OptionMusicArtists": "Music artists", "OptionMusicAlbums": "Music albums", "OptionMusicVideos": "Music videos", "OptionSongs": "Songs", - "OptionHomeVideos": "Home videos & photos", - "OptionBooks": "Books", - "ButtonUp": "Up", - "ButtonDown": "Down", + "OptionHomeVideos": "Dom\u00e1ce vide\u00e1 a fotky", + "OptionBooks": "Knihy", + "ButtonUp": "Hore", + "ButtonDown": "Dole", "LabelMetadataReaders": "Metadata readers:", "LabelMetadataReadersHelp": "Rank your preferred local metadata sources in order of priority. The first file found will be read.", "LabelMetadataDownloaders": "Metadata downloaders:", @@ -1437,16 +1421,16 @@ "LabelDynamicExternalId": "{0} Id:", "PersonTypePerson": "Person", "OptionSortName": "Sort name", - "LabelDateOfBirth": "Date of birth:", - "LabelDeathDate": "Death date:", + "LabelDateOfBirth": "D\u00e1tum narodenia:", + "LabelDeathDate": "D\u00e1tum \u00famrtia:", "HeaderRemoveMediaLocation": "Remove Media Location", "MessageConfirmRemoveMediaLocation": "Are you sure you wish to remove this location?", - "LabelNewName": "New name:", + "LabelNewName": "Nov\u00e9 meno:", "HeaderRemoveMediaFolder": "Remove Media Folder", "MessageTheFollowingLocationWillBeRemovedFromLibrary": "The following media locations will be removed from your Emby library:", "MessageAreYouSureYouWishToRemoveMediaFolder": "Are you sure you wish to remove this media folder?", - "ButtonRename": "Rename", - "ButtonChangeContentType": "Change content type", + "ButtonRename": "Premenova\u0165", + "ButtonChangeContentType": "Zmeni\u0165 typ obsahu", "HeaderMediaLocations": "Media Locations", "LabelContentTypeValue": "Content type: {0}", "FolderTypeUnset": "Unset (mixed content)", @@ -1455,12 +1439,12 @@ "BirthDateValue": "Born: {0}", "HeaderLatestReviews": "Latest Reviews", "HeaderPluginInstallation": "Plugin Installation", - "MessageAlreadyInstalled": "This version is already installed.", + "MessageAlreadyInstalled": "T\u00e1to verzia u\u017e je nain\u0161talovan\u00e1.", "MessageYouHaveVersionInstalled": "You currently have version {0} installed.", "MessageTrialExpired": "The trial period for this feature has expired", "MessageTrialWillExpireIn": "The trial period for this feature will expire in {0} day(s)", "MessageInstallPluginFromApp": "This plugin must be installed from with in the app you intend to use it in.", - "ValuePriceUSD": "Price: {0} (USD)", + "ValuePriceUSD": "Cena: {0} (USD)", "MessageFeatureIncludedWithSupporter": "You are registered for this feature, and will be able to continue using it with an active Emby Premiere subscription.", "HeaderEmbyAccountAdded": "Emby Account Added", "MessageEmbyAccountAdded": "The Emby account has been added to this user.", @@ -1470,17 +1454,17 @@ "TooltipLinkedToEmbyConnect": "Linked to Emby Connect", "HeaderUnrated": "Unrated", "ValueDiscNumber": "Disc {0}", - "HeaderUnknownDate": "Unknown Date", - "HeaderUnknownYear": "Unknown Year", + "HeaderUnknownDate": "Nezn\u00e1my d\u00e1tum", + "HeaderUnknownYear": "Nezn\u00e1my rok", "ValueMinutes": "{0} min", "HeaderSelectExternalPlayer": "Select External Player", "HeaderExternalPlayerPlayback": "External Player Playback", - "OptionWatched": "Watched", - "OptionUnwatched": "Unwatched", - "LabelMarkAs": "Mark as:", + "OptionWatched": "Pozret\u00e9", + "OptionUnwatched": "Nepozret\u00e9", + "LabelMarkAs": "Ozna\u010di\u0165 ako:", "OptionInProgress": "In-Progress", "LabelResumePoint": "Resume point:", - "ValueOneMovie": "1 movie", + "ValueOneMovie": "1 film", "ValueMovieCount": "{0} movies", "ValueOneTrailer": "1 trailer", "ValueTrailerCount": "{0} trailers", @@ -1497,8 +1481,8 @@ "ValueOneMusicVideo": "1 music video", "ValueMusicVideoCount": "{0} music videos", "HeaderOffline": "Offline", - "HeaderUnaired": "Unaired", - "HeaderMissing": "Missing", + "HeaderUnaired": "Nevysielan\u00e9", + "HeaderMissing": "Ch\u00fdbaj\u00face", "ButtonWebsite": "Website", "ValueSeriesYearToPresent": "{0} - Present", "ValueAwards": "Awards: {0}", @@ -1510,36 +1494,36 @@ "LabelLimit": "Limit:", "ValueLinks": "Links: {0}", "HeaderCastAndCrew": "Cast & Crew", - "ValueArtist": "Artist: {0}", - "ValueArtists": "Artists: {0}", + "ValueArtist": "Umelec: {0}", + "ValueArtists": "Umelci: {0}", "MediaInfoCameraMake": "Camera make", "MediaInfoCameraModel": "Camera model", - "MediaInfoAltitude": "Altitude", - "MediaInfoAperture": "Aperture", - "MediaInfoExposureTime": "Exposure time", + "MediaInfoAltitude": "V\u00fd\u0161ka", + "MediaInfoAperture": "Clona", + "MediaInfoExposureTime": "\u010cas expoz\u00edcie", "MediaInfoFocalLength": "Focal length", - "MediaInfoOrientation": "Orientation", + "MediaInfoOrientation": "Orient\u00e1cia", "MediaInfoIsoSpeedRating": "Iso speed rating", - "MediaInfoLatitude": "Latitude", - "MediaInfoLongitude": "Longitude", - "MediaInfoShutterSpeed": "Shutter speed", + "MediaInfoLatitude": "Zemepisn\u00e1 \u0161\u00edrka", + "MediaInfoLongitude": "Zemepisn\u00e1 d\u013a\u017eka", + "MediaInfoShutterSpeed": "R\u00fdchlos\u0165 uz\u00e1vierky", "MediaInfoSoftware": "Software", "HeaderMoreLikeThis": "More Like This", - "HeaderMovies": "Movies", - "HeaderAlbums": "Albums", - "HeaderGames": "Games", - "HeaderBooks": "Books", - "HeaderEpisodes": "Episodes", - "HeaderSeasons": "Seasons", + "HeaderMovies": "Filmy", + "HeaderAlbums": "Albumy", + "HeaderGames": "Hry", + "HeaderBooks": "Knihy", + "HeaderEpisodes": "Epiz\u00f3dy", + "HeaderSeasons": "Sez\u00f3ny", "HeaderTracks": "Tracks", - "HeaderItems": "Items", - "HeaderOtherItems": "Other Items", + "HeaderItems": "Polo\u017eky", + "HeaderOtherItems": "In\u00e9 polo\u017eky", "ValueAsRole": "as {0}", - "ValueGuestStar": "Guest star", - "MediaInfoSize": "Size", + "ValueGuestStar": "Hos\u0165uj\u00faca hviezda", + "MediaInfoSize": "Ve\u013ekos\u0165", "MediaInfoPath": "Path", - "MediaInfoFile": "File", - "MediaInfoFormat": "Format", + "MediaInfoFile": "S\u00fabor", + "MediaInfoFormat": "Form\u00e1t", "MediaInfoContainer": "Container", "MediaInfoDefault": "Default", "MediaInfoForced": "Forced", @@ -1549,17 +1533,17 @@ "MediaInfoBitDepth": "Bit depth", "MediaInfoSampleRate": "Sample rate", "MediaInfoBitrate": "Bitrate", - "MediaInfoChannels": "Channels", + "MediaInfoChannels": "Kan\u00e1ly", "MediaInfoLayout": "Layout", - "MediaInfoLanguage": "Language", + "MediaInfoLanguage": "Jazyk", "MediaInfoCodec": "Codec", "MediaInfoCodecTag": "Codec tag", - "MediaInfoProfile": "Profile", - "MediaInfoLevel": "Level", - "MediaInfoAspectRatio": "Aspect ratio", - "MediaInfoResolution": "Resolution", + "MediaInfoProfile": "Profil", + "MediaInfoLevel": "\u00darove\u0148", + "MediaInfoAspectRatio": "Pomer str\u00e1n", + "MediaInfoResolution": "Rozl\u00ed\u0161enie", "MediaInfoAnamorphic": "Anamorphic", - "MediaInfoInterlaced": "Interlaced", + "MediaInfoInterlaced": "Prekladan\u00e9", "MediaInfoFramerate": "Framerate", "MediaInfoStreamTypeAudio": "Audio", "MediaInfoStreamTypeData": "Data", @@ -1600,27 +1584,27 @@ "DashboardTourMobile": "The Emby Server dashboard works great on smartphones and tablets. Manage your server from the palm of your hand anytime, anywhere.", "DashboardTourSync": "Sync your personal media to your devices for offline viewing.", "TabExtras": "Extras", - "HeaderUploadImage": "Upload Image", + "HeaderUploadImage": "Nahra\u0165 obr\u00e1zok", "DeviceLastUsedByUserName": "Last used by {0}", - "HeaderDeleteDevice": "Delete Device", + "HeaderDeleteDevice": "Zmaza\u0165 zariadenie", "DeleteDeviceConfirmation": "Are you sure you wish to delete this device? It will reappear the next time a user signs in with it.", "LabelEnableCameraUploadFor": "Enable camera upload for:", "HeaderSelectUploadPath": "Select Upload Path", "LabelEnableCameraUploadForHelp": "Uploads will occur automatically in the background when signed into Emby.", "ErrorMessageStartHourGreaterThanEnd": "End time must be greater than the start time.", "ButtonLibraryAccess": "Library access", - "ButtonParentalControl": "Parental control", - "HeaderInvitationSent": "Invitation Sent", + "ButtonParentalControl": "Rodi\u010dovsk\u00e1 kontrola", + "HeaderInvitationSent": "Pozv\u00e1nka odoslan\u00e1", "MessageInvitationSentToUser": "An email has been sent to {0}, inviting them to accept your sharing invitation.", "MessageInvitationSentToNewUser": "An email has been sent to {0} inviting them to sign up with Emby.", - "HeaderConnectionFailure": "Connection Failure", + "HeaderConnectionFailure": "Chyba pripojenia", "MessageUnableToConnectToServer": "We're unable to connect to the selected server right now. Please ensure it is running and try again.", - "ButtonSelectServer": "Select Server", + "ButtonSelectServer": "Vybra\u0165 server", "MessagePluginConfigurationRequiresLocalAccess": "To configure this plugin please sign in to your local server directly.", "MessageLoggedOutParentalControl": "Access is currently restricted. Please try again later.", "DefaultErrorMessage": "There was an error processing the request. Please try again later.", - "ButtonAccept": "Accept", - "ButtonReject": "Reject", + "ButtonAccept": "Prija\u0165", + "ButtonReject": "Odmietnu\u0165", "MessageContactAdminToResetPassword": "Please contact your system administrator to reset your password.", "MessageForgotPasswordInNetworkRequired": "Please try again within your home network to initiate the password reset process.", "MessageForgotPasswordFileCreated": "The following file has been created on your server and contains instructions on how to proceed:", @@ -1631,43 +1615,43 @@ "MessageConnectAccountRequiredToInviteGuest": "In order to invite guests you need to first link your Emby account to this server.", "SyncMedia": "Sync Media", "HeaderCancelSyncJob": "Cancel Sync", - "LabelQuality": "Quality:", + "LabelQuality": "Kvalita:", "MovieLibraryHelp": "Review the {0}Emby movie naming guide{1}.", "TvLibraryHelp": "Review the {0}Emby TV naming guide{1}.", "BookLibraryHelp": "Audio and text books are supported", - "MessageGamePluginRequired": "Requires installation of the GameBrowser plugin", + "MessageGamePluginRequired": "Po\u017eaduje in\u0161tal\u00e1ciu roz\u0161\u00edrenia GameBrowser", "MessageUnsetContentHelp": "Content will be displayed as plain folders. For best results use the metadata manager to set the content types of sub-folders.", - "LabelProfile": "Profile:", + "LabelProfile": "Profil:", "LabelBitrateMbps": "Bitrate (Mbps):", "EmbyIntroDownloadMessage": "To download and install the free Emby Server visit {0}.", "EmbyIntroDownloadMessageWithoutLink": "To download and install the free Emby Server visit the Emby website.", - "ButtonNewServer": "New Server", - "MyDevice": "My Device", + "ButtonNewServer": "Nov\u00fd server", + "MyDevice": "Moje zariadenie", "ButtonRemote": "Remote", - "TabCast": "Cast", + "TabCast": "Obsadenie", "TabScenes": "Scenes", "HeaderUnlockApp": "Unlock App", "HeaderUnlockSync": "Unlock Emby Sync", "MessagePaymentServicesUnavailable": "Payment services are currently unavailable. Please try again later.", "OptionEnableFullscreen": "Enable Fullscreen", "ButtonServer": "Server", - "HeaderLibrary": "Library", + "HeaderLibrary": "Kni\u017enica", "HeaderMedia": "Media", "NoNewDevicesFound": "No new devices found. To add a new tuner, close this dialog and enter the device information manually.", "NoResultsFound": "No results found.", - "ButtonManageServer": "Manage Server", - "ButtonPreferences": "Preferences", + "ButtonManageServer": "Spravova\u0165 server", + "ButtonPreferences": "Nastavenia", "ButtonViewArtist": "View artist", "ButtonViewAlbum": "View album", - "ButtonEditImages": "Edit images", + "ButtonEditImages": "Upravi\u0165 obr\u00e1zky", "ErrorMessagePasswordNotMatchConfirm": "The password and password confirmation must match.", "ErrorMessageUsernameInUse": "The username is already in use. Please choose a new name and try again.", "ErrorMessageEmailInUse": "The email address is already in use. Please enter a new email address and try again, or use the forgot password feature.", "MessageThankYouForConnectSignUp": "Thank you for signing up for Emby Connect. An email will be sent to your address with instructions on how to confirm your new account. Please confirm the account and then return here to sign in.", "MessageThankYouForConnectSignUpNoValidation": "Thank you for signing up for Emby Connect! You will now be asked to login with your Emby Connect information.", - "ButtonShare": "Share", - "HeaderConfirm": "Confirm", - "MessageConfirmDeleteTunerDevice": "Are you sure you wish to delete this device?", + "ButtonShare": "Zdie\u013ea\u0165", + "HeaderConfirm": "Potvrdi\u0165", + "MessageConfirmDeleteTunerDevice": "Ste si ist\u00fd, \u017ee chcete zmaza\u0165 toto zariadenie?", "MessageConfirmDeleteGuideProvider": "Are you sure you wish to delete this guide provider?", "HeaderDeleteProvider": "Delete Provider", "ErrorAddingTunerDevice": "There was an error adding the tuner device. Please ensure it is accessible and try again.", @@ -1681,24 +1665,24 @@ "LabelLocalSyncStatusValue": "Status: {0}", "MessageSyncStarted": "Sync started", "OptionBackdropSlideshow": "Backdrop slideshow", - "HeaderTopPlugins": "Top Plugins", - "ButtonOther": "Other", - "HeaderSortBy": "Sort By", + "HeaderTopPlugins": "Najlep\u0161ie roz\u0161\u00edrenia", + "ButtonOther": "In\u00e9", + "HeaderSortBy": "Zoradi\u0165 pod\u013ea", "HeaderSortOrder": "Sort Order", "ButtonMenu": "Menu", "ForAdditionalLiveTvOptions": "For additional Live TV providers, click on the Services tab to see the available options.", "ButtonGuide": "Guide", - "ButtonYes": "Yes", - "AddUser": "Add User", - "ButtonNo": "No", - "ButtonNowPlaying": "Now Playing", + "ButtonYes": "\u00c1no", + "AddUser": "Prida\u0165 u\u017e\u00edvate\u013ea", + "ButtonNo": "Nie", + "ButtonNowPlaying": "Teraz prehr\u00e1van\u00e9", "HeaderLatestMovies": "Posledne pridan\u00e9 Filmy", "HeaderEmailAddress": "E-Mail Address", "LoginDisclaimer": "Emby is designed to help you manage your personal media library, such as home videos and photos. Please see our terms of use. The use of any Emby software constitutes acceptance of these terms.", - "TermsOfUse": "Terms of use", + "TermsOfUse": "Podmienky pou\u017eitia", "NumLocationsValue": "{0} folders", - "ButtonAddMediaLibrary": "Add Media Library", - "ButtonManageFolders": "Manage folders", + "ButtonAddMediaLibrary": "Prida\u0165 kni\u017enicu m\u00e9di\u00ed", + "ButtonManageFolders": "Spravova\u0165 prie\u010dinky", "ErrorAddingListingsToSchedulesDirect": "There was an error adding the lineup to your Schedules Direct account. Schedules Direct only allows a limited number of lineups per account. You may need to log into the Schedules Direct website and remove others listings from your account before proceeeding.", "PleaseAddAtLeastOneFolder": "Please add at least one folder to this library by clicking the Add button.", "ErrorAddingMediaPathToVirtualFolder": "There was an error adding the media path. Please ensure the path is valid and the Emby Server process has access to that location.", @@ -1706,7 +1690,7 @@ "ErrorAddingEmbyConnectAccount1": "There was an error adding the Emby Connect account. Have you created an Emby account? You can sign up at {0}.", "ErrorAddingEmbyConnectAccount2": "If you're still having a problem, please send an email to {0}.", "ErrorAddingEmbyConnectAccount3": "The Emby account is already linked to an existing local user. An Emby account can only be linked to one local user at a time.", - "HeaderFavoriteArtists": "Favorite Artists", + "HeaderFavoriteArtists": "Ob\u013e\u00faben\u00ed umelci", "HeaderFavoriteSongs": "Ob\u013e\u00faben\u00e9 pesni\u010dky", "HeaderConfirmPluginInstallation": "Confirm Plugin Installation", "PleaseConfirmPluginInstallation": "Please click OK to confirm you've read the above and wish to proceed with the plugin installation.", @@ -1733,7 +1717,7 @@ "OptionRequirePerfectSubtitleMatch": "Only download subtitles that are a perfect match for my video files", "OptionRequirePerfectSubtitleMatchHelp": "Requiring a perfect match will filter subtitles to include only those that have been tested and verified with your exact video file. Unchecking this will increase the likelihood of subtitles being downloaded, but will increase the chances of mistimed or incorrect subtitle text.", "GuestUserNotFound": "User not found. Please ensure the name is correct and try again, or try entering their email address.", - "Yesterday": "Yesterday", + "Yesterday": "V\u010dera", "MetadataSettingChangeHelp": "Changing metadata settings will affect new content that is added going forward. To refresh existing content, open the detail screen and click the refresh button, or perform bulk refreshes using the metadata manager.", "OptionConvertRecordingPreserveAudio": "Preserve original audio when converting recordings (when possible)", "OptionConvertRecordingPreserveAudioHelp": "This will provide better audio but may require transcoding during playback on some devices.", @@ -1747,7 +1731,7 @@ "XmlTvNewsCategoriesHelp": "Programs with these categories will be displayed as news programs. Separate multiple with '|'.", "LabelKidsCategories": "Children's categories:", "XmlTvKidsCategoriesHelp": "Programs with these categories will be displayed as programs for children. Separate multiple with '|'.", - "LabelMovieCategories": "Movie categories:", + "LabelMovieCategories": "Kateg\u00f3rie filmov:", "XmlTvMovieCategoriesHelp": "Programs with these categories will be displayed as movies. Separate multiple with '|'.", "XmlTvPathHelp": "A path to an xml tv file. Emby will read this file and periodically check it for updates. You are responsible for creating and updating the file.", "LabelBindToLocalNetworkAddress": "Bind to local network address:", @@ -1771,13 +1755,13 @@ "XmlTvPremiere": "By default, Emby will import {0} hours of guide data. Importing unlimited data requires an active Emby Premiere subscription.", "MoreFromValue": "More from {0}", "OptionSaveMetadataAsHiddenHelp": "Changing this will apply to new metadata saved going forward. Existing metadata files will be updated the next time they are saved by Emby Server.", - "EnablePhotos": "Enable photos", + "EnablePhotos": "Povoli\u0165 fotky", "EnablePhotosHelp": "Photos will be detected and displayed alongside other media files.", "RemoveDownload": "Remove download", "SyncToOtherDevices": "Sync to other devices", "ManageOfflineDownloads": "Manage offline downloads", "MessageDownloadScheduled": "Download scheduled", - "RememberMe": "Remember me", + "RememberMe": "Zapam\u00e4ta\u0165 si ma", "HeaderOfflineSync": "Offline Sync", "LabelMaxAudioFileBitrate": "Max audio file bitrate:", "LabelMaxAudioFileBitrateHelp": "Audio files with a higher bitrate will be converted by Emby Server. Select a higher value for better quality, or a lower value to conserve local storage space.", @@ -1793,8 +1777,8 @@ "H264EncodingPresetHelp": "Choose a faster value to improve performance, or a slower value to improve quality.", "LabelH264Crf": "H264 encoding CRF:", "H264CrfHelp": "The Constant Rate Factor (CRF) is the default quality setting for the x264 encoder. You can set the values between 0 and 51, where lower values would result in better quality (at the expense of higher file sizes). Sane values are between 18 and 28. The default for x264 is 23, so you can use this as a starting point.", - "Sports": "Sports", - "HeaderForKids": "For Kids", + "Sports": "\u0160porty", + "HeaderForKids": "Pre deti", "HeaderRecordingGroups": "Recording Groups", "LabelConvertRecordingsTo": "Convert recordings to:", "HeaderUpcomingOnTV": "Upcoming On TV", @@ -1817,21 +1801,21 @@ "PreferEmbeddedTitlesOverFileNames": "Prefer embedded titles over filenames", "PreferEmbeddedTitlesOverFileNamesHelp": "This determines the default display title when no internet metadata or local metadata is available.", "HeaderUpcomingEpisodes": "Upcoming Episodes", - "HeaderFavoriteVideos": "Favorite Videos", + "HeaderFavoriteVideos": "Ob\u013e\u00faben\u00e9 vide\u00e1", "HeaderLiveTvTunerSetup": "Live TV Tuner Setup", "HeaderDetectMyDevices": "Detect My Devices", - "MessagePleaseWait": "Please wait. This may take a minute.", - "DetectingDevices": "Detecting devices", + "MessagePleaseWait": "Pros\u00edm po\u010dkajte. Toto m\u00f4\u017ee chv\u00ed\u013eu trva\u0165.", + "DetectingDevices": "Detegujem zariadenia", "LabelAutomaticallyRefreshInternetMetadataEvery": "Automatically refresh metadata from the internet:", - "Never": "Never", + "Never": "Nikdy", "EveryNDays": "Every {0} days", - "HeaderNewDevices": "New Devices", + "HeaderNewDevices": "Nov\u00e9 zariadenia", "HeaderOnNow": "On Now", "Downloading": "Downloading", "LabelCertificatePassword": "Certificate password:", "LabelCertificatePasswordHelp": "If your certificate requires a password, please enter it here.", "Programs": "Programs", - "News": "News", + "News": "Spr\u00e1vy", "HeaderDownloadSync": "Download & Sync", "LabelEnableHardwareDecodingFor": "Enable hardware decoding for:", "EnableHardwareEncoding": "Enable hardware encoding", @@ -1841,11 +1825,11 @@ "EnableStreamLooping": "Auto-loop live streams", "EnableStreamLoopingHelp": "Enable this if live streams only contain a few seconds of data and need to be continuously requested.", "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.", + "HeaderLatestDownloadedVideos": "Naposledy prebran\u00e9 vide\u00e1", + "ServerRestartNeededAfterPluginInstall": "Po in\u0161tal\u00e1cii roz\u0161\u00edrenia bude potrebn\u00fd re\u0161tart Emby servera.", "PluginInstalledMessage": "The plugin has been successfully installed. Emby Server will need to be restarted for changes to take effect.", - "Themes": "Themes", - "LabelTheme": "Theme:", + "Themes": "T\u00e9my", + "LabelTheme": "T\u00e9ma:", "LabelDashboardTheme": "Server dashboard theme:", "MessagePremiereStatusGood": "You have a {0} Emby Premiere plan and your device usage is well within your limit.", "MessagePremiereStatusClose": "You have a {0} Emby Premiere plan, but your device usage is close to the limit.", @@ -1864,7 +1848,8 @@ "LabelAlreadyCancelled": "This subscription has been cancelled. You will not be charged again but the features will work until the date above.", "AllowOnTheFlySubtitleExtraction": "Allow subtitle extraction on the fly", "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", - "ButtonStopRecording": "Stop Recording", - "StopRecording": "Stop recording", - "CancelSeries": "Cancel series" + "ButtonStopRecording": "Zastavi\u0165 nahr\u00e1vanie", + "StopRecording": "Zastavi\u0165 nahr\u00e1vanie", + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 3bc439f990..e815c0beb1 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/sl-SI.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/sl-SI.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "Nazaj", "LabelFinish": "Konec", "LabelNext": "Naprej", @@ -25,6 +24,7 @@ "LabelPinCode": "Pin koda", "DeleteMedia": "Delete media", "HeaderSync": "Sync", + "HeaderPlayAll": "Play All", "HeaderUpcomingNews": "Upcoming News", "ButtonOk": "Ok", "ButtonCancel": "Cancel", @@ -485,9 +485,6 @@ "HeaderResult": "Result", "OptionOverwriteExistingEpisodes": "Overwrite existing episodes", "LabelTransferMethod": "Transfer method", - "OptionCopy": "Copy", - "OptionMove": "Move", - "LabelTransferMethodHelp": "Copy or move files from the watch folder", "HeaderLatestNews": "Latest News", "HeaderRunningTasks": "Running Tasks", "HeaderActiveDevices": "Active Devices", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "No available plugins.", "LabelDisplayPluginsFor": "Display plugins for:", "PluginTabAppClassic": "Emby for Windows Media Center", - "LabelEpisodeNamePlain": "Episode name", - "LabelSeriesNamePlain": "Series name", - "ValueSeriesNamePeriod": "Series.name", - "ValueSeriesNameUnderscore": "Series_name", - "ValueEpisodeNamePeriod": "Episode.name", - "ValueEpisodeNameUnderscore": "Episode_name", - "LabelSeasonNumberPlain": "Season number", - "LabelEpisodeNumberPlain": "Episode number", - "LabelEndingEpisodeNumberPlain": "Ending episode number", "HeaderTypeText": "Enter Text", "LabelTypeText": "Text", "TabDisplay": "Display", "TabLanguages": "Languages", "TabAppSettings": "App Settings", - "LabelEnableThemeSongs": "Enable theme songs", - "LabelEnableBackdrops": "Enable backdrops", - "LabelEnableThemeSongsHelp": "If enabled, theme songs will be played in the background while browsing the library.", - "LabelEnableBackdropsHelp": "If enabled, backdrops will be displayed in the background of some pages while browsing the library.", "HeaderHomePage": "Home Page", "OptionAuto": "Auto", "OptionYes": "Yes", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", "ButtonStopRecording": "Stop Recording", "StopRecording": "Stop recording", - "CancelSeries": "Cancel series" + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 f50fafc5a1..4fb54c7fb2 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/sv.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/sv.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "F\u00f6reg\u00e5ende", "LabelFinish": "Klart", "LabelNext": "N\u00e4sta", @@ -25,6 +24,7 @@ "LabelPinCode": "Pinkod:", "DeleteMedia": "Ta bort media", "HeaderSync": "Synkronisera", + "HeaderPlayAll": "Play All", "HeaderUpcomingNews": "Kommande nyheter", "ButtonOk": "OK", "ButtonCancel": "Avbryt", @@ -485,9 +485,6 @@ "HeaderResult": "Resultat", "OptionOverwriteExistingEpisodes": "Skriv \u00f6ver existerande avsnitt", "LabelTransferMethod": "Metod f\u00f6r \u00f6verf\u00f6ring", - "OptionCopy": "Kopiera", - "OptionMove": "Flytta", - "LabelTransferMethodHelp": "Kopiera eller flytta filer fr\u00e5n bevakade mappar", "HeaderLatestNews": "Senaste nytt", "HeaderRunningTasks": "P\u00e5g\u00e5ende aktiviteter", "HeaderActiveDevices": "Aktiva enheter", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "Inga till\u00e4gg tillg\u00e4ngliga.", "LabelDisplayPluginsFor": "Visa till\u00e4gg f\u00f6r:", "PluginTabAppClassic": "Emby for Windows Media Center", - "LabelEpisodeNamePlain": "Avsnittsnamn", - "LabelSeriesNamePlain": "Seriens namn", - "ValueSeriesNamePeriod": "Seriens.namn", - "ValueSeriesNameUnderscore": "Seriens_namn", - "ValueEpisodeNamePeriod": "Avsnitt.namn", - "ValueEpisodeNameUnderscore": "Avsnitt_namn", - "LabelSeasonNumberPlain": "S\u00e4songsnummer", - "LabelEpisodeNumberPlain": "Avsnittsnummer", - "LabelEndingEpisodeNumberPlain": "Avslutande avsnittsnummer", "HeaderTypeText": "Ange text", "LabelTypeText": "Text", "TabDisplay": "Visning", "TabLanguages": "Spr\u00e5k", "TabAppSettings": "Appinst\u00e4llningar", - "LabelEnableThemeSongs": "Aktivera ledmotiv", - "LabelEnableBackdrops": "Aktivera fondbilder", - "LabelEnableThemeSongsHelp": "Om aktiverat spelas ledmotiv upp vid bl\u00e4ddring i biblioteket.", - "LabelEnableBackdropsHelp": "Om aktiverat visas fondbilder i bakgrunden av vissa sidor vid bl\u00e4ddring i biblioteket.", "HeaderHomePage": "Hemsk\u00e4rm", "OptionAuto": "Auto", "OptionYes": "Ja", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Inb\u00e4ddade undertexter kan extraheras ur videor och skickas till Emby-appar i textformat f\u00f6r att f\u00f6rhindra omkodning. I vissa system kan detta ta en l\u00e5ng tid och stoppa videouppspelningen under extraheringsprocessen. Avaktivera detta f\u00f6r att br\u00e4nna in inb\u00e4ddade undertexter genom omkodning n\u00e4r de inte st\u00f6ds av klienten.", "ButtonStopRecording": "Stop Recording", "StopRecording": "Stop recording", - "CancelSeries": "Cancel series" + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 003b4aaac7..3e401081f1 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/tr.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/tr.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "\u00d6nceki", "LabelFinish": "Bitir", "LabelNext": "Sonraki", @@ -25,6 +24,7 @@ "LabelPinCode": "Pin code:", "DeleteMedia": "Delete media", "HeaderSync": "Sync", + "HeaderPlayAll": "Play All", "HeaderUpcomingNews": "Upcoming News", "ButtonOk": "Tamam", "ButtonCancel": "\u0130ptal", @@ -485,9 +485,6 @@ "HeaderResult": "Result", "OptionOverwriteExistingEpisodes": "Overwrite existing episodes", "LabelTransferMethod": "Transfer method", - "OptionCopy": "Copy", - "OptionMove": "Move", - "LabelTransferMethodHelp": "Copy or move files from the watch folder", "HeaderLatestNews": "Latest News", "HeaderRunningTasks": "Running Tasks", "HeaderActiveDevices": "Active Devices", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "No available plugins.", "LabelDisplayPluginsFor": "Display plugins for:", "PluginTabAppClassic": "Emby for Windows Media Center", - "LabelEpisodeNamePlain": "Episode name", - "LabelSeriesNamePlain": "Series name", - "ValueSeriesNamePeriod": "Series.name", - "ValueSeriesNameUnderscore": "Series_name", - "ValueEpisodeNamePeriod": "Episode.name", - "ValueEpisodeNameUnderscore": "Episode_name", - "LabelSeasonNumberPlain": "Season number", - "LabelEpisodeNumberPlain": "Episode number", - "LabelEndingEpisodeNumberPlain": "Ending episode number", "HeaderTypeText": "Enter Text", "LabelTypeText": "Text", "TabDisplay": "Display", "TabLanguages": "Languages", "TabAppSettings": "App Settings", - "LabelEnableThemeSongs": "Enable theme songs", - "LabelEnableBackdrops": "Enable backdrops", - "LabelEnableThemeSongsHelp": "If enabled, theme songs will be played in the background while browsing the library.", - "LabelEnableBackdropsHelp": "If enabled, backdrops will be displayed in the background of some pages while browsing the library.", "HeaderHomePage": "Anasayfa", "OptionAuto": "Auto", "OptionYes": "Yes", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", "ButtonStopRecording": "Stop Recording", "StopRecording": "Stop recording", - "CancelSeries": "Cancel series" + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 aa5a2cf910..74ecef7e70 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/uk.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/uk.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "\u041d\u0430\u0437\u0430\u0434", "LabelFinish": "Finish", "LabelNext": "\u0412\u043f\u0435\u0440\u0435\u0434", @@ -25,6 +24,7 @@ "LabelPinCode": "Pin code:", "DeleteMedia": "Delete media", "HeaderSync": "Sync", + "HeaderPlayAll": "Play All", "HeaderUpcomingNews": "Upcoming News", "ButtonOk": "Ok", "ButtonCancel": "\u0421\u043a\u0430\u0441\u0443\u0432\u0430\u0442\u0438", @@ -485,9 +485,6 @@ "HeaderResult": "Result", "OptionOverwriteExistingEpisodes": "Overwrite existing episodes", "LabelTransferMethod": "Transfer method", - "OptionCopy": "Copy", - "OptionMove": "Move", - "LabelTransferMethodHelp": "Copy or move files from the watch folder", "HeaderLatestNews": "\u041e\u0441\u0442\u0430\u043d\u043d\u0456 \u043d\u043e\u0432\u0438\u043d\u0438", "HeaderRunningTasks": "Running Tasks", "HeaderActiveDevices": "Active Devices", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "No available plugins.", "LabelDisplayPluginsFor": "Display plugins for:", "PluginTabAppClassic": "Emby for Windows Media Center", - "LabelEpisodeNamePlain": "Episode name", - "LabelSeriesNamePlain": "Series name", - "ValueSeriesNamePeriod": "Series.name", - "ValueSeriesNameUnderscore": "Series_name", - "ValueEpisodeNamePeriod": "Episode.name", - "ValueEpisodeNameUnderscore": "Episode_name", - "LabelSeasonNumberPlain": "Season number", - "LabelEpisodeNumberPlain": "Episode number", - "LabelEndingEpisodeNumberPlain": "Ending episode number", "HeaderTypeText": "Enter Text", "LabelTypeText": "Text", "TabDisplay": "Display", "TabLanguages": "Languages", "TabAppSettings": "App Settings", - "LabelEnableThemeSongs": "Enable theme songs", - "LabelEnableBackdrops": "Enable backdrops", - "LabelEnableThemeSongsHelp": "If enabled, theme songs will be played in the background while browsing the library.", - "LabelEnableBackdropsHelp": "If enabled, backdrops will be displayed in the background of some pages while browsing the library.", "HeaderHomePage": "Home Page", "OptionAuto": "Auto", "OptionYes": "Yes", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", "ButtonStopRecording": "Stop Recording", "StopRecording": "Stop recording", - "CancelSeries": "Cancel series" + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 7fdc97aa14..9922965163 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/vi.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/vi.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "Tr\u01b0\u1edbc", "LabelFinish": "K\u1ebft th\u00fac", "LabelNext": "Ti\u1ebfp theo", @@ -25,6 +24,7 @@ "LabelPinCode": "Pin code:", "DeleteMedia": "Delete media", "HeaderSync": "Sync", + "HeaderPlayAll": "Play All", "HeaderUpcomingNews": "Upcoming News", "ButtonOk": "Ok", "ButtonCancel": "Tho\u00e1t", @@ -485,9 +485,6 @@ "HeaderResult": "Result", "OptionOverwriteExistingEpisodes": "Overwrite existing episodes", "LabelTransferMethod": "Transfer method", - "OptionCopy": "Copy", - "OptionMove": "Phim", - "LabelTransferMethodHelp": "Copy or move files from the watch folder", "HeaderLatestNews": "Latest News", "HeaderRunningTasks": "Running Tasks", "HeaderActiveDevices": "Active Devices", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "No available plugins.", "LabelDisplayPluginsFor": "Display plugins for:", "PluginTabAppClassic": "Emby for Windows Media Center", - "LabelEpisodeNamePlain": "Episode name", - "LabelSeriesNamePlain": "Series name", - "ValueSeriesNamePeriod": "Series.name", - "ValueSeriesNameUnderscore": "Series_name", - "ValueEpisodeNamePeriod": "Episode.name", - "ValueEpisodeNameUnderscore": "Episode_name", - "LabelSeasonNumberPlain": "Season number", - "LabelEpisodeNumberPlain": "Episode number", - "LabelEndingEpisodeNumberPlain": "Ending episode number", "HeaderTypeText": "Enter Text", "LabelTypeText": "Text", "TabDisplay": "Display", "TabLanguages": "Languages", "TabAppSettings": "App Settings", - "LabelEnableThemeSongs": "Enable theme songs", - "LabelEnableBackdrops": "Enable backdrops", - "LabelEnableThemeSongsHelp": "If enabled, theme songs will be played in the background while browsing the library.", - "LabelEnableBackdropsHelp": "If enabled, backdrops will be displayed in the background of some pages while browsing the library.", "HeaderHomePage": "Home Page", "OptionAuto": "Auto", "OptionYes": "Yes", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", "ButtonStopRecording": "Stop Recording", "StopRecording": "Stop recording", - "CancelSeries": "Cancel series" + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 812e628523..d59e22590b 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/zh-CN.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/zh-CN.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "\u4e0a\u4e00\u4e2a", "LabelFinish": "\u5b8c\u6210", "LabelNext": "\u4e0b\u4e00\u4e2a", @@ -25,6 +24,7 @@ "LabelPinCode": "PIN \u7801\uff1a", "DeleteMedia": "\u5220\u9664\u5a92\u4f53", "HeaderSync": "\u540c\u6b65", + "HeaderPlayAll": "Play All", "HeaderUpcomingNews": "\u5373\u5c06\u53d1\u5e03\u65b0\u95fb", "ButtonOk": "\u786e\u5b9a", "ButtonCancel": "\u53d6\u6d88", @@ -485,9 +485,6 @@ "HeaderResult": "\u7ed3\u5c40", "OptionOverwriteExistingEpisodes": "\u8986\u76d6\u73b0\u6709\u5267\u96c6", "LabelTransferMethod": "\u79fb\u52a8\u65b9\u5f0f", - "OptionCopy": "\u590d\u5236", - "OptionMove": "\u79fb\u52a8", - "LabelTransferMethodHelp": "\u4ece\u76d1\u63a7\u6587\u4ef6\u5939\u590d\u5236\u6216\u79fb\u52a8\u6587\u4ef6", "HeaderLatestNews": "\u6700\u65b0\u65b0\u95fb", "HeaderRunningTasks": "\u8fd0\u884c\u7684\u4efb\u52a1", "HeaderActiveDevices": "\u6d3b\u52a8\u7684\u8bbe\u5907", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "\u6ca1\u6709\u53ef\u7528\u7684\u63d2\u4ef6\u3002", "LabelDisplayPluginsFor": "\u663e\u793a\u63d2\u4ef6\uff1a", "PluginTabAppClassic": "Emby for Windows Media Center", - "LabelEpisodeNamePlain": "\u5267\u96c6\u540d\u79f0", - "LabelSeriesNamePlain": "\u7535\u89c6\u5267\u540d\u79f0", - "ValueSeriesNamePeriod": "\u7535\u89c6\u5267.\u540d\u79f0", - "ValueSeriesNameUnderscore": "\u7535\u89c6\u5267_\u540d\u79f0", - "ValueEpisodeNamePeriod": "\u5267\u96c6.\u540d\u79f0", - "ValueEpisodeNameUnderscore": "\u5267\u96c6_\u540d\u79f0", - "LabelSeasonNumberPlain": "\u591a\u5c11\u5b63", - "LabelEpisodeNumberPlain": "\u591a\u5c11\u96c6", - "LabelEndingEpisodeNumberPlain": "\u6700\u540e\u4e00\u96c6\u6570\u5b57", "HeaderTypeText": "\u8f93\u5165\u6587\u672c", "LabelTypeText": "\u6587\u672c", "TabDisplay": "\u663e\u793a", "TabLanguages": "\u8bed\u8a00", "TabAppSettings": "\u5e94\u7528\u8bbe\u7f6e", - "LabelEnableThemeSongs": "\u542f\u7528\u4e3b\u9898\u6b4c", - "LabelEnableBackdrops": "\u542f\u7528\u80cc\u666f\u56fe", - "LabelEnableThemeSongsHelp": "\u5982\u679c\u542f\u7528\uff0c\u5f53\u6d4f\u89c8\u5a92\u4f53\u5e93\u65f6\u4e3b\u9898\u6b4c\u5c06\u5728\u540e\u53f0\u64ad\u653e\u3002", - "LabelEnableBackdropsHelp": "\u5982\u679c\u542f\u7528\uff0c\u5f53\u6d4f\u89c8\u5a92\u4f53\u5e93\u65f6\u80cc\u666f\u56fe\u5c06\u4f5c\u4e3a\u4e00\u4e9b\u9875\u9762\u7684\u80cc\u666f\u663e\u793a\u3002", "HeaderHomePage": "\u9996\u9875", "OptionAuto": "\u81ea\u52a8", "OptionYes": "\u662f", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", "ButtonStopRecording": "Stop Recording", "StopRecording": "Stop recording", - "CancelSeries": "Cancel series" + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 81943a3df5..c26a7ef93e 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/zh-HK.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/zh-HK.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "\u524d\u4e00\u500b", "LabelFinish": "\u5b8c\u6210", "LabelNext": "\u4e0b\u4e00\u500b", @@ -25,6 +24,7 @@ "LabelPinCode": "PIN \u78bc\uff1a", "DeleteMedia": "Delete media", "HeaderSync": "\u540c\u6b65", + "HeaderPlayAll": "Play All", "HeaderUpcomingNews": "Upcoming News", "ButtonOk": "\u78ba\u5b9a", "ButtonCancel": "\u53d6\u6d88", @@ -485,9 +485,6 @@ "HeaderResult": "\u7d50\u679c", "OptionOverwriteExistingEpisodes": "\u8986\u5beb\u73fe\u6709\u6232\u96c6", "LabelTransferMethod": "\u50b3\u905e\u65b9\u6cd5", - "OptionCopy": "\u8907\u88fd", - "OptionMove": "\u79fb\u52d5", - "LabelTransferMethodHelp": "\u5f9e\u76e3\u8996\u6587\u4ef6\u593e\u8907\u88fd\u6216\u79fb\u52d5\u6587\u4ef6", "HeaderLatestNews": "\u6700\u65b0\u6d88\u606f", "HeaderRunningTasks": "\u904b\u884c\u4efb\u52d9", "HeaderActiveDevices": "\u751f\u6548\u88dd\u7f6e", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "No available plugins.", "LabelDisplayPluginsFor": "Display plugins for:", "PluginTabAppClassic": "Emby for Windows Media Center", - "LabelEpisodeNamePlain": "Episode name", - "LabelSeriesNamePlain": "\u96fb\u8996\u5287\u540d\u7a31", - "ValueSeriesNamePeriod": "\u96fb\u8996\u5287\u540d\u7a31", - "ValueSeriesNameUnderscore": "\u96fb\u8996\u5287\u540d\u7a31", - "ValueEpisodeNamePeriod": "Episode.name", - "ValueEpisodeNameUnderscore": "Episode_name", - "LabelSeasonNumberPlain": "\u5b63\u5ea6\u5287\u96c6\u6578\u76ee", - "LabelEpisodeNumberPlain": "Episode number", - "LabelEndingEpisodeNumberPlain": "Ending episode number", "HeaderTypeText": "Enter Text", "LabelTypeText": "Text", "TabDisplay": "Display", "TabLanguages": "Languages", "TabAppSettings": "App Settings", - "LabelEnableThemeSongs": "\u958b\u555f\u4e3b\u984c\u66f2", - "LabelEnableBackdrops": "Enable backdrops", - "LabelEnableThemeSongsHelp": "\u5982\u679c\u5141\u8a31\uff0c\u7576\u700f\u89bd\u5a92\u9ad4\u5eab\u6642\u5728\u80cc\u666f\u64ad\u653e\u4e3b\u984c\u66f2", - "LabelEnableBackdropsHelp": "If enabled, backdrops will be displayed in the background of some pages while browsing the library.", "HeaderHomePage": "Home Page", "OptionAuto": "\u81ea\u52d5", "OptionYes": "\u662f", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", "ButtonStopRecording": "Stop Recording", "StopRecording": "Stop recording", - "CancelSeries": "Cancel series" + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ 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 65c70a7450..7eaa4a22a6 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/strings/zh-TW.json +++ b/MediaBrowser.WebDashboard/dashboard-ui/strings/zh-TW.json @@ -1,5 +1,4 @@ { - "HeaderPlayAll": "Play All", "LabelPrevious": "\u4e0a\u4e00\u500b", "LabelFinish": "\u5b8c\u6210", "LabelNext": "\u4e0b\u4e00\u500b", @@ -25,6 +24,7 @@ "LabelPinCode": "Pin code:", "DeleteMedia": "Delete media", "HeaderSync": "\u540c\u6b65", + "HeaderPlayAll": "Play All", "HeaderUpcomingNews": "Upcoming News", "ButtonOk": "OK", "ButtonCancel": "\u53d6\u6d88", @@ -485,9 +485,6 @@ "HeaderResult": "Result", "OptionOverwriteExistingEpisodes": "Overwrite existing episodes", "LabelTransferMethod": "Transfer method", - "OptionCopy": "Copy", - "OptionMove": "Move", - "LabelTransferMethodHelp": "Copy or move files from the watch folder", "HeaderLatestNews": "Latest News", "HeaderRunningTasks": "Running Tasks", "HeaderActiveDevices": "Active Devices", @@ -682,24 +679,11 @@ "MessageNoAvailablePlugins": "No available plugins.", "LabelDisplayPluginsFor": "Display plugins for:", "PluginTabAppClassic": "Emby for Windows Media Center", - "LabelEpisodeNamePlain": "Episode name", - "LabelSeriesNamePlain": "Series name", - "ValueSeriesNamePeriod": "Series.name", - "ValueSeriesNameUnderscore": "Series_name", - "ValueEpisodeNamePeriod": "Episode.name", - "ValueEpisodeNameUnderscore": "Episode_name", - "LabelSeasonNumberPlain": "Season number", - "LabelEpisodeNumberPlain": "Episode number", - "LabelEndingEpisodeNumberPlain": "Ending episode number", "HeaderTypeText": "Enter Text", "LabelTypeText": "Text", "TabDisplay": "Display", "TabLanguages": "Languages", "TabAppSettings": "App Settings", - "LabelEnableThemeSongs": "Enable theme songs", - "LabelEnableBackdrops": "Enable backdrops", - "LabelEnableThemeSongsHelp": "If enabled, theme songs will be played in the background while browsing the library.", - "LabelEnableBackdropsHelp": "If enabled, backdrops will be displayed in the background of some pages while browsing the library.", "HeaderHomePage": "Home Page", "OptionAuto": "Auto", "OptionYes": "Yes", @@ -1866,5 +1850,6 @@ "AllowOnTheFlySubtitleExtractionHelp": "Embedded subtitles can be extracted from videos and delivered to Emby apps in plain text in order to help prevent video transcoding. On some systems this can take a long time and cause video playback to stall during the extraction process. Disable this to have embedded subtitles burned in with video transcoding when they are not natively supported by the client device.", "ButtonStopRecording": "Stop Recording", "StopRecording": "Stop recording", - "CancelSeries": "Cancel series" + "CancelSeries": "Cancel series", + "EnableDebugLoggingHelp": "Debug logging should only be enabled as needed for troubleshooting purposes. The increased file system access may prevent the server machine from being able to sleep in some environments." } \ No newline at end of file diff --git a/ThirdParty/emby/Emby.Server.CinemaMode.dll b/ThirdParty/emby/Emby.Server.CinemaMode.dll index 2cbe6a1a35..ad67c03430 100644 Binary files a/ThirdParty/emby/Emby.Server.CinemaMode.dll and b/ThirdParty/emby/Emby.Server.CinemaMode.dll differ diff --git a/ThirdParty/emby/Emby.Server.Connect.dll b/ThirdParty/emby/Emby.Server.Connect.dll index 0a4490ef2b..53fcad62b7 100644 Binary files a/ThirdParty/emby/Emby.Server.Connect.dll and b/ThirdParty/emby/Emby.Server.Connect.dll differ diff --git a/ThirdParty/emby/Emby.Server.MediaEncoding.dll b/ThirdParty/emby/Emby.Server.MediaEncoding.dll index 40e678a8ca..3b7e5d3b58 100644 Binary files a/ThirdParty/emby/Emby.Server.MediaEncoding.dll and b/ThirdParty/emby/Emby.Server.MediaEncoding.dll differ diff --git a/ThirdParty/emby/Emby.Server.Sync.dll b/ThirdParty/emby/Emby.Server.Sync.dll index 3270b1a58c..8acf5dee3d 100644 Binary files a/ThirdParty/emby/Emby.Server.Sync.dll and b/ThirdParty/emby/Emby.Server.Sync.dll differ diff --git a/packages/SimpleInjector.4.0.12/SimpleInjector.4.0.12.nupkg b/packages/SimpleInjector.4.0.12/SimpleInjector.4.0.12.nupkg new file mode 100644 index 0000000000..2975944f7b Binary files /dev/null and b/packages/SimpleInjector.4.0.12/SimpleInjector.4.0.12.nupkg differ diff --git a/packages/SimpleInjector.4.0.12/lib/net40/SimpleInjector.dll b/packages/SimpleInjector.4.0.12/lib/net40/SimpleInjector.dll new file mode 100644 index 0000000000..5bae84d603 Binary files /dev/null and b/packages/SimpleInjector.4.0.12/lib/net40/SimpleInjector.dll differ diff --git a/packages/SimpleInjector.4.0.8/lib/net40/SimpleInjector.xml b/packages/SimpleInjector.4.0.12/lib/net40/SimpleInjector.xml similarity index 99% rename from packages/SimpleInjector.4.0.8/lib/net40/SimpleInjector.xml rename to packages/SimpleInjector.4.0.12/lib/net40/SimpleInjector.xml index 9c1571c1f7..d22340923d 100644 --- a/packages/SimpleInjector.4.0.8/lib/net40/SimpleInjector.xml +++ b/packages/SimpleInjector.4.0.12/lib/net40/SimpleInjector.xml @@ -4819,9 +4819,8 @@ Allows verifying whether a given type has a direct or indirect dependency on itself. Verifying is done - by preventing recursive calls to a IInstanceProvider. An instance of this type is related to a single - instance of a IInstanceProvider. A RecursiveDependencyValidator instance checks a single - IInstanceProvider and therefore a single service type. + by preventing recursive calls to an InstanceProducer. A CyclicDependencyValidator instance checks a + single InstanceProducer and therefore a single service type. diff --git a/packages/SimpleInjector.4.0.12/lib/net45/SimpleInjector.dll b/packages/SimpleInjector.4.0.12/lib/net45/SimpleInjector.dll new file mode 100644 index 0000000000..3b00d8c638 Binary files /dev/null and b/packages/SimpleInjector.4.0.12/lib/net45/SimpleInjector.dll differ diff --git a/packages/SimpleInjector.4.0.8/lib/net45/SimpleInjector.xml b/packages/SimpleInjector.4.0.12/lib/net45/SimpleInjector.xml similarity index 99% rename from packages/SimpleInjector.4.0.8/lib/net45/SimpleInjector.xml rename to packages/SimpleInjector.4.0.12/lib/net45/SimpleInjector.xml index 0d44ce0ea0..09f8ccf3a9 100644 --- a/packages/SimpleInjector.4.0.8/lib/net45/SimpleInjector.xml +++ b/packages/SimpleInjector.4.0.12/lib/net45/SimpleInjector.xml @@ -4819,9 +4819,8 @@ Allows verifying whether a given type has a direct or indirect dependency on itself. Verifying is done - by preventing recursive calls to a IInstanceProvider. An instance of this type is related to a single - instance of a IInstanceProvider. A RecursiveDependencyValidator instance checks a single - IInstanceProvider and therefore a single service type. + by preventing recursive calls to an InstanceProducer. A CyclicDependencyValidator instance checks a + single InstanceProducer and therefore a single service type. diff --git a/packages/SimpleInjector.4.0.12/lib/netstandard1.0/SimpleInjector.dll b/packages/SimpleInjector.4.0.12/lib/netstandard1.0/SimpleInjector.dll new file mode 100644 index 0000000000..e9da78b52f Binary files /dev/null and b/packages/SimpleInjector.4.0.12/lib/netstandard1.0/SimpleInjector.dll differ diff --git a/packages/SimpleInjector.4.0.8/lib/netstandard1.0/SimpleInjector.xml b/packages/SimpleInjector.4.0.12/lib/netstandard1.0/SimpleInjector.xml similarity index 99% rename from packages/SimpleInjector.4.0.8/lib/netstandard1.0/SimpleInjector.xml rename to packages/SimpleInjector.4.0.12/lib/netstandard1.0/SimpleInjector.xml index 6b4de6e5b0..7feac2e499 100644 --- a/packages/SimpleInjector.4.0.8/lib/netstandard1.0/SimpleInjector.xml +++ b/packages/SimpleInjector.4.0.12/lib/netstandard1.0/SimpleInjector.xml @@ -4780,9 +4780,8 @@ Allows verifying whether a given type has a direct or indirect dependency on itself. Verifying is done - by preventing recursive calls to a IInstanceProvider. An instance of this type is related to a single - instance of a IInstanceProvider. A RecursiveDependencyValidator instance checks a single - IInstanceProvider and therefore a single service type. + by preventing recursive calls to an InstanceProducer. A CyclicDependencyValidator instance checks a + single InstanceProducer and therefore a single service type. diff --git a/packages/SimpleInjector.4.0.12/lib/netstandard1.3/SimpleInjector.dll b/packages/SimpleInjector.4.0.12/lib/netstandard1.3/SimpleInjector.dll new file mode 100644 index 0000000000..cd3bf6529d Binary files /dev/null and b/packages/SimpleInjector.4.0.12/lib/netstandard1.3/SimpleInjector.dll differ diff --git a/packages/SimpleInjector.4.0.8/lib/netstandard1.3/SimpleInjector.xml b/packages/SimpleInjector.4.0.12/lib/netstandard1.3/SimpleInjector.xml similarity index 99% rename from packages/SimpleInjector.4.0.8/lib/netstandard1.3/SimpleInjector.xml rename to packages/SimpleInjector.4.0.12/lib/netstandard1.3/SimpleInjector.xml index 08528757de..289dc29ace 100644 --- a/packages/SimpleInjector.4.0.8/lib/netstandard1.3/SimpleInjector.xml +++ b/packages/SimpleInjector.4.0.12/lib/netstandard1.3/SimpleInjector.xml @@ -4780,9 +4780,8 @@ Allows verifying whether a given type has a direct or indirect dependency on itself. Verifying is done - by preventing recursive calls to a IInstanceProvider. An instance of this type is related to a single - instance of a IInstanceProvider. A RecursiveDependencyValidator instance checks a single - IInstanceProvider and therefore a single service type. + by preventing recursive calls to an InstanceProducer. A CyclicDependencyValidator instance checks a + single InstanceProducer and therefore a single service type. diff --git a/packages/SimpleInjector.4.0.8/SimpleInjector.4.0.8.nupkg b/packages/SimpleInjector.4.0.8/SimpleInjector.4.0.8.nupkg deleted file mode 100644 index 5ba8297a4e..0000000000 Binary files a/packages/SimpleInjector.4.0.8/SimpleInjector.4.0.8.nupkg and /dev/null differ diff --git a/packages/SimpleInjector.4.0.8/lib/net40/SimpleInjector.dll b/packages/SimpleInjector.4.0.8/lib/net40/SimpleInjector.dll deleted file mode 100644 index d416f22982..0000000000 Binary files a/packages/SimpleInjector.4.0.8/lib/net40/SimpleInjector.dll and /dev/null differ diff --git a/packages/SimpleInjector.4.0.8/lib/net45/SimpleInjector.dll b/packages/SimpleInjector.4.0.8/lib/net45/SimpleInjector.dll deleted file mode 100644 index 15f1dc3bc9..0000000000 Binary files a/packages/SimpleInjector.4.0.8/lib/net45/SimpleInjector.dll and /dev/null differ diff --git a/packages/SimpleInjector.4.0.8/lib/netstandard1.0/SimpleInjector.dll b/packages/SimpleInjector.4.0.8/lib/netstandard1.0/SimpleInjector.dll deleted file mode 100644 index 29f4c1ed44..0000000000 Binary files a/packages/SimpleInjector.4.0.8/lib/netstandard1.0/SimpleInjector.dll and /dev/null differ diff --git a/packages/SimpleInjector.4.0.8/lib/netstandard1.3/SimpleInjector.dll b/packages/SimpleInjector.4.0.8/lib/netstandard1.3/SimpleInjector.dll deleted file mode 100644 index 2aa1bf515c..0000000000 Binary files a/packages/SimpleInjector.4.0.8/lib/netstandard1.3/SimpleInjector.dll and /dev/null differ diff --git a/packages/SkiaSharp.1.58.1/lib/net45/SkiaSharp.dll b/packages/SkiaSharp.1.58.1/lib/net45/SkiaSharp.dll deleted file mode 100644 index 89166c0867..0000000000 Binary files a/packages/SkiaSharp.1.58.1/lib/net45/SkiaSharp.dll and /dev/null differ diff --git a/packages/SkiaSharp.1.58.1/lib/net45/SkiaSharp.dll.config b/packages/SkiaSharp.1.58.1/lib/net45/SkiaSharp.dll.config deleted file mode 100644 index 3d0bbb1eb7..0000000000 --- a/packages/SkiaSharp.1.58.1/lib/net45/SkiaSharp.dll.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/packages/SkiaSharp.1.58.1/lib/portable-net45+win8+wpa81+wp8/SkiaSharp.dll b/packages/SkiaSharp.1.58.1/lib/portable-net45+win8+wpa81+wp8/SkiaSharp.dll deleted file mode 100644 index 544d7b8d9b..0000000000 Binary files a/packages/SkiaSharp.1.58.1/lib/portable-net45+win8+wpa81+wp8/SkiaSharp.dll and /dev/null differ diff --git a/packages/SkiaSharp.1.58.1/runtimes/win7-x86/native/libSkiaSharp.dll b/packages/SkiaSharp.1.58.1/runtimes/win7-x86/native/libSkiaSharp.dll deleted file mode 100644 index 1c46a8a942..0000000000 Binary files a/packages/SkiaSharp.1.58.1/runtimes/win7-x86/native/libSkiaSharp.dll and /dev/null differ diff --git a/packages/SkiaSharp.1.58.1/SkiaSharp.1.58.1.nupkg b/packages/SkiaSharp.1.59.2/SkiaSharp.1.59.2.nupkg similarity index 78% rename from packages/SkiaSharp.1.58.1/SkiaSharp.1.58.1.nupkg rename to packages/SkiaSharp.1.59.2/SkiaSharp.1.59.2.nupkg index 6334cc8122..1dadd550e3 100644 Binary files a/packages/SkiaSharp.1.58.1/SkiaSharp.1.58.1.nupkg and b/packages/SkiaSharp.1.59.2/SkiaSharp.1.59.2.nupkg differ diff --git a/packages/SkiaSharp.1.59.2/lib/net45/SkiaSharp.dll b/packages/SkiaSharp.1.59.2/lib/net45/SkiaSharp.dll new file mode 100644 index 0000000000..6af7354389 Binary files /dev/null and b/packages/SkiaSharp.1.59.2/lib/net45/SkiaSharp.dll differ diff --git a/packages/SkiaSharp.1.59.2/lib/net45/SkiaSharp.dll.config b/packages/SkiaSharp.1.59.2/lib/net45/SkiaSharp.dll.config new file mode 100644 index 0000000000..4080db5c79 --- /dev/null +++ b/packages/SkiaSharp.1.59.2/lib/net45/SkiaSharp.dll.config @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/SkiaSharp.1.58.1/lib/net45/SkiaSharp.xml b/packages/SkiaSharp.1.59.2/lib/net45/SkiaSharp.xml similarity index 98% rename from packages/SkiaSharp.1.58.1/lib/net45/SkiaSharp.xml rename to packages/SkiaSharp.1.59.2/lib/net45/SkiaSharp.xml index 9334a849ed..73db0ad104 100644 --- a/packages/SkiaSharp.1.58.1/lib/net45/SkiaSharp.xml +++ b/packages/SkiaSharp.1.59.2/lib/net45/SkiaSharp.xml @@ -104,6 +104,9 @@ Reset all the context state for any backend. + + Reset nothing. + Wrap an existing texture created by the client in the 3D API with an underlying GRTexture object. @@ -325,6 +328,13 @@ This is only really useful if paths are commonly rendered at the same scale and fractional translation. Default is false. + + Gets or sets a value indicating whether to avoid allocating stencil buffers. + + + + Bugs on certain drivers cause stencil buffers to leak. This flag causes Skia to avoid allocating stencil buffers and use alternate rasterization paths, avoiding the leak. + Gets or sets the threshold, in bytes, above which a buffer mapping API will be used to map vertex and index buffers to CPU memory in order to update them. @@ -558,6 +568,9 @@ Reset the MSAA state + + Reset nothing. + Reset the path rendering state. @@ -1098,7 +1111,7 @@ using (new SKAutoMaskFreeImage(mask.Image)) { The description of the desired image format. The color lookup table. Constructor that configures the bitmap based on an  specification and a color table. - Use this method to create a bitmap that will use a color lookup table.   The bitmap will be an 8-bit indexed bitmap, where each value represents an index into the color table, and the color is determined by the value in the specific location in the color table array. + Use this method to create a bitmap that will use a color lookup table. The bitmap will be an 8-bit indexed bitmap, where each value represents an index into the color table, and the color is determined by the value in the specific location in the color table array. The description of the desired image format. @@ -1106,6 +1119,13 @@ using (new SKAutoMaskFreeImage(mask.Image)) { Constructor that configures the bitmap based on an  specification, and the specified number of bytes per row (the stride size) This constructor might throw an exception if it is not possible to create a bitmap with the specified configuration (for example, the image info requires a color table, and there is no color table). + + The description of the desired image format. + The color lookup table. + The additional flags. + Constructor that configures the bitmap based on an  specification and a color table. + Use this method to create a bitmap that will use a color lookup table. The bitmap will be an 8-bit indexed bitmap, where each value represents an index into the color table, and the color is determined by the value in the specific location in the color table array. + The desired width in pixels. The desired height in pixels. @@ -1742,6 +1762,18 @@ using (new SKAutoMaskFreeImage(mask.Image)) { + + Flags to use with . + + + + + + Default bitmap allocation flag. + + + Initialize the bitmap with zeroed data. + The memory address of the pixels being released. The user data that was provided when installing the pixels. @@ -2596,6 +2628,13 @@ using (new SKAutoMaskFreeImage(mask.Image)) { Returns the actual data object that was attached to the canvas. If the backend of this canvas does not support annotations, this call is safely ignored. + + The mesh to draw. + The blend mode to use to combine the colors with the texture, before being drawn using the paint. Used if both texture coordinates and colors are present. + The shader/texture. + Draws a set of vertices. + If both textures and vertex-colors are , it strokes hairlines with the paint's color. This behavior is a useful debugging mode to visualize the mesh. + How to interpret the array of vertices. The array of vertices for the mesh. @@ -3259,6 +3298,15 @@ using (new SKAutoMaskFreeImage(mask.Image)) { + + Gets or sets a value indicating the frame’s alpha value. + + + + + + + Gets or sets the number of milliseconds to show this frame. @@ -3347,6 +3395,15 @@ using (new SKAutoMaskFreeImage(mask.Image)) { + + Gets or sets a value indicating whether the decode should do a linear premultiply or a legacy premultiply. + + + + + + + Gets or sets the subset rectangle. @@ -4546,6 +4603,15 @@ using (new SKAutoMaskFreeImage(mask.Image)) { + + Gets a value indicating whether or not the color space is sRGB. + + + + + + + Converts the color space to a XYZ D50 matrix that describes the color space. Returns the matrix if the color gamut can be described as a matrix, otherwise . @@ -4567,6 +4633,9 @@ using (new SKAutoMaskFreeImage(mask.Image)) { + + Default construction. + Blending is non-linear. @@ -4662,6 +4731,21 @@ using (new SKAutoMaskFreeImage(mask.Image)) { + + Converts primaries and a white point to a XYZ D50 matrix, the preferred color gamut representation of . + Returns the XYZ D50 matrix, or  if the conversion is not possible. + + + + + + The XYZ D50 matrix. + Converts primaries and a white point to a XYZ D50 matrix, the preferred color gamut representation of . + Returns  if the conversion succeeded, otherwise  if the conversion is not possible. + + + + Gets or sets the white X-coordinate. @@ -4781,6 +4865,13 @@ using (new SKAutoMaskFreeImage(mask.Image)) { + + Inverts coefficients for a common transfer function equation. + Returns the mathematically inverted parametric transfer function equation. + + + + Holds a premultiplied color table for indexed 8-bit bitmaps. This class is used to represent a color lookup table for indexed bitmap images. The table can contain up to  (256) colors (8 bits). The colors are stored are premultiplied 32-bit colors. @@ -4935,6 +5026,9 @@ using (new SKAutoMaskFreeImage(mask.Image)) { Only use the left component of the rectangle. + + None of the edges have been specified. + Only use the top component of the rectangle. @@ -6353,12 +6447,10 @@ using (new SKAutoMaskFreeImage(mask.Image)) { The file format used to encode the image. - The quality level to use for the image. + The quality level to use for the image. This is in the range from 0-100. Encodes the image using the specified format. Returns the  wrapping the encoded image. - - - + The quality is a suggestion, and not all formats (eg: png) respect or support it. The file format used to encode the image. @@ -10626,6 +10718,46 @@ using (new SKAutoMaskFreeImage(mask.Image)) { + + The pixmap to read the pixel data into. + Copies the pixels from the image into the specified pixmap. + Returns  if the pexels were read, or  if there was an error. + + + + + + The image information describing the destination pixel buffer. + The pixel buffer to read the pixel data into. + The number of bytes in each row of in the destination buffer. + Copies the pixels from the image into the specified buffer. + Returns  if the pixels were read, or  if there was an error. + + + + + + The pixmap to read the pixel data into. + The source x-coordinate to start reading from. + The source y-coordinate to start reading from. + Copies the pixels from the image into the specified pixmap. + Returns  if the pixels were read, or  if there was an error. + + + + + + The image information describing the destination pixel buffer. + The pixel buffer to read the pixel data into. + The number of bytes in each row of in the destination buffer. + The source x-coordinate to start reading from. + The source y-coordinate to start reading from. + Copies the pixels from the image into the specified buffer. + Returns  if the pixels were read, or  if there was an error. + + + + Reset the pixmap to an empty pixmap. @@ -13498,6 +13630,9 @@ canvas.DrawPaint (paint); + + Use default properties. + Use device independent fonts. @@ -13545,6 +13680,18 @@ canvas.DrawPaint (paint); The buffer contains UTF-8 encoded characters. + + Various flags to be used with . + + + + + + Premultiplies, unpremultiplies, and blends ignoring the transfer function. Pixels are treated as if they are linear, regardless of their transfer function encoding. + + + Converts to a linear space before premultiplying, unpremultiplying, or blending. + Represents a specific typeface and intrinsic style of a font. @@ -13623,6 +13770,15 @@ canvas.DrawPaint (paint); This may be one of the values in . + + The input data. + The font face index. + Returns a new typeface given data. + Returns a new typeface, or  if the file does not exist, or is not a valid font file. + + + + The name of the font family. May be . The style (normal, bold, italic) of the typeface. @@ -13787,6 +13943,50 @@ using (var tf = SKTypeface.FromStream (stream)) { The vertices are a triangle strip. + + Represents an immutable set of vertex data that can be used with . + + + + + + How to interpret the array of vertices. + The array of vertices for the mesh. + The color for each vertex, to be interpolated across the triangle. May be . + Creates a new  instance, making a copy of the vertices and related data. + Returns the new  instance. + + + + + + How to interpret the array of vertices. + The array of vertices for the mesh. + The coordinates in texture space (not uv space) for each vertex. May be . + The color for each vertex, to be interpolated across the triangle. May be . + Creates a new  instance, making a copy of the vertices and related data. + Returns the new  instance. + + + + + + How to interpret the array of vertices. + The array of vertices for the mesh. + The coordinates in texture space (not uv space) for each vertex. May be . + The color for each vertex, to be interpolated across the triangle. May be . + The array of indices to reference into the vertex (texture coordinates, colors) array. + Creates a new  instance, making a copy of the vertices and related data. + Returns the new  instance. + + + + + + To be added. + To be added. + To be added. + An abstraction for writing a stream of bytes, which can be backed by memory, or a file, or something else. diff --git a/packages/SkiaSharp.1.59.2/lib/portable-net45+win8+wpa81+wp8/SkiaSharp.dll b/packages/SkiaSharp.1.59.2/lib/portable-net45+win8+wpa81+wp8/SkiaSharp.dll new file mode 100644 index 0000000000..e5aa0f2935 Binary files /dev/null and b/packages/SkiaSharp.1.59.2/lib/portable-net45+win8+wpa81+wp8/SkiaSharp.dll differ diff --git a/packages/SkiaSharp.1.58.1/lib/portable-net45+win8+wpa81+wp8/SkiaSharp.xml b/packages/SkiaSharp.1.59.2/lib/portable-net45+win8+wpa81+wp8/SkiaSharp.xml similarity index 98% rename from packages/SkiaSharp.1.58.1/lib/portable-net45+win8+wpa81+wp8/SkiaSharp.xml rename to packages/SkiaSharp.1.59.2/lib/portable-net45+win8+wpa81+wp8/SkiaSharp.xml index 9334a849ed..73db0ad104 100644 --- a/packages/SkiaSharp.1.58.1/lib/portable-net45+win8+wpa81+wp8/SkiaSharp.xml +++ b/packages/SkiaSharp.1.59.2/lib/portable-net45+win8+wpa81+wp8/SkiaSharp.xml @@ -104,6 +104,9 @@ Reset all the context state for any backend. + + Reset nothing. + Wrap an existing texture created by the client in the 3D API with an underlying GRTexture object. @@ -325,6 +328,13 @@ This is only really useful if paths are commonly rendered at the same scale and fractional translation. Default is false. + + Gets or sets a value indicating whether to avoid allocating stencil buffers. + + + + Bugs on certain drivers cause stencil buffers to leak. This flag causes Skia to avoid allocating stencil buffers and use alternate rasterization paths, avoiding the leak. + Gets or sets the threshold, in bytes, above which a buffer mapping API will be used to map vertex and index buffers to CPU memory in order to update them. @@ -558,6 +568,9 @@ Reset the MSAA state + + Reset nothing. + Reset the path rendering state. @@ -1098,7 +1111,7 @@ using (new SKAutoMaskFreeImage(mask.Image)) { The description of the desired image format. The color lookup table. Constructor that configures the bitmap based on an  specification and a color table. - Use this method to create a bitmap that will use a color lookup table.   The bitmap will be an 8-bit indexed bitmap, where each value represents an index into the color table, and the color is determined by the value in the specific location in the color table array. + Use this method to create a bitmap that will use a color lookup table. The bitmap will be an 8-bit indexed bitmap, where each value represents an index into the color table, and the color is determined by the value in the specific location in the color table array. The description of the desired image format. @@ -1106,6 +1119,13 @@ using (new SKAutoMaskFreeImage(mask.Image)) { Constructor that configures the bitmap based on an  specification, and the specified number of bytes per row (the stride size) This constructor might throw an exception if it is not possible to create a bitmap with the specified configuration (for example, the image info requires a color table, and there is no color table). + + The description of the desired image format. + The color lookup table. + The additional flags. + Constructor that configures the bitmap based on an  specification and a color table. + Use this method to create a bitmap that will use a color lookup table. The bitmap will be an 8-bit indexed bitmap, where each value represents an index into the color table, and the color is determined by the value in the specific location in the color table array. + The desired width in pixels. The desired height in pixels. @@ -1742,6 +1762,18 @@ using (new SKAutoMaskFreeImage(mask.Image)) { + + Flags to use with . + + + + + + Default bitmap allocation flag. + + + Initialize the bitmap with zeroed data. + The memory address of the pixels being released. The user data that was provided when installing the pixels. @@ -2596,6 +2628,13 @@ using (new SKAutoMaskFreeImage(mask.Image)) { Returns the actual data object that was attached to the canvas. If the backend of this canvas does not support annotations, this call is safely ignored. + + The mesh to draw. + The blend mode to use to combine the colors with the texture, before being drawn using the paint. Used if both texture coordinates and colors are present. + The shader/texture. + Draws a set of vertices. + If both textures and vertex-colors are , it strokes hairlines with the paint's color. This behavior is a useful debugging mode to visualize the mesh. + How to interpret the array of vertices. The array of vertices for the mesh. @@ -3259,6 +3298,15 @@ using (new SKAutoMaskFreeImage(mask.Image)) { + + Gets or sets a value indicating the frame’s alpha value. + + + + + + + Gets or sets the number of milliseconds to show this frame. @@ -3347,6 +3395,15 @@ using (new SKAutoMaskFreeImage(mask.Image)) { + + Gets or sets a value indicating whether the decode should do a linear premultiply or a legacy premultiply. + + + + + + + Gets or sets the subset rectangle. @@ -4546,6 +4603,15 @@ using (new SKAutoMaskFreeImage(mask.Image)) { + + Gets a value indicating whether or not the color space is sRGB. + + + + + + + Converts the color space to a XYZ D50 matrix that describes the color space. Returns the matrix if the color gamut can be described as a matrix, otherwise . @@ -4567,6 +4633,9 @@ using (new SKAutoMaskFreeImage(mask.Image)) { + + Default construction. + Blending is non-linear. @@ -4662,6 +4731,21 @@ using (new SKAutoMaskFreeImage(mask.Image)) { + + Converts primaries and a white point to a XYZ D50 matrix, the preferred color gamut representation of . + Returns the XYZ D50 matrix, or  if the conversion is not possible. + + + + + + The XYZ D50 matrix. + Converts primaries and a white point to a XYZ D50 matrix, the preferred color gamut representation of . + Returns  if the conversion succeeded, otherwise  if the conversion is not possible. + + + + Gets or sets the white X-coordinate. @@ -4781,6 +4865,13 @@ using (new SKAutoMaskFreeImage(mask.Image)) { + + Inverts coefficients for a common transfer function equation. + Returns the mathematically inverted parametric transfer function equation. + + + + Holds a premultiplied color table for indexed 8-bit bitmaps. This class is used to represent a color lookup table for indexed bitmap images. The table can contain up to  (256) colors (8 bits). The colors are stored are premultiplied 32-bit colors. @@ -4935,6 +5026,9 @@ using (new SKAutoMaskFreeImage(mask.Image)) { Only use the left component of the rectangle. + + None of the edges have been specified. + Only use the top component of the rectangle. @@ -6353,12 +6447,10 @@ using (new SKAutoMaskFreeImage(mask.Image)) { The file format used to encode the image. - The quality level to use for the image. + The quality level to use for the image. This is in the range from 0-100. Encodes the image using the specified format. Returns the  wrapping the encoded image. - - - + The quality is a suggestion, and not all formats (eg: png) respect or support it. The file format used to encode the image. @@ -10626,6 +10718,46 @@ using (new SKAutoMaskFreeImage(mask.Image)) { + + The pixmap to read the pixel data into. + Copies the pixels from the image into the specified pixmap. + Returns  if the pexels were read, or  if there was an error. + + + + + + The image information describing the destination pixel buffer. + The pixel buffer to read the pixel data into. + The number of bytes in each row of in the destination buffer. + Copies the pixels from the image into the specified buffer. + Returns  if the pixels were read, or  if there was an error. + + + + + + The pixmap to read the pixel data into. + The source x-coordinate to start reading from. + The source y-coordinate to start reading from. + Copies the pixels from the image into the specified pixmap. + Returns  if the pixels were read, or  if there was an error. + + + + + + The image information describing the destination pixel buffer. + The pixel buffer to read the pixel data into. + The number of bytes in each row of in the destination buffer. + The source x-coordinate to start reading from. + The source y-coordinate to start reading from. + Copies the pixels from the image into the specified buffer. + Returns  if the pixels were read, or  if there was an error. + + + + Reset the pixmap to an empty pixmap. @@ -13498,6 +13630,9 @@ canvas.DrawPaint (paint); + + Use default properties. + Use device independent fonts. @@ -13545,6 +13680,18 @@ canvas.DrawPaint (paint); The buffer contains UTF-8 encoded characters. + + Various flags to be used with . + + + + + + Premultiplies, unpremultiplies, and blends ignoring the transfer function. Pixels are treated as if they are linear, regardless of their transfer function encoding. + + + Converts to a linear space before premultiplying, unpremultiplying, or blending. + Represents a specific typeface and intrinsic style of a font. @@ -13623,6 +13770,15 @@ canvas.DrawPaint (paint); This may be one of the values in . + + The input data. + The font face index. + Returns a new typeface given data. + Returns a new typeface, or  if the file does not exist, or is not a valid font file. + + + + The name of the font family. May be . The style (normal, bold, italic) of the typeface. @@ -13787,6 +13943,50 @@ using (var tf = SKTypeface.FromStream (stream)) { The vertices are a triangle strip. + + Represents an immutable set of vertex data that can be used with . + + + + + + How to interpret the array of vertices. + The array of vertices for the mesh. + The color for each vertex, to be interpolated across the triangle. May be . + Creates a new  instance, making a copy of the vertices and related data. + Returns the new  instance. + + + + + + How to interpret the array of vertices. + The array of vertices for the mesh. + The coordinates in texture space (not uv space) for each vertex. May be . + The color for each vertex, to be interpolated across the triangle. May be . + Creates a new  instance, making a copy of the vertices and related data. + Returns the new  instance. + + + + + + How to interpret the array of vertices. + The array of vertices for the mesh. + The coordinates in texture space (not uv space) for each vertex. May be . + The color for each vertex, to be interpolated across the triangle. May be . + The array of indices to reference into the vertex (texture coordinates, colors) array. + Creates a new  instance, making a copy of the vertices and related data. + Returns the new  instance. + + + + + + To be added. + To be added. + To be added. + An abstraction for writing a stream of bytes, which can be backed by memory, or a file, or something else. diff --git a/packages/SkiaSharp.1.58.1/runtimes/osx/native/libSkiaSharp.dylib b/packages/SkiaSharp.1.59.2/runtimes/osx/native/libSkiaSharp.dylib similarity index 59% rename from packages/SkiaSharp.1.58.1/runtimes/osx/native/libSkiaSharp.dylib rename to packages/SkiaSharp.1.59.2/runtimes/osx/native/libSkiaSharp.dylib index 0901ce71a5..af6ce74777 100644 Binary files a/packages/SkiaSharp.1.58.1/runtimes/osx/native/libSkiaSharp.dylib and b/packages/SkiaSharp.1.59.2/runtimes/osx/native/libSkiaSharp.dylib differ diff --git a/packages/SkiaSharp.1.58.1/runtimes/win7-x64/native/libSkiaSharp.dll b/packages/SkiaSharp.1.59.2/runtimes/win7-x64/native/libSkiaSharp.dll similarity index 51% rename from packages/SkiaSharp.1.58.1/runtimes/win7-x64/native/libSkiaSharp.dll rename to packages/SkiaSharp.1.59.2/runtimes/win7-x64/native/libSkiaSharp.dll index 901ed1fb62..2f23bdce25 100644 Binary files a/packages/SkiaSharp.1.58.1/runtimes/win7-x64/native/libSkiaSharp.dll and b/packages/SkiaSharp.1.59.2/runtimes/win7-x64/native/libSkiaSharp.dll differ diff --git a/packages/SkiaSharp.1.59.2/runtimes/win7-x86/native/libSkiaSharp.dll b/packages/SkiaSharp.1.59.2/runtimes/win7-x86/native/libSkiaSharp.dll new file mode 100644 index 0000000000..b7bf435a1e Binary files /dev/null and b/packages/SkiaSharp.1.59.2/runtimes/win7-x86/native/libSkiaSharp.dll differ