From 0e02e0559d3873a35ca2ec911b3c0b714a7611ea Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 16 Jan 2015 23:29:53 -0500 Subject: sync updates --- .../MediaBrowser.Server.Implementations.csproj | 1 + 1 file changed, 1 insertion(+) (limited to 'MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj') diff --git a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj index 433b76657..b4f277fbd 100644 --- a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj +++ b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj @@ -300,6 +300,7 @@ + -- cgit v1.2.3 From 7a136349eea53097a4fb9e52de81a32bf2a4e086 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 16 Jan 2015 23:38:24 -0500 Subject: update components --- .../MediaBrowser.Common.Implementations.csproj | 8 +-- .../packages.config | 2 +- .../FileOrganization/EpisodeFileOrganizer.cs | 3 +- .../HttpServer/SocketSharp/SocketSharpLogger.cs | 50 ----------------- .../SocketSharp/WebSocketSharpListener.cs | 3 +- .../Library/LibraryManager.cs | 13 ++--- .../Library/Resolvers/Audio/MusicAlbumResolver.cs | 3 +- .../Library/Resolvers/BaseVideoResolver.cs | 5 +- .../Library/Resolvers/Movies/MovieResolver.cs | 5 +- .../Library/Resolvers/TV/SeriesResolver.cs | 3 +- .../Logging/PatternsLogger.cs | 63 ++++++++++++++++++++++ .../MediaBrowser.Server.Implementations.csproj | 14 +++-- .../packages.config | 4 +- 13 files changed, 102 insertions(+), 74 deletions(-) delete mode 100644 MediaBrowser.Server.Implementations/HttpServer/SocketSharp/SocketSharpLogger.cs create mode 100644 MediaBrowser.Server.Implementations/Logging/PatternsLogger.cs (limited to 'MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj') diff --git a/MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj b/MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj index b04f46c7a..d7e5886d5 100644 --- a/MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj +++ b/MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj @@ -56,13 +56,13 @@ False ..\ThirdParty\SharpCompress\SharpCompress.dll - + False - ..\packages\SimpleInjector.2.6.1\lib\net45\SimpleInjector.dll + ..\packages\SimpleInjector.2.7.0\lib\net45\SimpleInjector.dll - + False - ..\packages\SimpleInjector.2.6.1\lib\net45\SimpleInjector.Diagnostics.dll + ..\packages\SimpleInjector.2.7.0\lib\net45\SimpleInjector.Diagnostics.dll diff --git a/MediaBrowser.Common.Implementations/packages.config b/MediaBrowser.Common.Implementations/packages.config index ba9df1b8a..825b6662b 100644 --- a/MediaBrowser.Common.Implementations/packages.config +++ b/MediaBrowser.Common.Implementations/packages.config @@ -1,5 +1,5 @@  - + diff --git a/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs b/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs index cfc3e2b23..2fc5f9bc2 100644 --- a/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs +++ b/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs @@ -17,6 +17,7 @@ using System.Linq; using System.Threading; using System.Threading.Tasks; using MediaBrowser.Server.Implementations.Library; +using MediaBrowser.Server.Implementations.Logging; namespace MediaBrowser.Server.Implementations.FileOrganization { @@ -57,7 +58,7 @@ namespace MediaBrowser.Server.Implementations.FileOrganization }; var namingOptions = ((LibraryManager) _libraryManager).GetNamingOptions(); - var resolver = new Naming.TV.EpisodeResolver(namingOptions, new Naming.Logging.NullLogger()); + var resolver = new Naming.TV.EpisodeResolver(namingOptions, new PatternsLogger()); var episodeInfo = resolver.Resolve(path, FileInfoType.File) ?? new Naming.TV.EpisodeInfo(); diff --git a/MediaBrowser.Server.Implementations/HttpServer/SocketSharp/SocketSharpLogger.cs b/MediaBrowser.Server.Implementations/HttpServer/SocketSharp/SocketSharpLogger.cs deleted file mode 100644 index 427671b30..000000000 --- a/MediaBrowser.Server.Implementations/HttpServer/SocketSharp/SocketSharpLogger.cs +++ /dev/null @@ -1,50 +0,0 @@ -using MediaBrowser.Model.Logging; -using System; - -namespace MediaBrowser.Server.Implementations.HttpServer.SocketSharp -{ - public class SocketSharpLogger : SocketHttpListener.Logging.ILogger - { - private readonly ILogger _logger; - - public SocketSharpLogger(ILogger logger) - { - _logger = logger; - } - - public void Debug(string message, params object[] paramList) - { - _logger.Debug(message, paramList); - } - - public void Error(string message, params object[] paramList) - { - _logger.Error(message, paramList); - } - - public void ErrorException(string message, Exception exception, params object[] paramList) - { - _logger.ErrorException(message, exception, paramList); - } - - public void Fatal(string message, params object[] paramList) - { - _logger.Fatal(message, paramList); - } - - public void FatalException(string message, Exception exception, params object[] paramList) - { - _logger.FatalException(message, exception, paramList); - } - - public void Info(string message, params object[] paramList) - { - _logger.Info(message, paramList); - } - - public void Warn(string message, params object[] paramList) - { - _logger.Warn(message, paramList); - } - } -} diff --git a/MediaBrowser.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpListener.cs b/MediaBrowser.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpListener.cs index 419d145bb..04db0d8a5 100644 --- a/MediaBrowser.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpListener.cs +++ b/MediaBrowser.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpListener.cs @@ -1,5 +1,6 @@ using MediaBrowser.Controller.Net; using MediaBrowser.Model.Logging; +using MediaBrowser.Server.Implementations.Logging; using ServiceStack; using ServiceStack.Web; using System; @@ -33,7 +34,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer.SocketSharp public void Start(IEnumerable urlPrefixes) { if (_listener == null) - _listener = new HttpListener(new SocketSharpLogger(_logger)); + _listener = new HttpListener(new PatternsLogger(_logger), null); foreach (var prefix in urlPrefixes) { diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs index 6a999a7f4..684a03894 100644 --- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs +++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs @@ -22,6 +22,7 @@ using MediaBrowser.Naming.IO; using MediaBrowser.Naming.TV; using MediaBrowser.Naming.Video; using MediaBrowser.Server.Implementations.Library.Validators; +using MediaBrowser.Server.Implementations.Logging; using MediaBrowser.Server.Implementations.ScheduledTasks; using System; using System.Collections.Concurrent; @@ -1771,7 +1772,7 @@ namespace MediaBrowser.Server.Implementations.Library public bool IsVideoFile(string path) { - var resolver = new VideoResolver(GetNamingOptions(), new Naming.Logging.NullLogger()); + var resolver = new VideoResolver(GetNamingOptions(), new PatternsLogger()); return resolver.IsVideoFile(path); } @@ -1789,7 +1790,7 @@ namespace MediaBrowser.Server.Implementations.Library public bool FillMissingEpisodeNumbersFromPath(Episode episode) { var resolver = new EpisodeResolver(GetNamingOptions(), - new Naming.Logging.NullLogger()); + new PatternsLogger()); var fileType = episode.VideoType == VideoType.BluRay || episode.VideoType == VideoType.Dvd || episode.VideoType == VideoType.HdDvd ? FileInfoType.Directory : @@ -1927,7 +1928,7 @@ namespace MediaBrowser.Server.Implementations.Library public ItemLookupInfo ParseName(string name) { - var resolver = new VideoResolver(GetNamingOptions(), new Naming.Logging.NullLogger()); + var resolver = new VideoResolver(GetNamingOptions(), new PatternsLogger()); var result = resolver.CleanDateTime(name); var cleanName = resolver.CleanString(result.Name); @@ -1946,7 +1947,7 @@ namespace MediaBrowser.Server.Implementations.Library .SelectMany(i => i.EnumerateFiles("*", SearchOption.TopDirectoryOnly)) .ToList(); - var videoListResolver = new VideoListResolver(GetNamingOptions(), new Naming.Logging.NullLogger()); + var videoListResolver = new VideoListResolver(GetNamingOptions(), new PatternsLogger()); var videos = videoListResolver.Resolve(fileSystemChildren.Select(i => new PortableFileInfo { @@ -1999,7 +2000,7 @@ namespace MediaBrowser.Server.Implementations.Library .SelectMany(i => i.EnumerateFiles("*", SearchOption.TopDirectoryOnly)) .ToList(); - var videoListResolver = new VideoListResolver(GetNamingOptions(), new Naming.Logging.NullLogger()); + var videoListResolver = new VideoListResolver(GetNamingOptions(), new PatternsLogger()); var videos = videoListResolver.Resolve(fileSystemChildren.Select(i => new PortableFileInfo { @@ -2037,7 +2038,7 @@ namespace MediaBrowser.Server.Implementations.Library private void SetExtraTypeFromFilename(Video item) { - var resolver = new ExtraResolver(GetNamingOptions(), new Naming.Logging.NullLogger(), new RegexProvider()); + var resolver = new ExtraResolver(GetNamingOptions(), new PatternsLogger(), new RegexProvider()); var result = resolver.GetExtraInfo(item.Path); diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs index 7c8ddabeb..d349665b1 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs +++ b/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs @@ -10,6 +10,7 @@ using MediaBrowser.Naming.Common; using System; using System.Collections.Generic; using System.IO; +using MediaBrowser.Server.Implementations.Logging; namespace MediaBrowser.Server.Implementations.Library.Resolvers.Audio { @@ -169,7 +170,7 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Audio { var namingOptions = ((LibraryManager)_libraryManager).GetNamingOptions(); - var parser = new AlbumParser(namingOptions, new Naming.Logging.NullLogger()); + var parser = new AlbumParser(namingOptions, new PatternsLogger()); var result = parser.ParseMultiPart(path); return result.IsMultiPart; diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs index 1a4d35af5..3333719b7 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs +++ b/MediaBrowser.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs @@ -7,6 +7,7 @@ using MediaBrowser.Naming.Video; using System; using System.IO; using System.Linq; +using MediaBrowser.Server.Implementations.Logging; namespace MediaBrowser.Server.Implementations.Library.Resolvers { @@ -47,7 +48,7 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers var namingOptions = ((LibraryManager)LibraryManager).GetNamingOptions(); // If the path is a file check for a matching extensions - var parser = new Naming.Video.VideoResolver(namingOptions, new Naming.Logging.NullLogger()); + var parser = new Naming.Video.VideoResolver(namingOptions, new PatternsLogger()); if (args.IsDirectory) { @@ -233,7 +234,7 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers { var namingOptions = ((LibraryManager)LibraryManager).GetNamingOptions(); - var resolver = new Format3DParser(namingOptions, new Naming.Logging.NullLogger()); + var resolver = new Format3DParser(namingOptions, new PatternsLogger()); var result = resolver.Parse(video.Path); Set3DFormat(video, result.Is3D, result.Format3D); diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs index 96ae281b9..3c8141e77 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs +++ b/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs @@ -12,6 +12,7 @@ using System; using System.Collections.Generic; using System.IO; using System.Linq; +using MediaBrowser.Server.Implementations.Logging; namespace MediaBrowser.Server.Implementations.Library.Resolvers.Movies { @@ -111,7 +112,7 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Movies var namingOptions = ((LibraryManager)LibraryManager).GetNamingOptions(); - var resolver = new VideoListResolver(namingOptions, new Naming.Logging.NullLogger()); + var resolver = new VideoListResolver(namingOptions, new PatternsLogger()); var resolverResult = resolver.Resolve(files.Select(i => new PortableFileInfo { FullName = i.FullName, @@ -436,7 +437,7 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Movies } var namingOptions = ((LibraryManager)LibraryManager).GetNamingOptions(); - var resolver = new StackResolver(namingOptions, new Naming.Logging.NullLogger()); + var resolver = new StackResolver(namingOptions, new PatternsLogger()); var result = resolver.ResolveDirectories(folderPaths); diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs index ff05c29ee..7371ca5a9 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs +++ b/MediaBrowser.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs @@ -12,6 +12,7 @@ using MediaBrowser.Model.Logging; using MediaBrowser.Naming.Common; using MediaBrowser.Naming.IO; using MediaBrowser.Naming.TV; +using MediaBrowser.Server.Implementations.Logging; using EpisodeInfo = MediaBrowser.Controller.Providers.EpisodeInfo; namespace MediaBrowser.Server.Implementations.Library.Resolvers.TV @@ -152,7 +153,7 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.TV .ToList(); } - var episodeResolver = new Naming.TV.EpisodeResolver(namingOptions, new Naming.Logging.NullLogger()); + var episodeResolver = new Naming.TV.EpisodeResolver(namingOptions, new PatternsLogger()); var episodeInfo = episodeResolver.Resolve(fullName, FileInfoType.File, false); if (episodeInfo != null && episodeInfo.EpisodeNumber.HasValue) { diff --git a/MediaBrowser.Server.Implementations/Logging/PatternsLogger.cs b/MediaBrowser.Server.Implementations/Logging/PatternsLogger.cs new file mode 100644 index 000000000..00b6cc5a8 --- /dev/null +++ b/MediaBrowser.Server.Implementations/Logging/PatternsLogger.cs @@ -0,0 +1,63 @@ +using Patterns.Logging; +using System; + +namespace MediaBrowser.Server.Implementations.Logging +{ + public class PatternsLogger : ILogger + { + private readonly Model.Logging.ILogger _logger; + + public PatternsLogger() + : this(new Model.Logging.NullLogger()) + { + } + + public PatternsLogger(Model.Logging.ILogger logger) + { + _logger = logger; + } + + public void Debug(string message, params object[] paramList) + { + _logger.Debug(message, paramList); + } + + public void Error(string message, params object[] paramList) + { + _logger.Error(message, paramList); + } + + public void ErrorException(string message, Exception exception, params object[] paramList) + { + _logger.ErrorException(message, exception, paramList); + } + + public void Fatal(string message, params object[] paramList) + { + _logger.Fatal(message, paramList); + } + + public void FatalException(string message, Exception exception, params object[] paramList) + { + _logger.FatalException(message, exception, paramList); + } + + public void Info(string message, params object[] paramList) + { + _logger.Info(message, paramList); + } + + public void Warn(string message, params object[] paramList) + { + _logger.Warn(message, paramList); + } + + public void Log(LogSeverity severity, string message, params object[] paramList) + { + } + + public void LogMultiline(string message, LogSeverity severity, System.Text.StringBuilder additionalContent) + { + } + } +} diff --git a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj index b4f277fbd..548ac07aa 100644 --- a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj +++ b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj @@ -50,7 +50,8 @@ ..\ThirdParty\libwebp\Imazen.WebP.dll - ..\packages\MediaBrowser.Naming.1.0.0.29\lib\portable-net45+sl4+wp71+win8+wpa81\MediaBrowser.Naming.dll + ..\packages\MediaBrowser.Naming.1.0.0.30\lib\portable-net45+sl4+wp71+win8+wpa81\MediaBrowser.Naming.dll + True False @@ -60,11 +61,16 @@ False ..\packages\morelinq.1.1.0\lib\net35\MoreLinq.dll + + ..\packages\Patterns.Logging.1.0.0.2\lib\portable-net45+sl4+wp71+win8+wpa81\Patterns.Logging.dll + True + ..\ThirdParty\ServiceStack\ServiceStack.Api.Swagger.dll - - ..\ThirdParty\SocketHttpListener\SocketHttpListener.dll + + False + ..\packages\SocketHttpListener.1.0.0.0\lib\net45\SocketHttpListener.dll @@ -164,7 +170,6 @@ - @@ -224,6 +229,7 @@ + diff --git a/MediaBrowser.Server.Implementations/packages.config b/MediaBrowser.Server.Implementations/packages.config index b23446eee..b2edfbbc1 100644 --- a/MediaBrowser.Server.Implementations/packages.config +++ b/MediaBrowser.Server.Implementations/packages.config @@ -1,6 +1,8 @@  - + + + \ No newline at end of file -- cgit v1.2.3 From b7e5e21c975cc4953764d48c1dacbcd4dc149de9 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 22 Jan 2015 11:41:34 -0500 Subject: update task buttons --- MediaBrowser.Api/BaseApiService.cs | 20 ++- MediaBrowser.Api/ConfigurationService.cs | 3 +- MediaBrowser.Api/Dlna/DlnaServerService.cs | 3 +- MediaBrowser.Api/Images/ImageService.cs | 16 +-- MediaBrowser.Api/Playback/BaseStreamingService.cs | 2 +- MediaBrowser.Api/PluginService.cs | 3 +- .../ScheduledTasks/ScheduledTaskService.cs | 3 +- MediaBrowser.Api/UserService.cs | 3 +- MediaBrowser.Controller/Entities/Folder.cs | 2 +- .../Entities/ISupportsBoxSetGrouping.cs | 9 +- MediaBrowser.Controller/Entities/Movies/BoxSet.cs | 2 +- MediaBrowser.Controller/Entities/Movies/Movie.cs | 7 - MediaBrowser.Dlna/DlnaManager.cs | 31 ++-- .../MediaBrowser.Model.Portable.csproj | 3 - .../MediaBrowser.Model.net35.csproj | 3 - MediaBrowser.Model/ApiClient/IApiClient.cs | 18 --- MediaBrowser.Model/Dto/VideoStreamOptions.cs | 158 --------------------- MediaBrowser.Model/MediaBrowser.Model.csproj | 1 - .../Collections/CollectionManager.cs | 64 ++++----- .../Library/Validators/BoxSetPostScanTask.cs | 50 ------- .../Localization/JavaScript/javascript.json | 8 +- .../MediaBrowser.Server.Implementations.csproj | 1 - 22 files changed, 86 insertions(+), 324 deletions(-) delete mode 100644 MediaBrowser.Model/Dto/VideoStreamOptions.cs delete mode 100644 MediaBrowser.Server.Implementations/Library/Validators/BoxSetPostScanTask.cs (limited to 'MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj') diff --git a/MediaBrowser.Api/BaseApiService.cs b/MediaBrowser.Api/BaseApiService.cs index 297a13155..e90969655 100644 --- a/MediaBrowser.Api/BaseApiService.cs +++ b/MediaBrowser.Api/BaseApiService.cs @@ -4,6 +4,7 @@ using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Net; using MediaBrowser.Controller.Session; using MediaBrowser.Model.Logging; +using ServiceStack.Text.Controller; using ServiceStack.Web; using System; using System.Collections.Generic; @@ -21,7 +22,7 @@ namespace MediaBrowser.Api /// /// The logger. public ILogger Logger { get; set; } - + /// /// Gets or sets the HTTP result factory. /// @@ -143,7 +144,7 @@ namespace MediaBrowser.Api { if (!string.IsNullOrEmpty(parentId)) { - var folder = (Folder) libraryManager.GetItemById(new Guid(parentId)); + var folder = (Folder)libraryManager.GetItemById(new Guid(parentId)); if (userId.HasValue) { @@ -287,6 +288,20 @@ namespace MediaBrowser.Api }) ?? name; } + protected string GetPathValue(int index) + { + var pathInfo = PathInfo.Parse(Request.PathInfo); + var first = pathInfo.GetArgumentValue(0); + + // backwards compatibility + if (string.Equals(first, "mediabrowser", StringComparison.OrdinalIgnoreCase)) + { + index++; + } + + return pathInfo.GetArgumentValue(index); + } + /// /// Gets the name of the item by. /// @@ -294,7 +309,6 @@ namespace MediaBrowser.Api /// The type. /// The library manager. /// Task{BaseItem}. - /// protected BaseItem GetItemByName(string name, string type, ILibraryManager libraryManager) { BaseItem item; diff --git a/MediaBrowser.Api/ConfigurationService.cs b/MediaBrowser.Api/ConfigurationService.cs index 3eb0296fc..d0abd18c2 100644 --- a/MediaBrowser.Api/ConfigurationService.cs +++ b/MediaBrowser.Api/ConfigurationService.cs @@ -143,8 +143,7 @@ namespace MediaBrowser.Api public void Post(UpdateNamedConfiguration request) { - var pathInfo = PathInfo.Parse(Request.PathInfo); - var key = pathInfo.GetArgumentValue(2); + var key = GetPathValue(2); var configurationType = _configurationManager.GetConfigurationType(key); var configuration = _jsonSerializer.DeserializeFromStream(request.RequestStream, configurationType); diff --git a/MediaBrowser.Api/Dlna/DlnaServerService.cs b/MediaBrowser.Api/Dlna/DlnaServerService.cs index 94d6e25b0..2383017c6 100644 --- a/MediaBrowser.Api/Dlna/DlnaServerService.cs +++ b/MediaBrowser.Api/Dlna/DlnaServerService.cs @@ -120,8 +120,7 @@ namespace MediaBrowser.Api.Dlna private async Task PostAsync(Stream requestStream, IUpnpService service) { - var pathInfo = PathInfo.Parse(Request.PathInfo); - var id = pathInfo.GetArgumentValue(2); + var id = GetPathValue(2); using (var reader = new StreamReader(requestStream)) { diff --git a/MediaBrowser.Api/Images/ImageService.cs b/MediaBrowser.Api/Images/ImageService.cs index f2586b043..f141d9df9 100644 --- a/MediaBrowser.Api/Images/ImageService.cs +++ b/MediaBrowser.Api/Images/ImageService.cs @@ -396,8 +396,7 @@ namespace MediaBrowser.Api.Images public object Get(GetItemByNameImage request) { - var pathInfo = PathInfo.Parse(Request.PathInfo); - var type = pathInfo.GetArgumentValue(0); + var type = GetPathValue(0); var item = GetItemByName(request.Name, type, _libraryManager); @@ -406,8 +405,7 @@ namespace MediaBrowser.Api.Images public object Head(GetItemByNameImage request) { - var pathInfo = PathInfo.Parse(Request.PathInfo); - var type = pathInfo.GetArgumentValue(0); + var type = GetPathValue(0); var item = GetItemByName(request.Name, type, _libraryManager); @@ -420,10 +418,9 @@ namespace MediaBrowser.Api.Images /// The request. public void Post(PostUserImage request) { - var pathInfo = PathInfo.Parse(Request.PathInfo); - var id = new Guid(pathInfo.GetArgumentValue(1)); + var id = new Guid(GetPathValue(1)); - request.Type = (ImageType)Enum.Parse(typeof(ImageType), pathInfo.GetArgumentValue(3), true); + request.Type = (ImageType)Enum.Parse(typeof(ImageType), GetPathValue(3), true); var item = _userManager.GetUserById(id); @@ -438,10 +435,9 @@ namespace MediaBrowser.Api.Images /// The request. public void Post(PostItemImage request) { - var pathInfo = PathInfo.Parse(Request.PathInfo); - var id = new Guid(pathInfo.GetArgumentValue(1)); + var id = new Guid(GetPathValue(1)); - request.Type = (ImageType)Enum.Parse(typeof(ImageType), pathInfo.GetArgumentValue(3), true); + request.Type = (ImageType)Enum.Parse(typeof(ImageType), GetPathValue(3), true); var item = _libraryManager.GetItemById(id); diff --git a/MediaBrowser.Api/Playback/BaseStreamingService.cs b/MediaBrowser.Api/Playback/BaseStreamingService.cs index b3610bc38..77f6dc103 100644 --- a/MediaBrowser.Api/Playback/BaseStreamingService.cs +++ b/MediaBrowser.Api/Playback/BaseStreamingService.cs @@ -824,7 +824,7 @@ namespace MediaBrowser.Api.Playback { get { - return false; + return true; } } diff --git a/MediaBrowser.Api/PluginService.cs b/MediaBrowser.Api/PluginService.cs index 62aa1e755..f9098f5bf 100644 --- a/MediaBrowser.Api/PluginService.cs +++ b/MediaBrowser.Api/PluginService.cs @@ -236,8 +236,7 @@ namespace MediaBrowser.Api { // We need to parse this manually because we told service stack not to with IRequiresRequestStream // https://code.google.com/p/servicestack/source/browse/trunk/Common/ServiceStack.Text/ServiceStack.Text/Controller/PathInfo.cs - var pathInfo = PathInfo.Parse(Request.PathInfo); - var id = new Guid(pathInfo.GetArgumentValue(1)); + var id = new Guid(GetPathValue(1)); var plugin = _appHost.Plugins.First(p => p.Id == id); diff --git a/MediaBrowser.Api/ScheduledTasks/ScheduledTaskService.cs b/MediaBrowser.Api/ScheduledTasks/ScheduledTaskService.cs index 947b99d35..e3722b4a7 100644 --- a/MediaBrowser.Api/ScheduledTasks/ScheduledTaskService.cs +++ b/MediaBrowser.Api/ScheduledTasks/ScheduledTaskService.cs @@ -224,8 +224,7 @@ namespace MediaBrowser.Api.ScheduledTasks { // We need to parse this manually because we told service stack not to with IRequiresRequestStream // https://code.google.com/p/servicestack/source/browse/trunk/Common/ServiceStack.Text/ServiceStack.Text/Controller/PathInfo.cs - var pathInfo = PathInfo.Parse(Request.PathInfo); - var id = pathInfo.GetArgumentValue(1); + var id = GetPathValue(1); var task = TaskManager.ScheduledTasks.FirstOrDefault(i => string.Equals(i.Id, id)); diff --git a/MediaBrowser.Api/UserService.cs b/MediaBrowser.Api/UserService.cs index 51a7584b8..37553e4a4 100644 --- a/MediaBrowser.Api/UserService.cs +++ b/MediaBrowser.Api/UserService.cs @@ -449,8 +449,7 @@ namespace MediaBrowser.Api { // We need to parse this manually because we told service stack not to with IRequiresRequestStream // https://code.google.com/p/servicestack/source/browse/trunk/Common/ServiceStack.Text/ServiceStack.Text/Controller/PathInfo.cs - var pathInfo = PathInfo.Parse(Request.PathInfo); - var id = new Guid(pathInfo.GetArgumentValue(1)); + var id = new Guid(GetPathValue(1)); var dtoUser = request; diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index 005f263f7..ff6e8e85b 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -301,7 +301,7 @@ namespace MediaBrowser.Controller.Entities public override bool IsVisible(User user) { - if (this is ICollectionFolder) + if (this is ICollectionFolder && !(this is BasePluginFolder)) { if (user.Policy.BlockedMediaFolders != null) { diff --git a/MediaBrowser.Controller/Entities/ISupportsBoxSetGrouping.cs b/MediaBrowser.Controller/Entities/ISupportsBoxSetGrouping.cs index 0fd463155..fbe5a06d0 100644 --- a/MediaBrowser.Controller/Entities/ISupportsBoxSetGrouping.cs +++ b/MediaBrowser.Controller/Entities/ISupportsBoxSetGrouping.cs @@ -1,6 +1,4 @@ -using System; -using System.Collections.Generic; - + namespace MediaBrowser.Controller.Entities { /// @@ -10,10 +8,5 @@ namespace MediaBrowser.Controller.Entities /// public interface ISupportsBoxSetGrouping { - /// - /// Gets or sets the box set identifier list. - /// - /// The box set identifier list. - List BoxSetIdList { get; set; } } } diff --git a/MediaBrowser.Controller/Entities/Movies/BoxSet.cs b/MediaBrowser.Controller/Entities/Movies/BoxSet.cs index e48b8d845..63690661a 100644 --- a/MediaBrowser.Controller/Entities/Movies/BoxSet.cs +++ b/MediaBrowser.Controller/Entities/Movies/BoxSet.cs @@ -4,13 +4,13 @@ using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Configuration; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Querying; +using MediaBrowser.Model.Users; using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using System.Threading; using System.Threading.Tasks; -using MediaBrowser.Model.Users; namespace MediaBrowser.Controller.Entities.Movies { diff --git a/MediaBrowser.Controller/Entities/Movies/Movie.cs b/MediaBrowser.Controller/Entities/Movies/Movie.cs index b3774cfe0..2fa5fc6e1 100644 --- a/MediaBrowser.Controller/Entities/Movies/Movie.cs +++ b/MediaBrowser.Controller/Entities/Movies/Movie.cs @@ -25,12 +25,6 @@ namespace MediaBrowser.Controller.Entities.Movies public List ThemeVideoIds { get; set; } public List ProductionLocations { get; set; } - /// - /// This is just a cache to enable quick access by Id - /// - [IgnoreDataMember] - public List BoxSetIdList { get; set; } - public Movie() { SpecialFeatureIds = new List(); @@ -40,7 +34,6 @@ namespace MediaBrowser.Controller.Entities.Movies RemoteTrailerIds = new List(); ThemeSongIds = new List(); ThemeVideoIds = new List(); - BoxSetIdList = new List(); Taglines = new List(); Keywords = new List(); ProductionLocations = new List(); diff --git a/MediaBrowser.Dlna/DlnaManager.cs b/MediaBrowser.Dlna/DlnaManager.cs index 31f1e0a88..2c22abd4d 100644 --- a/MediaBrowser.Dlna/DlnaManager.cs +++ b/MediaBrowser.Dlna/DlnaManager.cs @@ -132,61 +132,74 @@ namespace MediaBrowser.Dlna { if (!string.IsNullOrWhiteSpace(profileInfo.DeviceDescription)) { - if (deviceInfo.DeviceDescription == null || !Regex.IsMatch(deviceInfo.DeviceDescription, profileInfo.DeviceDescription)) + if (deviceInfo.DeviceDescription == null || !IsRegexMatch(deviceInfo.DeviceDescription, profileInfo.DeviceDescription)) return false; } if (!string.IsNullOrWhiteSpace(profileInfo.FriendlyName)) { - if (deviceInfo.FriendlyName == null || !Regex.IsMatch(deviceInfo.FriendlyName, profileInfo.FriendlyName)) + if (deviceInfo.FriendlyName == null || !IsRegexMatch(deviceInfo.FriendlyName, profileInfo.FriendlyName)) return false; } if (!string.IsNullOrWhiteSpace(profileInfo.Manufacturer)) { - if (deviceInfo.Manufacturer == null || !Regex.IsMatch(deviceInfo.Manufacturer, profileInfo.Manufacturer)) + if (deviceInfo.Manufacturer == null || !IsRegexMatch(deviceInfo.Manufacturer, profileInfo.Manufacturer)) return false; } if (!string.IsNullOrWhiteSpace(profileInfo.ManufacturerUrl)) { - if (deviceInfo.ManufacturerUrl == null || !Regex.IsMatch(deviceInfo.ManufacturerUrl, profileInfo.ManufacturerUrl)) + if (deviceInfo.ManufacturerUrl == null || !IsRegexMatch(deviceInfo.ManufacturerUrl, profileInfo.ManufacturerUrl)) return false; } if (!string.IsNullOrWhiteSpace(profileInfo.ModelDescription)) { - if (deviceInfo.ModelDescription == null || !Regex.IsMatch(deviceInfo.ModelDescription, profileInfo.ModelDescription)) + if (deviceInfo.ModelDescription == null || !IsRegexMatch(deviceInfo.ModelDescription, profileInfo.ModelDescription)) return false; } if (!string.IsNullOrWhiteSpace(profileInfo.ModelName)) { - if (deviceInfo.ModelName == null || !Regex.IsMatch(deviceInfo.ModelName, profileInfo.ModelName)) + if (deviceInfo.ModelName == null || !IsRegexMatch(deviceInfo.ModelName, profileInfo.ModelName)) return false; } if (!string.IsNullOrWhiteSpace(profileInfo.ModelNumber)) { - if (deviceInfo.ModelNumber == null || !Regex.IsMatch(deviceInfo.ModelNumber, profileInfo.ModelNumber)) + if (deviceInfo.ModelNumber == null || !IsRegexMatch(deviceInfo.ModelNumber, profileInfo.ModelNumber)) return false; } if (!string.IsNullOrWhiteSpace(profileInfo.ModelUrl)) { - if (deviceInfo.ModelUrl == null || !Regex.IsMatch(deviceInfo.ModelUrl, profileInfo.ModelUrl)) + if (deviceInfo.ModelUrl == null || !IsRegexMatch(deviceInfo.ModelUrl, profileInfo.ModelUrl)) return false; } if (!string.IsNullOrWhiteSpace(profileInfo.SerialNumber)) { - if (deviceInfo.SerialNumber == null || !Regex.IsMatch(deviceInfo.SerialNumber, profileInfo.SerialNumber)) + if (deviceInfo.SerialNumber == null || !IsRegexMatch(deviceInfo.SerialNumber, profileInfo.SerialNumber)) return false; } return true; } + private bool IsRegexMatch(string input, string pattern) + { + try + { + return Regex.IsMatch(input, pattern); + } + catch (ArgumentException ex) + { + _logger.ErrorException("Error evaluating regex pattern {0}", ex, pattern); + return false; + } + } + public DeviceProfile GetProfile(IDictionary headers) { if (headers == null) diff --git a/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj b/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj index 91d0e15f8..0a350f517 100644 --- a/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj +++ b/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj @@ -497,9 +497,6 @@ Dto\UserItemDataDto.cs - - Dto\VideoStreamOptions.cs - Entities\BaseItemInfo.cs diff --git a/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj b/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj index 47e019051..0c5946d12 100644 --- a/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj +++ b/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj @@ -462,9 +462,6 @@ Dto\UserItemDataDto.cs - - Dto\VideoStreamOptions.cs - Entities\BaseItemInfo.cs diff --git a/MediaBrowser.Model/ApiClient/IApiClient.cs b/MediaBrowser.Model/ApiClient/IApiClient.cs index b6938b217..0e69bb91f 100644 --- a/MediaBrowser.Model/ApiClient/IApiClient.cs +++ b/MediaBrowser.Model/ApiClient/IApiClient.cs @@ -1316,24 +1316,6 @@ namespace MediaBrowser.Model.ApiClient /// Task<QueryResult<BaseItemDto>>. Task> GetPlaylistItems(PlaylistItemQuery query); - /// - /// Gets the url needed to stream a video file - /// - /// The options. - /// System.String. - /// options - [Obsolete] - string GetVideoStreamUrl(VideoStreamOptions options); - - /// - /// Formulates a url for streaming video using the HLS protocol - /// - /// The options. - /// System.String. - /// options - [Obsolete] - string GetHlsVideoStreamUrl(VideoStreamOptions options); - /// /// Sends the context message asynchronous. /// diff --git a/MediaBrowser.Model/Dto/VideoStreamOptions.cs b/MediaBrowser.Model/Dto/VideoStreamOptions.cs deleted file mode 100644 index e9a83bd12..000000000 --- a/MediaBrowser.Model/Dto/VideoStreamOptions.cs +++ /dev/null @@ -1,158 +0,0 @@ -using System; - -namespace MediaBrowser.Model.Dto -{ - /// - /// Class VideoStreamOptions - /// - [Obsolete] - public class VideoStreamOptions - { - /// - /// Gets or sets the audio bit rate. - /// - /// The audio bit rate. - public int? AudioBitRate { get; set; } - - /// - /// Gets or sets the audio codec. - /// Omit to copy the original stream - /// - /// The audio encoding format. - public string AudioCodec { get; set; } - - /// - /// Gets or sets the item id. - /// - /// The item id. - public string ItemId { get; set; } - - /// - /// Gets or sets the max audio channels. - /// - /// The max audio channels. - public int? MaxAudioChannels { get; set; } - - /// - /// Gets or sets the max audio sample rate. - /// - /// The max audio sample rate. - public int? MaxAudioSampleRate { get; set; } - - /// - /// Gets or sets the start time ticks. - /// - /// The start time ticks. - public long? StartTimeTicks { get; set; } - - /// - /// Gets or sets a value indicating whether the original media should be served statically - /// Only used with progressive streaming - /// - /// true if static; otherwise, false. - public bool? Static { get; set; } - - /// - /// Gets or sets the output file extension. - /// - /// The output file extension. - public string OutputFileExtension { get; set; } - - /// - /// Gets or sets the device id. - /// - /// The device id. - public string DeviceId { get; set; } - - /// - /// Gets or sets the video codec. - /// Omit to copy - /// - /// The video codec. - public string VideoCodec { get; set; } - - /// - /// Gets or sets the video bit rate. - /// - /// The video bit rate. - public int? VideoBitRate { get; set; } - - /// - /// Gets or sets the width. - /// - /// The width. - public int? Width { get; set; } - - /// - /// Gets or sets the height. - /// - /// The height. - public int? Height { get; set; } - - /// - /// Gets or sets the width of the max. - /// - /// The width of the max. - public int? MaxWidth { get; set; } - - /// - /// Gets or sets the height of the max. - /// - /// The height of the max. - public int? MaxHeight { get; set; } - - /// - /// Gets or sets the frame rate. - /// - /// The frame rate. - public double? FrameRate { get; set; } - - /// - /// Gets or sets the index of the audio stream. - /// - /// The index of the audio stream. - public int? AudioStreamIndex { get; set; } - - /// - /// Gets or sets the index of the video stream. - /// - /// The index of the video stream. - public int? VideoStreamIndex { get; set; } - - /// - /// Gets or sets the index of the subtitle stream. - /// - /// The index of the subtitle stream. - public int? SubtitleStreamIndex { get; set; } - - /// - /// Gets or sets the profile. - /// - /// The profile. - public string Profile { get; set; } - - /// - /// Gets or sets the level. - /// - /// The level. - public string Level { get; set; } - - /// - /// Gets or sets the baseline stream audio bit rate. - /// - /// The baseline stream audio bit rate. - public int? BaselineStreamAudioBitRate { get; set; } - - /// - /// Gets or sets a value indicating whether [append baseline stream]. - /// - /// true if [append baseline stream]; otherwise, false. - public bool AppendBaselineStream { get; set; } - - /// - /// Gets or sets the time stamp offset ms. Only used with HLS. - /// - /// The time stamp offset ms. - public int? TimeStampOffsetMs { get; set; } - } -} \ No newline at end of file diff --git a/MediaBrowser.Model/MediaBrowser.Model.csproj b/MediaBrowser.Model/MediaBrowser.Model.csproj index 36d22347f..bad17abae 100644 --- a/MediaBrowser.Model/MediaBrowser.Model.csproj +++ b/MediaBrowser.Model/MediaBrowser.Model.csproj @@ -135,7 +135,6 @@ - diff --git a/MediaBrowser.Server.Implementations/Collections/CollectionManager.cs b/MediaBrowser.Server.Implementations/Collections/CollectionManager.cs index d92db34e3..6100e3f5d 100644 --- a/MediaBrowser.Server.Implementations/Collections/CollectionManager.cs +++ b/MediaBrowser.Server.Implementations/Collections/CollectionManager.cs @@ -167,18 +167,6 @@ namespace MediaBrowser.Server.Implementations.Collections } list.Add(LinkedChild.Create(item)); - - var supportsGrouping = item as ISupportsBoxSetGrouping; - - if (supportsGrouping != null) - { - var boxsetIdList = supportsGrouping.BoxSetIdList.ToList(); - if (!boxsetIdList.Contains(collectionId)) - { - boxsetIdList.Add(collectionId); - } - supportsGrouping.BoxSetIdList = boxsetIdList; - } } collection.LinkedChildren.AddRange(list); @@ -228,15 +216,6 @@ namespace MediaBrowser.Server.Implementations.Collections { itemList.Add(childItem); } - - var supportsGrouping = childItem as ISupportsBoxSetGrouping; - - if (supportsGrouping != null) - { - var boxsetIdList = supportsGrouping.BoxSetIdList.ToList(); - boxsetIdList.Remove(collectionId); - supportsGrouping.BoxSetIdList = boxsetIdList; - } } var shortcutFiles = Directory @@ -289,29 +268,40 @@ namespace MediaBrowser.Server.Implementations.Collections public IEnumerable CollapseItemsWithinBoxSets(IEnumerable items, User user) { - var itemsToCollapse = new List(); - var boxsets = new List(); + var results = new Dictionary(); + var allBoxsets = new List(); - var list = items.ToList(); - - foreach (var item in list.OfType()) + foreach (var item in items) { - var currentBoxSets = item.BoxSetIdList - .Select(i => _libraryManager.GetItemById(i)) - .Where(i => i != null && i.IsVisible(user)) - .ToList(); + var grouping = item as ISupportsBoxSetGrouping; - if (currentBoxSets.Count > 0) + if (grouping == null) + { + results[item.Id] = item; + } + else { - itemsToCollapse.Add(item); - boxsets.AddRange(currentBoxSets); + var itemId = item.Id; + + var currentBoxSets = allBoxsets + .Where(i => i.GetLinkedChildren().Any(j => j.Id == itemId)) + .ToList(); + + if (currentBoxSets.Count > 0) + { + foreach (var boxset in currentBoxSets) + { + results[boxset.Id] = boxset; + } + } + else + { + results[item.Id] = item; + } } } - return list - .Except(itemsToCollapse.Cast()) - .Concat(boxsets) - .DistinctBy(i => i.Id); + return results.Values; } } } diff --git a/MediaBrowser.Server.Implementations/Library/Validators/BoxSetPostScanTask.cs b/MediaBrowser.Server.Implementations/Library/Validators/BoxSetPostScanTask.cs deleted file mode 100644 index 86d88f7e0..000000000 --- a/MediaBrowser.Server.Implementations/Library/Validators/BoxSetPostScanTask.cs +++ /dev/null @@ -1,50 +0,0 @@ -using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Entities.Movies; -using MediaBrowser.Controller.Library; -using System; -using System.Linq; -using System.Threading; -using System.Threading.Tasks; - -namespace MediaBrowser.Server.Implementations.Library.Validators -{ - public class BoxSetPostScanTask : ILibraryPostScanTask - { - private readonly ILibraryManager _libraryManager; - - public BoxSetPostScanTask(ILibraryManager libraryManager) - { - _libraryManager = libraryManager; - } - - public Task Run(IProgress progress, CancellationToken cancellationToken) - { - var items = _libraryManager.RootFolder.RecursiveChildren.ToList(); - - var boxsets = items.OfType().ToList(); - - var numComplete = 0; - - foreach (var boxset in boxsets) - { - foreach (var child in boxset.Children.Concat(boxset.GetLinkedChildren()).OfType()) - { - var boxsetIdList = child.BoxSetIdList.ToList(); - if (!boxsetIdList.Contains(boxset.Id)) - { - boxsetIdList.Add(boxset.Id); - } - child.BoxSetIdList = boxsetIdList; - } - - numComplete++; - double percent = numComplete; - percent /= boxsets.Count; - progress.Report(percent * 100); - } - - progress.Report(100); - return Task.FromResult(true); - } - } -} diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json index 62619a567..4206ccf59 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json @@ -45,6 +45,8 @@ "ButtonHelp": "Help", "ButtonSave": "Save", "HeaderDevices": "Devices", + "ButtonScheduledTasks": "Scheduled tasks", + "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task. It can also be run manually here. To configure the scheduled task, see:", "HeaderSupporterBenefit": "A supporter membership provides additional benefits such as access to premium plugins, internet channel content, and more. {0}Learn more{1}.", "HeaderWelcomeToMediaBrowserServerDashboard": "Welcome to the Media Browser Dashboard", "HeaderWelcomeToMediaBrowserWebClient": "Welcome to the Media Browser Web Client", @@ -59,7 +61,7 @@ "ButtonCancelItem": "Cancel item", "ButtonQueueForRetry": "Queue for retry", "ButtonReenable": "Re-enable", - "SyncJobItemStatusSyncedMarkForRemoval": "Marked for removal", + "SyncJobItemStatusSyncedMarkForRemoval": "Marked for removal", "LabelAbortedByServerShutdown": "(Aborted by server shutdown)", "LabelScheduledTaskLastRan": "Last ran {0}, taking {1}.", "HeaderDeleteTaskTrigger": "Delete Task Trigger", @@ -71,8 +73,8 @@ "LabelFree": "Free", "HeaderSelectAudio": "Select Audio", "HeaderSelectSubtitles": "Select Subtitles", - "ButtonMarkForRemoval": "Mark for removal from device", - "ButtonUnmarkForRemoval": "Unmark for removal from device", + "ButtonMarkForRemoval": "Mark for removal from device", + "ButtonUnmarkForRemoval": "Unmark for removal from device", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default/Forced)", diff --git a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj index 548ac07aa..fe5642dbc 100644 --- a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj +++ b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj @@ -209,7 +209,6 @@ - -- cgit v1.2.3 From 6a4a29b8034eb7eb5baa03729692426a7f5b9e7f Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 22 Jan 2015 12:41:16 -0500 Subject: update translations --- .../Localization/JavaScript/ar.json | 12 + .../Localization/JavaScript/bg_BG.json | 697 ++++++++++ .../Localization/JavaScript/ca.json | 12 + .../Localization/JavaScript/cs.json | 12 + .../Localization/JavaScript/da.json | 12 + .../Localization/JavaScript/de.json | 20 +- .../Localization/JavaScript/el.json | 12 + .../Localization/JavaScript/en_GB.json | 12 + .../Localization/JavaScript/en_US.json | 12 + .../Localization/JavaScript/es.json | 12 + .../Localization/JavaScript/es_ES.json | 237 ---- .../Localization/JavaScript/es_MX.json | 14 +- .../Localization/JavaScript/fi.json | 12 + .../Localization/JavaScript/fr.json | 12 + .../Localization/JavaScript/he.json | 12 + .../Localization/JavaScript/hr.json | 12 + .../Localization/JavaScript/it.json | 12 + .../Localization/JavaScript/kk.json | 28 +- .../Localization/JavaScript/ms.json | 12 + .../Localization/JavaScript/nb.json | 12 + .../Localization/JavaScript/nl.json | 18 +- .../Localization/JavaScript/pl.json | 12 + .../Localization/JavaScript/pt_BR.json | 12 + .../Localization/JavaScript/pt_PT.json | 12 + .../Localization/JavaScript/ru.json | 18 +- .../Localization/JavaScript/sv.json | 12 + .../Localization/JavaScript/tr.json | 12 + .../Localization/JavaScript/uk.json | 12 + .../Localization/JavaScript/vi.json | 12 + .../Localization/JavaScript/zh_CN.json | 12 + .../Localization/JavaScript/zh_TW.json | 12 + .../Localization/LocalizationManager.cs | 6 +- .../Localization/Server/ar.json | 4 + .../Localization/Server/bg_BG.json | 1346 ++++++++++++++++++++ .../Localization/Server/ca.json | 4 + .../Localization/Server/cs.json | 4 + .../Localization/Server/da.json | 4 + .../Localization/Server/de.json | 56 +- .../Localization/Server/el.json | 4 + .../Localization/Server/en_GB.json | 4 + .../Localization/Server/en_US.json | 4 + .../Localization/Server/es.json | 4 + .../Localization/Server/es_ES.json | 872 ------------- .../Localization/Server/es_MX.json | 12 +- .../Localization/Server/fi.json | 4 + .../Localization/Server/fr.json | 4 + .../Localization/Server/he.json | 4 + .../Localization/Server/hr.json | 4 + .../Localization/Server/it.json | 4 + .../Localization/Server/kk.json | 68 +- .../Localization/Server/ko.json | 4 + .../Localization/Server/ms.json | 4 + .../Localization/Server/nb.json | 38 +- .../Localization/Server/nl.json | 6 +- .../Localization/Server/pl.json | 4 + .../Localization/Server/pt_BR.json | 4 + .../Localization/Server/pt_PT.json | 4 + .../Localization/Server/ru.json | 52 +- .../Localization/Server/sv.json | 4 + .../Localization/Server/tr.json | 4 + .../Localization/Server/uk.json | 4 + .../Localization/Server/vi.json | 4 + .../Localization/Server/zh_CN.json | 4 + .../Localization/Server/zh_TW.json | 4 + .../MediaBrowser.Server.Implementations.csproj | 6 +- 65 files changed, 2642 insertions(+), 1236 deletions(-) create mode 100644 MediaBrowser.Server.Implementations/Localization/JavaScript/bg_BG.json delete mode 100644 MediaBrowser.Server.Implementations/Localization/JavaScript/es_ES.json create mode 100644 MediaBrowser.Server.Implementations/Localization/Server/bg_BG.json delete mode 100644 MediaBrowser.Server.Implementations/Localization/Server/es_ES.json (limited to 'MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj') diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/ar.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/ar.json index c161a132c..edbb55d97 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/ar.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/ar.json @@ -6,6 +6,8 @@ "Administrator": "\u0627\u0644\u0645\u0633\u0624\u0648\u0644", "Password": "\u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631", "DeleteImage": "\u062d\u0630\u0641 \u0635\u0648\u0631\u0629", + "MessageThankYouForSupporting": "Thank you for supporting Media Browser.", + "MessagePleaseSupportMediaBrowser": "Please support Media Browser.", "DeleteImageConfirmation": "\u0647\u0644 \u0627\u0646\u062a \u0645\u062a\u0627\u0643\u062f \u0645\u0646 \u062d\u0630\u0641 \u0647\u0630\u0647 \u0627\u0644\u0635\u0648\u0631\u0629\u061f", "FileReadCancelled": "\u062a\u0645 \u0627\u0644\u063a\u0627\u0621 \u0642\u0631\u0627\u0621\u0629 \u0627\u0644\u0645\u0644\u0641.", "FileNotFound": "\u0627\u0644\u0645\u0644\u0641 \u063a\u064a\u0631 \u0645\u0648\u062c\u0648\u062f.", @@ -43,6 +45,8 @@ "ButtonHelp": "Help", "ButtonSave": "\u062a\u062e\u0632\u064a\u0646", "HeaderDevices": "Devices", + "ButtonScheduledTasks": "Scheduled tasks", + "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task. It can also be run manually here. To configure the scheduled task, see:", "HeaderSupporterBenefit": "A supporter membership provides additional benefits such as access to premium plugins, internet channel content, and more. {0}Learn more{1}.", "HeaderWelcomeToMediaBrowserServerDashboard": "Welcome to the Media Browser Dashboard", "HeaderWelcomeToMediaBrowserWebClient": "Welcome to the Media Browser Web Client", @@ -54,6 +58,10 @@ "HeaderChannelAccess": "Channel Access", "HeaderDeviceAccess": "Device Access", "HeaderSelectDevices": "Select Devices", + "ButtonCancelItem": "Cancel item", + "ButtonQueueForRetry": "Queue for retry", + "ButtonReenable": "Re-enable", + "SyncJobItemStatusSyncedMarkForRemoval": "Marked for removal", "LabelAbortedByServerShutdown": "(Aborted by server shutdown)", "LabelScheduledTaskLastRan": "Last ran {0}, taking {1}.", "HeaderDeleteTaskTrigger": "Delete Task Trigger", @@ -65,10 +73,13 @@ "LabelFree": "Free", "HeaderSelectAudio": "Select Audio", "HeaderSelectSubtitles": "Select Subtitles", + "ButtonMarkForRemoval": "Mark for removal from device", + "ButtonUnmarkForRemoval": "Unmark for removal from device", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", "LabelUnknownLanguage": "Unknown language", + "MessageConfirmSyncJobItemCancellation": "Are you sure you wish to cancel this item?", "ButtonMute": "Mute", "ButtonUnmute": "Unmute", "ButtonStop": "Stop", @@ -219,6 +230,7 @@ "ButtonResume": "Resume", "HeaderScenes": "Scenes", "HeaderAudioTracks": "Audio Tracks", + "HeaderLibraries": "Libraries", "HeaderSubtitles": "Subtitles", "HeaderVideoQuality": "Video Quality", "MessageErrorPlayingVideo": "There was an error playing the video.", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/bg_BG.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/bg_BG.json new file mode 100644 index 000000000..e318294bf --- /dev/null +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/bg_BG.json @@ -0,0 +1,697 @@ +{ + "SettingsSaved": "Settings saved.", + "AddUser": "Add User", + "Users": "Users", + "Delete": "Delete", + "Administrator": "Administrator", + "Password": "Password", + "DeleteImage": "Delete Image", + "MessageThankYouForSupporting": "Thank you for supporting Media Browser.", + "MessagePleaseSupportMediaBrowser": "Please support Media Browser.", + "DeleteImageConfirmation": "Are you sure you wish to delete this image?", + "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": "Password Reset", + "PasswordResetComplete": "The password has been reset.", + "PasswordResetConfirmation": "Are you sure you wish to reset the password?", + "PasswordSaved": "Password saved.", + "PasswordMatchError": "Password and password confirmation must match.", + "OptionRelease": "Official Release", + "OptionBeta": "Beta", + "OptionDev": "Dev (Unstable)", + "UninstallPluginHeader": "Uninstall Plugin", + "UninstallPluginConfirmation": "Are you sure you wish to uninstall {0}?", + "NoPluginConfigurationMessage": "This plugin has nothing to configure.", + "NoPluginsInstalledMessage": "You have no plugins installed.", + "BrowsePluginCatalogMessage": "Browse our plugin catalog to view available plugins.", + "MessageKeyEmailedTo": "Key emailed to {0}.", + "MessageKeysLinked": "Keys linked.", + "HeaderConfirmation": "Confirmation", + "MessageKeyUpdated": "Thank you. Your supporter key has been updated.", + "MessageKeyRemoved": "Thank you. Your supporter key has been removed.", + "ErrorLaunchingChromecast": "There was an error launching chromecast. Please ensure your device is connected to your wireless network.", + "HeaderSearch": "Search", + "LabelArtist": "Artist", + "LabelMovie": "Movie", + "LabelMusicVideo": "Music Video", + "LabelEpisode": "Episode", + "LabelSeries": "\u041f\u043e\u0440\u0435\u0434\u0438\u0446\u0430", + "LabelStopping": "Stopping", + "LabelCancelled": "(cancelled)", + "LabelFailed": "(\u043d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u043e)", + "ButtonHelp": "Help", + "ButtonSave": "Save", + "HeaderDevices": "Devices", + "ButtonScheduledTasks": "Scheduled tasks", + "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task. It can also be run manually here. To configure the scheduled task, see:", + "HeaderSupporterBenefit": "\u041f\u0440\u0438\u0432\u044a\u0440\u0436\u0435\u043d\u0441\u043a\u043e\u0442\u043e \u0447\u043b\u0435\u043d\u0441\u0442\u0432\u043e \u043e\u0441\u0438\u0433\u0443\u0440\u044f\u0432\u0430 \u0434\u043e\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u043d\u0438 \u043e\u0431\u043b\u0430\u0433\u0438, \u043a\u0430\u0442\u043e \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0434\u043e\u0441\u0442\u044a\u043f \u0434\u043e \u043f\u044a\u0440\u0432\u043e\u043a\u043b\u0430\u0441\u043d\u0438 \u043f\u043b\u044a\u0433\u0438\u043d\u0438, \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u043d\u0438\u0435 \u043d\u0430 \u043a\u0430\u043d\u0430\u043b\u0438\u0442\u0435, \u0438 \u0434\u0440\u0443\u0433\u0438. {0} \u041d\u0430\u0443\u0447\u0435\u0442\u0435 \u043f\u043e\u0432\u0435\u0447\u0435 {1}.", + "HeaderWelcomeToMediaBrowserServerDashboard": "\u0414\u043e\u0431\u0440\u0435 \u0434\u043e\u0448\u043b\u0438 \u0432 \u0433\u043b\u0430\u0432\u043d\u0438\u044f \u043f\u0430\u043d\u0435\u043b \u043d\u0430 Media Browser", + "HeaderWelcomeToMediaBrowserWebClient": "\u0414\u043e\u0431\u0440\u0435 \u0434\u043e\u0448\u043b\u0438 \u0432 \u0443\u0435\u0431 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u043d\u0430 Media Browser", + "ButtonTakeTheTour": "\u0420\u0430\u0437\u0433\u043b\u0435\u0434\u0430\u0439 \u043d\u0430\u043e\u043a\u043e\u043b\u043e", + "HeaderWelcomeBack": "Welcome back!", + "ButtonTakeTheTourToSeeWhatsNew": "Take the tour to see what's new", + "MessageNoSyncJobsFound": "No sync jobs found. Create sync jobs using the Sync buttons found throughout the web interface.", + "HeaderLibraryAccess": "Library Access", + "HeaderChannelAccess": "Channel Access", + "HeaderDeviceAccess": "Device Access", + "HeaderSelectDevices": "Select Devices", + "ButtonCancelItem": "Cancel item", + "ButtonQueueForRetry": "Queue for retry", + "ButtonReenable": "Re-enable", + "SyncJobItemStatusSyncedMarkForRemoval": "Marked for removal", + "LabelAbortedByServerShutdown": "(Aborted by server shutdown)", + "LabelScheduledTaskLastRan": "Last ran {0}, taking {1}.", + "HeaderDeleteTaskTrigger": "Delete Task Trigger", + "HeaderTaskTriggers": "Task Triggers", + "MessageDeleteTaskTrigger": "Are you sure you wish to delete this task trigger?", + "MessageNoPluginsInstalled": "You have no plugins installed.", + "LabelVersionInstalled": "{0} installed", + "LabelNumberReviews": "{0} Reviews", + "LabelFree": "Free", + "HeaderSelectAudio": "Select Audio", + "HeaderSelectSubtitles": "Select Subtitles", + "ButtonMarkForRemoval": "Mark for removal from device", + "ButtonUnmarkForRemoval": "Unmark for removal from device", + "LabelDefaultStream": "(Default)", + "LabelForcedStream": "(Forced)", + "LabelDefaultForcedStream": "(Default\/Forced)", + "LabelUnknownLanguage": "Unknown language", + "MessageConfirmSyncJobItemCancellation": "Are you sure you wish to cancel this item?", + "ButtonMute": "Mute", + "ButtonUnmute": "Unmute", + "ButtonStop": "Stop", + "ButtonNextTrack": "\u0421\u043b\u0435\u0434\u0432\u0430\u0449\u0430 \u043f\u044a\u0442\u0435\u043a\u0430", + "ButtonPause": "Pause", + "ButtonPlay": "Play", + "ButtonEdit": "Edit", + "ButtonQueue": "Queue", + "ButtonPlayTrailer": "\u041f\u0443\u0441\u043d\u0438 \u0442\u0440\u0435\u0439\u043b\u044a\u0440\u0430", + "ButtonPlaylist": "Playlist", + "ButtonPreviousTrack": "\u041f\u0440\u0435\u0434\u0438\u0448\u043d\u0430 \u043f\u044a\u0442\u0435\u043a\u0430", + "LabelEnabled": "Enabled", + "LabelDisabled": "Disabled", + "ButtonMoreInformation": "More Information", + "LabelNoUnreadNotifications": "No unread notifications.", + "ButtonViewNotifications": "View notifications", + "ButtonMarkTheseRead": "Mark these read", + "ButtonClose": "Close", + "LabelAllPlaysSentToPlayer": "All plays will be sent to the selected player.", + "MessageInvalidUser": "Invalid username or password. Please try again.", + "HeaderLoginFailure": "Login Failure", + "HeaderAllRecordings": "All Recordings", + "RecommendationBecauseYouLike": "Because you like {0}", + "RecommendationBecauseYouWatched": "Because you watched {0}", + "RecommendationDirectedBy": "Directed by {0}", + "RecommendationStarring": "Starring {0}", + "HeaderConfirmRecordingCancellation": "Confirm Recording Cancellation", + "MessageConfirmRecordingCancellation": "Are you sure you wish to cancel this recording?", + "MessageRecordingCancelled": "Recording cancelled.", + "HeaderConfirmSeriesCancellation": "Confirm Series Cancellation", + "MessageConfirmSeriesCancellation": "Are you sure you wish to cancel this series?", + "MessageSeriesCancelled": "Series cancelled.", + "HeaderConfirmRecordingDeletion": "Confirm Recording Deletion", + "MessageConfirmRecordingDeletion": "Are you sure you wish to delete this recording?", + "MessageRecordingDeleted": "Recording deleted.", + "ButonCancelRecording": "Cancel Recording", + "MessageRecordingSaved": "Recording saved.", + "OptionSunday": "Sunday", + "OptionMonday": "Monday", + "OptionTuesday": "Tuesday", + "OptionWednesday": "Wednesday", + "OptionThursday": "Thursday", + "OptionFriday": "Friday", + "OptionSaturday": "Saturday", + "HeaderConfirmDeletion": "Confirm Deletion", + "MessageConfirmPathSubstitutionDeletion": "Are you sure you wish to delete this path substitution?", + "LiveTvUpdateAvailable": "(Update available)", + "LabelVersionUpToDate": "Up to date!", + "ButtonResetTuner": "Reset tuner", + "HeaderResetTuner": "Reset Tuner", + "MessageConfirmResetTuner": "Are you sure you wish to reset this tuner? Any active players or recordings will be abruptly stopped.", + "ButtonCancelSeries": "Cancel Series", + "HeaderSeriesRecordings": "Series Recordings", + "LabelAnytime": "Any time", + "StatusRecording": "Recording", + "StatusWatching": "Watching", + "StatusRecordingProgram": "Recording {0}", + "StatusWatchingProgram": "Watching {0}", + "HeaderSplitMedia": "Split Media Apart", + "MessageConfirmSplitMedia": "Are you sure you wish to split the media sources into separate items?", + "HeaderError": "Error", + "MessagePleaseSelectOneItem": "Please select at least one item.", + "MessagePleaseSelectTwoItems": "Please select at least two items.", + "MessageTheFollowingItemsWillBeGrouped": "The following titles will be grouped into one item:", + "MessageConfirmItemGrouping": "Media Browser clients will automatically choose the optimal version to play based on device and network performance. Are you sure you wish to continue?", + "HeaderResume": "Resume", + "HeaderMyViews": "My Views", + "HeaderLibraryFolders": "Media Folders", + "HeaderLatestMedia": "Latest Media", + "ButtonMoreItems": "More...", + "ButtonMore": "More", + "HeaderFavoriteMovies": "Favorite Movies", + "HeaderFavoriteShows": "Favorite Shows", + "HeaderFavoriteEpisodes": "Favorite Episodes", + "HeaderFavoriteGames": "Favorite Games", + "HeaderRatingsDownloads": "Rating \/ Downloads", + "HeaderConfirmProfileDeletion": "Confirm Profile Deletion", + "MessageConfirmProfileDeletion": "Are you sure you wish to delete this profile?", + "HeaderSelectServerCachePath": "Select Server Cache Path", + "HeaderSelectTranscodingPath": "Select Transcoding Temporary Path", + "HeaderSelectImagesByNamePath": "Select Images By Name Path", + "HeaderSelectMetadataPath": "Select Metadata Path", + "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.", + "HeaderSelectImagesByNamePathHelp": "Browse or enter the path to your items by name folder. The folder must be writeable.", + "HeaderSelectMetadataPathHelp": "Browse or enter the path you'd like to store metadata within. The folder must be writeable.", + "HeaderSelectChannelDownloadPath": "Select Channel Download Path", + "HeaderSelectChannelDownloadPathHelp": "Browse or enter the path to use for storing channel cache files. The folder must be writeable.", + "OptionNewCollection": "New...", + "ButtonAdd": "Add", + "ButtonRemove": "Remove", + "LabelChapterDownloaders": "Chapter downloaders:", + "LabelChapterDownloadersHelp": "Enable and rank your preferred chapter downloaders in order of priority. Lower priority downloaders will only be used to fill in missing information.", + "HeaderFavoriteAlbums": "Favorite Albums", + "HeaderLatestChannelMedia": "Latest Channel Items", + "ButtonOrganizeFile": "Organize File", + "ButtonDeleteFile": "Delete File", + "HeaderOrganizeFile": "Organize File", + "HeaderDeleteFile": "Delete File", + "StatusSkipped": "Skipped", + "StatusFailed": "Failed", + "StatusSuccess": "Success", + "MessageFileWillBeDeleted": "The following file will be deleted:", + "MessageSureYouWishToProceed": "Are you sure you wish to proceed?", + "MessageDuplicatesWillBeDeleted": "In addition the following dupliates will be deleted:", + "MessageFollowingFileWillBeMovedFrom": "The following file will be moved from:", + "MessageDestinationTo": "to:", + "HeaderSelectWatchFolder": "Select Watch Folder", + "HeaderSelectWatchFolderHelp": "Browse or enter the path to your watch folder. The folder must be writeable.", + "OrganizePatternResult": "Result: {0}", + "HeaderRestart": "Restart", + "HeaderShutdown": "Shutdown", + "MessageConfirmRestart": "Are you sure you wish to restart Media Browser Server?", + "MessageConfirmShutdown": "Are you sure you wish to shutdown Media Browser Server?", + "ButtonUpdateNow": "Update Now", + "NewVersionOfSomethingAvailable": "A new version of {0} is available!", + "VersionXIsAvailableForDownload": "Version {0} is now available for download.", + "LabelVersionNumber": "Version {0}", + "LabelPlayMethodTranscoding": "Transcoding", + "LabelPlayMethodDirectStream": "Direct Streaming", + "LabelPlayMethodDirectPlay": "Direct Playing", + "LabelAudioCodec": "Audio: {0}", + "LabelVideoCodec": "Video: {0}", + "LabelLocalAccessUrl": "Local access: {0}", + "LabelRemoteAccessUrl": "Remote access: {0}", + "LabelRunningOnPort": "Running on http port {0}.", + "LabelRunningOnPorts": "Running on http port {0}, and https port {1}.", + "HeaderLatestFromChannel": "Latest from {0}", + "ButtonDownload": "Download", + "LabelUnknownLanaguage": "Unknown language", + "HeaderCurrentSubtitles": "Current Subtitles", + "MessageDownloadQueued": "The download has been queued.", + "MessageAreYouSureDeleteSubtitles": "Are you sure you wish to delete this subtitle file?", + "ButtonRemoteControl": "Remote Control", + "HeaderLatestTvRecordings": "Latest Recordings", + "ButtonOk": "Ok", + "ButtonCancel": "Cancel", + "ButtonRefresh": "Refresh", + "LabelCurrentPath": "Current path:", + "HeaderSelectMediaPath": "Select Media Path", + "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}.", + "HeaderMenu": "Menu", + "ButtonOpen": "Open", + "ButtonOpenInNewTab": "Open in new tab", + "ButtonShuffle": "Shuffle", + "ButtonInstantMix": "Instant mix", + "ButtonResume": "Resume", + "HeaderScenes": "Scenes", + "HeaderAudioTracks": "Audio Tracks", + "HeaderLibraries": "Libraries", + "HeaderSubtitles": "Subtitles", + "HeaderVideoQuality": "Video Quality", + "MessageErrorPlayingVideo": "There was an error playing the video.", + "MessageEnsureOpenTuner": "Please ensure there is an open tuner availalble.", + "ButtonHome": "Home", + "ButtonDashboard": "Dashboard", + "ButtonReports": "Reports", + "ButtonMetadataManager": "Metadata Manager", + "HeaderTime": "Time", + "HeaderName": "Name", + "HeaderAlbum": "Album", + "HeaderAlbumArtist": "Album Artist", + "HeaderArtist": "Artist", + "LabelAddedOnDate": "Added {0}", + "ButtonStart": "Start", + "HeaderChannels": "Channels", + "HeaderMediaFolders": "Media Folders", + "HeaderBlockItemsWithNoRating": "Block items with no rating information:", + "OptionBlockOthers": "Others", + "OptionBlockTvShows": "TV Shows", + "OptionBlockTrailers": "Trailers", + "OptionBlockMusic": "Music", + "OptionBlockMovies": "Movies", + "OptionBlockBooks": "Books", + "OptionBlockGames": "Games", + "OptionBlockLiveTvPrograms": "Live TV Programs", + "OptionBlockLiveTvChannels": "Live TV Channels", + "OptionBlockChannelContent": "Internet Channel Content", + "ButtonRevoke": "Revoke", + "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.", + "HeaderConfirmRevokeApiKey": "Revoke Api Key", + "ValueContainer": "Container: {0}", + "ValueAudioCodec": "Audio Codec: {0}", + "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", + "ButtonMoveLeft": "Move left", + "ButtonMoveRight": "Move right", + "ButtonBrowseOnlineImages": "Browse online images", + "HeaderDeleteItem": "Delete Item", + "ConfirmDeleteItem": "Deleting this item will delete it from both the file system and your media library. Are you sure you wish to continue?", + "MessagePleaseEnterNameOrId": "Please enter a name or an external Id.", + "MessageValueNotCorrect": "The value entered is not correct. Please try again.", + "MessageItemSaved": "Item saved.", + "MessagePleaseAcceptTermsOfServiceBeforeContinuing": "Please accept the terms of service before continuing.", + "OptionEnded": "Ended", + "OptionContinuing": "Continuing", + "OptionOff": "Off", + "OptionOn": "On", + "ButtonSettings": "Settings", + "ButtonUninstall": "Uninstall", + "HeaderFields": "Fields", + "HeaderFieldsHelp": "Slide a field to 'off' to lock it and prevent it's data from being changed.", + "HeaderLiveTV": "Live TV", + "MissingLocalTrailer": "Missing local trailer.", + "MissingPrimaryImage": "Missing primary image.", + "MissingBackdropImage": "Missing backdrop image.", + "MissingLogoImage": "Missing logo image.", + "MissingEpisode": "Missing episode.", + "OptionScreenshots": "Screenshots", + "OptionBackdrops": "Backdrops", + "OptionImages": "Images", + "OptionKeywords": "Keywords", + "OptionTags": "Tags", + "OptionStudios": "Studios", + "OptionName": "Name", + "OptionOverview": "Overview", + "OptionGenres": "Genres", + "OptionParentalRating": "Parental Rating", + "OptionPeople": "People", + "OptionRuntime": "Runtime", + "OptionProductionLocations": "Production Locations", + "OptionBirthLocation": "Birth Location", + "LabelAllChannels": "All channels", + "LabelLiveProgram": "LIVE", + "LabelNewProgram": "NEW", + "LabelPremiereProgram": "PREMIERE", + "LabelHDProgram": "HD", + "HeaderChangeFolderType": "Change Content Type", + "HeaderChangeFolderTypeHelp": "To change the type, please remove and rebuild the folder with the new type.", + "HeaderAlert": "Alert", + "MessagePleaseRestart": "Please restart to finish updating.", + "ButtonRestart": "Restart", + "MessagePleaseRefreshPage": "Please refresh this page to receive new updates from the server.", + "ButtonHide": "Hide", + "MessageSettingsSaved": "Settings saved.", + "ButtonSignOut": "Sign Out", + "ButtonMyProfile": "My Profile", + "ButtonMyPreferences": "My Preferences", + "MessageBrowserDoesNotSupportWebSockets": "This browser does not support web sockets. For a better experience, try a newer browser such as Chrome, Firefox, IE10+, Safari (iOS) or Opera.", + "LabelInstallingPackage": "Installing {0}", + "LabelPackageInstallCompleted": "{0} installation completed.", + "LabelPackageInstallFailed": "{0} installation failed.", + "LabelPackageInstallCancelled": "{0} installation cancelled.", + "TabServer": "Server", + "TabUsers": "Users", + "TabLibrary": "Library", + "TabMetadata": "Metadata", + "TabDLNA": "DLNA", + "TabLiveTV": "Live TV", + "TabAutoOrganize": "Auto-Organize", + "TabPlugins": "Plugins", + "TabAdvanced": "Advanced", + "TabHelp": "Help", + "TabScheduledTasks": "Scheduled Tasks", + "ButtonFullscreen": "\u0426\u044f\u043b \u0435\u043a\u0440\u0430\u043d", + "ButtonAudioTracks": "\u0410\u0443\u0434\u0438\u043e \u043f\u044a\u0442\u0435\u043a\u0430", + "ButtonSubtitles": "Subtitles", + "ButtonScenes": "Scenes", + "ButtonQuality": "Quality", + "HeaderNotifications": "Notifications", + "HeaderSelectPlayer": "Select Player:", + "ButtonSelect": "Select", + "ButtonNew": "New", + "MessageInternetExplorerWebm": "For best results with Internet Explorer please install the WebM playback plugin.", + "HeaderVideoError": "Video Error", + "ButtonAddToPlaylist": "Add to playlist", + "HeaderAddToPlaylist": "Add to Playlist", + "LabelName": "Name:", + "ButtonSubmit": "Submit", + "LabelSelectPlaylist": "Playlist:", + "OptionNewPlaylist": "New playlist...", + "MessageAddedToPlaylistSuccess": "Ok", + "ButtonView": "View", + "ButtonViewSeriesRecording": "View series recording", + "ValueOriginalAirDate": "Original air date: {0}", + "ButtonRemoveFromPlaylist": "Remove from playlist", + "HeaderSpecials": "Specials", + "HeaderTrailers": "Trailers", + "HeaderAudio": "Audio", + "HeaderResolution": "Resolution", + "HeaderVideo": "Video", + "HeaderRuntime": "Runtime", + "HeaderCommunityRating": "Community rating", + "HeaderParentalRating": "Parental rating", + "HeaderReleaseDate": "Release date", + "HeaderDateAdded": "Date added", + "HeaderSeries": "Series", + "HeaderSeason": "Season", + "HeaderSeasonNumber": "Season number", + "HeaderNetwork": "Network", + "HeaderYear": "Year", + "HeaderGameSystem": "Game system", + "HeaderPlayers": "Players", + "HeaderEmbeddedImage": "Embedded image", + "HeaderTrack": "Track", + "HeaderDisc": "Disc", + "OptionMovies": "Movies", + "OptionCollections": "Collections", + "OptionSeries": "Series", + "OptionSeasons": "Seasons", + "OptionEpisodes": "Episodes", + "OptionGames": "Games", + "OptionGameSystems": "Game systems", + "OptionMusicArtists": "Music artists", + "OptionMusicAlbums": "Music albums", + "OptionMusicVideos": "Music videos", + "OptionSongs": "Songs", + "OptionHomeVideos": "Home videos", + "OptionBooks": "Books", + "OptionAdultVideos": "Adult videos", + "ButtonUp": "Up", + "ButtonDown": "Down", + "LabelMetadataReaders": "Metadata readers:", + "LabelMetadataReadersHelp": "Rank your preferred local metadata sources in order of priority. The first file found will be read.", + "LabelMetadataDownloaders": "Metadata downloaders:", + "LabelMetadataDownloadersHelp": "Enable and rank your preferred metadata downloaders in order of priority. Lower priority downloaders will only be used to fill in missing information.", + "LabelMetadataSavers": "Metadata savers:", + "LabelMetadataSaversHelp": "Choose the file formats to save your metadata to.", + "LabelImageFetchers": "Image fetchers:", + "LabelImageFetchersHelp": "Enable and rank your preferred image fetchers in order of priority.", + "ButtonQueueAllFromHere": "Queue all from here", + "ButtonPlayAllFromHere": "Play all from here", + "LabelDynamicExternalId": "{0} Id:", + "HeaderIdentify": "Identify Item", + "PersonTypePerson": "Person", + "LabelTitleDisplayOrder": "Title display order:", + "OptionSortName": "Sort name", + "OptionReleaseDate": "\u0414\u0430\u0442\u0430 \u043d\u0430 \u0438\u0437\u0434\u0430\u0432\u0430\u043d\u0435", + "LabelSeasonNumber": "Season number:", + "LabelDiscNumber": "Disc number", + "LabelParentNumber": "Parent number", + "LabelEpisodeNumber": "Episode number:", + "LabelTrackNumber": "Track number:", + "LabelNumber": "Number:", + "LabelReleaseDate": "Release date:", + "LabelEndDate": "End date:", + "LabelYear": "Year:", + "LabelDateOfBirth": "Date of birth:", + "LabelBirthYear": "Birth year:", + "LabelBirthDate": "Birth date:", + "LabelDeathDate": "Death date:", + "HeaderRemoveMediaLocation": "Remove Media Location", + "MessageConfirmRemoveMediaLocation": "Are you sure you wish to remove this location?", + "HeaderRenameMediaFolder": "Rename Media Folder", + "LabelNewName": "New name:", + "HeaderAddMediaFolder": "Add Media Folder", + "HeaderAddMediaFolderHelp": "Name (Movies, Music, TV, etc):", + "HeaderRemoveMediaFolder": "Remove Media Folder", + "MessageTheFollowingLocationWillBeRemovedFromLibrary": "The following media locations will be removed from your library:", + "MessageAreYouSureYouWishToRemoveMediaFolder": "Are you sure you wish to remove this media folder?", + "ButtonRename": "Rename", + "ButtonChangeType": "Change type", + "HeaderMediaLocations": "Media Locations", + "LabelContentTypeValue": "Content type: {0}", + "LabelPathSubstitutionHelp": "Optional: Path substitution can map server paths to network shares that clients can access for direct playback.", + "FolderTypeUnset": "Unset (mixed content)", + "FolderTypeMovies": "Movies", + "FolderTypeMusic": "Music", + "FolderTypeAdultVideos": "Adult videos", + "FolderTypePhotos": "Photos", + "FolderTypeMusicVideos": "Music videos", + "FolderTypeHomeVideos": "Home videos", + "FolderTypeGames": "Games", + "FolderTypeBooks": "Books", + "FolderTypeTvShows": "TV", + "TabMovies": "Movies", + "TabSeries": "Series", + "TabEpisodes": "Episodes", + "TabTrailers": "Trailers", + "TabGames": "Games", + "TabAlbums": "Albums", + "TabSongs": "Songs", + "TabMusicVideos": "Music Videos", + "BirthPlaceValue": "Birth place: {0}", + "DeathDateValue": "Died: {0}", + "BirthDateValue": "Born: {0}", + "HeaderLatestReviews": "Latest Reviews", + "HeaderPluginInstallation": "Plugin Installation", + "MessageAlreadyInstalled": "This version is already installed.", + "ValueReviewCount": "{0} Reviews", + "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)", + "MessageFeatureIncludedWithSupporter": "You are registered for this feature, and will be able to continue using it with an active supporter membership.", + "MessageChangeRecurringPlanConfirm": "After completing this transaction you will need to cancel your previous recurring donation from within your PayPal account. Thank you for supporting Media Browser.", + "MessageSupporterMembershipExpiredOn": "Your supporter membership expired on {0}.", + "MessageYouHaveALifetimeMembership": "You have a lifetime supporter membership. You can provide additional donations on a one-time or recurring basis using the options below. Thank you for supporting Media Browser.", + "MessageYouHaveAnActiveRecurringMembership": "You have an active {0} membership. You can upgrade your plan using the options below.", + "ButtonDelete": "Delete", + "HeaderMediaBrowserAccountAdded": "Media Browser Account Added", + "MessageMediaBrowserAccountAdded": "The Media Browser account has been added to this user.", + "MessagePendingMediaBrowserAccountAdded": "The Media Browser account has been added to this user. An email will be sent to the owner of the account. The invitation will need to be confirmed by clicking a link within the email.", + "HeaderMediaBrowserAccountRemoved": "Media Browser Account Removed", + "MessageMediaBrowserAccontRemoved": "The Media Browser account has been removed from this user.", + "TooltipLinkedToMediaBrowserConnect": "Linked to Media Browser Connect", + "HeaderUnrated": "Unrated", + "ValueDiscNumber": "Disc {0}", + "HeaderUnknownDate": "Unknown Date", + "HeaderUnknownYear": "Unknown Year", + "ValueMinutes": "{0} min", + "ButtonPlayExternalPlayer": "Play with external player", + "HeaderSelectExternalPlayer": "Select External Player", + "HeaderExternalPlayerPlayback": "External Player Playback", + "ButtonImDone": "I'm Done", + "OptionWatched": "Watched", + "OptionUnwatched": "Unwatched", + "ExternalPlayerPlaystateOptionsHelp": "Specify how you would like to resume playing this video next time.", + "LabelMarkAs": "Mark as:", + "OptionInProgress": "In-Progress", + "LabelResumePoint": "Resume point:", + "ValueOneMovie": "1 movie", + "ValueMovieCount": "{0} movies", + "ValueOneTrailer": "1 trailer", + "ValueTrailerCount": "{0} trailers", + "ValueOneSeries": "1 series", + "ValueSeriesCount": "{0} series", + "ValueOneEpisode": "1 episode", + "ValueEpisodeCount": "{0} episodes", + "ValueOneGame": "1 game", + "ValueGameCount": "{0} games", + "ValueOneAlbum": "1 album", + "ValueAlbumCount": "{0} albums", + "ValueOneSong": "1 song", + "ValueSongCount": "{0} songs", + "ValueOneMusicVideo": "1 music video", + "ValueMusicVideoCount": "{0} music videos", + "HeaderOffline": "Offline", + "HeaderUnaired": "Unaired", + "HeaderMissing": "Missing", + "ButtonWebsite": "Website", + "TooltipFavorite": "Favorite", + "TooltipLike": "Like", + "TooltipDislike": "Dislike", + "TooltipPlayed": "Played", + "ValueSeriesYearToPresent": "{0}-Present", + "ValueAwards": "Awards: {0}", + "ValueBudget": "Budget: {0}", + "ValueRevenue": "Revenue: {0}", + "ValuePremiered": "Premiered {0}", + "ValuePremieres": "Premieres {0}", + "ValueStudio": "Studio: {0}", + "ValueStudios": "Studios: {0}", + "ValueSpecialEpisodeName": "Special - {0}", + "LabelLimit": "Limit:", + "ValueLinks": "Links: {0}", + "HeaderPeople": "People", + "HeaderCastAndCrew": "Cast & Crew", + "ValueArtist": "Artist: {0}", + "ValueArtists": "Artists: {0}", + "HeaderTags": "Tags", + "MediaInfoCameraMake": "Camera make", + "MediaInfoCameraModel": "Camera model", + "MediaInfoAltitude": "Altitude", + "MediaInfoAperture": "Aperture", + "MediaInfoExposureTime": "Exposure time", + "MediaInfoFocalLength": "Focal length", + "MediaInfoOrientation": "Orientation", + "MediaInfoIsoSpeedRating": "Iso speed rating", + "MediaInfoLatitude": "Latitude", + "MediaInfoLongitude": "Longitude", + "MediaInfoShutterSpeed": "Shutter speed", + "MediaInfoSoftware": "Software", + "HeaderIfYouLikeCheckTheseOut": "If you like {0}, check these out...", + "HeaderPlotKeywords": "Plot Keywords", + "HeaderMovies": "Movies", + "HeaderAlbums": "Albums", + "HeaderGames": "Games", + "HeaderBooks": "Books", + "HeaderEpisodes": "\u0415\u043f\u0438\u0437\u043e\u0434\u0438", + "HeaderSeasons": "Seasons", + "HeaderTracks": "Tracks", + "HeaderItems": "Items", + "HeaderOtherItems": "Other Items", + "ButtonFullReview": "Full review", + "ValueAsRole": "as {0}", + "ValueGuestStar": "Guest star", + "MediaInfoSize": "Size", + "MediaInfoPath": "Path", + "MediaInfoFormat": "Format", + "MediaInfoContainer": "Container", + "MediaInfoDefault": "Default", + "MediaInfoForced": "Forced", + "MediaInfoExternal": "External", + "MediaInfoTimestamp": "Timestamp", + "MediaInfoPixelFormat": "Pixel format", + "MediaInfoBitDepth": "Bit depth", + "MediaInfoSampleRate": "Sample rate", + "MediaInfoBitrate": "Bitrate", + "MediaInfoChannels": "Channels", + "MediaInfoLayout": "Layout", + "MediaInfoLanguage": "Language", + "MediaInfoCodec": "Codec", + "MediaInfoProfile": "Profile", + "MediaInfoLevel": "Level", + "MediaInfoAspectRatio": "Aspect ratio", + "MediaInfoResolution": "Resolution", + "MediaInfoAnamorphic": "Anamorphic", + "MediaInfoInterlaced": "Interlaced", + "MediaInfoFramerate": "Framerate", + "MediaInfoStreamTypeAudio": "Audio", + "MediaInfoStreamTypeData": "Data", + "MediaInfoStreamTypeVideo": "Video", + "MediaInfoStreamTypeSubtitle": "Subtitle", + "MediaInfoStreamTypeEmbeddedImage": "Embedded Image", + "MediaInfoRefFrames": "Ref frames", + "TabPlayback": "Playback", + "TabNotifications": "Notifications", + "TabExpert": "Expert", + "HeaderSelectCustomIntrosPath": "Select Custom Intros Path", + "HeaderRateAndReview": "Rate and Review", + "HeaderThankYou": "Thank You", + "MessageThankYouForYourReview": "Thank you for your review.", + "LabelYourRating": "Your rating:", + "LabelFullReview": "Full review:", + "LabelShortRatingDescription": "Short rating summary:", + "OptionIRecommendThisItem": "I recommend this item", + "WebClientTourContent": "View your recently added media, next episodes, and more. The green circles indicate how many unplayed items you have.", + "WebClientTourMovies": "Play movies, trailers and more from any device with a web browser", + "WebClientTourMouseOver": "Hold the mouse over any poster for quick access to important information", + "WebClientTourTapHold": "Tap and hold or right click any poster for a context menu", + "WebClientTourMetadataManager": "Click edit to open the metadata manager", + "WebClientTourPlaylists": "Easily create playlists and instant mixes, and play them on any device", + "WebClientTourCollections": "Create movie collections to group box sets together", + "WebClientTourUserPreferences1": "User preferences allow you to customize the way your library is presented in all of your Media Browser apps", + "WebClientTourUserPreferences2": "Configure your audio and subtitle language settings once, for every Media Browser app", + "WebClientTourUserPreferences3": "Design the web client home page to your liking", + "WebClientTourUserPreferences4": "Configure backdrops, theme songs and external players", + "WebClientTourMobile1": "The web client works great on smartphones and tablets...", + "WebClientTourMobile2": "and easily controls other devices and Media Browser apps", + "MessageEnjoyYourStay": "Enjoy your stay", + "DashboardTourDashboard": "The server dashboard allows you to monitor your server and your users. You'll always know who is doing what and where they are.", + "DashboardTourHelp": "In-app help provides easy buttons to open wiki pages relating to the on-screen content.", + "DashboardTourUsers": "Easily create user accounts for your friends and family, each with their own permissions, library access, parental controls and more.", + "DashboardTourCinemaMode": "Cinema mode brings the theater experience straight to your living room with the ability to play trailers and custom intros before the main feature.", + "DashboardTourChapters": "Enable chapter image generation for your videos for a more pleasing presentation while viewing.", + "DashboardTourSubtitles": "Automatically download subtitles for your videos in any language.", + "DashboardTourPlugins": "Install plugins such as internet video channels, live tv, metadata scanners, and more.", + "DashboardTourNotifications": "Automatically send notifications of server events to your mobile device, email and more.", + "DashboardTourScheduledTasks": "Easily manage long running operations with scheduled tasks. Decide when they run, and how often.", + "DashboardTourMobile": "The Media Browser dashboard works great on smartphones and tablets. Manage your server from the palm of your hand anytime, anywhere.", + "MessageRefreshQueued": "Refresh queued", + "TabDevices": "Devices", + "TabExtras": "Extras", + "DeviceLastUsedByUserName": "Last used by {0}", + "HeaderDeleteDevice": "Delete Device", + "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 Media Browser.", + "ErrorMessageStartHourGreaterThanEnd": "End time must be greater than the start time.", + "ButtonLibraryAccess": "Library access", + "ButtonParentalControl": "Parental control", + "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 Media Browser.", + "HeaderConnectionFailure": "Connection Failure", + "MessageUnableToConnectToServer": "We're unable to connect to the selected server right now. Please ensure it is running and try again.", + "ButtonSelectServer": "Select 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", + "HeaderForgotPassword": "Forgot Password", + "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:", + "MessageForgotPasswordFileExpiration": "The reset pin will expire at {0}.", + "MessageInvalidForgotPasswordPin": "An invalid or expired pin was entered. Please try again.", + "MessagePasswordResetForUsers": "Passwords have been reset for the following users:", + "HeaderInviteGuest": "Invite Guest", + "ButtonLinkMyMediaBrowserAccount": "Link my account now", + "MessageConnectAccountRequiredToInviteGuest": "In order to invite guests you need to first link your Media Browser account to this server.", + "ButtonSync": "Sync", + "SyncMedia": "Sync Media", + "HeaderCancelSyncJob": "Cancel Sync", + "CancelSyncJobConfirmation": "Are you sure you wish to cancel this sync job?", + "TabSync": "Sync", + "MessagePleaseSelectDeviceToSyncTo": "Please select a device to sync to.", + "MessageSyncJobCreated": "Sync job created.", + "LabelSyncTo": "Sync to:", + "LabelSyncJobName": "Sync job name:", + "LabelQuality": "Quality:", + "OptionHigh": "High", + "OptionMedium": "Medium", + "OptionLow": "Low", + "HeaderSettings": "Settings", + "OptionAutomaticallySyncNewContent": "Automatically sync new content", + "OptionAutomaticallySyncNewContentHelp": "New content added to this category will be automatically synced to the device.", + "OptionSyncUnwatchedVideosOnly": "Sync unwatched videos only", + "OptionSyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.", + "LabelItemLimit": "Item limit:", + "LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.", + "MessageBookPluginRequired": "Requires installation of the Bookshelf plugin", + "MessageGamePluginRequired": "Requires installation of the GameBrowser plugin", + "MessageUnsetContentHelp": "Content will be displayed as plain folders. For best results use the metadata manager to set the content types of sub-folders.", + "SyncJobItemStatusQueued": "Queued", + "SyncJobItemStatusConverting": "Converting", + "SyncJobItemStatusTransferring": "Transferring", + "SyncJobItemStatusSynced": "Synced", + "SyncJobItemStatusFailed": "Failed", + "SyncJobItemStatusRemovedFromDevice": "Removed from device", + "SyncJobItemStatusCancelled": "Cancelled", + "MessageJobItemHasNoActions": "d" +} \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/ca.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/ca.json index f0b3a6ba9..3afdd20a1 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/ca.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/ca.json @@ -6,6 +6,8 @@ "Administrator": "Administrador", "Password": "Contrasenya", "DeleteImage": "Esborrar Imatge", + "MessageThankYouForSupporting": "Thank you for supporting Media Browser.", + "MessagePleaseSupportMediaBrowser": "Please support Media Browser.", "DeleteImageConfirmation": "Esteu segur que voleu suprimir aquesta imatge?", "FileReadCancelled": "La lectura de l'arxiu ha estat cancel\u00b7lada.", "FileNotFound": "Arxiu no trobat.", @@ -43,6 +45,8 @@ "ButtonHelp": "Help", "ButtonSave": "Save", "HeaderDevices": "Devices", + "ButtonScheduledTasks": "Scheduled tasks", + "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task. It can also be run manually here. To configure the scheduled task, see:", "HeaderSupporterBenefit": "A supporter membership provides additional benefits such as access to premium plugins, internet channel content, and more. {0}Learn more{1}.", "HeaderWelcomeToMediaBrowserServerDashboard": "Welcome to the Media Browser Dashboard", "HeaderWelcomeToMediaBrowserWebClient": "Welcome to the Media Browser Web Client", @@ -54,6 +58,10 @@ "HeaderChannelAccess": "Channel Access", "HeaderDeviceAccess": "Device Access", "HeaderSelectDevices": "Select Devices", + "ButtonCancelItem": "Cancel item", + "ButtonQueueForRetry": "Queue for retry", + "ButtonReenable": "Re-enable", + "SyncJobItemStatusSyncedMarkForRemoval": "Marked for removal", "LabelAbortedByServerShutdown": "(Aborted by server shutdown)", "LabelScheduledTaskLastRan": "Last ran {0}, taking {1}.", "HeaderDeleteTaskTrigger": "Delete Task Trigger", @@ -65,10 +73,13 @@ "LabelFree": "Free", "HeaderSelectAudio": "Select Audio", "HeaderSelectSubtitles": "Select Subtitles", + "ButtonMarkForRemoval": "Mark for removal from device", + "ButtonUnmarkForRemoval": "Unmark for removal from device", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", "LabelUnknownLanguage": "Unknown language", + "MessageConfirmSyncJobItemCancellation": "Are you sure you wish to cancel this item?", "ButtonMute": "Mute", "ButtonUnmute": "Unmute", "ButtonStop": "Stop", @@ -219,6 +230,7 @@ "ButtonResume": "Resume", "HeaderScenes": "Scenes", "HeaderAudioTracks": "Audio Tracks", + "HeaderLibraries": "Libraries", "HeaderSubtitles": "Subtitles", "HeaderVideoQuality": "Video Quality", "MessageErrorPlayingVideo": "There was an error playing the video.", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/cs.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/cs.json index d7492c6b1..033d18ae9 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/cs.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/cs.json @@ -6,6 +6,8 @@ "Administrator": "Administr\u00e1tor", "Password": "Heslo", "DeleteImage": "Odstranit obr\u00e1zek", + "MessageThankYouForSupporting": "Thank you for supporting Media Browser.", + "MessagePleaseSupportMediaBrowser": "Please support Media Browser.", "DeleteImageConfirmation": "Jste si jisti, \u017ee chcete odstranit tento obr\u00e1zek?", "FileReadCancelled": "\u010cten\u00ed souboru bylo zru\u0161eno.", "FileNotFound": "Soubor nebyl nalezen.", @@ -43,6 +45,8 @@ "ButtonHelp": "Help", "ButtonSave": "Ulo\u017eit", "HeaderDevices": "Devices", + "ButtonScheduledTasks": "Scheduled tasks", + "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task. It can also be run manually here. To configure the scheduled task, see:", "HeaderSupporterBenefit": "A supporter membership provides additional benefits such as access to premium plugins, internet channel content, and more. {0}Learn more{1}.", "HeaderWelcomeToMediaBrowserServerDashboard": "Welcome to the Media Browser Dashboard", "HeaderWelcomeToMediaBrowserWebClient": "Welcome to the Media Browser Web Client", @@ -54,6 +58,10 @@ "HeaderChannelAccess": "Channel Access", "HeaderDeviceAccess": "Device Access", "HeaderSelectDevices": "Select Devices", + "ButtonCancelItem": "Cancel item", + "ButtonQueueForRetry": "Queue for retry", + "ButtonReenable": "Re-enable", + "SyncJobItemStatusSyncedMarkForRemoval": "Marked for removal", "LabelAbortedByServerShutdown": "(Aborted by server shutdown)", "LabelScheduledTaskLastRan": "Last ran {0}, taking {1}.", "HeaderDeleteTaskTrigger": "Delete Task Trigger", @@ -65,10 +73,13 @@ "LabelFree": "Free", "HeaderSelectAudio": "Select Audio", "HeaderSelectSubtitles": "Select Subtitles", + "ButtonMarkForRemoval": "Mark for removal from device", + "ButtonUnmarkForRemoval": "Unmark for removal from device", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", "LabelUnknownLanguage": "Unknown language", + "MessageConfirmSyncJobItemCancellation": "Are you sure you wish to cancel this item?", "ButtonMute": "Mute", "ButtonUnmute": "Unmute", "ButtonStop": "Stop", @@ -219,6 +230,7 @@ "ButtonResume": "Pokra\u010dovat", "HeaderScenes": "Sc\u00e9ny", "HeaderAudioTracks": "Audio Tracks", + "HeaderLibraries": "Libraries", "HeaderSubtitles": "Titulky", "HeaderVideoQuality": "Video Quality", "MessageErrorPlayingVideo": "There was an error playing the video.", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/da.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/da.json index 91ce0dc16..cd67d2027 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/da.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/da.json @@ -6,6 +6,8 @@ "Administrator": "Administrator", "Password": "Kode", "DeleteImage": "Slet Image", + "MessageThankYouForSupporting": "Thank you for supporting Media Browser.", + "MessagePleaseSupportMediaBrowser": "Please support Media Browser.", "DeleteImageConfirmation": "Er du sikker p\u00e5 du vil slette dette image?", "FileReadCancelled": "L\u00e6sning af filen er annulleret", "FileNotFound": "Filen blev ikke fundet", @@ -43,6 +45,8 @@ "ButtonHelp": "Help", "ButtonSave": "Gem", "HeaderDevices": "Devices", + "ButtonScheduledTasks": "Scheduled tasks", + "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task. It can also be run manually here. To configure the scheduled task, see:", "HeaderSupporterBenefit": "A supporter membership provides additional benefits such as access to premium plugins, internet channel content, and more. {0}Learn more{1}.", "HeaderWelcomeToMediaBrowserServerDashboard": "Welcome to the Media Browser Dashboard", "HeaderWelcomeToMediaBrowserWebClient": "Welcome to the Media Browser Web Client", @@ -54,6 +58,10 @@ "HeaderChannelAccess": "Channel Access", "HeaderDeviceAccess": "Device Access", "HeaderSelectDevices": "Select Devices", + "ButtonCancelItem": "Cancel item", + "ButtonQueueForRetry": "Queue for retry", + "ButtonReenable": "Re-enable", + "SyncJobItemStatusSyncedMarkForRemoval": "Marked for removal", "LabelAbortedByServerShutdown": "(Aborted by server shutdown)", "LabelScheduledTaskLastRan": "Last ran {0}, taking {1}.", "HeaderDeleteTaskTrigger": "Delete Task Trigger", @@ -65,10 +73,13 @@ "LabelFree": "Free", "HeaderSelectAudio": "Select Audio", "HeaderSelectSubtitles": "Select Subtitles", + "ButtonMarkForRemoval": "Mark for removal from device", + "ButtonUnmarkForRemoval": "Unmark for removal from device", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", "LabelUnknownLanguage": "Unknown language", + "MessageConfirmSyncJobItemCancellation": "Are you sure you wish to cancel this item?", "ButtonMute": "Mute", "ButtonUnmute": "Unmute", "ButtonStop": "Stop", @@ -219,6 +230,7 @@ "ButtonResume": "Resume", "HeaderScenes": "Scenes", "HeaderAudioTracks": "Audio Tracks", + "HeaderLibraries": "Libraries", "HeaderSubtitles": "Subtitles", "HeaderVideoQuality": "Video Quality", "MessageErrorPlayingVideo": "There was an error playing the video.", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/de.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/de.json index 2c28fff2d..fac8234f1 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/de.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/de.json @@ -6,6 +6,8 @@ "Administrator": "Administrator", "Password": "Passwort", "DeleteImage": "Bild l\u00f6schen", + "MessageThankYouForSupporting": "Danke, f\u00fcr die Unterst\u00fctzung von Media Browser.", + "MessagePleaseSupportMediaBrowser": "Bitte unterst\u00fctze Media Browser.", "DeleteImageConfirmation": "M\u00f6chtest du dieses Bild wirklich l\u00f6schen?", "FileReadCancelled": "Dateiimport wurde abgebrochen.", "FileNotFound": "Datei nicht gefunden", @@ -43,6 +45,8 @@ "ButtonHelp": "Hilfe", "ButtonSave": "Speichern", "HeaderDevices": "Ger\u00e4te", + "ButtonScheduledTasks": "Scheduled tasks", + "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task. It can also be run manually here. To configure the scheduled task, see:", "HeaderSupporterBenefit": "Eine Unterst\u00fctzer-Mitgliedschaft bietet weitere Vorteile, wie z.B. den Zugriff auf premium Plugins, weitere Internet-Channels und mehr. {0}Erfahren Sie mehr{1}.", "HeaderWelcomeToMediaBrowserServerDashboard": "Willkommen zur Media Browser \u00dcbersicht", "HeaderWelcomeToMediaBrowserWebClient": "Willkommen zum Media Browser Web Client", @@ -54,6 +58,10 @@ "HeaderChannelAccess": "Channelzugriff", "HeaderDeviceAccess": "Ger\u00e4te Zugang", "HeaderSelectDevices": "Ger\u00e4t w\u00e4hlen", + "ButtonCancelItem": "Datei abw\u00e4hlen", + "ButtonQueueForRetry": "F\u00fcr Wiederholung in die Warteschlange setzen", + "ButtonReenable": "Reaktivierung", + "SyncJobItemStatusSyncedMarkForRemoval": "F\u00fcr L\u00f6schung markiert", "LabelAbortedByServerShutdown": "(Durch herunterfahrenden Server abgebrochen)", "LabelScheduledTaskLastRan": "Zuletzt ausgef\u00fchrt vor: {0}. Ben\u00f6tigte Zeit: {1}.", "HeaderDeleteTaskTrigger": "Entferne Aufgabenausl\u00f6ser", @@ -65,10 +73,13 @@ "LabelFree": "Frei", "HeaderSelectAudio": "W\u00e4hle Audio", "HeaderSelectSubtitles": "W\u00f6hle Untertitel", + "ButtonMarkForRemoval": "Zur L\u00f6schung vom Ger\u00e4t markieren", + "ButtonUnmarkForRemoval": "Markierung zur L\u00f6schung vom Ger\u00e4t aufheben", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Erzwungen)", "LabelDefaultForcedStream": "(Standard\/Erzwungen)", "LabelUnknownLanguage": "Unbekannte Sprache", + "MessageConfirmSyncJobItemCancellation": "Bist du dir sicher, dass du diese Datei abw\u00e4hlen m\u00f6chtest?", "ButtonMute": "Stumm", "ButtonUnmute": "Ton ein", "ButtonStop": "Stop", @@ -192,10 +203,10 @@ "LabelPlayMethodDirectPlay": "Direktes Abspielen", "LabelAudioCodec": "Audio: {0}", "LabelVideoCodec": "Video: {0}", - "LabelLocalAccessUrl": "Local access: {0}", + "LabelLocalAccessUrl": "Lokale Adresse: {0}", "LabelRemoteAccessUrl": "Fernzugriff: {0}", - "LabelRunningOnPort": "Running on http port {0}.", - "LabelRunningOnPorts": "Running on http port {0}, and https port {1}.", + "LabelRunningOnPort": "L\u00e4uft \u00fcber HTTP Port: {0}", + "LabelRunningOnPorts": "L\u00e4uft \u00fcber HTTP Port {0} und HTTPS Port {1}.", "HeaderLatestFromChannel": "Neuestes von {0}", "ButtonDownload": "Download", "LabelUnknownLanaguage": "Unbekannte Sprache", @@ -219,6 +230,7 @@ "ButtonResume": "Wiederholen", "HeaderScenes": "Szenen", "HeaderAudioTracks": "Audiospuren", + "HeaderLibraries": "Bibliotheken", "HeaderSubtitles": "Untertitel", "HeaderVideoQuality": "Videoqualit\u00e4t", "MessageErrorPlayingVideo": "Es gab einen Fehler bei der Videowiedergabe.", @@ -585,7 +597,7 @@ "MediaInfoRefFrames": "Ref Frames", "TabPlayback": "Wiedergabe", "TabNotifications": "Benachrichtigungen", - "TabExpert": "Expert", + "TabExpert": "Experte", "HeaderSelectCustomIntrosPath": "W\u00e4hle einen benutzerdefinierten Pfad f\u00fcr Intros", "HeaderRateAndReview": "Bewerten und Kommentieren", "HeaderThankYou": "Danke", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/el.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/el.json index 08193b67f..19d96f0e6 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/el.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/el.json @@ -6,6 +6,8 @@ "Administrator": "\u03c4\u03bf \u03b4\u03b9\u03b1\u03c7\u03b5\u03b9\u03c1\u03b9\u03c3\u03c4\u03ae\u03c2", "Password": "\u03c4\u03bf\u03bd \u03ba\u03ce\u03b4\u03b9\u03ba\u03b1\u03c2 \u03c0\u03c1\u03cc\u03c3\u03b2\u03b1\u03c3\u03b7\u03c2", "DeleteImage": "\u03b4\u03b9\u03b1\u03b3\u03c1\u03ac\u03c8\u03c4\u03b5 \u03c4\u03b7\u03bd \u03b5\u03b9\u03ba\u03cc\u03bd\u03b1", + "MessageThankYouForSupporting": "Thank you for supporting Media Browser.", + "MessagePleaseSupportMediaBrowser": "Please support Media Browser.", "DeleteImageConfirmation": "\u0395\u03af\u03c3\u03c4\u03b5 \u03c3\u03af\u03b3\u03bf\u03c5\u03c1\u03bf\u03b9 \u03cc\u03c4\u03b9 \u03b8\u03ad\u03bb\u03b5\u03c4\u03b5 \u03bd\u03b1 \u03b4\u03b9\u03b1\u03b3\u03c1\u03ac\u03c8\u03b5\u03c4\u03b5 \u03b1\u03c5\u03c4\u03ae \u03c4\u03b7\u03bd \u03b5\u03b9\u03ba\u03cc\u03bd\u03b1;", "FileReadCancelled": "The file read has been canceled.", "FileNotFound": "\u03a4\u03bf \u03b1\u03c1\u03c7\u03b5\u03af\u03bf \u03b4\u03b5\u03bd \u03b2\u03c1\u03ad\u03b8\u03b7\u03ba\u03b5", @@ -43,6 +45,8 @@ "ButtonHelp": "Help", "ButtonSave": "\u0391\u03c0\u03bf\u03b8\u03b7\u03ba\u03b5\u03cd\u03c3\u03c4\u03b5", "HeaderDevices": "Devices", + "ButtonScheduledTasks": "Scheduled tasks", + "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task. It can also be run manually here. To configure the scheduled task, see:", "HeaderSupporterBenefit": "A supporter membership provides additional benefits such as access to premium plugins, internet channel content, and more. {0}Learn more{1}.", "HeaderWelcomeToMediaBrowserServerDashboard": "Welcome to the Media Browser Dashboard", "HeaderWelcomeToMediaBrowserWebClient": "Welcome to the Media Browser Web Client", @@ -54,6 +58,10 @@ "HeaderChannelAccess": "Channel Access", "HeaderDeviceAccess": "Device Access", "HeaderSelectDevices": "Select Devices", + "ButtonCancelItem": "Cancel item", + "ButtonQueueForRetry": "Queue for retry", + "ButtonReenable": "Re-enable", + "SyncJobItemStatusSyncedMarkForRemoval": "Marked for removal", "LabelAbortedByServerShutdown": "(Aborted by server shutdown)", "LabelScheduledTaskLastRan": "Last ran {0}, taking {1}.", "HeaderDeleteTaskTrigger": "Delete Task Trigger", @@ -65,10 +73,13 @@ "LabelFree": "Free", "HeaderSelectAudio": "Select Audio", "HeaderSelectSubtitles": "Select Subtitles", + "ButtonMarkForRemoval": "Mark for removal from device", + "ButtonUnmarkForRemoval": "Unmark for removal from device", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", "LabelUnknownLanguage": "Unknown language", + "MessageConfirmSyncJobItemCancellation": "Are you sure you wish to cancel this item?", "ButtonMute": "Mute", "ButtonUnmute": "Unmute", "ButtonStop": "Stop", @@ -219,6 +230,7 @@ "ButtonResume": "Resume", "HeaderScenes": "Scenes", "HeaderAudioTracks": "Audio Tracks", + "HeaderLibraries": "Libraries", "HeaderSubtitles": "Subtitles", "HeaderVideoQuality": "Video Quality", "MessageErrorPlayingVideo": "There was an error playing the video.", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/en_GB.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/en_GB.json index 7ef599fe9..4344decb6 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/en_GB.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/en_GB.json @@ -6,6 +6,8 @@ "Administrator": "Administrator", "Password": "Password", "DeleteImage": "Delete Image", + "MessageThankYouForSupporting": "Thank you for supporting Media Browser.", + "MessagePleaseSupportMediaBrowser": "Please support Media Browser.", "DeleteImageConfirmation": "Are you sure you wish to delete this image?", "FileReadCancelled": "The file read has been cancelled.", "FileNotFound": "File not found.", @@ -43,6 +45,8 @@ "ButtonHelp": "Help", "ButtonSave": "Save", "HeaderDevices": "Devices", + "ButtonScheduledTasks": "Scheduled tasks", + "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task. It can also be run manually here. To configure the scheduled task, see:", "HeaderSupporterBenefit": "A supporter membership provides additional benefits such as access to premium plugins, internet channel content, and more. {0}Learn more{1}.", "HeaderWelcomeToMediaBrowserServerDashboard": "Welcome to the Media Browser Dashboard", "HeaderWelcomeToMediaBrowserWebClient": "Welcome to the Media Browser Web Client", @@ -54,6 +58,10 @@ "HeaderChannelAccess": "Channel Access", "HeaderDeviceAccess": "Device Access", "HeaderSelectDevices": "Select Devices", + "ButtonCancelItem": "Cancel item", + "ButtonQueueForRetry": "Queue for retry", + "ButtonReenable": "Re-enable", + "SyncJobItemStatusSyncedMarkForRemoval": "Marked for removal", "LabelAbortedByServerShutdown": "(Aborted by server shutdown)", "LabelScheduledTaskLastRan": "Last ran {0}, taking {1}.", "HeaderDeleteTaskTrigger": "Delete Task Trigger", @@ -65,10 +73,13 @@ "LabelFree": "Free", "HeaderSelectAudio": "Select Audio", "HeaderSelectSubtitles": "Select Subtitles", + "ButtonMarkForRemoval": "Mark for removal from device", + "ButtonUnmarkForRemoval": "Unmark for removal from device", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", "LabelUnknownLanguage": "Unknown language", + "MessageConfirmSyncJobItemCancellation": "Are you sure you wish to cancel this item?", "ButtonMute": "Mute", "ButtonUnmute": "Unmute", "ButtonStop": "Stop", @@ -219,6 +230,7 @@ "ButtonResume": "Resume", "HeaderScenes": "Scenes", "HeaderAudioTracks": "Audio Tracks", + "HeaderLibraries": "Libraries", "HeaderSubtitles": "Subtitles", "HeaderVideoQuality": "Video Quality", "MessageErrorPlayingVideo": "There was an error playing the video.", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/en_US.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/en_US.json index 32024df8c..f3775fc7b 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/en_US.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/en_US.json @@ -6,6 +6,8 @@ "Administrator": "Administrator", "Password": "Password", "DeleteImage": "Delete Image", + "MessageThankYouForSupporting": "Thank you for supporting Media Browser.", + "MessagePleaseSupportMediaBrowser": "Please support Media Browser.", "DeleteImageConfirmation": "Are you sure you wish to delete this image?", "FileReadCancelled": "The file read has been canceled.", "FileNotFound": "File not found.", @@ -43,6 +45,8 @@ "ButtonHelp": "Help", "ButtonSave": "Save", "HeaderDevices": "Devices", + "ButtonScheduledTasks": "Scheduled tasks", + "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task. It can also be run manually here. To configure the scheduled task, see:", "HeaderSupporterBenefit": "A supporter membership provides additional benefits such as access to premium plugins, internet channel content, and more. {0}Learn more{1}.", "HeaderWelcomeToMediaBrowserServerDashboard": "Welcome to the Media Browser Dashboard", "HeaderWelcomeToMediaBrowserWebClient": "Welcome to the Media Browser Web Client", @@ -54,6 +58,10 @@ "HeaderChannelAccess": "Channel Access", "HeaderDeviceAccess": "Device Access", "HeaderSelectDevices": "Select Devices", + "ButtonCancelItem": "Cancel item", + "ButtonQueueForRetry": "Queue for retry", + "ButtonReenable": "Re-enable", + "SyncJobItemStatusSyncedMarkForRemoval": "Marked for removal", "LabelAbortedByServerShutdown": "(Aborted by server shutdown)", "LabelScheduledTaskLastRan": "Last ran {0}, taking {1}.", "HeaderDeleteTaskTrigger": "Delete Task Trigger", @@ -65,10 +73,13 @@ "LabelFree": "Free", "HeaderSelectAudio": "Select Audio", "HeaderSelectSubtitles": "Select Subtitles", + "ButtonMarkForRemoval": "Mark for removal from device", + "ButtonUnmarkForRemoval": "Unmark for removal from device", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", "LabelUnknownLanguage": "Unknown language", + "MessageConfirmSyncJobItemCancellation": "Are you sure you wish to cancel this item?", "ButtonMute": "Mute", "ButtonUnmute": "Unmute", "ButtonStop": "Stop", @@ -219,6 +230,7 @@ "ButtonResume": "Resume", "HeaderScenes": "Scenes", "HeaderAudioTracks": "Audio Tracks", + "HeaderLibraries": "Libraries", "HeaderSubtitles": "Subtitles", "HeaderVideoQuality": "Video Quality", "MessageErrorPlayingVideo": "There was an error playing the video.", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/es.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/es.json index 4169659c9..286ff7549 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/es.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/es.json @@ -6,6 +6,8 @@ "Administrator": "Administrador", "Password": "Contrase\u00f1a", "DeleteImage": "Borrar Imagen", + "MessageThankYouForSupporting": "Thank you for supporting Media Browser.", + "MessagePleaseSupportMediaBrowser": "Please support Media Browser.", "DeleteImageConfirmation": "Est\u00e1 seguro que desea borrar esta imagen?", "FileReadCancelled": "The file read has been canceled.", "FileNotFound": "Archivo no encontrado.", @@ -43,6 +45,8 @@ "ButtonHelp": "Help", "ButtonSave": "Grabar", "HeaderDevices": "Devices", + "ButtonScheduledTasks": "Scheduled tasks", + "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task. It can also be run manually here. To configure the scheduled task, see:", "HeaderSupporterBenefit": "A supporter membership provides additional benefits such as access to premium plugins, internet channel content, and more. {0}Learn more{1}.", "HeaderWelcomeToMediaBrowserServerDashboard": "Welcome to the Media Browser Dashboard", "HeaderWelcomeToMediaBrowserWebClient": "Vienvenido al Cliente Web de Media Browser", @@ -54,6 +58,10 @@ "HeaderChannelAccess": "Channel Access", "HeaderDeviceAccess": "Device Access", "HeaderSelectDevices": "Select Devices", + "ButtonCancelItem": "Cancel item", + "ButtonQueueForRetry": "Queue for retry", + "ButtonReenable": "Re-enable", + "SyncJobItemStatusSyncedMarkForRemoval": "Marked for removal", "LabelAbortedByServerShutdown": "(Abortado por cierre del servidor)", "LabelScheduledTaskLastRan": "\u00daltima ejecuci\u00f3n {0}, teniendo {1}.", "HeaderDeleteTaskTrigger": "Eliminar tarea de activaci\u00f3n", @@ -65,10 +73,13 @@ "LabelFree": "Libre", "HeaderSelectAudio": "Seleccionar Audio", "HeaderSelectSubtitles": "Seleccionar Subt\u00edtulos", + "ButtonMarkForRemoval": "Mark for removal from device", + "ButtonUnmarkForRemoval": "Unmark for removal from device", "LabelDefaultStream": "(Por defecto)", "LabelForcedStream": "(Forzado)", "LabelDefaultForcedStream": "(Por defecto\/Forzado)", "LabelUnknownLanguage": "Idioma desconocido", + "MessageConfirmSyncJobItemCancellation": "Are you sure you wish to cancel this item?", "ButtonMute": "Silencio", "ButtonUnmute": "Activar audio", "ButtonStop": "Detener", @@ -219,6 +230,7 @@ "ButtonResume": "Continuar", "HeaderScenes": "Escenas", "HeaderAudioTracks": "Pistas de audio", + "HeaderLibraries": "Libraries", "HeaderSubtitles": "Subt\u00edtulos", "HeaderVideoQuality": "Calidad de video", "MessageErrorPlayingVideo": "Ha habido un error reproduciendo el video.", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/es_ES.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/es_ES.json deleted file mode 100644 index c6efa636a..000000000 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/es_ES.json +++ /dev/null @@ -1,237 +0,0 @@ -{ - "SettingsSaved": "Configuraci\u00f3n guardada", - "AddUser": "Agregar usuario", - "Users": "Usuarios", - "Delete": "Borrar", - "Administrator": "Administrador", - "Password": "Contrase\u00f1a", - "DeleteImage": "Borrar Imagen", - "DeleteImageConfirmation": "Est\u00e1 seguro que desea borrar esta imagen?", - "FileReadCancelled": "La lectura del archivo se ha cancelado.", - "FileNotFound": "Archivo no encontrado.", - "FileReadError": "Se encontr\u00f3 un error al leer el archivo.", - "DeleteUser": "Borrar Usuario", - "DeleteUserConfirmation": "Esta seguro que desea eliminar a {0}?", - "PasswordResetHeader": "Restablecer contrase\u00f1a", - "PasswordResetComplete": "La contrase\u00f1a se ha restablecido.", - "PasswordResetConfirmation": "Esta seguro que desea restablecer la contrase\u00f1a?", - "PasswordSaved": "Contrase\u00f1a guardada.", - "PasswordMatchError": "La contrase\u00f1a y la confirmaci\u00f3n de la contrase\u00f1a deben de ser iguales.", - "OptionRelease": "Release Oficial", - "OptionBeta": "Beta", - "OptionDev": "Desarrollo", - "UninstallPluginHeader": "Desinstalar Plugin", - "UninstallPluginConfirmation": "Esta seguro que desea desinstalar {0}?", - "NoPluginConfigurationMessage": "El plugin no requiere configuraci\u00f3n", - "NoPluginsInstalledMessage": "No tiene plugins instalados.", - "BrowsePluginCatalogMessage": "Navegar el catalogo de plugins para ver los plugins disponibles.", - "MessageKeyEmailedTo": "Clave enviada por email a {0}.", - "MessageKeysLinked": "Claves vinculadas.", - "HeaderConfirmation": "Confirmaci\u00f3n", - "MessageKeyUpdated": "Gracias. Su clave de seguidor ha sido actualizada.", - "MessageKeyRemoved": "Gracias. Su clave de seguidor ha sido eliminada.", - "ErrorLaunchingChromecast": "Ha habido un error al lanzar chromecast. Asegurese que su dispositivo est\u00e1 conectado a su red inal\u00e1mbrica.", - "HeaderSearch": "Buscar", - "LabelArtist": "Artista", - "LabelMovie": "Pel\u00edcula", - "LabelMusicVideo": "Video Musical", - "LabelEpisode": "Episodio", - "LabelSeries": "Series", - "LabelStopping": "Deteniendo", - "ButtonStop": "Detener", - "LabelCancelled": "(cancelado)", - "LabelFailed": "(fracasado)", - "LabelAbortedByServerShutdown": "(Abortado por cierre del servidor)", - "LabelScheduledTaskLastRan": "\u00daltima ejecuci\u00f3n {0}, teniendo {1}.", - "HeaderDeleteTaskTrigger": "Eliminar tarea de activaci\u00f3n", - "HeaderTaskTriggers": "Tareas de activaci\u00f3n", - "MessageDeleteTaskTrigger": "\u00bfEst\u00e1 seguro que desea eliminar esta tarea de activaci\u00f3n?", - "MessageNoPluginsInstalled": "No tiene plugins instalados.", - "LabelVersionInstalled": "{0} instalado", - "LabelNumberReviews": "{0} Revisiones", - "LabelFree": "Libre", - "HeaderSelectAudio": "Seleccionar Audio", - "HeaderSelectSubtitles": "Seleccionar Subt\u00edtulos", - "LabelDefaultStream": "(Por defecto)", - "LabelForcedStream": "(Forzado)", - "LabelDefaultForcedStream": "(Por defecto\/Forzado)", - "LabelUnknownLanguage": "Idioma desconocido", - "ButtonMute": "Silencio", - "ButtonUnmute": "Activar audio", - "ButtonNextTrack": "Pista siguiente", - "ButtonPause": "Pausa", - "ButtonPlay": "Reproducir", - "ButtonEdit": "Editar", - "ButtonQueue": "En cola", - "ButtonPlayTrailer": "Reproducir trailer", - "ButtonPlaylist": "Lista de reproducci\u00f3n", - "ButtonPreviousTrack": "Pista anterior", - "LabelEnabled": "Activado", - "LabelDisabled": "Desactivado", - "ButtonMoreInformation": "M\u00e1s informaci\u00f3n", - "LabelNoUnreadNotifications": "No hay notificaciones sin leer.", - "ButtonViewNotifications": "Ver notificaciones", - "ButtonMarkTheseRead": "Marcar como le\u00eddo", - "ButtonClose": "Cerrar", - "LabelAllPlaysSentToPlayer": "Todas las reproducciones se enviar\u00e1n al reproductor seleccionado.", - "MessageInvalidUser": "Usuario o contrase\u00f1a no v\u00e1lido.", - "HeaderAllRecordings": "Todas la grabaciones", - "RecommendationBecauseYouLike": "Como le gusta {0}", - "RecommendationBecauseYouWatched": "Ya que vi\u00f3 {0}", - "RecommendationDirectedBy": "Dirigida por {0}", - "RecommendationStarring": "Protagonizada por {0}", - "HeaderConfirmRecordingCancellation": "Confirmar la cancelaci\u00f3n de la grabaci\u00f3n", - "MessageConfirmRecordingCancellation": "\u00bfEst\u00e1 seguro que desea cancelar esta grabaci\u00f3n?", - "MessageRecordingCancelled": "Grabaci\u00f3n cancelada.", - "HeaderConfirmSeriesCancellation": "Confirmar cancelaci\u00f3n de serie", - "MessageConfirmSeriesCancellation": "\u00bfEst\u00e1 seguro que desea cancelar esta serie?", - "MessageSeriesCancelled": "Serie cancelada", - "HeaderConfirmRecordingDeletion": "Confirmar borrado de la grabaci\u00f3n", - "MessageConfirmRecordingDeletion": "\u00bfEst\u00e1 seguro que desea borrar esta grabaci\u00f3n?", - "MessageRecordingDeleted": "Grabaci\u00f3n eliminada.", - "ButonCancelRecording": "Cancelar Grabaci\u00f3n", - "MessageRecordingSaved": "Grabaci\u00f3n guardada.", - "OptionSunday": "Domingo", - "OptionMonday": "Lunes", - "OptionTuesday": "Martes", - "OptionWednesday": "Mi\u00e9rcoles", - "OptionThursday": "Jueves", - "OptionFriday": "Viernes", - "OptionSaturday": "S\u00e1bado", - "HeaderConfirmDeletion": "Confirmar borrado", - "MessageConfirmPathSubstitutionDeletion": "\u00bfEst\u00e1 seguro que desea borrar esta ruta de sustituci\u00f3n?", - "LiveTvUpdateAvailable": "(Actualizaci\u00f3n disponible)", - "LabelVersionUpToDate": "\u00a1Actualizado!", - "ButtonResetTuner": "Reiniciar sintonizador", - "HeaderResetTuner": "Reinicio del sintonizador", - "MessageConfirmResetTuner": "\u00bfEst\u00e1 seguro que desea reiniciar este sintonizador? Cualquier reproducci\u00f3n o grabaci\u00f3n activa se detendr\u00e1 inmediatamente.", - "ButtonCancelSeries": "Cancelar serie", - "LabelAllChannels": "Todos los canales", - "HeaderSeriesRecordings": "Grabaciones de series", - "LabelAnytime": "A cualquier hora", - "StatusRecording": "Grabando", - "StatusWatching": "Viendo", - "StatusRecordingProgram": "Grabando {0}", - "StatusWatchingProgram": "Viendo {0}", - "HeaderSplitMedia": "Divisi\u00f3n de medios", - "MessageConfirmSplitMedia": "\u00bfEst\u00e1 seguro que desea dividir los medios en partes separadas?", - "HeaderError": "Error", - "MessagePleaseSelectOneItem": "Seleccione al menos un elemento.", - "MessagePleaseSelectTwoItems": "Seleccione al menos dos elementos.", - "MessageTheFollowingItemsWillBeGrouped": "Los siguientes t\u00edtulos se agrupar\u00e1n en un elemento.", - "MessageConfirmItemGrouping": "Los clientes de Media Browser elegir\u00e1n autom\u00e1ticamente la mejor forma de reproduccion sobre la base de dispositivo y rendimiento de la red. \u00bfEst\u00e1 seguro que desea continuar?", - "HeaderResume": "Continuar", - "HeaderMyViews": "Mis vistas", - "HeaderLibraryFolders": "Vista de carpeta", - "HeaderLatestMedia": "\u00daltimos medios", - "ButtonMore": "M\u00e1s...", - "HeaderFavoriteMovies": "Pel\u00edculas favoritas", - "HeaderFavoriteShows": "Programas favoritos", - "HeaderFavoriteEpisodes": "Episodios favoritos", - "HeaderFavoriteGames": "Juegos favoritos", - "HeaderRatingsDownloads": "\nClasificaci\u00f3n \/ Descargas", - "HeaderConfirmProfileDeletion": "Confirmar borrado del perfil", - "MessageConfirmProfileDeletion": "\u00bfEst\u00e1 seguro que desea eliminar este perfil?", - "HeaderSelectServerCachePath": "Seleccione la ruta para el cach\u00e9 del servidor", - "HeaderSelectTranscodingPath": "Seleccione la ruta temporal del transcodificador", - "HeaderSelectImagesByNamePath": "Seleccione la ruta para im\u00e1genes", - "HeaderSelectMetadataPath": "Seleccione la ruta para Metadatos", - "HeaderSelectServerCachePathHelp": "Busque o escriba la ruta de acceso que se utilizar\u00e1 para los archivos de cach\u00e9 del servidor. La carpeta debe tener permiso de escritura. La ubicaci\u00f3n de esta carpeta afectar\u00e1 directamente al rendimiento del servidor e idealmente debe ser colocado en una unidad de estado s\u00f3lido.", - "HeaderSelectTranscodingPathHelp": "Busque o escriba la ruta de acceso que se utilizar\u00e1 para la transcodificaci\u00f3n de archivos temporales. La carpeta debe tener permiso de escritura.", - "HeaderSelectImagesByNamePathHelp": "Busque o escriba la ruta de sus elementos por nombre de carpeta. La carpeta debe tener permisos de escritura.", - "HeaderSelectMetadataPathHelp": "Busque o escriba la ruta donde desea almacenar los metadatos. La carpeta debe tener permiso de escritura.", - "HeaderSelectChannelDownloadPath": "Seleccione la ruta de descargas de canal", - "HeaderSelectChannelDownloadPathHelp": "Navege o escriba la ruta para guardar el los archivos de cach\u00e9 de canales. La carpeta debe tener permisos de escritura.", - "OptionNewCollection": "Nuevo...", - "ButtonAdd": "A\u00f1adir", - "ButtonRemove": "Quitar", - "LabelChapterDownloaders": "Downloaders de cap\u00edtulos:", - "LabelChapterDownloadersHelp": "Habilitar y clasificar sus descargadores de cap\u00edtulos preferidos en orden de prioridad. Descargadores de menor prioridad s\u00f3lo se utilizar\u00e1n para completar la informaci\u00f3n que falta.", - "HeaderFavoriteAlbums": "\u00c1lbumes favoritos", - "HeaderLatestChannelMedia": "\u00dcltimos elementos de canal", - "ButtonOrganizeFile": "Organizar archivos", - "ButtonDeleteFile": "Borrar archivos", - "HeaderOrganizeFile": "Organizar archivos", - "HeaderDeleteFile": "Borrar archivos", - "StatusSkipped": "Saltado", - "StatusFailed": "Err\u00f3neo", - "StatusSuccess": "\u00c9xito", - "MessageFileWillBeDeleted": "El siguiente archivo se eliminar\u00e1:", - "MessageSureYouWishToProceed": "\u00bfEst\u00e1 seguro que desea proceder?", - "MessageDuplicatesWillBeDeleted": "Adem\u00e1s se eliminar\u00e1n los siguientes duplicados:", - "MessageFollowingFileWillBeMovedFrom": "El siguiente archivo se mover\u00e1 desde:", - "MessageDestinationTo": "hasta:", - "HeaderSelectWatchFolder": "Seleccionar carpeta para el reloj", - "HeaderSelectWatchFolderHelp": "Navegue o introduzca la ruta para la carpeta para el reloj. La carpeta debe tener permisos de escritura.", - "OrganizePatternResult": "Resultado: {0}", - "HeaderRestart": "Reiniciar", - "HeaderShutdown": "Apagar", - "MessageConfirmRestart": "\u00bfEst\u00e1 seguro que desea reiniciar Media Browser Server?", - "MessageConfirmShutdown": "\u00bfEst\u00e1 seguro que desea apagar Media Browser Server?", - "ButtonUpdateNow": "Actualizar ahora", - "NewVersionOfSomethingAvailable": "\u00a1Hay disponible una nueva versi\u00f3n de {0}!", - "VersionXIsAvailableForDownload": "La versi\u00f3n {0} est\u00e1 disponible para su descarga.", - "LabelVersionNumber": "Versi\u00f3n {0}", - "LabelPlayMethodTranscoding": "Transcodificaci\u00f3n", - "LabelPlayMethodDirectStream": "Streaming directo", - "LabelPlayMethodDirectPlay": "Reproducci\u00f3n directa", - "LabelAudioCodec": "Audio: {0}", - "LabelVideoCodec": "Video: {0}", - "LabelRemoteAccessUrl": "Acceso remoto: {0}", - "LabelRunningOnPort": "Ejecut\u00e1ndose en el puerto {0}.", - "LabelRunningOnPorts": "Ejecut\u00e1ndose en los puertos {0} y {1}.", - "HeaderLatestFromChannel": "Lo \u00faltimo de {0}", - "ButtonDownload": "Descargar", - "LabelUnknownLanaguage": "Idioma desconocido", - "HeaderCurrentSubtitles": "Subt\u00edtulos actuales", - "MessageDownloadQueued": "La descarga se ha a\u00f1adido a la cola", - "MessageAreYouSureDeleteSubtitles": "\u00bfEst\u00e1 seguro que desea eliminar este archivo de subt\u00edtulos?", - "ButtonRemoteControl": "Control remoto", - "HeaderLatestTvRecordings": "\u00daltimas grabaciones", - "ButtonOk": "OK", - "ButtonCancel": "Cancelar", - "ButtonRefresh": "Refrescar", - "LabelCurrentPath": "Ruta actual:", - "HeaderSelectMediaPath": "Seleccionar la ruta para Medios", - "ButtonNetwork": "Red", - "MessageDirectoryPickerInstruction": "Rutas de red pueden ser introducidas manualmente en el caso de que el bot\u00f3n de la red no pueda localizar sus dispositivos. Por ejemplo, {0} o {1}.", - "HeaderMenu": "Men\u00fa", - "ButtonOpen": "Abrir", - "ButtonOpenInNewTab": "Abrir en nueva pesta\u00f1a", - "ButtonShuffle": "Mezclar", - "ButtonInstantMix": "Mix instant\u00e1neo", - "ButtonResume": "Continuar", - "HeaderScenes": "Escenas", - "HeaderAudioTracks": "Pistas de audio", - "HeaderSubtitles": "Subt\u00edtulos", - "HeaderVideoQuality": "Calidad de video", - "MessageErrorPlayingVideo": "Ha habido un error reproduciendo el video.", - "MessageEnsureOpenTuner": "Aseg\u00farese que hay un sintonizador disponible.", - "ButtonHome": "Inicio", - "ButtonDashboard": "Panel de control", - "ButtonReports": "Informes", - "ButtonMetadataManager": "Metadata Manager", - "HeaderTime": "Duraci\u00f3n", - "HeaderName": "Nombre", - "HeaderAlbum": "Album", - "HeaderAlbumArtist": "Artista del album", - "HeaderArtist": "Artista", - "LabelAddedOnDate": "A\u00f1adido {0}", - "ButtonStart": "Inicio", - "HeaderChannels": "Canales", - "HeaderMediaFolders": "Carpetas de medios", - "HeaderBlockItemsWithNoRating": "Bloquear elementos sin informaci\u00f3n de clasificaci\u00f3n:", - "OptionBlockOthers": "Otros", - "OptionBlockTvShows": "Tv Shows", - "OptionBlockTrailers": "Trailers", - "OptionBlockMusic": "M\u00fasica", - "OptionBlockMovies": "Pel\u00edculas", - "OptionBlockBooks": "Libros", - "OptionBlockGames": "Juegos", - "OptionBlockLiveTvPrograms": "Programas de TV en vivo", - "OptionBlockLiveTvChannels": "Canales de Tv en vivo", - "OptionBlockChannelContent": "Contenido de canales de Internet", - "ButtonRevoke": "Revocar", - "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.", - "HeaderConfirmRevokeApiKey": "Revoke Api Key" -} \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/es_MX.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/es_MX.json index db64d133b..23415b86d 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/es_MX.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/es_MX.json @@ -6,6 +6,8 @@ "Administrator": "Administrador", "Password": "Contrase\u00f1a", "DeleteImage": "Eliminar imagen", + "MessageThankYouForSupporting": "Gracias por apoyar Media Browser.", + "MessagePleaseSupportMediaBrowser": "Por favor apoya Media Browser.", "DeleteImageConfirmation": "\u00bfEst\u00e1 seguro de querer eliminar esta imagen?", "FileReadCancelled": "La lectura del archivo ha sido cancelada.", "FileNotFound": "Archivo no encontrado.", @@ -43,6 +45,8 @@ "ButtonHelp": "Ayuda", "ButtonSave": "Guardar", "HeaderDevices": "Dispositivos", + "ButtonScheduledTasks": "Scheduled tasks", + "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task. It can also be run manually here. To configure the scheduled task, see:", "HeaderSupporterBenefit": "La membres\u00eda de aficionado proporciona beneficios adicionales tales como acceso a complementos premium, contenido de canales de Internet y m\u00e1s. {0}Conocer m\u00e1s{1}.", "HeaderWelcomeToMediaBrowserServerDashboard": "Bienvenido al Panel de Control de Media Browser", "HeaderWelcomeToMediaBrowserWebClient": "Bienvenido al Cliente Web de Media Browser", @@ -54,6 +58,10 @@ "HeaderChannelAccess": "Acceso a los Canales", "HeaderDeviceAccess": "Acceso a Dispositivos", "HeaderSelectDevices": "Seleccionar Dispositivos", + "ButtonCancelItem": "Cancelar \u00edtem.", + "ButtonQueueForRetry": "En cola para reintentar", + "ButtonReenable": "Re-habilitar", + "SyncJobItemStatusSyncedMarkForRemoval": "Marcado para remover", "LabelAbortedByServerShutdown": "(Abortada por apagado del servidor)", "LabelScheduledTaskLastRan": "Ejecutado hace {0}, tomando {1}.", "HeaderDeleteTaskTrigger": "Borrar Disparador de Tarea", @@ -65,10 +73,13 @@ "LabelFree": "Gratis", "HeaderSelectAudio": "Seleccionar Audio", "HeaderSelectSubtitles": "Seleccionar Subtitulos", + "ButtonMarkForRemoval": "Marcado para remover del dispositivo", + "ButtonUnmarkForRemoval": "Desmarcar para remover del dispositivo", "LabelDefaultStream": "(Por defecto)", "LabelForcedStream": "(Forzado)", "LabelDefaultForcedStream": "(Por Defecto\/Forzado)", "LabelUnknownLanguage": "Idioma Desconocido", + "MessageConfirmSyncJobItemCancellation": "\u00bfEsta seguro que desea cancelar este \u00edtem?", "ButtonMute": "Mudo", "ButtonUnmute": "Quitar mudo", "ButtonStop": "Detener", @@ -219,6 +230,7 @@ "ButtonResume": "Continuar", "HeaderScenes": "Escenas", "HeaderAudioTracks": "Pistas de Audio", + "HeaderLibraries": "Bibliotecas", "HeaderSubtitles": "Subt\u00edtulos", "HeaderVideoQuality": "Calidad de Video", "MessageErrorPlayingVideo": "Ha ocurrido un error al reproducir el video.", @@ -409,7 +421,7 @@ "LabelParentNumber": "N\u00famero antecesor", "LabelEpisodeNumber": "N\u00famero de episodio:", "LabelTrackNumber": "N\u00famero de Pista:", - "LabelNumber": "N\u00famero", + "LabelNumber": "N\u00famero:", "LabelReleaseDate": "Fecha de estreno:", "LabelEndDate": "Fecha de Fin:", "LabelYear": "A\u00f1o:", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/fi.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/fi.json index b03a19152..d08cf8aba 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/fi.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/fi.json @@ -6,6 +6,8 @@ "Administrator": "Administrator", "Password": "Salasana", "DeleteImage": "Poista Kuva", + "MessageThankYouForSupporting": "Thank you for supporting Media Browser.", + "MessagePleaseSupportMediaBrowser": "Please support Media Browser.", "DeleteImageConfirmation": "Oletko varma ett\u00e4 haluat poistaa t\u00e4m\u00e4n kuvan?", "FileReadCancelled": "Tiedoston luku on peruutettu.", "FileNotFound": "Tiedostoa ei l\u00f6ydy.", @@ -43,6 +45,8 @@ "ButtonHelp": "Help", "ButtonSave": "Tallenna", "HeaderDevices": "Devices", + "ButtonScheduledTasks": "Scheduled tasks", + "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task. It can also be run manually here. To configure the scheduled task, see:", "HeaderSupporterBenefit": "A supporter membership provides additional benefits such as access to premium plugins, internet channel content, and more. {0}Learn more{1}.", "HeaderWelcomeToMediaBrowserServerDashboard": "Welcome to the Media Browser Dashboard", "HeaderWelcomeToMediaBrowserWebClient": "Welcome to the Media Browser Web Client", @@ -54,6 +58,10 @@ "HeaderChannelAccess": "Channel Access", "HeaderDeviceAccess": "Device Access", "HeaderSelectDevices": "Select Devices", + "ButtonCancelItem": "Cancel item", + "ButtonQueueForRetry": "Queue for retry", + "ButtonReenable": "Re-enable", + "SyncJobItemStatusSyncedMarkForRemoval": "Marked for removal", "LabelAbortedByServerShutdown": "(Aborted by server shutdown)", "LabelScheduledTaskLastRan": "Last ran {0}, taking {1}.", "HeaderDeleteTaskTrigger": "Delete Task Trigger", @@ -65,10 +73,13 @@ "LabelFree": "Free", "HeaderSelectAudio": "Select Audio", "HeaderSelectSubtitles": "Select Subtitles", + "ButtonMarkForRemoval": "Mark for removal from device", + "ButtonUnmarkForRemoval": "Unmark for removal from device", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", "LabelUnknownLanguage": "Unknown language", + "MessageConfirmSyncJobItemCancellation": "Are you sure you wish to cancel this item?", "ButtonMute": "Mute", "ButtonUnmute": "Unmute", "ButtonStop": "Stop", @@ -219,6 +230,7 @@ "ButtonResume": "Resume", "HeaderScenes": "Scenes", "HeaderAudioTracks": "Audio Tracks", + "HeaderLibraries": "Libraries", "HeaderSubtitles": "Subtitles", "HeaderVideoQuality": "Video Quality", "MessageErrorPlayingVideo": "There was an error playing the video.", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/fr.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/fr.json index dd8db05a1..9c1e669f8 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/fr.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/fr.json @@ -6,6 +6,8 @@ "Administrator": "Administrateur", "Password": "Mot de passe", "DeleteImage": "Supprimer l'image", + "MessageThankYouForSupporting": "Merci pour votre soutien \u00e0 Media Browser.", + "MessagePleaseSupportMediaBrowser": "Supporter Media Browser s'il vous plait.", "DeleteImageConfirmation": "\u00cates-vous s\u00fbr de vouloir supprimer l'image?", "FileReadCancelled": "La lecture du fichier a \u00e9t\u00e9 annul\u00e9e.", "FileNotFound": "Fichier introuvable.", @@ -43,6 +45,8 @@ "ButtonHelp": "Aide", "ButtonSave": "Sauvegarder", "HeaderDevices": "Appareils", + "ButtonScheduledTasks": "T\u00e2ches planifi\u00e9es", + "ConfirmMessageScheduledTaskButton": "Cette op\u00e9ration s'ex\u00e9cute normalement automatiquement en tant que t\u00e2che planifi\u00e9e. Elle peut aussi \u00eatre ex\u00e9cut\u00e9e manuellement ici. Pour configurer la t\u00e2che planifi\u00e9e, voir:", "HeaderSupporterBenefit": "Un partenariat de membre supporteur apporte des avantages suppl\u00e9mentaires, comme l'acc\u00e8s aux plugins premiums, aux contenus des cha\u00eenes Internet, et plus encore. {0}En savoir plus{1}.", "HeaderWelcomeToMediaBrowserServerDashboard": "Bienvenue dans le centre de contr\u00f4le de Media browser", "HeaderWelcomeToMediaBrowserWebClient": "Bienvenue sur le client web de Media Browser", @@ -54,6 +58,10 @@ "HeaderChannelAccess": "Acc\u00e8s Cha\u00eene", "HeaderDeviceAccess": "Acc\u00e8s \u00e0 l'appareil", "HeaderSelectDevices": "S\u00e9lectionnez un appareil", + "ButtonCancelItem": "Annuler l'\u00e9l\u00e9ment", + "ButtonQueueForRetry": "File d'attente pour une nouvelle tentative", + "ButtonReenable": "R\u00e9activer", + "SyncJobItemStatusSyncedMarkForRemoval": "Marquer pour suppression", "LabelAbortedByServerShutdown": "(Annul\u00e9 par fermeture du serveur)", "LabelScheduledTaskLastRan": "Derni\u00e8re ex\u00e9cution {0}, dur\u00e9e {1}.", "HeaderDeleteTaskTrigger": "Supprimer le d\u00e9clencheur de t\u00e2che", @@ -65,10 +73,13 @@ "LabelFree": "Gratuit", "HeaderSelectAudio": "S\u00e9lectionner audio", "HeaderSelectSubtitles": "S\u00e9lectionner sous-titres", + "ButtonMarkForRemoval": "Marquer pour suppression dans le disque", + "ButtonUnmarkForRemoval": "Lib\u00e9rer la suppression dans le disque", "LabelDefaultStream": "(Par d\u00e9faut)", "LabelForcedStream": "(Forc\u00e9)", "LabelDefaultForcedStream": "(Par d\u00e9faut\/Forc\u00e9)", "LabelUnknownLanguage": "Langue inconnue", + "MessageConfirmSyncJobItemCancellation": "Vouslez vous vraiment annuler cet action?", "ButtonMute": "Sourdine", "ButtonUnmute": "D\u00e9sactiver sourdine", "ButtonStop": "Arr\u00eat", @@ -219,6 +230,7 @@ "ButtonResume": "Reprendre", "HeaderScenes": "Sc\u00e8nes", "HeaderAudioTracks": "Pistes audio", + "HeaderLibraries": "Bilblioth\u00e8ques", "HeaderSubtitles": "Sous-titres", "HeaderVideoQuality": "Qualit\u00e9 vid\u00e9o", "MessageErrorPlayingVideo": "La lecture de la vid\u00e9o a rencontr\u00e9 une erreur", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/he.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/he.json index b961bb9c9..7810c43a0 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/he.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/he.json @@ -6,6 +6,8 @@ "Administrator": "\u05de\u05e0\u05d4\u05dc", "Password": "\u05e1\u05d9\u05e1\u05de\u05d0", "DeleteImage": "\u05de\u05d7\u05e7 \u05ea\u05de\u05d5\u05e0\u05d4", + "MessageThankYouForSupporting": "Thank you for supporting Media Browser.", + "MessagePleaseSupportMediaBrowser": "Please support Media Browser.", "DeleteImageConfirmation": "\u05d4\u05d0\u05dd \u05d0\u05ea\u05d4 \u05d1\u05d8\u05d5\u05d7 \u05e9\u05d1\u05e8\u05e6\u05d5\u05e0\u05da \u05dc\u05de\u05d7\u05d5\u05e7 \u05ea\u05de\u05d5\u05e0\u05d4 \u05d6\u05d5?", "FileReadCancelled": "\u05e7\u05e8\u05d9\u05d0\u05ea \u05d4\u05e7\u05d5\u05d1\u05e5 \u05d1\u05d5\u05d8\u05dc\u05d4.", "FileNotFound": "\u05e7\u05d5\u05d1\u05e5 \u05dc\u05d0 \u05e0\u05de\u05e6\u05d0.", @@ -43,6 +45,8 @@ "ButtonHelp": "Help", "ButtonSave": "\u05e9\u05de\u05d5\u05e8", "HeaderDevices": "Devices", + "ButtonScheduledTasks": "Scheduled tasks", + "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task. It can also be run manually here. To configure the scheduled task, see:", "HeaderSupporterBenefit": "A supporter membership provides additional benefits such as access to premium plugins, internet channel content, and more. {0}Learn more{1}.", "HeaderWelcomeToMediaBrowserServerDashboard": "Welcome to the Media Browser Dashboard", "HeaderWelcomeToMediaBrowserWebClient": "Welcome to the Media Browser Web Client", @@ -54,6 +58,10 @@ "HeaderChannelAccess": "Channel Access", "HeaderDeviceAccess": "Device Access", "HeaderSelectDevices": "Select Devices", + "ButtonCancelItem": "Cancel item", + "ButtonQueueForRetry": "Queue for retry", + "ButtonReenable": "Re-enable", + "SyncJobItemStatusSyncedMarkForRemoval": "Marked for removal", "LabelAbortedByServerShutdown": "(Aborted by server shutdown)", "LabelScheduledTaskLastRan": "Last ran {0}, taking {1}.", "HeaderDeleteTaskTrigger": "Delete Task Trigger", @@ -65,10 +73,13 @@ "LabelFree": "Free", "HeaderSelectAudio": "Select Audio", "HeaderSelectSubtitles": "Select Subtitles", + "ButtonMarkForRemoval": "Mark for removal from device", + "ButtonUnmarkForRemoval": "Unmark for removal from device", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", "LabelUnknownLanguage": "Unknown language", + "MessageConfirmSyncJobItemCancellation": "Are you sure you wish to cancel this item?", "ButtonMute": "Mute", "ButtonUnmute": "Unmute", "ButtonStop": "Stop", @@ -219,6 +230,7 @@ "ButtonResume": "Resume", "HeaderScenes": "\u05e1\u05e6\u05e0\u05d5\u05ea", "HeaderAudioTracks": "Audio Tracks", + "HeaderLibraries": "Libraries", "HeaderSubtitles": "Subtitles", "HeaderVideoQuality": "Video Quality", "MessageErrorPlayingVideo": "There was an error playing the video.", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/hr.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/hr.json index 052e39349..60fb14bd8 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/hr.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/hr.json @@ -6,6 +6,8 @@ "Administrator": "Administrator", "Password": "Lozinka", "DeleteImage": "Izbri\u0161i sliku", + "MessageThankYouForSupporting": "Thank you for supporting Media Browser.", + "MessagePleaseSupportMediaBrowser": "Please support Media Browser.", "DeleteImageConfirmation": "Da li ste sigurni da \u017eelite izbrisati ovu sliku?", "FileReadCancelled": "U\u010ditavanje datoteke je prekinuto.", "FileNotFound": "Datoteka nije prona\u0111ena.", @@ -43,6 +45,8 @@ "ButtonHelp": "Help", "ButtonSave": "Snimi", "HeaderDevices": "Devices", + "ButtonScheduledTasks": "Scheduled tasks", + "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task. It can also be run manually here. To configure the scheduled task, see:", "HeaderSupporterBenefit": "A supporter membership provides additional benefits such as access to premium plugins, internet channel content, and more. {0}Learn more{1}.", "HeaderWelcomeToMediaBrowserServerDashboard": "Welcome to the Media Browser Dashboard", "HeaderWelcomeToMediaBrowserWebClient": "Welcome to the Media Browser Web Client", @@ -54,6 +58,10 @@ "HeaderChannelAccess": "Channel Access", "HeaderDeviceAccess": "Device Access", "HeaderSelectDevices": "Select Devices", + "ButtonCancelItem": "Cancel item", + "ButtonQueueForRetry": "Queue for retry", + "ButtonReenable": "Re-enable", + "SyncJobItemStatusSyncedMarkForRemoval": "Marked for removal", "LabelAbortedByServerShutdown": "(Aborted by server shutdown)", "LabelScheduledTaskLastRan": "Last ran {0}, taking {1}.", "HeaderDeleteTaskTrigger": "Delete Task Trigger", @@ -65,10 +73,13 @@ "LabelFree": "Free", "HeaderSelectAudio": "Select Audio", "HeaderSelectSubtitles": "Select Subtitles", + "ButtonMarkForRemoval": "Mark for removal from device", + "ButtonUnmarkForRemoval": "Unmark for removal from device", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", "LabelUnknownLanguage": "Unknown language", + "MessageConfirmSyncJobItemCancellation": "Are you sure you wish to cancel this item?", "ButtonMute": "Bez zvuka", "ButtonUnmute": "Unmute", "ButtonStop": "Stop", @@ -219,6 +230,7 @@ "ButtonResume": "Resume", "HeaderScenes": "Scene", "HeaderAudioTracks": "Audio Tracks", + "HeaderLibraries": "Libraries", "HeaderSubtitles": "Subtitles", "HeaderVideoQuality": "Video Quality", "MessageErrorPlayingVideo": "There was an error playing the video.", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/it.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/it.json index f3b591f7d..b7c425552 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/it.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/it.json @@ -6,6 +6,8 @@ "Administrator": "Amministratore", "Password": "Password", "DeleteImage": "Elimina immagine", + "MessageThankYouForSupporting": "Thank you for supporting Media Browser.", + "MessagePleaseSupportMediaBrowser": "Please support Media Browser.", "DeleteImageConfirmation": "Sei sicuro di voler eliminare questa immagine?", "FileReadCancelled": "Il file letto \u00e8 stato cancellato.", "FileNotFound": "File non trovato", @@ -43,6 +45,8 @@ "ButtonHelp": "Aiuto", "ButtonSave": "Salva", "HeaderDevices": "Dispositivi", + "ButtonScheduledTasks": "Scheduled tasks", + "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task. It can also be run manually here. To configure the scheduled task, see:", "HeaderSupporterBenefit": "La sottoscrizione Supporter concede dei benefici come: l'accesso a plug-in premium, contenuti dei canali internet, e altro. {0}Scopri di pi\u00f9{1}", "HeaderWelcomeToMediaBrowserServerDashboard": "Benvenuti nel Dashboard di Media Browser", "HeaderWelcomeToMediaBrowserWebClient": "Benvenuti nel Media Browser Web client", @@ -54,6 +58,10 @@ "HeaderChannelAccess": "Accesso canali", "HeaderDeviceAccess": "Accesso dispositivo", "HeaderSelectDevices": "Seleziona periferiche", + "ButtonCancelItem": "Cancel item", + "ButtonQueueForRetry": "Queue for retry", + "ButtonReenable": "Re-enable", + "SyncJobItemStatusSyncedMarkForRemoval": "Marked for removal", "LabelAbortedByServerShutdown": "(Interrotto dallo spegnimento del server)", "LabelScheduledTaskLastRan": "Ultima esecuzione {0}, taking {1}.", "HeaderDeleteTaskTrigger": "Elimina Operazione pianificata", @@ -65,10 +73,13 @@ "LabelFree": "Gratis", "HeaderSelectAudio": "Seleziona audio", "HeaderSelectSubtitles": "Seleziona sottotitoli", + "ButtonMarkForRemoval": "Mark for removal from device", + "ButtonUnmarkForRemoval": "Unmark for removal from device", "LabelDefaultStream": "(Predefinito)", "LabelForcedStream": "(forzato)", "LabelDefaultForcedStream": "(Predefinito\/Forzato)", "LabelUnknownLanguage": "Lingua Sconosciuta", + "MessageConfirmSyncJobItemCancellation": "Are you sure you wish to cancel this item?", "ButtonMute": "Muto", "ButtonUnmute": "Togli muto", "ButtonStop": "Stop", @@ -219,6 +230,7 @@ "ButtonResume": "Riprendi", "HeaderScenes": "Scene", "HeaderAudioTracks": "Tracce audio", + "HeaderLibraries": "Libraries", "HeaderSubtitles": "Sottotitoli", "HeaderVideoQuality": "Qualit\u00e0 video", "MessageErrorPlayingVideo": "Si \u00e8 verificato un errore nella riproduzione del video.", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/kk.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/kk.json index d417af805..86e748672 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/kk.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/kk.json @@ -6,6 +6,8 @@ "Administrator": "\u04d8\u043a\u0456\u043c\u0448\u0456", "Password": "\u049a\u04b1\u043f\u0438\u044f \u0441\u04e9\u0437", "DeleteImage": "\u0421\u0443\u0440\u0435\u0442\u0442\u0456 \u0436\u043e\u044e", + "MessageThankYouForSupporting": "Media Browser \u0431\u0430\u0493\u0434\u0430\u0440\u043b\u0430\u043c\u0430\u0441\u044b\u043d \u0436\u0430\u049b\u0442\u0430\u0493\u0430\u04a3\u044b\u0437 \u04af\u0448\u0456\u043d \u0430\u043b\u0493\u044b\u0441.", + "MessagePleaseSupportMediaBrowser": "Media Browser \u0431\u0430\u0493\u0434\u0430\u0440\u043b\u0430\u043c\u0430\u0441\u044b\u043d \u0436\u0430\u049b\u0442\u0430\u04a3\u044b\u0437.", "DeleteImageConfirmation": "\u0428\u044b\u043d\u044b\u043c\u0435\u043d \u0431\u04b1\u043b \u0441\u0443\u0440\u0435\u0442\u0442\u0456 \u0436\u043e\u044e \u049b\u0430\u0436\u0435\u0442 \u043f\u0435?", "FileReadCancelled": "\u0424\u0430\u0439\u043b \u043e\u049b\u0443\u044b \u0431\u043e\u043b\u0434\u044b\u0440\u044b\u043b\u043c\u0430\u0434\u044b.", "FileNotFound": "\u0424\u0430\u0439\u043b \u0442\u0430\u0431\u044b\u043b\u043c\u0430\u0434\u044b.", @@ -43,6 +45,8 @@ "ButtonHelp": "\u0410\u043d\u044b\u049b\u0442\u0430\u043c\u0430", "ButtonSave": "\u0421\u0430\u049b\u0442\u0430\u0443", "HeaderDevices": "\u049a\u04b1\u0440\u044b\u043b\u0493\u044b\u043b\u0430\u0440", + "ButtonScheduledTasks": "Scheduled tasks", + "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task. It can also be run manually here. To configure the scheduled task, see:", "HeaderSupporterBenefit": "\u0416\u0430\u049b\u0442\u0430\u0443\u0448\u044b \u043c\u04af\u0448\u0435\u043b\u0456\u043a \u0441\u044b\u0439\u0430\u049b\u044b\u043b\u044b \u043f\u043b\u0430\u0433\u0438\u043d, \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0430\u0440\u043d\u0430 \u043c\u0430\u0437\u043c\u04b1\u043d\u044b \u0436\u04d9\u043d\u0435 \u0441\u043e\u043d\u0434\u0430\u0439 \u0441\u0438\u044f\u049b\u0442\u044b\u043b\u0430\u0440\u0493\u0430 \u049b\u043e\u043b \u0436\u0435\u0442\u043a\u0456\u0437\u0443\u043c\u0435\u043d \u049b\u043e\u0441\u044b\u043c\u0448\u0430 \u0430\u0440\u0442\u044b\u049b\u0448\u044b\u043b\u044b\u049b\u0442\u0430\u0440 \u0431\u0435\u0440\u0435\u0434\u0456. {0}\u041a\u04e9\u0431\u0456\u0440\u0435\u043a \u0431\u0456\u043b\u0443{1}.", "HeaderWelcomeToMediaBrowserServerDashboard": "Media Browser \u0431\u0430\u049b\u044b\u043b\u0430\u0443 \u0442\u0430\u049b\u0442\u0430\u0441\u044b\u043d\u0430 \u049b\u043e\u0448 \u043a\u0435\u043b\u0434\u0456\u04a3\u0456\u0437!", "HeaderWelcomeToMediaBrowserWebClient": "Media Browser \u0432\u0435\u0431-\u043a\u043b\u0438\u0435\u043d\u0442\u0456\u043d\u0435 \u049b\u043e\u0448 \u043a\u0435\u043b\u0434\u0456\u04a3\u0456\u0437!", @@ -54,6 +58,10 @@ "HeaderChannelAccess": "\u0410\u0440\u043d\u0430\u0493\u0430 \u049b\u0430\u0442\u044b\u043d\u0430\u0441\u0443", "HeaderDeviceAccess": "\u049a\u04b1\u0440\u044b\u043b\u0493\u044b\u0493\u0430 \u049b\u0430\u0442\u044b\u043d\u0430\u0441", "HeaderSelectDevices": "\u049a\u04b1\u0440\u044b\u043b\u0493\u044b\u043b\u0430\u0440\u0434\u044b \u0442\u0430\u04a3\u0434\u0430\u0443", + "ButtonCancelItem": "\u042d\u043b\u0435\u043c\u0435\u043d\u0442\u0442\u0456 \u0431\u043e\u043b\u0434\u044b\u0440\u043c\u0430\u0443", + "ButtonQueueForRetry": "\u049a\u0430\u0439\u0442\u0430\u043b\u0430\u0443\u0493\u0430 \u043a\u0435\u0437\u0435\u043a", + "ButtonReenable": "\u049a\u0430\u0439\u0442\u0430 \u049b\u043e\u0441\u0443", + "SyncJobItemStatusSyncedMarkForRemoval": "\u0410\u043b\u0430\u0441\u0442\u0430\u0443\u0493\u0430 \u0431\u0435\u043b\u0433\u0456\u043b\u0435\u043d\u0433\u0435\u043d", "LabelAbortedByServerShutdown": "(\u0421\u0435\u0440\u0432\u0435\u0440 \u0436\u04b1\u043c\u044b\u0441\u044b \u0430\u044f\u049b\u0442\u0430\u043b\u0443\u044b\u043d\u0430 \u0431\u0430\u0439\u043b\u0430\u043d\u044b\u0441\u0442\u044b \u04af\u0437\u0456\u043b\u0434\u0456)", "LabelScheduledTaskLastRan": "\u0421\u043e\u04a3\u0493\u044b \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u044b\u043b\u0493\u0430\u043d\u044b {0}, {1} \u0443\u0430\u049b\u044b\u0442 \u0430\u043b\u0434\u044b.", "HeaderDeleteTaskTrigger": "\u0422\u0430\u043f\u0441\u044b\u0440\u043c\u0430 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0456\u043d \u0436\u043e\u044e", @@ -65,10 +73,13 @@ "LabelFree": "\u0422\u0435\u0433\u0456\u043d", "HeaderSelectAudio": "\u0414\u044b\u0431\u044b\u0441 \u0442\u0430\u04a3\u0434\u0430\u0443", "HeaderSelectSubtitles": "\u0421\u0443\u0431\u0442\u0438\u0442\u0440\u043b\u0435\u0440 \u0442\u0430\u04a3\u0434\u0430\u0443", + "ButtonMarkForRemoval": "\u049a\u04b1\u0440\u044b\u043b\u0493\u044b\u0434\u0430\u043d \u0430\u043b\u0430\u0441\u0442\u0430\u0443\u0493\u0430 \u0431\u0435\u043b\u0433\u0456\u043b\u0435\u0443", + "ButtonUnmarkForRemoval": "\u049a\u04b1\u0440\u044b\u043b\u0493\u044b\u0434\u0430\u043d \u0430\u043b\u0430\u0441\u0442\u0430\u0443\u0493\u0430 \u0431\u0435\u043b\u0433\u0456\u043b\u0435\u043c\u0435\u0443", "LabelDefaultStream": "(\u04d8\u0434\u0435\u043f\u043a\u0456)", "LabelForcedStream": "(\u041c\u04d9\u0436\u0431\u04af\u0440\u043b\u0456)", "LabelDefaultForcedStream": "(\u04d8\u0434\u0435\u043f\u043a\u0456\/\u041c\u04d9\u0436\u0431\u04af\u0440\u043b\u0456)", "LabelUnknownLanguage": "\u0411\u0435\u043b\u0433\u0456\u0441\u0456\u0437 \u0442\u0456\u043b", + "MessageConfirmSyncJobItemCancellation": "\u0428\u044b\u043d\u044b\u043c\u0435\u043d \u043e\u0441\u044b \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0442\u0456 \u0431\u043e\u043b\u0434\u044b\u0440\u043c\u0430\u0443 \u049b\u0430\u0436\u0435\u0442 \u043f\u0435?", "ButtonMute": "\u0414\u044b\u0431\u044b\u0441\u0442\u044b \u04e9\u0448\u0456\u0440\u0443", "ButtonUnmute": "\u0414\u044b\u0431\u044b\u0441\u0442\u044b \u049b\u043e\u0441\u0443", "ButtonStop": "\u0422\u043e\u049b\u0442\u0430\u0442\u0443", @@ -147,11 +158,11 @@ "HeaderRatingsDownloads": "\u0411\u0430\u0493\u0430\u043b\u0430\u0443 \/ \u0416\u04af\u043a\u0442\u0435\u0443\u043b\u0435\u0440", "HeaderConfirmProfileDeletion": "\u041f\u0440\u043e\u0444\u0430\u0439\u043b \u0436\u043e\u044e\u0434\u044b \u0440\u0430\u0441\u0442\u0430\u0443", "MessageConfirmProfileDeletion": "\u0428\u044b\u043d\u044b\u043c\u0435\u043d \u043e\u0441\u044b \u043f\u0440\u043e\u0444\u0430\u0439\u043b\u0434\u044b \u0436\u043e\u044e \u049b\u0430\u0436\u0435\u0442 \u043f\u0435?", - "HeaderSelectServerCachePath": "\u0421\u0435\u0440\u0432\u0435\u0440 \u043a\u0435\u0448\u0456\u043d\u0456\u04a3 \u0436\u043e\u043b\u044b\u043d \u0442\u0430\u04a3\u0434\u0430\u0443", + "HeaderSelectServerCachePath": "\u0421\u0435\u0440\u0432\u0435\u0440 \u043a\u044d\u0448\u0456\u043d\u0456\u04a3 \u0436\u043e\u043b\u044b\u043d \u0442\u0430\u04a3\u0434\u0430\u0443", "HeaderSelectTranscodingPath": "\u049a\u0430\u0439\u0442\u0430 \u043a\u043e\u0434\u0442\u0430\u0443\u0434\u044b\u04a3 \u0443\u0430\u049b\u044b\u0442\u0448\u0430 \u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b\u0435\u044b\u04a3 \u0436\u043e\u043b\u044b\u043d \u0442\u0430\u04a3\u0434\u0430\u0443", "HeaderSelectImagesByNamePath": "\u0410\u0442\u044b \u0431\u043e\u0439\u044b\u043d\u0448\u0430 \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440 \u0436\u043e\u043b\u044b\u043d \u0442\u0430\u04a3\u0434\u0430\u0443", "HeaderSelectMetadataPath": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u0436\u043e\u043b\u044b\u043d \u0442\u0430\u04a3\u0434\u0430\u0443", - "HeaderSelectServerCachePathHelp": "\u0421\u0435\u0440\u0432\u0435\u0440\u0434\u0456\u04a3 \u043a\u0435\u0448 \u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b\u043d \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443 \u04af\u0448\u0456\u043d \u0436\u043e\u043b\u0434\u044b \u0448\u043e\u043b\u044b\u04a3\u044b\u0437 \u043d\u0435\u043c\u0435\u0441\u0435 \u0435\u043d\u0433\u0456\u0437\u0456\u04a3\u0456\u0437. \u041e\u0441\u044b \u049b\u0430\u043b\u0442\u0430 \u0436\u0430\u0437\u0443 \u04af\u0448\u0456\u043d \u049b\u043e\u043b \u0436\u0435\u0442\u0456\u043c\u0434\u0456 \u0431\u043e\u043b\u0443\u044b \u049b\u0430\u0436\u0435\u0442.", + "HeaderSelectServerCachePathHelp": "\u0421\u0435\u0440\u0432\u0435\u0440\u0434\u0456\u04a3 \u043a\u044d\u0448 \u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b\u043d \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443 \u04af\u0448\u0456\u043d \u0436\u043e\u043b\u0434\u044b \u0448\u043e\u043b\u044b\u04a3\u044b\u0437 \u043d\u0435\u043c\u0435\u0441\u0435 \u0435\u043d\u0433\u0456\u0437\u0456\u04a3\u0456\u0437. \u041e\u0441\u044b \u049b\u0430\u043b\u0442\u0430 \u0436\u0430\u0437\u0443 \u04af\u0448\u0456\u043d \u049b\u043e\u043b \u0436\u0435\u0442\u0456\u043c\u0434\u0456 \u0431\u043e\u043b\u0443\u044b \u049b\u0430\u0436\u0435\u0442.", "HeaderSelectTranscodingPathHelp": "\u049a\u0430\u0439\u0442\u0430 \u043a\u043e\u0434\u0442\u0430\u0443\u0434\u044b\u04a3 \u0443\u0430\u049b\u044b\u0442\u0448\u0430 \u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b\u043d \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443 \u04af\u0448\u0456\u043d \u0436\u043e\u043b\u0434\u044b \u0448\u043e\u043b\u044b\u04a3\u044b\u0437 \u043d\u0435\u043c\u0435\u0441\u0435 \u0435\u043d\u0433\u0456\u0437\u0456\u04a3\u0456\u0437. \u041e\u0441\u044b \u049b\u0430\u043b\u0442\u0430 \u0436\u0430\u0437\u0443 \u04af\u0448\u0456\u043d \u049b\u043e\u043b \u0436\u0435\u0442\u0456\u043c\u0434\u0456 \u0431\u043e\u043b\u0443\u044b \u049b\u0430\u0436\u0435\u0442.", "HeaderSelectImagesByNamePathHelp": "\u0410\u0442\u044b \u0431\u043e\u0439\u044b\u043d\u0448\u0430 \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440 \u04af\u0448\u0456\u043d \u0436\u043e\u043b\u0434\u044b \u0448\u043e\u043b\u044b\u04a3\u044b\u0437 \u043d\u0435\u043c\u0435\u0441\u0435 \u0435\u043d\u0433\u0456\u0437\u0456\u04a3\u0456\u0437. \u041e\u0441\u044b \u049b\u0430\u043b\u0442\u0430 \u0436\u0430\u0437\u0443 \u04af\u0448\u0456\u043d \u049b\u043e\u043b \u0436\u0435\u0442\u0456\u043c\u0434\u0456 \u0431\u043e\u043b\u0443\u044b \u049b\u0430\u0436\u0435\u0442.", "HeaderSelectMetadataPathHelp": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u0441\u0430\u049b\u0442\u0430\u0443 \u04af\u0448\u0456\u043d \u0436\u043e\u043b\u0434\u044b \u0448\u043e\u043b\u044b\u04a3\u044b\u0437 \u043d\u0435\u043c\u0435\u0441\u0435 \u0435\u043d\u0433\u0456\u0437\u0456\u04a3\u0456\u0437. \u041e\u0441\u044b \u049b\u0430\u043b\u0442\u0430 \u0436\u0430\u0437\u0443 \u04af\u0448\u0456\u043d \u049b\u043e\u043b \u0436\u0435\u0442\u0456\u043c\u0434\u0456 \u0431\u043e\u043b\u0443\u044b \u049b\u0430\u0436\u0435\u0442.", @@ -192,10 +203,10 @@ "LabelPlayMethodDirectPlay": "\u0422\u0456\u043a\u0435\u043b\u0435\u0439 \u043e\u0439\u043d\u0430\u0442\u0443\u0434\u0430", "LabelAudioCodec": "\u0414\u044b\u0431\u044b\u0441: {0}", "LabelVideoCodec": "\u0411\u0435\u0439\u043d\u0435: {0}", - "LabelLocalAccessUrl": "Local access: {0}", + "LabelLocalAccessUrl": "\u0416\u0435\u0440\u0433\u0456\u043b\u0456\u043a\u0442\u0456 \u049b\u0430\u0442\u044b\u043d\u0430\u0441\u0443: {0}", "LabelRemoteAccessUrl": "\u049a\u0430\u0448\u044b\u049b\u0442\u0430\u043d \u049b\u0430\u0442\u044b\u043d\u0430\u0441\u0443: {0}", - "LabelRunningOnPort": "Running on http port {0}.", - "LabelRunningOnPorts": "Running on http port {0}, and https port {1}.", + "LabelRunningOnPort": "{0} http-\u043f\u043e\u0440\u0442\u044b\u043d\u0434\u0430 \u0436\u04b1\u043c\u044b\u0441 \u0456\u0441\u0442\u0435\u0439\u0434\u0456.", + "LabelRunningOnPorts": "{0} http-\u043f\u043e\u0440\u0442\u044b\u043d\u0434\u0430 \u0436\u04d9\u043d\u0435 {1} https-\u043f\u043e\u0440\u0442\u044b\u043d\u0434\u0430 \u0436\u04b1\u043c\u044b\u0441 \u0456\u0441\u0442\u0435\u0439\u0434\u0456.", "HeaderLatestFromChannel": "\u0415\u04a3 \u043a\u0435\u0439\u0456\u043d\u0433\u0456 {0}", "ButtonDownload": "\u0416\u04af\u043a\u0442\u0435\u043f \u0430\u043b\u0443", "LabelUnknownLanaguage": "\u0411\u0435\u043b\u0433\u0456\u0441\u0456\u0437 \u0442\u0456\u043b", @@ -219,13 +230,14 @@ "ButtonResume": "\u0416\u0430\u043b\u0493\u0430\u0441\u0442\u044b\u0440\u0443", "HeaderScenes": "\u0421\u0430\u0445\u043d\u0430\u043b\u0430\u0440", "HeaderAudioTracks": "\u0414\u044b\u0431\u044b\u0441 \u0436\u043e\u043b\u0448\u044b\u049b\u0442\u0430\u0440\u044b", + "HeaderLibraries": "\u0422\u0430\u0441\u0443\u0448\u044b\u0445\u0430\u043d\u0430\u043b\u0430\u0440", "HeaderSubtitles": "\u0421\u0443\u0431\u0442\u0438\u0442\u0440\u043b\u0435\u0440", "HeaderVideoQuality": "\u0411\u0435\u0439\u043d\u0435 \u0441\u0430\u043f\u0430\u0441\u044b", "MessageErrorPlayingVideo": "\u0411\u0435\u0439\u043d\u0435 \u043e\u0439\u043d\u0430\u0442\u0443 \u043a\u0435\u0437\u0456\u043d\u0434\u0435 \u049b\u0430\u0442\u0435 \u043e\u0440\u044b\u043d \u0430\u043b\u0434\u044b.", "MessageEnsureOpenTuner": "\u0410\u0448\u044b\u043b\u0493\u0430\u043d \u0442\u044e\u043d\u0435\u0440 \u049b\u043e\u043b \u0436\u0435\u0442\u0456\u043c\u0434\u0456 \u0435\u043a\u0435\u043d\u0456\u043d\u0435 \u043a\u04e9\u0437 \u0436\u0435\u0442\u043a\u0456\u0437\u0456\u04a3\u0456\u0437.", "ButtonHome": "\u0411\u0430\u0441\u0442\u044b", "ButtonDashboard": "\u0411\u0430\u049b\u044b\u043b\u0430\u0443 \u0442\u0430\u049b\u0442\u0430\u0441\u044b", - "ButtonReports": "\u0415\u0441\u0435\u043f\u0442\u0435\u0440", + "ButtonReports": "\u0411\u0430\u044f\u043d\u0434\u0430\u043c\u0430\u043b\u0430\u0440", "ButtonMetadataManager": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a \u0440\u0435\u0442\u0442\u0435\u0443\u0448\u0456", "HeaderTime": "\u0423\u0430\u049b\u044b\u0442", "HeaderName": "\u0410\u0442\u044b", @@ -585,7 +597,7 @@ "MediaInfoRefFrames": "\u0422\u0456\u0440\u0435\u043a \u043a\u0430\u0434\u0440\u043b\u0430\u0440", "TabPlayback": "\u041e\u0439\u043d\u0430\u0442\u0443", "TabNotifications": "\u0425\u0430\u0431\u0430\u0440\u043b\u0430\u043d\u0434\u044b\u0440\u0443\u043b\u0430\u0440", - "TabExpert": "Expert", + "TabExpert": "\u0421\u0430\u0440\u0430\u043f\u0442\u0430\u043c\u0430\u043b\u044b\u049b", "HeaderSelectCustomIntrosPath": "\u0422\u0435\u04a3\u0448\u0435\u043b\u0433\u0435\u043d \u043a\u04e9\u0440\u043d\u0435\u0443\u043b\u0435\u0440\u0434\u0456 \u0442\u0430\u04a3\u0434\u0430\u0443", "HeaderRateAndReview": "\u0411\u0430\u0493\u0430\u043b\u0430\u0443 \u0436\u04d9\u043d\u0435 \u043f\u0456\u043a\u0456\u0440\u043b\u0435\u0441\u0443", "HeaderThankYou": "\u0420\u0430\u0445\u043c\u0435\u0442 \u0441\u0456\u0437\u0433\u0435", @@ -620,7 +632,7 @@ "DashboardTourMobile": "Media Browser \u0431\u0430\u049b\u044b\u043b\u0430\u0443 \u0442\u0430\u049b\u0442\u0430\u0441\u044b \u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d\u0434\u0430\u0440\u0434\u0430 \u0436\u04d9\u043d\u0435 \u043f\u043b\u0430\u043d\u0448\u0435\u0442\u0442\u0435\u0440\u0434\u0435 \u0442\u0430\u043c\u0430\u0448\u0430 \u0436\u04b1\u043c\u044b\u0441 \u0456\u0441\u0442\u0435\u0439\u0434\u0456. \u0421\u0435\u0440\u0432\u0435\u0440\u0456\u04a3\u0456\u0437\u0434\u0456 \u04d9\u0440 \u0443\u0430\u049b\u044b\u0442\u0442\u0430, \u04d9\u0440 \u0436\u0435\u0440\u0434\u0435 \u049b\u043e\u043b\u044b\u04a3\u044b\u0437\u0434\u044b\u04a3 \u0430\u043b\u0430\u049b\u0430\u043d\u044b\u043d\u0430\u043d \u0431\u0430\u0441\u049b\u0430\u0440\u044b\u04a3\u044b\u0437.", "MessageRefreshQueued": "\u041a\u04e9\u043a\u0435\u0439\u0442\u0435\u0441\u0442\u0456 \u0435\u0442\u0443\u0456 \u043a\u0435\u0437\u0435\u043a\u0442\u0435", "TabDevices": "\u049a\u04b1\u0440\u044b\u043b\u0493\u044b\u043b\u0430\u0440", - "TabExtras": "Extras", + "TabExtras": "\u049a\u043e\u0441\u044b\u043c\u0448\u0430\u043b\u0430\u0440", "DeviceLastUsedByUserName": "{0} \u0430\u0440\u049b\u044b\u043b\u044b \u0435\u04a3 \u043a\u0435\u0439\u0456\u043d\u0433\u0456 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u043b\u0493\u0430\u043d", "HeaderDeleteDevice": "\u049a\u04b1\u0440\u044b\u043b\u0493\u044b\u043d\u044b \u0436\u043e\u044e", "DeleteDeviceConfirmation": "\u0428\u044b\u043d\u044b\u043c\u0435\u043d \u043e\u0441\u044b \u049b\u04b1\u0440\u044b\u043b\u0493\u044b\u043d\u044b \u0436\u043e\u044e \u049b\u0430\u0436\u0435\u0442 \u043f\u0435? \u0411\u04b1\u043b \u043a\u0435\u043b\u0435\u0441\u0456 \u0440\u0435\u0442\u0442\u0435 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b \u043e\u0441\u044b\u0434\u0430\u043d \u043a\u0456\u0440\u0433\u0435\u043d\u0434\u0435 \u049b\u0430\u0439\u0442\u0430 \u043f\u0430\u0439\u0434\u0430 \u0431\u043e\u043b\u0430\u0434\u044b.", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/ms.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/ms.json index 2f828a8d7..0a33c80c3 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/ms.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/ms.json @@ -6,6 +6,8 @@ "Administrator": "Administrator", "Password": "Password", "DeleteImage": "Delete Image", + "MessageThankYouForSupporting": "Thank you for supporting Media Browser.", + "MessagePleaseSupportMediaBrowser": "Please support Media Browser.", "DeleteImageConfirmation": "Are you sure you wish to delete this image?", "FileReadCancelled": "The file read has been canceled.", "FileNotFound": "File not found.", @@ -43,6 +45,8 @@ "ButtonHelp": "Help", "ButtonSave": "Save", "HeaderDevices": "Devices", + "ButtonScheduledTasks": "Scheduled tasks", + "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task. It can also be run manually here. To configure the scheduled task, see:", "HeaderSupporterBenefit": "A supporter membership provides additional benefits such as access to premium plugins, internet channel content, and more. {0}Learn more{1}.", "HeaderWelcomeToMediaBrowserServerDashboard": "Welcome to the Media Browser Dashboard", "HeaderWelcomeToMediaBrowserWebClient": "Welcome to the Media Browser Web Client", @@ -54,6 +58,10 @@ "HeaderChannelAccess": "Channel Access", "HeaderDeviceAccess": "Device Access", "HeaderSelectDevices": "Select Devices", + "ButtonCancelItem": "Cancel item", + "ButtonQueueForRetry": "Queue for retry", + "ButtonReenable": "Re-enable", + "SyncJobItemStatusSyncedMarkForRemoval": "Marked for removal", "LabelAbortedByServerShutdown": "(Aborted by server shutdown)", "LabelScheduledTaskLastRan": "Last ran {0}, taking {1}.", "HeaderDeleteTaskTrigger": "Delete Task Trigger", @@ -65,10 +73,13 @@ "LabelFree": "Free", "HeaderSelectAudio": "Select Audio", "HeaderSelectSubtitles": "Select Subtitles", + "ButtonMarkForRemoval": "Mark for removal from device", + "ButtonUnmarkForRemoval": "Unmark for removal from device", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", "LabelUnknownLanguage": "Unknown language", + "MessageConfirmSyncJobItemCancellation": "Are you sure you wish to cancel this item?", "ButtonMute": "Mute", "ButtonUnmute": "Unmute", "ButtonStop": "Stop", @@ -219,6 +230,7 @@ "ButtonResume": "Resume", "HeaderScenes": "Scenes", "HeaderAudioTracks": "Audio Tracks", + "HeaderLibraries": "Libraries", "HeaderSubtitles": "Subtitles", "HeaderVideoQuality": "Video Quality", "MessageErrorPlayingVideo": "There was an error playing the video.", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/nb.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/nb.json index 0051d759c..a9c2dba3b 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/nb.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/nb.json @@ -6,6 +6,8 @@ "Administrator": "Administrator", "Password": "Passord", "DeleteImage": "Slett bilde", + "MessageThankYouForSupporting": "Thank you for supporting Media Browser.", + "MessagePleaseSupportMediaBrowser": "Please support Media Browser.", "DeleteImageConfirmation": "Er du sikker p\u00e5 at du vil slette bildet?", "FileReadCancelled": "Lesing av filen kansellert.", "FileNotFound": "Fil ikke funnet", @@ -43,6 +45,8 @@ "ButtonHelp": "Help", "ButtonSave": "lagre", "HeaderDevices": "Devices", + "ButtonScheduledTasks": "Scheduled tasks", + "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task. It can also be run manually here. To configure the scheduled task, see:", "HeaderSupporterBenefit": "A supporter membership provides additional benefits such as access to premium plugins, internet channel content, and more. {0}Learn more{1}.", "HeaderWelcomeToMediaBrowserServerDashboard": "Velkommen til Media Browser Dashbord", "HeaderWelcomeToMediaBrowserWebClient": "Velkommen til Media Browser Web Klient", @@ -54,6 +58,10 @@ "HeaderChannelAccess": "Kanal tilgang", "HeaderDeviceAccess": "Device Access", "HeaderSelectDevices": "Select Devices", + "ButtonCancelItem": "Cancel item", + "ButtonQueueForRetry": "Queue for retry", + "ButtonReenable": "Re-enable", + "SyncJobItemStatusSyncedMarkForRemoval": "Marked for removal", "LabelAbortedByServerShutdown": "(Avbrutt av server shutdown)", "LabelScheduledTaskLastRan": "Sist kj\u00f8rt {0}, tar {1}.", "HeaderDeleteTaskTrigger": "Slett Oppgave Trigger", @@ -65,10 +73,13 @@ "LabelFree": "Gratis", "HeaderSelectAudio": "Velg Lyd", "HeaderSelectSubtitles": "Velg Undertekst", + "ButtonMarkForRemoval": "Mark for removal from device", + "ButtonUnmarkForRemoval": "Unmark for removal from device", "LabelDefaultStream": "(Standard)", "LabelForcedStream": "(Tvunget)", "LabelDefaultForcedStream": "(Standard\/Tvunget)", "LabelUnknownLanguage": "Ukjent spr\u00e5k", + "MessageConfirmSyncJobItemCancellation": "Are you sure you wish to cancel this item?", "ButtonMute": "Mute", "ButtonUnmute": "unmute", "ButtonStop": "Stopp", @@ -219,6 +230,7 @@ "ButtonResume": "Fortsette", "HeaderScenes": "Scener", "HeaderAudioTracks": "Lydspor", + "HeaderLibraries": "Libraries", "HeaderSubtitles": "Undertekster", "HeaderVideoQuality": "Video Kvalitet", "MessageErrorPlayingVideo": "Det oppstod en error ved avspilling av vidoen.", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/nl.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/nl.json index 488880bb8..71432ddfb 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/nl.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/nl.json @@ -6,6 +6,8 @@ "Administrator": "Beheerder", "Password": "Wachtwoord", "DeleteImage": "Verwijder afbeelding", + "MessageThankYouForSupporting": "Thank you for supporting Media Browser.", + "MessagePleaseSupportMediaBrowser": "Please support Media Browser.", "DeleteImageConfirmation": "Weet u zeker dat u deze afbeelding wilt verwijderen?", "FileReadCancelled": "Bestand lezen is geannuleerd.", "FileNotFound": "Bestand niet gevonden.", @@ -43,6 +45,8 @@ "ButtonHelp": "Hulp", "ButtonSave": "Opslaan", "HeaderDevices": "Apparaten", + "ButtonScheduledTasks": "Scheduled tasks", + "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task. It can also be run manually here. To configure the scheduled task, see:", "HeaderSupporterBenefit": "Een supporter lidmaatschap biedt voordelen zoals toegang tot premium plug-ins, internet kanalen en meer. {0}Meer weten{1}.", "HeaderWelcomeToMediaBrowserServerDashboard": "Welkom bij het Media Browser Dashboard", "HeaderWelcomeToMediaBrowserWebClient": "Welkom op de Media Browser Web Client", @@ -54,6 +58,10 @@ "HeaderChannelAccess": "Kanaal toegang", "HeaderDeviceAccess": "Apparaat Toegang", "HeaderSelectDevices": "Selecteer Apparaten", + "ButtonCancelItem": "Cancel item", + "ButtonQueueForRetry": "Queue for retry", + "ButtonReenable": "Re-enable", + "SyncJobItemStatusSyncedMarkForRemoval": "Marked for removal", "LabelAbortedByServerShutdown": "(Afgebroken door afsluiten van de server)", "LabelScheduledTaskLastRan": "Laatste keer {0}, duur {1}.", "HeaderDeleteTaskTrigger": "Verwijderen Taak Trigger", @@ -65,10 +73,13 @@ "LabelFree": "Gratis", "HeaderSelectAudio": "Selecteer Audio", "HeaderSelectSubtitles": "Selecteer Ondertitels", + "ButtonMarkForRemoval": "Mark for removal from device", + "ButtonUnmarkForRemoval": "Unmark for removal from device", "LabelDefaultStream": "(Standaard)", "LabelForcedStream": "(Geforceerd)", "LabelDefaultForcedStream": "(Standaard \/ Georceerd)", "LabelUnknownLanguage": "Onbekende taal", + "MessageConfirmSyncJobItemCancellation": "Are you sure you wish to cancel this item?", "ButtonMute": "Dempen", "ButtonUnmute": "Dempen opheffen", "ButtonStop": "Stop", @@ -192,10 +203,10 @@ "LabelPlayMethodDirectPlay": "Direct Afspelen", "LabelAudioCodec": "Audio: {0}", "LabelVideoCodec": "Video: {0}", - "LabelLocalAccessUrl": "Local access: {0}", + "LabelLocalAccessUrl": "Lokale toegang: {0}", "LabelRemoteAccessUrl": "Toegang op afstand: {0}", - "LabelRunningOnPort": "Running on http port {0}.", - "LabelRunningOnPorts": "Running on http port {0}, and https port {1}.", + "LabelRunningOnPort": "Draait op http poort {0}.", + "LabelRunningOnPorts": "Draait op http poort {0} en https poort {1}.", "HeaderLatestFromChannel": "Laatste van {0}", "ButtonDownload": "Download", "LabelUnknownLanaguage": "Onbekende taal", @@ -219,6 +230,7 @@ "ButtonResume": "Hervatten", "HeaderScenes": "Scenes", "HeaderAudioTracks": "Audio sporen", + "HeaderLibraries": "Bibliotheken", "HeaderSubtitles": "Ondertitels", "HeaderVideoQuality": "Video Kwalitet", "MessageErrorPlayingVideo": "Er ging iets mis bij het afspelen van de video.", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/pl.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/pl.json index ef6463110..0a2f010fe 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/pl.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/pl.json @@ -6,6 +6,8 @@ "Administrator": "Administrator", "Password": "Has\u0142o", "DeleteImage": "Usu\u0144 zdj\u0119cie", + "MessageThankYouForSupporting": "Thank you for supporting Media Browser.", + "MessagePleaseSupportMediaBrowser": "Please support Media Browser.", "DeleteImageConfirmation": "Jeste\u015b pewien \u017ce chcesz usun\u0105\u0107 to zdj\u0119cie?", "FileReadCancelled": "Odczytywanie pliku zosta\u0142o anulowane.", "FileNotFound": "Plik nie znaleziony.", @@ -43,6 +45,8 @@ "ButtonHelp": "Help", "ButtonSave": "Zapisz", "HeaderDevices": "Devices", + "ButtonScheduledTasks": "Scheduled tasks", + "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task. It can also be run manually here. To configure the scheduled task, see:", "HeaderSupporterBenefit": "A supporter membership provides additional benefits such as access to premium plugins, internet channel content, and more. {0}Learn more{1}.", "HeaderWelcomeToMediaBrowserServerDashboard": "Welcome to the Media Browser Dashboard", "HeaderWelcomeToMediaBrowserWebClient": "Welcome to the Media Browser Web Client", @@ -54,6 +58,10 @@ "HeaderChannelAccess": "Channel Access", "HeaderDeviceAccess": "Device Access", "HeaderSelectDevices": "Select Devices", + "ButtonCancelItem": "Cancel item", + "ButtonQueueForRetry": "Queue for retry", + "ButtonReenable": "Re-enable", + "SyncJobItemStatusSyncedMarkForRemoval": "Marked for removal", "LabelAbortedByServerShutdown": "(Aborted by server shutdown)", "LabelScheduledTaskLastRan": "Last ran {0}, taking {1}.", "HeaderDeleteTaskTrigger": "Delete Task Trigger", @@ -65,10 +73,13 @@ "LabelFree": "Free", "HeaderSelectAudio": "Select Audio", "HeaderSelectSubtitles": "Select Subtitles", + "ButtonMarkForRemoval": "Mark for removal from device", + "ButtonUnmarkForRemoval": "Unmark for removal from device", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", "LabelUnknownLanguage": "Unknown language", + "MessageConfirmSyncJobItemCancellation": "Are you sure you wish to cancel this item?", "ButtonMute": "Mute", "ButtonUnmute": "Unmute", "ButtonStop": "Stop", @@ -219,6 +230,7 @@ "ButtonResume": "Resume", "HeaderScenes": "Scenes", "HeaderAudioTracks": "Audio Tracks", + "HeaderLibraries": "Libraries", "HeaderSubtitles": "Subtitles", "HeaderVideoQuality": "Video Quality", "MessageErrorPlayingVideo": "There was an error playing the video.", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_BR.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_BR.json index d2eb752a8..bd52e6edb 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_BR.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_BR.json @@ -6,6 +6,8 @@ "Administrator": "Administrador", "Password": "Senha", "DeleteImage": "Excluir Imagem", + "MessageThankYouForSupporting": "Thank you for supporting Media Browser.", + "MessagePleaseSupportMediaBrowser": "Please support Media Browser.", "DeleteImageConfirmation": "Deseja realmente excluir esta imagem?", "FileReadCancelled": "A leitura do arquivo foi cancelada.", "FileNotFound": "Arquivo n\u00e3o encontrado.", @@ -43,6 +45,8 @@ "ButtonHelp": "Ajuda", "ButtonSave": "Salvar", "HeaderDevices": "Dispositivos", + "ButtonScheduledTasks": "Scheduled tasks", + "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task. It can also be run manually here. To configure the scheduled task, see:", "HeaderSupporterBenefit": "A ades\u00e3o de colaborador fornece benef\u00edcios adicionais como acesso a plugins premium, canais de conte\u00fado da internet e mais. {0}Saiba mais{1}.", "HeaderWelcomeToMediaBrowserServerDashboard": "Bem Vindo ao Painel do Media Browser", "HeaderWelcomeToMediaBrowserWebClient": "Bem-vindo ao Cliente Web do Media Browser", @@ -54,6 +58,10 @@ "HeaderChannelAccess": "Acesso ao Canal", "HeaderDeviceAccess": "Acesso ao Dispositivo", "HeaderSelectDevices": "Selecionar Dispositivos", + "ButtonCancelItem": "Cancel item", + "ButtonQueueForRetry": "Queue for retry", + "ButtonReenable": "Re-enable", + "SyncJobItemStatusSyncedMarkForRemoval": "Marked for removal", "LabelAbortedByServerShutdown": "(Abortada pelo desligamento do servidor)", "LabelScheduledTaskLastRan": "\u00daltima execu\u00e7\u00e3o {0}, demorando {1}.", "HeaderDeleteTaskTrigger": "Excluir Disparador da Tarefa", @@ -65,10 +73,13 @@ "LabelFree": "Gr\u00e1tis", "HeaderSelectAudio": "Selecione \u00c1udio", "HeaderSelectSubtitles": "Selecione Legendas", + "ButtonMarkForRemoval": "Mark for removal from device", + "ButtonUnmarkForRemoval": "Unmark for removal from device", "LabelDefaultStream": "(Padr\u00e3o)", "LabelForcedStream": "(For\u00e7ada)", "LabelDefaultForcedStream": "(Padr\u00e3o\/For\u00e7ada)", "LabelUnknownLanguage": "Idioma desconhecido", + "MessageConfirmSyncJobItemCancellation": "Are you sure you wish to cancel this item?", "ButtonMute": "Mudo", "ButtonUnmute": "Remover Mudo", "ButtonStop": "Parar", @@ -219,6 +230,7 @@ "ButtonResume": "Retomar", "HeaderScenes": "Cenas", "HeaderAudioTracks": "Faixas de Audio", + "HeaderLibraries": "Libraries", "HeaderSubtitles": "Legendas", "HeaderVideoQuality": "Qualidade do V\u00eddeo", "MessageErrorPlayingVideo": "Houve um erro na reprodu\u00e7\u00e3o do v\u00eddeo.", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_PT.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_PT.json index 90bc4b508..800d41556 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_PT.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_PT.json @@ -6,6 +6,8 @@ "Administrator": "Administrador", "Password": "Senha", "DeleteImage": "Apagar Imagem", + "MessageThankYouForSupporting": "Thank you for supporting Media Browser.", + "MessagePleaseSupportMediaBrowser": "Please support Media Browser.", "DeleteImageConfirmation": "Tem a certeza que deseja apagar a imagem?", "FileReadCancelled": "A leitura do ficheiro foi cancelada.", "FileNotFound": "Ficheiro n\u00e3o encontrado.", @@ -43,6 +45,8 @@ "ButtonHelp": "Help", "ButtonSave": "Guardar", "HeaderDevices": "Devices", + "ButtonScheduledTasks": "Scheduled tasks", + "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task. It can also be run manually here. To configure the scheduled task, see:", "HeaderSupporterBenefit": "A supporter membership provides additional benefits such as access to premium plugins, internet channel content, and more. {0}Learn more{1}.", "HeaderWelcomeToMediaBrowserServerDashboard": "Welcome to the Media Browser Dashboard", "HeaderWelcomeToMediaBrowserWebClient": "Welcome to the Media Browser Web Client", @@ -54,6 +58,10 @@ "HeaderChannelAccess": "Channel Access", "HeaderDeviceAccess": "Device Access", "HeaderSelectDevices": "Select Devices", + "ButtonCancelItem": "Cancel item", + "ButtonQueueForRetry": "Queue for retry", + "ButtonReenable": "Re-enable", + "SyncJobItemStatusSyncedMarkForRemoval": "Marked for removal", "LabelAbortedByServerShutdown": "(Aborted by server shutdown)", "LabelScheduledTaskLastRan": "Last ran {0}, taking {1}.", "HeaderDeleteTaskTrigger": "Delete Task Trigger", @@ -65,10 +73,13 @@ "LabelFree": "Free", "HeaderSelectAudio": "Select Audio", "HeaderSelectSubtitles": "Select Subtitles", + "ButtonMarkForRemoval": "Mark for removal from device", + "ButtonUnmarkForRemoval": "Unmark for removal from device", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", "LabelUnknownLanguage": "Unknown language", + "MessageConfirmSyncJobItemCancellation": "Are you sure you wish to cancel this item?", "ButtonMute": "Mute", "ButtonUnmute": "Unmute", "ButtonStop": "Parar", @@ -219,6 +230,7 @@ "ButtonResume": "Resume", "HeaderScenes": "Cenas", "HeaderAudioTracks": "Audio Tracks", + "HeaderLibraries": "Libraries", "HeaderSubtitles": "Subtitles", "HeaderVideoQuality": "Video Quality", "MessageErrorPlayingVideo": "There was an error playing the video.", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/ru.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/ru.json index af075a607..5b190421a 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/ru.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/ru.json @@ -6,6 +6,8 @@ "Administrator": "\u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440", "Password": "\u041f\u0430\u0440\u043e\u043b\u044c", "DeleteImage": "\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0440\u0438\u0441\u0443\u043d\u043e\u043a", + "MessageThankYouForSupporting": "\u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u0438\u043c \u0437\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 Media Browser.", + "MessagePleaseSupportMediaBrowser": "\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0442\u0435 Media Browser.", "DeleteImageConfirmation": "\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0439 \u0440\u0438\u0441\u0443\u043d\u043e\u043a?", "FileReadCancelled": "\u0427\u0442\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 \u0431\u044b\u043b\u043e \u043e\u0442\u043c\u0435\u043d\u0435\u043d\u043e.", "FileNotFound": "\u0424\u0430\u0439\u043b \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d.", @@ -19,7 +21,7 @@ "PasswordMatchError": "\u041f\u0430\u0440\u043e\u043b\u044c \u0438 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u043e\u043b\u044f \u0434\u043e\u043b\u0436\u043d\u044b \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0442\u044c", "OptionRelease": "\u041e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a", "OptionBeta": "\u0411\u0435\u0442\u0430-\u0432\u0435\u0440\u0441\u0438\u044f", - "OptionDev": "\u0420\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c\u0430\u044f (\u043d\u0435\u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e)", + "OptionDev": "\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043e\u0447\u043d\u0430\u044f (\u043d\u0435\u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0430\u044f)", "UninstallPluginHeader": "\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u043b\u0430\u0433\u0438\u043d\u0430", "UninstallPluginConfirmation": "\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043b\u0438\u0442\u044c {0}?", "NoPluginConfigurationMessage": "\u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u043b\u0430\u0433\u0438\u043d\u0435 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0438\u043c\u0435\u0435\u0442\u0441\u044f, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c.", @@ -43,6 +45,8 @@ "ButtonHelp": "\u0421\u043f\u0440\u0430\u0432\u043a\u0430", "ButtonSave": "\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c", "HeaderDevices": "\u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430", + "ButtonScheduledTasks": "\u041f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u041f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0443", + "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task. It can also be run manually here. To configure the scheduled task, see:", "HeaderSupporterBenefit": "\u0427\u043b\u0435\u043d\u0441\u0442\u0432\u043e \u0441\u043f\u043e\u043d\u0441\u043e\u0440\u0430 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043e\u0441\u0442\u0443\u043f \u043a\u043e \u043f\u0440\u0435\u043c\u0438\u0430\u043b\u044c\u043d\u044b\u043c \u043f\u043b\u0430\u0433\u0438\u043d\u0430\u043c, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044e \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u043a\u0430\u043d\u0430\u043b\u043e\u0432 \u0438 \u043c\u043d\u043e\u0433\u043e\u043c\u0443 \u0434\u0440\u0443\u0433\u043e\u043c\u0443. {0}\u0423\u0437\u043d\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435{1}.", "HeaderWelcomeToMediaBrowserServerDashboard": "\u041f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u043c \u0432 \u0418\u043d\u0444\u043e\u043f\u0430\u043d\u0435\u043b\u0438 Media Browser", "HeaderWelcomeToMediaBrowserWebClient": "\u0412\u0435\u0431-\u043a\u043b\u0438\u0435\u043d\u0442 Media Browser \u043f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432\u0430\u0441!", @@ -54,6 +58,10 @@ "HeaderChannelAccess": "\u0414\u043e\u0441\u0442\u0443\u043f \u043a \u043a\u0430\u043d\u0430\u043b\u0430\u043c", "HeaderDeviceAccess": "\u0414\u043e\u0441\u0442\u0443\u043f \u0441 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430", "HeaderSelectDevices": "\u0412\u044b\u0431\u043e\u0440 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430", + "ButtonCancelItem": "\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u044d\u043b\u0435\u043c\u0435\u043d\u0442", + "ButtonQueueForRetry": "\u0412 \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0434\u043b\u044f \u043f\u043e\u0432\u0442\u043e\u0440\u0430", + "ButtonReenable": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e", + "SyncJobItemStatusSyncedMarkForRemoval": "\u041e\u0442\u043c\u0435\u0447\u0435\u043d\u043e \u0434\u043b\u044f \u0438\u0437\u044a\u044f\u0442\u0438\u044f", "LabelAbortedByServerShutdown": "(\u041f\u0440\u0435\u0440\u0432\u0430\u043d\u043e \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0430)", "LabelScheduledTaskLastRan": "\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u0430\u0441\u044c {0}, \u0437\u0430\u043d\u044f\u043b\u0430 {1}.", "HeaderDeleteTaskTrigger": "\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430 \u0437\u0430\u0434\u0430\u0447\u0438", @@ -65,10 +73,13 @@ "LabelFree": "\u0411\u0435\u0441\u043f\u043b.", "HeaderSelectAudio": "\u0412\u044b\u0431\u043e\u0440 \u0430\u0443\u0434\u0438\u043e", "HeaderSelectSubtitles": "\u0412\u044b\u0431\u043e\u0440 \u0441\u0443\u0431\u0442\u0438\u0442\u0440\u043e\u0432", + "ButtonMarkForRemoval": "\u041e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u0434\u043b\u044f \u0438\u0437\u044a\u044f\u0442\u0438\u044f \u0441 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430", + "ButtonUnmarkForRemoval": "\u0420\u0430\u0437\u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u0434\u043b\u044f \u0438\u0437\u044a\u044f\u0442\u0438\u044f \u0441 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430", "LabelDefaultStream": "(\u0423\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u0435)", "LabelForcedStream": "(\u0424\u043e\u0440\u0441-\u044b\u0435)", "LabelDefaultForcedStream": "(\u0423\u043c\u043e\u043b\u0447.\/\u0424\u043e\u0440\u0441-\u044b\u0435)", "LabelUnknownLanguage": "\u041d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0439 \u044f\u0437\u044b\u043a", + "MessageConfirmSyncJobItemCancellation": "\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u043e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442?", "ButtonMute": "\u041e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0437\u0432\u0443\u043a", "ButtonUnmute": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0437\u0432\u0443\u043a", "ButtonStop": "\u041e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c", @@ -194,8 +205,8 @@ "LabelVideoCodec": "\u0412\u0438\u0434\u0435\u043e: {0}", "LabelLocalAccessUrl": "\u041b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441: {0}", "LabelRemoteAccessUrl": "\u0412\u043d\u0435\u0448\u043d\u0438\u0439 \u0434\u043e\u0441\u0442\u0443\u043f: {0}", - "LabelRunningOnPort": "\u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 http-\u043f\u043e\u0440\u0442\u0443 {0}.", - "LabelRunningOnPorts": "\u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 http-\u043f\u043e\u0440\u0442\u0443 {0} \u0438 https-\u043f\u043e\u0440\u0442\u0443 {1}.", + "LabelRunningOnPort": "\u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 HTTP-\u043f\u043e\u0440\u0442\u0443 {0}.", + "LabelRunningOnPorts": "\u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 HTTP-\u043f\u043e\u0440\u0442\u0443 {0} \u0438 HTTPS-\u043f\u043e\u0440\u0442\u0443 {1}.", "HeaderLatestFromChannel": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0438\u0437 {0}", "ButtonDownload": "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c", "LabelUnknownLanaguage": "\u041d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0439 \u044f\u0437\u044b\u043a", @@ -219,6 +230,7 @@ "ButtonResume": "\u0412\u043e\u0437\u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c", "HeaderScenes": "\u0421\u0446\u0435\u043d\u044b", "HeaderAudioTracks": "\u0410\u0443\u0434\u0438\u043e\u0434\u043e\u0440\u043e\u0436\u043a\u0438", + "HeaderLibraries": "\u041c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0438", "HeaderSubtitles": "\u0421\u0443\u0431\u0442\u0438\u0442\u0440\u044b", "HeaderVideoQuality": "\u041a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u0438\u0434\u0435\u043e", "MessageErrorPlayingVideo": "\u041f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u0432\u0438\u0434\u0435\u043e.", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/sv.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/sv.json index dd653d515..9f63be2e5 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/sv.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/sv.json @@ -6,6 +6,8 @@ "Administrator": "Administrat\u00f6r", "Password": "L\u00f6senord", "DeleteImage": "Ta bort bild", + "MessageThankYouForSupporting": "Thank you for supporting Media Browser.", + "MessagePleaseSupportMediaBrowser": "Please support Media Browser.", "DeleteImageConfirmation": "\u00c4r du s\u00e4ker p\u00e5 att du vill ta bort den h\u00e4r bilden?", "FileReadCancelled": "Inl\u00e4sningen av filen har avbrutits.", "FileNotFound": "Kan inte hitta filen.", @@ -43,6 +45,8 @@ "ButtonHelp": "Hj\u00e4lp", "ButtonSave": "Spara", "HeaderDevices": "Devices", + "ButtonScheduledTasks": "Scheduled tasks", + "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task. It can also be run manually here. To configure the scheduled task, see:", "HeaderSupporterBenefit": "A supporter membership provides additional benefits such as access to premium plugins, internet channel content, and more. {0}Learn more{1}.", "HeaderWelcomeToMediaBrowserServerDashboard": "V\u00e4lkommen till Media Browsers kontrollpanel", "HeaderWelcomeToMediaBrowserWebClient": "V\u00e4lkommen till Media Browsers webbklient", @@ -54,6 +58,10 @@ "HeaderChannelAccess": "Channel Access", "HeaderDeviceAccess": "Enhets\u00e5tkomst", "HeaderSelectDevices": "V\u00e4lj Enheter", + "ButtonCancelItem": "Cancel item", + "ButtonQueueForRetry": "Queue for retry", + "ButtonReenable": "Re-enable", + "SyncJobItemStatusSyncedMarkForRemoval": "Marked for removal", "LabelAbortedByServerShutdown": "(avbr\u00f6ts eftersom servern st\u00e4ngdes av)", "LabelScheduledTaskLastRan": "Senast k\u00f6rd {0}, tog {1}", "HeaderDeleteTaskTrigger": "Ta bort aktivitetsutl\u00f6sare", @@ -65,10 +73,13 @@ "LabelFree": "Gratis", "HeaderSelectAudio": "V\u00e4lj ljudsp\u00e5r", "HeaderSelectSubtitles": "V\u00e4lj undertexter", + "ButtonMarkForRemoval": "Mark for removal from device", + "ButtonUnmarkForRemoval": "Unmark for removal from device", "LabelDefaultStream": "(f\u00f6rvalda)", "LabelForcedStream": "(tvingade)", "LabelDefaultForcedStream": "(f\u00f6rvalda\/tvingade)", "LabelUnknownLanguage": "Ok\u00e4nt spr\u00e5k", + "MessageConfirmSyncJobItemCancellation": "Are you sure you wish to cancel this item?", "ButtonMute": "Tyst", "ButtonUnmute": "Muting av", "ButtonStop": "Stopp", @@ -219,6 +230,7 @@ "ButtonResume": "\u00c5teruppta", "HeaderScenes": "Kapitel", "HeaderAudioTracks": "Ljudsp\u00e5r", + "HeaderLibraries": "Libraries", "HeaderSubtitles": "Undertexter", "HeaderVideoQuality": "Videokvalitet", "MessageErrorPlayingVideo": "Ett fel uppstod vid uppspelning av videon.", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/tr.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/tr.json index ab8994296..303434ccc 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/tr.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/tr.json @@ -6,6 +6,8 @@ "Administrator": "Y\u00f6netici", "Password": "Sifre", "DeleteImage": "Resmi Sil", + "MessageThankYouForSupporting": "Thank you for supporting Media Browser.", + "MessagePleaseSupportMediaBrowser": "Please support Media Browser.", "DeleteImageConfirmation": "Bu G\u00f6r\u00fcnt\u00fcy\u00fc Silmek \u0130stedi\u011finizden Eminmisiniz?", "FileReadCancelled": "Dosya Okuma \u0130ptal Edildi", "FileNotFound": "Dosya Bulunamad\u0131", @@ -43,6 +45,8 @@ "ButtonHelp": "Help", "ButtonSave": "Kay\u0131t", "HeaderDevices": "Devices", + "ButtonScheduledTasks": "Scheduled tasks", + "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task. It can also be run manually here. To configure the scheduled task, see:", "HeaderSupporterBenefit": "A supporter membership provides additional benefits such as access to premium plugins, internet channel content, and more. {0}Learn more{1}.", "HeaderWelcomeToMediaBrowserServerDashboard": "Welcome to the Media Browser Dashboard", "HeaderWelcomeToMediaBrowserWebClient": "Welcome to the Media Browser Web Client", @@ -54,6 +58,10 @@ "HeaderChannelAccess": "Channel Access", "HeaderDeviceAccess": "Device Access", "HeaderSelectDevices": "Select Devices", + "ButtonCancelItem": "Cancel item", + "ButtonQueueForRetry": "Queue for retry", + "ButtonReenable": "Re-enable", + "SyncJobItemStatusSyncedMarkForRemoval": "Marked for removal", "LabelAbortedByServerShutdown": "(Aborted by server shutdown)", "LabelScheduledTaskLastRan": "Last ran {0}, taking {1}.", "HeaderDeleteTaskTrigger": "Delete Task Trigger", @@ -65,10 +73,13 @@ "LabelFree": "Free", "HeaderSelectAudio": "Select Audio", "HeaderSelectSubtitles": "Select Subtitles", + "ButtonMarkForRemoval": "Mark for removal from device", + "ButtonUnmarkForRemoval": "Unmark for removal from device", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", "LabelUnknownLanguage": "Unknown language", + "MessageConfirmSyncJobItemCancellation": "Are you sure you wish to cancel this item?", "ButtonMute": "Sessiz", "ButtonUnmute": "Unmute", "ButtonStop": "Durdur", @@ -219,6 +230,7 @@ "ButtonResume": "Resume", "HeaderScenes": "Diziler", "HeaderAudioTracks": "Audio Tracks", + "HeaderLibraries": "Libraries", "HeaderSubtitles": "Subtitles", "HeaderVideoQuality": "Video Quality", "MessageErrorPlayingVideo": "There was an error playing the video.", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/uk.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/uk.json index b99e17f7f..60aacc130 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/uk.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/uk.json @@ -6,6 +6,8 @@ "Administrator": "Administrator", "Password": "Password", "DeleteImage": "Delete Image", + "MessageThankYouForSupporting": "Thank you for supporting Media Browser.", + "MessagePleaseSupportMediaBrowser": "Please support Media Browser.", "DeleteImageConfirmation": "Are you sure you wish to delete this image?", "FileReadCancelled": "The file read has been canceled.", "FileNotFound": "File not found.", @@ -43,6 +45,8 @@ "ButtonHelp": "Help", "ButtonSave": "Save", "HeaderDevices": "Devices", + "ButtonScheduledTasks": "Scheduled tasks", + "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task. It can also be run manually here. To configure the scheduled task, see:", "HeaderSupporterBenefit": "A supporter membership provides additional benefits such as access to premium plugins, internet channel content, and more. {0}Learn more{1}.", "HeaderWelcomeToMediaBrowserServerDashboard": "Welcome to the Media Browser Dashboard", "HeaderWelcomeToMediaBrowserWebClient": "Welcome to the Media Browser Web Client", @@ -54,6 +58,10 @@ "HeaderChannelAccess": "Channel Access", "HeaderDeviceAccess": "Device Access", "HeaderSelectDevices": "Select Devices", + "ButtonCancelItem": "Cancel item", + "ButtonQueueForRetry": "Queue for retry", + "ButtonReenable": "Re-enable", + "SyncJobItemStatusSyncedMarkForRemoval": "Marked for removal", "LabelAbortedByServerShutdown": "(Aborted by server shutdown)", "LabelScheduledTaskLastRan": "Last ran {0}, taking {1}.", "HeaderDeleteTaskTrigger": "Delete Task Trigger", @@ -65,10 +73,13 @@ "LabelFree": "Free", "HeaderSelectAudio": "Select Audio", "HeaderSelectSubtitles": "Select Subtitles", + "ButtonMarkForRemoval": "Mark for removal from device", + "ButtonUnmarkForRemoval": "Unmark for removal from device", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", "LabelUnknownLanguage": "Unknown language", + "MessageConfirmSyncJobItemCancellation": "Are you sure you wish to cancel this item?", "ButtonMute": "Mute", "ButtonUnmute": "Unmute", "ButtonStop": "Stop", @@ -219,6 +230,7 @@ "ButtonResume": "Resume", "HeaderScenes": "Scenes", "HeaderAudioTracks": "Audio Tracks", + "HeaderLibraries": "Libraries", "HeaderSubtitles": "Subtitles", "HeaderVideoQuality": "Video Quality", "MessageErrorPlayingVideo": "There was an error playing the video.", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/vi.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/vi.json index 68b9da974..862dc731e 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/vi.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/vi.json @@ -6,6 +6,8 @@ "Administrator": "Ng\u01b0\u1eddi qu\u1ea3n tr\u1ecb", "Password": "M\u1eadt kh\u1ea9u", "DeleteImage": "X\u00f3a h\u00ecnh \u1ea3nh", + "MessageThankYouForSupporting": "Thank you for supporting Media Browser.", + "MessagePleaseSupportMediaBrowser": "Please support Media Browser.", "DeleteImageConfirmation": "B\u1ea1n c\u00f3 ch\u1eafc mu\u1ed1n x\u00f3a h\u00ecnh \u1ea3nh n\u00e0y?", "FileReadCancelled": "T\u1ec7p tin \u0111\u1ecdc \u0111\u00e3 b\u1ecb h\u1ee7y.", "FileNotFound": "Kh\u00f4ng t\u00ecm th\u1ea5y t\u1ec7p tin.", @@ -43,6 +45,8 @@ "ButtonHelp": "Help", "ButtonSave": "L\u01b0u", "HeaderDevices": "Devices", + "ButtonScheduledTasks": "Scheduled tasks", + "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task. It can also be run manually here. To configure the scheduled task, see:", "HeaderSupporterBenefit": "A supporter membership provides additional benefits such as access to premium plugins, internet channel content, and more. {0}Learn more{1}.", "HeaderWelcomeToMediaBrowserServerDashboard": "Welcome to the Media Browser Dashboard", "HeaderWelcomeToMediaBrowserWebClient": "Welcome to the Media Browser Web Client", @@ -54,6 +58,10 @@ "HeaderChannelAccess": "Channel Access", "HeaderDeviceAccess": "Device Access", "HeaderSelectDevices": "Select Devices", + "ButtonCancelItem": "Cancel item", + "ButtonQueueForRetry": "Queue for retry", + "ButtonReenable": "Re-enable", + "SyncJobItemStatusSyncedMarkForRemoval": "Marked for removal", "LabelAbortedByServerShutdown": "(Aborted by server shutdown)", "LabelScheduledTaskLastRan": "Last ran {0}, taking {1}.", "HeaderDeleteTaskTrigger": "Delete Task Trigger", @@ -65,10 +73,13 @@ "LabelFree": "Free", "HeaderSelectAudio": "Select Audio", "HeaderSelectSubtitles": "Select Subtitles", + "ButtonMarkForRemoval": "Mark for removal from device", + "ButtonUnmarkForRemoval": "Unmark for removal from device", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", "LabelUnknownLanguage": "Unknown language", + "MessageConfirmSyncJobItemCancellation": "Are you sure you wish to cancel this item?", "ButtonMute": "Mute", "ButtonUnmute": "Unmute", "ButtonStop": "Stop", @@ -219,6 +230,7 @@ "ButtonResume": "Resume", "HeaderScenes": "Scenes", "HeaderAudioTracks": "Audio Tracks", + "HeaderLibraries": "Libraries", "HeaderSubtitles": "Subtitles", "HeaderVideoQuality": "Video Quality", "MessageErrorPlayingVideo": "There was an error playing the video.", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/zh_CN.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/zh_CN.json index 10685cc0f..56ad8b3ef 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/zh_CN.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/zh_CN.json @@ -6,6 +6,8 @@ "Administrator": "\u7ba1\u7406\u5458", "Password": "\u5bc6\u7801", "DeleteImage": "\u5220\u9664\u56fe\u50cf", + "MessageThankYouForSupporting": "Thank you for supporting Media Browser.", + "MessagePleaseSupportMediaBrowser": "Please support Media Browser.", "DeleteImageConfirmation": "\u4f60\u786e\u5b9a\u8981\u5220\u9664\u6b64\u56fe\u50cf\uff1f", "FileReadCancelled": "\u6587\u4ef6\u8bfb\u53d6\u5df2\u88ab\u53d6\u6d88\u3002", "FileNotFound": "\u672a\u627e\u5230\u6587\u4ef6\u3002", @@ -43,6 +45,8 @@ "ButtonHelp": "Help", "ButtonSave": "\u50a8\u5b58", "HeaderDevices": "Devices", + "ButtonScheduledTasks": "Scheduled tasks", + "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task. It can also be run manually here. To configure the scheduled task, see:", "HeaderSupporterBenefit": "A supporter membership provides additional benefits such as access to premium plugins, internet channel content, and more. {0}Learn more{1}.", "HeaderWelcomeToMediaBrowserServerDashboard": "Welcome to the Media Browser Dashboard", "HeaderWelcomeToMediaBrowserWebClient": "\u6b22\u8fce\u8fdb\u5165Media Browser Web\u5ba2\u6237\u7aef", @@ -54,6 +58,10 @@ "HeaderChannelAccess": "Channel Access", "HeaderDeviceAccess": "Device Access", "HeaderSelectDevices": "Select Devices", + "ButtonCancelItem": "Cancel item", + "ButtonQueueForRetry": "Queue for retry", + "ButtonReenable": "Re-enable", + "SyncJobItemStatusSyncedMarkForRemoval": "Marked for removal", "LabelAbortedByServerShutdown": "(\u56e0\u4e3a\u670d\u52a1\u5668\u5173\u95ed\u88ab\u4e2d\u6b62)", "LabelScheduledTaskLastRan": "\u6700\u540e\u8fd0\u884c {0}, \u82b1\u8d39\u65f6\u95f4 {1}.", "HeaderDeleteTaskTrigger": "\u5220\u9664\u4efb\u52a1\u89e6\u53d1\u6761\u4ef6", @@ -65,10 +73,13 @@ "LabelFree": "\u514d\u8d39", "HeaderSelectAudio": "\u9009\u62e9\u97f3\u9891", "HeaderSelectSubtitles": "\u9009\u62e9\u5b57\u5e55", + "ButtonMarkForRemoval": "Mark for removal from device", + "ButtonUnmarkForRemoval": "Unmark for removal from device", "LabelDefaultStream": "(\u9ed8\u8ba4)", "LabelForcedStream": "(\u5f3a\u5236)", "LabelDefaultForcedStream": "(\u9ed8\u8ba4\/\u5f3a\u5236)", "LabelUnknownLanguage": "\u672a\u77e5\u8bed\u8a00", + "MessageConfirmSyncJobItemCancellation": "Are you sure you wish to cancel this item?", "ButtonMute": "\u9759\u97f3", "ButtonUnmute": "\u53d6\u6d88\u9759\u97f3", "ButtonStop": "\u505c\u6b62", @@ -219,6 +230,7 @@ "ButtonResume": "\u6062\u590d\u64ad\u653e", "HeaderScenes": "\u573a\u666f", "HeaderAudioTracks": "\u97f3\u8f68", + "HeaderLibraries": "Libraries", "HeaderSubtitles": "\u5b57\u5e55", "HeaderVideoQuality": "\u89c6\u9891\u8d28\u91cf", "MessageErrorPlayingVideo": "\u64ad\u653e\u89c6\u9891\u51fa\u73b0\u9519\u8bef\u3002", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/zh_TW.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/zh_TW.json index 0c35884cd..5a18d4f7f 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/zh_TW.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/zh_TW.json @@ -6,6 +6,8 @@ "Administrator": "\u7ba1\u7406\u54e1", "Password": "\u5bc6\u78bc", "DeleteImage": "\u522a\u9664\u5716\u50cf", + "MessageThankYouForSupporting": "Thank you for supporting Media Browser.", + "MessagePleaseSupportMediaBrowser": "Please support Media Browser.", "DeleteImageConfirmation": "\u4f60\u78ba\u5b9a\u8981\u522a\u9664\u9019\u5f35\u5716\u50cf\uff1f", "FileReadCancelled": "The file read has been canceled.", "FileNotFound": "\u672a\u627e\u5230\u6a94\u6848\u3002", @@ -43,6 +45,8 @@ "ButtonHelp": "Help", "ButtonSave": "\u4fdd\u5b58", "HeaderDevices": "Devices", + "ButtonScheduledTasks": "Scheduled tasks", + "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task. It can also be run manually here. To configure the scheduled task, see:", "HeaderSupporterBenefit": "A supporter membership provides additional benefits such as access to premium plugins, internet channel content, and more. {0}Learn more{1}.", "HeaderWelcomeToMediaBrowserServerDashboard": "Welcome to the Media Browser Dashboard", "HeaderWelcomeToMediaBrowserWebClient": "Welcome to the Media Browser Web Client", @@ -54,6 +58,10 @@ "HeaderChannelAccess": "Channel Access", "HeaderDeviceAccess": "Device Access", "HeaderSelectDevices": "Select Devices", + "ButtonCancelItem": "Cancel item", + "ButtonQueueForRetry": "Queue for retry", + "ButtonReenable": "Re-enable", + "SyncJobItemStatusSyncedMarkForRemoval": "Marked for removal", "LabelAbortedByServerShutdown": "(Aborted by server shutdown)", "LabelScheduledTaskLastRan": "Last ran {0}, taking {1}.", "HeaderDeleteTaskTrigger": "Delete Task Trigger", @@ -65,10 +73,13 @@ "LabelFree": "Free", "HeaderSelectAudio": "Select Audio", "HeaderSelectSubtitles": "Select Subtitles", + "ButtonMarkForRemoval": "Mark for removal from device", + "ButtonUnmarkForRemoval": "Unmark for removal from device", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", "LabelUnknownLanguage": "Unknown language", + "MessageConfirmSyncJobItemCancellation": "Are you sure you wish to cancel this item?", "ButtonMute": "Mute", "ButtonUnmute": "Unmute", "ButtonStop": "Stop", @@ -219,6 +230,7 @@ "ButtonResume": "Resume", "HeaderScenes": "\u5834\u666f", "HeaderAudioTracks": "Audio Tracks", + "HeaderLibraries": "Libraries", "HeaderSubtitles": "Subtitles", "HeaderVideoQuality": "Video Quality", "MessageErrorPlayingVideo": "There was an error playing the video.", diff --git a/MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs b/MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs index 79b92ef67..173b0e5ce 100644 --- a/MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs +++ b/MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs @@ -359,8 +359,7 @@ namespace MediaBrowser.Server.Implementations.Localization return new List { new LocalizatonOption{ Name="Arabic", Value="ar"}, - new LocalizatonOption{ Name="English (United Kingdom)", Value="en-GB"}, - new LocalizatonOption{ Name="English (United States)", Value="en-us"}, + new LocalizatonOption{ Name="Bulgarian (Bulgaria)", Value="bg-BG"}, new LocalizatonOption{ Name="Catalan", Value="ca"}, new LocalizatonOption{ Name="Chinese Simplified", Value="zh-CN"}, new LocalizatonOption{ Name="Chinese Traditional", Value="zh-TW"}, @@ -368,6 +367,8 @@ namespace MediaBrowser.Server.Implementations.Localization new LocalizatonOption{ Name="Czech", Value="cs"}, new LocalizatonOption{ Name="Danish", Value="da"}, new LocalizatonOption{ Name="Dutch", Value="nl"}, + new LocalizatonOption{ Name="English (United Kingdom)", Value="en-GB"}, + new LocalizatonOption{ Name="English (United States)", Value="en-us"}, new LocalizatonOption{ Name="Finnish", Value="fi"}, new LocalizatonOption{ Name="French", Value="fr"}, new LocalizatonOption{ Name="German", Value="de"}, @@ -384,6 +385,7 @@ namespace MediaBrowser.Server.Implementations.Localization new LocalizatonOption{ Name="Spanish (Mexico)", Value="es-MX"}, new LocalizatonOption{ Name="Swedish", Value="sv"}, new LocalizatonOption{ Name="Turkish", Value="tr"}, + new LocalizatonOption{ Name="Ukrainian", Value="uk"}, new LocalizatonOption{ Name="Vietnamese", Value="vi"} }.OrderBy(i => i.Name); diff --git a/MediaBrowser.Server.Implementations/Localization/Server/ar.json b/MediaBrowser.Server.Implementations/Localization/Server/ar.json index 1032d9601..73f3d31f1 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/ar.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/ar.json @@ -46,6 +46,8 @@ "OptionEnableWebClientResourceMinification": "Enable web client resource minification", "LabelDashboardSourcePath": "Web client source path:", "LabelDashboardSourcePathHelp": "If running the server from source, specify the path to the dashboard-ui folder. All web client files will be served from this location.", + "ButtonConvertMedia": "Convert media", + "ButtonOrganize": "Organize", "ButtonOk": "\u0645\u0648\u0627\u0641\u0642", "ButtonCancel": "\u0627\u0644\u063a\u0627\u0621", "ButtonNew": "New", @@ -79,6 +81,7 @@ "ReferToMediaLibraryWiki": "\u0627\u0644\u0631\u062c\u0648\u0639 \u0627\u0644\u0649 wiki \u0644\u0645\u0643\u062a\u0628\u0629 \u0627\u0644\u0648\u0633\u0627\u0626\u0637", "LabelCountry": "\u0627\u0644\u0628\u0644\u062f:", "LabelLanguage": "\u0627\u0644\u0644\u063a\u0629:", + "ButtonJoinTheDevelopmentTeam": "Join the Development Team", "HeaderPreferredMetadataLanguage": "\u0627\u0644\u0644\u063a\u0629 \u0627\u0644\u0645\u0641\u0636\u0644\u0629 \u0644\u0648\u0627\u0635\u0641\u0627\u062a \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a:", "LabelSaveLocalMetadata": "\u062d\u0641\u0638 \u0627\u0644\u0627\u0639\u0645\u0627\u0644 \u0627\u0644\u0641\u0646\u064a\u0629 \u0648\u0648\u0627\u0635\u0641\u0627\u062a \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0641\u0649 \u0645\u062c\u0644\u062f\u0627\u062a \u0627\u0644\u0648\u0633\u0627\u0626\u0637", "LabelSaveLocalMetadataHelp": "\u0628\u062d\u0642\u0638 \u0627\u0644\u0627\u0639\u0645\u0627\u0644 \u0627\u0644\u0641\u0646\u064a\u0629 \u0648\u0648\u0627\u0635\u0641\u0627\u062a \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0645\u0628\u0627\u0634\u0631\u0629 \u0641\u0649 \u0645\u062c\u0644\u062f\u0627\u062a \u0627\u0644\u0648\u0633\u0627\u0626\u0637 \u0633\u064a\u0633\u0647\u0644 \u0639\u0644\u064a\u0643 \u0627\u0644\u0648\u0635\u0648\u0644 \u0648\u0639\u0645\u0644 \u0627\u0644\u062a\u0639\u062f\u064a\u0644\u0627\u0627\u062a \u0639\u0644\u064a\u0647\u0627.", @@ -97,6 +100,7 @@ "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", "LabelUnairedMissingEpisodesWithinSeasons": "Display unaired episodes within seasons", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/bg_BG.json b/MediaBrowser.Server.Implementations/Localization/Server/bg_BG.json new file mode 100644 index 000000000..5f6754776 --- /dev/null +++ b/MediaBrowser.Server.Implementations/Localization/Server/bg_BG.json @@ -0,0 +1,1346 @@ +{ + "LabelExit": "\u0418\u0437\u043b\u0435\u0437", + "LabelVisitCommunity": "\u041f\u043e\u0441\u0435\u0442\u0438 \u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e\u0442\u043e", + "LabelGithub": "Github", + "LabelSwagger": "Swagger", + "LabelStandard": "\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e", + "LabelApiDocumentation": "API \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f", + "LabelDeveloperResources": "\u0420\u0435\u0441\u0443\u0440\u0441\u0438 \u0437\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u0446\u0438", + "LabelBrowseLibrary": "\u0420\u0430\u0437\u0433\u043b\u0435\u0434\u0430\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u0442\u0430", + "LabelConfigureMediaBrowser": "\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u0439 Media Browser", + "LabelOpenLibraryViewer": "\u041e\u0442\u0432\u043e\u0440\u0438 \u043f\u0440\u0435\u0433\u043b\u0435\u0434 \u043d\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u0442\u0430", + "LabelRestartServer": "\u0420\u0435\u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u0439 \u0441\u044a\u0440\u0432\u044a\u0440\u0430", + "LabelShowLogWindow": "\u041f\u043e\u043a\u0430\u0436\u0438 \u043b\u043e\u0433\u043e\u0432\u0438\u044f \u043f\u0440\u043e\u0437\u043e\u0440\u0435\u0446", + "LabelPrevious": "\u041f\u0440\u0435\u0434\u0438\u0448\u0435\u043d", + "LabelFinish": "\u041a\u0440\u0430\u0439", + "LabelNext": "\u0421\u043b\u0435\u0434\u0432\u0430\u0449", + "LabelYoureDone": "\u0413\u043e\u0442\u043e\u0432\u0438 \u0441\u0442\u0435!", + "WelcomeToMediaBrowser": "\u0414\u043e\u0431\u0440\u0435 \u0434\u043e\u0448\u043b\u0438 \u0432 Media Browser!", + "TitleMediaBrowser": "Media Browser", + "ThisWizardWillGuideYou": "\u0422\u043e\u0437\u0438 \u043c\u0430\u0433\u044c\u043e\u0441\u043d\u0438\u043a \u0449\u0435 \u0432\u0438 \u043d\u0430\u043f\u044a\u0442\u0441\u0442\u0432\u0430 \u043f\u0440\u0435\u0437 \u043f\u0440\u043e\u0446\u0435\u0441\u0430 \u043d\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f. \u0417\u0430 \u0434\u0430 \u0437\u0430\u043f\u043e\u0447\u043d\u0435\u0442\u0435, \u043c\u043e\u043b\u044f \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u043d\u0438\u044f \u043e\u0442 \u0432\u0430\u0441 \u0435\u0437\u0438\u043a.", + "TellUsAboutYourself": "\u0420\u0430\u0437\u043a\u0430\u0436\u0435\u0442\u0435 \u0437\u0430 \u0441\u0435\u0431\u0435 \u0441\u0438", + "ButtonQuickStartGuide": "\u0420\u044a\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u0437\u0430 \u0431\u044a\u0440\u0437\u043e \u0437\u0430\u043f\u043e\u0447\u0432\u0430\u043d\u0435", + "LabelYourFirstName": "\u041f\u044a\u0440\u0432\u043e\u0442\u043e \u0432\u0438 \u0438\u043c\u0435:", + "MoreUsersCanBeAddedLater": "\u041f\u043e\u0432\u0435\u0447\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u0431\u044a\u0434\u0430\u0442 \u0434\u043e\u0431\u0430\u0432\u0435\u043d\u0438 \u043f\u043e-\u043a\u044a\u0441\u043d\u043e \u043e\u0442 \u0433\u043b\u0430\u0432\u043d\u0438\u044f \u043f\u0430\u043d\u0435\u043b.", + "UserProfilesIntro": "Media Browser \u0432\u043a\u043b\u044e\u0447\u0432\u0430 \u0432\u0433\u0440\u0430\u0434\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0440\u044a\u0436\u043a\u0430 \u043d\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u0441\u043a\u0438 \u043f\u0440\u043e\u0444\u0438\u043b\u0438, \u043a\u043e\u0438\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0432\u0430\u0442 \u043d\u0430 \u0432\u0441\u0435\u043a\u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b \u0434\u0430 \u0438\u043c\u0430\u0442 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043d\u0430 \u0434\u0438\u0441\u043f\u043b\u0435\u044f, \u0441\u044a\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043d\u0430 \u043f\u0443\u0441\u043a\u0430\u043d\u0435 \u0438 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u0441\u043a\u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b.", + "LabelWindowsService": "Windows Service", + "AWindowsServiceHasBeenInstalled": "Windows Service \u0431\u0435\u0448\u0435 \u0438\u043d\u0441\u0442\u0430\u043b\u0438\u0440\u0430\u043d.", + "WindowsServiceIntro1": "Media Browser Server \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0438 \u043a\u0430\u0442\u043e \u0434\u0435\u0441\u043a\u0442\u043e\u043f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0441 tray \u0438\u043a\u043e\u043d\u0430, \u043d\u043e \u0430\u043a\u043e \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u0442\u0435 \u0434\u0430 \u0433\u043e \u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u0442\u0435 \u043a\u0430\u0442\u043e \u0443\u0441\u043b\u0443\u0433\u0430 \u0432\u044a\u0432 \u0444\u043e\u043d\u043e\u0432 \u0440\u0435\u0436\u0438\u043c, \u0442\u043e\u0439 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430 \u043e\u0442 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043d\u0438\u044f \u043f\u0430\u043d\u0435\u043b \u043d\u0430 Windows Services.", + "WindowsServiceIntro2": "If using the windows service, please note that it cannot be run at the same time as the tray icon, so you'll need to exit the tray in order to run the service. The service will also need to be configured with administrative privileges via the control panel. Please note that at this time the service is unable to self-update, so new versions will require manual interaction.", + "WizardCompleted": "That's all we need for now. Media Browser has begun collecting information about your media library. Check out some of our apps, and then click Finish<\/b> to view the Server Dashboard<\/b>.", + "LabelConfigureSettings": "Configure settings", + "LabelEnableVideoImageExtraction": "Enable video image extraction", + "VideoImageExtractionHelp": "For videos that don't already have images, and that we're unable to find internet images for. This will add some additional time to the initial library scan but will result in a more pleasing presentation.", + "LabelEnableChapterImageExtractionForMovies": "Extract chapter image extraction for Movies", + "LabelChapterImageExtractionForMoviesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs as a nightly scheduled task at 4am, although this is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", + "LabelEnableAutomaticPortMapping": "Enable automatic port mapping", + "LabelEnableAutomaticPortMappingHelp": "UPnP allows automated router configuration for easy remote access. This may not work with some router models.", + "HeaderTermsOfService": "Media Browser Terms of Service", + "MessagePleaseAcceptTermsOfService": "Please accept the terms of service and privacy policy before continuing.", + "OptionIAcceptTermsOfService": "I accept the terms of service", + "ButtonPrivacyPolicy": "Privacy policy", + "ButtonTermsOfService": "Terms of Service", + "HeaderDeveloperOptions": "Developer Options", + "OptionEnableWebClientResponseCache": "Enable web client response caching", + "OptionDisableForDevelopmentHelp": "Configure these as needed for web client development purposes.", + "OptionEnableWebClientResourceMinification": "Enable web client resource minification", + "LabelDashboardSourcePath": "Web client source path:", + "LabelDashboardSourcePathHelp": "If running the server from source, specify the path to the dashboard-ui folder. All web client files will be served from this location.", + "ButtonConvertMedia": "Convert media", + "ButtonOrganize": "Organize", + "ButtonOk": "Ok", + "ButtonCancel": "Cancel", + "ButtonNew": "New", + "HeaderTV": "TV", + "HeaderAudio": "Audio", + "HeaderVideo": "Video", + "HeaderPaths": "Paths", + "TitleNotifications": "Notifications", + "ButtonDonateWithPayPal": "Donate with PayPal", + "OptionDetectArchiveFilesAsMedia": "Detect archive files as media", + "OptionDetectArchiveFilesAsMediaHelp": "If enabled, files with .rar and .zip extensions will be detected as media files.", + "LabelEnterConnectUserName": "User name or email:", + "LabelEnterConnectUserNameHelp": "This is your Media Browser online account user name or password.", + "HeaderSyncJobInfo": "Sync Job", + "FolderTypeMixed": "Mixed content", + "FolderTypeMovies": "Movies", + "FolderTypeMusic": "Music", + "FolderTypeAdultVideos": "Adult videos", + "FolderTypePhotos": "Photos", + "FolderTypeMusicVideos": "Music videos", + "FolderTypeHomeVideos": "Home videos", + "FolderTypeGames": "Games", + "FolderTypeBooks": "Books", + "FolderTypeTvShows": "TV", + "FolderTypeInherit": "Inherit", + "LabelContentType": "Content type:", + "TitleScheduledTasks": "Scheduled Tasks", + "HeaderSetupLibrary": "Setup your media library", + "ButtonAddMediaFolder": "Add media folder", + "LabelFolderType": "Folder type:", + "ReferToMediaLibraryWiki": "Refer to the media library wiki.", + "LabelCountry": "Country:", + "LabelLanguage": "Language:", + "ButtonJoinTheDevelopmentTeam": "Join the Development Team", + "HeaderPreferredMetadataLanguage": "Preferred metadata language:", + "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": "Media Browser can download information about your media to enable rich presentations.", + "TabPreferences": "Preferences", + "TabPassword": "Password", + "TabLibraryAccess": "Library Access", + "TabAccess": "Access", + "TabImage": "Image", + "TabProfile": "Profile", + "TabMetadata": "Metadata", + "TabImages": "Images", + "TabNotifications": "Notifications", + "TabCollectionTitles": "Titles", + "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", + "LabelUnairedMissingEpisodesWithinSeasons": "Display unaired episodes within seasons", + "HeaderVideoPlaybackSettings": "Video Playback Settings", + "HeaderPlaybackSettings": "Playback Settings", + "LabelAudioLanguagePreference": "Audio language preference:", + "LabelSubtitleLanguagePreference": "Subtitle language preference:", + "OptionDefaultSubtitles": "Default", + "OptionOnlyForcedSubtitles": "Only forced subtitles", + "OptionAlwaysPlaySubtitles": "Always play subtitles", + "OptionNoSubtitles": "No Subtitles", + "OptionDefaultSubtitlesHelp": "Subtitles matching the language preference will be loaded when the audio is in a foreign language.", + "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", + "ButtonAddLocalUser": "Add Local User", + "ButtonInviteUser": "Invite User", + "ButtonSave": "Save", + "ButtonResetPassword": "Reset Password", + "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", + "LabelDropImageHere": "Drop image here", + "ImageUploadAspectRatioHelp": "1:1 Aspect Ratio Recommended. JPG\/PNG only.", + "MessageNothingHere": "Nothing here.", + "MessagePleaseEnsureInternetMetadata": "Please ensure downloading of internet metadata is enabled.", + "TabSuggested": "Suggested", + "TabLatest": "Latest", + "TabUpcoming": "Upcoming", + "TabShows": "Shows", + "TabEpisodes": "Episodes", + "TabGenres": "Genres", + "TabPeople": "People", + "TabNetworks": "Networks", + "HeaderUsers": "Users", + "HeaderFilters": "Filters:", + "ButtonFilter": "Filter", + "OptionFavorite": "Favorites", + "OptionLikes": "Likes", + "OptionDislikes": "Dislikes", + "OptionActors": "Actors", + "OptionGuestStars": "Guest Stars", + "OptionDirectors": "Directors", + "OptionWriters": "Writers", + "OptionProducers": "Producers", + "HeaderResume": "Resume", + "HeaderNextUp": "Next Up", + "NoNextUpItemsMessage": "None found. Start watching your shows!", + "HeaderLatestEpisodes": "Latest Episodes", + "HeaderPersonTypes": "Person Types:", + "TabSongs": "Songs", + "TabAlbums": "Albums", + "TabArtists": "Artists", + "TabAlbumArtists": "Album Artists", + "TabMusicVideos": "Music Videos", + "ButtonSort": "Sort", + "HeaderSortBy": "Sort By:", + "HeaderSortOrder": "Sort Order:", + "OptionPlayed": "Played", + "OptionUnplayed": "Unplayed", + "OptionAscending": "Ascending", + "OptionDescending": "Descending", + "OptionRuntime": "Runtime", + "OptionReleaseDate": "Release Date", + "OptionPlayCount": "Play Count", + "OptionDatePlayed": "Date Played", + "OptionDateAdded": "Date Added", + "OptionAlbumArtist": "Album Artist", + "OptionArtist": "Artist", + "OptionAlbum": "Album", + "OptionTrackName": "Track Name", + "OptionCommunityRating": "Community Rating", + "OptionNameSort": "Name", + "OptionFolderSort": "Folders", + "OptionBudget": "Budget", + "OptionRevenue": "Revenue", + "OptionPoster": "Poster", + "OptionPosterCard": "Poster card", + "OptionBackdrop": "Backdrop", + "OptionTimeline": "Timeline", + "OptionThumb": "Thumb", + "OptionThumbCard": "Thumb card", + "OptionBanner": "Banner", + "OptionCriticRating": "Critic Rating", + "OptionVideoBitrate": "Video Bitrate", + "OptionResumable": "Resumable", + "ScheduledTasksHelp": "Click a task to adjust its schedule.", + "ScheduledTasksTitle": "Scheduled Tasks", + "TabMyPlugins": "My Plugins", + "TabCatalog": "Catalog", + "PluginsTitle": "Plugins", + "HeaderAutomaticUpdates": "Automatic Updates", + "HeaderNowPlaying": "Now Playing", + "HeaderLatestAlbums": "Latest Albums", + "HeaderLatestSongs": "Latest Songs", + "HeaderRecentlyPlayed": "Recently Played", + "HeaderFrequentlyPlayed": "Frequently Played", + "DevBuildWarning": "Dev builds are the bleeding edge. Released often, these build have not been tested. The application may crash and entire features may not work at all.", + "LabelVideoType": "Video Type:", + "OptionBluray": "Bluray", + "OptionDvd": "Dvd", + "OptionIso": "Iso", + "Option3D": "3D", + "LabelFeatures": "Features:", + "LabelService": "Service:", + "LabelStatus": "Status:", + "LabelVersion": "Version:", + "LabelLastResult": "Last result:", + "OptionHasSubtitles": "Subtitles", + "OptionHasTrailer": "Trailer", + "OptionHasThemeSong": "Theme Song", + "OptionHasThemeVideo": "Theme Video", + "TabMovies": "Movies", + "TabStudios": "Studios", + "TabTrailers": "Trailers", + "LabelArtists": "Artists:", + "LabelArtistsHelp": "Separate multiple using ;", + "HeaderLatestMovies": "Latest Movies", + "HeaderLatestTrailers": "Latest Trailers", + "OptionHasSpecialFeatures": "Special Features", + "OptionImdbRating": "IMDb Rating", + "OptionParentalRating": "Parental Rating", + "OptionPremiereDate": "Premiere Date", + "TabBasic": "Basic", + "TabAdvanced": "Advanced", + "HeaderStatus": "Status", + "OptionContinuing": "Continuing", + "OptionEnded": "Ended", + "HeaderAirDays": "Air Days", + "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", + "OptionMissingOverview": "Missing Overview", + "OptionFileMetadataYearMismatch": "File\/Metadata Years Mismatched", + "TabGeneral": "General", + "TitleSupport": "Support", + "TabLog": "Log", + "TabAbout": "About", + "TabSupporterKey": "Supporter Key", + "TabBecomeSupporter": "Become a Supporter", + "MediaBrowserHasCommunity": "Media Browser has a thriving community of users and contributors.", + "CheckoutKnowledgeBase": "Check out our knowledge base to help you get the most out of Media Browser.", + "SearchKnowledgeBase": "Search the Knowledge Base", + "VisitTheCommunity": "Visit the Community", + "VisitMediaBrowserWebsite": "Visit the Media Browser Web Site", + "VisitMediaBrowserWebsiteLong": "Visit the Media Browser Web site to catch the latest news and keep up with the developer blog.", + "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", + "OptionDisableUserHelp": "If disabled the server will not allow any connections from this user. Existing connections will be abruptly terminated.", + "HeaderAdvancedControl": "Advanced Control", + "LabelName": "Name:", + "ButtonHelp": "Help", + "OptionAllowUserToManageServer": "Allow this user to manage the server", + "HeaderFeatureAccess": "Feature Access", + "OptionAllowMediaPlayback": "Allow media playback", + "OptionAllowBrowsingLiveTv": "Allow browsing of live tv", + "OptionAllowDeleteLibraryContent": "Allow deletion of library content", + "OptionAllowManageLiveTv": "Allow management of live tv recordings", + "OptionAllowRemoteControlOthers": "Allow remote control of other users", + "OptionAllowRemoteSharedDevices": "Allow remote control of shared devices", + "OptionAllowRemoteSharedDevicesHelp": "Dlna devices are considered shared until a user begins controlling it.", + "HeaderRemoteControl": "Remote Control", + "OptionMissingTmdbId": "Missing Tmdb Id", + "OptionIsHD": "HD", + "OptionIsSD": "SD", + "OptionMetascore": "Metascore", + "ButtonSelect": "Select", + "ButtonGroupVersions": "Group Versions", + "ButtonAddToCollection": "Add to Collection", + "PismoMessage": "Utilizing Pismo File Mount through a donated license.", + "TangibleSoftwareMessage": "Utilizing Tangible Solutions Java\/C# converters through a donated license.", + "HeaderCredits": "Credits", + "PleaseSupportOtherProduces": "Please support other free products we utilize:", + "VersionNumber": "Version {0}", + "TabPaths": "Paths", + "TabServer": "Server", + "TabTranscoding": "Transcoding", + "TitleAdvanced": "Advanced", + "LabelAutomaticUpdateLevel": "Automatic update level", + "OptionRelease": "Official Release", + "OptionBeta": "Beta", + "OptionDev": "Dev (Unstable)", + "LabelAllowServerAutoRestart": "Allow the server to restart automatically to apply updates", + "LabelAllowServerAutoRestartHelp": "The server will only restart during idle periods, when no users are active.", + "LabelEnableDebugLogging": "Enable debug logging", + "LabelRunServerAtStartup": "Run server at startup", + "LabelRunServerAtStartupHelp": "This will start the tray icon on windows startup. To start the windows service, uncheck this and run the service from the windows control panel. Please note that you cannot run both at the same time, so you will need to exit the tray icon before starting the service.", + "ButtonSelectDirectory": "Select Directory", + "LabelCustomPaths": "Specify custom paths where desired. Leave fields empty to use the defaults.", + "LabelCachePath": "Cache path:", + "LabelCachePathHelp": "Specify a custom location for server cache files, such as images.", + "LabelImagesByNamePath": "Images by name path:", + "LabelImagesByNamePathHelp": "Specify a custom location for downloaded actor, genre and studio images.", + "LabelMetadataPath": "Metadata path:", + "LabelMetadataPathHelp": "Specify a custom location for downloaded artwork and metadata, if not saving within media folders.", + "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", + "TabTV": "TV", + "TabGames": "Games", + "TabMusic": "Music", + "TabOthers": "Others", + "HeaderExtractChapterImagesFor": "Extract chapter images for:", + "OptionMovies": "Movies", + "OptionEpisodes": "Episodes", + "OptionOtherVideos": "Other Videos", + "TitleMetadata": "Metadata", + "LabelAutomaticUpdates": "Enable automatic updates", + "LabelAutomaticUpdatesTmdb": "Enable automatic updates from TheMovieDB.org", + "LabelAutomaticUpdatesTvdb": "Enable automatic updates from TheTVDB.com", + "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced.", + "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced.", + "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced.", + "LabelFanartApiKey": "Personal api key:", + "LabelFanartApiKeyHelp": "Requests to fanart without a personal API key return results 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 clients 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 at 4am. The schedule is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", + "LabelMetadataDownloadLanguage": "Preferred download language:", + "ButtonAutoScroll": "Auto-scroll", + "LabelImageSavingConvention": "Image saving convention:", + "LabelImageSavingConventionHelp": "Media Browser recognizes images from most major media applications. Choosing your downloading convention is useful if you also use other products.", + "OptionImageSavingCompatible": "Compatible - Media Browser\/Kodi\/Plex", + "OptionImageSavingStandard": "Standard - MB2", + "ButtonSignIn": "Sign In", + "TitleSignIn": "Sign In", + "HeaderPleaseSignIn": "Please sign in", + "LabelUser": "User:", + "LabelPassword": "Password:", + "ButtonManualLogin": "Manual Login", + "PasswordLocalhostMessage": "Passwords are not required when logging in from localhost.", + "TabGuide": "Guide", + "TabChannels": "Channels", + "TabCollections": "Collections", + "HeaderChannels": "Channels", + "TabRecordings": "Recordings", + "TabScheduled": "Scheduled", + "TabSeries": "Series", + "TabFavorites": "Favorites", + "TabMyLibrary": "My Library", + "ButtonCancelRecording": "Cancel Recording", + "HeaderPrePostPadding": "Pre\/Post Padding", + "LabelPrePaddingMinutes": "Pre-padding minutes:", + "OptionPrePaddingRequired": "Pre-padding is required in order to record.", + "LabelPostPaddingMinutes": "Post-padding minutes:", + "OptionPostPaddingRequired": "Post-padding is required in order to record.", + "HeaderWhatsOnTV": "What's On", + "HeaderUpcomingTV": "Upcoming TV", + "TabStatus": "Status", + "TabSettings": "Settings", + "ButtonRefreshGuideData": "Refresh Guide Data", + "ButtonRefresh": "Refresh", + "ButtonAdvancedRefresh": "Advanced Refresh", + "OptionPriority": "Priority", + "OptionRecordOnAllChannels": "Record program on all channels", + "OptionRecordAnytime": "Record program at any time", + "OptionRecordOnlyNewEpisodes": "Record only new episodes", + "HeaderDays": "Days", + "HeaderActiveRecordings": "Active Recordings", + "HeaderLatestRecordings": "Latest Recordings", + "HeaderAllRecordings": "All Recordings", + "ButtonPlay": "Play", + "ButtonEdit": "Edit", + "ButtonRecord": "Record", + "ButtonDelete": "Delete", + "ButtonRemove": "Remove", + "OptionRecordSeries": "Record Series", + "HeaderDetails": "Details", + "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.", + "LabelActiveService": "Active Service:", + "LabelActiveServiceHelp": "Multiple tv plugins can be installed but only one can be active at a time.", + "OptionAutomatic": "Auto", + "LiveTvPluginRequired": "A Live TV service provider plugin is required in order to continue.", + "LiveTvPluginRequiredHelp": "Please install one of our available plugins, such as Next Pvr or ServerWmc.", + "LabelCustomizeOptionsPerMediaType": "Customize for media type:", + "OptionDownloadThumbImage": "Thumb", + "OptionDownloadMenuImage": "Menu", + "OptionDownloadLogoImage": "Logo", + "OptionDownloadBoxImage": "Box", + "OptionDownloadDiscImage": "Disc", + "OptionDownloadBannerImage": "Banner", + "OptionDownloadBackImage": "Back", + "OptionDownloadArtImage": "Art", + "OptionDownloadPrimaryImage": "Primary", + "HeaderFetchImages": "Fetch Images:", + "HeaderImageSettings": "Image Settings", + "TabOther": "Other", + "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", + "LabelTriggerType": "Trigger Type:", + "OptionDaily": "Daily", + "OptionWeekly": "Weekly", + "OptionOnInterval": "On an interval", + "OptionOnAppStartup": "On application startup", + "OptionAfterSystemEvent": "After a system event", + "LabelDay": "Day:", + "LabelTime": "Time:", + "LabelEvent": "Event:", + "OptionWakeFromSleep": "Wake from sleep", + "LabelEveryXMinutes": "Every:", + "HeaderTvTuners": "Tuners", + "HeaderGallery": "Gallery", + "HeaderLatestGames": "Latest Games", + "HeaderRecentlyPlayedGames": "Recently Played Games", + "TabGameSystems": "Game Systems", + "TitleMediaLibrary": "Media Library", + "TabFolders": "Folders", + "TabPathSubstitution": "Path Substitution", + "LabelSeasonZeroDisplayName": "Season 0 display name:", + "LabelEnableRealtimeMonitor": "Enable real time monitoring", + "LabelEnableRealtimeMonitorHelp": "Changes will be processed immediately, on supported file systems.", + "ButtonScanLibrary": "Scan Library", + "HeaderNumberOfPlayers": "Players:", + "OptionAnyNumberOfPlayers": "Any", + "Option1Player": "1+", + "Option2Player": "2+", + "Option3Player": "3+", + "Option4Player": "4+", + "HeaderMediaFolders": "Media Folders", + "HeaderThemeVideos": "Theme Videos", + "HeaderThemeSongs": "Theme Songs", + "HeaderScenes": "Scenes", + "HeaderAwardsAndReviews": "Awards and Reviews", + "HeaderSoundtracks": "Soundtracks", + "HeaderMusicVideos": "Music Videos", + "HeaderSpecialFeatures": "Special Features", + "HeaderCastCrew": "Cast & Crew", + "HeaderAdditionalParts": "Additional Parts", + "ButtonSplitVersionsApart": "Split Versions Apart", + "ButtonPlayTrailer": "Trailer", + "LabelMissing": "Missing", + "LabelOffline": "Offline", + "PathSubstitutionHelp": "Path substitutions are used for mapping a path on the server to a path that clients are able to access. By allowing clients direct access to media on the server they may be able to play them directly over the network and avoid using server resources to stream and transcode them.", + "HeaderFrom": "From", + "HeaderTo": "To", + "LabelFrom": "From:", + "LabelFromHelp": "Example: D:\\Movies (on the server)", + "LabelTo": "To:", + "LabelToHelp": "Example: \\\\MyServer\\Movies (a path clients can access)", + "ButtonAddPathSubstitution": "Add Substitution", + "OptionSpecialEpisode": "Specials", + "OptionMissingEpisode": "Missing Episodes", + "OptionUnairedEpisode": "Unaired Episodes", + "OptionEpisodeSortName": "Episode Sort Name", + "OptionSeriesSortName": "Series Name", + "OptionTvdbRating": "Tvdb Rating", + "HeaderTranscodingQualityPreference": "Transcoding Quality Preference:", + "OptionAutomaticTranscodingHelp": "The server will decide quality and speed", + "OptionHighSpeedTranscodingHelp": "Lower quality, but faster encoding", + "OptionHighQualityTranscodingHelp": "Higher quality, but slower encoding", + "OptionMaxQualityTranscodingHelp": "Best quality with slower encoding and high CPU usage", + "OptionHighSpeedTranscoding": "Higher speed", + "OptionHighQualityTranscoding": "Higher quality", + "OptionMaxQualityTranscoding": "Max quality", + "OptionEnableDebugTranscodingLogging": "Enable debug transcoding logging", + "OptionEnableDebugTranscodingLoggingHelp": "This will create very large log files and is only recommended as needed for troubleshooting purposes.", + "OptionUpscaling": "Allow clients to request upscaled video", + "OptionUpscalingHelp": "In some cases this will result in improved video quality but will increase CPU usage.", + "EditCollectionItemsHelp": "Add or remove any movies, series, albums, books or games you wish to group within this collection.", + "HeaderAddTitles": "Add Titles", + "LabelEnableDlnaPlayTo": "Enable DLNA Play To", + "LabelEnableDlnaPlayToHelp": "Media Browser can detect devices within your network and offer the ability to remote control them.", + "LabelEnableDlnaDebugLogging": "Enable DLNA debug logging", + "LabelEnableDlnaDebugLoggingHelp": "This will create large log files and should only be used as needed for troubleshooting purposes.", + "LabelEnableDlnaClientDiscoveryInterval": "Client discovery interval (seconds)", + "LabelEnableDlnaClientDiscoveryIntervalHelp": "Determines the duration in seconds between SSDP searches performed by Media Browser.", + "HeaderCustomDlnaProfiles": "Custom Profiles", + "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.", + "TitleDashboard": "Dashboard", + "TabHome": "Home", + "TabInfo": "Info", + "HeaderLinks": "Links", + "HeaderSystemPaths": "System Paths", + "LinkCommunity": "Community", + "LinkGithub": "Github", + "LinkApi": "Api", + "LinkApiDocumentation": "Api Documentation", + "LabelFriendlyServerName": "Friendly server name:", + "LabelFriendlyServerNameHelp": "This name will be used to identify this server. If left blank, the computer name will be used.", + "LabelPreferredDisplayLanguage": "Preferred display language:", + "LabelPreferredDisplayLanguageHelp": "Translating Media Browser is an ongoing project and is not yet complete.", + "LabelReadHowYouCanContribute": "Read about how you can contribute.", + "HeaderNewCollection": "New Collection", + "HeaderAddToCollection": "Add to Collection", + "ButtonSubmit": "Submit", + "NewCollectionNameExample": "Example: Star Wars Collection", + "OptionSearchForInternetMetadata": "Search the internet for artwork and metadata", + "ButtonCreate": "Create", + "LabelCustomCss": "Custom css:", + "LabelCustomCssHelp": "Apply your own custom css to the web interface.", + "LabelLocalHttpServerPortNumber": "Local http port number:", + "LabelLocalHttpServerPortNumberHelp": "The tcp port number that Media Browser's http server should bind to.", + "LabelPublicHttpPort": "Public http port number:", + "LabelPublicHttpPortHelp": "The public port number that should be mapped to the local http port.", + "LabelPublicHttpsPort": "Public https port number:", + "LabelPublicHttpsPortHelp": "The public port number that should be mapped to the local https port.", + "LabelEnableHttps": "Report https as external address", + "LabelEnableHttpsHelp": "If enabled, the server will report an https url to clients as it's external address. This may break clients that do not yet support https.", + "LabelHttpsPort": "Local https port number:", + "LabelHttpsPortHelp": "The tcp port number that Media Browser's https server should bind to.", + "LabelWebSocketPortNumber": "Web socket port number:", + "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 WAN Address:", + "LabelExternalDDNSHelp": "If you have a dynamic DNS enter it here. Media Browser apps will use it when connecting remotely. Leave empty for automatic detection.", + "TabResume": "Resume", + "TabWeather": "Weather", + "TitleAppSettings": "App Settings", + "LabelMinResumePercentage": "Min resume percentage:", + "LabelMaxResumePercentage": "Max resume percentage:", + "LabelMinResumeDuration": "Min resume duration (seconds):", + "LabelMinResumePercentageHelp": "Titles are assumed unplayed if stopped before this time", + "LabelMaxResumePercentageHelp": "Titles are assumed fully played if stopped after this time", + "LabelMinResumeDurationHelp": "Titles shorter than this will not be resumable", + "TitleAutoOrganize": "Auto-Organize", + "TabActivityLog": "Activity Log", + "HeaderName": "Name", + "HeaderDate": "Date", + "HeaderSource": "Source", + "HeaderDestination": "Destination", + "HeaderProgram": "Program", + "HeaderClients": "Clients", + "LabelCompleted": "Completed", + "LabelFailed": "Failed", + "LabelSkipped": "Skipped", + "HeaderEpisodeOrganization": "Episode Organization", + "LabelSeries": "Series:", + "LabelSeasonNumber": "Season number:", + "LabelEpisodeNumber": "Episode number:", + "LabelEndingEpisodeNumber": "Ending episode number:", + "LabelEndingEpisodeNumberHelp": "Only required for multi-episode files", + "HeaderSupportTheTeam": "Support the Media Browser Team", + "LabelSupportAmount": "Amount (USD)", + "HeaderSupportTheTeamHelp": "Help ensure the continued development of this project by donating. A portion of all donations will be contributed to other free tools we depend on.", + "ButtonEnterSupporterKey": "Enter supporter key", + "DonationNextStep": "Once complete, please return and enter your supporter key, which you will receive by email.", + "AutoOrganizeHelp": "Auto-organize monitors your download folders for new files and moves them to your media directories.", + "AutoOrganizeTvHelp": "TV file organizing will only add episodes to existing series. It will not create new series folders.", + "OptionEnableEpisodeOrganization": "Enable new episode organization", + "LabelWatchFolder": "Watch folder:", + "LabelWatchFolderHelp": "The server will poll this folder during the 'Organize new media files' scheduled task.", + "ButtonViewScheduledTasks": "View scheduled tasks", + "LabelMinFileSizeForOrganize": "Minimum file size (MB):", + "LabelMinFileSizeForOrganizeHelp": "Files under this size will be ignored.", + "LabelSeasonFolderPattern": "Season folder pattern:", + "LabelSeasonZeroFolderName": "Season zero folder name:", + "HeaderEpisodeFilePattern": "Episode file pattern", + "LabelEpisodePattern": "Episode pattern:", + "LabelMultiEpisodePattern": "Multi-Episode pattern:", + "HeaderSupportedPatterns": "Supported Patterns", + "HeaderTerm": "Term", + "HeaderPattern": "Pattern", + "HeaderResult": "Result", + "LabelDeleteEmptyFolders": "Delete empty folders after organizing", + "LabelDeleteEmptyFoldersHelp": "Enable this to keep the download directory clean.", + "LabelDeleteLeftOverFiles": "Delete left over files with the following extensions:", + "LabelDeleteLeftOverFilesHelp": "Separate with ;. For example: .nfo;.txt", + "OptionOverwriteExistingEpisodes": "Overwrite existing episodes", + "LabelTransferMethod": "Transfer method", + "OptionCopy": "Copy", + "OptionMove": "Move", + "LabelTransferMethodHelp": "Copy or move files from the watch folder", + "HeaderLatestNews": "Latest News", + "HeaderHelpImproveMediaBrowser": "Help Improve Media Browser", + "HeaderRunningTasks": "Running Tasks", + "HeaderActiveDevices": "Active Devices", + "HeaderPendingInstallations": "Pending Installations", + "HeaderServerInformation": "Server Information", + "ButtonRestartNow": "Restart Now", + "ButtonRestart": "Restart", + "ButtonShutdown": "Shutdown", + "ButtonUpdateNow": "Update Now", + "TabHosting": "Hosting", + "PleaseUpdateManually": "Please shutdown the server and update manually.", + "NewServerVersionAvailable": "A new version of Media Browser Server is available!", + "ServerUpToDate": "Media Browser Server is up to date", + "ErrorConnectingToMediaBrowserRepository": "There was an error connecting to the remote Media Browser repository.", + "LabelComponentsUpdated": "The following components have been installed or updated:", + "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.", + "ButtonLinkKeys": "Transfer Key", + "LabelOldSupporterKey": "Old supporter key", + "LabelNewSupporterKey": "New supporter key", + "HeaderMultipleKeyLinking": "Transfer to New Key", + "MultipleKeyLinkingHelp": "If you received a new supporter key, use this form to transfer the old key's registrations to your new one.", + "LabelCurrentEmailAddress": "Current email address", + "LabelCurrentEmailAddressHelp": "The current email address to which your new key was sent.", + "HeaderForgotKey": "Forgot Key", + "LabelEmailAddress": "Email address", + "LabelSupporterEmailAddress": "The email address that was used to purchase the key.", + "ButtonRetrieveKey": "Retrieve Key", + "LabelSupporterKey": "Supporter Key (paste from email)", + "LabelSupporterKeyHelp": "Enter your supporter key to start enjoying additional benefits the community has developed for Media Browser.", + "MessageInvalidKey": "Supporter key is missing or invalid.", + "ErrorMessageInvalidKey": "In order for any premium content to be registered, you must also be a Media Browser Supporter. Please donate and support the continued development of the core product. Thank you.", + "HeaderDisplaySettings": "Display Settings", + "TabPlayTo": "Play To", + "LabelEnableDlnaServer": "Enable Dlna server", + "LabelEnableDlnaServerHelp": "Allows UPnP devices on your network to browse and play Media Browser content.", + "LabelEnableBlastAliveMessages": "Blast alive messages", + "LabelEnableBlastAliveMessagesHelp": "Enable this if the server is not detected reliably by other UPnP devices on your network.", + "LabelBlastMessageInterval": "Alive message interval (seconds)", + "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.", + "TitleDlna": "DLNA", + "TitleChannels": "Channels", + "HeaderServerSettings": "Server Settings", + "LabelWeatherDisplayLocation": "Weather display location:", + "LabelWeatherDisplayLocationHelp": "US zip code \/ City, State, Country \/ City, Country", + "LabelWeatherDisplayUnit": "Weather display unit:", + "OptionCelsius": "Celsius", + "OptionFahrenheit": "Fahrenheit", + "HeaderRequireManualLogin": "Require manual username entry for:", + "HeaderRequireManualLoginHelp": "When disabled clients may present a login screen with a visual selection of users.", + "OptionOtherApps": "Other apps", + "OptionMobileApps": "Mobile apps", + "HeaderNotificationList": "Click on a notification to configure it's sending options.", + "NotificationOptionApplicationUpdateAvailable": "Application update available", + "NotificationOptionApplicationUpdateInstalled": "Application update installed", + "NotificationOptionPluginUpdateInstalled": "Plugin update installed", + "NotificationOptionPluginInstalled": "Plugin installed", + "NotificationOptionPluginUninstalled": "Plugin uninstalled", + "NotificationOptionVideoPlayback": "Video playback started", + "NotificationOptionAudioPlayback": "Audio playback started", + "NotificationOptionGamePlayback": "Game playback started", + "NotificationOptionVideoPlaybackStopped": "Video playback stopped", + "NotificationOptionAudioPlaybackStopped": "Audio playback stopped", + "NotificationOptionGamePlaybackStopped": "Game playback stopped", + "NotificationOptionTaskFailed": "Scheduled task failure", + "NotificationOptionInstallationFailed": "Installation failure", + "NotificationOptionNewLibraryContent": "New content added", + "NotificationOptionNewLibraryContentMultiple": "New content added (multiple)", + "SendNotificationHelp": "By default, notifications are delivered to the dashboard inbox. Browse the plugin catalog to install additional notification options.", + "NotificationOptionServerRestartRequired": "Server restart required", + "LabelNotificationEnabled": "Enable this notification", + "LabelMonitorUsers": "Monitor activity from:", + "LabelSendNotificationToUsers": "Send the notification to:", + "LabelUseNotificationServices": "Use the following services:", + "CategoryUser": "User", + "CategorySystem": "System", + "CategoryApplication": "Application", + "CategoryPlugin": "Plugin", + "LabelMessageTitle": "Message title:", + "LabelAvailableTokens": "Available tokens:", + "AdditionalNotificationServices": "Browse the plugin catalog to install additional notification services.", + "OptionAllUsers": "All users", + "OptionAdminUsers": "Administrators", + "OptionCustomUsers": "Custom", + "ButtonArrowUp": "Up", + "ButtonArrowDown": "Down", + "ButtonArrowLeft": "Left", + "ButtonArrowRight": "Right", + "ButtonBack": "Back", + "ButtonInfo": "Info", + "ButtonOsd": "On screen display", + "ButtonPageUp": "Page Up", + "ButtonPageDown": "Page Down", + "PageAbbreviation": "PG", + "ButtonHome": "Home", + "ButtonSearch": "Search", + "ButtonSettings": "Settings", + "ButtonTakeScreenshot": "Capture Screenshot", + "ButtonLetterUp": "Letter Up", + "ButtonLetterDown": "Letter Down", + "PageButtonAbbreviation": "PG", + "LetterButtonAbbreviation": "A", + "TabNowPlaying": "Now Playing", + "TabNavigation": "Navigation", + "TabControls": "Controls", + "ButtonFullscreen": "Toggle fullscreen", + "ButtonScenes": "Scenes", + "ButtonSubtitles": "Subtitles", + "ButtonAudioTracks": "Audio tracks", + "ButtonPreviousTrack": "Previous track", + "ButtonNextTrack": "Next track", + "ButtonStop": "Stop", + "ButtonPause": "Pause", + "ButtonNext": "Next", + "ButtonPrevious": "Previous", + "LabelGroupMoviesIntoCollections": "Group movies into collections", + "LabelGroupMoviesIntoCollectionsHelp": "When displaying movie lists, movies belonging to a collection will be displayed as one grouped item.", + "NotificationOptionPluginError": "Plugin failure", + "ButtonVolumeUp": "Volume up", + "ButtonVolumeDown": "Volume down", + "ButtonMute": "Mute", + "HeaderLatestMedia": "Latest Media", + "OptionSpecialFeatures": "Special Features", + "HeaderCollections": "Collections", + "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:", + "LabelPersonRole": "Role:", + "LabelPersonRoleHelp": "Role is generally only applicable to actors.", + "LabelProfileContainer": "Container:", + "LabelProfileVideoCodecs": "Video codecs:", + "LabelProfileAudioCodecs": "Audio codecs:", + "LabelProfileCodecs": "Codecs:", + "HeaderDirectPlayProfile": "Direct Play Profile", + "HeaderTranscodingProfile": "Transcoding Profile", + "HeaderCodecProfile": "Codec Profile", + "HeaderCodecProfileHelp": "Codec profiles indicate the limitations of a device when playing specific codecs. If a limitation applies then the media will be transcoded, even if the codec is configured for direct play.", + "HeaderContainerProfile": "Container Profile", + "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.", + "OptionProfileVideo": "Video", + "OptionProfileAudio": "Audio", + "OptionProfileVideoAudio": "Video Audio", + "OptionProfilePhoto": "Photo", + "LabelUserLibrary": "User library:", + "LabelUserLibraryHelp": "Select which user library to display to the device. Leave empty to inherit the default setting.", + "OptionPlainStorageFolders": "Display all folders as plain storage folders", + "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:", + "TabIdentification": "Identification", + "HeaderIdentification": "Identification", + "TabDirectPlay": "Direct Play", + "TabContainers": "Containers", + "TabCodecs": "Codecs", + "TabResponses": "Responses", + "HeaderProfileInformation": "Profile Information", + "LabelEmbedAlbumArtDidl": "Embed album art in Didl", + "LabelEmbedAlbumArtDidlHelp": "Some devices prefer this method for obtaining album art. Others may fail to play with this option enabled.", + "LabelAlbumArtPN": "Album art PN:", + "LabelAlbumArtHelp": "PN used for album art, within the dlna:profileID attribute on upnp:albumArtURI. Some clients require a specific value, regardless of the size of the image.", + "LabelAlbumArtMaxWidth": "Album art max width:", + "LabelAlbumArtMaxWidthHelp": "Max resolution of album art exposed via upnp:albumArtURI.", + "LabelAlbumArtMaxHeight": "Album art max height:", + "LabelAlbumArtMaxHeightHelp": "Max resolution of album art exposed via upnp:albumArtURI.", + "LabelIconMaxWidth": "Icon max width:", + "LabelIconMaxWidthHelp": "Max resolution of icons exposed via upnp:icon.", + "LabelIconMaxHeight": "Icon max height:", + "LabelIconMaxHeightHelp": "Max resolution of icons exposed via upnp:icon.", + "LabelIdentificationFieldHelp": "A case-insensitive substring or regex expression.", + "HeaderProfileServerSettingsHelp": "These values control how Media Browser will present itself to the device.", + "LabelMaxBitrate": "Max bitrate:", + "LabelMaxBitrateHelp": "Specify a max bitrate in bandwidth constrained environments, or if the device imposes it's own limit.", + "LabelMaxStreamingBitrate": "Max streaming bitrate:", + "LabelMaxStreamingBitrateHelp": "Specify a max bitrate when streaming.", + "LabelMaxStaticBitrate": "Max sync bitrate:", + "LabelMaxStaticBitrateHelp": "Specify a max bitrate when syncing content at high quality.", + "LabelMusicStaticBitrate": "Music sync bitrate:", + "LabelMusicStaticBitrateHelp": "Specify a max bitrate when syncing music", + "LabelMusicStreamingTranscodingBitrate": "Music transcoding bitrate:", + "LabelMusicStreamingTranscodingBitrateHelp": "Specify a max bitrate when streaming music", + "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", + "LabelManufacturerUrl": "Manufacturer url", + "LabelModelName": "Model name", + "LabelModelNumber": "Model number", + "LabelModelDescription": "Model description", + "LabelModelUrl": "Model url", + "LabelSerialNumber": "Serial number", + "LabelDeviceDescription": "Device description", + "HeaderIdentificationCriteriaHelp": "Enter at least one identification criteria.", + "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.", + "HeaderResponseProfileHelp": "Response profiles provide a way to customize information sent to the device when playing certain kinds of media.", + "LabelXDlnaCap": "X-Dlna cap:", + "LabelXDlnaCapHelp": "Determines the content of the X_DLNACAP element in the urn:schemas-dlna-org:device-1-0 namespace.", + "LabelXDlnaDoc": "X-Dlna doc:", + "LabelXDlnaDocHelp": "Determines the content of the X_DLNADOC element in the urn:schemas-dlna-org:device-1-0 namespace.", + "LabelSonyAggregationFlags": "Sony aggregation flags:", + "LabelSonyAggregationFlagsHelp": "Determines the content of the aggregationFlags element in the urn:schemas-sonycom:av namespace.", + "LabelTranscodingContainer": "Container:", + "LabelTranscodingVideoCodec": "Video codec:", + "LabelTranscodingVideoProfile": "Video profile:", + "LabelTranscodingAudioCodec": "Audio codec:", + "OptionEnableM2tsMode": "Enable M2ts mode", + "OptionEnableM2tsModeHelp": "Enable m2ts mode when encoding to mpegts.", + "OptionEstimateContentLength": "Estimate content length when transcoding", + "OptionReportByteRangeSeekingWhenTranscoding": "Report that the server supports byte seeking when transcoding", + "OptionReportByteRangeSeekingWhenTranscodingHelp": "This is required for some devices that don't time seek very well.", + "HeaderSubtitleDownloadingHelp": "When Media Browser scans your video files it can search for missing subtitles, and download them using a subtitle provider such as OpenSubtitles.org.", + "HeaderDownloadSubtitlesFor": "Download subtitles for:", + "MessageNoChapterProviders": "Install a chapter provider plugin such as ChapterDb to enable additional chapter options.", + "LabelSkipIfGraphicalSubsPresent": "Skip if the video already contains graphical subtitles", + "LabelSkipIfGraphicalSubsPresentHelp": "Keeping text versions of subtitles will result in more efficient delivery to mobile clients.", + "TabSubtitles": "Subtitles", + "TabChapters": "Chapters", + "HeaderDownloadChaptersFor": "Download chapter names for:", + "LabelOpenSubtitlesUsername": "Open Subtitles username:", + "LabelOpenSubtitlesPassword": "Open Subtitles password:", + "HeaderChapterDownloadingHelp": "When Media Browser scans your video files it can download friendly chapter names from the internet using chapter plugins such as ChapterDb.", + "LabelPlayDefaultAudioTrack": "Play default audio track regardless of language", + "LabelSubtitlePlaybackMode": "Subtitle mode:", + "LabelDownloadLanguages": "Download languages:", + "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.", + "HeaderSendMessage": "Send Message", + "ButtonSend": "Send", + "LabelMessageText": "Message text:", + "MessageNoAvailablePlugins": "No available plugins.", + "LabelDisplayPluginsFor": "Display plugins for:", + "PluginTabMediaBrowserClassic": "MB Classic", + "PluginTabMediaBrowserTheater": "MB Theater", + "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", + "HeaderSearchForSubtitles": "Search for Subtitles", + "MessageNoSubtitleSearchResultsFound": "No search results founds.", + "TabDisplay": "Display", + "TabLanguages": "Languages", + "TabWebClient": "Web Client", + "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", + "HeaderSettingsForThisDevice": "Settings for This Device", + "OptionAuto": "Auto", + "OptionYes": "Yes", + "OptionNo": "No", + "HeaderOptions": "Options", + "HeaderIdentificationResult": "Identification Result", + "LabelHomePageSection1": "Home page section 1:", + "LabelHomePageSection2": "Home page section 2:", + "LabelHomePageSection3": "Home page section 3:", + "LabelHomePageSection4": "Home page section 4:", + "OptionMyViewsButtons": "My views (buttons)", + "OptionMyViews": "My views", + "OptionMyViewsSmall": "My views (small)", + "OptionResumablemedia": "Resume", + "OptionLatestMedia": "Latest media", + "OptionLatestChannelMedia": "Latest channel items", + "HeaderLatestChannelItems": "Latest Channel Items", + "OptionNone": "None", + "HeaderLiveTv": "Live TV", + "HeaderReports": "Reports", + "HeaderMetadataManager": "Metadata Manager", + "HeaderPreferences": "Preferences", + "MessageLoadingChannels": "Loading channel content...", + "MessageLoadingContent": "Loading content...", + "ButtonMarkRead": "Mark Read", + "OptionDefaultSort": "Default", + "OptionCommunityMostWatchedSort": "Most Watched", + "TabNextUp": "Next Up", + "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.", + "ButtonDismiss": "Dismiss", + "ButtonEditOtherUserPreferences": "Edit this user's profile, password and personal preferences.", + "LabelChannelStreamQuality": "Preferred internet stream quality:", + "LabelChannelStreamQualityHelp": "In a low bandwidth environment, limiting quality can help ensure a smooth streaming experience.", + "OptionBestAvailableStreamQuality": "Best available", + "LabelEnableChannelContentDownloadingFor": "Enable channel content downloading for:", + "LabelEnableChannelContentDownloadingForHelp": "Some channels support downloading content prior to viewing. Enable this in low bandwidth enviornments to download channel content during off hours. Content is downloaded as part of the channel download scheduled task.", + "LabelChannelDownloadPath": "Channel content download path:", + "LabelChannelDownloadPathHelp": "Specify a custom download path if desired. Leave empty to download to an internal program data folder.", + "LabelChannelDownloadAge": "Delete content after: (days)", + "LabelChannelDownloadAgeHelp": "Downloaded content older than this will be deleted. It will remain playable via internet streaming.", + "ChannelSettingsFormHelp": "Install channels such as Trailers and Vimeo in the plugin catalog.", + "LabelSelectCollection": "Select collection:", + "ButtonOptions": "Options", + "ViewTypeMovies": "Movies", + "ViewTypeTvShows": "TV", + "ViewTypeGames": "Games", + "ViewTypeMusic": "Music", + "ViewTypeMusicGenres": "Genres", + "ViewTypeMusicArtists": "Artists", + "ViewTypeBoxSets": "Collections", + "ViewTypeChannels": "Channels", + "ViewTypeLiveTV": "Live TV", + "ViewTypeLiveTvNowPlaying": "Now Airing", + "ViewTypeLatestGames": "Latest Games", + "ViewTypeRecentlyPlayedGames": "Recently Played", + "ViewTypeGameFavorites": "Favorites", + "ViewTypeGameSystems": "Game Systems", + "ViewTypeGameGenres": "Genres", + "ViewTypeTvResume": "Resume", + "ViewTypeTvNextUp": "Next Up", + "ViewTypeTvLatest": "Latest", + "ViewTypeTvShowSeries": "Series", + "ViewTypeTvGenres": "Genres", + "ViewTypeTvFavoriteSeries": "Favorite Series", + "ViewTypeTvFavoriteEpisodes": "Favorite Episodes", + "ViewTypeMovieResume": "Resume", + "ViewTypeMovieLatest": "Latest", + "ViewTypeMovieMovies": "Movies", + "ViewTypeMovieCollections": "Collections", + "ViewTypeMovieFavorites": "Favorites", + "ViewTypeMovieGenres": "Genres", + "ViewTypeMusicLatest": "Latest", + "ViewTypeMusicAlbums": "Albums", + "ViewTypeMusicAlbumArtists": "Album Artists", + "HeaderOtherDisplaySettings": "Display Settings", + "ViewTypeMusicSongs": "Songs", + "ViewTypeMusicFavorites": "Favorites", + "ViewTypeMusicFavoriteAlbums": "Favorite Albums", + "ViewTypeMusicFavoriteArtists": "Favorite Artists", + "ViewTypeMusicFavoriteSongs": "Favorite Songs", + "HeaderMyViews": "My Views", + "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.", + "OptionDisplayAdultContent": "Display adult content", + "OptionLibraryFolders": "Media folders", + "TitleRemoteControl": "Remote Control", + "OptionLatestTvRecordings": "Latest recordings", + "LabelProtocolInfo": "Protocol info:", + "LabelProtocolInfoHelp": "The value that will be used when responding to GetProtocolInfo requests from the device.", + "TabKodiMetadata": "Kodi", + "HeaderKodiMetadataHelp": "Media Browser includes native support for Kodi Nfo metadata and images. To enable or disable Kodi metadata, use the Advanced tab to configure options for your media types.", + "LabelKodiMetadataUser": "Sync user watch data to nfo's for:", + "LabelKodiMetadataUserHelp": "Enable this to keep watch data in sync between Media Browser and Kodi.", + "LabelKodiMetadataDateFormat": "Release date format:", + "LabelKodiMetadataDateFormatHelp": "All dates within nfo's will be read and written to using this format.", + "LabelKodiMetadataSaveImagePaths": "Save image paths within nfo files", + "LabelKodiMetadataSaveImagePathsHelp": "This is recommended if you have image file names that don't conform to Kodi guidelines.", + "LabelKodiMetadataEnablePathSubstitution": "Enable path substitution", + "LabelKodiMetadataEnablePathSubstitutionHelp": "Enables path substitution of image paths using the server's path substitution settings.", + "LabelKodiMetadataEnablePathSubstitutionHelp2": "See path substitution.", + "LabelGroupChannelsIntoViews": "Display the following channels directly within my views:", + "LabelGroupChannelsIntoViewsHelp": "If enabled, these channels will be displayed directly alongside other views. If disabled, they'll be displayed within a separate Channels view.", + "LabelDisplayCollectionsView": "Display a collections view to show movie collections", + "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", + "TabLogs": "Logs", + "HeaderServerLogFiles": "Server log files:", + "TabBranding": "Branding", + "HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.", + "LabelLoginDisclaimer": "Login disclaimer:", + "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.", + "LabelAutomaticallyDonate": "Automatically donate this amount every month", + "LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.", + "OptionList": "List", + "TabDashboard": "Dashboard", + "TitleServer": "Server", + "LabelCache": "Cache:", + "LabelLogs": "Logs:", + "LabelMetadata": "Metadata:", + "LabelImagesByName": "Images by name:", + "LabelTranscodingTemporaryFiles": "Transcoding temporary files:", + "HeaderLatestMusic": "Latest Music", + "HeaderBranding": "Branding", + "HeaderApiKeys": "Api Keys", + "HeaderApiKeysHelp": "External applications are required to have an Api key in order to communicate with Media Browser. Keys are issued by logging in with a Media Browser account, or by manually granting the application a key.", + "HeaderApiKey": "Api Key", + "HeaderApp": "App", + "HeaderDevice": "Device", + "HeaderUser": "User", + "HeaderDateIssued": "Date Issued", + "LabelChapterName": "Chapter {0}", + "HeaderNewApiKey": "New Api Key", + "LabelAppName": "App name", + "LabelAppNameExample": "Example: Sickbeard, NzbDrone", + "HeaderNewApiKeyHelp": "Grant an application permission to communicate with Media Browser.", + "HeaderHttpHeaders": "Http Headers", + "HeaderIdentificationHeader": "Identification Header", + "LabelValue": "Value:", + "LabelMatchType": "Match type:", + "OptionEquals": "Equals", + "OptionRegex": "Regex", + "OptionSubstring": "Substring", + "TabView": "View", + "TabSort": "Sort", + "TabFilter": "Filter", + "ButtonView": "View", + "LabelPageSize": "Item limit:", + "LabelPath": "Path:", + "LabelView": "View:", + "TabUsers": "Users", + "LabelSortName": "Sort name:", + "LabelDateAdded": "Date added:", + "HeaderFeatures": "Features", + "HeaderAdvanced": "Advanced", + "ButtonSync": "Sync", + "TabScheduledTasks": "Scheduled Tasks", + "HeaderChapters": "Chapters", + "HeaderResumeSettings": "Resume Settings", + "TabSync": "Sync", + "TitleUsers": "Users", + "LabelProtocol": "Protocol:", + "OptionProtocolHttp": "Http", + "OptionProtocolHls": "Http Live Streaming", + "LabelContext": "Context:", + "OptionContextStreaming": "Streaming", + "OptionContextStatic": "Sync", + "ButtonAddToPlaylist": "Add to playlist", + "TabPlaylists": "Playlists", + "ButtonClose": "Close", + "LabelAllLanguages": "All languages", + "HeaderBrowseOnlineImages": "Browse Online Images", + "LabelSource": "Source:", + "OptionAll": "All", + "LabelImage": "Image:", + "ButtonBrowseImages": "Browse Images", + "HeaderImages": "Images", + "HeaderBackdrops": "Backdrops", + "HeaderScreenshots": "Screenshots", + "HeaderAddUpdateImage": "Add\/Update Image", + "LabelJpgPngOnly": "JPG\/PNG only", + "LabelImageType": "Image type:", + "OptionPrimary": "Primary", + "OptionArt": "Art", + "OptionBox": "Box", + "OptionBoxRear": "Box rear", + "OptionDisc": "Disc", + "OptionLogo": "Logo", + "OptionMenu": "Menu", + "OptionScreenshot": "Screenshot", + "OptionLocked": "Locked", + "OptionUnidentified": "Unidentified", + "OptionMissingParentalRating": "Missing parental rating", + "OptionStub": "Stub", + "HeaderEpisodes": "Episodes:", + "OptionSeason0": "Season 0", + "LabelReport": "Report:", + "OptionReportSongs": "Songs", + "OptionReportSeries": "Series", + "OptionReportSeasons": "Seasons", + "OptionReportTrailers": "Trailers", + "OptionReportMusicVideos": "Music videos", + "OptionReportMovies": "Movies", + "OptionReportHomeVideos": "Home videos", + "OptionReportGames": "Games", + "OptionReportEpisodes": "Episodes", + "OptionReportCollections": "Collections", + "OptionReportBooks": "Books", + "OptionReportArtists": "Artists", + "OptionReportAlbums": "Albums", + "OptionReportAdultVideos": "Adult videos", + "ButtonMore": "More", + "HeaderActivity": "Activity", + "ScheduledTaskStartedWithName": "{0} started", + "ScheduledTaskCancelledWithName": "{0} was cancelled", + "ScheduledTaskCompletedWithName": "{0} completed", + "ScheduledTaskFailed": "Scheduled task completed", + "PluginInstalledWithName": "{0} was installed", + "PluginUpdatedWithName": "{0} was updated", + "PluginUninstalledWithName": "{0} was uninstalled", + "ScheduledTaskFailedWithName": "{0} failed", + "ItemAddedWithName": "{0} was added to the library", + "ItemRemovedWithName": "{0} was removed from the library", + "DeviceOnlineWithName": "{0} is connected", + "UserOnlineFromDevice": "{0} is online from {1}", + "DeviceOfflineWithName": "{0} has disconnected", + "UserOfflineFromDevice": "{0} has disconnected from {1}", + "SubtitlesDownloadedForItem": "Subtitles downloaded for {0}", + "SubtitleDownloadFailureForItem": "Subtitles failed to download for {0}", + "LabelRunningTimeValue": "Running time: {0}", + "LabelIpAddressValue": "Ip address: {0}", + "UserConfigurationUpdatedWithName": "User configuration has been updated for {0}", + "UserCreatedWithName": "User {0} has been created", + "UserPasswordChangedWithName": "Password has been changed for user {0}", + "UserDeletedWithName": "User {0} has been deleted", + "MessageServerConfigurationUpdated": "Server configuration has been updated", + "MessageNamedServerConfigurationUpdatedWithValue": "Server configuration section {0} has been updated", + "MessageApplicationUpdated": "Media Browser Server has been updated", + "AuthenticationSucceededWithUserName": "{0} successfully authenticated", + "FailedLoginAttemptWithUserName": "Failed login attempt from {0}", + "UserStartedPlayingItemWithValues": "{0} has started playing {1}", + "UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}", + "AppDeviceValues": "App: {0}, Device: {1}", + "ProviderValue": "Provider: {0}", + "LabelChannelDownloadSizeLimit": "Download size limit (GB):", + "LabelChannelDownloadSizeLimitHelpText": "Limit the size of the channel download folder.", + "HeaderRecentActivity": "Recent Activity", + "HeaderPeople": "People", + "HeaderDownloadPeopleMetadataFor": "Download biography and images for:", + "OptionComposers": "Composers", + "OptionOthers": "Others", + "HeaderDownloadPeopleMetadataForHelp": "Enabling additional options will provide more on-screen information but will result in slower library scans.", + "ViewTypeFolders": "Folders", + "LabelDisplayFoldersView": "Display a folders view to show plain media folders", + "ViewTypeLiveTvRecordingGroups": "Recordings", + "ViewTypeLiveTvChannels": "Channels", + "LabelAllowLocalAccessWithoutPassword": "Allow local access without a password", + "LabelAllowLocalAccessWithoutPasswordHelp": "When enabled, a password will not be required when signing in from within your home network.", + "HeaderPassword": "Password", + "HeaderLocalAccess": "Local Access", + "HeaderViewOrder": "View Order", + "LabelSelectUserViewOrder": "Choose the order your views will be displayed in within Media Browser apps", + "LabelMetadataRefreshMode": "Metadata refresh mode:", + "LabelImageRefreshMode": "Image refresh mode:", + "OptionDownloadMissingImages": "Download missing images", + "OptionReplaceExistingImages": "Replace existing images", + "OptionRefreshAllData": "Refresh all data", + "OptionAddMissingDataOnly": "Add missing data only", + "OptionLocalRefreshOnly": "Local refresh only", + "HeaderRefreshMetadata": "Refresh Metadata", + "HeaderPersonInfo": "Person Info", + "HeaderIdentifyItem": "Identify Item", + "HeaderIdentifyItemHelp": "Enter one or more search criteria. Remove criteria to increase search results.", + "HeaderConfirmDeletion": "Confirm Deletion", + "LabelFollowingFileWillBeDeleted": "The following file will be deleted:", + "LabelIfYouWishToContinueWithDeletion": "If you wish to continue, please confirm by entering the value of:", + "ButtonIdentify": "Identify", + "LabelAlbumArtist": "Album artist:", + "LabelAlbum": "Album:", + "LabelCommunityRating": "Community rating:", + "LabelVoteCount": "Vote count:", + "LabelMetascore": "Metascore:", + "LabelCriticRating": "Critic rating:", + "LabelCriticRatingSummary": "Critic rating summary:", + "LabelAwardSummary": "Award summary:", + "LabelWebsite": "Website:", + "LabelTagline": "Tagline:", + "LabelOverview": "Overview:", + "LabelShortOverview": "Short overview:", + "LabelReleaseDate": "Release date:", + "LabelYear": "Year:", + "LabelPlaceOfBirth": "Place of birth:", + "LabelEndDate": "End date:", + "LabelAirDate": "Air days:", + "LabelAirTime:": "Air time:", + "LabelRuntimeMinutes": "Run time (minutes):", + "LabelParentalRating": "Parental rating:", + "LabelCustomRating": "Custom rating:", + "LabelBudget": "Budget", + "LabelRevenue": "Revenue ($):", + "LabelOriginalAspectRatio": "Original aspect ratio:", + "LabelPlayers": "Players:", + "Label3DFormat": "3D format:", + "HeaderAlternateEpisodeNumbers": "Alternate Episode Numbers", + "HeaderSpecialEpisodeInfo": "Special Episode Info", + "HeaderExternalIds": "External Id's:", + "LabelDvdSeasonNumber": "Dvd season number:", + "LabelDvdEpisodeNumber": "Dvd episode number:", + "LabelAbsoluteEpisodeNumber": "Absolute episode number:", + "LabelAirsBeforeSeason": "Airs before season:", + "LabelAirsAfterSeason": "Airs after season:", + "LabelAirsBeforeEpisode": "Airs before episode:", + "LabelTreatImageAs": "Treat image as:", + "LabelDisplayOrder": "Display order:", + "LabelDisplaySpecialsWithinSeasons": "Display specials within seasons they aired in", + "HeaderCountries": "Countries", + "HeaderGenres": "Genres", + "HeaderPlotKeywords": "Plot Keywords", + "HeaderStudios": "Studios", + "HeaderTags": "Tags", + "HeaderMetadataSettings": "Metadata Settings", + "LabelLockItemToPreventChanges": "Lock this item to prevent future changes", + "MessageLeaveEmptyToInherit": "Leave empty to inherit settings from a parent item, or the global default value.", + "TabDonate": "Donate", + "HeaderDonationType": "Donation type:", + "OptionMakeOneTimeDonation": "Make a separate donation", + "OptionOneTimeDescription": "This is an additional donation to the team to show your support. It does not have any additional benefits and will not produce a supporter key.", + "OptionLifeTimeSupporterMembership": "Lifetime supporter membership", + "OptionYearlySupporterMembership": "Yearly supporter membership", + "OptionMonthlySupporterMembership": "Monthly supporter membership", + "OptionNoTrailer": "No Trailer", + "OptionNoThemeSong": "No Theme Song", + "OptionNoThemeVideo": "No Theme Video", + "LabelOneTimeDonationAmount": "Donation amount:", + "ButtonDonate": "Donate", + "OptionActor": "Actor", + "OptionComposer": "Composer", + "OptionDirector": "Director", + "OptionGuestStar": "Guest star", + "OptionProducer": "Producer", + "OptionWriter": "Writer", + "LabelAirDays": "Air days:", + "LabelAirTime": "Air time:", + "HeaderMediaInfo": "Media Info", + "HeaderPhotoInfo": "Photo Info", + "HeaderInstall": "Install", + "LabelSelectVersionToInstall": "Select version to install:", + "LinkSupporterMembership": "Learn about the Supporter Membership", + "MessageSupporterPluginRequiresMembership": "This plugin will require an active supporter membership after the 14 day free trial.", + "MessagePremiumPluginRequiresMembership": "This plugin will require an active supporter membership in order to purchase after the 14 day free trial.", + "HeaderReviews": "Reviews", + "HeaderDeveloperInfo": "Developer Info", + "HeaderRevisionHistory": "Revision History", + "ButtonViewWebsite": "View website", + "LabelRecurringDonationCanBeCancelledHelp": "Recurring donations can be cancelled at any time from within your PayPal account.", + "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", + "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 Media Browser username or email address:", + "LabelConnectUserName": "Media Browser username\/email:", + "LabelConnectUserNameHelp": "Connect this user to a Media Browser account to enable easy sign-in access from Media Browser any app without having to know the server ip address.", + "ButtonLearnMoreAboutMediaBrowserConnect": "Learn more about Media Browser Connect", + "LabelExternalPlayers": "External players:", + "LabelExternalPlayersHelp": "Display buttons to play content in external players. This is only available on devices that support url schemes, generally Android and iOS. With external players there is generally no support for remote control or resuming.", + "HeaderSubtitleProfile": "Subtitle Profile", + "HeaderSubtitleProfiles": "Subtitle Profiles", + "HeaderSubtitleProfilesHelp": "Subtitle profiles describe the subtitle formats supported by the device.", + "LabelFormat": "Format:", + "LabelMethod": "Method:", + "LabelDidlMode": "Didl mode:", + "OptionCaptionInfoExSamsung": "CaptionInfoEx (Samsung)", + "OptionResElement": "res element", + "OptionEmbedSubtitles": "Embed within container", + "OptionExternallyDownloaded": "External download", + "OptionHlsSegmentedSubtitles": "Hls segmented subtitles", + "LabelSubtitleFormatHelp": "Example: srt", + "ButtonLearnMore": "Learn more", + "TabPlayback": "Playback", + "HeaderTrailersAndExtras": "Trailers & Extras", + "OptionFindTrailers": "Find trailers from the internet automatically", + "HeaderLanguagePreferences": "Language Preferences", + "TabCinemaMode": "Cinema Mode", + "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.", + "OptionTrailersFromMyMovies": "Include trailers from movies in my library", + "OptionUpcomingMoviesInTheaters": "Include trailers from new and upcoming movies", + "LabelLimitIntrosToUnwatchedContent": "Only use trailers from unwatched content", + "LabelEnableIntroParentalControl": "Enable smart parental control", + "LabelEnableIntroParentalControlHelp": "Trailers will only be selected with a parental rating equal to or less than the content being watched.", + "LabelTheseFeaturesRequireSupporterHelpAndTrailers": "These features require an active supporter membership and installation of the Trailer channel plugin.", + "OptionTrailersFromMyMoviesHelp": "Requires setup of local trailers.", + "LabelCustomIntrosPath": "Custom intros path:", + "LabelCustomIntrosPathHelp": "A folder containing video files. A video will be randomly selected and played after trailers.", + "ValueSpecialEpisodeName": "Special - {0}", + "LabelSelectInternetTrailersForCinemaMode": "Internet trailers:", + "OptionUpcomingDvdMovies": "Include trailers from new and upcoming movies on Dvd & Blu-ray", + "OptionUpcomingStreamingMovies": "Include trailers from new and upcoming movies on Netflix", + "LabelDisplayTrailersWithinMovieSuggestions": "Display trailers within movie suggestions", + "LabelDisplayTrailersWithinMovieSuggestionsHelp": "Requires installation of the Trailer channel.", + "CinemaModeConfigurationHelp2": "Individual users will have the ability to disable cinema mode within their own preferences.", + "LabelEnableCinemaMode": "Enable cinema mode", + "HeaderCinemaMode": "Cinema Mode", + "LabelDateAddedBehavior": "Date added behavior for new content:", + "OptionDateAddedImportTime": "Use date scanned into the library", + "OptionDateAddedFileTime": "Use file creation date", + "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", + "TabCameraUpload": "Camera Upload", + "TabDevices": "Devices", + "HeaderCameraUploadHelp": "Automatically upload photos and videos taken from your mobile devices into Media Browser.", + "MessageNoDevicesSupportCameraUpload": "You currently don't have any devices that support camera upload.", + "LabelCameraUploadPath": "Camera upload path:", + "LabelCameraUploadPathHelp": "Select a custom upload path, if desired. If unspecified 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:", + "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 Media Browser website, or their email address.", + "HeaderInviteUserHelp": "Sharing your media with friends is easier than ever before with Media Browser Connect.", + "ButtonSendInvitation": "Send Invitation", + "HeaderSignInWithConnect": "Sign in with Media Browser Connect", + "HeaderGuests": "Guests", + "HeaderLocalUsers": "Local Users", + "HeaderPendingInvitations": "Pending Invitations", + "TabParentalControl": "Parental Control", + "HeaderAccessSchedule": "Access Schedule", + "HeaderAccessScheduleHelp": "Create an access schedule to limit access to certain hours.", + "ButtonAddSchedule": "Add Schedule", + "LabelAccessDay": "Day of week:", + "LabelAccessStart": "Start time:", + "LabelAccessEnd": "End time:", + "HeaderSchedule": "Schedule", + "OptionEveryday": "Every day", + "OptionWeekdays": "Weekdays", + "OptionWeekends": "Weekends", + "MessageProfileInfoSynced": "User profile information synced with Media Browser Connect.", + "HeaderOptionalLinkMediaBrowserAccount": "Optional: Link your Media Browser account", + "ButtonTrailerReel": "Trailer reel", + "HeaderTrailerReel": "Trailer Reel", + "OptionPlayUnwatchedTrailersOnly": "Play only unwatched trailers", + "HeaderTrailerReelHelp": "Start a trailer reel to play a long running playlist of trailers.", + "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", + "OptionDisableUserPreferences": "Disable access to user preferences", + "OptionDisableUserPreferencesHelp": "If enabled, only administrators will be able to configure user profile images, passwords, and language preferences.", + "HeaderSelectServer": "Select 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", + "HeaderDashboardUserPassword": "User passwords are managed within each user's personal profile settings.", + "HeaderLibraryAccess": "Library Access", + "HeaderChannelAccess": "Channel Access", + "HeaderLatestItems": "Latest Items", + "LabelSelectLastestItemsFolders": "Include media from the following sections in Latest Items", + "HeaderShareMediaFolders": "Share Media Folders", + "MessageGuestSharingPermissionsHelp": "Most features are initially unavailable to guests but can be enabled as needed.", + "HeaderInvitations": "Invitations", + "LabelForgotPasswordUsernameHelp": "Enter your username, if you remember it.", + "HeaderForgotPassword": "Forgot Password", + "TitleForgotPassword": "Forgot Password", + "TitlePasswordReset": "Password Reset", + "LabelPasswordRecoveryPinCode": "Pin code:", + "HeaderPasswordReset": "Password Reset", + "HeaderParentalRatings": "Parental Ratings", + "HeaderVideoTypes": "Video Types", + "HeaderYears": "Years", + "HeaderAddTag": "Add Tag", + "LabelBlockItemsWithTags": "Block items with tags:", + "LabelTag": "Tag:", + "LabelEnableSingleImageInDidlLimit": "Limit to single embedded image", + "LabelEnableSingleImageInDidlLimitHelp": "Some devices will not render properly if multiple images are embedded within Didl.", + "TabActivity": "Activity", + "TitleSync": "Sync", + "OptionAllowSyncContent": "Allow syncing media to devices", + "NameSeasonUnknown": "Season Unknown", + "NameSeasonNumber": "Season {0}", + "LabelNewUserNameHelp": "Usernames can contain letters (a-z), numbers (0-9), dashes (-), underscores (_), apostrophes ('), and periods (.)", + "TabJobs": "Jobs", + "TabSyncJobs": "Sync Jobs" +} \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/Server/ca.json b/MediaBrowser.Server.Implementations/Localization/Server/ca.json index 20f2e7669..340a9ee7b 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/ca.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/ca.json @@ -46,6 +46,8 @@ "OptionEnableWebClientResourceMinification": "Enable web client resource minification", "LabelDashboardSourcePath": "Web client source path:", "LabelDashboardSourcePathHelp": "If running the server from source, specify the path to the dashboard-ui folder. All web client files will be served from this location.", + "ButtonConvertMedia": "Convert media", + "ButtonOrganize": "Organize", "ButtonOk": "Ok", "ButtonCancel": "Cancel", "ButtonNew": "New", @@ -79,6 +81,7 @@ "ReferToMediaLibraryWiki": "Refer to the media library wiki.", "LabelCountry": "Country:", "LabelLanguage": "Language:", + "ButtonJoinTheDevelopmentTeam": "Join the Development Team", "HeaderPreferredMetadataLanguage": "Preferred metadata language:", "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.", @@ -97,6 +100,7 @@ "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", "LabelUnairedMissingEpisodesWithinSeasons": "Display unaired episodes within seasons", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/cs.json b/MediaBrowser.Server.Implementations/Localization/Server/cs.json index 16b8c1230..79ca05ebc 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/cs.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/cs.json @@ -46,6 +46,8 @@ "OptionEnableWebClientResourceMinification": "Enable web client resource minification", "LabelDashboardSourcePath": "Web client source path:", "LabelDashboardSourcePathHelp": "If running the server from source, specify the path to the dashboard-ui folder. All web client files will be served from this location.", + "ButtonConvertMedia": "Convert media", + "ButtonOrganize": "Organize", "ButtonOk": "Ok", "ButtonCancel": "Zru\u0161it", "ButtonNew": "Nov\u00e9", @@ -79,6 +81,7 @@ "ReferToMediaLibraryWiki": "Pod\u00edvejte se na wiki knihovny m\u00e9di\u00ed.", "LabelCountry": "Zem\u011b:", "LabelLanguage": "Jazyk:", + "ButtonJoinTheDevelopmentTeam": "Join the Development Team", "HeaderPreferredMetadataLanguage": "Preferovan\u00fd jazyk metadat:", "LabelSaveLocalMetadata": "Ulo\u017eit p\u0159ebaly a metadata do slo\u017eky s m\u00e9dii", "LabelSaveLocalMetadataHelp": "Povol\u00edte-li ulo\u017een\u00ed p\u0159ebal\u016f a metadat do slo\u017eky s m\u00e9dii bude mo\u017en\u00e9 je jednodu\u0161e upravovat.", @@ -97,6 +100,7 @@ "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": "Zobrazit chyb\u011bj\u00edc\u00ed epizody", "LabelUnairedMissingEpisodesWithinSeasons": "Zobrazit neprov\u011btran\u00e9 epizody v r\u00e1mci sez\u00f3n", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/da.json b/MediaBrowser.Server.Implementations/Localization/Server/da.json index 8c2620e9c..c31bc43c2 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/da.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/da.json @@ -46,6 +46,8 @@ "OptionEnableWebClientResourceMinification": "Enable web client resource minification", "LabelDashboardSourcePath": "Web client source path:", "LabelDashboardSourcePathHelp": "If running the server from source, specify the path to the dashboard-ui folder. All web client files will be served from this location.", + "ButtonConvertMedia": "Convert media", + "ButtonOrganize": "Organize", "ButtonOk": "Ok", "ButtonCancel": "Annuller", "ButtonNew": "Ny", @@ -79,6 +81,7 @@ "ReferToMediaLibraryWiki": "Der henvises til medie bibliotekets wiki.", "LabelCountry": "Land:", "LabelLanguage": "Sprog:", + "ButtonJoinTheDevelopmentTeam": "Join the Development Team", "HeaderPreferredMetadataLanguage": "Foretrukket metadata sprog:", "LabelSaveLocalMetadata": "Gem illustrationer og metadata i medie mapper", "LabelSaveLocalMetadataHelp": "Lagring af illustrationer og metadata i medie mapper, vil placerer dem et sted hvor de nemt kan redigeres.", @@ -97,6 +100,7 @@ "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": "Vis manglende episoder i s\u00e6soner", "LabelUnairedMissingEpisodesWithinSeasons": "Vis endnu ikke sendte episoder i s\u00e6soner", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/de.json b/MediaBrowser.Server.Implementations/Localization/Server/de.json index 016e764df..901cd8b8c 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/de.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/de.json @@ -40,21 +40,23 @@ "OptionIAcceptTermsOfService": "Ich akzeptiere die Nutzungsbedingungen.", "ButtonPrivacyPolicy": "Datenschutzbestimmungen", "ButtonTermsOfService": "Nutzungsbedingungen", - "HeaderDeveloperOptions": "Developer Options", - "OptionEnableWebClientResponseCache": "Enable web client response caching", - "OptionDisableForDevelopmentHelp": "Configure these as needed for web client development purposes.", - "OptionEnableWebClientResourceMinification": "Enable web client resource minification", - "LabelDashboardSourcePath": "Web client source path:", - "LabelDashboardSourcePathHelp": "If running the server from source, specify the path to the dashboard-ui folder. All web client files will be served from this location.", + "HeaderDeveloperOptions": "Entwickleroptionen", + "OptionEnableWebClientResponseCache": "Aktiviere die Antwortzwischenspeicherung des Web Clients", + "OptionDisableForDevelopmentHelp": "Konfiguriere diese Einstellungen f\u00fcr die ben\u00f6tigten Entwicklungszwecke des Web Clients.", + "OptionEnableWebClientResourceMinification": "Aktiviere die Ressourcenminimierung des Web Clients", + "LabelDashboardSourcePath": "Web Client Sourcepfad:", + "LabelDashboardSourcePathHelp": "Spezifiziere den Pfad zum Dashboard-UI-Verzeichniss, falls der Server von der Source ausgef\u00fchrt wird. Alle Web-Client-Dateien werden von diesem Pfad aus bedient werden.", + "ButtonConvertMedia": "Convert media", + "ButtonOrganize": "Organize", "ButtonOk": "Ok", "ButtonCancel": "Abbrechen", "ButtonNew": "Neu", "HeaderTV": "TV", "HeaderAudio": "Audio", "HeaderVideo": "Video", - "HeaderPaths": "Paths", - "TitleNotifications": "Notifications", - "ButtonDonateWithPayPal": "Donate with PayPal", + "HeaderPaths": "Pfade", + "TitleNotifications": "Benachrichtigungen", + "ButtonDonateWithPayPal": "Spende mit PayPal", "OptionDetectArchiveFilesAsMedia": "Behandle Archive wie Medien", "OptionDetectArchiveFilesAsMediaHelp": "Wenn aktiviert werden .rar und .zip Datei-Erweiterungen wie Medien behandelt.", "LabelEnterConnectUserName": "Benutzername oder Email:", @@ -72,13 +74,14 @@ "FolderTypeTvShows": "TV", "FolderTypeInherit": "\u00dcbernehmen", "LabelContentType": "Inhalte-Typ:", - "TitleScheduledTasks": "Scheduled Tasks", + "TitleScheduledTasks": "Geplante Aufgaben", "HeaderSetupLibrary": "Medienbibliothek einrichten", "ButtonAddMediaFolder": "Medienverzeichnis hinzuf\u00fcgen", "LabelFolderType": "Verzeichnistyp:", "ReferToMediaLibraryWiki": "Siehe die Medienbibliothek Wiki", "LabelCountry": "Land:", "LabelLanguage": "Sprache:", + "ButtonJoinTheDevelopmentTeam": "Join the Development Team", "HeaderPreferredMetadataLanguage": "Bevorzugte Metadata Sprache:", "LabelSaveLocalMetadata": "Speichere Bildmaterial und Metadaten in den Medienverzeichnissen", "LabelSaveLocalMetadataHelp": "Durch die Speicherung von Bildmaterial und Metadaten direkt in den Medienverzeichnissen, befinden sich diese an einem Ort wo sie sehr leicht bearbeitet werden k\u00f6nnen.", @@ -97,6 +100,7 @@ "HeaderDeviceAccess": "Ger\u00e4te Zugang", "OptionEnableAccessFromAllDevices": "Zugriff von allen Ger\u00e4ten erlauben", "OptionEnableAccessToAllChannels": "Aktiviere Zugriff auf alle Kan\u00e4le", + "OptionEnableAccessToAllLibraries": "Enable access to all libraries", "DeviceAccessHelp": "Dies wird nur auf Ger\u00e4te angewandt die eindeutig identifiziert werden k\u00f6nnen und verhindert nicht den Web-Zugriff. Gefilterter Zugriff auf Ger\u00e4te verhindert die Nutzung neuer Ger\u00e4te solange, bis der Zugriff f\u00fcr diese freigegeben wird.", "LabelDisplayMissingEpisodesWithinSeasons": "Zeige fehlende Episoden innerhalb von Staffeln", "LabelUnairedMissingEpisodesWithinSeasons": "Zeige noch nicht ausgestahlte Episoden innerhalb von Staffeln", @@ -310,7 +314,7 @@ "LabelCachePath": "Cache Pfad:", "LabelCachePathHelp": "W\u00e4hle eine Verzeichnis f\u00fcr Server Cache Dateien, wie z.B. Bilddateien.", "LabelImagesByNamePath": "Images by name Pfad:", - "LabelImagesByNamePathHelp": "Specify a custom location for downloaded actor, genre and studio images.", + "LabelImagesByNamePathHelp": "Spezifiziere eine individuelles Verzeichnis, f\u00fcr die heruntergeladenen Bilder der Darsteller, Genres und Studios.", "LabelMetadataPath": "Metadata Pfad:", "LabelMetadataPathHelp": "W\u00e4hle ein Verzeichnis f\u00fcr heruntergeladenes Bildmaterial und Metadaten, falls diese nicht innerhalb der Medienverzeichnisse gespeichert werden sollen.", "LabelTranscodingTempPath": "Tempor\u00e4rer Transcoding Pfad:", @@ -500,7 +504,7 @@ "HeaderSystemPaths": "Systempfade", "LinkCommunity": "Community", "LinkGithub": "Github", - "LinkApi": "Api", + "LinkApi": "API", "LinkApiDocumentation": "Api Dokumentation", "LabelFriendlyServerName": "Freundlicher Servername:", "LabelFriendlyServerNameHelp": "Dieser Name wird benutzt um diesen Server zu identifizieren. Wenn leer gelassen, wird der Computername benutzt.", @@ -513,23 +517,23 @@ "NewCollectionNameExample": "Beispiel: Star Wars Collection", "OptionSearchForInternetMetadata": "Suche im Internet nach Bildmaterial und Metadaten", "ButtonCreate": "Kreieren", - "LabelCustomCss": "Custom css:", - "LabelCustomCssHelp": "Apply your own custom css to the web interface.", - "LabelLocalHttpServerPortNumber": "Local http port number:", + "LabelCustomCss": "Benutzerdefinierte CSS:", + "LabelCustomCssHelp": "Wende deine eigene, benutzerdefinierte CSS f\u00fcr das Webinterface an.", + "LabelLocalHttpServerPortNumber": "Lokale HTTP Portnummer:", "LabelLocalHttpServerPortNumberHelp": "Die TCP-Port-Nummer, an die der http-Server von Media Browser gebunden werden soll.", - "LabelPublicHttpPort": "Public http port number:", - "LabelPublicHttpPortHelp": "The public port number that should be mapped to the local http port.", - "LabelPublicHttpsPort": "Public https port number:", - "LabelPublicHttpsPortHelp": "The public port number that should be mapped to the local https port.", - "LabelEnableHttps": "Report https as external address", - "LabelEnableHttpsHelp": "If enabled, the server will report an https url to clients as it's external address. This may break clients that do not yet support https.", - "LabelHttpsPort": "Local https port number:", - "LabelHttpsPortHelp": "The tcp port number that Media Browser's https server should bind to.", + "LabelPublicHttpPort": "\u00d6ffentliche HTTP Portnummer:", + "LabelPublicHttpPortHelp": "Die \u00f6ffentliche Portnummer sollte einem lokalen HTTP Port zugewiesen werden.", + "LabelPublicHttpsPort": "\u00d6ffentliche HTTPS Portnummer:", + "LabelPublicHttpsPortHelp": "Die \u00f6ffentliche Portnummer sollte einem lokalen HTTPS Port zugewiesen werden.", + "LabelEnableHttps": "Gebe HTTPS als externe Adresse aus", + "LabelEnableHttpsHelp": "Falls aktiviert, gibt der Server eine HTTPS URL als seine externe Adresse an die Clients weiter. Dies kann Clients deaktivieren, die kein HTTPS unterst\u00fctzen.", + "LabelHttpsPort": "Lokale HTTPS Portnummer:", + "LabelHttpsPortHelp": "Die TCP Portnummer, an die der HTTPS Server von Media Browser gebunden werden soll.", "LabelWebSocketPortNumber": "Web Socket Port Nummer:", "LabelEnableAutomaticPortMap": "Aktiviere das automatische Port-Mapping", "LabelEnableAutomaticPortMapHelp": "Versuche automatisch den \u00f6ffentlichen Port dem lokalen Port mit Hilfe von UPnP zuzuordnen. Dies kann mit einigen Router-Modellen nicht funktionieren.", - "LabelExternalDDNS": "External WAN Address:", - "LabelExternalDDNSHelp": "If you have a dynamic DNS enter it here. Media Browser apps will use it when connecting remotely. Leave empty for automatic detection.", + "LabelExternalDDNS": "Externe WAN Adresse:", + "LabelExternalDDNSHelp": "Falls du eine dynamische DNS nutzt, gib diese hier ein. Media Browser Apps werden diese nutzen, wenn von au\u00dfen auf sie zugegriffen wird. Lasse das Feld f\u00fcr eine automatische Erkennung frei.", "TabResume": "Fortsetzen", "TabWeather": "Wetter", "TitleAppSettings": "App Einstellungen", @@ -1302,7 +1306,7 @@ "MessageNoTrailersFound": "Keine Trailer gefunden. Installieren Sie den Trailer-Channel um Ihre Film-Bibliothek mit Trailer aus dem Internet zu erweitern.", "HeaderNewUsers": "Neue Benutzer", "ButtonSignUp": "Anmeldung", - "ButtonForgotPassword": "Forgot password", + "ButtonForgotPassword": "Passwort vergessen", "OptionDisableUserPreferences": "Deaktiviere den Zugriff auf Benutzereinstellungen", "OptionDisableUserPreferencesHelp": "Falls aktiviert, werden nur Administratoren die M\u00f6glichkeit haben, Benutzerbilder, Passw\u00f6rter und Spracheinstellungen zu bearbeiten.", "HeaderSelectServer": "W\u00e4hle Server", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/el.json b/MediaBrowser.Server.Implementations/Localization/Server/el.json index 3ce1a9d5e..6d2060729 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/el.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/el.json @@ -46,6 +46,8 @@ "OptionEnableWebClientResourceMinification": "Enable web client resource minification", "LabelDashboardSourcePath": "Web client source path:", "LabelDashboardSourcePathHelp": "If running the server from source, specify the path to the dashboard-ui folder. All web client files will be served from this location.", + "ButtonConvertMedia": "Convert media", + "ButtonOrganize": "Organize", "ButtonOk": "\u03b5\u03bd\u03c4\u03ac\u03be\u03b5\u03b9", "ButtonCancel": "\u0391\u03ba\u03cd\u03c1\u03c9\u03c3\u03b7 ", "ButtonNew": "New", @@ -79,6 +81,7 @@ "ReferToMediaLibraryWiki": "\u0391\u03bd\u03b1\u03c4\u03c1\u03b5\u03be\u03c4\u03b5 \u03c3\u03c4\u03bf media \u03b2\u03b9\u03b2\u03bb\u03b9\u03bf\u03b8\u03ae\u03ba\u03b7 wiki", "LabelCountry": "T\u03b7 \u03c7\u03ce\u03c1\u03b1", "LabelLanguage": "\u03a4\u03b7 \u03b3\u03bb\u03ce\u03c3\u03c3\u03b1", + "ButtonJoinTheDevelopmentTeam": "Join the Development Team", "HeaderPreferredMetadataLanguage": "\u03a0\u03c1\u03bf\u03c4\u03b9\u03bc\u03ce\u03bc\u03b5\u03bd\u03b7 \u03b3\u03bb\u03ce\u03c3\u03c3\u03b1 \u03bc\u03b5\u03c4\u03b1", "LabelSaveLocalMetadata": "\u0391\u03c0\u03bf\u03b8\u03b7\u03ba\u03b5\u03cd\u03c3\u03b5\u03c4\u03b5 \u03c4\u03bf \u03ad\u03c1\u03b3\u03bf \u03c4\u03ad\u03c7\u03bd\u03b7\u03c2 \u03ba\u03b1\u03b9 \u03c4\u03b1 \u03bc\u03b5\u03c4\u03b1\u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03b1 \u03c3\u03b5 \u03c6\u03b1\u03ba\u03ad\u03bb\u03bf\u03c5\u03c2 \u03c0\u03bf\u03bb\u03c5\u03bc\u03ad\u03c3\u03c9\u03bd", "LabelSaveLocalMetadataHelp": "\u0391\u03c0\u03bf\u03b8\u03ae\u03ba\u03b5\u03c5\u03c3\u03b7 artwork \u03ba\u03b1\u03b9 \u03bc\u03b5\u03c4\u03b1-\u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03b1 \u03b1\u03c0\u03b5\u03c5\u03b8\u03b5\u03af\u03b1\u03c2 \u03c3\u03b5 \u03c6\u03b1\u03ba\u03ad\u03bb\u03bf\u03c5\u03c2 \u03bc\u03ad\u03c3\u03c9\u03bd \u03b8\u03b1 \u03c4\u03bf\u03c5\u03c2 \u03b8\u03ad\u03c3\u03b5\u03b9 \u03c3\u03b5 \u03ad\u03bd\u03b1 \u03c4\u03cc\u03c0\u03bf \u03cc\u03c0\u03bf\u03c5 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bd \u03b5\u03cd\u03ba\u03bf\u03bb\u03b1 \u03bd\u03b1 \u03b5\u03c0\u03b5\u03be\u03b5\u03c1\u03b3\u03b1\u03c3\u03c4\u03b5\u03af\u03c4\u03b5.", @@ -97,6 +100,7 @@ "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": "\u03b4\u03b5\u03af\u03c7\u03bd\u03bf\u03c5\u03bd \u03bb\u03b5\u03af\u03c0\u03b5\u03b9 \u03b5\u03c0\u03b5\u03b9\u03c3\u03cc\u03b4\u03b9\u03b1 \u03b5\u03bd\u03c4\u03cc\u03c2 \u03b5\u03c0\u03bf\u03c7\u03ad\u03c2", "LabelUnairedMissingEpisodesWithinSeasons": "\u03b4\u03b5\u03af\u03c7\u03bd\u03bf\u03c5\u03bd unaired \u03b5\u03c0\u03b5\u03b9\u03c3\u03cc\u03b4\u03b9\u03b1 \u03b5\u03bd\u03c4\u03cc\u03c2 \u03b5\u03c0\u03bf\u03c7\u03ad\u03c2", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/en_GB.json b/MediaBrowser.Server.Implementations/Localization/Server/en_GB.json index fc7761b2a..bb0f1f098 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/en_GB.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/en_GB.json @@ -46,6 +46,8 @@ "OptionEnableWebClientResourceMinification": "Enable web client resource minification", "LabelDashboardSourcePath": "Web client source path:", "LabelDashboardSourcePathHelp": "If running the server from source, specify the path to the dashboard-ui folder. All web client files will be served from this location.", + "ButtonConvertMedia": "Convert media", + "ButtonOrganize": "Organize", "ButtonOk": "Ok", "ButtonCancel": "Cancel", "ButtonNew": "New", @@ -79,6 +81,7 @@ "ReferToMediaLibraryWiki": "Refer to the media library wiki.", "LabelCountry": "Country:", "LabelLanguage": "Language:", + "ButtonJoinTheDevelopmentTeam": "Join the Development Team", "HeaderPreferredMetadataLanguage": "Preferred metadata language:", "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.", @@ -97,6 +100,7 @@ "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", "LabelUnairedMissingEpisodesWithinSeasons": "Display unaired episodes within seasons", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/en_US.json b/MediaBrowser.Server.Implementations/Localization/Server/en_US.json index 0179373f1..2947adc19 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/en_US.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/en_US.json @@ -46,6 +46,8 @@ "OptionEnableWebClientResourceMinification": "Enable web client resource minification", "LabelDashboardSourcePath": "Web client source path:", "LabelDashboardSourcePathHelp": "If running the server from source, specify the path to the dashboard-ui folder. All web client files will be served from this location.", + "ButtonConvertMedia": "Convert media", + "ButtonOrganize": "Organize", "ButtonOk": "Ok", "ButtonCancel": "Cancel", "ButtonNew": "New", @@ -79,6 +81,7 @@ "ReferToMediaLibraryWiki": "Refer to the media library wiki.", "LabelCountry": "Country:", "LabelLanguage": "Language:", + "ButtonJoinTheDevelopmentTeam": "Join the Development Team", "HeaderPreferredMetadataLanguage": "Preferred metadata language:", "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.", @@ -97,6 +100,7 @@ "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", "LabelUnairedMissingEpisodesWithinSeasons": "Display unaired episodes within seasons", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/es.json b/MediaBrowser.Server.Implementations/Localization/Server/es.json index fa48488af..4f28ddb60 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/es.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/es.json @@ -46,6 +46,8 @@ "OptionEnableWebClientResourceMinification": "Enable web client resource minification", "LabelDashboardSourcePath": "Web client source path:", "LabelDashboardSourcePathHelp": "If running the server from source, specify the path to the dashboard-ui folder. All web client files will be served from this location.", + "ButtonConvertMedia": "Convert media", + "ButtonOrganize": "Organize", "ButtonOk": "OK", "ButtonCancel": "Cancelar", "ButtonNew": "Nuevo", @@ -79,6 +81,7 @@ "ReferToMediaLibraryWiki": "Consultar el wiki de la biblioteca de medios", "LabelCountry": "Pa\u00eds:", "LabelLanguage": "Idioma:", + "ButtonJoinTheDevelopmentTeam": "Join the Development Team", "HeaderPreferredMetadataLanguage": "Idioma preferido para metadata", "LabelSaveLocalMetadata": "Guardar im\u00e1genes y metadata en las carpetas de medios", "LabelSaveLocalMetadataHelp": "Guardar im\u00e1genes y metadata directamente en las carpetas de medios, permitir\u00e1 colocarlas en un lugar donde se pueden editar f\u00e1cilmente.", @@ -97,6 +100,7 @@ "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": "Mostar episodios no disponibles en temporadas", "LabelUnairedMissingEpisodesWithinSeasons": "Mostrar episodios a\u00fan no emitidos en temporadas", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/es_ES.json b/MediaBrowser.Server.Implementations/Localization/Server/es_ES.json deleted file mode 100644 index 02412b97f..000000000 --- a/MediaBrowser.Server.Implementations/Localization/Server/es_ES.json +++ /dev/null @@ -1,872 +0,0 @@ -{ - "LabelExit": "Salir", - "LabelVisitCommunity": "Visitar la comunidad", - "LabelGithubWiki": "Wiki de Github", - "LabelSwagger": "Swagger", - "LabelStandard": "Est\u00e1ndar", - "LabelViewApiDocumentation": "Ver documentacion de Api", - "LabelBrowseLibrary": "Navegar biblioteca", - "LabelConfigureMediaBrowser": "Configurar Media Browser", - "LabelOpenLibraryViewer": "Abrir el visor de la biblioteca", - "LabelRestartServer": "Reiniciar el servidor", - "LabelShowLogWindow": "Mostrar la ventana del log", - "LabelPrevious": "Anterior", - "LabelFinish": "Terminar", - "LabelNext": "Siguiente", - "LabelYoureDone": "Ha Terminado!", - "WelcomeToMediaBrowser": "\u00a1Bienvenido a Media Browser!", - "TitleMediaBrowser": "Media Browser", - "ThisWizardWillGuideYou": "Este asistente lo guiar\u00e1 por el proceso de instalaci\u00f3n. Para comenzar seleccione su idioma preferido.", - "TellUsAboutYourself": "D\u00edganos acerca de usted", - "LabelYourFirstName": "Su nombre:", - "MoreUsersCanBeAddedLater": "M\u00e1s usuarios pueden agregarse m\u00e1s tarde en el panel de control.", - "UserProfilesIntro": "Media Browser incluye soporte integrado para los perfiles de usuario, lo que permite que cada usuario tenga su propia configuraci\u00f3n de la pantalla, estado de reproducci\u00f3n y control parental.", - "LabelWindowsService": "Servicio de Windows", - "AWindowsServiceHasBeenInstalled": "Un servicio de Windows se ha instalado", - "WindowsServiceIntro1": "Media Browser Server se ejecuta normalmente como una aplicaci\u00f3n de escritorio con un icono de la bandeja, pero si prefiere ejecutarlo como un servicio en segundo plano, se puede iniciar desde el panel de control de servicios de Windows en su lugar.", - "WindowsServiceIntro2": "Si se utiliza el servicio de Windows, tenga en cuenta que no se puede ejecutar al mismo tiempo que el icono de la bandeja, por lo que tendr\u00e1 que salir de la bandeja con el fin de ejecutar el servicio. Tambi\u00e9n tendr\u00e1 que ser configurado con privilegios administrativos a trav\u00e9s del panel de control del servicio. Tenga en cuenta que en este momento el servicio no es capaz de auto-actualizaci\u00f3n, por lo que las nuevas versiones requieren la interacci\u00f3n manual.", - "WizardCompleted": "Eso es todo lo que necesitamos por ahora. Media Browser ha comenzado a reunir informaci\u00f3n sobre su biblioteca de medios. Echa un vistazo a algunas de nuestras aplicaciones, y luego haga clic en Finalizar<\/b> para ver el Panel de control<\/b>.", - "LabelConfigureSettings": "Configuraci\u00f3n de opciones", - "LabelEnableVideoImageExtraction": "Habilitar extracci\u00f3n de im\u00e1genes de video", - "VideoImageExtractionHelp": "Para los v\u00eddeos que no dispongan de im\u00e1genes y que no podemos encontrar en Internet. Esto agregar\u00e1 un tiempo adicional para la exploraci\u00f3n inicial de bibliotecas, pero resultar\u00e1 en una presentaci\u00f3n m\u00e1s agradable.", - "LabelEnableChapterImageExtractionForMovies": "Extraer im\u00e1genes de cap\u00edtulos para pel\u00edculas", - "LabelChapterImageExtractionForMoviesHelp": "Extraer im\u00e1genes de cap\u00edtulo permitir\u00e1 a los clientes mostrar men\u00fas gr\u00e1ficos de selecci\u00f3n de escenas. El proceso puede ser lento, intensivo en utilizaci\u00f3n del CPU y puede requerir varios gigabytes de espacio. Se ejecuta como una tarea nocturna, a las 4 de la ma\u00f1ana, aunque esto se puede configurar en el \u00e1rea de tareas programadas. No se recomienda ejecutar esta tarea durante las horas pico de uso.", - "LabelEnableAutomaticPortMapping": "Habilitar asignaci\u00f3n de puertos autom\u00e1tico", - "LabelEnableAutomaticPortMappingHelp": "UPnP permite la configuraci\u00f3n del router para acceso externo de forma f\u00e1cil y autom\u00e1tica. Esto puede no funcionar en algunos modelos de routers.", - "ButtonOk": "OK", - "ButtonCancel": "Cancelar", - "ButtonNew": "Nuevo", - "HeaderSetupLibrary": "Configurar biblioteca de medios", - "ButtonAddMediaFolder": "Agregar una carpeta de medios", - "LabelFolderType": "Tipo de carpeta:", - "MediaFolderHelpPluginRequired": "* Requiere el uso de un plugin, por ejemplo GameBrowser o MB Bookshelf", - "ReferToMediaLibraryWiki": "Consultar el wiki de la biblioteca de medios", - "LabelCountry": "Pa\u00eds:", - "LabelLanguage": "Idioma:", - "HeaderPreferredMetadataLanguage": "Idioma preferido para metadata", - "LabelSaveLocalMetadata": "Guardar im\u00e1genes y metadata en las carpetas de medios", - "LabelSaveLocalMetadataHelp": "Guardar im\u00e1genes y metadata directamente en las carpetas de medios, permitir\u00e1 colocarlas en un lugar donde se pueden editar f\u00e1cilmente.", - "LabelDownloadInternetMetadata": "Descargar imagenes y metadata de internet", - "LabelDownloadInternetMetadataHelp": "Media Browser permite descargar informaci\u00f3n acerca de su media para enriquecer la presentaci\u00f3n.", - "TabPreferences": "Preferencias", - "TabPassword": "Contrase\u00f1a", - "TabLibraryAccess": "Acceso a biblioteca", - "TabImage": "imagen", - "TabProfile": "Perfil", - "TabMetadata": "Metadata", - "TabImages": "Im\u00e1genes", - "TabNotifications": "Notificaciones", - "TabCollectionTitles": "T\u00edtulos", - "LabelDisplayMissingEpisodesWithinSeasons": "Mostar episodios no disponibles en temporadas", - "LabelUnairedMissingEpisodesWithinSeasons": "Mostrar episodios a\u00fan no emitidos en temporadas", - "HeaderVideoPlaybackSettings": "Ajustes de Reproducci\u00f3n de Video", - "HeaderPlaybackSettings": "Ajustes de reproducci\u00f3n", - "LabelAudioLanguagePreference": "Preferencia de idioma de audio", - "LabelSubtitleLanguagePreference": "Preferencia de idioma de subtitulos", - "OptionDefaultSubtitles": "Por defecto", - "OptionOnlyForcedSubtitles": "S\u00f3lo subt\u00edtulos forzados", - "OptionAlwaysPlaySubtitles": "Mostrar siempre subt\u00edtulos", - "OptionNoSubtitles": "Sin subt\u00edtulos", - "OptionDefaultSubtitlesHelp": "Los subt\u00edtulos que concuerden con la preferencia de idioma se cargar\u00e1n cuando el audio est\u00e9 en un idioma extranjero.", - "OptionOnlyForcedSubtitlesHelp": "S\u00f3lo se cargar\u00e1n los subt\u00edtulos marcados como forzados.", - "OptionAlwaysPlaySubtitlesHelp": "Los subt\u00edtulos que concuerden con la preferencia de idioma se cargar\u00e1n independientemente del idioma de audio.", - "OptionNoSubtitlesHelp": "Los subt\u00edtulos no se cargar\u00e1n de forma predeterminada.", - "TabProfiles": "Perfiles", - "TabSecurity": "Seguridad", - "ButtonAddUser": "Agregar Usuario", - "ButtonSave": "Grabar", - "ButtonResetPassword": "Reiniciar Contrase\u00f1a", - "LabelNewPassword": "Nueva Contrase\u00f1a:", - "LabelNewPasswordConfirm": "Confirmaci\u00f3n de contrase\u00f1a nueva:", - "HeaderCreatePassword": "Crear Contrase\u00f1a", - "LabelCurrentPassword": "Contrase\u00f1a actual", - "LabelMaxParentalRating": "M\u00e1xima clasificaci\u00f3n permitida", - "MaxParentalRatingHelp": "El contenido con clasificaci\u00f3n parental superior se ocultar\u00e1 para este usuario.", - "LibraryAccessHelp": "Seleccione las carpetas de medios para compartir con este usuario. Los administradores podr\u00e1n editar todas las carpetas usando el gestor de metadata.", - "ChannelAccessHelp": "Seleccione los canales para compartir con este usuario. Los administradores podr\u00e1n editar todos los canales mediante el gestor de metadatos.", - "ButtonDeleteImage": "Borrar imagen", - "LabelSelectUsers": "Seleccionar usuarios:", - "ButtonUpload": "Subir", - "HeaderUploadNewImage": "Subir nueva imagen", - "LabelDropImageHere": "Depositar Imagen Aqu\u00ed", - "ImageUploadAspectRatioHelp": "Se Recomienda una Proporci\u00f3n de Aspecto 1:1. Solo JPG\/PNG", - "MessageNothingHere": "Nada aqu\u00ed.", - "MessagePleaseEnsureInternetMetadata": "Por favor aseg\u00farese que la descarga de metadata de internet esta habilitada", - "TabSuggested": "Sugerencia", - "TabLatest": "Novedades", - "TabUpcoming": "Pr\u00f3ximos", - "TabShows": "Programas", - "TabEpisodes": "Episodios", - "TabGenres": "G\u00e9neros", - "TabPeople": "Gente", - "TabNetworks": "redes", - "HeaderUsers": "Usuarios", - "HeaderFilters": "Filtros:", - "ButtonFilter": "Filtro", - "OptionFavorite": "Favoritos", - "OptionLikes": "Me gusta", - "OptionDislikes": "No me gusta", - "OptionActors": "Actores", - "OptionGuestStars": "Estrellas invitadas", - "OptionDirectors": "Directores", - "OptionWriters": "Guionistas", - "OptionProducers": "Productores", - "HeaderResume": "Continuar", - "HeaderNextUp": "Siguiendo", - "NoNextUpItemsMessage": "Nada encontrado. \u00a1Comienza a ver tus programas!", - "HeaderLatestEpisodes": "Ultimos episodios", - "HeaderPersonTypes": "Tipos de personas:", - "TabSongs": "Canciones", - "TabAlbums": "Albums", - "TabArtists": "Artistas", - "TabAlbumArtists": "Album Artistas", - "TabMusicVideos": "Videos Musicales", - "ButtonSort": "Ordenar", - "HeaderSortBy": "Ordenar por:", - "HeaderSortOrder": "Ordenado por:", - "OptionPlayed": "Reproducido", - "OptionUnplayed": "No reproducido", - "OptionAscending": "Ascendente", - "OptionDescending": "Descendente", - "OptionRuntime": "Tiempo", - "OptionReleaseDate": "Fecha de estreno", - "OptionPlayCount": "N\u00famero de reproducc.", - "OptionDatePlayed": "Fecha de reproducci\u00f3n", - "OptionDateAdded": "A\u00f1adido el", - "OptionAlbumArtist": "Album Artista", - "OptionArtist": "Artista", - "OptionAlbum": "Album", - "OptionTrackName": "Nombre de pista", - "OptionCommunityRating": "Valoraci\u00f3n comunidad", - "OptionNameSort": "Nombre", - "OptionFolderSort": "Carpetas", - "OptionBudget": "Presupuesto", - "OptionRevenue": "Recaudaci\u00f3n", - "OptionPoster": "Poster", - "OptionBackdrop": "Imagen de fondo", - "OptionTimeline": "L\u00ednea de tiempo", - "OptionThumb": "Miniatura", - "OptionBanner": "Banner", - "OptionCriticRating": "Valoraci\u00f3n cr\u00edtica", - "OptionVideoBitrate": "Video Bitrate", - "OptionResumable": "Se puede continuar", - "ScheduledTasksHelp": "Click en una tarea para ajustar su programaci\u00f3n", - "ScheduledTasksTitle": "Tareas programadas", - "TabMyPlugins": "Mis Plugins", - "TabCatalog": "Cat\u00e1logo", - "PluginsTitle": "Plugins", - "HeaderAutomaticUpdates": "Actualizaciones autom\u00e1ticas", - "HeaderNowPlaying": "Reproduciendo ahora", - "HeaderLatestAlbums": "\u00dcltimos Albums", - "HeaderLatestSongs": "\u00daltimas canciones", - "HeaderRecentlyPlayed": "Reproducido recientemente", - "HeaderFrequentlyPlayed": "Reproducido frequentemente", - "DevBuildWarning": "Las actualizaciones en desarrollo no est\u00e1n convenientemente probadas. La aplicaci\u00f3n se puede bloquear y caracter\u00edsticas completas pueden no funcionar del todo.", - "LabelVideoType": "Tipo de video", - "OptionBluray": "Bluray", - "OptionDvd": "Dvd", - "OptionIso": "Iso", - "Option3D": "3D", - "LabelFeatures": "Caracter\u00edsticas", - "LabelService": "Servicio:", - "LabelStatus": "Estado:", - "LabelVersion": "Versi\u00f3n:", - "LabelLastResult": "\u00daltimo resultado:", - "OptionHasSubtitles": "Subt\u00edtulos", - "OptionHasTrailer": "Trailer", - "OptionHasThemeSong": "Banda sonora", - "OptionHasThemeVideo": "Viideotema", - "TabMovies": "Pel\u00edculas", - "TabStudios": "Estudios", - "TabTrailers": "Trailers", - "HeaderLatestMovies": "\u00daltimas pel\u00edculas", - "HeaderLatestTrailers": "\u00daltimos trailers", - "OptionHasSpecialFeatures": "Caracter\u00edsticas especiales", - "OptionImdbRating": "Valoraci\u00f3n IMDb", - "OptionParentalRating": "Clasificaci\u00f3n parental", - "OptionPremiereDate": "Fecha de estreno", - "TabBasic": "B\u00e1sico", - "TabAdvanced": "Avanzado", - "HeaderStatus": "Estado", - "OptionContinuing": "Continuando", - "OptionEnded": "Finalizado", - "HeaderAirDays": "D\u00eda emisi\u00f3n", - "OptionSunday": "Domingo", - "OptionMonday": "Lunes", - "OptionTuesday": "Martes", - "OptionWednesday": "Mi\u00e9rcoles", - "OptionThursday": "Jueves", - "OptionFriday": "Viernes", - "OptionSaturday": "S\u00e1bado", - "HeaderManagement": "Administraci\u00f3n", - "OptionMissingImdbId": "Falta IMDb Id", - "OptionMissingTvdbId": "Falta TheTVDB Id", - "OptionMissingOverview": "Falta argumento", - "OptionFileMetadataYearMismatch": "Archivo\/Metadata a\u00f1os no coinciden", - "TabGeneral": "General", - "TitleSupport": "Soporte", - "TabLog": "Log", - "TabAbout": "Acerca de", - "TabSupporterKey": "Clave de Seguidor", - "TabBecomeSupporter": "Hazte Seguidor", - "MediaBrowserHasCommunity": "Media Browser cuenta con una pr\u00f3spera comunidad de usuarios y colaboradores.", - "CheckoutKnowledgeBase": "Echa un vistazo a nuestra base de conocimiento para ayudarte a sacar el m\u00e1ximo provecho de Media Browser.", - "SearchKnowledgeBase": "Buscar en la base de conocimiento", - "VisitTheCommunity": "Visitar la comunidad", - "VisitMediaBrowserWebsite": "Visitar la web de Media Browser", - "VisitMediaBrowserWebsiteLong": "Visita la web de Media Browser para estar informado de las \u00faltimas not\u00edcias y mantenerte al d\u00eda con el blog de desarrolladores.", - "OptionHideUser": "Ocultar este usuario en las pantallas de inicio de sesi\u00f3n", - "OptionDisableUser": "Deshabilitar este usuario", - "OptionDisableUserHelp": "Si est\u00e1 deshabilitado, el servidor no aceptar\u00e1 conexiones de este usuario. Si existen conexiones de este usuario, finalizar\u00e1n inmediatamente.", - "HeaderAdvancedControl": "Control avanzado", - "LabelName": "Nombre:", - "OptionAllowUserToManageServer": "Permite a este usuario administrar el servidor", - "HeaderFeatureAccess": "Permisos de acceso", - "OptionAllowMediaPlayback": "Permitir reproducci\u00f3n de medios", - "OptionAllowBrowsingLiveTv": "Acceso a TV en vivo", - "OptionAllowDeleteLibraryContent": "Permitir a este usuario eliminar contenido de la biblioteca", - "OptionAllowManageLiveTv": "Permitir la gesti\u00f3n de las grabaciones de TV en vivo", - "OptionAllowRemoteControlOthers": "Permitir a este usuario controlar rem\u00f3tamente a otros usuarios", - "OptionMissingTmdbId": "Falta Tmdb Id", - "OptionIsHD": "HD", - "OptionIsSD": "SD", - "OptionMetascore": "Metavalor", - "ButtonSelect": "Seleccionar", - "ButtonSearch": "Buscar", - "ButtonGroupVersions": "Versiones de Grupo", - "ButtonAddToCollection": "A\u00f1adir a la colecci\u00f3n", - "PismoMessage": "Usando Pismo File Mount a trav\u00e9s de una licencia donada.", - "TangibleSoftwareMessage": "Utilizamos convertidores Java\/C# de Tangible Solutions a trav\u00e9s de una licencia donada.", - "HeaderCredits": "Cr\u00e9ditos", - "PleaseSupportOtherProduces": "Por favor apoye otros productos gratuitos que utilizamos:", - "VersionNumber": "Versi\u00f3n {0}", - "TabPaths": "Ruta", - "TabServer": "Servidor", - "TabTranscoding": "Transcodificaci\u00f3n", - "TitleAdvanced": "Avanzado", - "LabelAutomaticUpdateLevel": "Actualizaci\u00f3n de nivel autom\u00e1tica", - "OptionRelease": "Release Oficial", - "OptionBeta": "Beta", - "OptionDev": "Desarrollo", - "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.", - "LabelEnableDebugLogging": "Habilitar entrada de debug", - "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.", - "ButtonSelectDirectory": "Seleccionar directorio", - "LabelCustomPaths": "Especificar las rutas personalizadas que desee. D\u00e9jelo en blanco para usar las rutas por defecto.", - "LabelCachePath": "Ruta del cach\u00e9:", - "LabelCachePathHelp": "Esta carpeta contienes archivos de cach\u00e9 del servidor, tales como im\u00e1genes.", - "LabelImagesByNamePath": "Ruta de im\u00e1genes:", - "LabelImagesByNamePathHelp": "Esta carpeta contiene im\u00e1genes de actores, artistas, g\u00e9neros y estudios.", - "LabelMetadataPath": "Ruta de Metadata:", - "LabelMetadataPathHelp": "Esta localizaci\u00f3n contiene im\u00e1genes y metadata descargados que no est\u00e1n configurados para ser guardados en carpetas de medios.", - "LabelTranscodingTempPath": "Ruta temporal de transcodificaci\u00f3n:", - "LabelTranscodingTempPathHelp": "Esta carpeta contiene archivos de trabajo usados por el transcodificador.", - "TabBasics": "Basicos", - "TabTV": "TV", - "TabGames": "Juegos", - "TabMusic": "M\u00fasica", - "TabOthers": "Otros", - "HeaderExtractChapterImagesFor": "Extraer im\u00e1genes de cap\u00edtulos para:", - "OptionMovies": "Pel\u00edculas", - "OptionEpisodes": "Episodios", - "OptionOtherVideos": "Otros v\u00eddeos", - "TitleMetadata": "Metadata", - "LabelAutomaticUpdatesFanart": "Activar actualizaciones autom\u00e1ticas desde FanArt.tv", - "LabelAutomaticUpdatesTmdb": "Activar actualizaciones autom\u00e1ticas desde TheMovieDB.org", - "LabelAutomaticUpdatesTvdb": "Activar actualizaciones autom\u00e1ticas desde TheTVDB.com", - "LabelAutomaticUpdatesFanartHelp": "Si est\u00e1 activado, las nuevas im\u00e1genes se descargan autom\u00e1ticamente a medida que se a\u00f1aden a fanart.tv. Im\u00e1genes existentes no ser\u00e1n reemplazadas.", - "LabelAutomaticUpdatesTmdbHelp": "Si est\u00e1 activado, las nuevas im\u00e1genes se descargan autom\u00e1ticamente a medida que se a\u00f1aden a TheMovieDB.org. Im\u00e1genes existentes no ser\u00e1n reemplazados.", - "LabelAutomaticUpdatesTvdbHelp": "Si est\u00e1 activado, las nuevas im\u00e1genes se descargan autom\u00e1ticamente a medida que se a\u00f1aden a TheTVDB.com. Im\u00e1genes existentes no ser\u00e1n reemplazados.", - "ExtractChapterImagesHelp": "Extraer im\u00e1genes de cap\u00edtulo permitir\u00e1 a los clientes mostrar men\u00fas gr\u00e1ficos de selecci\u00f3n de escenas. El proceso puede ser lento, uso de CPU intensivo y puede requerir varios gigabytes de espacio. Se ejecuta como una tarea nocturna, a las 4 de la ma\u00f1ana, aunque esto se puede configurar en el \u00e1rea de tareas programadas. No se recomienda ejecutar esta tarea durante las horas pico.", - "LabelMetadataDownloadLanguage": "Idioma preferido:", - "ButtonAutoScroll": "Auto-desplazamiento", - "LabelImageSavingConvention": "Sistema de guardado de im\u00e1genes:", - "LabelImageSavingConventionHelp": "Media Browser reconoce im\u00e1genes de la mayor\u00eda de aplicaciones de medios. La elecci\u00f3n de su sistema de descarga es \u00fatil si tambi\u00e9n usa otros productos.", - "OptionImageSavingCompatible": "Compatible - MB3\/Plex\/Xbmc", - "OptionImageSavingStandard": "Est\u00e1ndard - MB3\/MB2", - "ButtonSignIn": "Registrarse", - "TitleSignIn": "Registrarse", - "HeaderPleaseSignIn": "Por favor reg\u00edstrese", - "LabelUser": "Usuario:", - "LabelPassword": "Contrase\u00f1a:", - "ButtonManualLogin": "Registro manual:", - "PasswordLocalhostMessage": "No se necesitan contrase\u00f1as al iniciar sesi\u00f3n desde localhost.", - "TabGuide": "Gu\u00eda", - "TabChannels": "Canales", - "TabCollections": "Colecciones", - "HeaderChannels": "Canales", - "TabRecordings": "Grabaciones", - "TabScheduled": "Programado", - "TabSeries": "Series", - "TabFavorites": "Favoritos", - "TabMyLibrary": "Mi biblioteca", - "ButtonCancelRecording": "Cancelar grabaci\u00f3n", - "HeaderPrePostPadding": "Pre\/post grabaci\u00f3n extra", - "LabelPrePaddingMinutes": "Minutos previos extras:", - "OptionPrePaddingRequired": "Minutos previos extras requeridos para grabar.", - "LabelPostPaddingMinutes": "Minutos extras post grabaci\u00f3n:", - "OptionPostPaddingRequired": "Minutos post grabaci\u00f3n extras requeridos para grabar.", - "HeaderWhatsOnTV": "Que hacen ahora", - "HeaderUpcomingTV": "Pr\u00f3ximos programas", - "TabStatus": "Estado", - "TabSettings": "Opciones", - "ButtonRefreshGuideData": "Actualizar datos de la gu\u00eda", - "OptionPriority": "Prioridad", - "OptionRecordOnAllChannels": "Grabar programa en cualquier canal", - "OptionRecordAnytime": "Grabar programa a cualquier hora", - "OptionRecordOnlyNewEpisodes": "Grabar s\u00f3lo nuevos episodios", - "HeaderDays": "D\u00edas", - "HeaderActiveRecordings": "Grabaciones activas", - "HeaderLatestRecordings": "\u00daltimas grabaciones", - "HeaderAllRecordings": "Todas la grabaciones", - "ButtonPlay": "Reproducir", - "ButtonEdit": "Editar", - "ButtonRecord": "Grabar", - "ButtonDelete": "Borrar", - "ButtonRemove": "Quitar", - "OptionRecordSeries": "Grabar serie", - "HeaderDetails": "Detalles", - "TitleLiveTV": "Tv en vivo", - "LabelNumberOfGuideDays": "N\u00famero de d\u00edas de descarga de la gu\u00eda.", - "LabelNumberOfGuideDaysHelp": "Descargar m\u00e1s d\u00edas de la gu\u00eda ofrece la posibilidad de programar grabaciones con mayor antelaci\u00f3n y ver m\u00e1s listas, pero tambi\u00e9n tarda m\u00e1s en descargarse. Auto elegir\u00e1 en funci\u00f3n del n\u00famero de canales.", - "LabelActiveService": "Activar servicio", - "LabelActiveServiceHelp": "Es posible instalar m\u00faltiples plugins de tv, pero s\u00f3lo puede estar activo uno a la vez.", - "OptionAutomatic": "Auto", - "LiveTvPluginRequired": "El servicio de TV en vivo es necesario para poder continuar.", - "LiveTvPluginRequiredHelp": "Instale uno de los plugins disponibles, como Next Pvr o ServerVmc.", - "LabelCustomizeOptionsPerMediaType": "Personalizar por tipo de medio:", - "OptionDownloadThumbImage": "Miniatura", - "OptionDownloadMenuImage": "Men\u00fa", - "OptionDownloadLogoImage": "Logo", - "OptionDownloadBoxImage": "Caja", - "OptionDownloadDiscImage": "Disco", - "OptionDownloadBannerImage": "Pancarta", - "OptionDownloadBackImage": "Atr\u00e1s", - "OptionDownloadArtImage": "Arte", - "OptionDownloadPrimaryImage": "Principal", - "HeaderFetchImages": "Buscar im\u00e1genes", - "HeaderImageSettings": "Opciones de im\u00e1gen", - "TabOther": "Otros", - "LabelMaxBackdropsPerItem": "M\u00e1ximo n\u00famero de im\u00e1genes de fondo por \u00edtem:", - "LabelMaxScreenshotsPerItem": "M\u00e1ximo n\u00famero de capturas de pantalla por \u00edtem:", - "LabelMinBackdropDownloadWidth": "Anchura m\u00ednima de descarga de im\u00e1genes de fondo:", - "LabelMinScreenshotDownloadWidth": "Anchura m\u00ednima de descarga de capturas de pantalla:", - "ButtonAddScheduledTaskTrigger": "A\u00f1adir eventos", - "HeaderAddScheduledTaskTrigger": "A\u00f1adir eventos de ejecuci\u00f3n", - "ButtonAdd": "A\u00f1adir", - "LabelTriggerType": "Tipo de evento:", - "OptionDaily": "Diario", - "OptionWeekly": "Semanal", - "OptionOnInterval": "En un intervalo", - "OptionOnAppStartup": "Al iniciar la aplicaci\u00f3n", - "OptionAfterSystemEvent": "Despu\u00e9s de un evento de sistema", - "LabelDay": "D\u00eda:", - "LabelTime": "Hora:", - "LabelEvent": "Evento:", - "OptionWakeFromSleep": "Despertar", - "LabelEveryXMinutes": "Cada:", - "HeaderTvTuners": "Sintonizadores", - "HeaderGallery": "Galer\u00eda", - "HeaderLatestGames": "\u00daltimos Juegos", - "HeaderRecentlyPlayedGames": "Juegos utilizados recientemente", - "TabGameSystems": "Sistema de Juego", - "TitleMediaLibrary": "Librer\u00eda de medios", - "TabFolders": "Carpetas", - "TabPathSubstitution": "Ruta alternativa", - "LabelSeasonZeroDisplayName": "Nombre de la Temporada 0:", - "LabelEnableRealtimeMonitor": "Activar monitoreo en tiempo real", - "LabelEnableRealtimeMonitorHelp": "Los cambios se procesar\u00e1n inmediatamente, en sistemas de archivo que lo soporten.", - "ButtonScanLibrary": "Escanear Librer\u00eda", - "HeaderNumberOfPlayers": "Jugadores:", - "OptionAnyNumberOfPlayers": "Cualquiera", - "Option1Player": "1+", - "Option2Player": "2+", - "Option3Player": "3+", - "Option4Player": "4+", - "HeaderMediaFolders": "Carpetas de medios", - "HeaderThemeVideos": "V\u00eddeos de tema", - "HeaderThemeSongs": "Canciones de tema", - "HeaderScenes": "Escenas", - "HeaderAwardsAndReviews": "Premios y reconocimientos", - "HeaderSoundtracks": "Pistas de audio", - "HeaderMusicVideos": "V\u00eddeos musicales", - "HeaderSpecialFeatures": "Caracter\u00edsticas especiales", - "HeaderCastCrew": "Reparto y equipo t\u00e9cnico", - "HeaderAdditionalParts": "Partes adicionales", - "ButtonSplitVersionsApart": "Dividir versiones aparte", - "ButtonPlayTrailer": "Trailer", - "LabelMissing": "Falta", - "LabelOffline": "Apagado", - "PathSubstitutionHelp": "Las rutas alternativas se utilizan para mapear una ruta en el servidor a la que los clientes puedan acceder. El permitir que los clientes se conecten directamente a trav\u00e9s de la red y puedan reproducir los medios directamente, evita utilizar recursos del servidor para la transcodificaci\u00f3n y el stream,", - "HeaderFrom": "Desde", - "HeaderTo": "Hasta", - "LabelFrom": "Desde:", - "LabelFromHelp": "Ejemplo: D:\\Pel\u00edculas (en el servidor)", - "LabelTo": "Hasta:", - "LabelToHelp": "Ejemplo: \\\\MiServidor\\Pel\u00edculas (ruta a la que puedan acceder los clientes)", - "ButtonAddPathSubstitution": "A\u00f1adir ruta alternativa", - "OptionSpecialEpisode": "Especiales", - "OptionMissingEpisode": "Episodios que faltan", - "OptionUnairedEpisode": "Episodios no emitidos", - "OptionEpisodeSortName": "Nombre corto del episodio", - "OptionSeriesSortName": "Nombre de la serie", - "OptionTvdbRating": "Valoraci\u00f3n tvdb", - "HeaderTranscodingQualityPreference": "Preferencia de calidad de transcodificaci\u00f3n:", - "OptionAutomaticTranscodingHelp": "El servidor decidir\u00e1 la calidad y la velocidad", - "OptionHighSpeedTranscodingHelp": "Calidad menor, pero codificaci\u00f3n r\u00e1pida", - "OptionHighQualityTranscodingHelp": "C\u00e1lidad mayor, pero codificaci\u00f3n lenta", - "OptionMaxQualityTranscodingHelp": "La mayor calidad posible con codificaci\u00f3n lenta y alto uso de CPU", - "OptionHighSpeedTranscoding": "Mayor velocidad", - "OptionHighQualityTranscoding": "Mayor calidad", - "OptionMaxQualityTranscoding": "M\u00e1xima calidad", - "OptionEnableDebugTranscodingLogging": "Activar el registro de depuraci\u00f3n del transcodificador", - "OptionEnableDebugTranscodingLoggingHelp": "Esto crear\u00e1 archivos de registro muy grandes y s\u00f3lo se recomienda cuando sea necesario para solucionar problemas.", - "OptionUpscaling": "Permitir que los clientes soliciten v\u00eddeo upscaled", - "OptionUpscalingHelp": "En algunos casos esto se traducir\u00e1 en una mejora de la calidad del v\u00eddeo, pero aumentar\u00e1 el uso de CPU.", - "EditCollectionItemsHelp": "Agregar o quitar pel\u00edculas, series, discos, libros o juegos que desee agrupar dentro de esta colecci\u00f3n.", - "HeaderAddTitles": "A\u00f1adir T\u00edtulos", - "LabelEnableDlnaPlayTo": "Actvar la reproducci\u00f3n en DLNAi", - "LabelEnableDlnaPlayToHelp": "Media Browser puede detectar dispositivos en su red y ofrecer la posibilidad de controlarlos remotamente.", - "LabelEnableDlnaDebugLogging": "Activar el registro de depuraci\u00f3n de DLNA", - "LabelEnableDlnaDebugLoggingHelp": "Esto crear\u00e1 archivos de registro de gran tama\u00f1o y s\u00f3lo debe ser utilizado cuando sea necesario para solucionar problemas.", - "LabelEnableDlnaClientDiscoveryInterval": "Intervalo de detecci\u00f3n de cliente (segundos)", - "LabelEnableDlnaClientDiscoveryIntervalHelp": "Determina la duraci\u00f3n en segundos del intervalo entre las b\u00fasquedas SSDP realizadas por Media Browser.", - "HeaderCustomDlnaProfiles": "Perfiles personalizados", - "HeaderSystemDlnaProfiles": "Perfiles del sistema", - "CustomDlnaProfilesHelp": "Crear un perfil personalizado para un nuevo dispositivo o reemplazar un perfil del sistema.", - "SystemDlnaProfilesHelp": "Los perfiles del sistema son de s\u00f3lo lectura. Para anular un perfil del sistema, crear un perfil personalizado del mismo dispositivo.", - "TitleDashboard": "Panel de control", - "TabHome": "Inicio", - "TabInfo": "Info", - "HeaderLinks": "Enlaces", - "HeaderSystemPaths": "Rutas del sistema", - "LinkCommunity": "Comunidad", - "LinkGithub": "Github", - "LinkApiDocumentation": "Documentaci\u00f3n API", - "LabelFriendlyServerName": "Nombre informal del servidor:", - "LabelFriendlyServerNameHelp": "Este nombre se podr\u00e1 utilizar para identificar este servidor. Si se deja en blanco se usar\u00e1 el nombre del ordenador.", - "LabelPreferredDisplayLanguage": "Idioma de pantalla preferido", - "LabelPreferredDisplayLanguageHelp": "La traducci\u00f3n de Media Browser es un proyecto en curso y a\u00fan no est\u00e1 completado.", - "LabelReadHowYouCanContribute": "Lea acerca de c\u00f3mo usted puede contribuir.", - "HeaderNewCollection": "Nueva colecci\u00f3n", - "HeaderAddToCollection": "A\u00f1adir a la colecci\u00f3n", - "ButtonSubmit": "Enviar", - "NewCollectionNameExample": "Ejemplo: Star Wars Colecci\u00f3n", - "OptionSearchForInternetMetadata": "Buscar en internet ilustraciones y metadatos", - "ButtonCreate": "Crear", - "LabelHttpServerPortNumber": "Puerto Http del servidor:", - "LabelWebSocketPortNumber": "N\u00famero de puerto WebSocket:", - "LabelEnableAutomaticPortHelp": "UPnP permite automatizar la configuraci\u00f3n del router para el acceso remoto. Esto puede no funcionar en algunos modelos de router.", - "LabelExternalDDNS": "DDNS externa:", - "LabelExternalDDNSHelp": "Si dispone de DNS din\u00e1mica, escr\u00edbala aqu\u00ed. Media Brower la utilizar\u00e1 para las conexiones remotas.", - "TabResume": "Continuar", - "TabWeather": "El tiempo", - "TitleAppSettings": "Opciones de la App", - "LabelMinResumePercentage": "Porcentaje m\u00ednimo para reanudaci\u00f3n:", - "LabelMaxResumePercentage": "Porcentaje m\u00e1ximo para reanudaci\u00f3n::", - "LabelMinResumeDuration": "Duraci\u00f3n m\u00ednima de reanudaci\u00f3n (segundos):", - "LabelMinResumePercentageHelp": "Los t\u00edtulos se asumir\u00e1n como no reproducidos si se paran antes de este momento", - "LabelMaxResumePercentageHelp": "Los t\u00edtulos se asumir\u00e1n como reproducidos si se paran despu\u00e9s de este momento", - "LabelMinResumeDurationHelp": "Los t\u00edtulos m\u00e1s cortos de esto no ser\u00e1n reanudables", - "TitleAutoOrganize": "Organizaci\u00f3n autom\u00e1tica", - "TabActivityLog": "Log de actividad", - "HeaderName": "Nombre", - "HeaderDate": "Fecha", - "HeaderSource": "Origen", - "HeaderDestination": "Destino", - "HeaderProgram": "Programa", - "HeaderClients": "Clientes", - "LabelCompleted": "Completado", - "LabelFailed": "Error", - "LabelSkipped": "Omitido", - "HeaderEpisodeOrganization": "Organizaci\u00f3n de episodios", - "LabelSeries": "Series:", - "LabelSeasonNumber": "Temporada n\u00famero:", - "LabelEpisodeNumber": "Episodio n\u00famero:", - "LabelEndingEpisodeNumber": "N\u00famero episodio final:", - "LabelEndingEpisodeNumberHelp": "S\u00f3lo requerido para archivos multi-episodio", - "HeaderSupportTheTeam": "Apoye al Equipo de Media Browser", - "LabelSupportAmount": "Importe (USD)", - "HeaderSupportTheTeamHelp": "Ayude a garantizar el desarrollo continuo de este proyecto mediante una donaci\u00f3n. Una parte de todas las donaciones ir\u00e1n a parar a otras herramientas gratuitas de las que dependemos.", - "ButtonEnterSupporterKey": "Entre la Key de Seguidor", - "DonationNextStep": "Cuando haya terminado, vuelva y entre su key de seguidor que recibir\u00e1 por email.", - "AutoOrganizeHelp": "Organizaci\u00f3n autom\u00e1tica monitoriza sus carpetas de descarga en busca de nuevos archivos y los mueve a sus directorios de medios.", - "AutoOrganizeTvHelp": "La organizaci\u00f3n de archivos de TV s\u00f3lo a\u00f1adir\u00e1 episodios a series existentes. No crear\u00e1 carpetas para series nuevas.", - "OptionEnableEpisodeOrganization": "Activar la organizaci\u00f3n de nuevos episodios", - "LabelWatchFolder": "Ver carpeta:", - "LabelWatchFolderHelp": "El servidor sondear\u00e1 esta carpeta durante la tarea programada \"Organizar nuevos archivos de medios\".", - "ButtonViewScheduledTasks": "Ver tareas programadas", - "LabelMinFileSizeForOrganize": "Tama\u00f1o m\u00ednimo de archivo (MB):", - "LabelMinFileSizeForOrganizeHelp": "Los archivos menores de este tama\u00f1po se ignorar\u00e1n.", - "LabelSeasonFolderPattern": "Patr\u00f3n de la carpeta para temporadas:", - "LabelSeasonZeroFolderName": "Nombre de la carpeta para la temporada cero:", - "HeaderEpisodeFilePattern": "Patr\u00f3n para archivos de episodio", - "LabelEpisodePattern": "Patr\u00f3n de episodio:", - "LabelMultiEpisodePattern": "Patr\u00f3n para multi-episodio:", - "HeaderSupportedPatterns": "Patrones soportados", - "HeaderTerm": "Plazo", - "HeaderPattern": "Patr\u00f3n", - "HeaderResult": "Resultado", - "LabelDeleteEmptyFolders": "Borrar carpetas vacias despu\u00e9s de la organizaci\u00f3n", - "LabelDeleteEmptyFoldersHelp": "Activar para mantener el directorio de descargas limpio.", - "LabelDeleteLeftOverFiles": "Eliminar los archivos sobrantes con las siguientes extensiones:", - "LabelDeleteLeftOverFilesHelp": "Separar con ;. Por ejemplo: .nfo;.txt", - "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", - "HeaderHelpImproveMediaBrowser": "Ayuda a mejorar Media Browser", - "HeaderRunningTasks": "Tareas en ejecuci\u00f3n", - "HeaderActiveDevices": "Dispositivos activos", - "HeaderPendingInstallations": "Instalaciones pendientes", - "HeaerServerInformation": "Informaci\u00f3n del servidor", - "ButtonRestartNow": "Reiniciar ahora", - "ButtonRestart": "Reiniciar", - "ButtonShutdown": "Apagar", - "ButtonUpdateNow": "Actualizar ahora", - "PleaseUpdateManually": "Por favor cierre el servidor y actualice manualmente.", - "NewServerVersionAvailable": "\u00a1Hay disponible una nueva versi\u00f3n de Media Browser Server!", - "ServerUpToDate": "Media Browser Server est\u00e1 actualizado", - "ErrorConnectingToMediaBrowserRepository": "Hubo un error al conectarse remotamente al repositorio de Media Browser,", - "LabelComponentsUpdated": "Los componentes siguientes se han instalado o actualizado:", - "MessagePleaseRestartServerToFinishUpdating": "Reinicie el servidor para acabar de aplicar las actualizaciones.", - "LabelDownMixAudioScale": "Escala de reducci\u00f3n de potencia de audio:", - "LabelDownMixAudioScaleHelp": "Potenciador de audio. Establecer a 1 para preservar el volumen original.", - "ButtonLinkKeys": "Enlazar claves", - "LabelOldSupporterKey": "Antigua clave de seguidor", - "LabelNewSupporterKey": "Nueva clave de seguidor", - "HeaderMultipleKeyLinking": "Vinculaci\u00f3n de m\u00faltiples claves", - "MultipleKeyLinkingHelp": "Si usted tiene m\u00e1s de una clave de seguidor, utilice este formulario para vincular los registros de la antigua clave con la nueva.", - "LabelCurrentEmailAddress": "Cuenta de correo actual", - "LabelCurrentEmailAddressHelp": "La direcci\u00f3n de correo electr\u00f3nico actual a la que se envi\u00f3 la nueva clave.", - "HeaderForgotKey": "Perd\u00ed mi clave", - "LabelEmailAddress": "Direcci\u00f3n de correo", - "LabelSupporterEmailAddress": "La direcci\u00f3n de correo que utliz\u00f3 para comprar la clave.", - "ButtonRetrieveKey": "Recuperar clave", - "LabelSupporterKey": "Clave de seguidor (pegar desde el correo)", - "LabelSupporterKeyHelp": "Entre su clave de seguidor para empezar a disfrutar de los beneficios adicionales que la comunidad ha creado para Media Browser.", - "MessageInvalidKey": "La clave MB3 falta o es inv\u00e1lida", - "ErrorMessageInvalidKey": "Para acceder al contenido premium debe registrarse, tambi\u00e9n debe ser un MB3 Seguidor. Por favor, done y apoye el desarrollo continuado del producto principal. Gracias.", - "HeaderDisplaySettings": "Opciones de pantalla", - "TabPlayTo": "Reproducir en", - "LabelEnableDlnaServer": "Habilitar servidor Dlna", - "LabelEnableDlnaServerHelp": "Permite que los dispositivos UPnp de su red puedan navegar y repoducir contenidos de Media Browser.", - "LabelEnableBlastAliveMessages": "Explotar mensajes en vivo", - "LabelEnableBlastAliveMessagesHelp": "Active aqu\u00ed si el servidor no es detectado correctamente por otros dispositivos UPnP en su red.", - "LabelBlastMessageInterval": "Intervalo para mensajes en vivo (segundos)", - "LabelBlastMessageIntervalHelp": "Determina la duraci\u00f3n en segundos entre los mensajes en vivo del servidor .", - "LabelDefaultUser": "Usuario por defecto:", - "LabelDefaultUserHelp": "Determina de q\u00fae usuario se utilizar\u00e1 su biblioteca de medios para mostrarla por defecto en los dipositivos conectados. Esto puede cambiarse para cada dispositivo mediante el uso de perfiles.", - "TitleDlna": "DLNA", - "TitleChannels": "Canales", - "HeaderServerSettings": "Ajustes del Servidor", - "LabelWeatherDisplayLocation": "Lugar del que mostar el tiempo:", - "LabelWeatherDisplayLocationHelp": "C\u00f3digo postal USA \/ Ciudad, Estado, Pa\u00eds \/ Ciudad, Pa\u00eds", - "LabelWeatherDisplayUnit": "Unidad de media para la temperatura:", - "OptionCelsius": "Celsius", - "OptionFahrenheit": "Fahrenheit", - "HeaderRequireManualLogin": "Requerir entrada de usuario manual para:", - "HeaderRequireManualLoginHelp": "Cuando est\u00e1 desactivado los clientes saldr\u00e1n en la pantalla de inicio para seleccionarlos visualmente.", - "OptionOtherApps": "Otras aplicaciones", - "OptionMobileApps": "Aplicaciones m\u00f3viles", - "HeaderNotificationList": "Haga click en una notificaci\u00f3n para configurar sus opciones de env\u00edo.", - "NotificationOptionApplicationUpdateAvailable": "Disponible actualizaci\u00f3n de la aplicaci\u00f3n", - "NotificationOptionApplicationUpdateInstalled": "Se ha instalado la actualizaci\u00f3n de la aplicaci\u00f3n", - "NotificationOptionPluginUpdateInstalled": "Se ha instalado la actualizaci\u00f3n del plugin", - "NotificationOptionPluginInstalled": "Plugin instalado", - "NotificationOptionPluginUninstalled": "Plugin desinstalado", - "NotificationOptionVideoPlayback": "Reproducci\u00f3n de video", - "NotificationOptionAudioPlayback": "Reproducci\u00f3n de audio", - "NotificationOptionGamePlayback": "Iniciar juegos", - "NotificationOptionVideoPlaybackStopped": "Reproducci\u00f3n de video detenida", - "NotificationOptionAudioPlaybackStopped": "Reproducci\u00f3n de audio detenida", - "NotificationOptionGamePlaybackStopped": "Reproducci\u00f3n de juego detenida", - "NotificationOptionTaskFailed": "La tarea programada ha fallado", - "NotificationOptionInstallationFailed": "Fallo en la instalaci\u00f3n", - "NotificationOptionNewLibraryContent": "Nuevo contenido a\u00f1adido", - "NotificationOptionNewLibraryContentMultiple": "Nuevo contenido a\u00f1adido (multiple)", - "SendNotificationHelp": "Por defecto, las notificaciones aparecer\u00e1n en el panel de control. Compruebe el cat\u00e1logo de plugins para instalar opciones adicionales para las notificaciones.", - "NotificationOptionServerRestartRequired": "Se requiere el reinicio del servidor", - "LabelNotificationEnabled": "Activar esta notificaci\u00f3n", - "LabelMonitorUsers": "Supervisar la actividad de:", - "LabelSendNotificationToUsers": "Enviar la notificaci\u00f3n a:", - "UsersNotNotifiedAboutSelfActivity": "Los usuarios no ser\u00e1n notificados acerca de sus propias actividades.", - "LabelUseNotificationServices": "Usar los siguientes servicios:", - "CategoryUser": "Usuario", - "CategorySystem": "Sistema", - "CategoryApplication": "Aplicaci\u00f3n", - "CategoryPlugin": "Plugin", - "LabelMessageTitle": "T\u00edtulo del mensaje:", - "LabelAvailableTokens": "Tokens disponibles:", - "AdditionalNotificationServices": "Visite el cat\u00e1logo de plugins para instalar servicios de notificaci\u00f3n adicionales.", - "OptionAllUsers": "Todos los usuarios", - "OptionAdminUsers": "Administradores", - "OptionCustomUsers": "A medida", - "ButtonArrowUp": "Arriba", - "ButtonArrowDown": "Abajo", - "ButtonArrowLeft": "Izquierda", - "ButtonArrowRight": "Derecha", - "ButtonBack": "Atr\u00e1s", - "ButtonInfo": "Info", - "ButtonOsd": "Visualizaci\u00f3n en pantalla", - "ButtonPageUp": "P\u00e1gina arriba", - "ButtonPageDown": "P\u00e1gina abajo", - "PageAbbreviation": "PG", - "ButtonHome": "Inicio", - "ButtonSettings": "Opciones", - "ButtonTakeScreenshot": "Captura de pantalla", - "ButtonLetterUp": "Letter arriba", - "ButtonLetterDown": "Letter abajo", - "PageButtonAbbreviation": "PG", - "LetterButtonAbbreviation": "A", - "TabNowPlaying": "Reproduciendo ahora", - "TabNavigation": "Navegaci\u00f3n", - "TabControls": "Controles", - "ButtonFullscreen": "Pantalla completa", - "ButtonScenes": "Escenas", - "ButtonSubtitles": "Subt\u00edtulos", - "ButtonAudioTracks": "Pistas de audio", - "ButtonPreviousTrack": "Pista anterior", - "ButtonNextTrack": "Pista siguiente", - "ButtonStop": "Detener", - "ButtonPause": "Pausa", - "LabelGroupMoviesIntoCollections": "Agrupar pel\u00edculas en colecciones", - "LabelGroupMoviesIntoCollectionsHelp": "Cuando se muestran las listas de pel\u00edculas, las pel\u00edculas pertenecientes a una colecci\u00f3n se mostrar\u00e1n como un elemento agrupado.", - "NotificationOptionPluginError": "Error en plugin", - "ButtonVolumeUp": "Subir volumen", - "ButtonVolumeDown": "Bajar volumen", - "ButtonMute": "Silencio", - "HeaderLatestMedia": "\u00daltimos medios", - "OptionSpecialFeatures": "Caracter\u00edsticas especiales", - "HeaderCollections": "Colecciones", - "LabelProfileCodecsHelp": "Separados por comas. Esto se puede dejar vac\u00edo para aplicar a todos los codecs.", - "LabelProfileContainersHelp": "Separados por comas. Esto se puede dejar vac\u00edo para aplicar a todos los contenedores.", - "HeaderResponseProfile": "Perfil de respuesta", - "LabelType": "Tipo:", - "LabelProfileContainer": "Contenedor:", - "LabelProfileVideoCodecs": "Codecs de video:", - "LabelProfileAudioCodecs": "Codecs de audio:", - "LabelProfileCodecs": "Codecs:", - "HeaderDirectPlayProfile": "Perfil de reproducci\u00f3n directa", - "HeaderTranscodingProfile": "Perfil de transcodificaci\u00f3n", - "HeaderCodecProfile": "Perfil de codec", - "HeaderCodecProfileHelp": "Perfiles de codec indican las limitaciones de un dispositivo cuando se reproducen codecs espec\u00edficos. Si se aplica una limitaci\u00f3n entonces el medio se transcodificar\u00e1, incluso si el codec est\u00e1 configurado para reproducci\u00f3n directa.", - "HeaderContainerProfile": "Perfil de contenedor", - "HeaderContainerProfileHelp": "Perfiles de codec indican las limitaciones de un dispositivo mientras reproduce formatos espec\u00edficos. If se aplica una limitaci\u00f3n entonces el medio se transcodificar\u00e1, incluso si el formato est\u00e1 configurado para reproducci\u00f3n directa.", - "OptionProfileVideo": "Video", - "OptionProfileAudio": "Audio", - "OptionProfileVideoAudio": "Video audio", - "OptionProfilePhoto": "Foto", - "LabelUserLibrary": "Librer\u00eda de usuario:", - "LabelUserLibraryHelp": "Seleccione de qu\u00e9 usuario se utilizar\u00e1 la librer\u00eda en el dispositivo. D\u00e9jelo vac\u00edo para utilizar la configuraci\u00f3n por defecto.", - "OptionPlainStorageFolders": "Ver todas las carpetas como carpetas de almacenamiento sin formato.", - "OptionPlainStorageFoldersHelp": "Si est\u00e1 activado, todas las carpetas se representan en DIDL como \"object.container.storageFolder\" en lugar de un tipo m\u00e1s espec\u00edfico, como por ejemplo \"object.container.person.musicArtist\".", - "OptionPlainVideoItems": "Mostrar todos los videos como elementos de video sin formato", - "OptionPlainVideoItemsHelp": "Si est\u00e1 habilitado, todos los v\u00eddeos est\u00e1n representados en DIDL como \"object.item.videoItem\" en lugar de un tipo m\u00e1s espec\u00edfico, como por ejemplo \"object.item.videoItem.movie\".", - "LabelSupportedMediaTypes": "Tipos de medio soportados:", - "TabIdentification": "Identificaci\u00f3n", - "TabDirectPlay": "Reproducci\u00f3n directa", - "TabContainers": "Contenedores", - "TabCodecs": "Codecs", - "TabResponses": "Respuestas", - "HeaderProfileInformation": "Informaci\u00f3n del perfil", - "LabelEmbedAlbumArtDidl": "Incorporar la car\u00e1tula del \u00e1lbum en didl", - "LabelEmbedAlbumArtDidlHelp": "Algunos dispositivos prefieren este m\u00e9todo para obtener la car\u00e1tula del \u00e1lbum. Otros pueden fallar al reproducir con esta opci\u00f3n habilitada.", - "LabelAlbumArtPN": "Car\u00e1tula del album PN:", - "LabelAlbumArtHelp": "PN utilizado para la car\u00e1tula del \u00e1lbum, dentro del atributo dlna:profileID en upnp:albumArtURI. Algunos clientes requieren un valor espec\u00edfico, independientemente del tama\u00f1o de la imagen.", - "LabelAlbumArtMaxWidth": "Anchura m\u00e1xima de la car\u00e1tula del album:", - "LabelAlbumArtMaxWidthHelp": "Resoluci\u00f3n m\u00e1xima de la car\u00e1tula del \u00e1lbum expuesta a trav\u00e9s de upnp:albumArtURI.", - "LabelAlbumArtMaxHeight": "Altura m\u00e1xima de la car\u00e1tula del album:", - "LabelAlbumArtMaxHeightHelp": "Resoluci\u00f3n m\u00e1xima de la car\u00e1tula del \u00e1lbum expuesta a trav\u00e9s de upnp:albumArtURI.", - "LabelIconMaxWidth": "Anchura m\u00e1xima de icono:", - "LabelIconMaxWidthHelp": "Resoluci\u00f3n m\u00e1xima de los iconos expuestos via upnp:icon.", - "LabelIconMaxHeight": "Altura m\u00e1xima de icono:", - "LabelIconMaxHeightHelp": "Resoluci\u00f3n m\u00e1xima de los iconos expuestos via upnp:icon.", - "LabelIdentificationFieldHelp": "Una subcadena insensible a may\u00fasculas o min\u00fasculas o una expresi\u00f3n regex.", - "HeaderProfileServerSettingsHelp": "Estos valores controlan el modo en que Media Browser se presentar\u00e1 en el dispositivo.", - "LabelMaxBitrate": "Bitrate m\u00e1ximo:", - "LabelMaxBitrateHelp": "Especificar una tasa de bits m\u00e1xima en entornos de ancho de banda limitado, o si el dispositivo impone su propio l\u00edmite.", - "OptionIgnoreTranscodeByteRangeRequests": "Ignorar las solicitudes de intervalo de bytes de transcodificaci\u00f3n", - "OptionIgnoreTranscodeByteRangeRequestsHelp": "Si est\u00e1 activado, estas solicitudes ser\u00e1n atendidas pero ignorar\u00e1n el encabezado de intervalo de bytes.", - "LabelFriendlyName": "Nombre amigable", - "LabelManufacturer": "Fabricante", - "LabelManufacturerUrl": "Url del fabricante", - "LabelModelName": "Nombre de modelo", - "LabelModelNumber": "N\u00famero de modelo", - "LabelModelDescription": "Descripci\u00f3n de modelo", - "LabelModelUrl": "Url del modelo", - "LabelSerialNumber": "N\u00famero de serie", - "LabelDeviceDescription": "Descripci\u00f3n del dispositivo", - "HeaderIdentificationCriteriaHelp": "Entre al menos un criterio de identificaci\u00f3n.", - "HeaderDirectPlayProfileHelp": "A\u00f1adir perfiles de reproducci\u00f3n directa para indicar qu\u00e9 formatos puede utilizar el dispositivo de forma nativa.", - "HeaderTranscodingProfileHelp": "A\u00f1adir perfiles de transcodificaci\u00f3n para indicar qu\u00e9 formatos se deben utilizar cuando se requiera transcodificaci\u00f3n.", - "HeaderResponseProfileHelp": "Perfiles de respuesta proporcionan una forma de personalizar la informaci\u00f3n que se env\u00eda al dispositivo cuando se reproducen ciertos tipos de medios.", - "LabelXDlnaCap": "X-Dlna cap:", - "LabelXDlnaCapHelp": "Determina el contenido del elemento X_DLNACAP en el espacio de nombre urn:schemas-dlna-org:device-1-0.", - "LabelXDlnaDoc": "X-Dlna doc:", - "LabelXDlnaDocHelp": "Determina el contenido del elemento X_DLNADOC en el espacio de nombreurn:schemas-dlna-org:device-1-0.", - "LabelSonyAggregationFlags": "Agregaci\u00f3n de banderas Sony:", - "LabelSonyAggregationFlagsHelp": "Determina el contenido del elemento aggregationFlags en el espacio de nombre urn:schemas-sonycom:av.", - "LabelTranscodingContainer": "Contenedor:", - "LabelTranscodingVideoCodec": "Codec de video:", - "LabelTranscodingVideoProfile": "Perfil de video:", - "LabelTranscodingAudioCodec": "Codec de audio:", - "OptionEnableM2tsMode": "Activar modo M2ts", - "OptionEnableM2tsModeHelp": "Activar modo m2ts cuando se codifique a mpegts", - "OptionEstimateContentLength": "Estimar longitud del contenido al transcodificar", - "OptionReportByteRangeSeekingWhenTranscoding": "Indicar que el servidor soporta la b\u00fasqueda de byte al transcodificar", - "OptionReportByteRangeSeekingWhenTranscodingHelp": "Esto es necesario para algunos dispositivos que no buscan el tiempo muy bien.", - "HeaderSubtitleDownloadingHelp": "Cuando Media Browser escanea los archivos de v\u00eddeo, puede buscar subt\u00edtulos faltantes y descargarlos usando un proveedor de subt\u00edtulos como OpenSubtitles.org.", - "HeaderDownloadSubtitlesFor": "Descarga subt\u00edtulos para:", - "MessageNoChapterProviders": "Instalar un plugin proveedor de cap\u00edtulos como ChapterDb o tagChimp para permitir opciones de cap\u00edtulo adicionales.", - "LabelSkipIfGraphicalSubsPresent": "Omitir si el video ya contiene subt\u00edtulos gr\u00e1ficos", - "LabelSkipIfGraphicalSubsPresentHelp": "Mantener versiones de texto de los subt\u00edtulos se traducir\u00e1 en una prestaci\u00f3n m\u00e1s eficiente para los clientes m\u00f3viles.", - "TabSubtitles": "Subt\u00edtulos", - "TabChapters": "Cap\u00edtulos", - "HeaderDownloadChaptersFor": "Descarga nombres de los cap\u00edtulos de:", - "LabelOpenSubtitlesUsername": "Usuario de Open Subtitles:", - "LabelOpenSubtitlesPassword": "Contrase\u00f1a de Open Subtitles:", - "HeaderChapterDownloadingHelp": "Cuando Media Browser escanea los archivos de v\u00eddeo, puede descargar nombres de los cap\u00edtulos desde la red utilizando plugins de cap\u00edtulos como ChapterDb y tagChimp.", - "LabelPlayDefaultAudioTrack": "\nReproducir pista de audio predeterminado, independientemente del idioma", - "LabelSubtitlePlaybackMode": "Modo de Subt\u00edtulo:", - "LabelDownloadLanguages": "Idiomas de descarga:", - "ButtonRegister": "Registrar", - "LabelSkipIfAudioTrackPresent": "Omitir si la pista de audio por defecto coincide con el idioma de descarga", - "LabelSkipIfAudioTrackPresentHelp": "Desactive esta opci\u00f3n para asegurar que todos los v\u00eddeos tienen subt\u00edtulos, sin importar el idioma de audio.", - "HeaderSendMessage": "Enviar mensaje", - "ButtonSend": "Enviar", - "LabelMessageText": "Mensaje de texto:", - "MessageNoAvailablePlugins": "No hay plugins disponibles.", - "LabelDisplayPluginsFor": "Mostrar plugins para:", - "PluginTabMediaBrowserClassic": "MB Classic", - "PluginTabMediaBrowserTheater": "MB Theater", - "TabOtherPlugins": "Otros", - "LabelEpisodeName": "Nombre episodio", - "LabelSeriesName": "Nombre de la serie", - "ValueSeriesNamePeriod": "Series.name", - "ValueSeriesNameUnderscore": "Series_name", - "ValueEpisodeNamePeriod": "Episode.name", - "ValueEpisodeNameUnderscore": "Episode_name", - "HeaderTypeText": "Entrar texto", - "LabelTypeText": "Texto", - "HeaderSearchForSubtitles": "B\u00fasqueda de Subt\u00edtulos", - "MessageNoSubtitleSearchResultsFound": "No se han encontrado resultados en la b\u00fasqueda.", - "TabDisplay": "Pantalla", - "TabLanguages": "Idiomas", - "TabWebClient": "Cliente web", - "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", - "HeaderSettingsForThisDevice": "Opciones para este dispositivo", - "OptionAuto": "Auto", - "OptionYes": "Si", - "OptionNo": "No", - "LabelHomePageSection1": "Secci\u00f3n uno de la p\u00e1gina de inicio:", - "LabelHomePageSection2": "Secci\u00f3n dos de la p\u00e1gina de inicio:", - "LabelHomePageSection3": "Secci\u00f3n tres de la p\u00e1gina de inicio:", - "LabelHomePageSection4": "Secci\u00f3n cuarta de la p\u00e1gina de inicio", - "OptionMyViewsButtons": "Mis vistas (botones)", - "OptionMyViews": "Mis vistas", - "OptionMyViewsSmall": "Mis vistas (peque\u00f1o)", - "OptionResumablemedia": "Continuar", - "OptionLatestMedia": "\u00daltimos medios", - "OptionLatestChannelMedia": "Ultimos elementos de canales", - "HeaderLatestChannelItems": "Ultimos elementos de canales", - "OptionNone": "Nada", - "HeaderLiveTv": "TV en vivo", - "HeaderReports": "Informes", - "HeaderMetadataManager": "Metadata Manager", - "HeaderPreferences": "Preferencias", - "MessageLoadingChannels": "Cargando contenidos del canal...", - "ButtonMarkRead": "Marcar como le\u00eddo", - "OptionDefaultSort": "Por defecto", - "OptionCommunityMostWatchedSort": "M\u00e1s visto", - "TabNextUp": "Siguiendo", - "MessageNoMovieSuggestionsAvailable": "No hay sugerencias de pel\u00edculas disponibles. Comience ver y calificar sus pel\u00edculas y vuelva para ver las recomendaciones.", - "MessageNoCollectionsAvailable": "Colecciones le permitir\u00e1 disfrutar de grupos personalizados de Pel\u00edculas, Series, Discos, Libros y Juegos. Haga click en el bot\u00f3n nuevo para empezar a crear Colecciones.", - "HeaderWelcomeToMediaBrowserWebClient": "Vienvenido al Cliente Web de Media Browser", - "ButtonDismiss": "Descartar", - "MessageLearnHowToCustomize": "Aprenda c\u00f3mo personalizar esta p\u00e1gina a sus propios gustos personales. Haga clic en su icono de usuario en la esquina superior derecha de la pantalla para ver y actualizar sus preferencias.", - "ButtonEditOtherUserPreferences": "Editar preferencias personales de este usuario.", - "LabelChannelStreamQuality": "Calidad preferida para la transmisi\u00f3n por Internet:", - "LabelChannelStreamQualityHelp": "En un entorno de bajo ancho de banda, limitar la calidad puede ayudar a asegurar una experiencia de streaming suave.", - "OptionBestAvailableStreamQuality": "Mejor disponible", - "LabelEnableChannelContentDownloadingFor": "Habilitar descargas de contenido para el canal:", - "LabelEnableChannelContentDownloadingForHelp": "Algunos canales soportan descargar contenido antes de ver. Habilite esta en ambientes de poco ancho de banda para descargar el contenido del canal durante las horas libres. El contenido se descarga como parte de la tarea programada de descargas de canal.", - "LabelChannelDownloadPath": "Ruta para descargas de contenidos de canales:", - "LabelChannelDownloadPathHelp": "Especifique una ruta personalizada si lo desea. D\u00e9jelo en blanco para utilizar un carpeta interna del programa.", - "LabelChannelDownloadAge": "Borrar contenido despues de: (d\u00edas)", - "LabelChannelDownloadAgeHelp": "Todo contenido descargado anterior se borrar\u00e1. Continuar\u00e1 estando disponible v\u00eda streaming de internet.", - "ChannelSettingsFormHelp": "Instale canales como Trailers y Vimeo desde el cat\u00e1logo de plugins.", - "LabelSelectCollection": "Seleccionar colecci\u00f3n:", - "ViewTypeMovies": "Pel\u00edculas", - "ViewTypeTvShows": "TV", - "ViewTypeGames": "Juegos", - "ViewTypeMusic": "M\u00fasica", - "ViewTypeBoxSets": "Colecciones", - "ViewTypeChannels": "Canales", - "ViewTypeLiveTV": "Tv en vivo", - "HeaderOtherDisplaySettings": "Configuraci\u00f3n de pantalla", - "HeaderMyViews": "Mis vistas", - "LabelSelectFolderGroups": "Agrupar autom\u00e1ticamente las siguientes carpetas en vistas tales como pel\u00edculas, m\u00fasica y televisi\u00f3n", - "LabelSelectFolderGroupsHelp": "Las carpetas que no est\u00e9n marcadas se mostrar\u00e1n por s\u00ed mismas en su propia secci\u00f3n.", - "OptionDisplayAdultContent": "Mostrar contenido para adultos", - "OptionLibraryFolders": "Vista de carpeta", - "TitleRemoteControl": "Control remoto", - "OptionLatestTvRecordings": "\u00daltimas grabaciones", - "LabelProtocolInfo": "Informaci\u00f3n de protocolo:", - "LabelProtocolInfoHelp": "El valor que se utilizar\u00e1 cuando se responde a una solicitud GetProtocolInfo desde el dispositivo.", - "TabXbmcMetadata": "Xbmc", - "HeaderXbmcMetadataHelp": "Media Browser incluye soporte nativo para XBMC, Nfo, metadatos e im\u00e1genes. Para activar o desactivar los metadatos XBMC, utilice la ficha Avanzadas para configurar opciones para sus tipos de medios.", - "LabelXbmcMetadataUser": "A\u00f1adir datos de reproducciones de usuario a los nfo\u00b4s para:", - "LabelXbmcMetadataUserHelp": "Activar esto para mantener sincronizados los datos de reproducci\u00f3n entre Media Browser y Xbmc.", - "LabelXbmcMetadataDateFormat": "Formato de fecha de estreno:", - "LabelXbmcMetadataDateFormatHelp": "Todas las fechas dentro de los nfo se leer\u00e1n y se escribir\u00e1n usando este formato.", - "LabelXbmcMetadataSaveImagePaths": "Grabar las rutas de las im\u00e1genes en los archivos nfo", - "LabelXbmcMetadataSaveImagePathsHelp": "\nEsto se recomienda si usted tiene los nombres de archivo de imagen que no se ajusten a las directrices de XBMC.", - "LabelXbmcMetadataEnablePathSubstitution": "Habilitar rutas de sustituci\u00f3n", - "LabelXbmcMetadataEnablePathSubstitutionHelp": "Permite la sustituci\u00f3n de las rutas de im\u00e1genes utilizando la configuraci\u00f3n de rutas de sustituci\u00f3n en las opciones del servidor.", - "LabelXbmcMetadataEnablePathSubstitutionHelp2": "Ver rutas de sustituci\u00f3n.", - "LabelGroupChannelsIntoViews": "Visualice los siguientes canales dentro de mis vistas:", - "LabelGroupChannelsIntoViewsHelp": "Si est\u00e1 activado, estos canales se mostrar\u00e1n directamente junto a Mis Vistas. Si est\u00e1 desactivada, ser\u00e1n mostrados separadamente en la vista de Canales.", - "LabelDisplayCollectionsView": "Mostrar una vista Colecciones para mostrar colecciones de pel\u00edculas", - "LabelXbmcMetadataEnableExtraThumbs": "Copiar extrafanart en extrathumbs", - "LabelXbmcMetadataEnableExtraThumbsHelp": "Cuando se descargan im\u00e1genes se pueden guardar tanto en extrafanart como en extrathumbs para una m\u00e1xima compatibilidad con el skin de XBMC.", - "TabServices": "Servicios", - "TabLogs": "Logs", - "HeaderServerLogFiles": "Archivos de log del servidor:", - "TabBranding": "Branding", - "HeaderBrandingHelp": "Personalizar la apariencia de Explorador de medios para satisfacer las necesidades de su grupo u organizaci\u00f3n.", - "LabelLoginDisclaimer": "Login renuncia:", - "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.", - "LabelAutomaticallyDonate": "Donar autom\u00e1ticamente esta cantidad cada mes", - "LabelAutomaticallyDonateHelp": "Usted puede cancelar en cualquier momento desde su cuenta de PayPal.", - "OptionList": "Lista", - "TabDashboard": "Panel de control", - "TitleServer": "Servidor", - "LabelCache": "Cach\u00e9:", - "LabelLogs": "Registros:", - "LabelMetadata": "Metadatos:", - "LabelImagesByName": "Im\u00e1genes por nombre:", - "LabelTranscodingTemporaryFiles": "Archivos temporales de transcodificaci\u00f3n:", - "HeaderLatestMusic": "\u00daltima m\u00fasica", - "HeaderBranding": "Branding", - "HeaderApiKeys": "Keys de Api", - "HeaderApiKeysHelp": "Se requieren aplicaciones externas para tener una clave de API con el fin de comunicarse con Media Browser. Las claves son emitidas al iniciar una sesi\u00f3n con una cuenta de Media Browser, o mediante la introducci\u00f3n manualmente de una clave en la aplicaci\u00f3n.", - "HeaderApiKey": "Clave Api", - "HeaderApp": "App", - "HeaderDevice": "Dispositivo", - "HeaderUser": "Usuario", - "HeaderDateIssued": "Fecha de emisi\u00f3n", - "LabelChapterName": "Chapter {0}", - "HeaderNewApiKey": "New Api Key", - "LabelAppName": "App name", - "LabelAppNameExample": "Example: Sickbeard, NzbDrone", - "HeaderNewApiKeyHelp": "Grant an application permission to communicate with Media Browser." -} \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/Server/es_MX.json b/MediaBrowser.Server.Implementations/Localization/Server/es_MX.json index df5792e8f..27f364018 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/es_MX.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/es_MX.json @@ -46,6 +46,8 @@ "OptionEnableWebClientResourceMinification": "Habilitar minificacion de recursos del cliente web", "LabelDashboardSourcePath": "Ruta de origen del cliente web:", "LabelDashboardSourcePathHelp": "Si esta ejecutando el servidor desde la fuente, especifique la ruta de acceso a la carpeta dashboard-ui. Todos los archivos de cliente web ser\u00e1n atendidos desde esta ruta.", + "ButtonConvertMedia": "Convert media", + "ButtonOrganize": "Organize", "ButtonOk": "Ok", "ButtonCancel": "Cancelar", "ButtonNew": "Nuevo", @@ -79,6 +81,7 @@ "ReferToMediaLibraryWiki": "Consultar la wiki de la biblioteca de medios.", "LabelCountry": "Pa\u00eds:", "LabelLanguage": "Idioma:", + "ButtonJoinTheDevelopmentTeam": "Join the Development Team", "HeaderPreferredMetadataLanguage": "Idioma preferido para metadatos:", "LabelSaveLocalMetadata": "Guardar im\u00e1genes y metadatos en las carpetas de medios", "LabelSaveLocalMetadataHelp": "Guardar im\u00e1genes y metadatos directamente en las carpetas de medios los colocar\u00e1 en un lugar donde se pueden editar f\u00e1cilmente.", @@ -97,6 +100,7 @@ "HeaderDeviceAccess": "Acceso a Dispositivos", "OptionEnableAccessFromAllDevices": "Habilitar acceso desde todos los dispositivos", "OptionEnableAccessToAllChannels": "Habilitar acceso a todos los canales", + "OptionEnableAccessToAllLibraries": "Enable access to all libraries", "DeviceAccessHelp": "Esto solo aplica a dispositivos que pueden ser identificados de manera individual y no evitar\u00e1 acceso al navegador. Al filtrar el acceso de usuarios a dispositivos se impedir\u00e1 que utilicen nuevos dispositivos hasta que hayan sido aprobados aqu\u00ed.", "LabelDisplayMissingEpisodesWithinSeasons": "Mostar episodios no disponibles en las temporadas", "LabelUnairedMissingEpisodesWithinSeasons": "Mostrar episodios a\u00fan no emitidos en las temporadas", @@ -515,15 +519,15 @@ "ButtonCreate": "Crear", "LabelCustomCss": "css personalizado:", "LabelCustomCssHelp": "Aplicar tu propia css personalizada a la interfaz web.", - "LabelLocalHttpServerPortNumber": "Numero de puerto http local:", + "LabelLocalHttpServerPortNumber": "N\u00famero de puerto http local:", "LabelLocalHttpServerPortNumberHelp": "El n\u00famero de puerto TCP con el que el servidor de HTTP de Media Browser deber\u00e1 vincularse", - "LabelPublicHttpPort": "Numero de puerto http publico:", + "LabelPublicHttpPort": "N\u00famero de puerto http publico:", "LabelPublicHttpPortHelp": "El numero de puerto que debe ser mapeado a el puerto http local.", - "LabelPublicHttpsPort": "Numero de puerto https publico:", + "LabelPublicHttpsPort": "N\u00famero de puerto https publico:", "LabelPublicHttpsPortHelp": "El n\u00famero de puerto p\u00fablico que deber\u00e1 ser mapeado al puerto local de https.", "LabelEnableHttps": "Reportar https como una direcci\u00f3n externa", "LabelEnableHttpsHelp": "Si se habilita, el servidor reportara a los clientes una url https como su direcci\u00f3n externa. Esto podr\u00eda inutilizar a los clientes que aun no soporten https.", - "LabelHttpsPort": "Numero de puerto https local:", + "LabelHttpsPort": "N\u00famero de puerto https local:", "LabelHttpsPortHelp": "El n\u00famero de puerto tcp con el que el servidor https de Media Browser se encontrar\u00e1 enlazado.", "LabelWebSocketPortNumber": "N\u00famero de puerto WebSocket:", "LabelEnableAutomaticPortMap": "Habilitar mapeo autom\u00e1tico de puertos", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/fi.json b/MediaBrowser.Server.Implementations/Localization/Server/fi.json index 01e83f696..6ce491a52 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/fi.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/fi.json @@ -46,6 +46,8 @@ "OptionEnableWebClientResourceMinification": "Enable web client resource minification", "LabelDashboardSourcePath": "Web client source path:", "LabelDashboardSourcePathHelp": "If running the server from source, specify the path to the dashboard-ui folder. All web client files will be served from this location.", + "ButtonConvertMedia": "Convert media", + "ButtonOrganize": "Organize", "ButtonOk": "Ok", "ButtonCancel": "Lopeta", "ButtonNew": "New", @@ -79,6 +81,7 @@ "ReferToMediaLibraryWiki": "Viittus media kirjaston wikiin.", "LabelCountry": "Maa:", "LabelLanguage": "Kieli:", + "ButtonJoinTheDevelopmentTeam": "Join the Development Team", "HeaderPreferredMetadataLanguage": "Ensisijainen kieli:", "LabelSaveLocalMetadata": "Tallenna kuvamateriaali ja metadata media kansioihin.", "LabelSaveLocalMetadataHelp": "Kuvamateriaalin ja metadatan tallentaminen suoraan kansioihin miss\u00e4 niit\u00e4 on helppo muuttaa.", @@ -97,6 +100,7 @@ "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": "N\u00e4yt\u00e4 puuttuvat jaksot tuotantokausissa", "LabelUnairedMissingEpisodesWithinSeasons": "N\u00e4yt\u00e4 julkaisemattomat jaksot tuotantokausissa", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/fr.json b/MediaBrowser.Server.Implementations/Localization/Server/fr.json index a73732c82..42b81e59e 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/fr.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/fr.json @@ -46,6 +46,8 @@ "OptionEnableWebClientResourceMinification": "Activer la minimisation des ressources du client web", "LabelDashboardSourcePath": "Chemin des fichiers sources du client web", "LabelDashboardSourcePathHelp": "Si vous ex\u00e9cutez le serveur \u00e0 partir des sources, veuillez sp\u00e9cifier le chemin du r\u00e9pertoire dashboard-ui. Tous les fichiers du client web seront servis \u00e0 partir de cet endroit.", + "ButtonConvertMedia": "Convertir le m\u00e9dia", + "ButtonOrganize": "Organiser", "ButtonOk": "Ok", "ButtonCancel": "Annuler", "ButtonNew": "Nouveau", @@ -79,6 +81,7 @@ "ReferToMediaLibraryWiki": "Se r\u00e9f\u00e9rer au wiki des biblioth\u00e8ques de m\u00e9dia", "LabelCountry": "Pays:", "LabelLanguage": "Langue:", + "ButtonJoinTheDevelopmentTeam": "Joignez-vous \u00e0 l'\u00e9quipe de d\u00e9veloppement", "HeaderPreferredMetadataLanguage": "Langue pr\u00e9f\u00e9r\u00e9e pour les m\u00e9tadonn\u00e9es:", "LabelSaveLocalMetadata": "Enregistrer les images et m\u00e9tadonn\u00e9es dans les r\u00e9pertoires de m\u00e9dia", "LabelSaveLocalMetadataHelp": "L'enregistrement des images et des m\u00e9tadonn\u00e9es dans le r\u00e9pertoire de m\u00e9dia les placera \u00e0 un endroit o\u00f9 elles seront facilement modifiables.", @@ -97,6 +100,7 @@ "HeaderDeviceAccess": "Acc\u00e8s \u00e0 l'appareil", "OptionEnableAccessFromAllDevices": "Autoriser l'acc\u00e8s \u00e0 tous les appareils", "OptionEnableAccessToAllChannels": "Activer l'acc\u00e8s \u00e0 toutes les cha\u00eenes", + "OptionEnableAccessToAllLibraries": "Activer l'acc\u00e8s \u00e0 toutes les librairies", "DeviceAccessHelp": "Ceci ne s'applique qu'aux appareils qui peuvent \u00eatre identifi\u00e9s de mani\u00e8re unique et qui n'emp\u00eachent pas l'acc\u00e8s au navigateur. Le filtrage de l'acc\u00e8s aux appareil par utilisateur emp\u00eachera l'utilisation de nouveaux appareils jusqu'\u00e0 ce qu'ils soient approuv\u00e9s ici.", "LabelDisplayMissingEpisodesWithinSeasons": "Afficher les \u00e9pisodes manquants dans les saisons", "LabelUnairedMissingEpisodesWithinSeasons": "Afficher les \u00e9pisodes non diffus\u00e9s dans les saisons", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/he.json b/MediaBrowser.Server.Implementations/Localization/Server/he.json index 1ec0c79e9..e5457fce2 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/he.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/he.json @@ -46,6 +46,8 @@ "OptionEnableWebClientResourceMinification": "Enable web client resource minification", "LabelDashboardSourcePath": "Web client source path:", "LabelDashboardSourcePathHelp": "If running the server from source, specify the path to the dashboard-ui folder. All web client files will be served from this location.", + "ButtonConvertMedia": "Convert media", + "ButtonOrganize": "Organize", "ButtonOk": "\u05d0\u05e9\u05e8", "ButtonCancel": "\u05d1\u05d8\u05dc", "ButtonNew": "\u05d7\u05d3\u05e9", @@ -79,6 +81,7 @@ "ReferToMediaLibraryWiki": "\u05e4\u05e0\u05d4 \u05dc\u05de\u05d9\u05d3\u05e2 \u05d0\u05d5\u05d3\u05d5\u05ea \u05e1\u05e4\u05e8\u05d9\u05d9\u05ea \u05d4\u05de\u05d3\u05d9\u05d4.", "LabelCountry": "\u05de\u05d3\u05d9\u05e0\u05d4:", "LabelLanguage": "\u05e9\u05e4\u05d4:", + "ButtonJoinTheDevelopmentTeam": "Join the Development Team", "HeaderPreferredMetadataLanguage": "\u05e9\u05e4\u05ea \u05de\u05d9\u05d3\u05e2 \u05de\u05d5\u05e2\u05d3\u05e4\u05ea:", "LabelSaveLocalMetadata": "\u05e9\u05de\u05d5\u05e8 \u05ea\u05de\u05d5\u05e0\u05d5\u05ea \u05e8\u05e7\u05e2 \u05d5\u05de\u05d9\u05d3\u05e2 \u05d1\u05ea\u05d5\u05da \u05e1\u05e4\u05e8\u05d9\u05d5\u05ea \u05d4\u05de\u05d3\u05d9\u05d4", "LabelSaveLocalMetadataHelp": "\u05e9\u05de\u05d9\u05e8\u05ea \u05ea\u05de\u05d5\u05e0\u05d5\u05ea \u05e8\u05e7\u05e2 \u05d5\u05de\u05d9\u05d3\u05e2 \u05d9\u05e9\u05d9\u05e8\u05d5\u05ea \u05d1\u05e1\u05e4\u05e8\u05d9\u05d5\u05ea \u05d4\u05de\u05d3\u05d9\u05d4 \u05ea\u05d0\u05e4\u05e9\u05e8 \u05e2\u05e8\u05d9\u05db\u05d4 \u05e0\u05d5\u05d7\u05d4 \u05d5\u05e7\u05dc\u05d4 \u05e9\u05dc\u05d4\u05dd.", @@ -97,6 +100,7 @@ "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": "\u05d4\u05e6\u05d2 \u05e4\u05e8\u05e7\u05d9\u05dd \u05d7\u05e1\u05e8\u05d9\u05dd \u05d1\u05ea\u05d5\u05da \u05d4\u05e2\u05d5\u05e0\u05d5\u05ea", "LabelUnairedMissingEpisodesWithinSeasons": "\u05d4\u05e6\u05d2 \u05e4\u05e8\u05e7\u05d9\u05dd \u05e9\u05e2\u05d3\u05d9\u05df \u05d0\u05dc \u05e9\u05d5\u05d3\u05e8\u05d5 \u05d1\u05ea\u05d5\u05da \u05d4\u05e2\u05d5\u05e0\u05d5\u05ea", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/hr.json b/MediaBrowser.Server.Implementations/Localization/Server/hr.json index 9843a54d3..7558568b6 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/hr.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/hr.json @@ -46,6 +46,8 @@ "OptionEnableWebClientResourceMinification": "Enable web client resource minification", "LabelDashboardSourcePath": "Web client source path:", "LabelDashboardSourcePathHelp": "If running the server from source, specify the path to the dashboard-ui folder. All web client files will be served from this location.", + "ButtonConvertMedia": "Convert media", + "ButtonOrganize": "Organize", "ButtonOk": "Ok", "ButtonCancel": "Odustani", "ButtonNew": "Novo", @@ -79,6 +81,7 @@ "ReferToMediaLibraryWiki": "Informirajte se o medijskoj bibilioteci wiki", "LabelCountry": "Zemlja:", "LabelLanguage": "Jezik:", + "ButtonJoinTheDevelopmentTeam": "Join the Development Team", "HeaderPreferredMetadataLanguage": "\u017deljeni metadata jezik:", "LabelSaveLocalMetadata": "Snimi ilustracije i metadata u medijske mape", "LabelSaveLocalMetadataHelp": "Snimljene ilustracije i metadata u medijskim mapama \u0107e biti postavljene na lokaciju gdje \u0107e se mo\u0107i jednostavno mjenjati.", @@ -97,6 +100,7 @@ "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": "Prika\u017ei epizode koje nedostaju unutar sezone", "LabelUnairedMissingEpisodesWithinSeasons": "Prika\u017ei epizode koje nisu emitirane unutar sezone", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/it.json b/MediaBrowser.Server.Implementations/Localization/Server/it.json index 7f3138b36..9fc4f9487 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/it.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/it.json @@ -46,6 +46,8 @@ "OptionEnableWebClientResourceMinification": "Enable web client resource minification", "LabelDashboardSourcePath": "Web client source path:", "LabelDashboardSourcePathHelp": "If running the server from source, specify the path to the dashboard-ui folder. All web client files will be served from this location.", + "ButtonConvertMedia": "Convert media", + "ButtonOrganize": "Organize", "ButtonOk": "OK", "ButtonCancel": "Annulla", "ButtonNew": "Nuovo", @@ -79,6 +81,7 @@ "ReferToMediaLibraryWiki": "Fare riferimento alla wiki libreria multimediale.", "LabelCountry": "Nazione:", "LabelLanguage": "Lingua:", + "ButtonJoinTheDevelopmentTeam": "Join the Development Team", "HeaderPreferredMetadataLanguage": "Lingua dei metadati preferita:", "LabelSaveLocalMetadata": "Salva immagini e metadati nelle cartelle multimediali", "LabelSaveLocalMetadataHelp": "Il salvataggio di immagini e dei metadati direttamente nelle cartelle multimediali verranno messe in un posto dove possono essere facilmente modificate.", @@ -97,6 +100,7 @@ "HeaderDeviceAccess": "Accesso dispositivo", "OptionEnableAccessFromAllDevices": "Abilitare l'accesso da tutti i dispositivi", "OptionEnableAccessToAllChannels": "Abilita l'accesso a tutti i canali", + "OptionEnableAccessToAllLibraries": "Enable access to all libraries", "DeviceAccessHelp": "Questo vale solo per i dispositivi che possono essere identificati in modo univoco e non impedire l'accesso del browser. Filtraggio di accesso al dispositivo dell'utente impedir\u00e0 loro di usare nuovi dispositivi fino a quando non sono state approvate qui.", "LabelDisplayMissingEpisodesWithinSeasons": "Visualizza gli episodi mancanti nelle stagioni", "LabelUnairedMissingEpisodesWithinSeasons": "Visualizzare episodi mai andati in onda all'interno stagioni", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/kk.json b/MediaBrowser.Server.Implementations/Localization/Server/kk.json index 57cffaba5..1c86c0882 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/kk.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/kk.json @@ -40,21 +40,23 @@ "OptionIAcceptTermsOfService": "\u049a\u044b\u0437\u043c\u0435\u0442 \u0448\u0430\u0440\u0442\u0442\u0430\u0440\u044b\u043d \u049b\u0430\u0431\u044b\u043b\u0434\u0430\u0439\u043c\u044b\u043d", "ButtonPrivacyPolicy": "\u049a\u04b1\u043f\u0438\u044f\u043b\u044b\u043b\u044b\u049b \u0441\u0430\u044f\u0441\u0430\u0442\u044b", "ButtonTermsOfService": "\u049a\u044b\u0437\u043c\u0435\u0442 \u0448\u0430\u0440\u0442\u0442\u0430\u0440\u044b", - "HeaderDeveloperOptions": "Developer Options", - "OptionEnableWebClientResponseCache": "Enable web client response caching", - "OptionDisableForDevelopmentHelp": "Configure these as needed for web client development purposes.", - "OptionEnableWebClientResourceMinification": "Enable web client resource minification", - "LabelDashboardSourcePath": "Web client source path:", - "LabelDashboardSourcePathHelp": "If running the server from source, specify the path to the dashboard-ui folder. All web client files will be served from this location.", + "HeaderDeveloperOptions": "\u0416\u0430\u0441\u0430\u049b\u0442\u0430\u0443\u0448\u044b \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043b\u0435\u0440\u0456", + "OptionEnableWebClientResponseCache": "\u0412\u0435\u0431-\u043a\u043b\u0438\u0435\u043d\u0442 \u04af\u043d \u049b\u0430\u0442\u0443 \u043a\u044d\u0448\u0442\u0435\u0443\u0456\u043d \u049b\u043e\u0441\u0443", + "OptionDisableForDevelopmentHelp": "\u0412\u0435\u0431-\u043a\u043b\u0438\u0435\u043d\u0442 \u0436\u0430\u0441\u0430\u049b\u0442\u0430\u0443 \u04af\u0448\u0456\u043d \u049b\u0430\u0436\u0435\u0442 \u0431\u043e\u043b\u0493\u0430\u043d\u0434\u0430 \u043c\u044b\u043d\u0430\u043b\u0430\u0440\u0434\u044b \u0442\u0435\u04a3\u0448\u0435\u04a3\u0456\u0437.", + "OptionEnableWebClientResourceMinification": "\u0412\u0435\u0431-\u043a\u043b\u0438\u0435\u043d\u0442 \u049b\u043e\u0440\u044b\u043d \u0430\u0437\u0430\u0439\u0442\u0443\u0434\u044b \u049b\u043e\u0441\u0443", + "LabelDashboardSourcePath": "\u0412\u0435\u0431-\u043a\u043b\u0438\u0435\u043d\u0442 \u043a\u04e9\u0437\u0456\u043d\u0456\u04a3 \u0436\u043e\u043b\u044b:", + "LabelDashboardSourcePathHelp": "\u0415\u0433\u0435\u0440 \u0441\u0435\u0440\u0432\u0435\u0440 \u049b\u0430\u0439\u043d\u0430\u0440 \u043a\u043e\u0434\u044b\u043d\u0430\u043d \u0436\u04b1\u043c\u044b\u0441 \u0456\u0441\u0442\u0435\u0441\u0435, dashboard-ui \u049b\u0430\u043b\u0442\u0430\u0441\u044b\u043d\u0430 \u0436\u043e\u043b\u0434\u044b \u0430\u043d\u044b\u049b\u0442\u0430\u04a3\u044b\u0437. \u0412\u0435\u0431-\u043a\u043b\u0438\u0435\u043d\u0442\u0442\u0456\u04a3 \u0431\u0430\u0440\u043b\u044b\u049b \u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b \u043e\u0441\u044b \u0436\u0430\u0439\u0493\u0430\u0441\u044b\u043c\u0434\u0430\u043d \u0448\u044b\u0493\u0430\u0440\u044b\u043b\u0430\u0434\u044b.", + "ButtonConvertMedia": "Convert media", + "ButtonOrganize": "Organize", "ButtonOk": "\u0416\u0430\u0440\u0430\u0439\u0434\u044b", "ButtonCancel": "\u0411\u043e\u043b\u0434\u044b\u0440\u043c\u0430\u0443", "ButtonNew": "\u0416\u0430\u0441\u0430\u0443", "HeaderTV": "\u0422\u0414", "HeaderAudio": "\u0414\u044b\u0431\u044b\u0441", "HeaderVideo": "\u0411\u0435\u0439\u043d\u0435", - "HeaderPaths": "Paths", - "TitleNotifications": "Notifications", - "ButtonDonateWithPayPal": "Donate with PayPal", + "HeaderPaths": "\u0416\u043e\u043b\u0434\u0430\u0440", + "TitleNotifications": "\u0425\u0430\u0431\u0430\u0440\u043b\u0430\u043d\u0434\u044b\u0440\u0443\u043b\u0430\u0440", + "ButtonDonateWithPayPal": "PayPal \u0430\u0440\u049b\u044b\u043b\u044b \u049b\u0430\u0439\u044b\u0440\u043c\u0430\u043b\u0430\u0443", "OptionDetectArchiveFilesAsMedia": "\u041c\u04b1\u0440\u0430\u0493\u0430\u0442\u0442\u0430\u043b\u0493\u0430\u043d \u0444\u0430\u0439\u043b\u0434\u0430\u0440\u0434\u044b \u0442\u0430\u0441\u0443\u0448\u044b\u0434\u0435\u0440\u0435\u043a \u0440\u0435\u0442\u0456\u043d\u0434\u0435 \u0442\u0430\u0431\u0443", "OptionDetectArchiveFilesAsMediaHelp": "\u049a\u043e\u0441\u044b\u043b\u0493\u0430\u043d\u0434\u0430, .rar \u0436\u04d9\u043d\u0435 .zip \u043a\u0435\u04a3\u0435\u0439\u0442\u0456\u043c\u0434\u0435\u0440\u0456 \u0431\u0430\u0440 \u0444\u0430\u0439\u043b\u0434\u0430\u0440 \u0442\u0430\u0441\u0443\u0448\u044b \u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b \u0440\u0435\u0442\u0456\u043d\u0434\u0435 \u0442\u0430\u0431\u044b\u043b\u0430\u0434\u044b.", "LabelEnterConnectUserName": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b \u0430\u0442\u044b \u043d\u0435\u043c\u0435\u0441\u0435 \u049b\u04b1\u043f\u0438\u044f \u0441\u04e9\u0437\u0456", @@ -72,13 +74,14 @@ "FolderTypeTvShows": "\u0422\u0414", "FolderTypeInherit": "\u041c\u04b1\u0440\u0430\u0493\u0430 \u0438\u0435\u043b\u0435\u043d\u0443", "LabelContentType": "\u041c\u0430\u0437\u043c\u04b1\u043d \u0442\u04af\u0440\u0456:", - "TitleScheduledTasks": "Scheduled Tasks", + "TitleScheduledTasks": "\u0416\u043e\u0441\u043f\u0430\u0440\u043b\u0430\u0493\u0430\u043d \u0442\u0430\u043f\u0441\u044b\u0440\u043c\u0430\u043b\u0430\u0440", "HeaderSetupLibrary": "\u0422\u0430\u0441\u0443\u0448\u044b\u0445\u0430\u043d\u0430\u043d\u044b \u043e\u0440\u043d\u0430\u0442\u0443 \u0436\u04d9\u043d\u0435 \u0442\u0435\u04a3\u0448\u0435\u0443", "ButtonAddMediaFolder": "\u0422\u0430\u0441\u0443\u0448\u044b \u049b\u0430\u043b\u0442\u0430\u0441\u044b\u043d \u04af\u0441\u0442\u0435\u0443", "LabelFolderType": "\u049a\u0430\u043b\u0442\u0430 \u0442\u04af\u0440\u0456:", "ReferToMediaLibraryWiki": "\u0422\u0430\u0441\u0443\u0448\u044b\u0445\u0430\u043d\u0430 \u0442\u0443\u0440\u0430\u043b\u044b \u0443\u0438\u043a\u0438 \u0456\u0448\u0456\u043d\u0435\u043d \u049b\u0430\u0440\u0430\u04a3\u044b\u0437.", "LabelCountry": "\u0415\u043b:", "LabelLanguage": "\u0422\u0456\u043b:", + "ButtonJoinTheDevelopmentTeam": "Join the Development Team", "HeaderPreferredMetadataLanguage": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u0442\u0456\u043b\u0456\u043d\u0456\u04a3 \u0442\u0435\u04a3\u0448\u0435\u043b\u0456\u043c\u0456:", "LabelSaveLocalMetadata": "\u0421\u0443\u0440\u0435\u0442\u0442\u0435\u043c\u0435 v\u0435\u043d \u043c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0456 \u0442\u0430\u0441\u0443\u0448\u044b \u049b\u0430\u043b\u0442\u0430\u043b\u0430\u0440\u044b \u0456\u0448\u0456\u043d\u0434\u0435 \u0441\u0430\u049b\u0442\u0430\u0443", "LabelSaveLocalMetadataHelp": "\u0421\u0443\u0440\u0435\u0442\u0442\u0435\u043c\u0435 \u043c\u0435\u043d \u043c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0456 \u0442\u0456\u043a\u0435\u043b\u0435\u0439 \u0442\u0430\u0441\u0443\u0448\u044b \u049b\u0430\u043b\u0442\u0430\u043b\u0430\u0440\u044b \u0456\u0448\u0456\u043d\u0434\u0435 \u0441\u0430\u049b\u0442\u0430\u043b\u0443\u044b \u043e\u043b\u0430\u0440\u0434\u044b \u0436\u0435\u04a3\u0456\u043b \u04e9\u04a3\u0434\u0435\u0439 \u0430\u043b\u0430\u0442\u044b\u043d \u043e\u0440\u044b\u043d\u0493\u0430 \u049b\u043e\u044f\u0434\u044b.", @@ -97,6 +100,7 @@ "HeaderDeviceAccess": "\u049a\u04b1\u0440\u044b\u043b\u0493\u044b\u0493\u0430 \u049b\u0430\u0442\u044b\u043d\u0430\u0441", "OptionEnableAccessFromAllDevices": "\u0411\u0430\u0440\u043b\u044b\u049b \u049b\u04b1\u0440\u044b\u043b\u0493\u044b\u043b\u0430\u0440\u0434\u0430\u043d \u049b\u0430\u0442\u044b\u043d\u0430\u0441\u0443\u0434\u044b \u049b\u043e\u0441\u0443", "OptionEnableAccessToAllChannels": "\u0411\u0430\u0440\u043b\u044b\u049b \u0430\u0440\u043d\u0430\u043b\u0430\u0440\u0493\u0430 \u049b\u0430\u0442\u044b\u043d\u0430\u0441\u0443\u0434\u044b \u049b\u043e\u0441\u0443", + "OptionEnableAccessToAllLibraries": "Enable access to all libraries", "DeviceAccessHelp": "\u0411\u04b1\u043b \u0442\u0435\u043a \u049b\u0430\u043d\u0430 \u0431\u0456\u0440\u0435\u0433\u0435\u0439 \u0430\u043d\u044b\u049b\u0442\u0430\u043b\u0443\u044b \u043c\u04af\u043c\u043a\u0456\u043d \u049b\u04b1\u0440\u044b\u043b\u0493\u044b\u043b\u0430\u0440 \u04af\u0448\u0456\u043d \u049b\u043e\u043b\u0434\u0430\u043d\u044b\u043b\u0430\u0434\u044b \u0436\u04d9\u043d\u0435 \u0448\u043e\u043b\u0493\u044b\u0448\u043f\u0435\u043d \u049b\u0430\u043d\u0442\u044b\u043d\u0430\u0441\u0443\u0493\u0430 \u0442\u044b\u0439\u044b\u043c \u0441\u0430\u043b\u043c\u0430\u0439\u0434\u044b. \u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b \u049b\u04b1\u0440\u044b\u043b\u0493\u044b\u0441\u044b\u043d\u0430\u043d \u049b\u0430\u0442\u044b\u043d\u0430\u0441\u0443\u0434\u044b \u0441\u04af\u0437\u0433\u0456\u043b\u0435\u0443\u0456 \u0436\u0430\u04a3\u0430 \u049b\u04b1\u0440\u044b\u043b\u0493\u044b\u043b\u0430\u0440\u0434\u044b \u043c\u04b1\u043d\u0434\u0430 \u0431\u0435\u043a\u0456\u0442\u0456\u043b\u0433\u0435\u043d\u0448\u0435 \u0434\u0435\u0439\u0456\u043d \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0493\u0430 \u0442\u044b\u0439\u044b\u043c \u0441\u0430\u043b\u0430\u0434\u044b.", "LabelDisplayMissingEpisodesWithinSeasons": "\u0416\u043e\u049b \u044d\u043f\u0438\u0437\u043e\u0434\u0442\u0430\u0440\u0434\u044b \u043c\u0430\u0443\u0441\u044b\u043c \u0456\u0448\u0456\u043d\u0434\u0435 \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0443", "LabelUnairedMissingEpisodesWithinSeasons": "\u041a\u04e9\u0440\u0441\u0435\u0442\u0456\u043b\u043c\u0435\u0433\u0435\u043d \u044d\u043f\u0438\u0437\u043e\u0434\u0442\u0430\u0440\u0434\u044b \u043c\u0430\u0443\u0441\u044b\u043c \u0456\u0448\u0456\u043d\u0434\u0435 \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0443", @@ -307,7 +311,7 @@ "LabelRunServerAtStartupHelp": "\u0411\u04b1\u043b Windows \u0436\u04b1\u043c\u044b\u0441\u044b\u043d \u0431\u0430\u0441\u0442\u0430\u0493\u0430\u043d\u0434\u0430 \u0436\u04af\u0439\u0435\u043b\u0456\u043a \u0442\u0430\u049b\u0442\u0430\u0434\u0430\u0493\u044b \u0431\u0435\u043b\u0433\u0456\u0448\u0435 \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u044b\u043b\u0430\u0434\u044b. Windows \u049b\u044b\u0437\u043c\u0435\u0442\u0456\u043d \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u0443 \u04af\u0448\u0456\u043d, \u049b\u04b1\u0441\u0431\u0435\u043b\u0433\u0456\u043d\u0456 \u0430\u043b\u044b\u04a3\u044b\u0437 \u0436\u04d9\u043d\u0435 \u049b\u044b\u0437\u043c\u0435\u0442\u0442\u0456 Windows \u049a\u044b\u0437\u043c\u0435\u0442\u0442\u0435\u0440 \u0434\u0438\u0441\u043f\u0435\u0442\u0447\u0435\u0440\u0456 \u0430\u0440\u049b\u044b\u043b\u044b \u043e\u0440\u044b\u043d\u0434\u0430\u04a3\u044b\u0437. \u041d\u0430\u0437\u0430\u0440 \u0430\u0443\u0434\u0430\u0440\u044b\u04a3\u044b\u0437! \u0411\u04b1\u043b \u0435\u043a\u0435\u0443\u0456\u043d \u0441\u043e\u043b \u043c\u0435\u0437\u0433\u0456\u043b\u0434\u0435 \u0431\u0456\u0440\u0433\u0435 \u043e\u0440\u044b\u043d\u0434\u0430\u0443 \u043c\u04af\u043c\u043a\u0456\u043d \u0435\u043c\u0435\u0441, \u0441\u043e\u043d\u044b\u043c\u0435\u043d \u049b\u044b\u0437\u043c\u0435\u0442\u0442\u0456 \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u0443 \u0430\u043b\u0434\u044b\u043d\u0430\u043d \u0436\u04af\u0439\u0435\u043b\u0456\u043a \u0442\u0430\u049b\u0442\u0430\u0434\u0430\u0493\u044b \u0431\u0435\u043b\u0433\u0456\u0448\u0435\u0434\u0435\u043d \u0448\u044b\u0493\u044b\u04a3\u044b\u0437.", "ButtonSelectDirectory": "\u049a\u0430\u0442\u0430\u043b\u043e\u0433\u0442\u044b \u0431\u04e9\u043b\u0435\u043a\u0442\u0435\u0443", "LabelCustomPaths": "\u049a\u0430\u043b\u0430\u0443\u044b\u04a3\u044b\u0437 \u0431\u043e\u0439\u044b\u043d\u0448\u0430 \u0442\u0435\u04a3\u0448\u0435\u043b\u0433\u0435\u043d \u0436\u043e\u043b\u0434\u0430\u0440\u0434\u044b \u0430\u043d\u044b\u049b\u0442\u0430\u04a3\u044b\u0437. \u04d8\u0434\u0435\u043f\u043a\u0456\u043b\u0435\u0440\u0434\u0456 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443 \u04af\u0448\u0456\u043d \u04e9\u0440\u0456\u0441\u0442\u0435\u0440\u0434\u0456 \u0431\u043e\u0441 \u049b\u0430\u043b\u0434\u044b\u0440\u044b\u04a3\u044b\u0437.", - "LabelCachePath": "\u041a\u0435\u0448\u043a\u0435 \u049b\u0430\u0440\u0430\u0439 \u0436\u043e\u043b:", + "LabelCachePath": "\u041a\u044d\u0448\u043a\u0435 \u049b\u0430\u0440\u0430\u0439 \u0436\u043e\u043b:", "LabelCachePathHelp": "\u0421\u0443\u0440\u0435\u0442 \u0441\u0438\u044f\u049b\u0442\u044b \u0441\u0435\u0440\u0432\u0435\u0440\u0434\u0456\u04a3 \u043a\u044d\u0448 \u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b \u04af\u0448\u0456\u043d \u0442\u0435\u04a3\u0448\u0435\u043b\u0433\u0435\u043d \u0436\u0430\u0439\u0493\u0430\u0441\u044b\u043c\u0434\u044b \u0430\u043d\u044b\u049b\u0442\u0430\u04a3\u044b\u0437.", "LabelImagesByNamePath": "\u0410\u0442\u044b \u0431\u043e\u0439\u044b\u043d\u0448\u0430 \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440\u0433\u0435 \u049b\u0430\u0440\u0430\u0439 \u0436\u043e\u043b:", "LabelImagesByNamePathHelp": "\u0416\u04af\u043a\u0442\u0435\u043f \u0430\u043b\u044b\u043d\u0493\u0430\u043d \u0430\u043a\u0442\u0435\u0440, \u0436\u0430\u043d\u0440, \u0436\u04d9\u043d\u0435 \u0441\u0442\u0443\u0434\u0438\u044f \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440\u0456 \u04af\u0448\u0456\u043d \u0442\u0435\u04a3\u0448\u0435\u043b\u0433\u0435\u043d \u0436\u0430\u0439\u0493\u0430\u0441\u044b\u043c\u0434\u044b \u0430\u043d\u044b\u049b\u0442\u0430\u04a3\u044b\u0437.", @@ -513,23 +517,23 @@ "NewCollectionNameExample": "\u041c\u044b\u0441\u0430\u043b: \u0416\u04b1\u043b\u0434\u044b\u0437 \u0441\u043e\u0493\u044b\u0441\u0442\u0430\u0440\u044b (\u0436\u0438\u044b\u043d\u0442\u044b\u049b)", "OptionSearchForInternetMetadata": "\u0421\u0443\u0440\u0435\u0442\u0442\u0435\u043c\u0435 \u043c\u0435\u043d \u043c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0456 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0442\u0435\u043d \u0456\u0437\u0434\u0435\u0443", "ButtonCreate": "\u0416\u0430\u0441\u0430\u0443", - "LabelCustomCss": "Custom css:", - "LabelCustomCssHelp": "Apply your own custom css to the web interface.", - "LabelLocalHttpServerPortNumber": "Local http port number:", + "LabelCustomCss": "\u0422\u0435\u04a3\u0448\u0435\u0443\u043b\u0456 css:", + "LabelCustomCssHelp": "\u04e8\u0437\u0456\u04a3\u0456\u0437\u0434\u0456\u04a3 \u0442\u0435\u04a3\u0448\u0435\u0443\u043b\u0456 css \u043a\u043e\u0434\u044b\u043d \u0432\u0435\u0431-\u0442\u0456\u043b\u0434\u0435\u0441\u0443\u0434\u0435 \u049b\u043e\u043b\u0434\u0430\u043d\u044b\u04a3\u044b\u0437.", + "LabelLocalHttpServerPortNumber": "\u0416\u0435\u0440\u0433\u0456\u043b\u0456\u043a\u0442\u0456 http-\u043f\u043e\u0440\u0442 \u043d\u04e9\u043c\u0456\u0440\u0456:", "LabelLocalHttpServerPortNumberHelp": "Media Browser HTTP \u0441\u0435\u0440\u0432\u0435\u0440\u0456 \u0431\u0430\u0439\u043b\u0430\u0441\u0442\u044b\u0440\u044b\u043b\u0443\u044b \u0442\u0438\u0456\u0441\u0442\u0456 TCP \u043f\u043e\u0440\u0442 \u043d\u04e9\u043c\u0456\u0440\u0456.", - "LabelPublicHttpPort": "Public http port number:", - "LabelPublicHttpPortHelp": "The public port number that should be mapped to the local http port.", - "LabelPublicHttpsPort": "Public https port number:", - "LabelPublicHttpsPortHelp": "The public port number that should be mapped to the local https port.", - "LabelEnableHttps": "Report https as external address", - "LabelEnableHttpsHelp": "If enabled, the server will report an https url to clients as it's external address. This may break clients that do not yet support https.", - "LabelHttpsPort": "Local https port number:", - "LabelHttpsPortHelp": "The tcp port number that Media Browser's https server should bind to.", + "LabelPublicHttpPort": "\u0416\u0430\u0440\u0438\u044f http-\u043f\u043e\u0440\u0442 \u043d\u04e9\u043c\u0456\u0440\u0456:", + "LabelPublicHttpPortHelp": "\u0416\u0435\u0440\u0433\u0456\u043b\u0456\u043a\u0442\u0456 http-\u043f\u043e\u0440\u0442\u044b\u043d\u0430 \u0441\u0430\u043b\u044b\u0441\u0442\u044b\u0440\u044b\u043b\u0443\u044b \u0442\u0438\u0456\u0441 \u0436\u0430\u0440\u0438\u044f \u043f\u043e\u0440\u0442 \u043d\u04e9\u043c\u0456\u0440\u0456.", + "LabelPublicHttpsPort": "\u0416\u0430\u0440\u0438\u044f https-\u043f\u043e\u0440\u0442 \u043d\u04e9\u043c\u0456\u0440\u0456:", + "LabelPublicHttpsPortHelp": "\u0416\u0435\u0440\u0433\u0456\u043b\u0456\u043a\u0442\u0456 https-\u043f\u043e\u0440\u0442\u044b\u043d\u0430 \u0441\u0430\u043b\u044b\u0441\u0442\u044b\u0440\u044b\u043b\u0443\u044b \u0442\u0438\u0456\u0441 \u0436\u0430\u0440\u0438\u044f \u043f\u043e\u0440\u0442 \u043d\u04e9\u043c\u0456\u0440\u0456.", + "LabelEnableHttps": "HTTPS \u0445\u0430\u0442\u0442\u0430\u043c\u0430\u0441\u044b \u0441\u044b\u0440\u0442\u049b\u044b \u043c\u0435\u043a\u0435\u043d\u0435\u0436\u0430\u0439 \u0440\u0435\u0442\u0456\u043d\u0434\u0435 \u0431\u0430\u044f\u043d\u0434\u0430\u0443", + "LabelEnableHttpsHelp": "\u0415\u0433\u0435\u0440 \u049b\u043e\u0441\u044b\u043b\u0441\u0430, \u043a\u043b\u0438\u0435\u043d\u0442\u0442\u0435\u0440 \u04af\u0448\u0456\u043d \u0441\u0435\u0440\u0432\u0435\u0440 https url \u0441\u044b\u0440\u0442\u049b\u044b \u043c\u0435\u043a\u0435\u043d\u0436\u0430\u0439 \u0440\u0435\u0442\u0456\u043d\u0434\u0435 \u0431\u0430\u044f\u043d\u0434\u0430\u0439\u0434\u044b. \u0411\u04b1\u043b \u04d9\u043b\u0456 \u0434\u0435 https \u049b\u043e\u043b\u0434\u0430\u043c\u0430\u0439\u0442\u044b\u043d \u043a\u043b\u0438\u0435\u043d\u0442\u0442\u0435\u0440\u0434\u0456\u04a3 \u0436\u04b1\u043c\u044b\u0441\u044b\u043d \u04af\u0437\u0443\u0456 \u043c\u04af\u043c\u043a\u0456\u043d.", + "LabelHttpsPort": "\u0416\u0435\u0440\u0433\u0456\u043b\u0456\u043a\u0442\u0456 https-\u043f\u043e\u0440\u0442 \u043d\u04e9\u043c\u0456\u0440\u0456:", + "LabelHttpsPortHelp": "Media Browser https-\u0441\u0435\u0440\u0432\u0435\u0440\u0456 \u0431\u0430\u0439\u043b\u0430\u0441\u0442\u044b\u0440\u044b\u043b\u0443\u0493\u0430 \u0442\u0438\u0456\u0441\u0442\u0456 tcp-\u043f\u043e\u0440\u0442 \u043d\u04e9\u043c\u0456\u0440\u0456.", "LabelWebSocketPortNumber": "\u0412\u0435\u0431-\u0441\u043e\u043a\u0435\u0442 \u043f\u043e\u0440\u0442\u044b\u043d\u044b\u04a3 \u043d\u04e9\u043c\u0456\u0440\u0456:", "LabelEnableAutomaticPortMap": "\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0442\u044b \u0442\u04af\u0440\u0434\u0435 \u043f\u043e\u0440\u0442 \u0441\u0430\u043b\u044b\u0441\u0442\u044b\u0440\u0443\u044b\u043d \u049b\u043e\u0441\u0443", "LabelEnableAutomaticPortMapHelp": "\u0416\u0430\u0440\u0438\u044f \u043f\u043e\u0440\u0442\u0442\u044b \u0436\u0435\u0440\u0433\u0456\u043b\u0456\u043a\u0442\u0456 \u043f\u043e\u0440\u0442\u049b\u0430 UPnP \u0430\u0440\u049b\u044b\u043b\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0442\u044b \u0442\u04af\u0440\u0434\u0435 \u0441\u0430\u043b\u044b\u0441\u0442\u044b\u0440\u0443 \u04d9\u0440\u0435\u043a\u0435\u0442\u0456. \u0411\u04b1\u043b \u043a\u0435\u0439\u0431\u0456\u0440 \u0436\u043e\u043b \u0436\u043e\u0441\u043f\u0430\u0440\u043b\u0430\u0493\u044b\u0448 \u04b1\u043b\u0433\u0456\u043b\u0435\u0440\u0456\u043c\u0435\u043d \u0436\u04b1\u043c\u044b\u0441 \u0456\u0441\u0442\u0435\u043c\u0435\u0439\u0442\u0456\u043d\u0456 \u043c\u04af\u043c\u043a\u0456\u043d.", - "LabelExternalDDNS": "External WAN Address:", - "LabelExternalDDNSHelp": "If you have a dynamic DNS enter it here. Media Browser apps will use it when connecting remotely. Leave empty for automatic detection.", + "LabelExternalDDNS": "\u0421\u044b\u0440\u0442\u049b\u044b WAN-\u043c\u0435\u043a\u0435\u043d\u0436\u0430\u0439:", + "LabelExternalDDNSHelp": "\u0415\u0433\u0435\u0440 \u0441\u0456\u0437\u0434\u0435 dynamic DNS \u0431\u043e\u043b\u0441\u0430, \u0431\u04b1\u043d\u044b \u043e\u0441\u044b \u0436\u0435\u0440\u0434\u0435 \u0435\u043d\u0433\u0456\u0437\u0456\u04a3\u0456\u0437. Media Browser \u049b\u043e\u043b\u0434\u0430\u043d\u0431\u0430\u043b\u0430\u0440\u044b \u0441\u044b\u0440\u0442\u0442\u0430\u043d \u049b\u043e\u0441\u044b\u043b\u0493\u0430\u043d\u0434\u0430 \u043e\u0441\u044b\u043d\u044b \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0430\u0434\u044b. \u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0442\u044b \u0442\u04af\u0440\u0434\u0435 \u0442\u0430\u0431\u044b\u043b\u0443 \u04af\u0448\u0456\u043d \u0431\u043e\u0441 \u049b\u0430\u043b\u0434\u044b\u0440\u044b\u04a3\u044b\u0437.", "TabResume": "\u0416\u0430\u043b\u0493\u0430\u0441\u0442\u044b\u0440\u0443", "TabWeather": "\u0410\u0443\u0430 \u0440\u0430\u0439\u044b", "TitleAppSettings": "\u049a\u043e\u043b\u0434\u0430\u043d\u0431\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043b\u0435\u0440\u0456", @@ -597,7 +601,7 @@ "ButtonRestart": "\u049a\u0430\u0439\u0442\u0430 \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u0443", "ButtonShutdown": "\u0416\u04b1\u043c\u044b\u0441\u0442\u044b \u0430\u044f\u049b\u0442\u0430\u0443", "ButtonUpdateNow": "\u049a\u0430\u0437\u0456\u0440 \u0436\u0430\u04a3\u0430\u0440\u0442\u0443", - "TabHosting": "Hosting", + "TabHosting": "\u0425\u043e\u0441\u0442\u0438\u043d\u0433", "PleaseUpdateManually": "\u0421\u0435\u0440\u0432\u0435\u0440 \u0436\u04b1\u043c\u044b\u0441\u044b\u043d \u0430\u044f\u049b\u0442\u0430\u04a3\u044b\u0437 \u0434\u0430 \u049b\u043e\u043b\u043c\u0435\u043d \u0436\u0430\u04a3\u0430\u0440\u0442\u044b\u04a3\u044b\u0437.", "NewServerVersionAvailable": "Media Browser Server \u0436\u0430\u04a3\u0430 \u043d\u04b1\u0441\u049b\u0430\u0441\u044b \u049b\u043e\u043b \u0436\u0435\u0442\u0456\u043c\u0434\u0456!", "ServerUpToDate": "Media Browser Server \u043a\u04af\u0439\u0456: \u0436\u0430\u04a3\u0430\u0440\u0442\u044b\u043b\u0493\u0430\u043d", @@ -801,7 +805,7 @@ "OptionEnableM2tsMode": "M2ts \u0440\u0435\u0436\u0456\u043c\u0456\u043d \u049b\u043e\u0441\u0443", "OptionEnableM2tsModeHelp": "Mpegts \u04af\u0448\u0456\u043d \u043a\u043e\u0434\u0442\u0430\u0443 \u043a\u0435\u0437\u0456\u043d\u0434\u0435 m2ts \u0440\u0435\u0436\u0456\u043c\u0456\u043d \u049b\u043e\u0441\u0443.", "OptionEstimateContentLength": "\u049a\u0430\u0439\u0442\u0430 \u043a\u043e\u0434\u0442\u0430\u0443 \u043a\u0435\u0437\u0456\u043d\u0434\u0435 \u043c\u0430\u0437\u043c\u04b1\u043d \u04b1\u0437\u044b\u043d\u0434\u044b\u0493\u044b\u043d \u0431\u0430\u0493\u0430\u043b\u0430\u0443", - "OptionReportByteRangeSeekingWhenTranscoding": "\u049a\u0430\u0439\u0442\u0430 \u043a\u043e\u0434\u0442\u0430\u0443 \u043a\u0435\u0437\u0456\u043d\u0434\u0435 \u0441\u0435\u0440\u0432\u0435\u0440 \u0431\u0430\u0439\u0442 \u0456\u0440\u0456\u043a\u0442\u0435\u0443\u0456\u043d \u049b\u043e\u043b\u0434\u0430\u0441\u0430 \u0445\u0430\u0431\u0430\u0440\u043b\u0430\u0443", + "OptionReportByteRangeSeekingWhenTranscoding": "\u049a\u0430\u0439\u0442\u0430 \u043a\u043e\u0434\u0442\u0430\u0443 \u043a\u0435\u0437\u0456\u043d\u0434\u0435 \u0441\u0435\u0440\u0432\u0435\u0440 \u0431\u0430\u0439\u0442 \u0456\u0440\u0456\u043a\u0442\u0435\u0443\u0456\u043d \u049b\u043e\u043b\u0434\u0430\u0441\u0430 \u0431\u0430\u044f\u043d\u0434\u0430\u0443", "OptionReportByteRangeSeekingWhenTranscodingHelp": "\u0411\u04b1\u043b \u0443\u0430\u049b\u044b\u0442 \u0456\u0440\u0456\u043a\u0442\u0435\u0443\u0456 \u043e\u043d\u0448\u0430 \u0435\u043c\u0435\u0441 \u043a\u0435\u0439\u0431\u0456\u0440 \u049b\u04b1\u0440\u044b\u043b\u0493\u044b\u043b\u0430\u0440 \u04af\u0448\u0456\u043d \u049b\u0430\u0436\u0435\u0442.", "HeaderSubtitleDownloadingHelp": "Media Browser \u0431\u0435\u0439\u043d\u0435\u0444\u0430\u0439\u043b\u0434\u0430\u0440\u0434\u044b \u0441\u043a\u0430\u043d\u0435\u0440\u043b\u0435\u0433\u0435\u043d\u0434\u0435 \u0431\u04b1\u043b \u0436\u043e\u049b \u0441\u0443\u0431\u0442\u0438\u0442\u0440\u043b\u0435\u0440\u0434\u0456 \u0456\u0437\u0434\u0435\u0443 \u0436\u04d9\u043d\u0435 OpenSubtitles.org \u0441\u0438\u044f\u049b\u0442\u044b \u0441\u0443\u0431\u0442\u0438\u0442\u0440\u043b\u0435\u0440 \u0436\u0435\u0442\u043a\u0456\u0437\u0443\u0448\u0456 \u0430\u0440\u049b\u044b\u043b\u044b \u0436\u04af\u043a\u0442\u0435\u043f \u0430\u043b\u0443\u044b \u043c\u04af\u043c\u043a\u0456\u043d.", "HeaderDownloadSubtitlesFor": "\u0421\u0443\u0431\u0442\u0438\u0442\u0440\u043b\u0435\u0440\u0434\u0456 \u043c\u044b\u043d\u0430\u0493\u0430\u043d \u0436\u04af\u043a\u0442\u0435\u043f \u0430\u043b\u0443:", @@ -867,7 +871,7 @@ "HeaderLatestChannelItems": "\u0410\u0440\u043d\u0430\u043b\u0430\u0440\u0434\u044b\u04a3 \u0435\u04a3 \u043a\u0435\u0439\u0456\u043d\u0433\u0456 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0442\u0435\u0440\u0456", "OptionNone": "\u0415\u0448\u049b\u0430\u043d\u0434\u0430\u0439", "HeaderLiveTv": "\u042d\u0444\u0438\u0440\u043b\u0456\u043a \u0422\u0414", - "HeaderReports": "\u0415\u0441\u0435\u043f\u0442\u0435\u0440", + "HeaderReports": "\u0411\u0430\u044f\u043d\u0434\u0430\u043c\u0430\u043b\u0430\u0440", "HeaderMetadataManager": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a \u0440\u0435\u0442\u0442\u0435\u0443\u0448\u0456", "HeaderPreferences": "\u0422\u0435\u04a3\u0448\u0435\u043b\u0456\u043c\u0434\u0435\u0440", "MessageLoadingChannels": "\u0410\u0440\u043d\u0430\u043d\u044b\u04a3 \u043c\u0430\u0437\u043c\u04b1\u043d\u044b\u043d \u0436\u04af\u043a\u0442\u0435\u0443\u0434\u0435...", @@ -959,7 +963,7 @@ "TabServices": "\u049a\u044b\u0437\u043c\u0435\u0442\u0442\u0435\u0440", "TabLogs": "\u0416\u04b1\u0440\u043d\u0430\u043b\u0434\u0430\u0440", "HeaderServerLogFiles": "\u0421\u0435\u0440\u0432\u0435\u0440\u0434\u0456\u04a3 \u0436\u04b1\u0440\u043d\u0430\u043b \u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b:", - "TabBranding": "\u0411\u0440\u0435\u043d\u0434\u0438\u043d\u0433", + "TabBranding": "\u0411\u0435\u0437\u0435\u043d\u0434\u0456\u0440\u0443", "HeaderBrandingHelp": "\u0422\u043e\u0431\u044b\u04a3\u044b\u0437\u0434\u044b\u04a3 \u043d\u0435 \u04b1\u0439\u044b\u043c\u044b\u04a3\u044b\u0437\u0434\u044b\u04a3 \u043c\u04b1\u049b\u0442\u0430\u0436\u0434\u044b\u049b\u0442\u0430\u0440\u044b\u043d\u0430 \u04af\u0439\u043b\u0435\u0441\u0456\u043c\u0434\u0456 Media Browser \u0431\u0435\u0437\u0435\u043d\u0434\u0456\u0440\u0443\u0456\u043d \u0442\u0435\u04a3\u0448\u0435\u0443.", "LabelLoginDisclaimer": "\u041a\u0456\u0440\u0433\u0435\u043d\u0434\u0435\u0433\u0456 \u0435\u0441\u043a\u0435\u0440\u0442\u0443:", "LabelLoginDisclaimerHelp": "\u0411\u04b1\u043b \u043a\u0456\u0440\u0443 \u0431\u0435\u0442\u0456\u043d\u0456\u04a3 \u0442\u04e9\u043c\u0435\u043d\u0456\u043d\u0434\u0435 \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u043d\u0435\u0434\u0456.", @@ -968,13 +972,13 @@ "OptionList": "\u0422\u0456\u0437\u0456\u043c", "TabDashboard": "\u0411\u0430\u049b\u044b\u043b\u0430\u0443 \u0442\u0430\u049b\u0442\u0430\u0441\u044b", "TitleServer": "\u0421\u0435\u0440\u0432\u0435\u0440", - "LabelCache": "\u041a\u0435\u0448:", + "LabelCache": "\u041a\u044d\u0448:", "LabelLogs": "\u0416\u04b1\u0440\u043d\u0430\u043b\u0434\u0430\u0440:", "LabelMetadata": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440:", "LabelImagesByName": "\u0410\u0442\u044b \u0431\u043e\u0439\u044b\u043d\u0448\u0430 \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440:", "LabelTranscodingTemporaryFiles": "\u049a\u0430\u0439\u0442\u0430 \u043a\u043e\u0434\u0442\u0430\u0443\u044b\u043d\u044b\u04a3 \u0443\u0430\u049b\u044b\u0442\u0448\u0430 \u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b:", "HeaderLatestMusic": "\u0415\u04a3 \u043a\u0435\u0439\u0456\u043d\u0433\u0456 \u043c\u0443\u0437\u044b\u043a\u0430", - "HeaderBranding": "\u0411\u0440\u0435\u043d\u0434\u0438\u04a3\u0433", + "HeaderBranding": "\u0411\u0435\u0437\u0435\u043d\u0434\u0456\u0440\u0443", "HeaderApiKeys": "API \u043a\u0456\u043b\u0442\u0442\u0435\u0440\u0456", "HeaderApiKeysHelp": "\u0421\u044b\u0440\u0442\u049b\u044b \u049b\u043e\u043b\u0434\u0430\u043d\u0431\u0430\u043b\u0430\u0440 Media Browser \u0431\u0430\u0493\u0434\u0430\u0440\u043b\u0430\u043c\u0430\u0441\u044b\u043c\u0435\u043d \u049b\u0430\u0442\u044b\u043d\u0430\u0441\u0443 \u04af\u0448\u0456\u043d API \u043a\u0456\u043b\u0442\u0456 \u049b\u0430\u0436\u0435\u0442 \u0435\u0442\u0435\u0434\u0456. \u041a\u0456\u043b\u0442\u0442\u0435\u0440 Media Browser \u0442\u0456\u0440\u043a\u0435\u043b\u0433\u0456\u0441\u0456\u043d\u0435 \u043a\u0456\u0440\u0433\u0435\u043d\u0434\u0435, \u043d\u0435\u043c\u0435\u0441\u0435 \u043a\u0456\u043b\u0442\u0442\u0456 \u049b\u043e\u043b\u0434\u0430\u043d\u0431\u0430\u0493\u0430 \u049b\u043e\u043b\u043c\u0435\u043d \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0456\u043b\u0433\u0435\u043d\u0434\u0435 \u0431\u0435\u0440\u0456\u043b\u0435\u0434\u0456.", "HeaderApiKey": "API \u043a\u0456\u043b\u0442\u0456", @@ -1047,7 +1051,7 @@ "OptionStub": "\u0422\u044b\u0493\u044b\u043d", "HeaderEpisodes": "\u042d\u043f\u0438\u0437\u043e\u0434\u0442\u0430\u0440:", "OptionSeason0": "0-\u043c\u0430\u0443\u0441\u044b\u043c", - "LabelReport": "\u0415\u0441\u0435\u043f:", + "LabelReport": "\u0411\u0430\u044f\u043d\u0434\u0430\u043c\u0430:", "OptionReportSongs": "\u04d8\u0443\u0435\u043d\u0434\u0435\u0440", "OptionReportSeries": "\u0421\u0435\u0440\u0438\u0430\u043b\u0434\u0430\u0440", "OptionReportSeasons": "\u041c\u0430\u0443\u0441\u044b\u043c\u0434\u0430\u0440", @@ -1302,7 +1306,7 @@ "MessageNoTrailersFound": "\u0422\u0440\u0435\u0439\u043b\u0435\u0440\u043b\u0435\u0440 \u0442\u0430\u0431\u044b\u043b\u043c\u0430\u0434\u044b. \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0442\u0440\u0435\u0439\u043b\u0435\u0440\u0445\u0430\u043d\u0430\u0441\u044b\u043d \u04af\u0441\u0442\u0435\u0443 \u0430\u0440\u049b\u044b\u043b\u044b \u0444\u0438\u043b\u044c\u043c\u0434\u0435\u043d \u0430\u043b\u044b\u043d\u0430\u0442\u044b\u043d \u0442\u04d9\u0436\u0456\u0440\u0438\u0431\u0435\u04a3\u0456\u0437\u0434\u0456 \u0436\u0430\u049b\u0441\u0430\u0440\u0442\u0443 \u04af\u0448\u0456\u043d Trailer \u0430\u0440\u043d\u0430\u0441\u044b\u043d \u043e\u0440\u043d\u0430\u0442\u044b\u04a3\u044b\u0437", "HeaderNewUsers": "\u0416\u0430\u04a3\u0430 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b\u043b\u0430\u0440", "ButtonSignUp": "\u0422\u0456\u0440\u043a\u0435\u043b\u0443", - "ButtonForgotPassword": "Forgot password", + "ButtonForgotPassword": "\u049a\u04b1\u043f\u0438\u044f \u0441\u04e9\u0437\u0434\u0456 \u0435\u0441\u043a\u0435 \u0441\u0430\u043b\u0443", "OptionDisableUserPreferences": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b \u0442\u0435\u04a3\u0448\u0435\u043b\u0456\u043c\u0434\u0435\u0440\u0456\u043d\u0435 \u049b\u0430\u0442\u044b\u043d\u0430\u0441\u0443\u0434\u044b \u0430\u0436\u044b\u0440\u0430\u0442\u0443", "OptionDisableUserPreferencesHelp": "\u0415\u0433\u0435\u0440 \u049b\u043e\u0441\u044b\u043b\u0441\u0430, \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b \u043f\u0440\u043e\u0444\u0430\u0439\u043b\u044b\u043d, \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440\u0456\u043d, \u049b\u04b1\u043f\u0438\u044f \u0441\u04e9\u0437\u0434\u0435\u0440\u0456\u043d \u0436\u04d9\u043d\u0435 \u0442\u0456\u043b\u0434\u0456\u043a \u0442\u0435\u04a3\u0448\u0435\u043b\u0456\u043c\u0434\u0435\u0440\u0456\u043d \u0442\u0435\u043a \u049b\u0430\u043d\u0430 \u04d9\u043a\u0456\u043c\u0448\u0456\u043b\u0435\u0440 \u0442\u0435\u04a3\u0448\u0435\u0443\u0456 \u043c\u04af\u043c\u043a\u0456\u043d.", "HeaderSelectServer": "\u0421\u0435\u0440\u0432\u0435\u0440\u0434\u0456 \u0442\u0430\u04a3\u0434\u0430\u0443", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/ko.json b/MediaBrowser.Server.Implementations/Localization/Server/ko.json index d433ad9e2..251e2054d 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/ko.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/ko.json @@ -46,6 +46,8 @@ "OptionEnableWebClientResourceMinification": "Enable web client resource minification", "LabelDashboardSourcePath": "Web client source path:", "LabelDashboardSourcePathHelp": "If running the server from source, specify the path to the dashboard-ui folder. All web client files will be served from this location.", + "ButtonConvertMedia": "Convert media", + "ButtonOrganize": "Organize", "ButtonOk": "Ok", "ButtonCancel": "Cancel", "ButtonNew": "New", @@ -79,6 +81,7 @@ "ReferToMediaLibraryWiki": "Refer to the media library wiki.", "LabelCountry": "Country:", "LabelLanguage": "Language:", + "ButtonJoinTheDevelopmentTeam": "Join the Development Team", "HeaderPreferredMetadataLanguage": "Preferred metadata language:", "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.", @@ -97,6 +100,7 @@ "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", "LabelUnairedMissingEpisodesWithinSeasons": "Display unaired episodes within seasons", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/ms.json b/MediaBrowser.Server.Implementations/Localization/Server/ms.json index 5afad31ca..30fc32baf 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/ms.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/ms.json @@ -46,6 +46,8 @@ "OptionEnableWebClientResourceMinification": "Enable web client resource minification", "LabelDashboardSourcePath": "Web client source path:", "LabelDashboardSourcePathHelp": "If running the server from source, specify the path to the dashboard-ui folder. All web client files will be served from this location.", + "ButtonConvertMedia": "Convert media", + "ButtonOrganize": "Organize", "ButtonOk": "Ok", "ButtonCancel": "Cancel", "ButtonNew": "New", @@ -79,6 +81,7 @@ "ReferToMediaLibraryWiki": "Refer to the media library wiki.", "LabelCountry": "Country:", "LabelLanguage": "Language:", + "ButtonJoinTheDevelopmentTeam": "Join the Development Team", "HeaderPreferredMetadataLanguage": "Preferred metadata language:", "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.", @@ -97,6 +100,7 @@ "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", "LabelUnairedMissingEpisodesWithinSeasons": "Display unaired episodes within seasons", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/nb.json b/MediaBrowser.Server.Implementations/Localization/Server/nb.json index b3801500c..08bc7d9c5 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/nb.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/nb.json @@ -4,8 +4,8 @@ "LabelGithub": "Github", "LabelSwagger": "Swagger", "LabelStandard": "Standard", - "LabelApiDocumentation": "Api Documentation", - "LabelDeveloperResources": "Developer Resources", + "LabelApiDocumentation": "Api Dokumentasjon", + "LabelDeveloperResources": "Utvikler Ressurser", "LabelBrowseLibrary": "Browse biblioteket", "LabelConfigureMediaBrowser": "Konfigurer Media Browser", "LabelOpenLibraryViewer": "\u00c5pne Biblioteket", @@ -19,7 +19,7 @@ "TitleMediaBrowser": "Media Browser", "ThisWizardWillGuideYou": "Denne wizarden vil guide deg gjennom server-konfigurasjonen. For \u00e5 begynne, vennligst velg ditt foretrukne spr\u00e5k.", "TellUsAboutYourself": "Fortell om deg selv", - "ButtonQuickStartGuide": "Quick start guide", + "ButtonQuickStartGuide": "Hurtig start veiledning", "LabelYourFirstName": "Ditt fornavn", "MoreUsersCanBeAddedLater": "Du kan legge til flere brukere senere via Dashboard", "UserProfilesIntro": "Media Browser inkluderer innebygd st\u00f8tte for bruker profiler som tilbyr brukere innstillinger for visning, avspillerstatus og begrensning p\u00e5 innhold.", @@ -27,7 +27,7 @@ "AWindowsServiceHasBeenInstalled": "Windows Service har blitt installert", "WindowsServiceIntro1": "Media Browser Server kj\u00f8rer normalt som en desktop-applikasjon med et tray-ikon, men om du foretrekker at det kj\u00f8res som en bakgrunnsprosess, kan du i stedet starte den fra windows service control panel.", "WindowsServiceIntro2": "Hvis du bruker Windows, v\u00e6r oppmerksom p\u00e5 at det ikke kan kj\u00f8res samtidig som ikonet, slik at du trenger \u00e5 g\u00e5 ut av \"trayen\" for \u00e5 kj\u00f8re tjenesten. Tjenesten m\u00e5 ogs\u00e5 konfigureres med administratorrettigheter via kontrollpanelet. V\u00e6r oppmerksom p\u00e5 at p\u00e5 denne tiden tjenesten ikke er i stand til selv-oppdatering, s\u00e5 nye versjoner vil kreve manuell interaksjon.", - "WizardCompleted": "That's all we need for now. Media Browser has begun collecting information about your media library. Check out some of our apps, and then click Finish<\/b> to view the Server Dashboard<\/b>.", + "WizardCompleted": "Det er alt vi trenger for n\u00e5. Media Browser har begynt \u00e5 samle inn informasjon om ditt media bibliotek. Sjekk ut noen av v\u00e5re apps, og klikk s\u00e5 Ferdig<\/b> for \u00e5 vise Server Dashboard<\/b>.", "LabelConfigureSettings": "Konfigurer innstillinger", "LabelEnableVideoImageExtraction": "Aktiver videobildet utvinning", "VideoImageExtractionHelp": "For videoer som ikke allerede har bilder, og at vi ikke klarer \u00e5 finne internettbilder for. Dette vil tilf\u00f8re noen ytterligere tid til den opprinnelige biblioteket s\u00f8king, men vil resultere i en mer tiltalende presentasjon.", @@ -35,29 +35,31 @@ "LabelChapterImageExtractionForMoviesHelp": "Utpakking i kapittelbilder vil tillate kunder \u00e5 vise grafiske scenevalgmenyer. Prosessen kan v\u00e6re treg, cpu-intensive og kan kreve flere Gigabyte med plass. Den kj\u00f8rer som en nattlig planlagt oppgave p\u00e5 04.00 AM, selv om dette er konfigurerbart i planlagte oppgaver omr\u00e5det. Det er ikke anbefalt \u00e5 kj\u00f8re denne oppgaven il\u00f8pet av toppbelastede timer.", "LabelEnableAutomaticPortMapping": "Sl\u00e5 p\u00e5 automatisk port mapping", "LabelEnableAutomaticPortMappingHelp": "UPnP tillater automatiserte routere konfigurasjoner for enkel ekstern tilgang. Denne funksjonen s\u00f8ttes ikke av alle routere.", - "HeaderTermsOfService": "Media Browser Terms of Service", - "MessagePleaseAcceptTermsOfService": "Please accept the terms of service and privacy policy before continuing.", - "OptionIAcceptTermsOfService": "I accept the terms of service", - "ButtonPrivacyPolicy": "Privacy policy", - "ButtonTermsOfService": "Terms of Service", - "HeaderDeveloperOptions": "Developer Options", - "OptionEnableWebClientResponseCache": "Enable web client response caching", - "OptionDisableForDevelopmentHelp": "Configure these as needed for web client development purposes.", - "OptionEnableWebClientResourceMinification": "Enable web client resource minification", - "LabelDashboardSourcePath": "Web client source path:", + "HeaderTermsOfService": "Media Browser Vilk\u00e5r for Service", + "MessagePleaseAcceptTermsOfService": "Vennligst aksepter v\u00e5re service vilk\u00e5r og personvern policy f\u00f8r du fortsetter.", + "OptionIAcceptTermsOfService": "Jeg aksepterer service vilk\u00e5rene", + "ButtonPrivacyPolicy": "Personvern policy", + "ButtonTermsOfService": "Service Vilk\u00e5r", + "HeaderDeveloperOptions": "Utvikler opsjoner", + "OptionEnableWebClientResponseCache": "Aktiver web klient respons caching", + "OptionDisableForDevelopmentHelp": "Konfigurer disse ved behov for web klient utvikler form\u00e5l.", + "OptionEnableWebClientResourceMinification": "Aktiver web klient ressurs minifisering", + "LabelDashboardSourcePath": "Web klient kilde sti:", "LabelDashboardSourcePathHelp": "If running the server from source, specify the path to the dashboard-ui folder. All web client files will be served from this location.", + "ButtonConvertMedia": "Convert media", + "ButtonOrganize": "Organize", "ButtonOk": "Ok", "ButtonCancel": "avbryt", "ButtonNew": "Ny", "HeaderTV": "TV", "HeaderAudio": "Lyd", "HeaderVideo": "Video", - "HeaderPaths": "Paths", + "HeaderPaths": "Stier", "TitleNotifications": "Notifications", - "ButtonDonateWithPayPal": "Donate with PayPal", + "ButtonDonateWithPayPal": "Doner med PayPal", "OptionDetectArchiveFilesAsMedia": "Detect archive files as media", "OptionDetectArchiveFilesAsMediaHelp": "If enabled, files with .rar and .zip extensions will be detected as media files.", - "LabelEnterConnectUserName": "User name or email:", + "LabelEnterConnectUserName": "Brukernavn eller epost:", "LabelEnterConnectUserNameHelp": "This is your Media Browser online account user name or password.", "HeaderSyncJobInfo": "Sync Job", "FolderTypeMixed": "Mixed content", @@ -79,6 +81,7 @@ "ReferToMediaLibraryWiki": "Se i media-bibliotek wikien", "LabelCountry": "LAnd", "LabelLanguage": "Spr\u00e5k:", + "ButtonJoinTheDevelopmentTeam": "Join the Development Team", "HeaderPreferredMetadataLanguage": "Foretrukket spr\u00e5k for metadata", "LabelSaveLocalMetadata": "Lagre cover og metadata i medie-mappene", "LabelSaveLocalMetadataHelp": "Lagring av artwork og metadata direkte gjennom media mapper vil legge dem en plass hvor de lett kan editeres.", @@ -97,6 +100,7 @@ "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": "Vis episoder som sesongen mangler", "LabelUnairedMissingEpisodesWithinSeasons": "Vis episoder som enn\u00e5 ikke har blitt sendt", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/nl.json b/MediaBrowser.Server.Implementations/Localization/Server/nl.json index 589467a4a..ceae61bc8 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/nl.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/nl.json @@ -44,8 +44,10 @@ "OptionEnableWebClientResponseCache": "Enable web client response caching", "OptionDisableForDevelopmentHelp": "Configure these as needed for web client development purposes.", "OptionEnableWebClientResourceMinification": "Enable web client resource minification", - "LabelDashboardSourcePath": "Web client source path:", + "LabelDashboardSourcePath": "Web client bron pad:", "LabelDashboardSourcePathHelp": "If running the server from source, specify the path to the dashboard-ui folder. All web client files will be served from this location.", + "ButtonConvertMedia": "Converteer media", + "ButtonOrganize": "Organize", "ButtonOk": "Ok", "ButtonCancel": "Annuleren", "ButtonNew": "Nieuw", @@ -79,6 +81,7 @@ "ReferToMediaLibraryWiki": "Raadpleeg de mediabibliotheek wiki.", "LabelCountry": "Land:", "LabelLanguage": "Taal:", + "ButtonJoinTheDevelopmentTeam": "Word lid van het Ontwikkel Team", "HeaderPreferredMetadataLanguage": "Gewenste metadata taal:", "LabelSaveLocalMetadata": "Sla afbeeldingen en metadata op in de mediamappen", "LabelSaveLocalMetadataHelp": "Door afbeeldingen en metadata op te slaan in de mediamappen kunnen ze makkelijker worden gevonden en bewerkt.", @@ -97,6 +100,7 @@ "HeaderDeviceAccess": "Apparaat Toegang", "OptionEnableAccessFromAllDevices": "Toegang vanaf alle apparaten toestaan", "OptionEnableAccessToAllChannels": "Toegang tot alle kanalen inschakelen", + "OptionEnableAccessToAllLibraries": "Enable access to all libraries", "DeviceAccessHelp": "Dit geldt alleen voor apparaten die uniek ge\u00efdentificeerd kunnen worden en voorkomen niet toegang via een webbrowser. Filteren van apparaat toegang voor gebruikers voorkomt dat zij nieuwe apparaten gebruiken totdat deze hier zijn goedgekeurd.", "LabelDisplayMissingEpisodesWithinSeasons": "Toon ontbrekende afleveringen binnen een seizoen", "LabelUnairedMissingEpisodesWithinSeasons": "Toon komende afleveringen binnen een seizoen", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/pl.json b/MediaBrowser.Server.Implementations/Localization/Server/pl.json index 6e7bd865c..8d7ed66f2 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/pl.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/pl.json @@ -46,6 +46,8 @@ "OptionEnableWebClientResourceMinification": "Enable web client resource minification", "LabelDashboardSourcePath": "Web client source path:", "LabelDashboardSourcePathHelp": "If running the server from source, specify the path to the dashboard-ui folder. All web client files will be served from this location.", + "ButtonConvertMedia": "Convert media", + "ButtonOrganize": "Organize", "ButtonOk": "Ok", "ButtonCancel": "Anuluj", "ButtonNew": "New", @@ -79,6 +81,7 @@ "ReferToMediaLibraryWiki": "Odnie\u015b si\u0119 do wiki biblioteki.", "LabelCountry": "Kraj:", "LabelLanguage": "J\u0119zyk:", + "ButtonJoinTheDevelopmentTeam": "Join the Development Team", "HeaderPreferredMetadataLanguage": "Preferowany j\u0119zyk metadanych:", "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.", @@ -97,6 +100,7 @@ "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": "Wy\u015bwietl brakuj\u0105ce odcinki w sezonach", "LabelUnairedMissingEpisodesWithinSeasons": "Wy\u015bwietl nie wydanie odcinki w sezonach", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/pt_BR.json b/MediaBrowser.Server.Implementations/Localization/Server/pt_BR.json index b7bf66d5c..8055f11e8 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/pt_BR.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/pt_BR.json @@ -46,6 +46,8 @@ "OptionEnableWebClientResourceMinification": "Enable web client resource minification", "LabelDashboardSourcePath": "Web client source path:", "LabelDashboardSourcePathHelp": "If running the server from source, specify the path to the dashboard-ui folder. All web client files will be served from this location.", + "ButtonConvertMedia": "Convert media", + "ButtonOrganize": "Organize", "ButtonOk": "Ok", "ButtonCancel": "Cancelar", "ButtonNew": "Novo", @@ -79,6 +81,7 @@ "ReferToMediaLibraryWiki": "Consultar wiki da biblioteca de m\u00eddias", "LabelCountry": "Pa\u00eds:", "LabelLanguage": "Idioma:", + "ButtonJoinTheDevelopmentTeam": "Join the Development Team", "HeaderPreferredMetadataLanguage": "Idioma preferido dos metadados:", "LabelSaveLocalMetadata": "Salvar artwork e metadados dentro das pastas da m\u00eddia", "LabelSaveLocalMetadataHelp": "Salvar artwork e metadados diretamente nas pastas da m\u00eddia as deixar\u00e1 em um local f\u00e1cil para edit\u00e1-las.", @@ -97,6 +100,7 @@ "HeaderDeviceAccess": "Acesso ao Dispositivo", "OptionEnableAccessFromAllDevices": "Ativar o acesso de todos os dispositivos", "OptionEnableAccessToAllChannels": "Ativar o acesso a todos os canais", + "OptionEnableAccessToAllLibraries": "Enable access to all libraries", "DeviceAccessHelp": "Isto apenas aplica para dispositivos que podem ser identificados como \u00fanicos e n\u00e3o evitar\u00e3o o acesso do navegador. Filtrar o acesso ao dispositivo do usu\u00e1rio evitar\u00e1 que sejam usados novos dispositivos at\u00e9 que sejam aprovados aqui.", "LabelDisplayMissingEpisodesWithinSeasons": "Exibir epis\u00f3dios que faltam dentro das temporadas", "LabelUnairedMissingEpisodesWithinSeasons": "Exibir epis\u00f3dios por estrear dentro das temporadas", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/pt_PT.json b/MediaBrowser.Server.Implementations/Localization/Server/pt_PT.json index a719ee19b..ef1b8ccca 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/pt_PT.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/pt_PT.json @@ -46,6 +46,8 @@ "OptionEnableWebClientResourceMinification": "Enable web client resource minification", "LabelDashboardSourcePath": "Web client source path:", "LabelDashboardSourcePathHelp": "If running the server from source, specify the path to the dashboard-ui folder. All web client files will be served from this location.", + "ButtonConvertMedia": "Convert media", + "ButtonOrganize": "Organize", "ButtonOk": "Ok", "ButtonCancel": "Cancelar", "ButtonNew": "Novo", @@ -79,6 +81,7 @@ "ReferToMediaLibraryWiki": "Consulte a wiki", "LabelCountry": "Pa\u00eds:", "LabelLanguage": "Idioma:", + "ButtonJoinTheDevelopmentTeam": "Join the Development Team", "HeaderPreferredMetadataLanguage": "Idioma preferido para 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.", @@ -97,6 +100,7 @@ "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": "Mostrar epis\u00f3dios em falta dentro das temporadas", "LabelUnairedMissingEpisodesWithinSeasons": "Mostrar epis\u00f3dios por estrear dentro das temporadas", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/ru.json b/MediaBrowser.Server.Implementations/Localization/Server/ru.json index bb09da324..eb1afcc1c 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/ru.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/ru.json @@ -1,7 +1,7 @@ { "LabelExit": "\u0412\u044b\u0445\u043e\u0434", "LabelVisitCommunity": "\u041f\u043e\u0441\u0435\u0449\u0435\u043d\u0438\u0435 \u0421\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430", - "LabelGithub": "\u0420\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 Github", + "LabelGithub": "GitHub", "LabelSwagger": "\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 Swagger", "LabelStandard": "\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442", "LabelApiDocumentation": "\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e API", @@ -32,7 +32,7 @@ "LabelEnableVideoImageExtraction": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0435 \u0440\u0438\u0441\u0443\u043d\u043a\u0430 \u0438\u0437 \u0432\u0438\u0434\u0435\u043e", "VideoImageExtractionHelp": "\u0414\u043b\u044f \u0432\u0438\u0434\u0435\u043e, \u0433\u0434\u0435 \u0435\u0449\u0451 \u200b\u200b\u043d\u0435 \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0440\u0438\u0441\u0443\u043d\u043a\u043e\u0432, \u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043d\u0430\u0439\u0442\u0438 \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u0435\u0449\u0451 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043a \u043f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u043c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0438, \u043d\u043e \u044d\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u0442 \u043a \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u0438\u0432\u043b\u0435\u043a\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u0435\u0437\u0435\u043d\u0442\u0430\u0446\u0438\u0438.", "LabelEnableChapterImageExtractionForMovies": "\u0418\u0437\u0432\u043b\u0435\u043a\u0430\u0442\u044c \u0440\u0438\u0441\u0443\u043d\u043a\u0438 \u0441\u0446\u0435\u043d \u0434\u043b\u044f \u0444\u0438\u043b\u044c\u043c\u043e\u0432", - "LabelChapterImageExtractionForMoviesHelp": "\u0418\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0435 \u0440\u0438\u0441\u0443\u043d\u043a\u043e\u0432 \u0441\u0446\u0435\u043d \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043c\u0435\u043d\u044e \u0432\u044b\u0431\u043e\u0440\u0430 \u0441\u0446\u0435\u043d\u044b. \u0414\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u043c, \u043d\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u0438 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430. \u041e\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043a\u0430\u043a \u0437\u0430\u0434\u0430\u0447\u0430, \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u0430\u044f \u043d\u0430 4:00 \u0443\u0442\u0440\u0430, \u043e\u0434\u043d\u0430\u043a\u043e, \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u00ab\u041f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430\u00bb. \u041d\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443 \u0432 \u0447\u0430\u0441\u044b \u043f\u0438\u043a.", + "LabelChapterImageExtractionForMoviesHelp": "\u0418\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0435 \u0440\u0438\u0441\u0443\u043d\u043a\u043e\u0432 \u0441\u0446\u0435\u043d \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043c\u0435\u043d\u044e \u0432\u044b\u0431\u043e\u0440\u0430 \u0441\u0446\u0435\u043d\u044b. \u0414\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u043c, \u043d\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u0438 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430. \u041e\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043a\u0430\u043a \u0437\u0430\u0434\u0430\u0447\u0430, \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u0430\u044f \u043d\u0430 4:00 \u0443\u0442\u0440\u0430, \u043e\u0434\u043d\u0430\u043a\u043e, \u0435\u0451 \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447. \u041d\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443 \u0432 \u0447\u0430\u0441\u044b \u043f\u0438\u043a.", "LabelEnableAutomaticPortMapping": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0430\u0432\u0442\u043e\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0440\u0442\u043e\u0432", "LabelEnableAutomaticPortMappingHelp": "UPnP \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u043d\u043e\u0433\u043e \u0432\u043d\u0435\u0448\u043d\u0435\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430.\u042d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043c\u043e\u0434\u0435\u043b\u044f\u043c\u0438 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432.", "HeaderTermsOfService": "\u0423\u0441\u043b\u043e\u0432\u0438\u044f \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0443\u0441\u043b\u0443\u0433 Media Browser", @@ -46,6 +46,8 @@ "OptionEnableWebClientResourceMinification": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043c\u0438\u043d\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044e \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0432\u0435\u0431-\u043a\u043b\u0438\u0435\u043d\u0442\u0430", "LabelDashboardSourcePath": "\u041f\u0443\u0442\u044c \u043a \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0443 \u0432\u0435\u0431-\u043a\u043b\u0438\u0435\u043d\u0442\u0430:", "LabelDashboardSourcePathHelp": "\u0415\u0441\u043b\u0438 \u0441\u0435\u0440\u0432\u0435\u0440 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043e\u0442 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u043a\u043e\u0434\u043e\u0432, \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u043f\u0443\u0442\u044c \u043a \u043f\u0430\u043f\u043a\u0435 dashboard-ui. \u0412\u0441\u0435 \u0444\u0430\u0439\u043b\u044b \u0432\u0435\u0431-\u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0441 \u044d\u0442\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u044f.", + "ButtonConvertMedia": "\u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u0435\u0434\u0438\u0430\u0434\u0430\u043d\u043d\u044b\u0435", + "ButtonOrganize": "\u0420\u0435\u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u0442\u044c", "ButtonOk": "\u041e\u041a", "ButtonCancel": "\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c", "ButtonNew": "\u0421\u043e\u0437\u0434\u0430\u0442\u044c", @@ -56,7 +58,7 @@ "TitleNotifications": "\u0423\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f", "ButtonDonateWithPayPal": "\u041f\u043e\u0436\u0435\u0440\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 PayPal", "OptionDetectArchiveFilesAsMedia": "\u0410\u0440\u0445\u0438\u0432\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043a\u0430\u043a \u043c\u0435\u0434\u0438\u0430\u0434\u0430\u043d\u043d\u044b\u0435", - "OptionDetectArchiveFilesAsMediaHelp": "\u041f\u0440\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438, \u0444\u0430\u0439\u043b\u044b \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f\u043c\u0438 .rar \u0438 .zip \u0431\u0443\u0434\u0443\u0442 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u043c\u0435\u0434\u0438\u0430\u0444\u0430\u0439\u043b\u044b.", + "OptionDetectArchiveFilesAsMediaHelp": "\u041f\u0440\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438, \u0444\u0430\u0439\u043b\u044b \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f\u043c\u0438 .RAR \u0438 .ZIP \u0431\u0443\u0434\u0443\u0442 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u043c\u0435\u0434\u0438\u0430\u0444\u0430\u0439\u043b\u044b.", "LabelEnterConnectUserName": "\u0418\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438\u043b\u0438 \u042d-\u043f\u043e\u0447\u0442\u0430", "LabelEnterConnectUserNameHelp": "\u042d\u0442\u043e - \u0438\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438\u043b\u0438 \u043f\u0430\u0440\u043e\u043b\u044c \u0432\u0430\u0448\u0435\u0439 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0443\u0447\u0451\u0442\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 Media Browser.", "HeaderSyncJobInfo": "\u0417\u0430\u0434\u0430\u043d\u0438\u0435 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438", @@ -79,6 +81,7 @@ "ReferToMediaLibraryWiki": "\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435\u0441\u044c \u043a \u0432\u0438\u043a\u0438 \u043f\u043e \u043c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0435.", "LabelCountry": "\u0421\u0442\u0440\u0430\u043d\u0430:", "LabelLanguage": "\u042f\u0437\u044b\u043a:", + "ButtonJoinTheDevelopmentTeam": "\u0412\u0441\u0442\u0443\u043f\u0438\u0442\u044c \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432", "HeaderPreferredMetadataLanguage": "\u041f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u0435\u043c\u044b\u0439 \u044f\u0437\u044b\u043a \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445:", "LabelSaveLocalMetadata": "\u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0438 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u0432\u043d\u0443\u0442\u0440\u044c \u043c\u0435\u0434\u0438\u0430\u043f\u0430\u043f\u043e\u043a", "LabelSaveLocalMetadataHelp": "\u041f\u0440\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u0439 \u0438 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0432\u043d\u0443\u0442\u0440\u044c \u043c\u0435\u0434\u0438\u0430\u043f\u0430\u043f\u043e\u043a, \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u0432 \u0442\u0430\u043a\u043e\u043c \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0438, \u0433\u0434\u0435 \u0438\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043b\u0435\u0433\u043a\u043e \u043f\u0440\u0430\u0432\u0438\u0442\u044c.", @@ -97,6 +100,7 @@ "HeaderDeviceAccess": "\u0414\u043e\u0441\u0442\u0443\u043f \u0441 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430", "OptionEnableAccessFromAllDevices": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u0441\u043e \u0432\u0441\u0435\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432", "OptionEnableAccessToAllChannels": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a\u043e \u0432\u0441\u0435\u043c \u043a\u0430\u043d\u0430\u043b\u0430\u043c", + "OptionEnableAccessToAllLibraries": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a\u043e \u0432\u0441\u0435\u043c \u043c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0430\u043c", "DeviceAccessHelp": "\u042d\u0442\u043e \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043a \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u043d\u044b \u0438 \u043d\u0435 \u043f\u0440\u0435\u043f\u044f\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0443 \u0447\u0435\u0440\u0435\u0437 \u0431\u0440\u0430\u0443\u0437\u0435\u0440. \u0424\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0437\u0430\u043f\u0440\u0435\u0442\u0438\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u043f\u043e\u043a\u0430 \u043e\u043d\u0438 \u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u043e\u0434\u043e\u0431\u0440\u0435\u043d\u044b \u0442\u0443\u0442.", "LabelDisplayMissingEpisodesWithinSeasons": "\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u044d\u043f\u0438\u0437\u043e\u0434\u044b \u0432 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u0445 \u0441\u0435\u0437\u043e\u043d\u043e\u0432", "LabelUnairedMissingEpisodesWithinSeasons": "\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u044b\u0435 \u044d\u043f\u0438\u0437\u043e\u0434\u044b \u0432 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u0445 \u0441\u0435\u0437\u043e\u043d\u043e\u0432", @@ -195,7 +199,7 @@ "OptionCriticRating": "\u041e\u0446\u0435\u043d\u043a\u0430 \u043a\u0440\u0438\u0442\u0438\u043a\u043e\u0432", "OptionVideoBitrate": "\u041f\u043e\u0442\u043e\u043a. \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0432\u0438\u0434\u0435\u043e", "OptionResumable": "\u0412\u043e\u0437\u043e\u0431\u043d\u043e\u0432\u0438\u043c\u044b\u0435", - "ScheduledTasksHelp": "\u0429\u0451\u043b\u043a\u043d\u0438\u0442\u0435 \u043f\u043e \u0437\u0430\u0434\u0430\u0447\u0435, \u0447\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0435\u0433\u043e \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u0435.", + "ScheduledTasksHelp": "\u0429\u0451\u043b\u043a\u043d\u0438\u0442\u0435 \u043f\u043e \u0437\u0430\u0434\u0430\u0447\u0435, \u0447\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0435\u0451 \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u0435.", "ScheduledTasksTitle": "\u041f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a", "TabMyPlugins": "\u041c\u043e\u0438 \u043f\u043b\u0430\u0433\u0438\u043d\u044b", "TabCatalog": "\u041a\u0430\u0442\u0430\u043b\u043e\u0433", @@ -206,7 +210,7 @@ "HeaderLatestSongs": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043c\u0435\u043b\u043e\u0434\u0438\u0438", "HeaderRecentlyPlayed": "\u0412\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u0435 \u043d\u0435\u0434\u0430\u0432\u043d\u043e", "HeaderFrequentlyPlayed": "\u0412\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u0435 \u0447\u0430\u0441\u0442\u043e", - "DevBuildWarning": "\u0420\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c\u044b\u0435 \u0441\u0431\u043e\u0440\u043a\u0438 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0441\u044b\u0440\u044b\u043c\u0438 \u0438 \u043d\u0435\u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u043c\u0438. \u0412\u044b\u0445\u043e\u0434\u044f\u0449\u0438\u0435 \u0447\u0430\u0441\u0442\u043e, \u044d\u0442\u0438 \u0441\u0431\u043e\u0440\u043a\u0438 \u043d\u0435 \u0431\u044b\u043b\u0438 \u043e\u0442\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0434\u043e \u043a\u043e\u043d\u0446\u0430. \u0420\u0430\u0431\u043e\u0442\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0430\u0432\u0430\u0440\u0438\u0439\u043d\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0442\u044c\u0441\u044f, \u0430 \u043c\u043d\u043e\u0433\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043c\u043e\u0433\u0443\u0442 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441\u043e\u0432\u0441\u0435\u043c.", + "DevBuildWarning": "\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043e\u0447\u043d\u044b\u0435 \u0441\u0431\u043e\u0440\u043a\u0438 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0441\u044b\u0440\u044b\u043c\u0438 \u0438 \u043d\u0435\u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u043c\u0438. \u0412\u044b\u0445\u043e\u0434\u044f\u0449\u0438\u0435 \u0447\u0430\u0441\u0442\u043e, \u044d\u0442\u0438 \u0441\u0431\u043e\u0440\u043a\u0438 \u043d\u0435 \u0431\u044b\u043b\u0438 \u043e\u0442\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0434\u043e \u043a\u043e\u043d\u0446\u0430. \u0420\u0430\u0431\u043e\u0442\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0430\u0432\u0430\u0440\u0438\u0439\u043d\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0442\u044c\u0441\u044f, \u0430 \u043c\u043d\u043e\u0433\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043c\u043e\u0433\u0443\u0442 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441\u043e\u0432\u0441\u0435\u043c.", "LabelVideoType": "\u0422\u0438\u043f \u0432\u0438\u0434\u0435\u043e:", "OptionBluray": "BluRay", "OptionDvd": "DVD", @@ -299,7 +303,7 @@ "LabelAutomaticUpdateLevel": "\u0421\u0442\u0435\u043f\u0435\u043d\u044c \u0430\u0432\u0442\u043e\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f", "OptionRelease": "\u041e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a", "OptionBeta": "\u0411\u0435\u0442\u0430-\u0432\u0435\u0440\u0441\u0438\u044f", - "OptionDev": "\u0420\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c\u0430\u044f (\u043d\u0435\u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e)", + "OptionDev": "\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043e\u0447\u043d\u0430\u044f (\u043d\u0435\u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0430\u044f)", "LabelAllowServerAutoRestart": "\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440\u0443 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a \u0434\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439", "LabelAllowServerAutoRestartHelp": "\u0421\u0435\u0440\u0432\u0435\u0440 \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043f\u0435\u0440\u0438\u043e\u0434\u044b \u043f\u0440\u043e\u0441\u0442\u043e\u044f, \u043a\u043e\u0433\u0434\u0430 \u043d\u0438\u043a\u0430\u043a\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043d\u0435 \u0430\u043a\u0442\u0438\u0432\u043d\u044b.", "LabelEnableDebugLogging": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u044b\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u0416\u0443\u0440\u043d\u0430\u043b\u0435", @@ -331,9 +335,9 @@ "LabelAutomaticUpdatesFanartHelp": "\u041f\u0440\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438, \u043d\u043e\u0432\u044b\u0435 \u0440\u0438\u0441\u0443\u043d\u043a\u0438 \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438, \u0441\u0440\u0430\u0437\u0443 \u043f\u0440\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u043d\u0430 fanart.tv. \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0440\u0438\u0441\u0443\u043d\u043a\u0438 \u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u043c\u0435\u0449\u0430\u0442\u044c\u0441\u044f.", "LabelAutomaticUpdatesTmdbHelp": "\u041f\u0440\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438, \u043d\u043e\u0432\u044b\u0435 \u0440\u0438\u0441\u0443\u043d\u043a\u0438 \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438, \u0441\u0440\u0430\u0437\u0443 \u043f\u0440\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u043d\u0430 TheMovieDB.org. \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0440\u0438\u0441\u0443\u043d\u043a\u0438 \u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u043c\u0435\u0449\u0430\u0442\u044c\u0441\u044f.", "LabelAutomaticUpdatesTvdbHelp": "\u041f\u0440\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438, \u043d\u043e\u0432\u044b\u0435 \u0440\u0438\u0441\u0443\u043d\u043a\u0438 \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438, \u0441\u0440\u0430\u0437\u0443 \u043f\u0440\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u043d\u0430 TheTVDB.com. \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0440\u0438\u0441\u0443\u043d\u043a\u0438 \u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u043c\u0435\u0449\u0430\u0442\u044c\u0441\u044f.", - "LabelFanartApiKey": "\u041b\u0438\u0447\u043d\u044b\u0439 api-\u043a\u043b\u044e\u0447:", - "LabelFanartApiKeyHelp": "\u0417\u0430\u043f\u0440\u043e\u0441\u044b \u043a Fanart \u0431\u0435\u0437 \u043b\u0438\u0447\u043d\u043e\u0433\u043e API-\u043a\u043b\u044e\u0447\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u043e\u0434\u043e\u0431\u0440\u0435\u043d\u044b \u0441\u0432\u044b\u0448\u0435 7 \u0434\u043d\u0435\u0439 \u043d\u0430\u0437\u0430\u0434. \u0421 \u043b\u0438\u0447\u043d\u044b\u043c API-\u043a\u043b\u044e\u0447\u043e\u043c - \u0441\u0440\u043e\u043a \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u0435\u0442\u0441\u044f \u0434\u043e 48 \u0447\u0430\u0441\u043e\u0432, \u0430 \u0435\u0441\u043b\u0438 \u0432\u044b \u0442\u0430\u043a\u0436\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0435\u0441\u044c VIP-\u0447\u043b\u0435\u043d\u043e\u043c Fanart, \u0442\u043e \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u0441\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u0447\u0442\u0438 \u0434\u043e 10 \u043c\u0438\u043d\u0443\u0442.", - "ExtractChapterImagesHelp": "\u0418\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0435 \u0440\u0438\u0441\u0443\u043d\u043a\u043e\u0432 \u0441\u0446\u0435\u043d \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043c\u0435\u043d\u044e \u0432\u044b\u0431\u043e\u0440\u0430 \u0441\u0446\u0435\u043d\u044b. \u0414\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u043c, \u043d\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u0438 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430. \u041e\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u0440\u0438 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0438 \u043d\u043e\u0432\u044b\u0445 \u0432\u0438\u0434\u0435\u043e, \u0430 \u0442\u0430\u043a\u0436\u0435, \u043a\u0430\u043a \u0437\u0430\u0434\u0430\u0447\u0430, \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u0430\u044f \u043d\u0430 4:00 \u0443\u0442\u0440\u0430. \u0420\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u00ab\u041f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430\u00bb. \u041d\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443 \u0432 \u0447\u0430\u0441\u044b \u043f\u0438\u043a.", + "LabelFanartApiKey": "\u041b\u0438\u0447\u043d\u044b\u0439 API-\u043a\u043b\u044e\u0447:", + "LabelFanartApiKeyHelp": "\u0417\u0430\u043f\u0440\u043e\u0441\u044b \u043a Fanart \u0431\u0435\u0437 \u043b\u0438\u0447\u043d\u043e\u0433\u043e API-\u043a\u043b\u044e\u0447\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u043e\u0434\u043e\u0431\u0440\u0435\u043d\u044b \u0441\u0432\u044b\u0448\u0435 7 \u0434\u043d\u0435\u0439 \u043d\u0430\u0437\u0430\u0434. \u0421 \u043b\u0438\u0447\u043d\u044b\u043c API-\u043a\u043b\u044e\u0447\u043e\u043c - \u0441\u0440\u043e\u043a \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u0435\u0442\u0441\u044f \u0434\u043e 48 \u0447\u0430\u0441\u043e\u0432, \u0430 \u0435\u0441\u043b\u0438 \u0432\u044b \u0442\u0430\u043a\u0436\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0435\u0441\u044c VIP-\u0447\u043b\u0435\u043d\u043e\u043c Fanart, \u0442\u043e \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u0441\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u0447\u0442\u0438 \u0434\u043e 10 \u043c\u0438\u043d\u0443\u0442.", + "ExtractChapterImagesHelp": "\u0418\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0435 \u0440\u0438\u0441\u0443\u043d\u043a\u043e\u0432 \u0441\u0446\u0435\u043d \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043c\u0435\u043d\u044e \u0432\u044b\u0431\u043e\u0440\u0430 \u0441\u0446\u0435\u043d\u044b. \u0414\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u043c, \u043d\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u0438 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430. \u041e\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u0440\u0438 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0438 \u043d\u043e\u0432\u044b\u0445 \u0432\u0438\u0434\u0435\u043e, \u0430 \u0442\u0430\u043a\u0436\u0435, \u043a\u0430\u043a \u0437\u0430\u0434\u0430\u0447\u0430, \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u0430\u044f \u043d\u0430 4:00 \u0443\u0442\u0440\u0430. \u0420\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447. \u041d\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443 \u0432 \u0447\u0430\u0441\u044b \u043f\u0438\u043a.", "LabelMetadataDownloadLanguage": "\u041f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u0435\u043c\u044b\u0439 \u044f\u0437\u044b\u043a \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u043e\u0433\u043e:", "ButtonAutoScroll": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0430\u0432\u0442\u043e\u043f\u0440\u043e\u043a\u0440\u0443\u0442\u043a\u0443", "LabelImageSavingConvention": "\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0440\u0438\u0441\u0443\u043d\u043a\u043e\u0432:", @@ -499,8 +503,8 @@ "HeaderLinks": "\u0421\u0441\u044b\u043b\u043a\u0438", "HeaderSystemPaths": "\u0421\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u043f\u0443\u0442\u0438", "LinkCommunity": "\u0421\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e", - "LinkGithub": "\u0420\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 Github", - "LinkApi": "Api", + "LinkGithub": "GitHub", + "LinkApi": "API", "LinkApiDocumentation": "\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e API", "LabelFriendlyServerName": "\u041f\u043e\u043d\u044f\u0442\u043d\u043e\u0435 \u0438\u043c\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430:", "LabelFriendlyServerNameHelp": "\u0414\u0430\u043d\u043d\u043e\u0435 \u0438\u043c\u044f \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043b\u044f \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u0415\u0441\u043b\u0438 \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u043e\u043b\u0435 \u043d\u0435\u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u044b\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0438\u043c\u044f \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430.", @@ -515,16 +519,16 @@ "ButtonCreate": "\u0421\u043e\u0437\u0434\u0430\u0442\u044c", "LabelCustomCss": "\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0435 css:", "LabelCustomCssHelp": "\u041f\u0440\u0438\u043c\u0435\u043d\u044f\u0439\u0442\u0435 \u0441\u0432\u043e\u0438 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0435 css \u043a \u0432\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443.", - "LabelLocalHttpServerPortNumber": "\u041d\u043e\u043c\u0435\u0440 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u043e\u0440\u0442\u0430 http:", + "LabelLocalHttpServerPortNumber": "\u041d\u043e\u043c\u0435\u0440 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e HTTP-\u043f\u043e\u0440\u0442\u0430:", "LabelLocalHttpServerPortNumberHelp": "TCP-\u043f\u043e\u0440\u0442, \u043a\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 HTTP-\u0441\u0435\u0440\u0432\u0435\u0440 Media Browser \u0434\u043e\u043b\u0436\u0435\u043d \u0438\u043c\u0435\u0442\u044c \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0443.", - "LabelPublicHttpPort": "\u041d\u043e\u043c\u0435\u0440 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0433\u043e \u043f\u043e\u0440\u0442\u0430 http:", - "LabelPublicHttpPortHelp": "\u041f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u043f\u043e\u0440\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u043c http-\u043f\u043e\u0440\u0442\u043e\u043c.", - "LabelPublicHttpsPort": "\u041d\u043e\u043c\u0435\u0440 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0433\u043e \u043f\u043e\u0440\u0442\u0430 https:", - "LabelPublicHttpsPortHelp": "\u041f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u043f\u043e\u0440\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u043c https-\u043f\u043e\u0440\u0442\u043e\u043c.", - "LabelEnableHttps": "\u0412\u044b\u0434\u0430\u0432\u0430\u0442\u044c https \u043a\u0430\u043a \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0430\u0434\u0440\u0435\u0441", - "LabelEnableHttpsHelp": "\u041f\u0440\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438, \u0441\u0435\u0440\u0432\u0435\u0440 \u0432\u044b\u0434\u0430\u0441\u0442 https url \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c, \u043a\u0430\u043a \u0435\u0433\u043e \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0430\u0434\u0440\u0435\u0441. \u042d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043f\u0440\u0435\u0440\u0432\u0430\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0435\u0449\u0451 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b https.", - "LabelHttpsPort": "\u041d\u043e\u043c\u0435\u0440 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u043e\u0440\u0442\u0430 https:", - "LabelHttpsPortHelp": "\u041d\u043e\u043c\u0435\u0440 tcp-\u043f\u043e\u0440\u0442\u0430, \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 https-\u0441\u0435\u0440\u0432\u0435\u0440 Media Browser \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d.", + "LabelPublicHttpPort": "\u041d\u043e\u043c\u0435\u0440 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0433\u043e HTTP-\u043f\u043e\u0440\u0442\u0430:", + "LabelPublicHttpPortHelp": "\u041f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u043f\u043e\u0440\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u043c HTTP-\u043f\u043e\u0440\u0442\u043e\u043c.", + "LabelPublicHttpsPort": "\u041d\u043e\u043c\u0435\u0440 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0433\u043e HTTPS-\u043f\u043e\u0440\u0442\u0430:", + "LabelPublicHttpsPortHelp": "\u041f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u043f\u043e\u0440\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u043c HTTPS-\u043f\u043e\u0440\u0442\u043e\u043c.", + "LabelEnableHttps": "\u0412\u044b\u0434\u0430\u0432\u0430\u0442\u044c HTTPS \u043a\u0430\u043a \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0430\u0434\u0440\u0435\u0441", + "LabelEnableHttpsHelp": "\u041f\u0440\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438, \u0441\u0435\u0440\u0432\u0435\u0440 \u0432\u044b\u0434\u0430\u0441\u0442 HTTPS URL \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c, \u043a\u0430\u043a \u0435\u0433\u043e \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0430\u0434\u0440\u0435\u0441. \u042d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0435\u0440\u0432\u0430\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0435\u0449\u0451 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b https.", + "LabelHttpsPort": "\u041d\u043e\u043c\u0435\u0440 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e HTTPS-\u043f\u043e\u0440\u0442\u0430:", + "LabelHttpsPortHelp": "\u041d\u043e\u043c\u0435\u0440 TCP-\u043f\u043e\u0440\u0442\u0430, \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 HTTPS-\u0441\u0435\u0440\u0432\u0435\u0440 Media Browser \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d.", "LabelWebSocketPortNumber": "\u041d\u043e\u043c\u0435\u0440 \u043f\u043e\u0440\u0442\u0430 \u0432\u0435\u0431-\u0441\u043e\u043a\u0435\u0442\u0430:", "LabelEnableAutomaticPortMap": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0430\u0432\u0442\u043e\u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0440\u0442\u043e\u0432", "LabelEnableAutomaticPortMapHelp": "\u041f\u043e\u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u043f\u043e\u0440\u0442 \u0441 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u043c \u043f\u043e\u0440\u0442\u043e\u043c \u0447\u0435\u0440\u0435\u0437 UPnP. \u042d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043c\u043e\u0434\u0435\u043b\u044f\u043c\u0438 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432.", @@ -959,9 +963,9 @@ "TabServices": "\u0421\u043b\u0443\u0436\u0431\u044b", "TabLogs": "\u0416\u0443\u0440\u043d\u0430\u043b\u044b", "HeaderServerLogFiles": "\u0424\u0430\u0439\u043b\u044b \u0436\u0443\u0440\u043d\u0430\u043b\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430:", - "TabBranding": "\u0411\u0440\u0435\u043d\u0434\u0438\u043d\u0433", - "HeaderBrandingHelp": "\u041e\u0431\u043e\u0441\u043e\u0431\u044c\u0442\u0435 \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0432\u0438\u0434 Media Browser \u0434\u043b\u044f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f \u043f\u043e\u0442\u0440\u0435\u0431\u043d\u043e\u0441\u0442\u044f\u043c \u0432\u0430\u0448\u0435\u0439 \u0433\u0440\u0443\u043f\u043f\u044b \u0438\u043b\u0438 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438.", - "LabelLoginDisclaimer": "\u041e\u0433\u043e\u0432\u043e\u0440\u043a\u0430 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0432\u0445\u043e\u0434\u0430:", + "TabBranding": "\u041e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u0438\u0435", + "HeaderBrandingHelp": "\u041f\u043e\u0434\u0441\u0442\u0440\u043e\u0439\u0442\u0435 \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u0438\u0435 Media Browser \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u043f\u043e\u0442\u0440\u0435\u0431\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u0432\u0430\u0448\u0435\u0439 \u0433\u0440\u0443\u043f\u043f\u044b \u0438\u043b\u0438 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438.", + "LabelLoginDisclaimer": "\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u0440\u0438 \u0432\u0445\u043e\u0434\u0435:", "LabelLoginDisclaimerHelp": "\u042d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f \u0432 \u043d\u0438\u0436\u043d\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0432\u0445\u043e\u0434\u0430 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443.", "LabelAutomaticallyDonate": "\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0436\u0435\u0440\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u0443\u044e \u0441\u0443\u043c\u043c\u0443 \u043a\u0430\u0436\u0434\u044b\u0439 \u043c\u0435\u0441\u044f\u0446", "LabelAutomaticallyDonateHelp": "\u041c\u043e\u0436\u043d\u043e \u0432 \u043b\u044e\u0431\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u044d\u0442\u043e \u0447\u0435\u0440\u0435\u0437 \u0441\u0432\u043e\u044e \u0443\u0447\u0435\u0442\u043d\u0443\u044e \u0437\u0430\u043f\u0438\u0441\u044c PayPal.", @@ -974,7 +978,7 @@ "LabelImagesByName": "\u0420\u0438\u0441\u0443\u043d\u043a\u0438 \u0447\u0435\u0440\u0435\u0437 \u0438\u043c\u044f:", "LabelTranscodingTemporaryFiles": "\u0412\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u043f\u0435\u0440\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438:", "HeaderLatestMusic": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0438\u0437 \u043c\u0443\u0437\u044b\u043a\u0438", - "HeaderBranding": "\u0411\u0440\u0435\u043d\u0434\u0438\u043d\u0433", + "HeaderBranding": "\u041e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u0438\u0435", "HeaderApiKeys": "API-\u043a\u043b\u044e\u0447\u0438", "HeaderApiKeysHelp": "\u0412\u043d\u0435\u0448\u043d\u0438\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f API-\u043a\u043b\u044e\u0447 \u0434\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a Media Browser. \u041a\u043b\u044e\u0447\u0438 \u0432\u044b\u0434\u0430\u044e\u0442\u0441\u044f \u043f\u0440\u0438 \u0432\u0445\u043e\u0434\u0435 \u0441 \u0443\u0447\u0451\u0442\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u044c\u044e Media Browser \u0438\u043b\u0438 \u043a\u043b\u044e\u0447 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044e \u0432\u0440\u0443\u0447\u043d\u0443\u044e.", "HeaderApiKey": "API-\u043a\u043b\u044e\u0447", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/sv.json b/MediaBrowser.Server.Implementations/Localization/Server/sv.json index a289da00b..0517f7fa8 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/sv.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/sv.json @@ -46,6 +46,8 @@ "OptionEnableWebClientResourceMinification": "Enable web client resource minification", "LabelDashboardSourcePath": "Web client source path:", "LabelDashboardSourcePathHelp": "If running the server from source, specify the path to the dashboard-ui folder. All web client files will be served from this location.", + "ButtonConvertMedia": "Convert media", + "ButtonOrganize": "Organize", "ButtonOk": "OK", "ButtonCancel": "Avbryt", "ButtonNew": "Nytillkommet", @@ -79,6 +81,7 @@ "ReferToMediaLibraryWiki": "Se avsnittet om mediabibliotek i v\u00e5r Wiki.", "LabelCountry": "Land:", "LabelLanguage": "Spr\u00e5k:", + "ButtonJoinTheDevelopmentTeam": "Join the Development Team", "HeaderPreferredMetadataLanguage": "\u00d6nskat spr\u00e5k f\u00f6r metadata:", "LabelSaveLocalMetadata": "Spara grafik och metadata i mediamapparna", "LabelSaveLocalMetadataHelp": "Om grafik och metadata sparas tillsammans med media \u00e4r de enkelt \u00e5tkomliga f\u00f6r redigering.", @@ -97,6 +100,7 @@ "HeaderDeviceAccess": "Enhets\u00e5tkomst", "OptionEnableAccessFromAllDevices": "Aktivera \u00e5tkomst fr\u00e5n alla enheter", "OptionEnableAccessToAllChannels": "Aktivera \u00e5tkomst till alla kanaler", + "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": "Visa saknade avsnitt i s\u00e4songer", "LabelUnairedMissingEpisodesWithinSeasons": "Visa \u00e4nnu ej s\u00e4nda avsnitt i s\u00e4songer", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/tr.json b/MediaBrowser.Server.Implementations/Localization/Server/tr.json index 0043804d4..66e6b854a 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/tr.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/tr.json @@ -46,6 +46,8 @@ "OptionEnableWebClientResourceMinification": "Enable web client resource minification", "LabelDashboardSourcePath": "Web client source path:", "LabelDashboardSourcePathHelp": "If running the server from source, specify the path to the dashboard-ui folder. All web client files will be served from this location.", + "ButtonConvertMedia": "Convert media", + "ButtonOrganize": "Organize", "ButtonOk": "Tamam", "ButtonCancel": "\u0130ptal", "ButtonNew": "Yeni", @@ -79,6 +81,7 @@ "ReferToMediaLibraryWiki": "Refer to the media library wiki.", "LabelCountry": "\u00dclke", "LabelLanguage": "Dil", + "ButtonJoinTheDevelopmentTeam": "Join the Development Team", "HeaderPreferredMetadataLanguage": "Tercih edilen Meta Dili:", "LabelSaveLocalMetadata": "Medya meta dosyalar\u0131n\u0131 ayn\u0131 klas\u00f6rlere i\u015fle", "LabelSaveLocalMetadataHelp": "Saving artwork and metadata directly into media folders will put them in a place where they can be easily edited.", @@ -97,6 +100,7 @@ "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": "Sezondaki kay\u0131p b\u00f6l\u00fcmleri g\u00f6ster", "LabelUnairedMissingEpisodesWithinSeasons": "Display unaired episodes within seasons", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/uk.json b/MediaBrowser.Server.Implementations/Localization/Server/uk.json index 7222c2279..6901b24a0 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/uk.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/uk.json @@ -46,6 +46,8 @@ "OptionEnableWebClientResourceMinification": "Enable web client resource minification", "LabelDashboardSourcePath": "Web client source path:", "LabelDashboardSourcePathHelp": "If running the server from source, specify the path to the dashboard-ui folder. All web client files will be served from this location.", + "ButtonConvertMedia": "Convert media", + "ButtonOrganize": "Organize", "ButtonOk": "Ok", "ButtonCancel": "Cancel", "ButtonNew": "New", @@ -79,6 +81,7 @@ "ReferToMediaLibraryWiki": "Refer to the media library wiki.", "LabelCountry": "Country:", "LabelLanguage": "Language:", + "ButtonJoinTheDevelopmentTeam": "Join the Development Team", "HeaderPreferredMetadataLanguage": "Preferred metadata language:", "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.", @@ -97,6 +100,7 @@ "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", "LabelUnairedMissingEpisodesWithinSeasons": "Display unaired episodes within seasons", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/vi.json b/MediaBrowser.Server.Implementations/Localization/Server/vi.json index b013017b2..7eb59492d 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/vi.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/vi.json @@ -46,6 +46,8 @@ "OptionEnableWebClientResourceMinification": "Enable web client resource minification", "LabelDashboardSourcePath": "Web client source path:", "LabelDashboardSourcePathHelp": "If running the server from source, specify the path to the dashboard-ui folder. All web client files will be served from this location.", + "ButtonConvertMedia": "Convert media", + "ButtonOrganize": "Organize", "ButtonOk": "Ok", "ButtonCancel": "Tho\u00e1t", "ButtonNew": "M\u1edbi", @@ -79,6 +81,7 @@ "ReferToMediaLibraryWiki": "Tham kh\u1ea3o th\u01b0 vi\u1ec7n wiki media.", "LabelCountry": "Qu\u1ed1c gia:", "LabelLanguage": "Ng\u00f4n ng\u1eef", + "ButtonJoinTheDevelopmentTeam": "Join the Development Team", "HeaderPreferredMetadataLanguage": "Ng\u00f4n ng\u1eef metadata \u01b0a th\u00edch", "LabelSaveLocalMetadata": "L\u01b0u c\u00e1c \u1ea3nh ngh\u1ec7 thu\u1eadt v\u00e0 metadata v\u00e0o trong c\u00e1c th\u01b0 m\u1ee5c media", "LabelSaveLocalMetadataHelp": "L\u01b0u c\u00e1c \u1ea3nh ngh\u1ec7 thu\u1eadt v\u00e0 metadata v\u00e0o trong c\u00e1c th\u01b0 m\u1ee5c media, s\u1ebd \u0111\u01b0a ch\u00fang v\u00e0o m\u1ed9t n\u01a1i b\u1ea1n c\u00f3 th\u1ec3 ch\u1ec9nh s\u1eeda d\u1ec5 d\u00e0ng h\u01a1n.", @@ -97,6 +100,7 @@ "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", "LabelUnairedMissingEpisodesWithinSeasons": "Display unaired episodes within seasons", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/zh_CN.json b/MediaBrowser.Server.Implementations/Localization/Server/zh_CN.json index 0ed4ae94d..d5e2167f3 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/zh_CN.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/zh_CN.json @@ -46,6 +46,8 @@ "OptionEnableWebClientResourceMinification": "Enable web client resource minification", "LabelDashboardSourcePath": "Web client source path:", "LabelDashboardSourcePathHelp": "If running the server from source, specify the path to the dashboard-ui folder. All web client files will be served from this location.", + "ButtonConvertMedia": "Convert media", + "ButtonOrganize": "Organize", "ButtonOk": "\u786e\u5b9a", "ButtonCancel": "\u53d6\u6d88", "ButtonNew": "\u65b0\u589e", @@ -79,6 +81,7 @@ "ReferToMediaLibraryWiki": "\u8bf7\u53c2\u9605\u5a92\u4f53\u5e93\u7ef4\u57fa\u3002", "LabelCountry": "\u56fd\u5bb6\uff1a", "LabelLanguage": "\u8bed\u8a00\uff1a", + "ButtonJoinTheDevelopmentTeam": "Join the Development Team", "HeaderPreferredMetadataLanguage": "\u9996\u9009\u5a92\u4f53\u8d44\u6599\u8bed\u8a00\uff1a", "LabelSaveLocalMetadata": "\u4fdd\u5b58\u5a92\u4f53\u56fe\u50cf\u53ca\u8d44\u6599\u5230\u5a92\u4f53\u6240\u5728\u6587\u4ef6\u5939", "LabelSaveLocalMetadataHelp": "\u76f4\u63a5\u4fdd\u5b58\u5a92\u4f53\u56fe\u50cf\u53ca\u8d44\u6599\u5230\u5a92\u4f53\u6240\u5728\u6587\u4ef6\u5939\u4ee5\u65b9\u4fbf\u7f16\u8f91\u3002", @@ -97,6 +100,7 @@ "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": "\u663e\u793a\u6bcf\u5b63\u91cc\u7f3a\u5c11\u7684\u5267\u96c6", "LabelUnairedMissingEpisodesWithinSeasons": "\u663e\u793a\u6bcf\u5b63\u91cc\u672a\u53d1\u5e03\u7684\u5267\u96c6", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/zh_TW.json b/MediaBrowser.Server.Implementations/Localization/Server/zh_TW.json index b7b5d0cf5..88f9c19e9 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/zh_TW.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/zh_TW.json @@ -46,6 +46,8 @@ "OptionEnableWebClientResourceMinification": "Enable web client resource minification", "LabelDashboardSourcePath": "Web client source path:", "LabelDashboardSourcePathHelp": "If running the server from source, specify the path to the dashboard-ui folder. All web client files will be served from this location.", + "ButtonConvertMedia": "Convert media", + "ButtonOrganize": "Organize", "ButtonOk": "OK", "ButtonCancel": "\u53d6\u6d88", "ButtonNew": "\u5275\u5efa", @@ -79,6 +81,7 @@ "ReferToMediaLibraryWiki": "\u53c3\u7167\u5a92\u9ad4\u5eab\u7ef4\u57fa", "LabelCountry": "\u570b\u5bb6\uff1a", "LabelLanguage": "\u8a9e\u8a00\uff1a", + "ButtonJoinTheDevelopmentTeam": "Join the Development Team", "HeaderPreferredMetadataLanguage": "\u9996\u9078\u5a92\u9ad4\u8cc7\u6599\u8a9e\u8a00\uff1a", "LabelSaveLocalMetadata": "\u4fdd\u5b58\u5a92\u9ad4\u5716\u50cf\u53ca\u8cc7\u6599\u5230\u5a92\u9ad4\u6a94\u6848\u6240\u5728\u7684\u6587\u4ef6\u593e", "LabelSaveLocalMetadataHelp": "\u76f4\u63a5\u4fdd\u5b58\u5a92\u9ad4\u5716\u50cf\u53ca\u8cc7\u6599\u5230\u5a92\u9ad4\u6240\u5728\u7684\u6587\u4ef6\u593e\u80fd\u4f7f\u7de8\u8f2f\u5de5\u4f5c\u66f4\u5bb9\u6613\u3002", @@ -97,6 +100,7 @@ "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": "\u986f\u793a\u7bc0\u76ee\u5b63\u5ea6\u5167\u7f3a\u5c11\u7684\u55ae\u5143", "LabelUnairedMissingEpisodesWithinSeasons": "\u5728\u7bc0\u76ee\u5b63\u5ea6\u5167\u986f\u793a\u9084\u672a\u767c\u4f48\u7684\u55ae\u5143", diff --git a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj index fe5642dbc..1737e6fd3 100644 --- a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj +++ b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj @@ -402,8 +402,6 @@ - - @@ -415,6 +413,10 @@ + + + + -- cgit v1.2.3 From db038464814ea56fd90526dd35ce790cfc2a72e2 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 23 Jan 2015 01:15:15 -0500 Subject: sync updates --- MediaBrowser.Model/Sync/SyncJobItem.cs | 5 ++ .../BoxSets/BoxSetMetadataService.cs | 2 - MediaBrowser.Providers/Photos/PhotoProvider.cs | 2 +- .../Collections/CollectionImageProvider.cs | 67 ++++++++++++++++++++++ .../Collections/ManualCollectionsFolder.cs | 4 +- .../Localization/JavaScript/javascript.json | 2 + .../Localization/Server/server.json | 2 + .../MediaBrowser.Server.Implementations.csproj | 1 + .../Persistence/SqliteItemRepository.cs | 1 - .../Photos/BaseDynamicImageProvider.cs | 2 +- .../Playlists/ManualPlaylistsFolder.cs | 2 +- .../Sync/SyncJobProcessor.cs | 7 ++- .../Sync/SyncRepository.cs | 19 +++--- .../TV/TVSeriesManager.cs | 5 +- .../ApplicationHost.cs | 42 +++++++------- 15 files changed, 124 insertions(+), 39 deletions(-) create mode 100644 MediaBrowser.Server.Implementations/Collections/CollectionImageProvider.cs (limited to 'MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj') diff --git a/MediaBrowser.Model/Sync/SyncJobItem.cs b/MediaBrowser.Model/Sync/SyncJobItem.cs index 195d1e17e..77464be58 100644 --- a/MediaBrowser.Model/Sync/SyncJobItem.cs +++ b/MediaBrowser.Model/Sync/SyncJobItem.cs @@ -96,6 +96,11 @@ namespace MediaBrowser.Model.Sync /// /// true if this instance is marked for removal; otherwise, false. public bool IsMarkedForRemoval { get; set; } + /// + /// Gets or sets the index of the job item. + /// + /// The index of the job item. + public int JobItemIndex { get; set; } public SyncJobItem() { diff --git a/MediaBrowser.Providers/BoxSets/BoxSetMetadataService.cs b/MediaBrowser.Providers/BoxSets/BoxSetMetadataService.cs index e195df7dd..3ac3cccb3 100644 --- a/MediaBrowser.Providers/BoxSets/BoxSetMetadataService.cs +++ b/MediaBrowser.Providers/BoxSets/BoxSetMetadataService.cs @@ -2,14 +2,12 @@ using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Movies; -using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Localization; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Logging; using MediaBrowser.Providers.Manager; -using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; diff --git a/MediaBrowser.Providers/Photos/PhotoProvider.cs b/MediaBrowser.Providers/Photos/PhotoProvider.cs index 29b75d830..3eaef59fb 100644 --- a/MediaBrowser.Providers/Photos/PhotoProvider.cs +++ b/MediaBrowser.Providers/Photos/PhotoProvider.cs @@ -15,7 +15,7 @@ using TagLib.IFD.Tags; namespace MediaBrowser.Providers.Photos { - public class PhotoProvider : ICustomMetadataProvider, IHasItemChangeMonitor + public class PhotoProvider : ICustomMetadataProvider, IHasItemChangeMonitor, IForcedProvider { private readonly ILogger _logger; private readonly IImageProcessor _imageProcessor; diff --git a/MediaBrowser.Server.Implementations/Collections/CollectionImageProvider.cs b/MediaBrowser.Server.Implementations/Collections/CollectionImageProvider.cs new file mode 100644 index 000000000..27ec6cc3b --- /dev/null +++ b/MediaBrowser.Server.Implementations/Collections/CollectionImageProvider.cs @@ -0,0 +1,67 @@ +using MediaBrowser.Common.IO; +using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Entities.Audio; +using MediaBrowser.Controller.Entities.Movies; +using MediaBrowser.Controller.Entities.TV; +using MediaBrowser.Controller.Providers; +using MediaBrowser.Model.Entities; +using MediaBrowser.Server.Implementations.Photos; +using MoreLinq; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace MediaBrowser.Server.Implementations.Collections +{ + public class CollectionImageProvider : BaseDynamicImageProvider, ICustomMetadataProvider + { + public CollectionImageProvider(IFileSystem fileSystem, IProviderManager providerManager) + : base(fileSystem, providerManager) + { + } + + protected override Task> GetItemsWithImages(IHasImages item) + { + var playlist = (BoxSet)item; + + var items = playlist.Children.Concat(playlist.GetLinkedChildren()) + .Select(i => + { + var subItem = i; + + var episode = subItem as Episode; + + if (episode != null) + { + var series = episode.Series; + if (series != null && series.HasImage(ImageType.Primary)) + { + return series; + } + } + + if (subItem.HasImage(ImageType.Primary)) + { + return subItem; + } + + var parent = subItem.Parent; + + if (parent != null && parent.HasImage(ImageType.Primary)) + { + if (parent is MusicAlbum) + { + return parent; + } + } + + return null; + }) + .Where(i => i != null) + .DistinctBy(i => i.Id) + .ToList(); + + return Task.FromResult(GetFinalItems(items)); + } + } +} diff --git a/MediaBrowser.Server.Implementations/Collections/ManualCollectionsFolder.cs b/MediaBrowser.Server.Implementations/Collections/ManualCollectionsFolder.cs index b02c52874..fa4de728b 100644 --- a/MediaBrowser.Server.Implementations/Collections/ManualCollectionsFolder.cs +++ b/MediaBrowser.Server.Implementations/Collections/ManualCollectionsFolder.cs @@ -13,8 +13,8 @@ namespace MediaBrowser.Server.Implementations.Collections public override bool IsVisible(User user) { - return GetChildren(user, true).Any() && - base.IsVisible(user); + return base.IsVisible(user) && GetChildren(user, false) + .Any(); } public override bool IsHidden diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json index 4206ccf59..5d37007e0 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json @@ -34,6 +34,7 @@ "MessageKeyRemoved": "Thank you. Your supporter key has been removed.", "ErrorLaunchingChromecast": "There was an error launching chromecast. Please ensure your device is connected to your wireless network.", "HeaderSearch": "Search", + "ValueDateCreated": "Date created: {0}", "LabelArtist": "Artist", "LabelMovie": "Movie", "LabelMusicVideo": "Music Video", @@ -46,6 +47,7 @@ "ButtonSave": "Save", "HeaderDevices": "Devices", "ButtonScheduledTasks": "Scheduled tasks", + "HeaderSelectCertificatePath": "Select Certificate Path", "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task. It can also be run manually here. To configure the scheduled task, see:", "HeaderSupporterBenefit": "A supporter membership provides additional benefits such as access to premium plugins, internet channel content, and more. {0}Learn more{1}.", "HeaderWelcomeToMediaBrowserServerDashboard": "Welcome to the Media Browser Dashboard", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/server.json b/MediaBrowser.Server.Implementations/Localization/Server/server.json index e4677e4d1..3a5e7c77e 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/server.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/server.json @@ -55,6 +55,8 @@ "HeaderAudio": "Audio", "HeaderVideo": "Video", "HeaderPaths": "Paths", + "LabelCustomCertificatePath": "Custom certificate path:", + "LabelCustomCertificatePathHelp": "Supply your own ssl certificate. If omitted, the server will create a self-signed certificate.", "TitleNotifications": "Notifications", "ButtonDonateWithPayPal": "Donate with PayPal", "OptionDetectArchiveFilesAsMedia": "Detect archive files as media", diff --git a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj index 1737e6fd3..c0cc0395c 100644 --- a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj +++ b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj @@ -117,6 +117,7 @@ + diff --git a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs index cd7928290..99c59abc5 100644 --- a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs +++ b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs @@ -1,7 +1,6 @@ using MediaBrowser.Common.Configuration; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Persistence; -using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Logging; using MediaBrowser.Model.Serialization; diff --git a/MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs b/MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs index dbaf23656..369e8512f 100644 --- a/MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs +++ b/MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs @@ -14,7 +14,7 @@ using System.Threading.Tasks; namespace MediaBrowser.Server.Implementations.Photos { - public abstract class BaseDynamicImageProvider : IHasChangeMonitor + public abstract class BaseDynamicImageProvider : IHasChangeMonitor, IForcedProvider where T : IHasImages { protected IFileSystem FileSystem { get; private set; } diff --git a/MediaBrowser.Server.Implementations/Playlists/ManualPlaylistsFolder.cs b/MediaBrowser.Server.Implementations/Playlists/ManualPlaylistsFolder.cs index 89395a00b..2b2c52406 100644 --- a/MediaBrowser.Server.Implementations/Playlists/ManualPlaylistsFolder.cs +++ b/MediaBrowser.Server.Implementations/Playlists/ManualPlaylistsFolder.cs @@ -16,7 +16,7 @@ namespace MediaBrowser.Server.Implementations.Playlists public override bool IsVisible(User user) { - return base.IsVisible(user) && GetRecursiveChildren(user, false) + return base.IsVisible(user) && GetChildren(user, false) .OfType() .Any(i => i.IsVisible(user)); } diff --git a/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs b/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs index 67f9d363e..716584084 100644 --- a/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs +++ b/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs @@ -90,6 +90,10 @@ namespace MediaBrowser.Server.Implementations.Sync continue; } + var index = jobItems.Count == 0 ? + 0 : + (jobItems.Select(i => i.JobItemIndex).Max() + 1); + jobItem = new SyncJobItem { Id = Guid.NewGuid().ToString("N"), @@ -97,7 +101,8 @@ namespace MediaBrowser.Server.Implementations.Sync ItemName = GetSyncJobItemName(item), JobId = job.Id, TargetId = job.TargetId, - DateCreated = DateTime.UtcNow + DateCreated = DateTime.UtcNow, + JobItemIndex = index }; await _syncRepo.Create(jobItem).ConfigureAwait(false); diff --git a/MediaBrowser.Server.Implementations/Sync/SyncRepository.cs b/MediaBrowser.Server.Implementations/Sync/SyncRepository.cs index 1cd8e8a9d..0e527ea54 100644 --- a/MediaBrowser.Server.Implementations/Sync/SyncRepository.cs +++ b/MediaBrowser.Server.Implementations/Sync/SyncRepository.cs @@ -41,7 +41,7 @@ namespace MediaBrowser.Server.Implementations.Sync public async Task Initialize() { - var dbFile = Path.Combine(_appPaths.DataPath, "sync13.db"); + var dbFile = Path.Combine(_appPaths.DataPath, "sync14.db"); _connection = await SqliteExtensions.ConnectToDb(dbFile, _logger).ConfigureAwait(false); @@ -50,7 +50,7 @@ namespace MediaBrowser.Server.Implementations.Sync "create table if not exists SyncJobs (Id GUID PRIMARY KEY, TargetId TEXT NOT NULL, Name TEXT NOT NULL, Quality TEXT NOT NULL, Status TEXT NOT NULL, Progress FLOAT, UserId TEXT NOT NULL, ItemIds TEXT NOT NULL, Category TEXT, ParentId TEXT, UnwatchedOnly BIT, ItemLimit INT, SyncNewContent BIT, DateCreated DateTime, DateLastModified DateTime, ItemCount int)", "create index if not exists idx_SyncJobs on SyncJobs(Id)", - "create table if not exists SyncJobItems (Id GUID PRIMARY KEY, ItemId TEXT, ItemName TEXT, MediaSourceId TEXT, JobId TEXT, TemporaryPath TEXT, OutputPath TEXT, Status TEXT, TargetId TEXT, DateCreated DateTime, Progress FLOAT, AdditionalFiles TEXT, MediaSource TEXT, IsMarkedForRemoval BIT)", + "create table if not exists SyncJobItems (Id GUID PRIMARY KEY, ItemId TEXT, ItemName TEXT, MediaSourceId TEXT, JobId TEXT, TemporaryPath TEXT, OutputPath TEXT, Status TEXT, TargetId TEXT, DateCreated DateTime, Progress FLOAT, AdditionalFiles TEXT, MediaSource TEXT, IsMarkedForRemoval BIT, JobItemIndex INT)", "create index if not exists idx_SyncJobItems on SyncJobs(Id)", //pragmas @@ -95,7 +95,7 @@ namespace MediaBrowser.Server.Implementations.Sync _saveJobCommand.Parameters.Add(_saveJobCommand, "@ItemCount"); _saveJobItemCommand = _connection.CreateCommand(); - _saveJobItemCommand.CommandText = "replace into SyncJobItems (Id, ItemId, ItemName, MediaSourceId, JobId, TemporaryPath, OutputPath, Status, TargetId, DateCreated, Progress, AdditionalFiles, MediaSource, IsMarkedForRemoval) values (@Id, @ItemId, @ItemName, @MediaSourceId, @JobId, @TemporaryPath, @OutputPath, @Status, @TargetId, @DateCreated, @Progress, @AdditionalFiles, @MediaSource, @IsMarkedForRemoval)"; + _saveJobItemCommand.CommandText = "replace into SyncJobItems (Id, ItemId, ItemName, MediaSourceId, JobId, TemporaryPath, OutputPath, Status, TargetId, DateCreated, Progress, AdditionalFiles, MediaSource, IsMarkedForRemoval, JobItemIndex) values (@Id, @ItemId, @ItemName, @MediaSourceId, @JobId, @TemporaryPath, @OutputPath, @Status, @TargetId, @DateCreated, @Progress, @AdditionalFiles, @MediaSource, @IsMarkedForRemoval, @JobItemIndex)"; _saveJobItemCommand.Parameters.Add(_saveJobItemCommand, "@Id"); _saveJobItemCommand.Parameters.Add(_saveJobItemCommand, "@ItemId"); @@ -111,10 +111,11 @@ namespace MediaBrowser.Server.Implementations.Sync _saveJobItemCommand.Parameters.Add(_saveJobItemCommand, "@AdditionalFiles"); _saveJobItemCommand.Parameters.Add(_saveJobItemCommand, "@MediaSource"); _saveJobItemCommand.Parameters.Add(_saveJobItemCommand, "@IsMarkedForRemoval"); + _saveJobItemCommand.Parameters.Add(_saveJobItemCommand, "@JobItemIndex"); } private const string BaseJobSelectText = "select Id, TargetId, Name, Quality, Status, Progress, UserId, ItemIds, Category, ParentId, UnwatchedOnly, ItemLimit, SyncNewContent, DateCreated, DateLastModified, ItemCount from SyncJobs"; - private const string BaseJobItemSelectText = "select Id, ItemId, ItemName, MediaSourceId, JobId, TemporaryPath, OutputPath, Status, TargetId, DateCreated, Progress, AdditionalFiles, MediaSource, IsMarkedForRemoval from SyncJobItems"; + private const string BaseJobItemSelectText = "select Id, ItemId, ItemName, MediaSourceId, JobId, TemporaryPath, OutputPath, Status, TargetId, DateCreated, Progress, AdditionalFiles, MediaSource, IsMarkedForRemoval, JobItemIndex from SyncJobItems"; public SyncJob GetJob(string id) { @@ -496,7 +497,7 @@ namespace MediaBrowser.Server.Implementations.Sync var startIndex = query.StartIndex ?? 0; if (startIndex > 0) { - whereClauses.Add(string.Format("Id NOT IN (SELECT Id FROM SyncJobItems ORDER BY DateCreated LIMIT {0})", + whereClauses.Add(string.Format("Id NOT IN (SELECT Id FROM SyncJobItems ORDER BY JobItemIndex, DateCreated LIMIT {0})", startIndex.ToString(_usCulture))); } @@ -505,7 +506,7 @@ namespace MediaBrowser.Server.Implementations.Sync cmd.CommandText += " where " + string.Join(" AND ", whereClauses.ToArray()); } - cmd.CommandText += " ORDER BY DateCreated"; + cmd.CommandText += " ORDER BY JobItemIndex, DateCreated"; if (query.Limit.HasValue) { @@ -574,6 +575,7 @@ namespace MediaBrowser.Server.Implementations.Sync _saveJobItemCommand.GetParameter(index++).Value = _json.SerializeToString(jobItem.AdditionalFiles); _saveJobItemCommand.GetParameter(index++).Value = jobItem.MediaSource == null ? null : _json.SerializeToString(jobItem.MediaSource); _saveJobItemCommand.GetParameter(index++).Value = jobItem.IsMarkedForRemoval; + _saveJobItemCommand.GetParameter(index++).Value = jobItem.JobItemIndex; _saveJobItemCommand.Transaction = transaction; @@ -648,7 +650,7 @@ namespace MediaBrowser.Server.Implementations.Sync info.TargetId = reader.GetString(8); - info.DateCreated = reader.GetDateTime(9); + info.DateCreated = reader.GetDateTime(9).ToUniversalTime(); if (!reader.IsDBNull(10)) { @@ -676,7 +678,8 @@ namespace MediaBrowser.Server.Implementations.Sync } info.IsMarkedForRemoval = reader.GetBoolean(13); - + info.JobItemIndex = reader.GetInt32(14); + return info; } diff --git a/MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs b/MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs index 66e771aa3..8c21727a4 100644 --- a/MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs +++ b/MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs @@ -163,7 +163,10 @@ namespace MediaBrowser.Server.Implementations.TV return new Tuple(nextUp, lastWatchedDate); } - return new Tuple(null, lastWatchedDate); + var firstEpisode = allEpisodes.LastOrDefault(i => i.LocationType != LocationType.Virtual && !i.IsPlayed(user)); + + // Return the first episode + return new Tuple(firstEpisode, DateTime.MinValue); } private IEnumerable FilterSeries(NextUpQuery request, IEnumerable items) diff --git a/MediaBrowser.Server.Startup.Common/ApplicationHost.cs b/MediaBrowser.Server.Startup.Common/ApplicationHost.cs index 7eb68187a..4fc6ae6fa 100644 --- a/MediaBrowser.Server.Startup.Common/ApplicationHost.cs +++ b/MediaBrowser.Server.Startup.Common/ApplicationHost.cs @@ -796,35 +796,35 @@ namespace MediaBrowser.Server.Startup.Common private string GetCertificatePath(bool generateCertificate) { - if (string.IsNullOrWhiteSpace(ServerConfigurationManager.Configuration.CertificatePath)) + if (!string.IsNullOrWhiteSpace(ServerConfigurationManager.Configuration.CertificatePath)) { - // Generate self-signed cert - var certHost = GetHostnameFromExternalDns(ServerConfigurationManager.Configuration.WanDdns); - var certPath = Path.Combine(ServerConfigurationManager.ApplicationPaths.ProgramDataPath, "ssl", "cert_" + certHost.GetMD5().ToString("N") + ".pfx"); + // Custom cert + return ServerConfigurationManager.Configuration.CertificatePath; + } + + // Generate self-signed cert + var certHost = GetHostnameFromExternalDns(ServerConfigurationManager.Configuration.WanDdns); + var certPath = Path.Combine(ServerConfigurationManager.ApplicationPaths.ProgramDataPath, "ssl", "cert_" + certHost.GetMD5().ToString("N") + ".pfx"); - if (generateCertificate) + if (generateCertificate) + { + if (!File.Exists(certPath)) { - if (!File.Exists(certPath)) + Directory.CreateDirectory(Path.GetDirectoryName(certPath)); + + try { - Directory.CreateDirectory(Path.GetDirectoryName(certPath)); - - try - { - NetworkManager.GenerateSelfSignedSslCertificate(certPath, certHost); - } - catch (Exception ex) - { - Logger.ErrorException("Error creating ssl cert", ex); - return null; - } + NetworkManager.GenerateSelfSignedSslCertificate(certPath, certHost); + } + catch (Exception ex) + { + Logger.ErrorException("Error creating ssl cert", ex); + return null; } } - - return certPath; } - // Custom cert - return ServerConfigurationManager.Configuration.CertificatePath; + return certPath; } /// -- cgit v1.2.3 From 15d6e17802cc5f0987c7031fbddc08d8a0a3ed11 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 23 Jan 2015 01:17:20 -0500 Subject: updated SocketHttpListener --- .../MediaBrowser.Server.Implementations.csproj | 4 ++-- MediaBrowser.Server.Implementations/packages.config | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj') diff --git a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj index c0cc0395c..e95bd6503 100644 --- a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj +++ b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj @@ -68,9 +68,9 @@ ..\ThirdParty\ServiceStack\ServiceStack.Api.Swagger.dll - + False - ..\packages\SocketHttpListener.1.0.0.0\lib\net45\SocketHttpListener.dll + ..\packages\SocketHttpListener.1.0.0.1\lib\net45\SocketHttpListener.dll diff --git a/MediaBrowser.Server.Implementations/packages.config b/MediaBrowser.Server.Implementations/packages.config index b2edfbbc1..d9e19e0d8 100644 --- a/MediaBrowser.Server.Implementations/packages.config +++ b/MediaBrowser.Server.Implementations/packages.config @@ -4,5 +4,5 @@ - + \ No newline at end of file -- cgit v1.2.3 From 67559378009062a26173888ad457d0c9116bfc9a Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 24 Jan 2015 17:33:26 -0500 Subject: sync updates --- .../Channels/ChannelAudioItem.cs | 2 +- .../Channels/ChannelFolderItem.cs | 2 +- .../Channels/ChannelVideoItem.cs | 4 +-- MediaBrowser.Controller/Entities/Audio/Audio.cs | 4 +-- .../Entities/Audio/MusicAlbum.cs | 4 +-- .../Entities/Audio/MusicArtist.cs | 2 +- .../Entities/Audio/MusicGenre.cs | 2 +- MediaBrowser.Controller/Entities/BaseItem.cs | 18 +++++++++++-- MediaBrowser.Controller/Entities/Folder.cs | 2 +- MediaBrowser.Controller/Entities/Game.cs | 4 +-- MediaBrowser.Controller/Entities/GameGenre.cs | 2 +- MediaBrowser.Controller/Entities/GameSystem.cs | 4 +-- MediaBrowser.Controller/Entities/Genre.cs | 2 +- MediaBrowser.Controller/Entities/Movies/Movie.cs | 4 +-- MediaBrowser.Controller/Entities/MusicVideo.cs | 19 ++----------- MediaBrowser.Controller/Entities/Person.cs | 2 +- MediaBrowser.Controller/Entities/Studio.cs | 2 +- MediaBrowser.Controller/Entities/TV/Episode.cs | 4 +-- MediaBrowser.Controller/Entities/TV/Season.cs | 4 +-- MediaBrowser.Controller/Entities/TV/Series.cs | 4 +-- MediaBrowser.Controller/Entities/Trailer.cs | 4 +-- .../Entities/UserViewBuilder.cs | 19 ++++++++++--- MediaBrowser.Controller/Entities/Year.cs | 2 +- .../LiveTv/LiveTvAudioRecording.cs | 2 +- MediaBrowser.Controller/LiveTv/LiveTvChannel.cs | 2 +- MediaBrowser.Controller/LiveTv/LiveTvProgram.cs | 2 +- .../LiveTv/LiveTvVideoRecording.cs | 2 +- MediaBrowser.Providers/Manager/MetadataService.cs | 3 +-- .../Collections/ManualCollectionsFolder.cs | 4 ++- .../FileOrganization/NameUtils.cs | 3 --- .../Library/UserViewManager.cs | 20 +++----------- .../Localization/Server/server.json | 2 ++ .../MediaBrowser.Server.Implementations.csproj | 1 + .../Sync/SyncJobProcessor.cs | 12 ++++++++- .../Sync/SyncRegistrationInfo.cs | 31 ++++++++++++++++++++++ Nuget/MediaBrowser.Common.Internal.nuspec | 4 +-- Nuget/MediaBrowser.Common.nuspec | 2 +- Nuget/MediaBrowser.Model.Signed.nuspec | 2 +- Nuget/MediaBrowser.Server.Core.nuspec | 4 +-- 39 files changed, 126 insertions(+), 86 deletions(-) create mode 100644 MediaBrowser.Server.Implementations/Sync/SyncRegistrationInfo.cs (limited to 'MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj') diff --git a/MediaBrowser.Controller/Channels/ChannelAudioItem.cs b/MediaBrowser.Controller/Channels/ChannelAudioItem.cs index 896d598bb..d9330f8a3 100644 --- a/MediaBrowser.Controller/Channels/ChannelAudioItem.cs +++ b/MediaBrowser.Controller/Channels/ChannelAudioItem.cs @@ -32,7 +32,7 @@ namespace MediaBrowser.Controller.Channels return config.BlockUnratedItems.Contains(UnratedItem.ChannelContent); } - public override string GetUserDataKey() + protected override string CreateUserDataKey() { return ExternalId; } diff --git a/MediaBrowser.Controller/Channels/ChannelFolderItem.cs b/MediaBrowser.Controller/Channels/ChannelFolderItem.cs index 8482e38df..dce9840ed 100644 --- a/MediaBrowser.Controller/Channels/ChannelFolderItem.cs +++ b/MediaBrowser.Controller/Channels/ChannelFolderItem.cs @@ -40,7 +40,7 @@ namespace MediaBrowser.Controller.Channels return false; } - public override string GetUserDataKey() + protected override string CreateUserDataKey() { return ExternalId; } diff --git a/MediaBrowser.Controller/Channels/ChannelVideoItem.cs b/MediaBrowser.Controller/Channels/ChannelVideoItem.cs index f0eafcbdf..e3fad56e9 100644 --- a/MediaBrowser.Controller/Channels/ChannelVideoItem.cs +++ b/MediaBrowser.Controller/Channels/ChannelVideoItem.cs @@ -28,8 +28,8 @@ namespace MediaBrowser.Controller.Channels public string OriginalImageUrl { get; set; } public List ChannelMediaSources { get; set; } - - public override string GetUserDataKey() + + protected override string CreateUserDataKey() { if (ContentType == ChannelMediaContentType.MovieExtra) { diff --git a/MediaBrowser.Controller/Entities/Audio/Audio.cs b/MediaBrowser.Controller/Entities/Audio/Audio.cs index c5ed09016..f110f85d2 100644 --- a/MediaBrowser.Controller/Entities/Audio/Audio.cs +++ b/MediaBrowser.Controller/Entities/Audio/Audio.cs @@ -169,7 +169,7 @@ namespace MediaBrowser.Controller.Entities.Audio /// Gets the user data key. /// /// System.String. - public override string GetUserDataKey() + protected override string CreateUserDataKey() { var parent = FindParent(); @@ -186,7 +186,7 @@ namespace MediaBrowser.Controller.Entities.Audio } } - return base.GetUserDataKey(); + return base.CreateUserDataKey(); } protected override bool GetBlockUnratedValue(UserPolicy config) diff --git a/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs b/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs index 90edfcce7..7974657d9 100644 --- a/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs +++ b/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs @@ -136,7 +136,7 @@ namespace MediaBrowser.Controller.Entities.Audio /// Gets the user data key. /// /// System.String. - public override string GetUserDataKey() + protected override string CreateUserDataKey() { var id = this.GetProviderId(MetadataProviders.MusicBrainzReleaseGroup); @@ -152,7 +152,7 @@ namespace MediaBrowser.Controller.Entities.Audio return "MusicAlbum-Musicbrainz-" + id; } - return base.GetUserDataKey(); + return base.CreateUserDataKey(); } protected override bool GetBlockUnratedValue(UserPolicy config) diff --git a/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs b/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs index a60258d1a..45476d6a6 100644 --- a/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs +++ b/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs @@ -68,7 +68,7 @@ namespace MediaBrowser.Controller.Entities.Audio /// Gets the user data key. /// /// System.String. - public override string GetUserDataKey() + protected override string CreateUserDataKey() { return GetUserDataKey(this); } diff --git a/MediaBrowser.Controller/Entities/Audio/MusicGenre.cs b/MediaBrowser.Controller/Entities/Audio/MusicGenre.cs index 928eb6463..ad2d39c79 100644 --- a/MediaBrowser.Controller/Entities/Audio/MusicGenre.cs +++ b/MediaBrowser.Controller/Entities/Audio/MusicGenre.cs @@ -14,7 +14,7 @@ namespace MediaBrowser.Controller.Entities.Audio /// Gets the user data key. /// /// System.String. - public override string GetUserDataKey() + protected override string CreateUserDataKey() { return "MusicGenre-" + Name; } diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index 2be4f99e9..234a33d78 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -359,7 +359,7 @@ namespace MediaBrowser.Controller.Entities { get { - if (!string.IsNullOrEmpty(ForcedSortName)) + if (!string.IsNullOrWhiteSpace(ForcedSortName)) { return ForcedSortName; } @@ -887,11 +887,22 @@ namespace MediaBrowser.Controller.Entities get { return null; } } + private string _userDataKey; /// /// Gets the user data key. /// /// System.String. - public virtual string GetUserDataKey() + public string GetUserDataKey() + { + if (!string.IsNullOrWhiteSpace(_userDataKey)) + { + return _userDataKey; + } + + return _userDataKey ?? (_userDataKey = CreateUserDataKey()); + } + + protected virtual string CreateUserDataKey() { return Id.ToString(); } @@ -1701,6 +1712,9 @@ namespace MediaBrowser.Controller.Entities /// public virtual bool BeforeMetadataRefresh() { + _userDataKey = null; + _sortName = null; + var hasChanges = false; if (string.IsNullOrEmpty(Name) && !string.IsNullOrEmpty(Path)) diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index ff6e8e85b..dd3d145a0 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -807,7 +807,7 @@ namespace MediaBrowser.Controller.Entities protected QueryResult SortAndFilter(IEnumerable items, InternalItemsQuery query) { - return UserViewBuilder.SortAndFilter(items, this, null, query, LibraryManager, UserDataManager); + return UserViewBuilder.FilterAndSort(items, this, null, query, LibraryManager, UserDataManager); } /// diff --git a/MediaBrowser.Controller/Entities/Game.cs b/MediaBrowser.Controller/Entities/Game.cs index bf32d3e63..71642ea90 100644 --- a/MediaBrowser.Controller/Entities/Game.cs +++ b/MediaBrowser.Controller/Entities/Game.cs @@ -88,7 +88,7 @@ namespace MediaBrowser.Controller.Entities /// public List MultiPartGameFiles { get; set; } - public override string GetUserDataKey() + protected override string CreateUserDataKey() { var id = this.GetProviderId(MetadataProviders.Gamesdb); @@ -96,7 +96,7 @@ namespace MediaBrowser.Controller.Entities { return "Game-Gamesdb-" + id; } - return base.GetUserDataKey(); + return base.CreateUserDataKey(); } public override IEnumerable GetDeletePaths() diff --git a/MediaBrowser.Controller/Entities/GameGenre.cs b/MediaBrowser.Controller/Entities/GameGenre.cs index 825468954..16ca6e70a 100644 --- a/MediaBrowser.Controller/Entities/GameGenre.cs +++ b/MediaBrowser.Controller/Entities/GameGenre.cs @@ -10,7 +10,7 @@ namespace MediaBrowser.Controller.Entities /// Gets the user data key. /// /// System.String. - public override string GetUserDataKey() + protected override string CreateUserDataKey() { return "GameGenre-" + Name; } diff --git a/MediaBrowser.Controller/Entities/GameSystem.cs b/MediaBrowser.Controller/Entities/GameSystem.cs index 758498977..cf6916763 100644 --- a/MediaBrowser.Controller/Entities/GameSystem.cs +++ b/MediaBrowser.Controller/Entities/GameSystem.cs @@ -35,13 +35,13 @@ namespace MediaBrowser.Controller.Entities /// Gets the user data key. /// /// System.String. - public override string GetUserDataKey() + protected override string CreateUserDataKey() { if (!string.IsNullOrEmpty(GameSystemName)) { return "GameSystem-" + GameSystemName; } - return base.GetUserDataKey(); + return base.CreateUserDataKey(); } protected override bool GetBlockUnratedValue(UserPolicy config) diff --git a/MediaBrowser.Controller/Entities/Genre.cs b/MediaBrowser.Controller/Entities/Genre.cs index 05442f2b7..da5569afc 100644 --- a/MediaBrowser.Controller/Entities/Genre.cs +++ b/MediaBrowser.Controller/Entities/Genre.cs @@ -14,7 +14,7 @@ namespace MediaBrowser.Controller.Entities /// Gets the user data key. /// /// System.String. - public override string GetUserDataKey() + protected override string CreateUserDataKey() { return "Genre-" + Name; } diff --git a/MediaBrowser.Controller/Entities/Movies/Movie.cs b/MediaBrowser.Controller/Entities/Movies/Movie.cs index 2fa5fc6e1..cfe008bd7 100644 --- a/MediaBrowser.Controller/Entities/Movies/Movie.cs +++ b/MediaBrowser.Controller/Entities/Movies/Movie.cs @@ -100,9 +100,9 @@ namespace MediaBrowser.Controller.Entities.Movies /// Gets the user data key. /// /// System.String. - public override string GetUserDataKey() + protected override string CreateUserDataKey() { - return this.GetProviderId(MetadataProviders.Tmdb) ?? this.GetProviderId(MetadataProviders.Imdb) ?? base.GetUserDataKey(); + return this.GetProviderId(MetadataProviders.Tmdb) ?? this.GetProviderId(MetadataProviders.Imdb) ?? base.CreateUserDataKey(); } protected override async Task RefreshedOwnedItems(MetadataRefreshOptions options, List fileSystemChildren, CancellationToken cancellationToken) diff --git a/MediaBrowser.Controller/Entities/MusicVideo.cs b/MediaBrowser.Controller/Entities/MusicVideo.cs index 4ca8cf1c5..771c62fd6 100644 --- a/MediaBrowser.Controller/Entities/MusicVideo.cs +++ b/MediaBrowser.Controller/Entities/MusicVideo.cs @@ -47,21 +47,6 @@ namespace MediaBrowser.Controller.Entities } } - /// - /// TODO: Remove - /// - public string Artist - { - get { return Artists.FirstOrDefault(); } - set - { - if (!string.IsNullOrEmpty(value) && !Artists.Contains(value, StringComparer.OrdinalIgnoreCase)) - { - Artists.Add(value); - } - } - } - /// /// Determines whether the specified name has artist. /// @@ -76,9 +61,9 @@ namespace MediaBrowser.Controller.Entities /// Gets the user data key. /// /// System.String. - public override string GetUserDataKey() + protected override string CreateUserDataKey() { - return this.GetProviderId(MetadataProviders.Tmdb) ?? this.GetProviderId(MetadataProviders.Imdb) ?? base.GetUserDataKey(); + return this.GetProviderId(MetadataProviders.Tmdb) ?? this.GetProviderId(MetadataProviders.Imdb) ?? base.CreateUserDataKey(); } protected override bool GetBlockUnratedValue(UserPolicy config) diff --git a/MediaBrowser.Controller/Entities/Person.cs b/MediaBrowser.Controller/Entities/Person.cs index fe8d61836..6d256e81c 100644 --- a/MediaBrowser.Controller/Entities/Person.cs +++ b/MediaBrowser.Controller/Entities/Person.cs @@ -20,7 +20,7 @@ namespace MediaBrowser.Controller.Entities /// Gets the user data key. /// /// System.String. - public override string GetUserDataKey() + protected override string CreateUserDataKey() { return "Person-" + Name; } diff --git a/MediaBrowser.Controller/Entities/Studio.cs b/MediaBrowser.Controller/Entities/Studio.cs index 0d934ad0a..58d46facc 100644 --- a/MediaBrowser.Controller/Entities/Studio.cs +++ b/MediaBrowser.Controller/Entities/Studio.cs @@ -20,7 +20,7 @@ namespace MediaBrowser.Controller.Entities /// Gets the user data key. /// /// System.String. - public override string GetUserDataKey() + protected override string CreateUserDataKey() { return "Studio-" + Name; } diff --git a/MediaBrowser.Controller/Entities/TV/Episode.cs b/MediaBrowser.Controller/Entities/TV/Episode.cs index 6b67cebc8..a2731f6df 100644 --- a/MediaBrowser.Controller/Entities/TV/Episode.cs +++ b/MediaBrowser.Controller/Entities/TV/Episode.cs @@ -117,7 +117,7 @@ namespace MediaBrowser.Controller.Entities.TV /// Gets the user data key. /// /// System.String. - public override string GetUserDataKey() + protected override string CreateUserDataKey() { var series = Series; @@ -126,7 +126,7 @@ namespace MediaBrowser.Controller.Entities.TV return series.GetUserDataKey() + ParentIndexNumber.Value.ToString("000") + IndexNumber.Value.ToString("000"); } - return base.GetUserDataKey(); + return base.CreateUserDataKey(); } /// diff --git a/MediaBrowser.Controller/Entities/TV/Season.cs b/MediaBrowser.Controller/Entities/TV/Season.cs index 54db12b6f..61d0aec60 100644 --- a/MediaBrowser.Controller/Entities/TV/Season.cs +++ b/MediaBrowser.Controller/Entities/TV/Season.cs @@ -92,7 +92,7 @@ namespace MediaBrowser.Controller.Entities.TV /// Gets the user data key. /// /// System.String. - public override string GetUserDataKey() + protected override string CreateUserDataKey() { if (Series != null) { @@ -100,7 +100,7 @@ namespace MediaBrowser.Controller.Entities.TV return Series.GetUserDataKey() + seasonNo.ToString("000"); } - return base.GetUserDataKey(); + return base.CreateUserDataKey(); } /// diff --git a/MediaBrowser.Controller/Entities/TV/Series.cs b/MediaBrowser.Controller/Entities/TV/Series.cs index 55cfffeb2..0ec9121f3 100644 --- a/MediaBrowser.Controller/Entities/TV/Series.cs +++ b/MediaBrowser.Controller/Entities/TV/Series.cs @@ -117,9 +117,9 @@ namespace MediaBrowser.Controller.Entities.TV /// Gets the user data key. /// /// System.String. - public override string GetUserDataKey() + protected override string CreateUserDataKey() { - return this.GetProviderId(MetadataProviders.Tvdb) ?? this.GetProviderId(MetadataProviders.Tvcom) ?? base.GetUserDataKey(); + return this.GetProviderId(MetadataProviders.Tvdb) ?? this.GetProviderId(MetadataProviders.Tvcom) ?? base.CreateUserDataKey(); } /// diff --git a/MediaBrowser.Controller/Entities/Trailer.cs b/MediaBrowser.Controller/Entities/Trailer.cs index 7a1eef8db..72e3640f2 100644 --- a/MediaBrowser.Controller/Entities/Trailer.cs +++ b/MediaBrowser.Controller/Entities/Trailer.cs @@ -79,7 +79,7 @@ namespace MediaBrowser.Controller.Entities } } - public override string GetUserDataKey() + protected override string CreateUserDataKey() { var key = this.GetProviderId(MetadataProviders.Imdb) ?? this.GetProviderId(MetadataProviders.Tmdb); @@ -96,7 +96,7 @@ namespace MediaBrowser.Controller.Entities return key; } - return base.GetUserDataKey(); + return base.CreateUserDataKey(); } protected override bool GetBlockUnratedValue(UserPolicy config) diff --git a/MediaBrowser.Controller/Entities/UserViewBuilder.cs b/MediaBrowser.Controller/Entities/UserViewBuilder.cs index deb85ed6a..ac8be37d4 100644 --- a/MediaBrowser.Controller/Entities/UserViewBuilder.cs +++ b/MediaBrowser.Controller/Entities/UserViewBuilder.cs @@ -18,6 +18,7 @@ using System.IO; using System.Linq; using System.Threading; using System.Threading.Tasks; +using MoreLinq; namespace MediaBrowser.Controller.Entities { @@ -412,7 +413,19 @@ namespace MediaBrowser.Controller.Entities { if (query.Recursive) { - return GetResult(GetRecursiveChildren(parent, user, new[] { CollectionType.Movies, CollectionType.BoxSets, string.Empty }).Where(i => i is Movie || i is BoxSet), parent, query); + var recursiveItems = GetRecursiveChildren(parent, user, + new[] {CollectionType.Movies, CollectionType.BoxSets, string.Empty}) + .Where(i => i is Movie || i is BoxSet); + + //var collections = _collectionManager.CollapseItemsWithinBoxSets(recursiveItems, user).ToList(); + + //if (collections.Count > 0) + //{ + // recursiveItems.AddRange(_collectionManager.CollapseItemsWithinBoxSets(recursiveItems, user)); + // recursiveItems = recursiveItems.DistinctBy(i => i.Id).ToList(); + //} + + return GetResult(recursiveItems, parent, query); } var list = new List(); @@ -744,10 +757,10 @@ namespace MediaBrowser.Controller.Entities InternalItemsQuery query) where T : BaseItem { - return SortAndFilter(items, queryParent, totalRecordLimit, query, _libraryManager, _userDataManager); + return FilterAndSort(items, queryParent, totalRecordLimit, query, _libraryManager, _userDataManager); } - public static QueryResult SortAndFilter(IEnumerable items, + public static QueryResult FilterAndSort(IEnumerable items, BaseItem queryParent, int? totalRecordLimit, InternalItemsQuery query, diff --git a/MediaBrowser.Controller/Entities/Year.cs b/MediaBrowser.Controller/Entities/Year.cs index 8deb930e8..11b0ce3d2 100644 --- a/MediaBrowser.Controller/Entities/Year.cs +++ b/MediaBrowser.Controller/Entities/Year.cs @@ -13,7 +13,7 @@ namespace MediaBrowser.Controller.Entities /// Gets the user data key. /// /// System.String. - public override string GetUserDataKey() + protected override string CreateUserDataKey() { return "Year-" + Name; } diff --git a/MediaBrowser.Controller/LiveTv/LiveTvAudioRecording.cs b/MediaBrowser.Controller/LiveTv/LiveTvAudioRecording.cs index f29204689..5cfdb5dbf 100644 --- a/MediaBrowser.Controller/LiveTv/LiveTvAudioRecording.cs +++ b/MediaBrowser.Controller/LiveTv/LiveTvAudioRecording.cs @@ -12,7 +12,7 @@ namespace MediaBrowser.Controller.LiveTv /// Gets the user data key. /// /// System.String. - public override string GetUserDataKey() + protected override string CreateUserDataKey() { var name = GetClientTypeName(); diff --git a/MediaBrowser.Controller/LiveTv/LiveTvChannel.cs b/MediaBrowser.Controller/LiveTv/LiveTvChannel.cs index b4b9fa77b..72b497026 100644 --- a/MediaBrowser.Controller/LiveTv/LiveTvChannel.cs +++ b/MediaBrowser.Controller/LiveTv/LiveTvChannel.cs @@ -16,7 +16,7 @@ namespace MediaBrowser.Controller.LiveTv /// Gets the user data key. /// /// System.String. - public override string GetUserDataKey() + protected override string CreateUserDataKey() { return GetClientTypeName() + "-" + Name; } diff --git a/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs b/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs index 74cf950d4..6308a71dc 100644 --- a/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs +++ b/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs @@ -16,7 +16,7 @@ namespace MediaBrowser.Controller.LiveTv /// Gets the user data key. /// /// System.String. - public override string GetUserDataKey() + protected override string CreateUserDataKey() { return GetClientTypeName() + "-" + Name; } diff --git a/MediaBrowser.Controller/LiveTv/LiveTvVideoRecording.cs b/MediaBrowser.Controller/LiveTv/LiveTvVideoRecording.cs index 91edc06c1..098400b50 100644 --- a/MediaBrowser.Controller/LiveTv/LiveTvVideoRecording.cs +++ b/MediaBrowser.Controller/LiveTv/LiveTvVideoRecording.cs @@ -12,7 +12,7 @@ namespace MediaBrowser.Controller.LiveTv /// Gets the user data key. /// /// System.String. - public override string GetUserDataKey() + protected override string CreateUserDataKey() { var name = GetClientTypeName(); diff --git a/MediaBrowser.Providers/Manager/MetadataService.cs b/MediaBrowser.Providers/Manager/MetadataService.cs index f55eddfcf..fc329d64c 100644 --- a/MediaBrowser.Providers/Manager/MetadataService.cs +++ b/MediaBrowser.Providers/Manager/MetadataService.cs @@ -437,8 +437,7 @@ namespace MediaBrowser.Providers.Manager localProviders.Count == 0 && refreshResult.UpdateType > ItemUpdateType.None) { - // TODO: If the new metadata from above has some blank data, this - // can cause old data to get filled into those empty fields + // TODO: If the new metadata from above has some blank data, this can cause old data to get filled into those empty fields MergeData(item, temp, new List(), false, true); } diff --git a/MediaBrowser.Server.Implementations/Collections/ManualCollectionsFolder.cs b/MediaBrowser.Server.Implementations/Collections/ManualCollectionsFolder.cs index fa4de728b..bbe37cb50 100644 --- a/MediaBrowser.Server.Implementations/Collections/ManualCollectionsFolder.cs +++ b/MediaBrowser.Server.Implementations/Collections/ManualCollectionsFolder.cs @@ -1,4 +1,5 @@ using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Entities.Movies; using System.Linq; namespace MediaBrowser.Server.Implementations.Collections @@ -14,7 +15,8 @@ namespace MediaBrowser.Server.Implementations.Collections public override bool IsVisible(User user) { return base.IsVisible(user) && GetChildren(user, false) - .Any(); + .OfType() + .Any(i => i.IsVisible(user)); } public override bool IsHidden diff --git a/MediaBrowser.Server.Implementations/FileOrganization/NameUtils.cs b/MediaBrowser.Server.Implementations/FileOrganization/NameUtils.cs index 795be1e2f..624133d4f 100644 --- a/MediaBrowser.Server.Implementations/FileOrganization/NameUtils.cs +++ b/MediaBrowser.Server.Implementations/FileOrganization/NameUtils.cs @@ -54,9 +54,6 @@ namespace MediaBrowser.Server.Implementations.FileOrganization private static string GetComparableName(string name) { - // TODO: Improve this - should ignore spaces, periods, underscores, most likely all symbols and - // possibly remove sorting words like "the", "and", etc. - name = RemoveDiacritics(name); name = " " + name + " "; diff --git a/MediaBrowser.Server.Implementations/Library/UserViewManager.cs b/MediaBrowser.Server.Implementations/Library/UserViewManager.cs index bd0f44adc..d8c5f85c0 100644 --- a/MediaBrowser.Server.Implementations/Library/UserViewManager.cs +++ b/MediaBrowser.Server.Implementations/Library/UserViewManager.cs @@ -88,24 +88,10 @@ namespace MediaBrowser.Server.Implementations.Library list.Add(await GetUserView(CollectionType.Games, string.Empty, cancellationToken).ConfigureAwait(false)); } - if (user.Configuration.DisplayCollectionsView) + if (foldersWithViewTypes.Any(i => string.Equals(i.CollectionType, CollectionType.BoxSets, StringComparison.OrdinalIgnoreCase))) { - bool showCollectionView; - if (_config.Configuration.EnableLegacyCollections) - { - showCollectionView = folders - .Except(standaloneFolders) - .SelectMany(i => i.GetRecursiveChildren(user, false)).OfType().Any(); - } - else - { - showCollectionView = _collectionManager.GetCollections(user).Any(); - } - - if (showCollectionView) - { - list.Add(await GetUserView(CollectionType.BoxSets, string.Empty, cancellationToken).ConfigureAwait(false)); - } + //list.Add(_collectionManager.GetCollectionsFolder(user.Id.ToString("N"))); + list.Add(await GetUserView(CollectionType.BoxSets, string.Empty, cancellationToken).ConfigureAwait(false)); } if (foldersWithViewTypes.Any(i => string.Equals(i.CollectionType, CollectionType.Playlists, StringComparison.OrdinalIgnoreCase))) diff --git a/MediaBrowser.Server.Implementations/Localization/Server/server.json b/MediaBrowser.Server.Implementations/Localization/Server/server.json index 34a0b327d..15bc62412 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/server.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/server.json @@ -55,6 +55,8 @@ "HeaderAudio": "Audio", "HeaderVideo": "Video", "HeaderPaths": "Paths", + "HeaderSyncRequiresSupporterMembership": "Sync Requires a Supporter Membership", + "HeaderEnjoyDayTrial": "Enjoy a 14 Day Free Trial", "LabelSyncTempPath": "Temporary file path:", "LabelSyncTempPathHelp": "Specify a custom sync working folder. Converted media created during the sync process will be stored here.", "LabelCustomCertificatePath": "Custom certificate path:", diff --git a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj index e95bd6503..30384d1ff 100644 --- a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj +++ b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj @@ -306,6 +306,7 @@ + diff --git a/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs b/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs index 716584084..b926ee338 100644 --- a/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs +++ b/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs @@ -90,7 +90,7 @@ namespace MediaBrowser.Server.Implementations.Sync continue; } - var index = jobItems.Count == 0 ? + var index = jobItems.Count == 0 ? 0 : (jobItems.Select(i => i.JobItemIndex).Max() + 1); @@ -348,10 +348,20 @@ namespace MediaBrowser.Server.Implementations.Sync private void CleanDeadSyncFiles() { // TODO + // Clean files in sync temp folder that are not linked to any sync jobs } public async Task SyncJobItems(SyncJobItem[] items, bool enableConversion, IProgress progress, CancellationToken cancellationToken) { + if (items.Length > 0) + { + if (!SyncRegistrationInfo.Instance.IsRegistered) + { + _logger.Debug("Cancelling sync job processing. Please obtain a supporter membership."); + return; + } + } + var numComplete = 0; foreach (var item in items) diff --git a/MediaBrowser.Server.Implementations/Sync/SyncRegistrationInfo.cs b/MediaBrowser.Server.Implementations/Sync/SyncRegistrationInfo.cs new file mode 100644 index 000000000..40b84b1c2 --- /dev/null +++ b/MediaBrowser.Server.Implementations/Sync/SyncRegistrationInfo.cs @@ -0,0 +1,31 @@ +using MediaBrowser.Common.Security; +using System.Threading.Tasks; + +namespace MediaBrowser.Server.Implementations.Sync +{ + public class SyncRegistrationInfo : IRequiresRegistration + { + private readonly ISecurityManager _securityManager; + + public static SyncRegistrationInfo Instance; + + public SyncRegistrationInfo(ISecurityManager securityManager) + { + _securityManager = securityManager; + Instance = this; + } + + private bool _registered; + public bool IsRegistered + { + get { return _registered; } + } + + public async Task LoadRegistrationInfoAsync() + { + var info = await _securityManager.GetRegistrationStatus("sync").ConfigureAwait(false); + + _registered = info.IsValid; + } + } +} diff --git a/Nuget/MediaBrowser.Common.Internal.nuspec b/Nuget/MediaBrowser.Common.Internal.nuspec index 6de880179..1a7dc626a 100644 --- a/Nuget/MediaBrowser.Common.Internal.nuspec +++ b/Nuget/MediaBrowser.Common.Internal.nuspec @@ -2,7 +2,7 @@ MediaBrowser.Common.Internal - 3.0.545 + 3.0.546 MediaBrowser.Common.Internal Luke ebr,Luke,scottisafool @@ -12,7 +12,7 @@ Contains common components shared by Media Browser Theater and Media Browser Server. Not intended for plugin developer consumption. Copyright © Media Browser 2013 - + diff --git a/Nuget/MediaBrowser.Common.nuspec b/Nuget/MediaBrowser.Common.nuspec index 94445107e..3eb6621b3 100644 --- a/Nuget/MediaBrowser.Common.nuspec +++ b/Nuget/MediaBrowser.Common.nuspec @@ -2,7 +2,7 @@ MediaBrowser.Common - 3.0.545 + 3.0.546 MediaBrowser.Common Media Browser Team ebr,Luke,scottisafool diff --git a/Nuget/MediaBrowser.Model.Signed.nuspec b/Nuget/MediaBrowser.Model.Signed.nuspec index c441d3b63..f73b375a2 100644 --- a/Nuget/MediaBrowser.Model.Signed.nuspec +++ b/Nuget/MediaBrowser.Model.Signed.nuspec @@ -2,7 +2,7 @@ MediaBrowser.Model.Signed - 3.0.545 + 3.0.546 MediaBrowser.Model - Signed Edition Media Browser Team ebr,Luke,scottisafool diff --git a/Nuget/MediaBrowser.Server.Core.nuspec b/Nuget/MediaBrowser.Server.Core.nuspec index 5409d970d..451a37654 100644 --- a/Nuget/MediaBrowser.Server.Core.nuspec +++ b/Nuget/MediaBrowser.Server.Core.nuspec @@ -2,7 +2,7 @@ MediaBrowser.Server.Core - 3.0.545 + 3.0.546 Media Browser.Server.Core Media Browser Team ebr,Luke,scottisafool @@ -12,7 +12,7 @@ Contains core components required to build plugins for Media Browser Server. Copyright © Media Browser 2013 - + -- cgit v1.2.3 From dfba7118430507359fa103d415e8043cbd10c10c Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 31 Jan 2015 15:02:17 -0500 Subject: update naming project --- .../MediaBrowser.Server.Implementations.csproj | 6 ++-- .../packages.config | 2 +- .../MediaBrowser.WebDashboard.csproj | 5 ++- MediaBrowser.WebDashboard/app.config | 36 ---------------------- MediaBrowser.WebDashboard/packages.config | 2 +- Nuget/MediaBrowser.Common.Internal.nuspec | 4 +-- Nuget/MediaBrowser.Common.nuspec | 2 +- Nuget/MediaBrowser.Model.Signed.nuspec | 2 +- Nuget/MediaBrowser.Server.Core.nuspec | 4 +-- 9 files changed, 13 insertions(+), 50 deletions(-) delete mode 100644 MediaBrowser.WebDashboard/app.config (limited to 'MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj') diff --git a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj index 30384d1ff..26e6d89cd 100644 --- a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj +++ b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj @@ -49,9 +49,9 @@ False ..\ThirdParty\libwebp\Imazen.WebP.dll - - ..\packages\MediaBrowser.Naming.1.0.0.30\lib\portable-net45+sl4+wp71+win8+wpa81\MediaBrowser.Naming.dll - True + + False + ..\packages\MediaBrowser.Naming.1.0.0.31\lib\portable-net45+sl4+wp71+win8+wpa81\MediaBrowser.Naming.dll False diff --git a/MediaBrowser.Server.Implementations/packages.config b/MediaBrowser.Server.Implementations/packages.config index d9e19e0d8..ec7e1b11c 100644 --- a/MediaBrowser.Server.Implementations/packages.config +++ b/MediaBrowser.Server.Implementations/packages.config @@ -1,6 +1,6 @@  - + diff --git a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj index 0072ba257..2884a7cd0 100644 --- a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj +++ b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj @@ -57,9 +57,9 @@ ..\ThirdParty\ServiceStack\ServiceStack.Interfaces.dll - + False - ..\packages\WebMarkupMin.Core.0.9.9\lib\net40\WebMarkupMin.Core.dll + ..\packages\WebMarkupMin.Core.0.9.11\lib\net40\WebMarkupMin.Core.dll @@ -2237,7 +2237,6 @@ - PreserveNewest diff --git a/MediaBrowser.WebDashboard/app.config b/MediaBrowser.WebDashboard/app.config deleted file mode 100644 index 7e2967809..000000000 --- a/MediaBrowser.WebDashboard/app.config +++ /dev/null @@ -1,36 +0,0 @@ - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/packages.config b/MediaBrowser.WebDashboard/packages.config index a7cbac285..aed67fb69 100644 --- a/MediaBrowser.WebDashboard/packages.config +++ b/MediaBrowser.WebDashboard/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/Nuget/MediaBrowser.Common.Internal.nuspec b/Nuget/MediaBrowser.Common.Internal.nuspec index ff6e92c6b..271bc7864 100644 --- a/Nuget/MediaBrowser.Common.Internal.nuspec +++ b/Nuget/MediaBrowser.Common.Internal.nuspec @@ -2,7 +2,7 @@ MediaBrowser.Common.Internal - 3.0.550 + 3.0.551 MediaBrowser.Common.Internal Luke ebr,Luke,scottisafool @@ -12,7 +12,7 @@ Contains common components shared by Media Browser Theater and Media Browser Server. Not intended for plugin developer consumption. Copyright © Media Browser 2013 - + diff --git a/Nuget/MediaBrowser.Common.nuspec b/Nuget/MediaBrowser.Common.nuspec index ea08142be..31d2c918c 100644 --- a/Nuget/MediaBrowser.Common.nuspec +++ b/Nuget/MediaBrowser.Common.nuspec @@ -2,7 +2,7 @@ MediaBrowser.Common - 3.0.550 + 3.0.551 MediaBrowser.Common Media Browser Team ebr,Luke,scottisafool diff --git a/Nuget/MediaBrowser.Model.Signed.nuspec b/Nuget/MediaBrowser.Model.Signed.nuspec index a420f4eae..e202c66fa 100644 --- a/Nuget/MediaBrowser.Model.Signed.nuspec +++ b/Nuget/MediaBrowser.Model.Signed.nuspec @@ -2,7 +2,7 @@ MediaBrowser.Model.Signed - 3.0.550 + 3.0.551 MediaBrowser.Model - Signed Edition Media Browser Team ebr,Luke,scottisafool diff --git a/Nuget/MediaBrowser.Server.Core.nuspec b/Nuget/MediaBrowser.Server.Core.nuspec index bf8c18ad8..34df8a854 100644 --- a/Nuget/MediaBrowser.Server.Core.nuspec +++ b/Nuget/MediaBrowser.Server.Core.nuspec @@ -2,7 +2,7 @@ MediaBrowser.Server.Core - 3.0.550 + 3.0.551 Media Browser.Server.Core Media Browser Team ebr,Luke,scottisafool @@ -12,7 +12,7 @@ Contains core components required to build plugins for Media Browser Server. Copyright © Media Browser 2013 - + -- cgit v1.2.3 From fc60d37a8db488c3764be07aa13626cf5f2f551d Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 31 Jan 2015 15:28:18 -0500 Subject: update naming project --- .../MediaBrowser.Server.Implementations.csproj | 4 ++-- MediaBrowser.Server.Implementations/packages.config | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj') diff --git a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj index 26e6d89cd..f63b37c09 100644 --- a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj +++ b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj @@ -49,9 +49,9 @@ False ..\ThirdParty\libwebp\Imazen.WebP.dll - + False - ..\packages\MediaBrowser.Naming.1.0.0.31\lib\portable-net45+sl4+wp71+win8+wpa81\MediaBrowser.Naming.dll + ..\packages\MediaBrowser.Naming.1.0.0.32\lib\portable-net45+sl4+wp71+win8+wpa81\MediaBrowser.Naming.dll False diff --git a/MediaBrowser.Server.Implementations/packages.config b/MediaBrowser.Server.Implementations/packages.config index ec7e1b11c..55023c565 100644 --- a/MediaBrowser.Server.Implementations/packages.config +++ b/MediaBrowser.Server.Implementations/packages.config @@ -1,6 +1,6 @@  - + -- cgit v1.2.3 From 7d415fc2fd8c76ba25c2bdb40347d1e0d17ad99f Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 5 Feb 2015 00:29:37 -0500 Subject: some initial work on cloud sync --- MediaBrowser.Api/Sync/SyncService.cs | 5 +- MediaBrowser.Controller/Entities/Folder.cs | 13 +- MediaBrowser.Controller/Entities/TV/Season.cs | 8 +- MediaBrowser.Controller/Entities/TV/Series.cs | 8 +- .../Localization/BaseStrings.cs | 287 --------------------- .../Localization/LocalizedStringData.cs | 51 ---- .../Localization/LocalizedStrings.cs | 166 ------------ .../MediaBrowser.Controller.csproj | 4 +- .../Sync/IServerSyncProvider.cs | 52 ++++ MediaBrowser.Controller/Sync/ISyncManager.cs | 14 + MediaBrowser.Dlna/PlayTo/PlaylistItemFactory.cs | 1 + MediaBrowser.Model/Dlna/StreamBuilder.cs | 37 +-- MediaBrowser.Model/Dlna/StreamInfo.cs | 17 +- .../Localization/Server/server.json | 1 - .../MediaBrowser.Server.Implementations.csproj | 1 + .../Sync/CloudSyncProvider.cs | 25 +- .../Sync/MediaSync.cs | 174 +++++++++++++ .../Sync/SyncManager.cs | 26 ++ .../ApplicationHost.cs | 11 - 19 files changed, 333 insertions(+), 568 deletions(-) delete mode 100644 MediaBrowser.Controller/Localization/BaseStrings.cs delete mode 100644 MediaBrowser.Controller/Localization/LocalizedStringData.cs delete mode 100644 MediaBrowser.Controller/Localization/LocalizedStrings.cs create mode 100644 MediaBrowser.Controller/Sync/IServerSyncProvider.cs create mode 100644 MediaBrowser.Server.Implementations/Sync/MediaSync.cs (limited to 'MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj') diff --git a/MediaBrowser.Api/Sync/SyncService.cs b/MediaBrowser.Api/Sync/SyncService.cs index 13c716136..094f056bd 100644 --- a/MediaBrowser.Api/Sync/SyncService.cs +++ b/MediaBrowser.Api/Sync/SyncService.cs @@ -211,6 +211,9 @@ namespace MediaBrowser.Api.Sync throw new ArgumentException("The job item is not yet ready for transfer."); } + var task = _syncManager.ReportSyncJobItemTransferBeginning(request.Id); + Task.WaitAll(task); + return ToStaticFileResult(jobItem.OutputPath); } @@ -235,7 +238,7 @@ namespace MediaBrowser.Api.Sync } }; - var items = request.ItemIds.Split(new[] {','}, StringSplitOptions.RemoveEmptyEntries) + var items = request.ItemIds.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries) .Select(_libraryManager.GetItemById) .Where(i => i != null); diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index a4f8955d0..50f33f5c0 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -245,14 +245,13 @@ namespace MediaBrowser.Controller.Entities protected virtual IEnumerable GetIndexByOptions() { return new List { - {LocalizedStrings.Instance.GetString("NoneDispPref")}, - {LocalizedStrings.Instance.GetString("PerformerDispPref")}, - {LocalizedStrings.Instance.GetString("GenreDispPref")}, - {LocalizedStrings.Instance.GetString("DirectorDispPref")}, - {LocalizedStrings.Instance.GetString("YearDispPref")}, - {LocalizedStrings.Instance.GetString("StudioDispPref")} + {"None"}, + {"Performer"}, + {"Genre"}, + {"Director"}, + {"Year"}, + {"Studio"} }; - } /// diff --git a/MediaBrowser.Controller/Entities/TV/Season.cs b/MediaBrowser.Controller/Entities/TV/Season.cs index f28306661..a99b8c659 100644 --- a/MediaBrowser.Controller/Entities/TV/Season.cs +++ b/MediaBrowser.Controller/Entities/TV/Season.cs @@ -81,10 +81,10 @@ namespace MediaBrowser.Controller.Entities.TV protected override IEnumerable GetIndexByOptions() { return new List { - {LocalizedStrings.Instance.GetString("NoneDispPref")}, - {LocalizedStrings.Instance.GetString("PerformerDispPref")}, - {LocalizedStrings.Instance.GetString("DirectorDispPref")}, - {LocalizedStrings.Instance.GetString("YearDispPref")}, + {"None"}, + {"Performer"}, + {"Director"}, + {"Year"}, }; } diff --git a/MediaBrowser.Controller/Entities/TV/Series.cs b/MediaBrowser.Controller/Entities/TV/Series.cs index 8e96786d5..b2621074f 100644 --- a/MediaBrowser.Controller/Entities/TV/Series.cs +++ b/MediaBrowser.Controller/Entities/TV/Series.cs @@ -133,10 +133,10 @@ namespace MediaBrowser.Controller.Entities.TV protected override IEnumerable GetIndexByOptions() { return new List { - {LocalizedStrings.Instance.GetString("NoneDispPref")}, - {LocalizedStrings.Instance.GetString("PerformerDispPref")}, - {LocalizedStrings.Instance.GetString("DirectorDispPref")}, - {LocalizedStrings.Instance.GetString("YearDispPref")}, + {"None"}, + {"Performer"}, + {"Director"}, + {"Year"}, }; } diff --git a/MediaBrowser.Controller/Localization/BaseStrings.cs b/MediaBrowser.Controller/Localization/BaseStrings.cs deleted file mode 100644 index 22486d90d..000000000 --- a/MediaBrowser.Controller/Localization/BaseStrings.cs +++ /dev/null @@ -1,287 +0,0 @@ - -namespace MediaBrowser.Controller.Localization -{ - public class BaseStrings : LocalizedStringData - { - public BaseStrings() - { - ThisVersion = "1.0002"; - Prefix = LocalizedStrings.BasePrefix; - } - - - - //Config Panel - public string ConfigConfig = "Configuration"; - public string VersionConfig = "Version"; - public string MediaOptionsConfig = "Media Options"; - public string ThemesConfig = "Theme Options"; - public string ParentalControlConfig = "Parental Control"; - public string ContinueConfig = "Continue"; - public string ResetDefaultsConfig = "Reset Defaults"; - public string ClearCacheConfig = "Clear Cache"; - public string UnlockConfig = "Unlock"; - public string GeneralConfig = "General"; - public string EnableScreenSaverConfig = "Screen Saver"; - public string SSTimeOutConfig = "Timeout (mins)"; - public string TrackingConfig = "Tracking"; - public string AssumeWatchedIfOlderThanConfig = "Assume Played If Older Than"; - public string MetadataConfig = "Metadata"; - public string EnableInternetProvidersConfig = "Allow Internet Providers"; - public string UpdatesConfig = "Updates"; - public string AutomaticUpdatesConfig = "Check For Updates"; - public string LoggingConfig = "Logging"; - public string BetaUpdatesConfig = "Beta Updates"; - public string GlobalConfig = "Global"; - public string EnableEHSConfig = "Enable EHS"; - public string ShowClockConfig = "Show Clock"; - public string DimUnselectedPostersConfig = "Dim Unselected Posters"; - public string HideFocusFrameConfig = "Hide Focus Frame"; - public string AlwaysShowDetailsConfig = "Always Show Details"; - public string ExcludeRemoteContentInSearchesConfig = "Exclude Remote Content In Searches"; - public string EnhancedMouseSupportConfig = "Enhanced Mouse Support"; - public string ViewsConfig = "Views"; - public string PosterGridSpacingConfig = "Poster Grid Spacing"; - public string ThumbWidthSplitConfig = "Thumb Width Split"; - public string BreadcrumbCountConfig = "Breadcrumb Count"; - public string ShowFanArtonViewsConfig = "Show Fan Art on Views"; - public string ShowInitialFolderBackgroundConfig = "Show Initial Folder Background"; - public string ShowThemeBackgroundConfig = "Show Theme Background"; - public string ShowHDOverlayonPostersConfig = "Show HD Overlay on Posters"; - public string ShowIcononRemoteContentConfig = "Show Icon on Remote Content"; - public string EnableAdvancedCmdsConfig = "Enable Advanced Commands"; - public string MediaTrackingConfig = "Media Tracking"; - public string RememberFolderIndexingConfig = "Remember Folder Indexing"; - public string ShowUnwatchedCountConfig = "Show Unplayed Count"; - public string WatchedIndicatoronFoldersConfig = "Played Indicator on Folders"; - public string HighlightUnwatchedItemsConfig = "Highlight Unplayed Items"; - public string WatchedIndicatoronVideosConfig = "Played Indicator on Items"; - public string WatchedIndicatorinDetailViewConfig = "Played Indicator in Detail View"; - public string DefaultToFirstUnwatchedItemConfig = "Default To First Unplayed Item"; - public string GeneralBehaviorConfig = "General Behavior"; - public string AllowNestedMovieFoldersConfig = "Allow Nested Movie Folders"; - public string AutoEnterSingleFolderItemsConfig = "Auto Enter Single Folder Items"; - public string MultipleFileBehaviorConfig = "Multiple File Behavior"; - public string TreatMultipleFilesAsSingleMovieConfig = "Treat Multiple Files As Single Movie"; - public string MultipleFileSizeLimitConfig = "Multiple File Size Limit"; - public string MBThemeConfig = "Media Browser Theme"; - public string VisualThemeConfig = "Visual Theme"; - public string ColorSchemeConfig = "Color Scheme *"; - public string FontSizeConfig = "Font Size *"; - public string RequiresRestartConfig = "* Requires a restart to take effect."; - public string ThemeSettingsConfig = "Theme Specific Settings"; - public string ShowConfigButtonConfig = "Show Config Button"; - public string AlphaBlendingConfig = "Alpha Blending"; - public string SecurityPINConfig = "Security PIN"; - public string PCUnlockedTxtConfig = "Parental Controls are Temporarily Unlocked. You cannot change values unless you re-lock."; - public string RelockBtnConfig = "Re-Lock"; - public string EnableParentalBlocksConfig = "Enable Parental Blocks"; - public string MaxAllowedRatingConfig = "Max Allowed Rating "; - public string BlockUnratedContentConfig = "Block Unrated Content"; - public string HideBlockedContentConfig = "Hide Blocked Content"; - public string UnlockonPINEntryConfig = "Unlock on PIN Entry"; - public string UnlockPeriodHoursConfig = "Unlock Period (Hours)"; - public string EnterNewPINConfig = "Enter New PIN"; - public string RandomizeBackdropConfig = "Randomize"; - public string RotateBackdropConfig = "Rotate"; - public string UpdateLibraryConfig = "Update Library"; - public string BackdropSettingsConfig = "Backdrop Settings"; - public string BackdropRotationIntervalConfig = "Rotation Time"; - public string BackdropTransitionIntervalConfig = "Transition Time"; - public string BackdropLoadDelayConfig = "Load Delay"; - public string AutoScrollTextConfig = "Auto Scroll Overview"; - public string SortYearsAscConfig = "Sort by Year in Ascending Order"; - public string AutoValidateConfig = "Automatically Validate Items"; - public string SaveLocalMetaConfig = "Save Locally"; - public string HideEmptyFoldersConfig = "Hide Empty TV Folders"; - - - //EHS - public string RecentlyWatchedEHS = "last played"; - public string RecentlyAddedEHS = "last added"; - public string RecentlyAddedUnwatchedEHS = "last added unplayed"; - public string WatchedEHS = "Played"; - public string AddedEHS = "Added"; - public string UnwatchedEHS = "Unplayed"; - public string AddedOnEHS = "Added on"; - public string OnEHS = "on"; - public string OfEHS = "of"; - public string NoItemsEHS = "No Items To Show"; - public string VariousEHS = "(various)"; - - //Context menu - public string CloseCMenu = "Close"; - public string PlayMenuCMenu = "Play Menu"; - public string ItemMenuCMenu = "Item Menu"; - public string PlayAllCMenu = "Play All"; - public string PlayAllFromHereCMenu = "Play All From Here"; - public string ResumeCMenu = "Resume"; - public string MarkUnwatchedCMenu = "Mark Unplayed"; - public string MarkWatchedCMenu = "Mark Played"; - public string ShufflePlayCMenu = "Shuffle Play"; - - //Media Detail Page - public string GeneralDetail = "General"; - public string ActorsDetail = "Actors"; - public string ArtistsDetail = "Artists"; - public string PlayDetail = "Play"; - public string ResumeDetail = "Resume"; - public string RefreshDetail = "Refresh"; - public string PlayTrailersDetail = "Trailer"; - public string CacheDetail = "Cache 2 xml"; - public string DeleteDetail = "Delete"; - public string TMDBRatingDetail = "TMDb Rating"; - public string OutOfDetail = "out of"; - public string DirectorDetail = "Director"; - public string ComposerDetail = "Composer"; - public string HostDetail = "Host"; - public string RuntimeDetail = "Runtime"; - public string NextItemDetail = "Next"; - public string PreviousItemDetail = "Previous"; - public string FirstAiredDetail = "First aired"; - public string LastPlayedDetail = "Last played"; - public string TrackNumberDetail = "Track"; - - public string DirectedByDetail = "Directed By: "; - public string WrittenByDetail = "Written By: "; - public string ComposedByDetail = "Composed By: "; - - //Display Prefs - public string ViewDispPref = "View"; - public string ViewSearch = "Search"; - public string CoverFlowDispPref = "Cover Flow"; - public string DetailDispPref = "Detail"; - public string PosterDispPref = "Poster"; - public string ThumbDispPref = "Thumb"; - public string ThumbStripDispPref = "Thumb Strip"; - public string ShowLabelsDispPref = "Show Labels"; - public string VerticalScrollDispPref = "Vertical Scroll"; - public string UseBannersDispPref = "Use Banners"; - public string UseCoverflowDispPref = "Use Coverflow Style"; - public string ThumbSizeDispPref = "Thumb Size"; - public string NameDispPref = "Name"; - public string DateDispPref = "Date"; - public string RatingDispPref = "User Rating"; - public string OfficialRatingDispPref = "Rating"; - public string RuntimeDispPref = "Runtime"; - public string UnWatchedDispPref = "Unplayed"; - public string YearDispPref = "Year"; - public string NoneDispPref = "None"; - public string PerformerDispPref = "Performer"; - public string ActorDispPref = "Actor"; - public string GenreDispPref = "Genre"; - public string DirectorDispPref = "Director"; - public string StudioDispPref = "Studio"; - - //Dialog boxes - //public string BrokenEnvironmentDial = "Application will now close due to broken MediaCenterEnvironment object, possibly due to 5 minutes of idle time and/or running with TVPack installed."; - //public string InitialConfigDial = "Initial configuration is complete, please restart Media Browser"; - //public string DeleteMediaDial = "Are you sure you wish to delete this media item?"; - //public string DeleteMediaCapDial = "Delete Confirmation"; - //public string NotDeletedDial = "Item NOT Deleted."; - //public string NotDeletedCapDial = "Delete Cancelled by User"; - //public string NotDelInvalidPathDial = "The selected media item cannot be deleted due to an invalid path. Or you may not have sufficient access rights to perform this command."; - //public string DelFailedDial = "Delete Failed"; - //public string NotDelUnknownDial = "The selected media item cannot be deleted due to an unknown error."; - //public string NotDelTypeDial = "The selected media item cannot be deleted due to its Item-Type or you have not enabled this feature in the configuration file."; - //public string FirstTimeDial = "As this is the first time you have run Media Browser please setup the inital configuration"; - //public string FirstTimeCapDial = "Configure"; - //public string EntryPointErrorDial = "Media Browser could not launch directly into "; - //public string EntryPointErrorCapDial = "Entrypoint Error"; - //public string CriticalErrorDial = "Media Browser encountered a critical error and had to shut down: "; - //public string CriticalErrorCapDial = "Critical Error"; - //public string ClearCacheErrorDial = "An error occured during the clearing of the cache, you may wish to manually clear it from {0} before restarting Media Browser"; - //public string RestartMBDial = "Please restart Media Browser"; - //public string ClearCacheDial = "Are you sure you wish to clear the cache?\nThis will erase all cached and downloaded information and images."; - //public string ClearCacheCapDial = "Clear Cache"; - //public string CacheClearedDial = "Cache Cleared"; - //public string ResetConfigDial = "Are you sure you wish to reset all configuration to defaults?"; - //public string ResetConfigCapDial = "Reset Configuration"; - //public string ConfigResetDial = "Configuration Reset"; - //public string UpdateMBDial = "Please visit www.mediabrowser.tv/download to install the new version."; - //public string UpdateMBCapDial = "Update Available"; - //public string UpdateMBExtDial = "There is an update available for Media Browser. Please update Media Browser next time you are at your MediaCenter PC."; - //public string DLUpdateFailDial = "Media Browser will operate normally and prompt you again the next time you load it."; - //public string DLUpdateFailCapDial = "Update Download Failed"; - //public string UpdateSuccessDial = "Media Browser must now exit to apply the update. It will restart automatically when it is done"; - //public string UpdateSuccessCapDial = "Update Downloaded"; - //public string CustomErrorDial = "Customisation Error"; - //public string ConfigErrorDial = "Reset to default?"; - //public string ConfigErrorCapDial = "Error in configuration file"; - //public string ContentErrorDial = "There was a problem playing the content. Check location exists"; - //public string ContentErrorCapDial = "Content Error"; - //public string CannotMaximizeDial = "We can not maximize the window! This is a known bug with Windows 7 and TV Pack, you will have to restart Media Browser!"; - //public string IncorrectPINDial = "Incorrect PIN Entered"; - //public string ContentProtected = "Content Protected"; - //public string CantChangePINDial = "Cannot Change PIN"; - //public string LibraryUnlockedDial = "Library Temporarily Unlocked. Will Re-Lock in {0} Hour(s) or on Application Re-Start"; - //public string LibraryUnlockedCapDial = "Unlock"; - //public string PINChangedDial = "PIN Successfully Changed"; - //public string PINChangedCapDial = "PIN Change"; - //public string EnterPINToViewDial = "Please Enter PIN to View Protected Content"; - //public string EnterPINToPlayDial = "Please Enter PIN to Play Protected Content"; - //public string EnterCurrentPINDial = "Please Enter CURRENT PIN."; - //public string EnterNewPINDial = "Please Enter NEW PIN (exactly 4 digits)."; - //public string EnterPINDial = "Please Enter PIN to Unlock Library"; - //public string NoContentDial = "No Content that can be played in this context."; - //public string FontsMissingDial = "CustomFonts.mcml as been patched with missing values"; - //public string StyleMissingDial = "{0} has been patched with missing values"; - //public string ManualRefreshDial = "Library Update Started. Will proceed in the background."; - //public string ForcedRebuildDial = "Your library is currently being migrated by the service. The service will re-start when it is finished and you may then run Media Browser."; - //public string ForcedRebuildCapDial = "Library Migration"; - //public string RefreshFailedDial = "The last service refresh process failed. Please run a manual refresh from the service."; - //public string RefreshFailedCapDial = "Service Refresh Failed"; - //public string RebuildNecDial = "This version of Media Browser requires a re-build of your library. It has started automatically in the service. Some information may be incomplete until this process finishes."; - //public string MigrateNecDial = "This version of Media Browser requires a migration of your library. It has started automatically in the service. The service will restart when it is complete and you may then run Media Browser."; - //public string RebuildFailedDial = "There was an error attempting to tell the service to re-build your library. Please run the service and do a manual refresh with the cache clear options selected."; - //public string MigrateFailedDial = "There was an error attempting to tell the service to re-build your library. Please run the service and do a manual refresh with the cache clear options selected."; - //public string RefreshFolderDial = "Refresh all contents too?"; - //public string RefreshFolderCapDial = "Refresh Folder"; - - //Generic - public string Restartstr = "Restart"; - public string Errorstr = "Error"; - public string Playstr = "Play"; - public string MinutesStr = "mins"; //Minutes abbreviation - public string HoursStr = "hrs"; //Hours abbreviation - public string EndsStr = "Ends"; - public string KBsStr = "Kbps"; //Kilobytes per second - public string FrameRateStr = "fps"; //Frames per second - public string AtStr = "at"; //x at y, e.g. 1920x1080 at 25 fps - public string Rated = "Rated"; - public string Or = "Or "; - public string Lower = "Lower"; - public string Higher = "Higher"; - public string Search = "Search"; - public string Cancel = "Cancel"; - public string TitleContains = "Title Contains "; - public string Any = "Any"; - - //Search - public string IncludeNested = "Include Subfolders"; - public string UnwatchedOnly = "Include Only Unwatched"; - public string FilterByRated = "Filter by Rating"; - - //Profiler - public string WelcomeProf = "Welcome to Media Browser"; - public string ProfilerTimeProf = "{1} took {2} seconds."; - public string RefreshProf = "Refresh"; - public string SetWatchedProf = "Set Played {0}"; - public string RefreshFolderProf = "Refresh Folder and all Contents of"; - public string ClearWatchedProf = "Clear Played {0}"; - public string FullRefreshProf = "Full Library Refresh"; - public string FullValidationProf = "Full Library Validation"; - public string FastRefreshProf = "Fast Metadata refresh"; - public string SlowRefresh = "Slow Metadata refresh"; - public string ImageRefresh = "Image refresh"; - public string PluginUpdateProf = "An update is available for plug-in {0}"; - public string NoPluginUpdateProf = "No Plugin Updates Currently Available."; - public string LibraryUnLockedProf = "Library Temporarily UnLocked. Will Re-Lock in {0} Hour(s)"; - public string LibraryReLockedProf = "Library Re-Locked"; - - //Messages - public string FullRefreshMsg = "Updating Media Library..."; - public string FullRefreshFinishedMsg = "Library update complete"; - - } -} diff --git a/MediaBrowser.Controller/Localization/LocalizedStringData.cs b/MediaBrowser.Controller/Localization/LocalizedStringData.cs deleted file mode 100644 index 71200b8c8..000000000 --- a/MediaBrowser.Controller/Localization/LocalizedStringData.cs +++ /dev/null @@ -1,51 +0,0 @@ -using System.IO; -using System.Xml.Serialization; - -namespace MediaBrowser.Controller.Localization -{ - /// - /// Class LocalizedStringData - /// - public class LocalizedStringData - { - /// - /// The this version - /// - [XmlIgnore] - public string ThisVersion = "1.0000"; - /// - /// The prefix - /// - [XmlIgnore] - public string Prefix = ""; - /// - /// The file name - /// - public string FileName; //this is public so it will serialize and we know where to save ourselves - /// - /// The version - /// - public string Version = ""; //this will get saved so we can check it against us for changes - - /// - /// Saves this instance. - /// - public void Save() - { - Save(FileName); - } - - /// - /// Saves the specified file. - /// - /// The file. - public void Save(string file) - { - var xs = new XmlSerializer(GetType()); - using (var fs = new FileStream(file, FileMode.Create, FileAccess.Write, FileShare.None)) - { - xs.Serialize(fs, this); - } - } - } -} diff --git a/MediaBrowser.Controller/Localization/LocalizedStrings.cs b/MediaBrowser.Controller/Localization/LocalizedStrings.cs deleted file mode 100644 index 94ac90271..000000000 --- a/MediaBrowser.Controller/Localization/LocalizedStrings.cs +++ /dev/null @@ -1,166 +0,0 @@ -using System; -using System.Collections.Concurrent; -using System.Collections.Generic; -using System.Globalization; -using System.IO; -using System.Linq; -using System.Reflection; - -namespace MediaBrowser.Controller.Localization -{ - /// - /// Class LocalizedStrings - /// - public class LocalizedStrings - { - public static IServerApplicationPaths ApplicationPaths; - - /// - /// Gets the list of Localized string files - /// - /// The string files. - public static IEnumerable StringFiles { get; set; } - - /// - /// The base prefix - /// - public const string BasePrefix = "base-"; - /// - /// The local strings - /// - protected ConcurrentDictionary LocalStrings = new ConcurrentDictionary(); - /// - /// The _instance - /// - private static LocalizedStrings _instance; - - private readonly IServerApplicationPaths _appPaths; - - /// - /// Gets the instance. - /// - /// The instance. - public static LocalizedStrings Instance { get { return _instance ?? (_instance = new LocalizedStrings(ApplicationPaths)); } } - - /// - /// Initializes a new instance of the class. - /// - public LocalizedStrings(IServerApplicationPaths appPaths) - { - _appPaths = appPaths; - - foreach (var stringObject in StringFiles) - { - AddStringData(LoadFromFile(GetFileName(stringObject),stringObject.GetType())); - } - } - - /// - /// Gets the name of the file. - /// - /// The string object. - /// System.String. - protected string GetFileName(LocalizedStringData stringObject) - { - var path = _appPaths.LocalizationPath; - var name = Path.Combine(path, stringObject.Prefix + "strings-" + CultureInfo.CurrentCulture + ".xml"); - if (File.Exists(name)) - { - return name; - } - - name = Path.Combine(path, stringObject.Prefix + "strings-" + CultureInfo.CurrentCulture.Parent + ".xml"); - if (File.Exists(name)) - { - return name; - } - - //just return default - return Path.Combine(path, stringObject.Prefix + "strings-en.xml"); - } - - /// - /// Loads from file. - /// - /// The file. - /// The t. - /// LocalizedStringData. - protected LocalizedStringData LoadFromFile(string file, Type t) - { - return new BaseStrings {FileName = file}; - //var xs = new XmlSerializer(t); - //var strings = (LocalizedStringData)Activator.CreateInstance(t); - //strings.FileName = file; - //Logger.Info("Using String Data from {0}", file); - //if (File.Exists(file)) - //{ - // using (var fs = new FileStream(file, FileMode.Open, FileAccess.Read)) - // { - // strings = (LocalizedStringData)xs.Deserialize(fs); - // } - //} - //else - //{ - // strings.Save(); //brand new - save it - //} - - //if (strings.ThisVersion != strings.Version && file.ToLower().Contains("-en.xml")) - //{ - // //only re-save the english version as that is the one defined internally - // strings = new BaseStrings {FileName = file}; - // strings.Save(); - //} - //return strings; - - } - - /// - /// Adds the string data. - /// - /// The string data. - public void AddStringData(object stringData ) - { - //translate our object definition into a dictionary for lookups - // and a reverse dictionary so we can lookup keys by value - foreach (var field in stringData.GetType().GetFields().Where(f => f != null && f.FieldType == typeof(string))) - { - string value; - - try - { - value = field.GetValue(stringData) as string; - } - catch (TargetException) - { - //Logger.ErrorException("Error getting value for field: {0}", ex, field.Name); - continue; - } - catch (FieldAccessException) - { - //Logger.ErrorException("Error getting value for field: {0}", ex, field.Name); - continue; - } - catch (NotSupportedException) - { - //Logger.ErrorException("Error getting value for field: {0}", ex, field.Name); - continue; - } - - LocalStrings.TryAdd(field.Name, value); - } - } - - /// - /// Gets the string. - /// - /// The key. - /// System.String. - public string GetString(string key) - { - string value; - - LocalStrings.TryGetValue(key, out value); - return value; - } - } -} diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj index 238cdbc9e..27beabcc1 100644 --- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj +++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj @@ -313,9 +313,6 @@ - - - @@ -344,6 +341,7 @@ + diff --git a/MediaBrowser.Controller/Sync/IServerSyncProvider.cs b/MediaBrowser.Controller/Sync/IServerSyncProvider.cs new file mode 100644 index 000000000..175fda647 --- /dev/null +++ b/MediaBrowser.Controller/Sync/IServerSyncProvider.cs @@ -0,0 +1,52 @@ +using MediaBrowser.Model.Sync; +using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; + +namespace MediaBrowser.Controller.Sync +{ + public interface IServerSyncProvider : ISyncProvider + { + /// + /// Gets the server item ids. + /// + /// The server identifier. + /// The target. + /// The cancellation token. + /// Task<List<System.String>>. + Task> GetServerItemIds(string serverId, SyncTarget target, CancellationToken cancellationToken); + + /// + /// Removes the item. + /// + /// The server identifier. + /// The item identifier. + /// The target. + /// The cancellation token. + /// Task. + Task DeleteItem(string serverId, string itemId, SyncTarget target, CancellationToken cancellationToken); + + /// + /// Transfers the file. + /// + /// The server identifier. + /// The item identifier. + /// The path. + /// The target. + /// The cancellation token. + /// Task. + Task TransferItemFile(string serverId, string itemId, string path, SyncTarget target, CancellationToken cancellationToken); + + /// + /// Transfers the related file. + /// + /// The server identifier. + /// The item identifier. + /// The path. + /// The type. + /// The target. + /// The cancellation token. + /// Task. + Task TransferRelatedFile(string serverId, string itemId, string path, ItemFileType type, SyncTarget target, CancellationToken cancellationToken); + } +} diff --git a/MediaBrowser.Controller/Sync/ISyncManager.cs b/MediaBrowser.Controller/Sync/ISyncManager.cs index dc15a394e..4d654575e 100644 --- a/MediaBrowser.Controller/Sync/ISyncManager.cs +++ b/MediaBrowser.Controller/Sync/ISyncManager.cs @@ -167,5 +167,19 @@ namespace MediaBrowser.Controller.Sync /// The job. /// VideoOptions. VideoOptions GetVideoOptions(SyncJobItem jobItem, SyncJob job); + + /// + /// Reports the synchronize job item transfer beginning. + /// + /// The identifier. + /// Task. + Task ReportSyncJobItemTransferBeginning(string id); + + /// + /// Reports the synchronize job item transfer failed. + /// + /// The identifier. + /// Task. + Task ReportSyncJobItemTransferFailed(string id); } } diff --git a/MediaBrowser.Dlna/PlayTo/PlaylistItemFactory.cs b/MediaBrowser.Dlna/PlayTo/PlaylistItemFactory.cs index 83d7f322d..317ec0969 100644 --- a/MediaBrowser.Dlna/PlayTo/PlaylistItemFactory.cs +++ b/MediaBrowser.Dlna/PlayTo/PlaylistItemFactory.cs @@ -20,6 +20,7 @@ namespace MediaBrowser.Dlna.PlayTo { ItemId = item.Id.ToString("N"), MediaType = DlnaProfileType.Photo, + DeviceProfile = profile }, Profile = profile diff --git a/MediaBrowser.Model/Dlna/StreamBuilder.cs b/MediaBrowser.Model/Dlna/StreamBuilder.cs index 84c083997..8b929425a 100644 --- a/MediaBrowser.Model/Dlna/StreamBuilder.cs +++ b/MediaBrowser.Model/Dlna/StreamBuilder.cs @@ -108,7 +108,8 @@ namespace MediaBrowser.Model.Dlna MediaType = DlnaProfileType.Audio, MediaSource = item, RunTimeTicks = item.RunTimeTicks, - Context = options.Context + Context = options.Context, + DeviceProfile = options.Profile }; int? maxBitrateSetting = options.GetMaxBitrate(); @@ -240,7 +241,8 @@ namespace MediaBrowser.Model.Dlna MediaType = DlnaProfileType.Video, MediaSource = item, RunTimeTicks = item.RunTimeTicks, - Context = options.Context + Context = options.Context, + DeviceProfile = options.Profile }; int? audioStreamIndex = options.AudioStreamIndex ?? item.DefaultAudioStreamIndex; @@ -265,7 +267,7 @@ namespace MediaBrowser.Model.Dlna if (subtitleStream != null) { - SubtitleProfile subtitleProfile = GetSubtitleProfile(subtitleStream, options); + SubtitleProfile subtitleProfile = GetSubtitleProfile(subtitleStream, options.Profile); playlistItem.SubtitleDeliveryMethod = subtitleProfile.Method; playlistItem.SubtitleFormat = subtitleProfile.Format; @@ -290,7 +292,7 @@ namespace MediaBrowser.Model.Dlna { if (subtitleStream != null) { - SubtitleProfile subtitleProfile = GetSubtitleProfile(subtitleStream, options); + SubtitleProfile subtitleProfile = GetSubtitleProfile(subtitleStream, options.Profile); playlistItem.SubtitleDeliveryMethod = subtitleProfile.Method; playlistItem.SubtitleFormat = subtitleProfile.Format; @@ -524,7 +526,7 @@ namespace MediaBrowser.Model.Dlna { if (subtitleStream != null) { - SubtitleProfile subtitleProfile = GetSubtitleProfile(subtitleStream, options); + SubtitleProfile subtitleProfile = GetSubtitleProfile(subtitleStream, options.Profile); if (subtitleProfile.Method != SubtitleDeliveryMethod.External && subtitleProfile.Method != SubtitleDeliveryMethod.Embed) { @@ -535,10 +537,10 @@ namespace MediaBrowser.Model.Dlna return IsAudioEligibleForDirectPlay(item, maxBitrate); } - private SubtitleProfile GetSubtitleProfile(MediaStream subtitleStream, VideoOptions options) + public static SubtitleProfile GetSubtitleProfile(MediaStream subtitleStream, DeviceProfile deviceProfile) { // Look for an external profile that matches the stream type (text/graphical) - foreach (SubtitleProfile profile in options.Profile.SubtitleProfiles) + foreach (SubtitleProfile profile in deviceProfile.SubtitleProfiles) { if (profile.Method == SubtitleDeliveryMethod.External && subtitleStream.IsTextSubtitleStream == MediaStream.IsTextFormat(profile.Format)) { @@ -546,13 +548,11 @@ namespace MediaBrowser.Model.Dlna } } - if (subtitleStream.IsTextSubtitleStream) + foreach (SubtitleProfile profile in deviceProfile.SubtitleProfiles) { - SubtitleProfile embedProfile = GetSubtitleProfile(options.Profile.SubtitleProfiles, SubtitleDeliveryMethod.Embed); - - if (embedProfile != null) + if (profile.Method == SubtitleDeliveryMethod.Embed && subtitleStream.IsTextSubtitleStream == MediaStream.IsTextFormat(profile.Format)) { - return embedProfile; + return profile; } } @@ -563,19 +563,6 @@ namespace MediaBrowser.Model.Dlna }; } - private SubtitleProfile GetSubtitleProfile(SubtitleProfile[] profiles, SubtitleDeliveryMethod method) - { - foreach (SubtitleProfile profile in profiles) - { - if (method == profile.Method) - { - return profile; - } - } - - return null; - } - private bool IsAudioEligibleForDirectPlay(MediaSourceInfo item, int? maxBitrate) { // Honor the max bitrate setting diff --git a/MediaBrowser.Model/Dlna/StreamInfo.cs b/MediaBrowser.Model/Dlna/StreamInfo.cs index acd2658a8..3c2f39b74 100644 --- a/MediaBrowser.Model/Dlna/StreamInfo.cs +++ b/MediaBrowser.Model/Dlna/StreamInfo.cs @@ -54,6 +54,7 @@ namespace MediaBrowser.Model.Dlna public float? MaxFramerate { get; set; } + public DeviceProfile DeviceProfile { get; set; } public string DeviceProfileId { get; set; } public string DeviceId { get; set; } @@ -160,11 +161,6 @@ namespace MediaBrowser.Model.Dlna List list = new List(); - if (SubtitleDeliveryMethod != SubtitleDeliveryMethod.External) - { - return list; - } - // HLS will preserve timestamps so we can just grab the full subtitle stream long startPositionTicks = StringHelper.EqualsIgnoreCase(Protocol, "hls") ? 0 @@ -175,7 +171,7 @@ namespace MediaBrowser.Model.Dlna { foreach (MediaStream stream in MediaSource.MediaStreams) { - if (stream.Type == MediaStreamType.Subtitle && stream.IsTextSubtitleStream && stream.Index == SubtitleStreamIndex.Value) + if (stream.Type == MediaStreamType.Subtitle && stream.Index == SubtitleStreamIndex.Value) { AddSubtitle(list, stream, baseUrl, startPositionTicks); } @@ -186,7 +182,7 @@ namespace MediaBrowser.Model.Dlna { foreach (MediaStream stream in MediaSource.MediaStreams) { - if (stream.Type == MediaStreamType.Subtitle && stream.IsTextSubtitleStream && (!SubtitleStreamIndex.HasValue || stream.Index != SubtitleStreamIndex.Value)) + if (stream.Type == MediaStreamType.Subtitle && (!SubtitleStreamIndex.HasValue || stream.Index != SubtitleStreamIndex.Value)) { AddSubtitle(list, stream, baseUrl, startPositionTicks); } @@ -198,6 +194,13 @@ namespace MediaBrowser.Model.Dlna private void AddSubtitle(List list, MediaStream stream, string baseUrl, long startPositionTicks) { + var subtitleProfile = StreamBuilder.GetSubtitleProfile(stream, DeviceProfile); + + if (subtitleProfile.Method != SubtitleDeliveryMethod.External) + { + return; + } + string url = string.Format("{0}/Videos/{1}/{2}/Subtitles/{3}/{4}/Stream.{5}", baseUrl, ItemId, diff --git a/MediaBrowser.Server.Implementations/Localization/Server/server.json b/MediaBrowser.Server.Implementations/Localization/Server/server.json index a3a65f538..aaf05d1ff 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/server.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/server.json @@ -614,7 +614,6 @@ "PleaseUpdateManually": "Please shutdown the server and update manually.", "NewServerVersionAvailable": "A new version of Media Browser Server is available!", "ServerUpToDate": "Media Browser Server is up to date", - "ErrorConnectingToMediaBrowserRepository": "There was an error connecting to the remote Media Browser repository.", "LabelComponentsUpdated": "The following components have been installed or updated:", "MessagePleaseRestartServerToFinishUpdating": "Please restart the server to finish applying updates.", "LabelDownMixAudioScale": "Audio boost when downmixing:", diff --git a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj index f63b37c09..0247856b2 100644 --- a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj +++ b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj @@ -306,6 +306,7 @@ + diff --git a/MediaBrowser.Server.Implementations/Sync/CloudSyncProvider.cs b/MediaBrowser.Server.Implementations/Sync/CloudSyncProvider.cs index da3ecdfa6..c48f62820 100644 --- a/MediaBrowser.Server.Implementations/Sync/CloudSyncProvider.cs +++ b/MediaBrowser.Server.Implementations/Sync/CloudSyncProvider.cs @@ -2,12 +2,15 @@ using MediaBrowser.Controller.Sync; using MediaBrowser.Model.Dlna; using MediaBrowser.Model.Sync; +using System; using System.Collections.Generic; using System.Linq; +using System.Threading; +using System.Threading.Tasks; namespace MediaBrowser.Server.Implementations.Sync { - public class CloudSyncProvider : ISyncProvider + public class CloudSyncProvider : IServerSyncProvider { private ICloudSyncProvider[] _providers = {}; @@ -35,5 +38,25 @@ namespace MediaBrowser.Server.Implementations.Sync { get { return "Cloud Sync"; } } + + public Task> GetServerItemIds(string serverId, SyncTarget target, CancellationToken cancellationToken) + { + throw new NotImplementedException(); + } + + public Task DeleteItem(string serverId, string itemId, SyncTarget target, CancellationToken cancellationToken) + { + throw new NotImplementedException(); + } + + public Task TransferItemFile(string serverId, string itemId, string path, SyncTarget target, CancellationToken cancellationToken) + { + throw new NotImplementedException(); + } + + public Task TransferRelatedFile(string serverId, string itemId, string path, ItemFileType type, SyncTarget target, CancellationToken cancellationToken) + { + throw new NotImplementedException(); + } } } diff --git a/MediaBrowser.Server.Implementations/Sync/MediaSync.cs b/MediaBrowser.Server.Implementations/Sync/MediaSync.cs new file mode 100644 index 000000000..62bc6871b --- /dev/null +++ b/MediaBrowser.Server.Implementations/Sync/MediaSync.cs @@ -0,0 +1,174 @@ +using MediaBrowser.Common.Progress; +using MediaBrowser.Controller; +using MediaBrowser.Controller.Sync; +using MediaBrowser.Model.Logging; +using MediaBrowser.Model.Sync; +using System; +using System.Threading; +using System.Threading.Tasks; + +namespace MediaBrowser.Server.Implementations.Sync +{ + public class MediaSync + { + private readonly ISyncManager _syncManager; + private readonly IServerApplicationHost _appHost; + private readonly ILogger _logger; + + public MediaSync(ILogger logger, ISyncManager syncManager, IServerApplicationHost appHost) + { + _logger = logger; + _syncManager = syncManager; + _appHost = appHost; + } + + public async Task Sync(IServerSyncProvider provider, + SyncTarget target, + IProgress progress, + CancellationToken cancellationToken) + { + var serverId = _appHost.SystemId; + + await SyncData(provider, serverId, target, cancellationToken).ConfigureAwait(false); + progress.Report(2); + + // Do the data sync twice so the server knows what was removed from the device + await SyncData(provider, serverId, target, cancellationToken).ConfigureAwait(false); + progress.Report(3); + + var innerProgress = new ActionableProgress(); + innerProgress.RegisterAction(pct => + { + var totalProgress = pct * .97; + totalProgress += 1; + progress.Report(totalProgress); + }); + await GetNewMedia(provider, target, serverId, innerProgress, cancellationToken); + progress.Report(100); + } + + private async Task SyncData(IServerSyncProvider provider, + string serverId, + SyncTarget target, + CancellationToken cancellationToken) + { + var localIds = await provider.GetServerItemIds(serverId, target, cancellationToken).ConfigureAwait(false); + + var result = await _syncManager.SyncData(new SyncDataRequest + { + TargetId = target.Id, + LocalItemIds = localIds + + }).ConfigureAwait(false); + + cancellationToken.ThrowIfCancellationRequested(); + + foreach (var itemIdToRemove in result.ItemIdsToRemove) + { + try + { + await RemoveItem(provider, serverId, itemIdToRemove, target, cancellationToken).ConfigureAwait(false); + } + catch (Exception ex) + { + _logger.ErrorException("Error deleting item from sync target. Id: {0}", ex, itemIdToRemove); + } + } + } + + private async Task GetNewMedia(IServerSyncProvider provider, + SyncTarget target, + string serverId, + IProgress progress, + CancellationToken cancellationToken) + { + var jobItems = _syncManager.GetReadySyncItems(target.Id); + + var numComplete = 0; + double startingPercent = 0; + double percentPerItem = 1; + if (jobItems.Count > 0) + { + percentPerItem /= jobItems.Count; + } + + foreach (var jobItem in jobItems) + { + cancellationToken.ThrowIfCancellationRequested(); + + var currentPercent = startingPercent; + var innerProgress = new ActionableProgress(); + innerProgress.RegisterAction(pct => + { + var totalProgress = pct * percentPerItem; + totalProgress += currentPercent; + progress.Report(totalProgress); + }); + + await GetItem(provider, target, serverId, jobItem, innerProgress, cancellationToken).ConfigureAwait(false); + + numComplete++; + startingPercent = numComplete; + startingPercent /= jobItems.Count; + startingPercent *= 100; + progress.Report(startingPercent); + } + } + + private async Task GetItem(IServerSyncProvider provider, + SyncTarget target, + string serverId, + SyncedItem jobItem, + IProgress progress, + CancellationToken cancellationToken) + { + var libraryItem = jobItem.Item; + var internalSyncJobItem = _syncManager.GetJobItem(jobItem.SyncJobItemId); + + var fileTransferProgress = new ActionableProgress(); + fileTransferProgress.RegisterAction(pct => progress.Report(pct * .92)); + + await _syncManager.ReportSyncJobItemTransferBeginning(internalSyncJobItem.Id); + + var transferSuccess = false; + Exception transferException = null; + + try + { + await provider.TransferItemFile(serverId, libraryItem.Id, internalSyncJobItem.OutputPath, target, cancellationToken) + .ConfigureAwait(false); + + progress.Report(92); + + transferSuccess = true; + + progress.Report(99); + } + catch (Exception ex) + { + _logger.ErrorException("Error transferring sync job file", ex); + transferException = ex; + } + + if (transferSuccess) + { + await _syncManager.ReportSyncJobItemTransferred(jobItem.SyncJobItemId).ConfigureAwait(false); + } + else + { + await _syncManager.ReportSyncJobItemTransferFailed(jobItem.SyncJobItemId).ConfigureAwait(false); + + throw transferException; + } + } + + private Task RemoveItem(IServerSyncProvider provider, + string serverId, + string itemId, + SyncTarget target, + CancellationToken cancellationToken) + { + return provider.DeleteItem(serverId, itemId, target, cancellationToken); + } + } +} diff --git a/MediaBrowser.Server.Implementations/Sync/SyncManager.cs b/MediaBrowser.Server.Implementations/Sync/SyncManager.cs index eecbd78d1..0114d734a 100644 --- a/MediaBrowser.Server.Implementations/Sync/SyncManager.cs +++ b/MediaBrowser.Server.Implementations/Sync/SyncManager.cs @@ -870,6 +870,32 @@ namespace MediaBrowser.Server.Implementations.Sync await processor.UpdateJobStatus(jobItem.JobId).ConfigureAwait(false); } + public async Task ReportSyncJobItemTransferBeginning(string id) + { + var jobItem = _repo.GetJobItem(id); + + jobItem.Status = SyncJobItemStatus.Transferring; + + await UpdateSyncJobItemInternal(jobItem).ConfigureAwait(false); + + var processor = GetSyncJobProcessor(); + + await processor.UpdateJobStatus(jobItem.JobId).ConfigureAwait(false); + } + + public async Task ReportSyncJobItemTransferFailed(string id) + { + var jobItem = _repo.GetJobItem(id); + + jobItem.Status = SyncJobItemStatus.ReadyToTransfer; + + await UpdateSyncJobItemInternal(jobItem).ConfigureAwait(false); + + var processor = GetSyncJobProcessor(); + + await processor.UpdateJobStatus(jobItem.JobId).ConfigureAwait(false); + } + public QueryResult GetLibraryItemIds(SyncJobItemQuery query) { return _repo.GetLibraryItemIds(query); diff --git a/MediaBrowser.Server.Startup.Common/ApplicationHost.cs b/MediaBrowser.Server.Startup.Common/ApplicationHost.cs index b72a10801..0bf9b9142 100644 --- a/MediaBrowser.Server.Startup.Common/ApplicationHost.cs +++ b/MediaBrowser.Server.Startup.Common/ApplicationHost.cs @@ -536,8 +536,6 @@ namespace MediaBrowser.Server.Startup.Common SetStaticProperties(); - SetKernelProperties(); - await ((UserManager)UserManager).Initialize().ConfigureAwait(false); } @@ -573,14 +571,6 @@ namespace MediaBrowser.Server.Startup.Common RegisterSingleInstance(MediaEncoder); } - /// - /// Sets the kernel properties. - /// - private void SetKernelProperties() - { - LocalizedStrings.StringFiles = GetExports(); - } - /// /// Gets the user repository. /// @@ -698,7 +688,6 @@ namespace MediaBrowser.Server.Startup.Common BaseItem.ItemRepository = ItemRepository; User.XmlSerializer = XmlSerializer; User.UserManager = UserManager; - LocalizedStrings.ApplicationPaths = ApplicationPaths; Folder.UserManager = UserManager; BaseItem.FileSystem = FileSystemManager; BaseItem.UserDataManager = UserDataManager; -- cgit v1.2.3 From bde06629da72a2418921b2e300fdd996f0119b5a Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 5 Feb 2015 16:14:08 -0500 Subject: update translations --- .../Entities/UserViewBuilder.cs | 2 +- .../MediaBrowser.Controller.csproj | 1 + MediaBrowser.Controller/Sync/ICloudSyncProvider.cs | 9 +- .../Sync/IServerSyncProvider.cs | 18 +- MediaBrowser.Controller/Sync/SyncAccount.cs | 28 + MediaBrowser.Model/ApiClient/IApiClient.cs | 6 +- .../Localization/JavaScript/ar.json | 9 +- .../Localization/JavaScript/bg_BG.json | 9 +- .../Localization/JavaScript/ca.json | 9 +- .../Localization/JavaScript/cs.json | 9 +- .../Localization/JavaScript/da.json | 9 +- .../Localization/JavaScript/de.json | 29 +- .../Localization/JavaScript/el.json | 9 +- .../Localization/JavaScript/en_GB.json | 9 +- .../Localization/JavaScript/en_US.json | 9 +- .../Localization/JavaScript/es.json | 9 +- .../Localization/JavaScript/es_MX.json | 13 +- .../Localization/JavaScript/fi.json | 9 +- .../Localization/JavaScript/fr.json | 13 +- .../Localization/JavaScript/he.json | 9 +- .../Localization/JavaScript/hr.json | 9 +- .../Localization/JavaScript/it.json | 69 +- .../Localization/JavaScript/kk.json | 13 +- .../Localization/JavaScript/ms.json | 9 +- .../Localization/JavaScript/nb.json | 9 +- .../Localization/JavaScript/nl.json | 13 +- .../Localization/JavaScript/pl.json | 9 +- .../Localization/JavaScript/pt_BR.json | 9 +- .../Localization/JavaScript/pt_PT.json | 9 +- .../Localization/JavaScript/ru.json | 13 +- .../Localization/JavaScript/sl_SI.json | 720 +++++++++++ .../Localization/JavaScript/sv.json | 9 +- .../Localization/JavaScript/tr.json | 9 +- .../Localization/JavaScript/uk.json | 9 +- .../Localization/JavaScript/vi.json | 9 +- .../Localization/JavaScript/zh_CN.json | 13 +- .../Localization/JavaScript/zh_TW.json | 9 +- .../Localization/LocalizationManager.cs | 1 + .../Localization/Server/de.json | 30 +- .../Localization/Server/en_GB.json | 2 +- .../Localization/Server/it.json | 24 +- .../Localization/Server/kk.json | 4 +- .../Localization/Server/ru.json | 4 +- .../Localization/Server/sl_SI.json | 1356 ++++++++++++++++++++ .../MediaBrowser.Server.Implementations.csproj | 2 + .../Sync/CloudSyncProvider.cs | 24 +- .../Sync/MediaSync.cs | 4 +- 47 files changed, 2434 insertions(+), 175 deletions(-) create mode 100644 MediaBrowser.Controller/Sync/SyncAccount.cs create mode 100644 MediaBrowser.Server.Implementations/Localization/JavaScript/sl_SI.json create mode 100644 MediaBrowser.Server.Implementations/Localization/Server/sl_SI.json (limited to 'MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj') diff --git a/MediaBrowser.Controller/Entities/UserViewBuilder.cs b/MediaBrowser.Controller/Entities/UserViewBuilder.cs index 318c5fff3..b5ca053ec 100644 --- a/MediaBrowser.Controller/Entities/UserViewBuilder.cs +++ b/MediaBrowser.Controller/Entities/UserViewBuilder.cs @@ -417,7 +417,7 @@ namespace MediaBrowser.Controller.Entities ParentId = (parent == null ? null : parent.Id.ToString("N")), GroupItems = true - }).Select(i => i.Item1); + }).Select(i => i.Item1 ?? i.Item2.FirstOrDefault()).Where(i => i != null); query.SortBy = new string[] { }; diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj index 27beabcc1..e8223ef10 100644 --- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj +++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj @@ -345,6 +345,7 @@ + diff --git a/MediaBrowser.Controller/Sync/ICloudSyncProvider.cs b/MediaBrowser.Controller/Sync/ICloudSyncProvider.cs index f93360c64..dae7faef8 100644 --- a/MediaBrowser.Controller/Sync/ICloudSyncProvider.cs +++ b/MediaBrowser.Controller/Sync/ICloudSyncProvider.cs @@ -1,4 +1,5 @@ - +using System.Collections.Generic; + namespace MediaBrowser.Controller.Sync { public interface ICloudSyncProvider @@ -8,5 +9,11 @@ namespace MediaBrowser.Controller.Sync /// /// The name. string Name { get; } + + /// + /// Gets the synchronize targets. + /// + /// IEnumerable<SyncTarget>. + IEnumerable GetSyncAccounts(); } } diff --git a/MediaBrowser.Controller/Sync/IServerSyncProvider.cs b/MediaBrowser.Controller/Sync/IServerSyncProvider.cs index 175fda647..8ef54fd43 100644 --- a/MediaBrowser.Controller/Sync/IServerSyncProvider.cs +++ b/MediaBrowser.Controller/Sync/IServerSyncProvider.cs @@ -31,22 +31,12 @@ namespace MediaBrowser.Controller.Sync /// /// The server identifier. /// The item identifier. - /// The path. + /// The path parts. + /// The name. + /// Type of the file. /// The target. /// The cancellation token. /// Task. - Task TransferItemFile(string serverId, string itemId, string path, SyncTarget target, CancellationToken cancellationToken); - - /// - /// Transfers the related file. - /// - /// The server identifier. - /// The item identifier. - /// The path. - /// The type. - /// The target. - /// The cancellation token. - /// Task. - Task TransferRelatedFile(string serverId, string itemId, string path, ItemFileType type, SyncTarget target, CancellationToken cancellationToken); + Task TransferItemFile(string serverId, string itemId, string[] pathParts, string name, ItemFileType fileType, SyncTarget target, CancellationToken cancellationToken); } } diff --git a/MediaBrowser.Controller/Sync/SyncAccount.cs b/MediaBrowser.Controller/Sync/SyncAccount.cs new file mode 100644 index 000000000..882e948d1 --- /dev/null +++ b/MediaBrowser.Controller/Sync/SyncAccount.cs @@ -0,0 +1,28 @@ +using System.Collections.Generic; + +namespace MediaBrowser.Controller.Sync +{ + public class SyncAccount + { + /// + /// Gets or sets the name. + /// + /// The name. + public string Name { get; set; } + /// + /// Gets or sets the identifier. + /// + /// The identifier. + public string Id { get; set; } + /// + /// Gets or sets the user identifier. + /// + /// The user identifier. + public List UserIds { get; set; } + + public SyncAccount() + { + UserIds = new List(); + } + } +} diff --git a/MediaBrowser.Model/ApiClient/IApiClient.cs b/MediaBrowser.Model/ApiClient/IApiClient.cs index a7d11d507..03802fc28 100644 --- a/MediaBrowser.Model/ApiClient/IApiClient.cs +++ b/MediaBrowser.Model/ApiClient/IApiClient.cs @@ -904,9 +904,8 @@ namespace MediaBrowser.Model.ApiClient /// /// Stops the receiving synchronize job updates. /// - /// The interval ms. /// Task. - Task StopReceivingSyncJobUpdates(int intervalMs); + Task StopReceivingSyncJobUpdates(); /// /// Starts the receiving synchronize jobs updates. @@ -920,9 +919,8 @@ namespace MediaBrowser.Model.ApiClient /// /// Stops the receiving synchronize jobs updates. /// - /// The interval ms. /// Task. - Task StopReceivingSyncJobsUpdates(int intervalMs); + Task StopReceivingSyncJobsUpdates(); /// /// Starts the receiving session updates. diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/ar.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/ar.json index 2461ec160..799c9f5dd 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/ar.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/ar.json @@ -49,8 +49,11 @@ "ButtonHelp": "Help", "ButtonSave": "\u062a\u062e\u0632\u064a\u0646", "SyncJobStatusQueued": "Queued", - "SyncJobStatusInProgress": "In-Progress", + "SyncJobStatusConverting": "Converting", + "SyncJobStatusFailed": "Failed", + "SyncJobStatusCancelled": "Cancelled", "SyncJobStatusCompleted": "Synced", + "SyncJobStatusTransferring": "Transferring", "SyncJobStatusCompletedWithError": "Synced with errors", "LabelCollection": "Collection", "HeaderAddToCollection": "Add to Collection", @@ -91,7 +94,7 @@ "HeaderSelectSubtitles": "Select Subtitles", "ButtonMarkForRemoval": "Remove from device", "ButtonUnmarkForRemoval": "Cancel removal from device", - "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and Low reduce the allowed bitrate.", + "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and low quality will reduce the allowed bitrate.", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", @@ -212,6 +215,8 @@ "MessageConfirmRestart": "Are you sure you wish to restart Media Browser Server?", "MessageConfirmShutdown": "Are you sure you wish to shutdown Media Browser Server?", "ButtonUpdateNow": "Update Now", + "ValueItemCount": "{0} item", + "ValueItemCountPlural": "{0} items", "NewVersionOfSomethingAvailable": "A new version of {0} is available!", "VersionXIsAvailableForDownload": "Version {0} is now available for download.", "LabelVersionNumber": "Version {0}", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/bg_BG.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/bg_BG.json index 9e0d6ee9e..574d37a35 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/bg_BG.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/bg_BG.json @@ -49,8 +49,11 @@ "ButtonHelp": "\u041f\u043e\u043c\u043e\u0449", "ButtonSave": "\u0417\u0430\u043f\u043e\u043c\u043d\u0438", "SyncJobStatusQueued": "Queued", - "SyncJobStatusInProgress": "In-Progress", + "SyncJobStatusConverting": "Converting", + "SyncJobStatusFailed": "Failed", + "SyncJobStatusCancelled": "Cancelled", "SyncJobStatusCompleted": "Synced", + "SyncJobStatusTransferring": "Transferring", "SyncJobStatusCompletedWithError": "Synced with errors", "LabelCollection": "Collection", "HeaderAddToCollection": "Add to Collection", @@ -91,7 +94,7 @@ "HeaderSelectSubtitles": "Select Subtitles", "ButtonMarkForRemoval": "Remove from device", "ButtonUnmarkForRemoval": "Cancel removal from device", - "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and Low reduce the allowed bitrate.", + "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and low quality will reduce the allowed bitrate.", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", @@ -212,6 +215,8 @@ "MessageConfirmRestart": "Are you sure you wish to restart Media Browser Server?", "MessageConfirmShutdown": "Are you sure you wish to shutdown Media Browser Server?", "ButtonUpdateNow": "Update Now", + "ValueItemCount": "{0} item", + "ValueItemCountPlural": "{0} items", "NewVersionOfSomethingAvailable": "A new version of {0} is available!", "VersionXIsAvailableForDownload": "Version {0} is now available for download.", "LabelVersionNumber": "Version {0}", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/ca.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/ca.json index ad823b99b..1477f0abe 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/ca.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/ca.json @@ -49,8 +49,11 @@ "ButtonHelp": "Help", "ButtonSave": "Save", "SyncJobStatusQueued": "Queued", - "SyncJobStatusInProgress": "In-Progress", + "SyncJobStatusConverting": "Converting", + "SyncJobStatusFailed": "Failed", + "SyncJobStatusCancelled": "Cancelled", "SyncJobStatusCompleted": "Synced", + "SyncJobStatusTransferring": "Transferring", "SyncJobStatusCompletedWithError": "Synced with errors", "LabelCollection": "Collection", "HeaderAddToCollection": "Add to Collection", @@ -91,7 +94,7 @@ "HeaderSelectSubtitles": "Select Subtitles", "ButtonMarkForRemoval": "Remove from device", "ButtonUnmarkForRemoval": "Cancel removal from device", - "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and Low reduce the allowed bitrate.", + "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and low quality will reduce the allowed bitrate.", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", @@ -212,6 +215,8 @@ "MessageConfirmRestart": "Are you sure you wish to restart Media Browser Server?", "MessageConfirmShutdown": "Are you sure you wish to shutdown Media Browser Server?", "ButtonUpdateNow": "Update Now", + "ValueItemCount": "{0} item", + "ValueItemCountPlural": "{0} items", "NewVersionOfSomethingAvailable": "A new version of {0} is available!", "VersionXIsAvailableForDownload": "Version {0} is now available for download.", "LabelVersionNumber": "Version {0}", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/cs.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/cs.json index 7af1d06c4..91b00084d 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/cs.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/cs.json @@ -49,8 +49,11 @@ "ButtonHelp": "Help", "ButtonSave": "Ulo\u017eit", "SyncJobStatusQueued": "Queued", - "SyncJobStatusInProgress": "In-Progress", + "SyncJobStatusConverting": "Converting", + "SyncJobStatusFailed": "Failed", + "SyncJobStatusCancelled": "Cancelled", "SyncJobStatusCompleted": "Synced", + "SyncJobStatusTransferring": "Transferring", "SyncJobStatusCompletedWithError": "Synced with errors", "LabelCollection": "Collection", "HeaderAddToCollection": "Add to Collection", @@ -91,7 +94,7 @@ "HeaderSelectSubtitles": "Select Subtitles", "ButtonMarkForRemoval": "Remove from device", "ButtonUnmarkForRemoval": "Cancel removal from device", - "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and Low reduce the allowed bitrate.", + "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and low quality will reduce the allowed bitrate.", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", @@ -212,6 +215,8 @@ "MessageConfirmRestart": "Are you sure you wish to restart Media Browser Server?", "MessageConfirmShutdown": "Are you sure you wish to shutdown Media Browser Server?", "ButtonUpdateNow": "Aktualizujte te\u010f", + "ValueItemCount": "{0} item", + "ValueItemCountPlural": "{0} items", "NewVersionOfSomethingAvailable": "A new version of {0} is available!", "VersionXIsAvailableForDownload": "Version {0} is now available for download.", "LabelVersionNumber": "Version {0}", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/da.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/da.json index 93f235703..6bf49ebbc 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/da.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/da.json @@ -49,8 +49,11 @@ "ButtonHelp": "Help", "ButtonSave": "Gem", "SyncJobStatusQueued": "Queued", - "SyncJobStatusInProgress": "In-Progress", + "SyncJobStatusConverting": "Converting", + "SyncJobStatusFailed": "Failed", + "SyncJobStatusCancelled": "Cancelled", "SyncJobStatusCompleted": "Synced", + "SyncJobStatusTransferring": "Transferring", "SyncJobStatusCompletedWithError": "Synced with errors", "LabelCollection": "Collection", "HeaderAddToCollection": "Add to Collection", @@ -91,7 +94,7 @@ "HeaderSelectSubtitles": "Select Subtitles", "ButtonMarkForRemoval": "Remove from device", "ButtonUnmarkForRemoval": "Cancel removal from device", - "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and Low reduce the allowed bitrate.", + "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and low quality will reduce the allowed bitrate.", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", @@ -212,6 +215,8 @@ "MessageConfirmRestart": "Are you sure you wish to restart Media Browser Server?", "MessageConfirmShutdown": "Are you sure you wish to shutdown Media Browser Server?", "ButtonUpdateNow": "Update Now", + "ValueItemCount": "{0} item", + "ValueItemCountPlural": "{0} items", "NewVersionOfSomethingAvailable": "A new version of {0} is available!", "VersionXIsAvailableForDownload": "Version {0} is now available for download.", "LabelVersionNumber": "Version {0}", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/de.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/de.json index 6d1ac2939..111cb9e5e 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/de.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/de.json @@ -14,12 +14,12 @@ "FileReadError": "Beim Lesen der Datei ist ein Fehler aufgetreten.", "DeleteUser": "Benutzer l\u00f6schen", "DeleteUserConfirmation": "M\u00f6chtest du {0} wirklich l\u00f6schen?", - "PasswordResetHeader": "Reset Password", + "PasswordResetHeader": "Passwort zur\u00fccksetzen", "PasswordResetComplete": "Das Passwort wurde zur\u00fcckgesetzt.", - "PinCodeResetComplete": "The pin code has been reset.", + "PinCodeResetComplete": "Der PIN wurde zur\u00fcckgesetzt", "PasswordResetConfirmation": "M\u00f6chtest du das Passwort wirklich zur\u00fccksetzen?", - "PinCodeResetConfirmation": "Are you sure you wish to reset the pin code?", - "HeaderPinCodeReset": "Reset Pin Code", + "PinCodeResetConfirmation": "Sind Sie sich sicher, dass Sie Ihren PIN Code zur\u00fccksetzen m\u00f6chten?", + "HeaderPinCodeReset": "PIN Code zur\u00fccksetzen", "PasswordSaved": "Passwort gespeichert", "PasswordMatchError": "Die Passw\u00f6rter m\u00fcssen \u00fcbereinstimmen.", "OptionRelease": "Offizielles Release", @@ -48,10 +48,13 @@ "LabelFailed": "(fehlgeschlagen)", "ButtonHelp": "Hilfe", "ButtonSave": "Speichern", - "SyncJobStatusQueued": "Queued", - "SyncJobStatusInProgress": "In-Progress", - "SyncJobStatusCompleted": "Synced", - "SyncJobStatusCompletedWithError": "Synced with errors", + "SyncJobStatusQueued": "Warten", + "SyncJobStatusConverting": "Konvertiere", + "SyncJobStatusFailed": "Fehlgeschlagen", + "SyncJobStatusCancelled": "Abgebrochen", + "SyncJobStatusCompleted": "Synchronisiert", + "SyncJobStatusTransferring": "\u00dcbertrage", + "SyncJobStatusCompletedWithError": "Synchronisation mit Fehler", "LabelCollection": "Sammlung", "HeaderAddToCollection": "Zur Sammlung hinzuf\u00fcgen", "NewCollectionNameExample": "Beispiel: Star Wars Collection", @@ -89,9 +92,9 @@ "LabelFree": "Frei", "HeaderSelectAudio": "W\u00e4hle Audio", "HeaderSelectSubtitles": "W\u00f6hle Untertitel", - "ButtonMarkForRemoval": "Zur L\u00f6schung vom Ger\u00e4t markieren", - "ButtonUnmarkForRemoval": "Markierung zur L\u00f6schung vom Ger\u00e4t aufheben", - "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and Low reduce the allowed bitrate.", + "ButtonMarkForRemoval": "Entferne von Ger\u00e4t", + "ButtonUnmarkForRemoval": "Abbrechen von Entfernen von Ger\u00e4t", + "LabelSyncQualityHelp": "Verwenden Sie \"Hohe Qualit\u00e4t\" f\u00fcr die maximale vom Ger\u00e4t unterst\u00fctzte Qualit\u00e4t. Mittlere und geringe Qualit\u00e4t werden die erlaubte Datenrate reduzieren.", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Erzwungen)", "LabelDefaultForcedStream": "(Standard\/Erzwungen)", @@ -212,6 +215,8 @@ "MessageConfirmRestart": "Bist du dir sicher Media Browser Server neustarten zu wollen?", "MessageConfirmShutdown": "Bist du dir sicher Media Browser Server herunterfahren zu wollen?", "ButtonUpdateNow": "Jetzt aktualisieren", + "ValueItemCount": "{0} Eintrag", + "ValueItemCountPlural": "{0} Eintr\u00e4ge", "NewVersionOfSomethingAvailable": "Eine neue Version von {0} ist verf\u00fcgbar!", "VersionXIsAvailableForDownload": "Version {0} ist jetzt bereit zum download.", "LabelVersionNumber": "Version {0}", @@ -677,7 +682,7 @@ "MessageForgotPasswordFileCreated": "Die folgende Datei wurde auf deinem Server erstellt und enth\u00e4lt eine Anleitung, wie fortgefahren werden muss:", "MessageForgotPasswordFileExpiration": "Der Zur\u00fccksetzungs-PIN wird am {0} auslaufen.", "MessageInvalidForgotPasswordPin": "Ein ung\u00fcltiger oder abgelaufener PIN wurde eingegeben. Bitte versuche es noch einmal.", - "MessagePasswordResetForUsers": "Passwords have been removed for the following users:", + "MessagePasswordResetForUsers": "Passw\u00f6rter der folgenden Benutzer wurden entfernt:", "HeaderInviteGuest": "Lade G\u00e4ste ein", "ButtonLinkMyMediaBrowserAccount": "Verkn\u00fcpfe jetzt meinen Account", "MessageConnectAccountRequiredToInviteGuest": "Um G\u00e4ste einladen zu k\u00f6nnen, musst du zuerst deinen Media Browser Account auf diesem Server verkn\u00fcpfen.", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/el.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/el.json index 48d11ea88..2d33bb0ea 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/el.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/el.json @@ -49,8 +49,11 @@ "ButtonHelp": "Help", "ButtonSave": "\u0391\u03c0\u03bf\u03b8\u03b7\u03ba\u03b5\u03cd\u03c3\u03c4\u03b5", "SyncJobStatusQueued": "Queued", - "SyncJobStatusInProgress": "In-Progress", + "SyncJobStatusConverting": "Converting", + "SyncJobStatusFailed": "Failed", + "SyncJobStatusCancelled": "Cancelled", "SyncJobStatusCompleted": "Synced", + "SyncJobStatusTransferring": "Transferring", "SyncJobStatusCompletedWithError": "Synced with errors", "LabelCollection": "Collection", "HeaderAddToCollection": "Add to Collection", @@ -91,7 +94,7 @@ "HeaderSelectSubtitles": "Select Subtitles", "ButtonMarkForRemoval": "Remove from device", "ButtonUnmarkForRemoval": "Cancel removal from device", - "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and Low reduce the allowed bitrate.", + "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and low quality will reduce the allowed bitrate.", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", @@ -212,6 +215,8 @@ "MessageConfirmRestart": "Are you sure you wish to restart Media Browser Server?", "MessageConfirmShutdown": "Are you sure you wish to shutdown Media Browser Server?", "ButtonUpdateNow": "Update Now", + "ValueItemCount": "{0} item", + "ValueItemCountPlural": "{0} items", "NewVersionOfSomethingAvailable": "A new version of {0} is available!", "VersionXIsAvailableForDownload": "Version {0} is now available for download.", "LabelVersionNumber": "Version {0}", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/en_GB.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/en_GB.json index 0cfb01896..97bad5106 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/en_GB.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/en_GB.json @@ -49,8 +49,11 @@ "ButtonHelp": "Help", "ButtonSave": "Save", "SyncJobStatusQueued": "Queued", - "SyncJobStatusInProgress": "In-Progress", + "SyncJobStatusConverting": "Converting", + "SyncJobStatusFailed": "Failed", + "SyncJobStatusCancelled": "Cancelled", "SyncJobStatusCompleted": "Synced", + "SyncJobStatusTransferring": "Transferring", "SyncJobStatusCompletedWithError": "Synced with errors", "LabelCollection": "Collection", "HeaderAddToCollection": "Add to Collection", @@ -91,7 +94,7 @@ "HeaderSelectSubtitles": "Select Subtitles", "ButtonMarkForRemoval": "Remove from device", "ButtonUnmarkForRemoval": "Cancel removal from device", - "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and Low reduce the allowed bitrate.", + "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and low quality will reduce the allowed bitrate.", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", @@ -212,6 +215,8 @@ "MessageConfirmRestart": "Are you sure you wish to restart Media Browser Server?", "MessageConfirmShutdown": "Are you sure you wish to shutdown Media Browser Server?", "ButtonUpdateNow": "Update Now", + "ValueItemCount": "{0} item", + "ValueItemCountPlural": "{0} items", "NewVersionOfSomethingAvailable": "A new version of {0} is available!", "VersionXIsAvailableForDownload": "Version {0} is now available for download.", "LabelVersionNumber": "Version {0}", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/en_US.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/en_US.json index dfa71fcc0..b651356ea 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/en_US.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/en_US.json @@ -49,8 +49,11 @@ "ButtonHelp": "Help", "ButtonSave": "Save", "SyncJobStatusQueued": "Queued", - "SyncJobStatusInProgress": "In-Progress", + "SyncJobStatusConverting": "Converting", + "SyncJobStatusFailed": "Failed", + "SyncJobStatusCancelled": "Cancelled", "SyncJobStatusCompleted": "Synced", + "SyncJobStatusTransferring": "Transferring", "SyncJobStatusCompletedWithError": "Synced with errors", "LabelCollection": "Collection", "HeaderAddToCollection": "Add to Collection", @@ -91,7 +94,7 @@ "HeaderSelectSubtitles": "Select Subtitles", "ButtonMarkForRemoval": "Remove from device", "ButtonUnmarkForRemoval": "Cancel removal from device", - "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and Low reduce the allowed bitrate.", + "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and low quality will reduce the allowed bitrate.", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", @@ -212,6 +215,8 @@ "MessageConfirmRestart": "Are you sure you wish to restart Media Browser Server?", "MessageConfirmShutdown": "Are you sure you wish to shutdown Media Browser Server?", "ButtonUpdateNow": "Update Now", + "ValueItemCount": "{0} item", + "ValueItemCountPlural": "{0} items", "NewVersionOfSomethingAvailable": "A new version of {0} is available!", "VersionXIsAvailableForDownload": "Version {0} is now available for download.", "LabelVersionNumber": "Version {0}", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/es.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/es.json index ca78e4f0f..910d5c74e 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/es.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/es.json @@ -49,8 +49,11 @@ "ButtonHelp": "Help", "ButtonSave": "Grabar", "SyncJobStatusQueued": "Queued", - "SyncJobStatusInProgress": "In-Progress", + "SyncJobStatusConverting": "Converting", + "SyncJobStatusFailed": "Failed", + "SyncJobStatusCancelled": "Cancelled", "SyncJobStatusCompleted": "Synced", + "SyncJobStatusTransferring": "Transferring", "SyncJobStatusCompletedWithError": "Synced with errors", "LabelCollection": "Collection", "HeaderAddToCollection": "A\u00f1adir a la colecci\u00f3n", @@ -91,7 +94,7 @@ "HeaderSelectSubtitles": "Seleccionar Subt\u00edtulos", "ButtonMarkForRemoval": "Remove from device", "ButtonUnmarkForRemoval": "Cancel removal from device", - "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and Low reduce the allowed bitrate.", + "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and low quality will reduce the allowed bitrate.", "LabelDefaultStream": "(Por defecto)", "LabelForcedStream": "(Forzado)", "LabelDefaultForcedStream": "(Por defecto\/Forzado)", @@ -212,6 +215,8 @@ "MessageConfirmRestart": "\u00bfEst\u00e1 seguro que desea reiniciar Media Browser Server?", "MessageConfirmShutdown": "\u00bfEst\u00e1 seguro que desea apagar Media Browser Server?", "ButtonUpdateNow": "Actualizar ahora", + "ValueItemCount": "{0} item", + "ValueItemCountPlural": "{0} items", "NewVersionOfSomethingAvailable": "\u00a1Hay disponible una nueva versi\u00f3n de {0}!", "VersionXIsAvailableForDownload": "La versi\u00f3n {0} est\u00e1 disponible para su descarga.", "LabelVersionNumber": "Versi\u00f3n {0}", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/es_MX.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/es_MX.json index f38a10e3c..d9f263706 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/es_MX.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/es_MX.json @@ -49,8 +49,11 @@ "ButtonHelp": "Ayuda", "ButtonSave": "Guardar", "SyncJobStatusQueued": "Queued", - "SyncJobStatusInProgress": "In-Progress", + "SyncJobStatusConverting": "Converting", + "SyncJobStatusFailed": "Failed", + "SyncJobStatusCancelled": "Cancelled", "SyncJobStatusCompleted": "Synced", + "SyncJobStatusTransferring": "Transferring", "SyncJobStatusCompletedWithError": "Synced with errors", "LabelCollection": "Colecci\u00f3n", "HeaderAddToCollection": "Agregar a Colecci\u00f3n.", @@ -89,9 +92,9 @@ "LabelFree": "Gratis", "HeaderSelectAudio": "Seleccionar Audio", "HeaderSelectSubtitles": "Seleccionar Subtitulos", - "ButtonMarkForRemoval": "Marcado para remover del dispositivo", - "ButtonUnmarkForRemoval": "Desmarcar para remover del dispositivo", - "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and Low reduce the allowed bitrate.", + "ButtonMarkForRemoval": "Remove from device", + "ButtonUnmarkForRemoval": "Cancel removal from device", + "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and low quality will reduce the allowed bitrate.", "LabelDefaultStream": "(Por defecto)", "LabelForcedStream": "(Forzado)", "LabelDefaultForcedStream": "(Por Defecto\/Forzado)", @@ -212,6 +215,8 @@ "MessageConfirmRestart": "\u00bfEst\u00e1 seguro de querer reiniciar el Servidor de Media Browser?", "MessageConfirmShutdown": "\u00bfEst\u00e1 seguro de querer apagar el Servidor de Media Browser?", "ButtonUpdateNow": "Actualizar Ahora", + "ValueItemCount": "{0} item", + "ValueItemCountPlural": "{0} items", "NewVersionOfSomethingAvailable": "\u00a1Una nueva versi\u00f3n de {0} esta disponible!", "VersionXIsAvailableForDownload": "La versi\u00f3n {0} ahora esta disponible para descargar.", "LabelVersionNumber": "Versi\u00f3n {0}", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/fi.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/fi.json index 7d1687de1..6e182588c 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/fi.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/fi.json @@ -49,8 +49,11 @@ "ButtonHelp": "Help", "ButtonSave": "Tallenna", "SyncJobStatusQueued": "Queued", - "SyncJobStatusInProgress": "In-Progress", + "SyncJobStatusConverting": "Converting", + "SyncJobStatusFailed": "Failed", + "SyncJobStatusCancelled": "Cancelled", "SyncJobStatusCompleted": "Synced", + "SyncJobStatusTransferring": "Transferring", "SyncJobStatusCompletedWithError": "Synced with errors", "LabelCollection": "Collection", "HeaderAddToCollection": "Add to Collection", @@ -91,7 +94,7 @@ "HeaderSelectSubtitles": "Select Subtitles", "ButtonMarkForRemoval": "Remove from device", "ButtonUnmarkForRemoval": "Cancel removal from device", - "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and Low reduce the allowed bitrate.", + "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and low quality will reduce the allowed bitrate.", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", @@ -212,6 +215,8 @@ "MessageConfirmRestart": "Are you sure you wish to restart Media Browser Server?", "MessageConfirmShutdown": "Are you sure you wish to shutdown Media Browser Server?", "ButtonUpdateNow": "Update Now", + "ValueItemCount": "{0} item", + "ValueItemCountPlural": "{0} items", "NewVersionOfSomethingAvailable": "A new version of {0} is available!", "VersionXIsAvailableForDownload": "Version {0} is now available for download.", "LabelVersionNumber": "Version {0}", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/fr.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/fr.json index 832b8db0e..c2830450b 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/fr.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/fr.json @@ -49,8 +49,11 @@ "ButtonHelp": "Aide", "ButtonSave": "Sauvegarder", "SyncJobStatusQueued": "Mis en file d'attente", - "SyncJobStatusInProgress": "En cours", + "SyncJobStatusConverting": "Conversion en cours", + "SyncJobStatusFailed": "Echec", + "SyncJobStatusCancelled": "Annul\u00e9", "SyncJobStatusCompleted": "Synchronis\u00e9", + "SyncJobStatusTransferring": "Transfert en cours", "SyncJobStatusCompletedWithError": "Synchronis\u00e9, mais des erreurs sont apparues", "LabelCollection": "Collection", "HeaderAddToCollection": "Ajouter \u00e0 la collection", @@ -89,9 +92,9 @@ "LabelFree": "Gratuit", "HeaderSelectAudio": "S\u00e9lectionner audio", "HeaderSelectSubtitles": "S\u00e9lectionner sous-titres", - "ButtonMarkForRemoval": "Marquer pour suppression dans le disque", - "ButtonUnmarkForRemoval": "Lib\u00e9rer la suppression dans le disque", - "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and Low reduce the allowed bitrate.", + "ButtonMarkForRemoval": "Supprimer de l'appareil", + "ButtonUnmarkForRemoval": "Annuler la suppression de l'appareil", + "LabelSyncQualityHelp": "S\u00e9lectionnez Haute qualit\u00e9 pour obtenir la qualit\u00e9 optimale support\u00e9e par l'appareil. Qualit\u00e9 moyenne et basse qualit\u00e9 r\u00e9duiront le d\u00e9bit autoris\u00e9.", "LabelDefaultStream": "(Par d\u00e9faut)", "LabelForcedStream": "(Forc\u00e9)", "LabelDefaultForcedStream": "(Par d\u00e9faut\/Forc\u00e9)", @@ -212,6 +215,8 @@ "MessageConfirmRestart": "\u00cates-vous s\u00fbr de vouloir red\u00e9marrer le serveur Media Browser?", "MessageConfirmShutdown": "\u00cates-vous s\u00fbr de vouloir \u00e9teindre le serveur Media Browser?", "ButtonUpdateNow": "Mettre \u00e0 jour maintenant", + "ValueItemCount": "{0} \u00e9l\u00e9ment", + "ValueItemCountPlural": "{0} \u00e9l\u00e9ments", "NewVersionOfSomethingAvailable": "Une nouvelle version de {0} est disponible!", "VersionXIsAvailableForDownload": "La version {0} est maintenant disponible au t\u00e9l\u00e9chargement.", "LabelVersionNumber": "Version {0}", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/he.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/he.json index f98f99777..a79424ce2 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/he.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/he.json @@ -49,8 +49,11 @@ "ButtonHelp": "Help", "ButtonSave": "\u05e9\u05de\u05d5\u05e8", "SyncJobStatusQueued": "Queued", - "SyncJobStatusInProgress": "In-Progress", + "SyncJobStatusConverting": "Converting", + "SyncJobStatusFailed": "Failed", + "SyncJobStatusCancelled": "Cancelled", "SyncJobStatusCompleted": "Synced", + "SyncJobStatusTransferring": "Transferring", "SyncJobStatusCompletedWithError": "Synced with errors", "LabelCollection": "Collection", "HeaderAddToCollection": "Add to Collection", @@ -91,7 +94,7 @@ "HeaderSelectSubtitles": "Select Subtitles", "ButtonMarkForRemoval": "Remove from device", "ButtonUnmarkForRemoval": "Cancel removal from device", - "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and Low reduce the allowed bitrate.", + "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and low quality will reduce the allowed bitrate.", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", @@ -212,6 +215,8 @@ "MessageConfirmRestart": "Are you sure you wish to restart Media Browser Server?", "MessageConfirmShutdown": "Are you sure you wish to shutdown Media Browser Server?", "ButtonUpdateNow": "\u05e2\u05d3\u05db\u05df \u05e2\u05db\u05e9\u05d9\u05d5", + "ValueItemCount": "{0} item", + "ValueItemCountPlural": "{0} items", "NewVersionOfSomethingAvailable": "A new version of {0} is available!", "VersionXIsAvailableForDownload": "Version {0} is now available for download.", "LabelVersionNumber": "Version {0}", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/hr.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/hr.json index 4c8677956..9534a327e 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/hr.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/hr.json @@ -49,8 +49,11 @@ "ButtonHelp": "Help", "ButtonSave": "Snimi", "SyncJobStatusQueued": "Queued", - "SyncJobStatusInProgress": "In-Progress", + "SyncJobStatusConverting": "Converting", + "SyncJobStatusFailed": "Failed", + "SyncJobStatusCancelled": "Cancelled", "SyncJobStatusCompleted": "Synced", + "SyncJobStatusTransferring": "Transferring", "SyncJobStatusCompletedWithError": "Synced with errors", "LabelCollection": "Collection", "HeaderAddToCollection": "Add to Collection", @@ -91,7 +94,7 @@ "HeaderSelectSubtitles": "Select Subtitles", "ButtonMarkForRemoval": "Remove from device", "ButtonUnmarkForRemoval": "Cancel removal from device", - "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and Low reduce the allowed bitrate.", + "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and low quality will reduce the allowed bitrate.", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", @@ -212,6 +215,8 @@ "MessageConfirmRestart": "Are you sure you wish to restart Media Browser Server?", "MessageConfirmShutdown": "Are you sure you wish to shutdown Media Browser Server?", "ButtonUpdateNow": "A\u017euriraj sad", + "ValueItemCount": "{0} item", + "ValueItemCountPlural": "{0} items", "NewVersionOfSomethingAvailable": "A new version of {0} is available!", "VersionXIsAvailableForDownload": "Version {0} is now available for download.", "LabelVersionNumber": "Version {0}", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/it.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/it.json index 509373686..e676bd2a9 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/it.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/it.json @@ -6,8 +6,8 @@ "Administrator": "Amministratore", "Password": "Password", "DeleteImage": "Elimina immagine", - "MessageThankYouForSupporting": "Thank you for supporting Media Browser.", - "MessagePleaseSupportMediaBrowser": "Please support Media Browser.", + "MessageThankYouForSupporting": "Grazie per supportare Media Browser", + "MessagePleaseSupportMediaBrowser": "Per favore supporta Media Browser", "DeleteImageConfirmation": "Sei sicuro di voler eliminare questa immagine?", "FileReadCancelled": "Il file letto \u00e8 stato cancellato.", "FileNotFound": "File non trovato", @@ -16,10 +16,10 @@ "DeleteUserConfirmation": "Sei sicuro di voler eliminare questo utente", "PasswordResetHeader": "Ripristina Password", "PasswordResetComplete": "la password \u00e8 stata ripristinata.", - "PinCodeResetComplete": "The pin code has been reset.", + "PinCodeResetComplete": "Il codice PIN \u00e8 stato resettato", "PasswordResetConfirmation": "Sei sicuro di voler ripristinare la password?", - "PinCodeResetConfirmation": "Are you sure you wish to reset the pin code?", - "HeaderPinCodeReset": "Reset Pin Code", + "PinCodeResetConfirmation": "Sei sicuro di voler resettare il codice PIN?", + "HeaderPinCodeReset": "Resetta il codice PIN", "PasswordSaved": "Password salvata.", "PasswordMatchError": "Le password non coincidono.", "OptionRelease": "Versione Ufficiale", @@ -37,7 +37,7 @@ "MessageKeyRemoved": "Grazie. La vostra chiave supporter \u00e8 stata rimossa.", "ErrorLaunchingChromecast": "Si \u00e8 verificato un errore all'avvio di chromecast. Assicurati che il tuo dispositivo sia connesso alla rete wireless.", "HeaderSearch": "Ricerca", - "ValueDateCreated": "Date created: {0}", + "ValueDateCreated": "Data di creazione {0}", "LabelArtist": "Artista", "LabelMovie": "Film", "LabelMusicVideo": "Video Musicali", @@ -48,21 +48,24 @@ "LabelFailed": "(fallito)", "ButtonHelp": "Aiuto", "ButtonSave": "Salva", - "SyncJobStatusQueued": "Queued", - "SyncJobStatusInProgress": "In-Progress", - "SyncJobStatusCompleted": "Synced", - "SyncJobStatusCompletedWithError": "Synced with errors", - "LabelCollection": "Collection", + "SyncJobStatusQueued": "In Coda", + "SyncJobStatusConverting": "Conversione", + "SyncJobStatusFailed": "Fallito", + "SyncJobStatusCancelled": "Cancellato", + "SyncJobStatusCompleted": "Sinc.to", + "SyncJobStatusTransferring": "Trasferimento", + "SyncJobStatusCompletedWithError": "Sincronizzato con errori", + "LabelCollection": "Collezione", "HeaderAddToCollection": "Aggiungi alla Collezione", "NewCollectionNameExample": "Esempio: Collezione Star wars", "OptionSearchForInternetMetadata": "Cerca su internet le immagini e i metadati", "LabelSelectCollection": "Seleziona Collezione:", "HeaderDevices": "Dispositivi", - "ButtonScheduledTasks": "Scheduled tasks", - "MessageItemsAdded": "Items added", - "ButtonAddToCollection": "Add to collection", - "HeaderSelectCertificatePath": "Select Certificate Path", - "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task. It can also be run manually here. To configure the scheduled task, see:", + "ButtonScheduledTasks": "Operazioni Pianificate", + "MessageItemsAdded": "Oggetti aggiunti", + "ButtonAddToCollection": "Aggiungi alla collezione", + "HeaderSelectCertificatePath": "Seleziona il percorso del Certificato", + "ConfirmMessageScheduledTaskButton": "L'operazione viene normalmente eseguita come operazione pianificata. Pu\u00f2 anche essere avviata manualmente da qui. Per configurare le operazioni pianificate, vedi:", "HeaderSupporterBenefit": "La sottoscrizione Supporter concede dei benefici come: l'accesso a plug-in premium, contenuti dei canali internet, e altro. {0}Scopri di pi\u00f9{1}", "HeaderWelcomeToMediaBrowserServerDashboard": "Benvenuti nel Dashboard di Media Browser", "HeaderWelcomeToMediaBrowserWebClient": "Benvenuti nel Media Browser Web client", @@ -74,10 +77,10 @@ "HeaderChannelAccess": "Accesso canali", "HeaderDeviceAccess": "Accesso dispositivo", "HeaderSelectDevices": "Seleziona periferiche", - "ButtonCancelItem": "Cancel item", - "ButtonQueueForRetry": "Queue for retry", - "ButtonReenable": "Re-enable", - "SyncJobItemStatusSyncedMarkForRemoval": "Marked for removal", + "ButtonCancelItem": "Cancella oggetto", + "ButtonQueueForRetry": "In attesa di riprovare", + "ButtonReenable": "Ri-abilita", + "SyncJobItemStatusSyncedMarkForRemoval": "Selezionato per la rimozione", "LabelAbortedByServerShutdown": "(Interrotto dallo spegnimento del server)", "LabelScheduledTaskLastRan": "Ultima esecuzione {0}, taking {1}.", "HeaderDeleteTaskTrigger": "Elimina Operazione pianificata", @@ -89,14 +92,14 @@ "LabelFree": "Gratis", "HeaderSelectAudio": "Seleziona audio", "HeaderSelectSubtitles": "Seleziona sottotitoli", - "ButtonMarkForRemoval": "Remove from device", - "ButtonUnmarkForRemoval": "Cancel removal from device", - "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and Low reduce the allowed bitrate.", + "ButtonMarkForRemoval": "Rimuovi dal dispositivo", + "ButtonUnmarkForRemoval": "Annulla rimozione dal dispositivo", + "LabelSyncQualityHelp": "Usa qualit\u00e0 alta come livello di qualit\u00e0 massimo per il dispositivo. Media e bassa diminuiranno il bitrate consentito", "LabelDefaultStream": "(Predefinito)", "LabelForcedStream": "(forzato)", "LabelDefaultForcedStream": "(Predefinito\/Forzato)", "LabelUnknownLanguage": "Lingua Sconosciuta", - "MessageConfirmSyncJobItemCancellation": "Are you sure you wish to cancel this item?", + "MessageConfirmSyncJobItemCancellation": "Sei sicuro di voler cancellare questo elemento?", "ButtonMute": "Muto", "ButtonUnmute": "Togli muto", "ButtonStop": "Stop", @@ -212,6 +215,8 @@ "MessageConfirmRestart": "Sei sicuro di voler riavviare Media Browser Server?", "MessageConfirmShutdown": "Sei sicuro di voler Spegnere Media Browser Server?", "ButtonUpdateNow": "Aggiorna Adesso", + "ValueItemCount": "{0} elemento", + "ValueItemCountPlural": "{0} elementi", "NewVersionOfSomethingAvailable": "Una nuova versione di {0} \u00e8 disponibile!", "VersionXIsAvailableForDownload": "Versione {0} \u00e8 ora disponibile per il download.", "LabelVersionNumber": "Versione {0}", @@ -220,10 +225,10 @@ "LabelPlayMethodDirectPlay": "Riproduzione Diretta", "LabelAudioCodec": "Audio: {0}", "LabelVideoCodec": "Video: {0}", - "LabelLocalAccessUrl": "Local access: {0}", + "LabelLocalAccessUrl": "Accesso locale {0}", "LabelRemoteAccessUrl": "Accesso remoto: {0}", - "LabelRunningOnPort": "Running on http port {0}.", - "LabelRunningOnPorts": "Running on http port {0}, and https port {1}.", + "LabelRunningOnPort": "In esecuzione sulla porta HTTP {0}.", + "LabelRunningOnPorts": "In esecuzione sulla porta HTTP {0}, e porta HTTPS {1}", "HeaderLatestFromChannel": "Ultime da {0}", "ButtonDownload": "Download", "LabelUnknownLanaguage": "lingua sconosciuta", @@ -237,7 +242,7 @@ "ButtonRefresh": "Aggiorna", "LabelCurrentPath": "Percorso Corrente:", "HeaderSelectMediaPath": "Seleziona il percorso", - "HeaderSelectPath": "Select Path", + "HeaderSelectPath": "Seleziona Percorso", "ButtonNetwork": "Rete", "MessageDirectoryPickerInstruction": "Percorsi di rete possono essere inseriti manualmente nel caso in cui il pulsante Rete non riesce a individuare i vostri dispositivi. Ad esempio, {0} o {1}", "HeaderMenu": "Menu", @@ -248,7 +253,7 @@ "ButtonResume": "Riprendi", "HeaderScenes": "Scene", "HeaderAudioTracks": "Tracce audio", - "HeaderLibraries": "Libraries", + "HeaderLibraries": "Librerie", "HeaderSubtitles": "Sottotitoli", "HeaderVideoQuality": "Qualit\u00e0 video", "MessageErrorPlayingVideo": "Si \u00e8 verificato un errore nella riproduzione del video.", @@ -615,7 +620,7 @@ "MediaInfoRefFrames": "Ref frames", "TabPlayback": "Riproduzione", "TabNotifications": "Notifiche", - "TabExpert": "Expert", + "TabExpert": "Esperto", "HeaderSelectCustomIntrosPath": "Selezionare Intro Path Personalizzata", "HeaderRateAndReview": "Punteggio e Commenti", "HeaderThankYou": "Grazie", @@ -650,7 +655,7 @@ "DashboardTourMobile": "Il cruscotto Media Browser funziona alla grande su smartphone e tablet. Gestisci il tuo server dal palmo della tua mano in qualsiasi momento, ovunque.", "MessageRefreshQueued": "Aggiornamento programmato", "TabDevices": "Dispositivi", - "TabExtras": "Extras", + "TabExtras": "Extra", "DeviceLastUsedByUserName": "Ultimo utilizzata da {0}", "HeaderDeleteDevice": "Elimina dispositivo", "DeleteDeviceConfirmation": "Sei sicuro di voler cancellare questo dispositivo? Esso riapparir\u00e0 la prossima volta che un utente accede con esso.", @@ -677,7 +682,7 @@ "MessageForgotPasswordFileCreated": "Il seguente file \u00e8 stato creato sul server e contiene le istruzioni su come procedere:", "MessageForgotPasswordFileExpiration": "Il pin scadr\u00e0 {0}.", "MessageInvalidForgotPasswordPin": "Un pin Invalido o scaduto \u00e8 stato inserito. Riprova.", - "MessagePasswordResetForUsers": "Passwords have been removed for the following users:", + "MessagePasswordResetForUsers": "Le password per i seguenti utenti sono state rimosse:", "HeaderInviteGuest": "Invita Ospite", "ButtonLinkMyMediaBrowserAccount": "Collega il mio account", "MessageConnectAccountRequiredToInviteGuest": "Per invitare gli ospiti \u00e8 necessario collegare prima il tuo account browser media a questo server.", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/kk.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/kk.json index 9ef911823..f0b24e321 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/kk.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/kk.json @@ -49,8 +49,11 @@ "ButtonHelp": "\u0410\u043d\u044b\u049b\u0442\u0430\u043c\u0430\u0493\u0430", "ButtonSave": "\u0421\u0430\u049b\u0442\u0430\u0443", "SyncJobStatusQueued": "\u041a\u0435\u0437\u0435\u043a\u0442\u0435", - "SyncJobStatusInProgress": "\u041e\u0440\u044b\u043d\u0434\u0430\u043b\u0443\u0434\u0430", + "SyncJobStatusConverting": "\u0422\u04af\u0440\u043b\u0435\u043d\u0434\u0456\u0440\u0443\u0434\u0435", + "SyncJobStatusFailed": "\u0421\u04d9\u0442\u0441\u0456\u0437", + "SyncJobStatusCancelled": "\u0411\u043e\u043b\u0434\u044b\u0440\u044b\u043b\u043c\u0430\u0493\u0430\u043d", "SyncJobStatusCompleted": "\u04ae\u043d\u0434\u0435\u0441\u0442\u0456\u0440\u0456\u043b\u0433\u0435\u043d", + "SyncJobStatusTransferring": "\u0410\u0443\u044b\u0441\u0442\u044b\u0440\u044b\u043b\u0443\u0434\u0430", "SyncJobStatusCompletedWithError": "\u049a\u0430\u0442\u0435\u043b\u0435\u0440\u043c\u0435\u043d \u04af\u043d\u0434\u0435\u0441\u0442\u0456\u0440\u0456\u043b\u0433\u0435\u043d", "LabelCollection": "\u0416\u0438\u044b\u043d\u0442\u044b\u049b", "HeaderAddToCollection": "\u0416\u0438\u044b\u043d\u0442\u044b\u049b\u049b\u0430 \u04af\u0441\u0442\u0435\u0443", @@ -91,7 +94,7 @@ "HeaderSelectSubtitles": "\u0421\u0443\u0431\u0442\u0438\u0442\u0440\u043b\u0435\u0440 \u0442\u0430\u04a3\u0434\u0430\u0443", "ButtonMarkForRemoval": "\u049a\u04b1\u0440\u044b\u043b\u0493\u044b\u0434\u0430\u043d \u0430\u043b\u0430\u0441\u0442\u0430\u0443", "ButtonUnmarkForRemoval": "\u049a\u04b1\u0440\u044b\u043b\u0493\u044b\u0434\u0430\u043d \u0430\u043b\u0430\u0441\u0442\u0430\u0443\u0434\u044b \u0431\u043e\u043b\u0434\u044b\u0440\u043c\u0430\u0443", - "LabelSyncQualityHelp": "\u049a\u04b1\u0440\u044b\u043b\u0493\u044b \u0431\u0430\u0440\u044b\u043d\u0448\u0430 \u049b\u043e\u043b\u0434\u0430\u0443 \u0441\u0430\u043f\u0430\u0441\u044b \u04af\u0448\u0456\u043d \u0436\u043e\u0493\u0430\u0440\u044b \u0441\u0430\u043f\u0430\u043d\u044b \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u04a3\u044b\u0437. \u041e\u0440\u0442\u0430\u0441\u044b \u0436\u04d9\u043d\u0435 \u0442\u04e9\u043c\u0435\u043d\u0456 \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0456\u043b\u0433\u0435\u043d \u049b\u0430\u0440\u049b\u044b\u043d\u0434\u044b \u0430\u0437\u0430\u0439\u0442\u0430\u0434\u044b.", + "LabelSyncQualityHelp": "\u049a\u04b1\u0440\u044b\u043b\u0493\u044b \u0431\u0430\u0440\u044b\u043d\u0448\u0430 \u049b\u043e\u043b\u0434\u0430\u0443 \u0441\u0430\u043f\u0430\u0441\u044b \u04af\u0448\u0456\u043d \u0436\u043e\u0493\u0430\u0440\u044b \u0441\u0430\u043f\u0430\u043d\u044b \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u04a3\u044b\u0437. \u041e\u0440\u0442\u0430 \u0436\u04d9\u043d\u0435 \u0442\u04e9\u043c\u0435\u043d \u0441\u0430\u043f\u0430\u043b\u0430\u0440 \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0456\u043b\u0433\u0435\u043d \u049b\u0430\u0440\u049b\u044b\u043d\u0434\u044b \u0430\u0437\u0430\u0439\u0442\u0430\u0434\u044b.", "LabelDefaultStream": "(\u04d8\u0434\u0435\u043f\u043a\u0456)", "LabelForcedStream": "(\u041c\u04d9\u0436\u0431\u04af\u0440\u043b\u0456)", "LabelDefaultForcedStream": "(\u04d8\u0434\u0435\u043f\u043a\u0456\/\u041c\u04d9\u0436\u0431\u04af\u0440\u043b\u0456)", @@ -212,6 +215,8 @@ "MessageConfirmRestart": "\u0428\u044b\u043d\u044b\u043c\u0435\u043d Media Browser Server \u049b\u0430\u0439\u0442\u0430 \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u044b\u043b\u0443\u044b \u049b\u0430\u0436\u0435\u0442 \u043f\u0435?", "MessageConfirmShutdown": "\u0428\u044b\u043d\u044b\u043c\u0435\u043d Media Browser Server \u0436\u04b1\u043c\u044b\u0441\u044b \u0430\u044f\u049b\u0442\u0430\u043b\u0443\u044b \u049b\u0430\u0436\u0435\u0442 \u043f\u0435?", "ButtonUpdateNow": "\u049a\u0430\u0437\u0456\u0440 \u0436\u0430\u04a3\u0430\u0440\u0442\u0443", + "ValueItemCount": "{0} \u044d\u043b\u0435\u043c\u0435\u043d\u0442", + "ValueItemCountPlural": "{0} \u044d\u043b\u0435\u043c\u0435\u043d\u0442", "NewVersionOfSomethingAvailable": "\u0416\u0430\u04a3\u0430 {0} \u043d\u04b1\u0441\u049b\u0430\u0441\u044b \u049b\u043e\u043b \u0436\u0435\u0442\u0456\u043c\u0434\u0456!", "VersionXIsAvailableForDownload": "\u0415\u043d\u0434\u0456 {0} \u043d\u04b1\u0441\u049b\u0430 \u0436\u04af\u043a\u0442\u0435\u043f \u0430\u043b\u0443\u0493\u0430 \u049b\u043e\u043b \u0436\u0435\u0442\u0456\u043c\u0434\u0456.", "LabelVersionNumber": "\u041d\u0443\u0441\u049b\u0430\u0441\u044b: {0}", @@ -516,7 +521,7 @@ "OptionUnwatched": "\u049a\u0430\u0440\u0430\u043b\u043c\u0430\u0493\u0430\u043d", "ExternalPlayerPlaystateOptionsHelp": "\u041a\u0435\u043b\u0435\u0441\u0456 \u0440\u0435\u0442\u0442\u0435 \u043e\u0441\u044b \u0431\u0435\u0439\u043d\u0435\u043d\u0456 \u049b\u0430\u043b\u0430\u0443\u044b\u04a3\u044b\u0437\u0431\u0435\u043d \u049b\u0430\u043b\u0430\u0439 \u0436\u0430\u043b\u0493\u0430\u0441\u0442\u044b\u0440\u0443\u044b\u043d \u0430\u043d\u044b\u049b\u0442\u0430\u04a3\u044b\u0437.", "LabelMarkAs": "\u0411\u044b\u043b\u0430\u0439\u0448\u0430 \u0431\u0435\u043b\u0433\u0456\u043b\u0435\u0443:", - "OptionInProgress": "\u0421\u04af\u0440\u0435\u043b\u0456", + "OptionInProgress": "\u041e\u0440\u044b\u043d\u0434\u0430\u043b\u0443\u0434\u0430", "LabelResumePoint": "\u0416\u0430\u043b\u0493\u0430\u0441\u0442\u044b\u0440\u0443 \u043d\u04af\u043a\u0442\u0435\u0441\u0456:", "ValueOneMovie": "1 \u0444\u0438\u043b\u044c\u043c", "ValueMovieCount": "{0} \u0444\u0438\u043b\u044c\u043c", @@ -706,7 +711,7 @@ "MessageUnsetContentHelp": "\u041c\u0430\u0437\u043c\u04b1\u043d \u043a\u04d9\u0434\u0456\u043c\u0433\u0456 \u049b\u0430\u043b\u0442\u0430\u043b\u0430\u0440 \u0440\u0435\u0442\u0456\u043d\u0434\u0435 \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u043d\u0435\u0434\u0456. \u0415\u04a3 \u0436\u0430\u049b\u0441\u044b \u043d\u04d9\u0442\u0438\u0436\u0435\u043b\u0435\u0440 \u0430\u043b\u0443 \u04af\u0448\u0456\u043d, \u0456\u0448\u043a\u0456 \u049b\u0430\u043b\u0442\u0430\u043b\u0430\u0440\u0434\u044b\u04a3 \u043c\u0430\u0437\u043c\u04af\u043d \u0442\u04af\u0440\u043b\u0435\u0440\u0456\u043d \u043e\u0440\u043d\u0430\u0442\u044b\u043f \u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a \u0440\u0435\u0442\u0442\u0435\u0443\u0448\u0456\u043d\u0456 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u04a3\u044b\u0437", "SyncJobItemStatusQueued": "\u041a\u0435\u0437\u0435\u043a\u0442\u0435", "SyncJobItemStatusConverting": "\u0422\u04af\u0440\u043b\u0435\u043d\u0434\u0456\u0440\u0443\u0434\u0435", - "SyncJobItemStatusTransferring": "\u0422\u0430\u0441\u044b\u043c\u0430\u043b\u0434\u0430\u0443\u0434\u0430", + "SyncJobItemStatusTransferring": "\u0410\u0443\u044b\u0441\u0442\u044b\u0440\u044b\u043b\u0443\u0434\u0430", "SyncJobItemStatusSynced": "\u04ae\u043d\u0434\u0435\u0441\u0442\u0456\u0440\u0456\u043b\u0433\u0435\u043d", "SyncJobItemStatusFailed": "\u0421\u04d9\u0442\u0441\u0456\u0437", "SyncJobItemStatusRemovedFromDevice": "\u049a\u04b1\u0440\u044b\u043b\u0493\u044b\u0434\u0430\u043d \u0430\u043b\u0430\u0441\u0442\u0430\u043b\u0493\u0430\u043d", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/ms.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/ms.json index b868461d6..a2d27a197 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/ms.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/ms.json @@ -49,8 +49,11 @@ "ButtonHelp": "Help", "ButtonSave": "Save", "SyncJobStatusQueued": "Queued", - "SyncJobStatusInProgress": "In-Progress", + "SyncJobStatusConverting": "Converting", + "SyncJobStatusFailed": "Failed", + "SyncJobStatusCancelled": "Cancelled", "SyncJobStatusCompleted": "Synced", + "SyncJobStatusTransferring": "Transferring", "SyncJobStatusCompletedWithError": "Synced with errors", "LabelCollection": "Collection", "HeaderAddToCollection": "Add to Collection", @@ -91,7 +94,7 @@ "HeaderSelectSubtitles": "Select Subtitles", "ButtonMarkForRemoval": "Remove from device", "ButtonUnmarkForRemoval": "Cancel removal from device", - "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and Low reduce the allowed bitrate.", + "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and low quality will reduce the allowed bitrate.", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", @@ -212,6 +215,8 @@ "MessageConfirmRestart": "Are you sure you wish to restart Media Browser Server?", "MessageConfirmShutdown": "Are you sure you wish to shutdown Media Browser Server?", "ButtonUpdateNow": "Update Now", + "ValueItemCount": "{0} item", + "ValueItemCountPlural": "{0} items", "NewVersionOfSomethingAvailable": "A new version of {0} is available!", "VersionXIsAvailableForDownload": "Version {0} is now available for download.", "LabelVersionNumber": "Version {0}", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/nb.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/nb.json index 9da65571d..38aefa3e2 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/nb.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/nb.json @@ -49,8 +49,11 @@ "ButtonHelp": "Help", "ButtonSave": "lagre", "SyncJobStatusQueued": "Queued", - "SyncJobStatusInProgress": "In-Progress", + "SyncJobStatusConverting": "Converting", + "SyncJobStatusFailed": "Failed", + "SyncJobStatusCancelled": "Cancelled", "SyncJobStatusCompleted": "Synced", + "SyncJobStatusTransferring": "Transferring", "SyncJobStatusCompletedWithError": "Synced with errors", "LabelCollection": "Collection", "HeaderAddToCollection": "Legg Til I Samling", @@ -91,7 +94,7 @@ "HeaderSelectSubtitles": "Velg Undertekst", "ButtonMarkForRemoval": "Remove from device", "ButtonUnmarkForRemoval": "Cancel removal from device", - "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and Low reduce the allowed bitrate.", + "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and low quality will reduce the allowed bitrate.", "LabelDefaultStream": "(Standard)", "LabelForcedStream": "(Tvunget)", "LabelDefaultForcedStream": "(Standard\/Tvunget)", @@ -212,6 +215,8 @@ "MessageConfirmRestart": "Er du sikker p\u00e5 at du vil gi Media Browser Server en omstart?", "MessageConfirmShutdown": "Er du sikker p\u00e5 du vil sl\u00e5 av Media Browser Server?", "ButtonUpdateNow": "Oppdater N\u00e5", + "ValueItemCount": "{0} item", + "ValueItemCountPlural": "{0} items", "NewVersionOfSomethingAvailable": "En ny versjon av {0} er tilgjengelig!", "VersionXIsAvailableForDownload": "Vesjon {0} er n\u00e5 tilgjengelig for nedlasting.", "LabelVersionNumber": "Versjon {0}", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/nl.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/nl.json index 36bc4a968..8e1d9323b 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/nl.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/nl.json @@ -49,8 +49,11 @@ "ButtonHelp": "Hulp", "ButtonSave": "Opslaan", "SyncJobStatusQueued": "Queued", - "SyncJobStatusInProgress": "In-Progress", + "SyncJobStatusConverting": "Converting", + "SyncJobStatusFailed": "Failed", + "SyncJobStatusCancelled": "Cancelled", "SyncJobStatusCompleted": "Synced", + "SyncJobStatusTransferring": "Transferring", "SyncJobStatusCompletedWithError": "Synced with errors", "LabelCollection": "Verzameling", "HeaderAddToCollection": "Toevoegen aan verzameling", @@ -89,9 +92,9 @@ "LabelFree": "Gratis", "HeaderSelectAudio": "Selecteer Audio", "HeaderSelectSubtitles": "Selecteer Ondertitels", - "ButtonMarkForRemoval": "Markeren voor verwijdering uit het apparaat", - "ButtonUnmarkForRemoval": "Niet markeren voor verwijdering uit het apparaat", - "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and Low reduce the allowed bitrate.", + "ButtonMarkForRemoval": "Remove from device", + "ButtonUnmarkForRemoval": "Cancel removal from device", + "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and low quality will reduce the allowed bitrate.", "LabelDefaultStream": "(Standaard)", "LabelForcedStream": "(Geforceerd)", "LabelDefaultForcedStream": "(Standaard \/ Georceerd)", @@ -212,6 +215,8 @@ "MessageConfirmRestart": "Weet u zeker dat u Media Browser Server wilt herstarten?", "MessageConfirmShutdown": "Weet u zeker dat u Media Browser Server wilt afsluiten?", "ButtonUpdateNow": "Nu bijwerken", + "ValueItemCount": "{0} item", + "ValueItemCountPlural": "{0} items", "NewVersionOfSomethingAvailable": "Er is een nieuwe versie van {0} beschikbaar!", "VersionXIsAvailableForDownload": "Versie {0} is nu beschikbaar voor download.", "LabelVersionNumber": "Versie {0}", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/pl.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/pl.json index dff6cbb8b..b8db8e547 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/pl.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/pl.json @@ -49,8 +49,11 @@ "ButtonHelp": "Help", "ButtonSave": "Zapisz", "SyncJobStatusQueued": "Queued", - "SyncJobStatusInProgress": "In-Progress", + "SyncJobStatusConverting": "Converting", + "SyncJobStatusFailed": "Failed", + "SyncJobStatusCancelled": "Cancelled", "SyncJobStatusCompleted": "Synced", + "SyncJobStatusTransferring": "Transferring", "SyncJobStatusCompletedWithError": "Synced with errors", "LabelCollection": "Collection", "HeaderAddToCollection": "Add to Collection", @@ -91,7 +94,7 @@ "HeaderSelectSubtitles": "Select Subtitles", "ButtonMarkForRemoval": "Remove from device", "ButtonUnmarkForRemoval": "Cancel removal from device", - "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and Low reduce the allowed bitrate.", + "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and low quality will reduce the allowed bitrate.", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", @@ -212,6 +215,8 @@ "MessageConfirmRestart": "Are you sure you wish to restart Media Browser Server?", "MessageConfirmShutdown": "Are you sure you wish to shutdown Media Browser Server?", "ButtonUpdateNow": "Update Now", + "ValueItemCount": "{0} item", + "ValueItemCountPlural": "{0} items", "NewVersionOfSomethingAvailable": "A new version of {0} is available!", "VersionXIsAvailableForDownload": "Version {0} is now available for download.", "LabelVersionNumber": "Version {0}", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_BR.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_BR.json index 31c79b876..90fa72341 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_BR.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_BR.json @@ -49,8 +49,11 @@ "ButtonHelp": "Ajuda", "ButtonSave": "Salvar", "SyncJobStatusQueued": "Enfileirado", - "SyncJobStatusInProgress": "Em-Progresso", + "SyncJobStatusConverting": "Convertendo", + "SyncJobStatusFailed": "Falhou", + "SyncJobStatusCancelled": "Cancelado", "SyncJobStatusCompleted": "Sincronizado", + "SyncJobStatusTransferring": "Transferindo", "SyncJobStatusCompletedWithError": "Sincronizado com erros", "LabelCollection": "Cole\u00e7\u00e3o", "HeaderAddToCollection": "Adicionar \u00e0 Cole\u00e7\u00e3o", @@ -91,7 +94,7 @@ "HeaderSelectSubtitles": "Selecione Legendas", "ButtonMarkForRemoval": "Remover do dispositivo", "ButtonUnmarkForRemoval": "Cancelar remo\u00e7\u00e3o do dispositivo", - "LabelSyncQualityHelp": "Use alta qualidade para a qualidade m\u00e1xima suportada pelo dispositivo. M\u00e9dia e Baixa reduzem a taxa permitida.", + "LabelSyncQualityHelp": "Use alta qualidade para a qualidade m\u00e1xima suportada pelo dispositivo. Qualidades M\u00e9dia e Baixa reduzem a taxa permitida.", "LabelDefaultStream": "(Padr\u00e3o)", "LabelForcedStream": "(For\u00e7ada)", "LabelDefaultForcedStream": "(Padr\u00e3o\/For\u00e7ada)", @@ -212,6 +215,8 @@ "MessageConfirmRestart": "Deseja realmente reiniciar o Servidor Media Browser?", "MessageConfirmShutdown": "Deseja realmente desligar o Servidor Media Browser?", "ButtonUpdateNow": "Atualizar Agora", + "ValueItemCount": "{0} item", + "ValueItemCountPlural": "{0} itens", "NewVersionOfSomethingAvailable": "Est\u00e1 dispon\u00edvel uma nova vers\u00e3o de {0}!", "VersionXIsAvailableForDownload": "A vers\u00e3o {0} est\u00e1 dispon\u00edvel para download.", "LabelVersionNumber": "Vers\u00e3o {0}", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_PT.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_PT.json index be65ed31a..148ff9dab 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_PT.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_PT.json @@ -49,8 +49,11 @@ "ButtonHelp": "Help", "ButtonSave": "Guardar", "SyncJobStatusQueued": "Queued", - "SyncJobStatusInProgress": "In-Progress", + "SyncJobStatusConverting": "Converting", + "SyncJobStatusFailed": "Failed", + "SyncJobStatusCancelled": "Cancelled", "SyncJobStatusCompleted": "Synced", + "SyncJobStatusTransferring": "Transferring", "SyncJobStatusCompletedWithError": "Synced with errors", "LabelCollection": "Collection", "HeaderAddToCollection": "Add to Collection", @@ -91,7 +94,7 @@ "HeaderSelectSubtitles": "Select Subtitles", "ButtonMarkForRemoval": "Remove from device", "ButtonUnmarkForRemoval": "Cancel removal from device", - "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and Low reduce the allowed bitrate.", + "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and low quality will reduce the allowed bitrate.", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", @@ -212,6 +215,8 @@ "MessageConfirmRestart": "Tem a certeza que deseja reiniciar o Media Browser Server?", "MessageConfirmShutdown": "Tem a certeza que deseja encerrar o Media Browser Server?", "ButtonUpdateNow": "Atualizar Agora", + "ValueItemCount": "{0} item", + "ValueItemCountPlural": "{0} items", "NewVersionOfSomethingAvailable": "A new version of {0} is available!", "VersionXIsAvailableForDownload": "Version {0} is now available for download.", "LabelVersionNumber": "Version {0}", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/ru.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/ru.json index bf2a536bf..933390f65 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/ru.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/ru.json @@ -49,8 +49,11 @@ "ButtonHelp": "\u041a \u0441\u043f\u0440\u0430\u0432\u043a\u0435", "ButtonSave": "\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c", "SyncJobStatusQueued": "\u0412 \u043e\u0447\u0435\u0440\u0435\u0434\u0438", - "SyncJobStatusInProgress": "\u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435", + "SyncJobStatusConverting": "\u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442\u0441\u044f", + "SyncJobStatusFailed": "\u041d\u0435\u0443\u0434\u0430\u0447\u043d\u043e", + "SyncJobStatusCancelled": "\u041e\u0442\u043c\u0435\u043d\u0435\u043d\u043e", "SyncJobStatusCompleted": "\u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043e", + "SyncJobStatusTransferring": "\u041f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u0441\u044f", "SyncJobStatusCompletedWithError": "\u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0441 \u043e\u0448\u0438\u0431\u043a\u0430\u043c\u0438", "LabelCollection": "\u041a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f", "HeaderAddToCollection": "\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438", @@ -91,7 +94,7 @@ "HeaderSelectSubtitles": "\u0412\u044b\u0431\u043e\u0440 \u0441\u0443\u0431\u0442\u0438\u0442\u0440\u043e\u0432", "ButtonMarkForRemoval": "\u0418\u0437\u044a\u044f\u0442\u044c \u0441 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430", "ButtonUnmarkForRemoval": "\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u0438\u0437\u044a\u044f\u0442\u0438\u0435 \u0441 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430", - "LabelSyncQualityHelp": "\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0432\u044b\u0441\u043e\u043a\u043e\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c. \u0421\u0440\u0435\u0434\u043d\u0435\u0435 \u0438 \u043d\u0438\u0437\u043a\u043e\u0435 \u043f\u043e\u043d\u0438\u0436\u0430\u044e\u0442 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u0443\u043c\u044e \u043f\u043e\u0442\u043e\u043a\u043e\u0432\u0443\u044e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c.", + "LabelSyncQualityHelp": "\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0432\u044b\u0441\u043e\u043a\u043e\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c. \u0421\u0440\u0435\u0434\u043d\u0435\u0435 \u0438 \u043d\u0438\u0437\u043a\u043e\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u043d\u0438\u0436\u0430\u044e\u0442 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u0443\u044e \u043f\u043e\u0442\u043e\u043a\u043e\u0432\u0443\u044e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c.", "LabelDefaultStream": "(\u0423\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u0435)", "LabelForcedStream": "(\u0424\u043e\u0440\u0441-\u044b\u0435)", "LabelDefaultForcedStream": "(\u0423\u043c\u043e\u043b\u0447.\/\u0424\u043e\u0440\u0441-\u044b\u0435)", @@ -212,6 +215,8 @@ "MessageConfirmRestart": "\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c Media Browser Server?", "MessageConfirmShutdown": "\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 Media Browser Server?", "ButtonUpdateNow": "\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u043d\u0435\u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e", + "ValueItemCount": "{0} \u044d\u043b\u0435\u043c\u0435\u043d\u0442", + "ValueItemCountPlural": "{0} \u044d\u043b\u0435\u043c\u0435\u043d\u0442(\u0430\/\u043e\u0432)", "NewVersionOfSomethingAvailable": "\u0418\u043c\u0435\u0435\u0442\u0441\u044f \u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f {0}!", "VersionXIsAvailableForDownload": "\u0412\u0435\u0440\u0441\u0438\u044f {0} \u0441\u0435\u0439\u0447\u0430\u0441 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438.", "LabelVersionNumber": "\u0412\u0435\u0440\u0441\u0438\u044f {0}", @@ -516,7 +521,7 @@ "OptionUnwatched": "\u041d\u0435 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043e", "ExternalPlayerPlaystateOptionsHelp": "\u0423\u043a\u0430\u0436\u0438\u0442\u0435, \u043a\u0430\u043a \u0432\u044b \u0445\u043e\u0442\u0435\u043b\u0438 \u0431\u044b \u0432\u043e\u0437\u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0432\u0438\u0434\u0435\u043e \u0432\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0440\u0430\u0437.", "LabelMarkAs": "\u041e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u043a\u0430\u043a:", - "OptionInProgress": "\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442\u0441\u044f", + "OptionInProgress": "\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f", "LabelResumePoint": "\u0422\u043e\u0447\u043a\u0430 \u0432\u043e\u0437\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f:", "ValueOneMovie": "1 \u0444\u0438\u043b\u044c\u043c", "ValueMovieCount": "{0} \u0444\u0438\u043b\u044c\u043c(\u0430\/\u043e\u0432)", @@ -706,7 +711,7 @@ "MessageUnsetContentHelp": "\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u043e\u0431\u044b\u0447\u043d\u044b\u0435 \u043f\u0430\u043f\u043a\u0438. \u0414\u043b\u044f \u043d\u0430\u0438\u043b\u0443\u0447\u0448\u0438\u0445 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0434\u0438\u0441\u043f\u0435\u0442\u0447\u0435\u0440 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0437\u043d\u0430\u0447\u0430\u0442\u044c \u0442\u0438\u043f \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f \u043f\u043e\u0434\u043f\u0430\u043f\u043e\u043a.", "SyncJobItemStatusQueued": "\u0412 \u043e\u0447\u0435\u0440\u0435\u0434\u0438", "SyncJobItemStatusConverting": "\u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442\u0441\u044f", - "SyncJobItemStatusTransferring": "\u041f\u0435\u0440\u0435\u0434\u0430\u0451\u0442\u0441\u044f", + "SyncJobItemStatusTransferring": "\u041f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u0441\u044f", "SyncJobItemStatusSynced": "\u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043e", "SyncJobItemStatusFailed": "\u041d\u0435\u0443\u0434\u0430\u0447\u043d\u043e", "SyncJobItemStatusRemovedFromDevice": "\u0418\u0437\u044a\u044f\u0442\u043e \u0438\u0437 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/sl_SI.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/sl_SI.json new file mode 100644 index 000000000..4cc69cdc9 --- /dev/null +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/sl_SI.json @@ -0,0 +1,720 @@ +{ + "SettingsSaved": "Settings saved.", + "AddUser": "Add User", + "Users": "Users", + "Delete": "Delete", + "Administrator": "Administrator", + "Password": "Password", + "DeleteImage": "Delete Image", + "MessageThankYouForSupporting": "Thank you for supporting Media Browser.", + "MessagePleaseSupportMediaBrowser": "Please support Media Browser.", + "DeleteImageConfirmation": "Are you sure you wish to delete this image?", + "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.", + "PinCodeResetComplete": "The pin code has been reset.", + "PasswordResetConfirmation": "Are you sure you wish to reset the password?", + "PinCodeResetConfirmation": "Are you sure you wish to reset the pin code?", + "HeaderPinCodeReset": "Reset Pin Code", + "PasswordSaved": "Password saved.", + "PasswordMatchError": "Password and password confirmation must match.", + "OptionRelease": "Official Release", + "OptionBeta": "Beta", + "OptionDev": "Dev (Unstable)", + "UninstallPluginHeader": "Uninstall Plugin", + "UninstallPluginConfirmation": "Are you sure you wish to uninstall {0}?", + "NoPluginConfigurationMessage": "This plugin has nothing to configure.", + "NoPluginsInstalledMessage": "You have no plugins installed.", + "BrowsePluginCatalogMessage": "Browse our plugin catalog to view available plugins.", + "MessageKeyEmailedTo": "Key emailed to {0}.", + "MessageKeysLinked": "Keys linked.", + "HeaderConfirmation": "Confirmation", + "MessageKeyUpdated": "Thank you. Your supporter key has been updated.", + "MessageKeyRemoved": "Thank you. Your supporter key has been removed.", + "ErrorLaunchingChromecast": "There was an error launching chromecast. Please ensure your device is connected to your wireless network.", + "HeaderSearch": "Search", + "ValueDateCreated": "Date created: {0}", + "LabelArtist": "Artist", + "LabelMovie": "Movie", + "LabelMusicVideo": "Music Video", + "LabelEpisode": "Episode", + "LabelSeries": "Serije", + "LabelStopping": "Stopping", + "LabelCancelled": "(cancelled)", + "LabelFailed": "(neuspe\u0161no)", + "ButtonHelp": "Help", + "ButtonSave": "Save", + "SyncJobStatusQueued": "Queued", + "SyncJobStatusConverting": "Converting", + "SyncJobStatusFailed": "Failed", + "SyncJobStatusCancelled": "Cancelled", + "SyncJobStatusCompleted": "Synced", + "SyncJobStatusTransferring": "Transferring", + "SyncJobStatusCompletedWithError": "Synced with errors", + "LabelCollection": "Collection", + "HeaderAddToCollection": "Add to Collection", + "NewCollectionNameExample": "Example: Star Wars Collection", + "OptionSearchForInternetMetadata": "Search the internet for artwork and metadata", + "LabelSelectCollection": "Select collection:", + "HeaderDevices": "Devices", + "ButtonScheduledTasks": "Scheduled tasks", + "MessageItemsAdded": "Items added", + "ButtonAddToCollection": "Add to collection", + "HeaderSelectCertificatePath": "Select Certificate Path", + "ConfirmMessageScheduledTaskButton": "This operation normally runs automatically as a scheduled task. It can also be run manually here. To configure the scheduled task, see:", + "HeaderSupporterBenefit": "A supporter membership provides additional benefits such as access to premium plugins, internet channel content, and more. {0}Learn more{1}.", + "HeaderWelcomeToMediaBrowserServerDashboard": "Welcome to the Media Browser Dashboard", + "HeaderWelcomeToMediaBrowserWebClient": "Welcome to the Media Browser Web Client", + "ButtonTakeTheTour": "Take the tour", + "HeaderWelcomeBack": "Welcome back!", + "ButtonTakeTheTourToSeeWhatsNew": "Take the tour to see what's new", + "MessageNoSyncJobsFound": "No sync jobs found. Create sync jobs using the Sync buttons found throughout the web interface.", + "HeaderLibraryAccess": "Library Access", + "HeaderChannelAccess": "Channel Access", + "HeaderDeviceAccess": "Device Access", + "HeaderSelectDevices": "Select Devices", + "ButtonCancelItem": "Cancel item", + "ButtonQueueForRetry": "Queue for retry", + "ButtonReenable": "Re-enable", + "SyncJobItemStatusSyncedMarkForRemoval": "Marked for removal", + "LabelAbortedByServerShutdown": "(Aborted by server shutdown)", + "LabelScheduledTaskLastRan": "Last ran {0}, taking {1}.", + "HeaderDeleteTaskTrigger": "Delete Task Trigger", + "HeaderTaskTriggers": "Task Triggers", + "MessageDeleteTaskTrigger": "Are you sure you wish to delete this task trigger?", + "MessageNoPluginsInstalled": "You have no plugins installed.", + "LabelVersionInstalled": "{0} installed", + "LabelNumberReviews": "{0} Reviews", + "LabelFree": "Free", + "HeaderSelectAudio": "Select Audio", + "HeaderSelectSubtitles": "Select Subtitles", + "ButtonMarkForRemoval": "Remove from device", + "ButtonUnmarkForRemoval": "Cancel removal from device", + "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and low quality will reduce the allowed bitrate.", + "LabelDefaultStream": "(Default)", + "LabelForcedStream": "(Forced)", + "LabelDefaultForcedStream": "(Default\/Forced)", + "LabelUnknownLanguage": "Unknown language", + "MessageConfirmSyncJobItemCancellation": "Are you sure you wish to cancel this item?", + "ButtonMute": "Mute", + "ButtonUnmute": "Unmute", + "ButtonStop": "Stop", + "ButtonNextTrack": "Next Track", + "ButtonPause": "Pause", + "ButtonPlay": "Play", + "ButtonEdit": "Edit", + "ButtonQueue": "Queue", + "ButtonPlayTrailer": "Predvajaj napovednik", + "ButtonPlaylist": "Playlist", + "ButtonPreviousTrack": "Previous Track", + "LabelEnabled": "Enabled", + "LabelDisabled": "Disabled", + "ButtonMoreInformation": "More Information", + "LabelNoUnreadNotifications": "No unread notifications.", + "ButtonViewNotifications": "View notifications", + "ButtonMarkTheseRead": "Mark these read", + "ButtonClose": "Close", + "LabelAllPlaysSentToPlayer": "All plays will be sent to the selected player.", + "MessageInvalidUser": "Invalid username or password. Please try again.", + "HeaderLoginFailure": "Login Failure", + "HeaderAllRecordings": "All Recordings", + "RecommendationBecauseYouLike": "Because you like {0}", + "RecommendationBecauseYouWatched": "Because you watched {0}", + "RecommendationDirectedBy": "Directed by {0}", + "RecommendationStarring": "Starring {0}", + "HeaderConfirmRecordingCancellation": "Confirm Recording Cancellation", + "MessageConfirmRecordingCancellation": "Are you sure you wish to cancel this recording?", + "MessageRecordingCancelled": "Recording cancelled.", + "HeaderConfirmSeriesCancellation": "Confirm Series Cancellation", + "MessageConfirmSeriesCancellation": "Are you sure you wish to cancel this series?", + "MessageSeriesCancelled": "Series cancelled.", + "HeaderConfirmRecordingDeletion": "Confirm Recording Deletion", + "MessageConfirmRecordingDeletion": "Are you sure you wish to delete this recording?", + "MessageRecordingDeleted": "Recording deleted.", + "ButonCancelRecording": "Cancel Recording", + "MessageRecordingSaved": "Recording saved.", + "OptionSunday": "Sunday", + "OptionMonday": "Monday", + "OptionTuesday": "Tuesday", + "OptionWednesday": "Wednesday", + "OptionThursday": "Thursday", + "OptionFriday": "Friday", + "OptionSaturday": "Saturday", + "HeaderConfirmDeletion": "Confirm Deletion", + "MessageConfirmPathSubstitutionDeletion": "Are you sure you wish to delete this path substitution?", + "LiveTvUpdateAvailable": "(Update available)", + "LabelVersionUpToDate": "Up to date!", + "ButtonResetTuner": "Reset tuner", + "HeaderResetTuner": "Reset Tuner", + "MessageConfirmResetTuner": "Are you sure you wish to reset this tuner? Any active players or recordings will be abruptly stopped.", + "ButtonCancelSeries": "Cancel Series", + "HeaderSeriesRecordings": "Series Recordings", + "LabelAnytime": "Any time", + "StatusRecording": "Recording", + "StatusWatching": "Watching", + "StatusRecordingProgram": "Recording {0}", + "StatusWatchingProgram": "Watching {0}", + "HeaderSplitMedia": "Split Media Apart", + "MessageConfirmSplitMedia": "Are you sure you wish to split the media sources into separate items?", + "HeaderError": "Error", + "MessagePleaseSelectOneItem": "Please select at least one item.", + "MessagePleaseSelectTwoItems": "Please select at least two items.", + "MessageTheFollowingItemsWillBeGrouped": "The following titles will be grouped into one item:", + "MessageConfirmItemGrouping": "Media Browser clients will automatically choose the optimal version to play based on device and network performance. Are you sure you wish to continue?", + "HeaderResume": "Resume", + "HeaderMyViews": "My Views", + "HeaderLibraryFolders": "Media Folders", + "HeaderLatestMedia": "Latest Media", + "ButtonMoreItems": "More...", + "ButtonMore": "More", + "HeaderFavoriteMovies": "Favorite Movies", + "HeaderFavoriteShows": "Favorite Shows", + "HeaderFavoriteEpisodes": "Favorite Episodes", + "HeaderFavoriteGames": "Favorite Games", + "HeaderRatingsDownloads": "Rating \/ Downloads", + "HeaderConfirmProfileDeletion": "Confirm Profile Deletion", + "MessageConfirmProfileDeletion": "Are you sure you wish to delete this profile?", + "HeaderSelectServerCachePath": "Select Server Cache Path", + "HeaderSelectTranscodingPath": "Select Transcoding Temporary Path", + "HeaderSelectImagesByNamePath": "Select Images By Name Path", + "HeaderSelectMetadataPath": "Select Metadata Path", + "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.", + "HeaderSelectImagesByNamePathHelp": "Browse or enter the path to your items by name folder. The folder must be writeable.", + "HeaderSelectMetadataPathHelp": "Browse or enter the path you'd like to store metadata within. The folder must be writeable.", + "HeaderSelectChannelDownloadPath": "Select Channel Download Path", + "HeaderSelectChannelDownloadPathHelp": "Browse or enter the path to use for storing channel cache files. The folder must be writeable.", + "OptionNewCollection": "New...", + "ButtonAdd": "Add", + "ButtonRemove": "Remove", + "LabelChapterDownloaders": "Chapter downloaders:", + "LabelChapterDownloadersHelp": "Enable and rank your preferred chapter downloaders in order of priority. Lower priority downloaders will only be used to fill in missing information.", + "HeaderFavoriteAlbums": "Favorite Albums", + "HeaderLatestChannelMedia": "Latest Channel Items", + "ButtonOrganizeFile": "Organize File", + "ButtonDeleteFile": "Delete File", + "HeaderOrganizeFile": "Organize File", + "HeaderDeleteFile": "Delete File", + "StatusSkipped": "Skipped", + "StatusFailed": "Failed", + "StatusSuccess": "Success", + "MessageFileWillBeDeleted": "The following file will be deleted:", + "MessageSureYouWishToProceed": "Are you sure you wish to proceed?", + "MessageDuplicatesWillBeDeleted": "In addition the following dupliates will be deleted:", + "MessageFollowingFileWillBeMovedFrom": "The following file will be moved from:", + "MessageDestinationTo": "to:", + "HeaderSelectWatchFolder": "Select Watch Folder", + "HeaderSelectWatchFolderHelp": "Browse or enter the path to your watch folder. The folder must be writeable.", + "OrganizePatternResult": "Result: {0}", + "HeaderRestart": "Restart", + "HeaderShutdown": "Shutdown", + "MessageConfirmRestart": "Are you sure you wish to restart Media Browser Server?", + "MessageConfirmShutdown": "Are you sure you wish to shutdown Media Browser Server?", + "ButtonUpdateNow": "Update Now", + "ValueItemCount": "{0} item", + "ValueItemCountPlural": "{0} items", + "NewVersionOfSomethingAvailable": "A new version of {0} is available!", + "VersionXIsAvailableForDownload": "Version {0} is now available for download.", + "LabelVersionNumber": "Version {0}", + "LabelPlayMethodTranscoding": "Transcoding", + "LabelPlayMethodDirectStream": "Direct Streaming", + "LabelPlayMethodDirectPlay": "Direct Playing", + "LabelAudioCodec": "Audio: {0}", + "LabelVideoCodec": "Video: {0}", + "LabelLocalAccessUrl": "Local access: {0}", + "LabelRemoteAccessUrl": "Remote access: {0}", + "LabelRunningOnPort": "Running on http port {0}.", + "LabelRunningOnPorts": "Running on http port {0}, and https port {1}.", + "HeaderLatestFromChannel": "Latest from {0}", + "ButtonDownload": "Download", + "LabelUnknownLanaguage": "Unknown language", + "HeaderCurrentSubtitles": "Current Subtitles", + "MessageDownloadQueued": "The download has been queued.", + "MessageAreYouSureDeleteSubtitles": "Are you sure you wish to delete this subtitle file?", + "ButtonRemoteControl": "Remote Control", + "HeaderLatestTvRecordings": "Latest Recordings", + "ButtonOk": "Ok", + "ButtonCancel": "Cancel", + "ButtonRefresh": "Refresh", + "LabelCurrentPath": "Current path:", + "HeaderSelectMediaPath": "Select Media Path", + "HeaderSelectPath": "Select Path", + "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}.", + "HeaderMenu": "Menu", + "ButtonOpen": "Open", + "ButtonOpenInNewTab": "Open in new tab", + "ButtonShuffle": "Shuffle", + "ButtonInstantMix": "Instant mix", + "ButtonResume": "Resume", + "HeaderScenes": "Scenes", + "HeaderAudioTracks": "Audio Tracks", + "HeaderLibraries": "Libraries", + "HeaderSubtitles": "Subtitles", + "HeaderVideoQuality": "Video Quality", + "MessageErrorPlayingVideo": "There was an error playing the video.", + "MessageEnsureOpenTuner": "Please ensure there is an open tuner availalble.", + "ButtonHome": "Home", + "ButtonDashboard": "Dashboard", + "ButtonReports": "Reports", + "ButtonMetadataManager": "Metadata Manager", + "HeaderTime": "Time", + "HeaderName": "Name", + "HeaderAlbum": "Album", + "HeaderAlbumArtist": "Album Artist", + "HeaderArtist": "Artist", + "LabelAddedOnDate": "Added {0}", + "ButtonStart": "Start", + "HeaderChannels": "Channels", + "HeaderMediaFolders": "Media Folders", + "HeaderBlockItemsWithNoRating": "Block items with no rating information:", + "OptionBlockOthers": "Others", + "OptionBlockTvShows": "TV Shows", + "OptionBlockTrailers": "Trailers", + "OptionBlockMusic": "Music", + "OptionBlockMovies": "Movies", + "OptionBlockBooks": "Books", + "OptionBlockGames": "Games", + "OptionBlockLiveTvPrograms": "Live TV Programs", + "OptionBlockLiveTvChannels": "Live TV Channels", + "OptionBlockChannelContent": "Internet Channel Content", + "ButtonRevoke": "Revoke", + "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.", + "HeaderConfirmRevokeApiKey": "Revoke Api Key", + "ValueContainer": "Container: {0}", + "ValueAudioCodec": "Audio Codec: {0}", + "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", + "ButtonMoveLeft": "Move left", + "ButtonMoveRight": "Move right", + "ButtonBrowseOnlineImages": "Browse online images", + "HeaderDeleteItem": "Delete Item", + "ConfirmDeleteItem": "Deleting this item will delete it from both the file system and your media library. Are you sure you wish to continue?", + "MessagePleaseEnterNameOrId": "Please enter a name or an external Id.", + "MessageValueNotCorrect": "The value entered is not correct. Please try again.", + "MessageItemSaved": "Item saved.", + "MessagePleaseAcceptTermsOfServiceBeforeContinuing": "Please accept the terms of service before continuing.", + "OptionEnded": "Ended", + "OptionContinuing": "Continuing", + "OptionOff": "Off", + "OptionOn": "On", + "ButtonSettings": "Settings", + "ButtonUninstall": "Uninstall", + "HeaderFields": "Fields", + "HeaderFieldsHelp": "Slide a field to 'off' to lock it and prevent it's data from being changed.", + "HeaderLiveTV": "Live TV", + "MissingLocalTrailer": "Missing local trailer.", + "MissingPrimaryImage": "Missing primary image.", + "MissingBackdropImage": "Missing backdrop image.", + "MissingLogoImage": "Missing logo image.", + "MissingEpisode": "Missing episode.", + "OptionScreenshots": "Screenshots", + "OptionBackdrops": "Backdrops", + "OptionImages": "Images", + "OptionKeywords": "Keywords", + "OptionTags": "Tags", + "OptionStudios": "Studios", + "OptionName": "Name", + "OptionOverview": "Overview", + "OptionGenres": "Genres", + "OptionParentalRating": "Parental Rating", + "OptionPeople": "People", + "OptionRuntime": "Runtime", + "OptionProductionLocations": "Production Locations", + "OptionBirthLocation": "Birth Location", + "LabelAllChannels": "All channels", + "LabelLiveProgram": "LIVE", + "LabelNewProgram": "NEW", + "LabelPremiereProgram": "PREMIERE", + "LabelHDProgram": "HD", + "HeaderChangeFolderType": "Change Content Type", + "HeaderChangeFolderTypeHelp": "To change the type, please remove and rebuild the folder with the new type.", + "HeaderAlert": "Alert", + "MessagePleaseRestart": "Please restart to finish updating.", + "ButtonRestart": "Restart", + "MessagePleaseRefreshPage": "Please refresh this page to receive new updates from the server.", + "ButtonHide": "Hide", + "MessageSettingsSaved": "Settings saved.", + "ButtonSignOut": "Sign Out", + "ButtonMyProfile": "My Profile", + "ButtonMyPreferences": "My Preferences", + "MessageBrowserDoesNotSupportWebSockets": "This browser does not support web sockets. For a better experience, try a newer browser such as Chrome, Firefox, IE10+, Safari (iOS) or Opera.", + "LabelInstallingPackage": "Installing {0}", + "LabelPackageInstallCompleted": "{0} installation completed.", + "LabelPackageInstallFailed": "{0} installation failed.", + "LabelPackageInstallCancelled": "{0} installation cancelled.", + "TabServer": "Server", + "TabUsers": "Users", + "TabLibrary": "Library", + "TabMetadata": "Metadata", + "TabDLNA": "DLNA", + "TabLiveTV": "Live TV", + "TabAutoOrganize": "Auto-Organize", + "TabPlugins": "Plugins", + "TabAdvanced": "Advanced", + "TabHelp": "Help", + "TabScheduledTasks": "Scheduled Tasks", + "ButtonFullscreen": "Celoten zaslon", + "ButtonAudioTracks": "Audio Tracks", + "ButtonSubtitles": "Subtitles", + "ButtonScenes": "Scenes", + "ButtonQuality": "Quality", + "HeaderNotifications": "Notifications", + "HeaderSelectPlayer": "Select Player:", + "ButtonSelect": "Select", + "ButtonNew": "New", + "MessageInternetExplorerWebm": "For best results with Internet Explorer please install the WebM playback plugin.", + "HeaderVideoError": "Video Error", + "ButtonAddToPlaylist": "Add to playlist", + "HeaderAddToPlaylist": "Add to Playlist", + "LabelName": "Name:", + "ButtonSubmit": "Submit", + "LabelSelectPlaylist": "Playlist:", + "OptionNewPlaylist": "New playlist...", + "MessageAddedToPlaylistSuccess": "Ok", + "ButtonView": "View", + "ButtonViewSeriesRecording": "View series recording", + "ValueOriginalAirDate": "Original air date: {0}", + "ButtonRemoveFromPlaylist": "Remove from playlist", + "HeaderSpecials": "Specials", + "HeaderTrailers": "Trailers", + "HeaderAudio": "Audio", + "HeaderResolution": "Resolution", + "HeaderVideo": "Video", + "HeaderRuntime": "Runtime", + "HeaderCommunityRating": "Community rating", + "HeaderParentalRating": "Parental rating", + "HeaderReleaseDate": "Release date", + "HeaderDateAdded": "Date added", + "HeaderSeries": "Series", + "HeaderSeason": "Season", + "HeaderSeasonNumber": "Season number", + "HeaderNetwork": "Network", + "HeaderYear": "Year", + "HeaderGameSystem": "Game system", + "HeaderPlayers": "Players", + "HeaderEmbeddedImage": "Embedded image", + "HeaderTrack": "Track", + "HeaderDisc": "Disc", + "OptionMovies": "Movies", + "OptionCollections": "Collections", + "OptionSeries": "Series", + "OptionSeasons": "Seasons", + "OptionEpisodes": "Episodes", + "OptionGames": "Games", + "OptionGameSystems": "Game systems", + "OptionMusicArtists": "Music artists", + "OptionMusicAlbums": "Music albums", + "OptionMusicVideos": "Music videos", + "OptionSongs": "Songs", + "OptionHomeVideos": "Home videos", + "OptionBooks": "Books", + "OptionAdultVideos": "Adult videos", + "ButtonUp": "Up", + "ButtonDown": "Down", + "LabelMetadataReaders": "Metadata readers:", + "LabelMetadataReadersHelp": "Rank your preferred local metadata sources in order of priority. The first file found will be read.", + "LabelMetadataDownloaders": "Metadata downloaders:", + "LabelMetadataDownloadersHelp": "Enable and rank your preferred metadata downloaders in order of priority. Lower priority downloaders will only be used to fill in missing information.", + "LabelMetadataSavers": "Metadata savers:", + "LabelMetadataSaversHelp": "Choose the file formats to save your metadata to.", + "LabelImageFetchers": "Image fetchers:", + "LabelImageFetchersHelp": "Enable and rank your preferred image fetchers in order of priority.", + "ButtonQueueAllFromHere": "Queue all from here", + "ButtonPlayAllFromHere": "Play all from here", + "LabelDynamicExternalId": "{0} Id:", + "HeaderIdentify": "Identify Item", + "PersonTypePerson": "Person", + "LabelTitleDisplayOrder": "Title display order:", + "OptionSortName": "Sort name", + "OptionReleaseDate": "Datum izdaje", + "LabelSeasonNumber": "Season number:", + "LabelDiscNumber": "Disc number", + "LabelParentNumber": "Parent number", + "LabelEpisodeNumber": "Episode number:", + "LabelTrackNumber": "Track number:", + "LabelNumber": "Number:", + "LabelReleaseDate": "Release date:", + "LabelEndDate": "End date:", + "LabelYear": "Year:", + "LabelDateOfBirth": "Date of birth:", + "LabelBirthYear": "Birth year:", + "LabelBirthDate": "Birth date:", + "LabelDeathDate": "Death date:", + "HeaderRemoveMediaLocation": "Remove Media Location", + "MessageConfirmRemoveMediaLocation": "Are you sure you wish to remove this location?", + "HeaderRenameMediaFolder": "Rename Media Folder", + "LabelNewName": "New name:", + "HeaderAddMediaFolder": "Add Media Folder", + "HeaderAddMediaFolderHelp": "Name (Movies, Music, TV, etc):", + "HeaderRemoveMediaFolder": "Remove Media Folder", + "MessageTheFollowingLocationWillBeRemovedFromLibrary": "The following media locations will be removed from your library:", + "MessageAreYouSureYouWishToRemoveMediaFolder": "Are you sure you wish to remove this media folder?", + "ButtonRename": "Rename", + "ButtonChangeType": "Change type", + "HeaderMediaLocations": "Media Locations", + "LabelContentTypeValue": "Content type: {0}", + "LabelPathSubstitutionHelp": "Optional: Path substitution can map server paths to network shares that clients can access for direct playback.", + "FolderTypeUnset": "Unset (mixed content)", + "FolderTypeMovies": "Movies", + "FolderTypeMusic": "Music", + "FolderTypeAdultVideos": "Adult videos", + "FolderTypePhotos": "Photos", + "FolderTypeMusicVideos": "Music videos", + "FolderTypeHomeVideos": "Home videos", + "FolderTypeGames": "Games", + "FolderTypeBooks": "Books", + "FolderTypeTvShows": "TV", + "TabMovies": "Movies", + "TabSeries": "Series", + "TabEpisodes": "Episodes", + "TabTrailers": "Trailers", + "TabGames": "Games", + "TabAlbums": "Albums", + "TabSongs": "Songs", + "TabMusicVideos": "Music Videos", + "BirthPlaceValue": "Birth place: {0}", + "DeathDateValue": "Died: {0}", + "BirthDateValue": "Born: {0}", + "HeaderLatestReviews": "Latest Reviews", + "HeaderPluginInstallation": "Plugin Installation", + "MessageAlreadyInstalled": "This version is already installed.", + "ValueReviewCount": "{0} Reviews", + "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)", + "MessageFeatureIncludedWithSupporter": "You are registered for this feature, and will be able to continue using it with an active supporter membership.", + "MessageChangeRecurringPlanConfirm": "After completing this transaction you will need to cancel your previous recurring donation from within your PayPal account. Thank you for supporting Media Browser.", + "MessageSupporterMembershipExpiredOn": "Your supporter membership expired on {0}.", + "MessageYouHaveALifetimeMembership": "You have a lifetime supporter membership. You can provide additional donations on a one-time or recurring basis using the options below. Thank you for supporting Media Browser.", + "MessageYouHaveAnActiveRecurringMembership": "You have an active {0} membership. You can upgrade your plan using the options below.", + "ButtonDelete": "Delete", + "HeaderMediaBrowserAccountAdded": "Media Browser Account Added", + "MessageMediaBrowserAccountAdded": "The Media Browser account has been added to this user.", + "MessagePendingMediaBrowserAccountAdded": "The Media Browser account has been added to this user. An email will be sent to the owner of the account. The invitation will need to be confirmed by clicking a link within the email.", + "HeaderMediaBrowserAccountRemoved": "Media Browser Account Removed", + "MessageMediaBrowserAccontRemoved": "The Media Browser account has been removed from this user.", + "TooltipLinkedToMediaBrowserConnect": "Linked to Media Browser Connect", + "HeaderUnrated": "Unrated", + "ValueDiscNumber": "Disc {0}", + "HeaderUnknownDate": "Unknown Date", + "HeaderUnknownYear": "Unknown Year", + "ValueMinutes": "{0} min", + "ButtonPlayExternalPlayer": "Play with external player", + "HeaderSelectExternalPlayer": "Select External Player", + "HeaderExternalPlayerPlayback": "External Player Playback", + "ButtonImDone": "I'm Done", + "OptionWatched": "Watched", + "OptionUnwatched": "Unwatched", + "ExternalPlayerPlaystateOptionsHelp": "Specify how you would like to resume playing this video next time.", + "LabelMarkAs": "Mark as:", + "OptionInProgress": "In-Progress", + "LabelResumePoint": "Resume point:", + "ValueOneMovie": "1 movie", + "ValueMovieCount": "{0} movies", + "ValueOneTrailer": "1 trailer", + "ValueTrailerCount": "{0} trailers", + "ValueOneSeries": "1 series", + "ValueSeriesCount": "{0} series", + "ValueOneEpisode": "1 episode", + "ValueEpisodeCount": "{0} episodes", + "ValueOneGame": "1 game", + "ValueGameCount": "{0} games", + "ValueOneAlbum": "1 album", + "ValueAlbumCount": "{0} albums", + "ValueOneSong": "1 song", + "ValueSongCount": "{0} songs", + "ValueOneMusicVideo": "1 music video", + "ValueMusicVideoCount": "{0} music videos", + "HeaderOffline": "Offline", + "HeaderUnaired": "Unaired", + "HeaderMissing": "Missing", + "ButtonWebsite": "Website", + "TooltipFavorite": "Favorite", + "TooltipLike": "Like", + "TooltipDislike": "Dislike", + "TooltipPlayed": "Played", + "ValueSeriesYearToPresent": "{0}-Present", + "ValueAwards": "Awards: {0}", + "ValueBudget": "Budget: {0}", + "ValueRevenue": "Revenue: {0}", + "ValuePremiered": "Premiered {0}", + "ValuePremieres": "Premieres {0}", + "ValueStudio": "Studio: {0}", + "ValueStudios": "Studios: {0}", + "ValueSpecialEpisodeName": "Special - {0}", + "LabelLimit": "Limit:", + "ValueLinks": "Links: {0}", + "HeaderPeople": "People", + "HeaderCastAndCrew": "Cast & Crew", + "ValueArtist": "Artist: {0}", + "ValueArtists": "Artists: {0}", + "HeaderTags": "Tags", + "MediaInfoCameraMake": "Camera make", + "MediaInfoCameraModel": "Camera model", + "MediaInfoAltitude": "Altitude", + "MediaInfoAperture": "Aperture", + "MediaInfoExposureTime": "Exposure time", + "MediaInfoFocalLength": "Focal length", + "MediaInfoOrientation": "Orientation", + "MediaInfoIsoSpeedRating": "Iso speed rating", + "MediaInfoLatitude": "Latitude", + "MediaInfoLongitude": "Longitude", + "MediaInfoShutterSpeed": "Shutter speed", + "MediaInfoSoftware": "Software", + "HeaderIfYouLikeCheckTheseOut": "If you like {0}, check these out...", + "HeaderPlotKeywords": "Plot Keywords", + "HeaderMovies": "Movies", + "HeaderAlbums": "Albums", + "HeaderGames": "Games", + "HeaderBooks": "Books", + "HeaderEpisodes": "Episodes", + "HeaderSeasons": "Seasons", + "HeaderTracks": "Tracks", + "HeaderItems": "Items", + "HeaderOtherItems": "Other Items", + "ButtonFullReview": "Full review", + "ValueAsRole": "as {0}", + "ValueGuestStar": "Guest star", + "MediaInfoSize": "Size", + "MediaInfoPath": "Path", + "MediaInfoFormat": "Format", + "MediaInfoContainer": "Container", + "MediaInfoDefault": "Default", + "MediaInfoForced": "Forced", + "MediaInfoExternal": "External", + "MediaInfoTimestamp": "Timestamp", + "MediaInfoPixelFormat": "Pixel format", + "MediaInfoBitDepth": "Bit depth", + "MediaInfoSampleRate": "Sample rate", + "MediaInfoBitrate": "Bitrate", + "MediaInfoChannels": "Channels", + "MediaInfoLayout": "Layout", + "MediaInfoLanguage": "Language", + "MediaInfoCodec": "Codec", + "MediaInfoProfile": "Profile", + "MediaInfoLevel": "Level", + "MediaInfoAspectRatio": "Aspect ratio", + "MediaInfoResolution": "Resolution", + "MediaInfoAnamorphic": "Anamorphic", + "MediaInfoInterlaced": "Interlaced", + "MediaInfoFramerate": "Framerate", + "MediaInfoStreamTypeAudio": "Audio", + "MediaInfoStreamTypeData": "Data", + "MediaInfoStreamTypeVideo": "Video", + "MediaInfoStreamTypeSubtitle": "Subtitle", + "MediaInfoStreamTypeEmbeddedImage": "Embedded Image", + "MediaInfoRefFrames": "Ref frames", + "TabPlayback": "Playback", + "TabNotifications": "Notifications", + "TabExpert": "Expert", + "HeaderSelectCustomIntrosPath": "Select Custom Intros Path", + "HeaderRateAndReview": "Rate and Review", + "HeaderThankYou": "Thank You", + "MessageThankYouForYourReview": "Thank you for your review.", + "LabelYourRating": "Your rating:", + "LabelFullReview": "Full review:", + "LabelShortRatingDescription": "Short rating summary:", + "OptionIRecommendThisItem": "I recommend this item", + "WebClientTourContent": "View your recently added media, next episodes, and more. The green circles indicate how many unplayed items you have.", + "WebClientTourMovies": "Play movies, trailers and more from any device with a web browser", + "WebClientTourMouseOver": "Hold the mouse over any poster for quick access to important information", + "WebClientTourTapHold": "Tap and hold or right click any poster for a context menu", + "WebClientTourMetadataManager": "Click edit to open the metadata manager", + "WebClientTourPlaylists": "Easily create playlists and instant mixes, and play them on any device", + "WebClientTourCollections": "Create movie collections to group box sets together", + "WebClientTourUserPreferences1": "User preferences allow you to customize the way your library is presented in all of your Media Browser apps", + "WebClientTourUserPreferences2": "Configure your audio and subtitle language settings once, for every Media Browser app", + "WebClientTourUserPreferences3": "Design the web client home page to your liking", + "WebClientTourUserPreferences4": "Configure backdrops, theme songs and external players", + "WebClientTourMobile1": "The web client works great on smartphones and tablets...", + "WebClientTourMobile2": "and easily controls other devices and Media Browser apps", + "MessageEnjoyYourStay": "Enjoy your stay", + "DashboardTourDashboard": "The server dashboard allows you to monitor your server and your users. You'll always know who is doing what and where they are.", + "DashboardTourHelp": "In-app help provides easy buttons to open wiki pages relating to the on-screen content.", + "DashboardTourUsers": "Easily create user accounts for your friends and family, each with their own permissions, library access, parental controls and more.", + "DashboardTourCinemaMode": "Cinema mode brings the theater experience straight to your living room with the ability to play trailers and custom intros before the main feature.", + "DashboardTourChapters": "Enable chapter image generation for your videos for a more pleasing presentation while viewing.", + "DashboardTourSubtitles": "Automatically download subtitles for your videos in any language.", + "DashboardTourPlugins": "Install plugins such as internet video channels, live tv, metadata scanners, and more.", + "DashboardTourNotifications": "Automatically send notifications of server events to your mobile device, email and more.", + "DashboardTourScheduledTasks": "Easily manage long running operations with scheduled tasks. Decide when they run, and how often.", + "DashboardTourMobile": "The Media Browser dashboard works great on smartphones and tablets. Manage your server from the palm of your hand anytime, anywhere.", + "MessageRefreshQueued": "Refresh queued", + "TabDevices": "Devices", + "TabExtras": "Extras", + "DeviceLastUsedByUserName": "Last used by {0}", + "HeaderDeleteDevice": "Delete Device", + "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 Media Browser.", + "ErrorMessageStartHourGreaterThanEnd": "End time must be greater than the start time.", + "ButtonLibraryAccess": "Library access", + "ButtonParentalControl": "Parental control", + "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 Media Browser.", + "HeaderConnectionFailure": "Connection Failure", + "MessageUnableToConnectToServer": "We're unable to connect to the selected server right now. Please ensure it is running and try again.", + "ButtonSelectServer": "Select 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", + "HeaderForgotPassword": "Forgot Password", + "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:", + "MessageForgotPasswordFileExpiration": "The reset pin will expire at {0}.", + "MessageInvalidForgotPasswordPin": "An invalid or expired pin was entered. Please try again.", + "MessagePasswordResetForUsers": "Passwords have been removed for the following users:", + "HeaderInviteGuest": "Invite Guest", + "ButtonLinkMyMediaBrowserAccount": "Link my account now", + "MessageConnectAccountRequiredToInviteGuest": "In order to invite guests you need to first link your Media Browser account to this server.", + "ButtonSync": "Sync", + "SyncMedia": "Sync Media", + "HeaderCancelSyncJob": "Cancel Sync", + "CancelSyncJobConfirmation": "Are you sure you wish to cancel this sync job?", + "TabSync": "Sync", + "MessagePleaseSelectDeviceToSyncTo": "Please select a device to sync to.", + "MessageSyncJobCreated": "Sync job created.", + "LabelSyncTo": "Sync to:", + "LabelSyncJobName": "Sync job name:", + "LabelQuality": "Kvaliteta:", + "OptionHigh": "Visoka", + "OptionMedium": "Srednja", + "OptionLow": "Nizka", + "HeaderSettings": "Nastavitve", + "OptionAutomaticallySyncNewContent": "Samodejno sinhroniziraj nove vsebine", + "OptionAutomaticallySyncNewContentHelp": "Nova vsebina, dodana v to kategorijo, bo samodejno sinhronizirana v napravo", + "OptionSyncUnwatchedVideosOnly": "Sync unwatched videos only", + "OptionSyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.", + "LabelItemLimit": "Item limit:", + "LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced.", + "MessageBookPluginRequired": "Requires installation of the Bookshelf plugin", + "MessageGamePluginRequired": "Requires installation of the GameBrowser plugin", + "MessageUnsetContentHelp": "Content will be displayed as plain folders. For best results use the metadata manager to set the content types of sub-folders.", + "SyncJobItemStatusQueued": "Queued", + "SyncJobItemStatusConverting": "Converting", + "SyncJobItemStatusTransferring": "Transferring", + "SyncJobItemStatusSynced": "Synced", + "SyncJobItemStatusFailed": "Failed", + "SyncJobItemStatusRemovedFromDevice": "Removed from device", + "SyncJobItemStatusCancelled": "Cancelled", + "MessageJobItemHasNoActions": "d" +} \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/sv.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/sv.json index d484f4e15..373232778 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/sv.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/sv.json @@ -49,8 +49,11 @@ "ButtonHelp": "Hj\u00e4lp", "ButtonSave": "Spara", "SyncJobStatusQueued": "Queued", - "SyncJobStatusInProgress": "In-Progress", + "SyncJobStatusConverting": "Converting", + "SyncJobStatusFailed": "Failed", + "SyncJobStatusCancelled": "Cancelled", "SyncJobStatusCompleted": "Synced", + "SyncJobStatusTransferring": "Transferring", "SyncJobStatusCompletedWithError": "Synced with errors", "LabelCollection": "Collection", "HeaderAddToCollection": "L\u00e4gg till samling", @@ -91,7 +94,7 @@ "HeaderSelectSubtitles": "V\u00e4lj undertexter", "ButtonMarkForRemoval": "Remove from device", "ButtonUnmarkForRemoval": "Cancel removal from device", - "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and Low reduce the allowed bitrate.", + "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and low quality will reduce the allowed bitrate.", "LabelDefaultStream": "(f\u00f6rvalda)", "LabelForcedStream": "(tvingade)", "LabelDefaultForcedStream": "(f\u00f6rvalda\/tvingade)", @@ -212,6 +215,8 @@ "MessageConfirmRestart": "\u00c4r du s\u00e4ker p\u00e5 att du vill starta om Media Browser Server?", "MessageConfirmShutdown": "\u00c4r du s\u00e4ker p\u00e5 att du vill st\u00e4nga av Media Browser Server?", "ButtonUpdateNow": "Uppdatera nu", + "ValueItemCount": "{0} item", + "ValueItemCountPlural": "{0} items", "NewVersionOfSomethingAvailable": "En ny version av {0} finns tillg\u00e4nglig!", "VersionXIsAvailableForDownload": "Version {0} finns tillg\u00e4nglig f\u00f6r h\u00e4mtning.", "LabelVersionNumber": "Version {0}", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/tr.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/tr.json index fb36a3641..4730eea15 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/tr.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/tr.json @@ -49,8 +49,11 @@ "ButtonHelp": "Help", "ButtonSave": "Kay\u0131t", "SyncJobStatusQueued": "Queued", - "SyncJobStatusInProgress": "In-Progress", + "SyncJobStatusConverting": "Converting", + "SyncJobStatusFailed": "Failed", + "SyncJobStatusCancelled": "Cancelled", "SyncJobStatusCompleted": "Synced", + "SyncJobStatusTransferring": "Transferring", "SyncJobStatusCompletedWithError": "Synced with errors", "LabelCollection": "Collection", "HeaderAddToCollection": "Add to Collection", @@ -91,7 +94,7 @@ "HeaderSelectSubtitles": "Select Subtitles", "ButtonMarkForRemoval": "Remove from device", "ButtonUnmarkForRemoval": "Cancel removal from device", - "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and Low reduce the allowed bitrate.", + "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and low quality will reduce the allowed bitrate.", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", @@ -212,6 +215,8 @@ "MessageConfirmRestart": "Are you sure you wish to restart Media Browser Server?", "MessageConfirmShutdown": "Are you sure you wish to shutdown Media Browser Server?", "ButtonUpdateNow": "Update Now", + "ValueItemCount": "{0} item", + "ValueItemCountPlural": "{0} items", "NewVersionOfSomethingAvailable": "A new version of {0} is available!", "VersionXIsAvailableForDownload": "Version {0} is now available for download.", "LabelVersionNumber": "Version {0}", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/uk.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/uk.json index 346c2107e..398e07f32 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/uk.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/uk.json @@ -49,8 +49,11 @@ "ButtonHelp": "Help", "ButtonSave": "\u0417\u0431\u0435\u0440\u0456\u0433\u0442\u0438", "SyncJobStatusQueued": "Queued", - "SyncJobStatusInProgress": "In-Progress", + "SyncJobStatusConverting": "Converting", + "SyncJobStatusFailed": "Failed", + "SyncJobStatusCancelled": "Cancelled", "SyncJobStatusCompleted": "Synced", + "SyncJobStatusTransferring": "Transferring", "SyncJobStatusCompletedWithError": "Synced with errors", "LabelCollection": "Collection", "HeaderAddToCollection": "\u0414\u043e\u0434\u0430\u0442\u0438 \u0434\u043e \u043a\u043e\u043b\u0435\u043a\u0446\u0456\u0457", @@ -91,7 +94,7 @@ "HeaderSelectSubtitles": "Select Subtitles", "ButtonMarkForRemoval": "Remove from device", "ButtonUnmarkForRemoval": "Cancel removal from device", - "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and Low reduce the allowed bitrate.", + "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and low quality will reduce the allowed bitrate.", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", @@ -212,6 +215,8 @@ "MessageConfirmRestart": "Are you sure you wish to restart Media Browser Server?", "MessageConfirmShutdown": "Are you sure you wish to shutdown Media Browser Server?", "ButtonUpdateNow": "Update Now", + "ValueItemCount": "{0} item", + "ValueItemCountPlural": "{0} items", "NewVersionOfSomethingAvailable": "A new version of {0} is available!", "VersionXIsAvailableForDownload": "Version {0} is now available for download.", "LabelVersionNumber": "Version {0}", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/vi.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/vi.json index bf3368b1a..6f81e96b0 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/vi.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/vi.json @@ -49,8 +49,11 @@ "ButtonHelp": "Help", "ButtonSave": "L\u01b0u", "SyncJobStatusQueued": "Queued", - "SyncJobStatusInProgress": "In-Progress", + "SyncJobStatusConverting": "Converting", + "SyncJobStatusFailed": "Failed", + "SyncJobStatusCancelled": "Cancelled", "SyncJobStatusCompleted": "Synced", + "SyncJobStatusTransferring": "Transferring", "SyncJobStatusCompletedWithError": "Synced with errors", "LabelCollection": "Collection", "HeaderAddToCollection": "Add to Collection", @@ -91,7 +94,7 @@ "HeaderSelectSubtitles": "Select Subtitles", "ButtonMarkForRemoval": "Remove from device", "ButtonUnmarkForRemoval": "Cancel removal from device", - "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and Low reduce the allowed bitrate.", + "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and low quality will reduce the allowed bitrate.", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", @@ -212,6 +215,8 @@ "MessageConfirmRestart": "Are you sure you wish to restart Media Browser Server?", "MessageConfirmShutdown": "Are you sure you wish to shutdown Media Browser Server?", "ButtonUpdateNow": "Update Now", + "ValueItemCount": "{0} item", + "ValueItemCountPlural": "{0} items", "NewVersionOfSomethingAvailable": "A new version of {0} is available!", "VersionXIsAvailableForDownload": "Version {0} is now available for download.", "LabelVersionNumber": "Version {0}", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/zh_CN.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/zh_CN.json index 0fcb4a0a5..1202699b9 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/zh_CN.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/zh_CN.json @@ -49,8 +49,11 @@ "ButtonHelp": "Help", "ButtonSave": "\u50a8\u5b58", "SyncJobStatusQueued": "Queued", - "SyncJobStatusInProgress": "In-Progress", + "SyncJobStatusConverting": "Converting", + "SyncJobStatusFailed": "Failed", + "SyncJobStatusCancelled": "Cancelled", "SyncJobStatusCompleted": "Synced", + "SyncJobStatusTransferring": "Transferring", "SyncJobStatusCompletedWithError": "Synced with errors", "LabelCollection": "\u5408\u96c6", "HeaderAddToCollection": "\u52a0\u5165\u5408\u96c6", @@ -89,9 +92,9 @@ "LabelFree": "\u514d\u8d39", "HeaderSelectAudio": "\u9009\u62e9\u97f3\u9891", "HeaderSelectSubtitles": "\u9009\u62e9\u5b57\u5e55", - "ButtonMarkForRemoval": "\u4ece\u8bbe\u5907\u4e2d\u6807\u8bb0\u5220\u9664", - "ButtonUnmarkForRemoval": "\u4ece\u8bbe\u5907\u4e2d\u53d6\u6d88\u6807\u8bb0\u5220\u9664", - "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and Low reduce the allowed bitrate.", + "ButtonMarkForRemoval": "Remove from device", + "ButtonUnmarkForRemoval": "Cancel removal from device", + "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and low quality will reduce the allowed bitrate.", "LabelDefaultStream": "(\u9ed8\u8ba4)", "LabelForcedStream": "(\u5f3a\u5236)", "LabelDefaultForcedStream": "(\u9ed8\u8ba4\/\u5f3a\u5236)", @@ -212,6 +215,8 @@ "MessageConfirmRestart": "\u4f60\u786e\u5b9a\u5e0c\u671b\u91cd\u542fMedia Browser\u670d\u52a1\u5668\uff1f", "MessageConfirmShutdown": "\u4f60\u786e\u5b9a\u5e0c\u671b\u5173\u95edMedia Browser\u670d\u52a1\u5668\uff1f", "ButtonUpdateNow": "\u73b0\u5728\u66f4\u65b0", + "ValueItemCount": "{0} item", + "ValueItemCountPlural": "{0} items", "NewVersionOfSomethingAvailable": "\u4e00\u4e2a\u65b0\u7684\u7248\u672c {0} \u53ef\u7528!", "VersionXIsAvailableForDownload": "\u7248\u672c {0} \u73b0\u5728\u5df2\u7ecf\u53ef\u4ee5\u4e0b\u8f7d\u3002", "LabelVersionNumber": "\u7248\u672c {0}", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/zh_TW.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/zh_TW.json index 6198dddf7..c8126df72 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/zh_TW.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/zh_TW.json @@ -49,8 +49,11 @@ "ButtonHelp": "Help", "ButtonSave": "\u4fdd\u5b58", "SyncJobStatusQueued": "Queued", - "SyncJobStatusInProgress": "In-Progress", + "SyncJobStatusConverting": "Converting", + "SyncJobStatusFailed": "Failed", + "SyncJobStatusCancelled": "Cancelled", "SyncJobStatusCompleted": "Synced", + "SyncJobStatusTransferring": "Transferring", "SyncJobStatusCompletedWithError": "Synced with errors", "LabelCollection": "Collection", "HeaderAddToCollection": "Add to Collection", @@ -91,7 +94,7 @@ "HeaderSelectSubtitles": "Select Subtitles", "ButtonMarkForRemoval": "Remove from device", "ButtonUnmarkForRemoval": "Cancel removal from device", - "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and Low reduce the allowed bitrate.", + "LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and low quality will reduce the allowed bitrate.", "LabelDefaultStream": "(Default)", "LabelForcedStream": "(Forced)", "LabelDefaultForcedStream": "(Default\/Forced)", @@ -212,6 +215,8 @@ "MessageConfirmRestart": "Are you sure you wish to restart Media Browser Server?", "MessageConfirmShutdown": "Are you sure you wish to shutdown Media Browser Server?", "ButtonUpdateNow": "Update Now", + "ValueItemCount": "{0} item", + "ValueItemCountPlural": "{0} items", "NewVersionOfSomethingAvailable": "A new version of {0} is available!", "VersionXIsAvailableForDownload": "Version {0} is now available for download.", "LabelVersionNumber": "Version {0}", diff --git a/MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs b/MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs index 173b0e5ce..d94fff9dd 100644 --- a/MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs +++ b/MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs @@ -381,6 +381,7 @@ namespace MediaBrowser.Server.Implementations.Localization new LocalizatonOption{ Name="Portuguese (Brazil)", Value="pt-BR"}, new LocalizatonOption{ Name="Portuguese (Portugal)", Value="pt-PT"}, new LocalizatonOption{ Name="Russian", Value="ru"}, + new LocalizatonOption{ Name="Slovenian (Slovenia)", Value="sl-SI"}, new LocalizatonOption{ Name="Spanish", Value="es-ES"}, new LocalizatonOption{ Name="Spanish (Mexico)", Value="es-MX"}, new LocalizatonOption{ Name="Swedish", Value="sv"}, diff --git a/MediaBrowser.Server.Implementations/Localization/Server/de.json b/MediaBrowser.Server.Implementations/Localization/Server/de.json index 7804cf296..b43150157 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/de.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/de.json @@ -32,7 +32,7 @@ "LabelEnableVideoImageExtraction": "Aktiviere Videobild-Extrahierung", "VideoImageExtractionHelp": "F\u00fcr Videos die noch keien Bilder haben, und f\u00fcr die wir keine Internetbilder finden k\u00f6nnen. Hierdurch wird der erste Bibliothekenscan etwas mehr Zeit beanspruchen, f\u00fchrt aber zu einer ansprechenderen Pr\u00e4sentation.", "LabelEnableChapterImageExtractionForMovies": "Extrahiere Kapitelbilder f\u00fcr Filme", - "LabelChapterImageExtractionForMoviesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs as a nightly scheduled task, although this is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", + "LabelChapterImageExtractionForMoviesHelp": "Das Extrahieren von Kapitel-Bildern erm\u00f6glicht es den Clients eine grafische Szenenauswahl anzubieten. Das Erstellen ist recht langsam, rechenintensiv und erfordert einige Gigabyte an freien Speicherplatz. Diese Aufgabe startet jede Nacht, das kann aber in den geplanten Aufgaben ge\u00e4ndert werden. Es wird nicht empfohlen diese Aufgabe in Zeiten hoher Server-Auslastung zu starten.", "LabelEnableAutomaticPortMapping": "Aktiviere automatische Portweiterleitung", "LabelEnableAutomaticPortMappingHelp": "UPnP erm\u00f6glicht die automatische Routerkonfiguration f\u00fcr den einfachen Remote-Zugriff. Diese Option ist nicht f\u00fcr jeden Router verf\u00fcgbar.", "HeaderTermsOfService": "Nutzungsbedingungen", @@ -46,7 +46,7 @@ "OptionEnableWebClientResourceMinification": "Aktiviere die Ressourcenminimierung des Web Clients", "LabelDashboardSourcePath": "Web Client Sourcepfad:", "LabelDashboardSourcePathHelp": "Spezifiziere den Pfad zum Dashboard-UI-Verzeichniss, falls der Server von der Source ausgef\u00fchrt wird. Alle Web-Client-Dateien werden von diesem Pfad aus bedient werden.", - "ButtonConvertMedia": "Convert media", + "ButtonConvertMedia": "Konvertiere Medien", "ButtonOrganize": "Organisieren", "ButtonOk": "Ok", "ButtonCancel": "Abbrechen", @@ -56,8 +56,8 @@ "HeaderVideo": "Video", "HeaderPaths": "Pfade", "CategorySync": "Sync", - "HeaderEasyPinCode": "Easy Pin Code", - "RegisterWithPayPal": "Register with PayPal", + "HeaderEasyPinCode": "Einfacher PIN Code", + "RegisterWithPayPal": "Registrieren mit PayPal", "HeaderSyncRequiresSupporterMembership": "Synchronisation ben\u00f6tigt eine Supporter-Mitgliedschaft", "HeaderEnjoyDayTrial": "Genie\u00dfen Sie eine 14 Tage Testversion", "LabelSyncTempPath": "Verzeichnis f\u00fcr tempor\u00e4re Dateien", @@ -346,7 +346,7 @@ "LabelAutomaticUpdatesTvdbHelp": "Falls aktviert, werden Bilder die unter TheTVDB.com neu hinzugef\u00fcgt wurden, automatisch geladen. Vorhandene Bilder werden nicht ersetzt.", "LabelFanartApiKey": "Pers\u00f6nlicher API Schl\u00fcssel:", "LabelFanartApiKeyHelp": "Fanart Anfragen ohne einen pers\u00f6nlichen API Schl\u00fcssel liefert Ergebnisse der letzten 7 Tage. Bei Verwendung eines pers\u00f6nlichen API Schl\u00fcssels werden Ergebnisse der letzten 48 Stunden, und als VIP Member, der letzten 10 Minuten geliefert.", - "ExtractChapterImagesHelp": "Extracting chapter images will allow clients 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.", + "ExtractChapterImagesHelp": "Das Extrahieren von Kapitel-Bildern erm\u00f6glicht es den Clients eine grafische Szenenauswahl anzubieten. Das Erstellen ist recht langsam, rechenintensiv und erfordert ggf. einige Gigabyte an freien Speicherplatz. Diese Aufgabe startet wenn neue Videos erkannt werden und ebenso als eine n\u00e4chtliche Aufgabe. Es wird nicht empfohlen diese Aufgabe in Zeiten hoher Server-Auslastung zu starten.", "LabelMetadataDownloadLanguage": "Bevorzugte Sprache f\u00fcr Downloads:", "ButtonAutoScroll": "Auto-scroll", "LabelImageSavingConvention": "Speicherconvention der Bilddatein:", @@ -669,7 +669,7 @@ "NotificationOptionInstallationFailed": "Installationsfehler", "NotificationOptionNewLibraryContent": "Neuer Inhalt hinzugef\u00fcgt", "NotificationOptionNewLibraryContentMultiple": "Neuen Inhalte hinzugef\u00fcgt (mehrere)", - "NotificationOptionCameraImageUploaded": "Camera image uploaded", + "NotificationOptionCameraImageUploaded": "Kamera Bild hochgeladen", "SendNotificationHelp": "Standardm\u00e4\u00dfig werden Benachrichtigungen in der Optionsleiste angezeigt. Durchsuche den Plugin Katalog f\u00fcr die Installation von weiteren Benachrichtigungsm\u00f6glichkeiten.", "NotificationOptionServerRestartRequired": "Serverneustart notwendig", "LabelNotificationEnabled": "Aktiviere diese Benachrichtigung", @@ -818,7 +818,7 @@ "HeaderDownloadSubtitlesFor": "Lade Untertitel runter f\u00fcr", "MessageNoChapterProviders": "Installiere ein Plugin f\u00fcr Kapitelinhalte, wie beispielsweise ChapterDb, um weitere Optionen f\u00fcr Kapitel zu erhalten.", "LabelSkipIfGraphicalSubsPresent": "\u00dcberspringen, falls das Video bereits grafische Untertitel enth\u00e4lt", - "LabelSkipIfGraphicalSubsPresentHelp": "Keeping text versions of subtitles will result in more efficient delivery and decrease the likelihood of video transcoding.", + "LabelSkipIfGraphicalSubsPresentHelp": "Das Vorhalten von textbasierten Untertiteln f\u00fchrt zu einer effizienteren Anzeige und verringert die Wahrscheinlichkeit einer Videotranskodierung.", "TabSubtitles": "Untertitel", "TabChapters": "Kapitel", "HeaderDownloadChaptersFor": "Lade Kapitelnamen herunter f\u00fcr:", @@ -888,7 +888,7 @@ "OptionCommunityMostWatchedSort": "Meistgesehen", "TabNextUp": "Als N\u00e4chstes", "HeaderBecomeMediaBrowserSupporter": "Werden Sie ein Media Browser Unterst\u00fctzer", - "TextEnjoyBonusFeatures": "Enjoy Bonus Features", + "TextEnjoyBonusFeatures": "Erleben Sie Bonus Funktionen", "MessageNoMovieSuggestionsAvailable": "Momentan sind keine Filmvorschl\u00e4ge verf\u00fcgbar. Schaue und bewerte zuerst deine Filme. Komme danach zur\u00fcck, um deine Filmvorschl\u00e4ge anzuschauen.", "MessageNoCollectionsAvailable": "Sammlungen erlauben Ihnen eine personalisierte Gruppierung von Filmen, Serien, Alben, B\u00fcchern und Spielen. Klicken Sie die + Schaltfl\u00e4che um Sammlungen zu erstellen.", "MessageNoPlaylistsAvailable": "Wiedergabeliste erlauben es dir eine Liste mit Inhalt zu erstellen der fortlaufend abgespielt wird. Um einer Wiedergabeliste Inhalte hinzuzuf\u00fcgen klicke rechts oder mache einen langen Tap und w\u00e4hle daraufhin \"Zur Wiedergabeliste hinzuf\u00fcgen\" aus.", @@ -953,9 +953,9 @@ "LabelProtocolInfo": "Protokoll Information:", "LabelProtocolInfoHelp": "Der Wert, der f\u00fcr die Beantwortung von GetProtocolInfo Anfragen durch die Endger\u00e4te benutzt wird.", "TabNfo": "Nfo", - "HeaderKodiMetadataHelp": "Media Browser includes native support for Nfo metadata files. To enable or disable Nfo metadata, use the Advanced tab to configure options for your media types.", + "HeaderKodiMetadataHelp": "Media Browser unterst\u00fctzt Nfo Metadaten von Haus aus. Zum Ein und Ausschalten der Nfo Metadaten verwenden Sie die Erweiterte Konfiguration ihrer Medientypen.", "LabelKodiMetadataUser": "Synchronisiere den \"Gesehen\" Status von Benutzern in NFO's f\u00fcr:", - "LabelKodiMetadataUserHelp": "Enable this to keep watch data in sync between Media Browser and Nfo files.", + "LabelKodiMetadataUserHelp": "Schalten Sie dies ein um den \"gesehen Status\" in Media Browser und Nfo-Dateien zu synchronisieren.", "LabelKodiMetadataDateFormat": "Ver\u00f6ffentlichungsdatum Format:", "LabelKodiMetadataDateFormatHelp": "Alle Daten in den NFO's werde unter Benutzung dieses Format gelesen und geschrieben.", "LabelKodiMetadataSaveImagePaths": "Speicher Bildpfade innerhalb der NFO Dateien", @@ -1120,14 +1120,14 @@ "LabelDisplayFoldersView": "Nutze die Verzeichnissansicht f\u00fcr die Darstellung der reinen Medienordner", "ViewTypeLiveTvRecordingGroups": "Aufnahmen", "ViewTypeLiveTvChannels": "Kan\u00e4le", - "LabelEasyPinCode": "Easy pin code:", - "EasyPasswordHelp": "Your easy pin code is used for offline access with supported Media Browser 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 Media Browser 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.", + "LabelEasyPinCode": "Einfacher pin code:", + "EasyPasswordHelp": "Ihr einfacher PIN Code wird f\u00fcr den offline Zugriff mit unterst\u00fctzenden Media Browser Apps verwenden und kann ebenso verwendet werden wenn Sie sich im selben Netzwerk befinden.", + "LabelInNetworkSignInWithEasyPassword": "Schalte Login mit einfachen Passwort f\u00fcr das eigene Netzwerk ein.", + "LabelInNetworkSignInWithEasyPasswordHelp": "Wenn eingeschaltet k\u00f6nnen Sie sich mit Ihrem einfachen PIN innerhalb Ihres Heimnetzwerkes anmelden. Ihr regul\u00e4res Passwort wird nur dann verwendet, wenn Sie nicht Zuhause sind. Wenn Sie dieses Passwort frei lassen ben\u00f6tigen Sie kein Passwort in Ihrem Heimnetzwerk.", "HeaderPassword": "Passwort", "HeaderLocalAccess": "Lokaler Zugriff", "HeaderViewOrder": "Reihenfolge f\u00fcr Ansichten", - "ButtonResetEasyPassword": "Reset easy pin code", + "ButtonResetEasyPassword": "Einfachen PIN zur\u00fccksetzen", "LabelSelectUserViewOrder": "W\u00e4hle die Reihenfolge in der die Ansichten innerhalb von Media Browser Apps angezeigt werden.", "LabelMetadataRefreshMode": "Metadaten Aktualisierungsmethode:", "LabelImageRefreshMode": "Aktualisierungsmethode f\u00fcr Bilder:", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/en_GB.json b/MediaBrowser.Server.Implementations/Localization/Server/en_GB.json index 4c3c54c44..3ff603bb4 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/en_GB.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/en_GB.json @@ -47,7 +47,7 @@ "LabelDashboardSourcePath": "Web client source path:", "LabelDashboardSourcePathHelp": "If running the server from source, specify the path to the dashboard-ui folder. All web client files will be served from this location.", "ButtonConvertMedia": "Convert media", - "ButtonOrganize": "Organize", + "ButtonOrganize": "Organise", "ButtonOk": "Ok", "ButtonCancel": "Cancel", "ButtonNew": "New", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/it.json b/MediaBrowser.Server.Implementations/Localization/Server/it.json index 1a1e5b852..50ea1b5b9 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/it.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/it.json @@ -32,7 +32,7 @@ "LabelEnableVideoImageExtraction": "Abilita estrazione immagine video", "VideoImageExtractionHelp": "Per i video che sono sprovvisti di immagini, e per i quali non siamo riusciti a trovare immagini su Internet.Questo aggiunger\u00e0 del tempo addizionale alla scansione della tua libreria ma si tradurr\u00e0 in una presentazione pi\u00f9 piacevole.", "LabelEnableChapterImageExtractionForMovies": "Estrazione immagine capitolo estratto per i Film", - "LabelChapterImageExtractionForMoviesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs as a nightly scheduled task, although this is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", + "LabelChapterImageExtractionForMoviesHelp": "L'estrazione delle immagini dai capitoli permetter\u00e0 ai client di avere un men\u00f9 grafico per la selezione delle scene. Il processo potrebbe essere lento, con uso intensivo della CPU e potrebbe richiedere diversi gigabyte di spazio. Viene avviato durante la notte, ad ogni modo \u00e8 configurabile nella sezione azioni pianificate. Non \u00e8 raccomandato l'avvio di questo processo durante le ore di massimo utilizzo.", "LabelEnableAutomaticPortMapping": "Abilita mappatura delle porte automatiche", "LabelEnableAutomaticPortMappingHelp": "UPnP consente la configurazione automatica del router per l'accesso remoto facile. Questo potrebbe non funzionare con alcuni modelli di router.", "HeaderTermsOfService": "Termini di servizio di Media Browser", @@ -346,7 +346,7 @@ "LabelAutomaticUpdatesTvdbHelp": "Se abilitato le nuove immagini verranno scaricate automaticamente da TheTvDB.com. Le immagini esistenti non verranno sovrascritte.", "LabelFanartApiKey": "Chiavi API personali", "LabelFanartApiKeyHelp": "I risultati di richieste per fanart senza una chiave API personale che sono state approvate pi\u00f9 di 7 giorni fa. Con una chiave API personale questo tempo scende a 48 ore, e se sei un membro VIP scender\u00e0 ulteriormente a circa 10 minuti.", - "ExtractChapterImagesHelp": "Extracting chapter images will allow clients 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.", + "ExtractChapterImagesHelp": "L'estrazione delle immagini dai capitoli permetter\u00e0 ai client di avere un men\u00f9 grafico per la selezione delle scene. Il processo potrebbe essere lento, con uso intensivo della CPU e potrebbe richiedere diversi gigabyte di spazio. Viene avviato quando vengono trovati nuovi video, e anche durante la notte, ad ogni modo \u00e8 configurabile nella sezione azioni pianificate. Non \u00e8 raccomandato l'avvio di questo processo durante le ore di massimo utilizzo.", "LabelMetadataDownloadLanguage": "Lingua preferita per il download:", "ButtonAutoScroll": "Scorrimento automatico", "LabelImageSavingConvention": "Convenzione per il salvataggio di immagini:", @@ -818,7 +818,7 @@ "HeaderDownloadSubtitlesFor": "Scarica sottotitoli per:", "MessageNoChapterProviders": "Installare un plugin provider capitoli come ChapterDb per attivare le opzioni capitolo aggiuntive.", "LabelSkipIfGraphicalSubsPresent": "Salta se il video contiene gi\u00e0 i sottotitoli grafici", - "LabelSkipIfGraphicalSubsPresentHelp": "Keeping text versions of subtitles will result in more efficient delivery and decrease the likelihood of video transcoding.", + "LabelSkipIfGraphicalSubsPresentHelp": "Mantenere le versioni testuali dei sottotitoli si tradurr\u00e0 in una riproduzione pi\u00f9 efficiente e diminuir\u00e0 la probabilit\u00e0 che sia necessaria la transcodifica video", "TabSubtitles": "Sottotitoli", "TabChapters": "capitoli", "HeaderDownloadChaptersFor": "Scarica i nomi dei capitoli per:", @@ -953,9 +953,9 @@ "LabelProtocolInfo": "Info protocollo:", "LabelProtocolInfoHelp": "Il valore che verr\u00e0 utilizzato quando si risponde a richieste GetProtocolInfo dal dispositivo.", "TabNfo": "Nfo", - "HeaderKodiMetadataHelp": "Media Browser includes native support for Nfo metadata files. To enable or disable Nfo metadata, use the Advanced tab to configure options for your media types.", + "HeaderKodiMetadataHelp": "Media Browser include il supporto nativo per i file metadati in formato Nfo. Per abilitare o disabilitare i metadati Nfo, utilizzare la sezione Avanzate per configurare le opzioni per i vostri tipi di file multimediali.", "LabelKodiMetadataUser": "Sincronizza i dati utente a nfo di per:", - "LabelKodiMetadataUserHelp": "Enable this to keep watch data in sync between Media Browser and Nfo files.", + "LabelKodiMetadataUserHelp": "Abilita questa opzione per tenere sincronizzati Media Browser e il file Nfo.", "LabelKodiMetadataDateFormat": "Data di uscita Formato:", "LabelKodiMetadataDateFormatHelp": "Tutte le date all'interno del nfo verranno letti e scritti utilizzando questo formato.", "LabelKodiMetadataSaveImagePaths": "Salva percorsi delle immagini all'interno dei file NFO", @@ -966,7 +966,7 @@ "LabelGroupChannelsIntoViews": "Visualizzare i seguenti canali direttamente dentro le mie visite:", "LabelGroupChannelsIntoViewsHelp": "Se abilitata, questi canali verranno visualizzati direttamente con altre viste. Se disattivato, saranno visualizzati all'interno di una sezione Canali separata.", "LabelDisplayCollectionsView": "Mostra le Collezioni di film", - "LabelDisplayCollectionsViewHelp": "This will create a separate view to display collections that you've created or have access to. To create a collection, right-click or tap-hold any movie and select 'Add to Collection'. ", + "LabelDisplayCollectionsViewHelp": "Questo creer\u00e0 una vista separata per le collezioni che si ha creato o alle quali si ha accesso. Per creare una collezione, cliccare con il tasto destro o effettuare un tocco prolungato su un film e selezionare \"Aggiungi alla collezione\" .", "LabelKodiMetadataEnableExtraThumbs": "Copia extrafanart in extrathumbs", "LabelKodiMetadataEnableExtraThumbsHelp": "Copia extrafanart in extrathumbs", "TabServices": "Servizi", @@ -1120,14 +1120,14 @@ "LabelDisplayFoldersView": "Visualizza cartelle come normali cartelle dei media", "ViewTypeLiveTvRecordingGroups": "Registrazioni", "ViewTypeLiveTvChannels": "canali", - "LabelEasyPinCode": "Easy pin code:", - "EasyPasswordHelp": "Your easy pin code is used for offline access with supported Media Browser 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 Media Browser 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.", + "LabelEasyPinCode": "Codice Pin", + "EasyPasswordHelp": "Il tuo codice PIN viene usato per l'acceso offline alle app che supportano Media Browser, e pu\u00f2 anche essere utilizzato per un facile accesso tramite la rete locale.", + "LabelInNetworkSignInWithEasyPassword": "Abilita l'accesso da rete locale tramite codice PIN.", + "LabelInNetworkSignInWithEasyPasswordHelp": "se attivato, potrai usare il tuo pin per accedere alle app Media Browser dall'interno della tua rete domestica, La tua password sara necessaria soltanto quando accederai da fuori casa. Se il codice PIN viene lasciato in bianco, non avrai bisogno di alcuna password all'interno della tua rete domestica.", "HeaderPassword": "Password", "HeaderLocalAccess": "Accesso locale", "HeaderViewOrder": "Visualizza ordine", - "ButtonResetEasyPassword": "Reset easy pin code", + "ButtonResetEasyPassword": "Resetta codice PIN", "LabelSelectUserViewOrder": "Scegliere l'ordine vostre opinioni verranno visualizzati in applicazioni all'interno del browser media", "LabelMetadataRefreshMode": "Metadata (modo Aggiornamento)", "LabelImageRefreshMode": "Immagine (modo Aggiornamento)", @@ -1316,7 +1316,7 @@ "MessageNoTrailersFound": "Nessun Trailer trovato.Installa Il plug in dei trailer per importare la libreria dei trailer da internet", "HeaderNewUsers": "Nuovo Utente", "ButtonSignUp": "Iscriviti", - "ButtonForgotPassword": "Forgot password", + "ButtonForgotPassword": "Password Dimenticata", "OptionDisableUserPreferences": "Disabilitare l'accesso alle preferenze dell'utente", "OptionDisableUserPreferencesHelp": "Se abilitato, solo gli amministratori saranno in grado di configurare le immagini del profilo utente, password e preferenze di lingua.", "HeaderSelectServer": "Selezionare il server", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/kk.json b/MediaBrowser.Server.Implementations/Localization/Server/kk.json index 290bb5bdb..e9e1f4f65 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/kk.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/kk.json @@ -593,7 +593,7 @@ "LabelDeleteLeftOverFiles": "\u041a\u0435\u043b\u0435\u0441\u0456 \u043a\u0435\u04a3\u0435\u0439\u0442\u0456\u043c\u0434\u0435\u0440\u0456 \u0431\u0430\u0440 \u049b\u0430\u043b\u0493\u0430\u043d \u0444\u0430\u0439\u043b\u0434\u0430\u0440\u0434\u044b \u0436\u043e\u044e:", "LabelDeleteLeftOverFilesHelp": "\u041c\u044b\u043d\u0430\u043d\u044b (;) \u0430\u0440\u049b\u044b\u043b\u044b \u0431\u04e9\u043b\u0456\u043f \u0430\u043b\u044b\u04a3\u044b\u0437. \u041c\u044b\u0441\u0430\u043b\u044b: .nfo;.txt", "OptionOverwriteExistingEpisodes": "\u0411\u0430\u0440 \u044d\u043f\u0438\u0437\u043e\u0434\u0442\u0430\u0440\u0434\u044b \u049b\u0430\u0439\u0442\u0430 \u0436\u0430\u0437\u0443", - "LabelTransferMethod": "\u0422\u0430\u0441\u044b\u043c\u0430\u043b\u0434\u0430\u0443 \u04d9\u0434\u0456\u0441\u0456", + "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", @@ -616,7 +616,7 @@ "MessagePleaseRestartServerToFinishUpdating": "\u0416\u0430\u04a3\u0430\u0440\u0442\u0443\u043b\u0430\u0440\u0434\u044b\u04a3 \u049b\u043e\u043b\u0434\u0430\u043d\u0443\u044b\u043d \u0430\u044f\u049b\u0442\u0430\u0443 \u04af\u0448\u0456\u043d \u0441\u0435\u0440\u0432\u0435\u0440\u0434\u0456 \u049b\u0430\u0439\u0442\u0430 \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u044b\u04a3\u044b\u0437", "LabelDownMixAudioScale": "\u041a\u0435\u043c\u0456\u0442\u0456\u043b\u0456\u043f \u043c\u0438\u043a\u0448\u0435\u0440\u043b\u0435\u043d\u0433\u0435\u043d\u0434\u0435 \u0434\u044b\u0431\u044b\u0441 \u04e9\u0442\u0435\u043c\u0456:", "LabelDownMixAudioScaleHelp": "\u0414\u044b\u0431\u044b\u0441\u0442\u044b \u043a\u0435\u043c\u0456\u0442\u0456\u043b\u0456\u043f \u043c\u0438\u043a\u0448\u0435\u0440\u043b\u0435\u043d\u0433\u0435\u043d\u0434\u0435 \u04e9\u0442\u0435\u043c\u0434\u0435\u0443. \u0411\u0430\u0441\u0442\u0430\u043f\u049b\u044b \u0434\u0435\u04a3\u0433\u0435\u0439 \u043c\u04d9\u043d\u0456\u043d \u04e9\u0437\u0433\u0435\u0440\u0442\u043f\u0435\u0443 \u04af\u0448\u0456\u043d 1 \u0441\u0430\u043d\u044b\u043d \u043e\u0440\u043d\u0430\u0442\u044b\u04a3\u044b\u0437..", - "ButtonLinkKeys": "\u041a\u0456\u043b\u0442\u0442\u0435\u0440\u0434\u0456 \u0430\u0443\u044b\u0441\u0442\u044b\u0440\u0443", + "ButtonLinkKeys": "\u041a\u0456\u043b\u0442\u0442\u0456 \u0430\u0443\u044b\u0441\u0442\u044b\u0440\u0443", "LabelOldSupporterKey": "\u0416\u0430\u049b\u0442\u0430\u0443\u0448\u044b\u043d\u044b\u04a3 \u0435\u0441\u043a\u0456 \u043a\u0456\u043b\u0442\u0456", "LabelNewSupporterKey": "\u0416\u0430\u049b\u0442\u0430\u0443\u0448\u044b\u043d\u044b\u04a3 \u0436\u0430\u04a3\u0430 \u043a\u0456\u043b\u0442\u0456", "HeaderMultipleKeyLinking": "\u0416\u0430\u04a3\u0430 \u043a\u0456\u043b\u0442\u043a\u0435 \u0430\u0443\u044b\u0441\u0442\u044b\u0440\u0443", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/ru.json b/MediaBrowser.Server.Implementations/Localization/Server/ru.json index 0ecad9dec..77e28b0cd 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/ru.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/ru.json @@ -593,7 +593,7 @@ "LabelDeleteLeftOverFiles": "\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043e\u0441\u0442\u0430\u0432\u0448\u0438\u0445\u0441\u044f \u0444\u0430\u0439\u043b\u043e\u0432 \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f\u043c\u0438:", "LabelDeleteLeftOverFilesHelp": "\u0420\u0430\u0437\u0434\u0435\u043b\u044f\u0439\u0442\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u00ab;\u00bb. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440: .nfo;.txt", "OptionOverwriteExistingEpisodes": "\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u044d\u043f\u0438\u0437\u043e\u0434\u044b", - "LabelTransferMethod": "\u041c\u0435\u0442\u043e\u0434 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430", + "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", @@ -619,7 +619,7 @@ "ButtonLinkKeys": "\u041f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u043a\u043b\u044e\u0447", "LabelOldSupporterKey": "\u0421\u0442\u0430\u0440\u044b\u0439 \u043a\u043b\u044e\u0447 \u0441\u043f\u043e\u043d\u0441\u043e\u0440\u0430", "LabelNewSupporterKey": "\u041d\u043e\u0432\u044b\u0439 \u043a\u043b\u044e\u0447 \u0441\u043f\u043e\u043d\u0441\u043e\u0440\u0430", - "HeaderMultipleKeyLinking": "\u041f\u0435\u0440\u0435\u0445\u043e\u0434 \u043a \u043d\u043e\u0432\u043e\u043c\u0443 \u043a\u043b\u044e\u0447\u0443", + "HeaderMultipleKeyLinking": "\u041f\u0435\u0440\u0435\u043d\u043e\u0441 \u043a \u043d\u043e\u0432\u043e\u043c\u0443 \u043a\u043b\u044e\u0447\u0443", "MultipleKeyLinkingHelp": "\u0415\u0441\u043b\u0438 \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u043a\u043b\u044e\u0447 \u0441\u043f\u043e\u043d\u0441\u043e\u0440\u0430, \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435\u0441\u044c \u0434\u0430\u043d\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u043e\u0439, \u0447\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0441\u043e \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430 \u043a \u043d\u043e\u0432\u043e\u043c\u0443.", "LabelCurrentEmailAddress": "\u0422\u0435\u043a\u0443\u0449\u0438\u0439 \u0430\u0434\u0440\u0435\u0441 \u042d-\u043f\u043e\u0447\u0442\u044b", "LabelCurrentEmailAddressHelp": "\u0422\u0435\u043a\u0443\u0449\u0438\u0439 \u0430\u0434\u0440\u0435\u0441 \u042d-\u043f\u043e\u0447\u0442\u044b, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b\u043b \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u043d\u043e\u0432\u044b\u0439 \u043a\u043b\u044e\u0447.", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/sl_SI.json b/MediaBrowser.Server.Implementations/Localization/Server/sl_SI.json new file mode 100644 index 000000000..44ea51f80 --- /dev/null +++ b/MediaBrowser.Server.Implementations/Localization/Server/sl_SI.json @@ -0,0 +1,1356 @@ +{ + "LabelExit": "Exit", + "LabelVisitCommunity": "Visit Community", + "LabelGithub": "Github", + "LabelSwagger": "Swagger", + "LabelStandard": "Standard", + "LabelApiDocumentation": "Api Documentation", + "LabelDeveloperResources": "Developer Resources", + "LabelBrowseLibrary": "Browse Library", + "LabelConfigureMediaBrowser": "Configure Media Browser", + "LabelOpenLibraryViewer": "Open Library Viewer", + "LabelRestartServer": "Restart Server", + "LabelShowLogWindow": "Show Log Window", + "LabelPrevious": "Previous", + "LabelFinish": "Finish", + "LabelNext": "Next", + "LabelYoureDone": "You're Done!", + "WelcomeToMediaBrowser": "Welcome to Media Browser!", + "TitleMediaBrowser": "Media Browser", + "ThisWizardWillGuideYou": "This wizard will help guide you through the setup process. To begin, please select your preferred language.", + "TellUsAboutYourself": "Tell us about yourself", + "ButtonQuickStartGuide": "Quick start guide", + "LabelYourFirstName": "Your first name:", + "MoreUsersCanBeAddedLater": "More users can be added later within the Dashboard.", + "UserProfilesIntro": "Media Browser includes built-in support for user profiles, enabling each user to have their own display settings, playstate and parental controls.", + "LabelWindowsService": "Windows Service", + "AWindowsServiceHasBeenInstalled": "A Windows Service has been installed.", + "WindowsServiceIntro1": "Media Browser Server normally runs as a desktop application with a tray icon, but if you prefer to run it as a background service, it can be started from the windows services control panel instead.", + "WindowsServiceIntro2": "If using the windows service, please note that it cannot be run at the same time as the tray icon, so you'll need to exit the tray in order to run the service. The service will also need to be configured with administrative privileges via the control panel. Please note that at this time the service is unable to self-update, so new versions will require manual interaction.", + "WizardCompleted": "That's all we need for now. Media Browser has begun collecting information about your media library. Check out some of our apps, and then click Finish<\/b> to view the Server Dashboard<\/b>.", + "LabelConfigureSettings": "Configure settings", + "LabelEnableVideoImageExtraction": "Enable video image extraction", + "VideoImageExtractionHelp": "For videos that don't already have images, and that we're unable to find internet images for. This will add some additional time to the initial library scan but will result in a more pleasing presentation.", + "LabelEnableChapterImageExtractionForMovies": "Extract chapter image extraction for Movies", + "LabelChapterImageExtractionForMoviesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs as a nightly scheduled task, although this is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", + "LabelEnableAutomaticPortMapping": "Enable automatic port mapping", + "LabelEnableAutomaticPortMappingHelp": "UPnP allows automated router configuration for easy remote access. This may not work with some router models.", + "HeaderTermsOfService": "Media Browser Terms of Service", + "MessagePleaseAcceptTermsOfService": "Please accept the terms of service and privacy policy before continuing.", + "OptionIAcceptTermsOfService": "I accept the terms of service", + "ButtonPrivacyPolicy": "Privacy policy", + "ButtonTermsOfService": "Terms of Service", + "HeaderDeveloperOptions": "Developer Options", + "OptionEnableWebClientResponseCache": "Enable web client response caching", + "OptionDisableForDevelopmentHelp": "Configure these as needed for web client development purposes.", + "OptionEnableWebClientResourceMinification": "Enable web client resource minification", + "LabelDashboardSourcePath": "Web client source path:", + "LabelDashboardSourcePathHelp": "If running the server from source, specify the path to the dashboard-ui folder. All web client files will be served from this location.", + "ButtonConvertMedia": "Convert media", + "ButtonOrganize": "Organize", + "ButtonOk": "Ok", + "ButtonCancel": "Cancel", + "ButtonNew": "New", + "HeaderTV": "TV", + "HeaderAudio": "Audio", + "HeaderVideo": "Video", + "HeaderPaths": "Paths", + "CategorySync": "Sync", + "HeaderEasyPinCode": "Easy Pin Code", + "RegisterWithPayPal": "Register with PayPal", + "HeaderSyncRequiresSupporterMembership": "Sync Requires a Supporter Membership", + "HeaderEnjoyDayTrial": "Enjoy a 14 Day Free Trial", + "LabelSyncTempPath": "Temporary file path:", + "LabelSyncTempPathHelp": "Specify a custom sync working folder. Converted media created during the sync process will be stored here.", + "LabelCustomCertificatePath": "Custom certificate path:", + "LabelCustomCertificatePathHelp": "Supply your own ssl certificate. If omitted, the server will create a self-signed certificate.", + "TitleNotifications": "Notifications", + "ButtonDonateWithPayPal": "Donate with PayPal", + "OptionDetectArchiveFilesAsMedia": "Detect archive files as media", + "OptionDetectArchiveFilesAsMediaHelp": "If enabled, files with .rar and .zip extensions will be detected as media files.", + "LabelEnterConnectUserName": "User name or email:", + "LabelEnterConnectUserNameHelp": "This is your Media Browser online account user name or password.", + "HeaderSyncJobInfo": "Sync Job", + "FolderTypeMixed": "Mixed content", + "FolderTypeMovies": "Movies", + "FolderTypeMusic": "Music", + "FolderTypeAdultVideos": "Adult videos", + "FolderTypePhotos": "Photos", + "FolderTypeMusicVideos": "Music videos", + "FolderTypeHomeVideos": "Home videos", + "FolderTypeGames": "Games", + "FolderTypeBooks": "Books", + "FolderTypeTvShows": "TV", + "FolderTypeInherit": "Inherit", + "LabelContentType": "Content type:", + "TitleScheduledTasks": "Scheduled Tasks", + "HeaderSetupLibrary": "Setup your media library", + "ButtonAddMediaFolder": "Add media folder", + "LabelFolderType": "Folder type:", + "ReferToMediaLibraryWiki": "Refer to the media library wiki.", + "LabelCountry": "Country:", + "LabelLanguage": "Language:", + "ButtonJoinTheDevelopmentTeam": "Join the Development Team", + "HeaderPreferredMetadataLanguage": "Preferred metadata language:", + "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": "Media Browser can download information about your media to enable rich presentations.", + "TabPreferences": "Preferences", + "TabPassword": "Password", + "TabLibraryAccess": "Library Access", + "TabAccess": "Access", + "TabImage": "Image", + "TabProfile": "Profile", + "TabMetadata": "Metadata", + "TabImages": "Images", + "TabNotifications": "Notifications", + "TabCollectionTitles": "Titles", + "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", + "LabelUnairedMissingEpisodesWithinSeasons": "Display unaired episodes within seasons", + "HeaderVideoPlaybackSettings": "Video Playback Settings", + "HeaderPlaybackSettings": "Playback Settings", + "LabelAudioLanguagePreference": "Audio language preference:", + "LabelSubtitleLanguagePreference": "Subtitle language preference:", + "OptionDefaultSubtitles": "Default", + "OptionOnlyForcedSubtitles": "Only forced subtitles", + "OptionAlwaysPlaySubtitles": "Always play subtitles", + "OptionNoSubtitles": "No Subtitles", + "OptionDefaultSubtitlesHelp": "Subtitles matching the language preference will be loaded when the audio is in a foreign language.", + "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", + "ButtonAddLocalUser": "Add Local User", + "ButtonInviteUser": "Invite User", + "ButtonSave": "Save", + "ButtonResetPassword": "Reset Password", + "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", + "LabelDropImageHere": "Drop image here", + "ImageUploadAspectRatioHelp": "1:1 Aspect Ratio Recommended. JPG\/PNG only.", + "MessageNothingHere": "Nothing here.", + "MessagePleaseEnsureInternetMetadata": "Please ensure downloading of internet metadata is enabled.", + "TabSuggested": "Suggested", + "TabLatest": "Latest", + "TabUpcoming": "Upcoming", + "TabShows": "Shows", + "TabEpisodes": "Episodes", + "TabGenres": "Genres", + "TabPeople": "People", + "TabNetworks": "Networks", + "HeaderUsers": "Users", + "HeaderFilters": "Filters:", + "ButtonFilter": "Filter", + "OptionFavorite": "Favorites", + "OptionLikes": "Likes", + "OptionDislikes": "Dislikes", + "OptionActors": "Actors", + "OptionGuestStars": "Guest Stars", + "OptionDirectors": "Directors", + "OptionWriters": "Writers", + "OptionProducers": "Producers", + "HeaderResume": "Resume", + "HeaderNextUp": "Next Up", + "NoNextUpItemsMessage": "None found. Start watching your shows!", + "HeaderLatestEpisodes": "Latest Episodes", + "HeaderPersonTypes": "Person Types:", + "TabSongs": "Songs", + "TabAlbums": "Albums", + "TabArtists": "Artists", + "TabAlbumArtists": "Album Artists", + "TabMusicVideos": "Music Videos", + "ButtonSort": "Sort", + "HeaderSortBy": "Sort By:", + "HeaderSortOrder": "Sort Order:", + "OptionPlayed": "Played", + "OptionUnplayed": "Unplayed", + "OptionAscending": "Ascending", + "OptionDescending": "Descending", + "OptionRuntime": "Runtime", + "OptionReleaseDate": "Release Date", + "OptionPlayCount": "Play Count", + "OptionDatePlayed": "Date Played", + "OptionDateAdded": "Date Added", + "OptionAlbumArtist": "Album Artist", + "OptionArtist": "Artist", + "OptionAlbum": "Album", + "OptionTrackName": "Track Name", + "OptionCommunityRating": "Community Rating", + "OptionNameSort": "Name", + "OptionFolderSort": "Folders", + "OptionBudget": "Budget", + "OptionRevenue": "Revenue", + "OptionPoster": "Poster", + "OptionPosterCard": "Poster card", + "OptionBackdrop": "Backdrop", + "OptionTimeline": "Timeline", + "OptionThumb": "Thumb", + "OptionThumbCard": "Thumb card", + "OptionBanner": "Banner", + "OptionCriticRating": "Critic Rating", + "OptionVideoBitrate": "Video Bitrate", + "OptionResumable": "Resumable", + "ScheduledTasksHelp": "Click a task to adjust its schedule.", + "ScheduledTasksTitle": "Scheduled Tasks", + "TabMyPlugins": "My Plugins", + "TabCatalog": "Catalog", + "PluginsTitle": "Plugins", + "HeaderAutomaticUpdates": "Automatic Updates", + "HeaderNowPlaying": "Now Playing", + "HeaderLatestAlbums": "Latest Albums", + "HeaderLatestSongs": "Latest Songs", + "HeaderRecentlyPlayed": "Recently Played", + "HeaderFrequentlyPlayed": "Frequently Played", + "DevBuildWarning": "Dev builds are the bleeding edge. Released often, these build have not been tested. The application may crash and entire features may not work at all.", + "LabelVideoType": "Video Type:", + "OptionBluray": "Bluray", + "OptionDvd": "Dvd", + "OptionIso": "Iso", + "Option3D": "3D", + "LabelFeatures": "Features:", + "LabelService": "Service:", + "LabelStatus": "Status:", + "LabelVersion": "Version:", + "LabelLastResult": "Last result:", + "OptionHasSubtitles": "Subtitles", + "OptionHasTrailer": "Trailer", + "OptionHasThemeSong": "Theme Song", + "OptionHasThemeVideo": "Theme Video", + "TabMovies": "Movies", + "TabStudios": "Studios", + "TabTrailers": "Trailers", + "LabelArtists": "Artists:", + "LabelArtistsHelp": "Separate multiple using ;", + "HeaderLatestMovies": "Latest Movies", + "HeaderLatestTrailers": "Latest Trailers", + "OptionHasSpecialFeatures": "Special Features", + "OptionImdbRating": "IMDb Rating", + "OptionParentalRating": "Parental Rating", + "OptionPremiereDate": "Premiere Date", + "TabBasic": "Basic", + "TabAdvanced": "Advanced", + "HeaderStatus": "Status", + "OptionContinuing": "Continuing", + "OptionEnded": "Ended", + "HeaderAirDays": "Air Days", + "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", + "OptionMissingOverview": "Missing Overview", + "OptionFileMetadataYearMismatch": "File\/Metadata Years Mismatched", + "TabGeneral": "General", + "TitleSupport": "Support", + "TabLog": "Log", + "TabAbout": "About", + "TabSupporterKey": "Supporter Key", + "TabBecomeSupporter": "Become a Supporter", + "MediaBrowserHasCommunity": "Media Browser has a thriving community of users and contributors.", + "CheckoutKnowledgeBase": "Check out our knowledge base to help you get the most out of Media Browser.", + "SearchKnowledgeBase": "Search the Knowledge Base", + "VisitTheCommunity": "Visit the Community", + "VisitMediaBrowserWebsite": "Visit the Media Browser Web Site", + "VisitMediaBrowserWebsiteLong": "Visit the Media Browser Web site to catch the latest news and keep up with the developer blog.", + "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", + "OptionDisableUserHelp": "If disabled the server will not allow any connections from this user. Existing connections will be abruptly terminated.", + "HeaderAdvancedControl": "Advanced Control", + "LabelName": "Name:", + "ButtonHelp": "Help", + "OptionAllowUserToManageServer": "Allow this user to manage the server", + "HeaderFeatureAccess": "Feature Access", + "OptionAllowMediaPlayback": "Allow media playback", + "OptionAllowBrowsingLiveTv": "Allow browsing of live tv", + "OptionAllowDeleteLibraryContent": "Allow deletion of library content", + "OptionAllowManageLiveTv": "Allow management of live tv recordings", + "OptionAllowRemoteControlOthers": "Allow remote control of other users", + "OptionAllowRemoteSharedDevices": "Allow remote control of shared devices", + "OptionAllowRemoteSharedDevicesHelp": "Dlna devices are considered shared until a user begins controlling it.", + "HeaderRemoteControl": "Remote Control", + "OptionMissingTmdbId": "Missing Tmdb Id", + "OptionIsHD": "HD", + "OptionIsSD": "SD", + "OptionMetascore": "Metascore", + "ButtonSelect": "Select", + "ButtonGroupVersions": "Group Versions", + "ButtonAddToCollection": "Add to Collection", + "PismoMessage": "Utilizing Pismo File Mount through a donated license.", + "TangibleSoftwareMessage": "Utilizing Tangible Solutions Java\/C# converters through a donated license.", + "HeaderCredits": "Credits", + "PleaseSupportOtherProduces": "Please support other free products we utilize:", + "VersionNumber": "Version {0}", + "TabPaths": "Paths", + "TabServer": "Server", + "TabTranscoding": "Transcoding", + "TitleAdvanced": "Advanced", + "LabelAutomaticUpdateLevel": "Automatic update level", + "OptionRelease": "Official Release", + "OptionBeta": "Beta", + "OptionDev": "Dev (Unstable)", + "LabelAllowServerAutoRestart": "Allow the server to restart automatically to apply updates", + "LabelAllowServerAutoRestartHelp": "The server will only restart during idle periods, when no users are active.", + "LabelEnableDebugLogging": "Enable debug logging", + "LabelRunServerAtStartup": "Run server at startup", + "LabelRunServerAtStartupHelp": "This will start the tray icon on windows startup. To start the windows service, uncheck this and run the service from the windows control panel. Please note that you cannot run both at the same time, so you will need to exit the tray icon before starting the service.", + "ButtonSelectDirectory": "Select Directory", + "LabelCustomPaths": "Specify custom paths where desired. Leave fields empty to use the defaults.", + "LabelCachePath": "Cache path:", + "LabelCachePathHelp": "Specify a custom location for server cache files, such as images.", + "LabelImagesByNamePath": "Images by name path:", + "LabelImagesByNamePathHelp": "Specify a custom location for downloaded actor, genre and studio images.", + "LabelMetadataPath": "Metadata path:", + "LabelMetadataPathHelp": "Specify a custom location for downloaded artwork and metadata, if not saving within media folders.", + "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", + "TabTV": "TV", + "TabGames": "Games", + "TabMusic": "Music", + "TabOthers": "Others", + "HeaderExtractChapterImagesFor": "Extract chapter images for:", + "OptionMovies": "Movies", + "OptionEpisodes": "Episodes", + "OptionOtherVideos": "Other Videos", + "TitleMetadata": "Metadata", + "LabelAutomaticUpdates": "Enable automatic updates", + "LabelAutomaticUpdatesTmdb": "Enable automatic updates from TheMovieDB.org", + "LabelAutomaticUpdatesTvdb": "Enable automatic updates from TheTVDB.com", + "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced.", + "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced.", + "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced.", + "LabelFanartApiKey": "Personal api key:", + "LabelFanartApiKeyHelp": "Requests to fanart without a personal API key return results 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 clients 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 download language:", + "ButtonAutoScroll": "Auto-scroll", + "LabelImageSavingConvention": "Image saving convention:", + "LabelImageSavingConventionHelp": "Media Browser recognizes images from most major media applications. Choosing your downloading convention is useful if you also use other products.", + "OptionImageSavingCompatible": "Compatible - Media Browser\/Kodi\/Plex", + "OptionImageSavingStandard": "Standard - MB2", + "ButtonSignIn": "Sign In", + "TitleSignIn": "Sign In", + "HeaderPleaseSignIn": "Please sign in", + "LabelUser": "User:", + "LabelPassword": "Password:", + "ButtonManualLogin": "Manual Login", + "PasswordLocalhostMessage": "Passwords are not required when logging in from localhost.", + "TabGuide": "Guide", + "TabChannels": "Channels", + "TabCollections": "Collections", + "HeaderChannels": "Channels", + "TabRecordings": "Recordings", + "TabScheduled": "Scheduled", + "TabSeries": "Series", + "TabFavorites": "Favorites", + "TabMyLibrary": "My Library", + "ButtonCancelRecording": "Cancel Recording", + "HeaderPrePostPadding": "Pre\/Post Padding", + "LabelPrePaddingMinutes": "Pre-padding minutes:", + "OptionPrePaddingRequired": "Pre-padding is required in order to record.", + "LabelPostPaddingMinutes": "Post-padding minutes:", + "OptionPostPaddingRequired": "Post-padding is required in order to record.", + "HeaderWhatsOnTV": "What's On", + "HeaderUpcomingTV": "Upcoming TV", + "TabStatus": "Status", + "TabSettings": "Settings", + "ButtonRefreshGuideData": "Refresh Guide Data", + "ButtonRefresh": "Refresh", + "ButtonAdvancedRefresh": "Advanced Refresh", + "OptionPriority": "Priority", + "OptionRecordOnAllChannels": "Record program on all channels", + "OptionRecordAnytime": "Record program at any time", + "OptionRecordOnlyNewEpisodes": "Record only new episodes", + "HeaderDays": "Days", + "HeaderActiveRecordings": "Active Recordings", + "HeaderLatestRecordings": "Latest Recordings", + "HeaderAllRecordings": "All Recordings", + "ButtonPlay": "Play", + "ButtonEdit": "Edit", + "ButtonRecord": "Record", + "ButtonDelete": "Delete", + "ButtonRemove": "Remove", + "OptionRecordSeries": "Record Series", + "HeaderDetails": "Details", + "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.", + "LabelActiveService": "Active Service:", + "LabelActiveServiceHelp": "Multiple tv plugins can be installed but only one can be active at a time.", + "OptionAutomatic": "Auto", + "LiveTvPluginRequired": "A Live TV service provider plugin is required in order to continue.", + "LiveTvPluginRequiredHelp": "Please install one of our available plugins, such as Next Pvr or ServerWmc.", + "LabelCustomizeOptionsPerMediaType": "Customize for media type:", + "OptionDownloadThumbImage": "Thumb", + "OptionDownloadMenuImage": "Menu", + "OptionDownloadLogoImage": "Logo", + "OptionDownloadBoxImage": "Box", + "OptionDownloadDiscImage": "Disc", + "OptionDownloadBannerImage": "Banner", + "OptionDownloadBackImage": "Back", + "OptionDownloadArtImage": "Art", + "OptionDownloadPrimaryImage": "Primary", + "HeaderFetchImages": "Fetch Images:", + "HeaderImageSettings": "Image Settings", + "TabOther": "Other", + "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", + "LabelTriggerType": "Trigger Type:", + "OptionDaily": "Daily", + "OptionWeekly": "Weekly", + "OptionOnInterval": "On an interval", + "OptionOnAppStartup": "On application startup", + "OptionAfterSystemEvent": "After a system event", + "LabelDay": "Day:", + "LabelTime": "Time:", + "LabelEvent": "Event:", + "OptionWakeFromSleep": "Wake from sleep", + "LabelEveryXMinutes": "Every:", + "HeaderTvTuners": "Tuners", + "HeaderGallery": "Gallery", + "HeaderLatestGames": "Latest Games", + "HeaderRecentlyPlayedGames": "Recently Played Games", + "TabGameSystems": "Game Systems", + "TitleMediaLibrary": "Media Library", + "TabFolders": "Folders", + "TabPathSubstitution": "Path Substitution", + "LabelSeasonZeroDisplayName": "Season 0 display name:", + "LabelEnableRealtimeMonitor": "Enable real time monitoring", + "LabelEnableRealtimeMonitorHelp": "Changes will be processed immediately, on supported file systems.", + "ButtonScanLibrary": "Scan Library", + "HeaderNumberOfPlayers": "Players:", + "OptionAnyNumberOfPlayers": "Any", + "Option1Player": "1+", + "Option2Player": "2+", + "Option3Player": "3+", + "Option4Player": "4+", + "HeaderMediaFolders": "Media Folders", + "HeaderThemeVideos": "Theme Videos", + "HeaderThemeSongs": "Theme Songs", + "HeaderScenes": "Scenes", + "HeaderAwardsAndReviews": "Awards and Reviews", + "HeaderSoundtracks": "Soundtracks", + "HeaderMusicVideos": "Music Videos", + "HeaderSpecialFeatures": "Special Features", + "HeaderCastCrew": "Cast & Crew", + "HeaderAdditionalParts": "Additional Parts", + "ButtonSplitVersionsApart": "Split Versions Apart", + "ButtonPlayTrailer": "Trailer", + "LabelMissing": "Missing", + "LabelOffline": "Offline", + "PathSubstitutionHelp": "Path substitutions are used for mapping a path on the server to a path that clients are able to access. By allowing clients direct access to media on the server they may be able to play them directly over the network and avoid using server resources to stream and transcode them.", + "HeaderFrom": "From", + "HeaderTo": "To", + "LabelFrom": "From:", + "LabelFromHelp": "Example: D:\\Movies (on the server)", + "LabelTo": "To:", + "LabelToHelp": "Example: \\\\MyServer\\Movies (a path clients can access)", + "ButtonAddPathSubstitution": "Add Substitution", + "OptionSpecialEpisode": "Specials", + "OptionMissingEpisode": "Missing Episodes", + "OptionUnairedEpisode": "Unaired Episodes", + "OptionEpisodeSortName": "Episode Sort Name", + "OptionSeriesSortName": "Series Name", + "OptionTvdbRating": "Tvdb Rating", + "HeaderTranscodingQualityPreference": "Transcoding Quality Preference:", + "OptionAutomaticTranscodingHelp": "The server will decide quality and speed", + "OptionHighSpeedTranscodingHelp": "Lower quality, but faster encoding", + "OptionHighQualityTranscodingHelp": "Higher quality, but slower encoding", + "OptionMaxQualityTranscodingHelp": "Best quality with slower encoding and high CPU usage", + "OptionHighSpeedTranscoding": "Higher speed", + "OptionHighQualityTranscoding": "Higher quality", + "OptionMaxQualityTranscoding": "Max quality", + "OptionEnableDebugTranscodingLogging": "Enable debug transcoding logging", + "OptionEnableDebugTranscodingLoggingHelp": "This will create very large log files and is only recommended as needed for troubleshooting purposes.", + "OptionUpscaling": "Allow clients to request upscaled video", + "OptionUpscalingHelp": "In some cases this will result in improved video quality but will increase CPU usage.", + "EditCollectionItemsHelp": "Add or remove any movies, series, albums, books or games you wish to group within this collection.", + "HeaderAddTitles": "Add Titles", + "LabelEnableDlnaPlayTo": "Enable DLNA Play To", + "LabelEnableDlnaPlayToHelp": "Media Browser can detect devices within your network and offer the ability to remote control them.", + "LabelEnableDlnaDebugLogging": "Enable DLNA debug logging", + "LabelEnableDlnaDebugLoggingHelp": "This will create large log files and should only be used as needed for troubleshooting purposes.", + "LabelEnableDlnaClientDiscoveryInterval": "Client discovery interval (seconds)", + "LabelEnableDlnaClientDiscoveryIntervalHelp": "Determines the duration in seconds between SSDP searches performed by Media Browser.", + "HeaderCustomDlnaProfiles": "Custom Profiles", + "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.", + "TitleDashboard": "Dashboard", + "TabHome": "Home", + "TabInfo": "Info", + "HeaderLinks": "Links", + "HeaderSystemPaths": "System Paths", + "LinkCommunity": "Community", + "LinkGithub": "Github", + "LinkApi": "Api", + "LinkApiDocumentation": "Api Documentation", + "LabelFriendlyServerName": "Friendly server name:", + "LabelFriendlyServerNameHelp": "This name will be used to identify this server. If left blank, the computer name will be used.", + "LabelPreferredDisplayLanguage": "Preferred display language:", + "LabelPreferredDisplayLanguageHelp": "Translating Media Browser is an ongoing project and is not yet complete.", + "LabelReadHowYouCanContribute": "Read about how you can contribute.", + "HeaderNewCollection": "New Collection", + "ButtonSubmit": "Submit", + "ButtonCreate": "Create", + "LabelCustomCss": "Custom css:", + "LabelCustomCssHelp": "Apply your own custom css to the web interface.", + "LabelLocalHttpServerPortNumber": "Local http port number:", + "LabelLocalHttpServerPortNumberHelp": "The tcp port number that Media Browser's http server should bind to.", + "LabelPublicHttpPort": "Public http port number:", + "LabelPublicHttpPortHelp": "The public port number that should be mapped to the local http port.", + "LabelPublicHttpsPort": "Public https port number:", + "LabelPublicHttpsPortHelp": "The public port number that should be mapped to the local https port.", + "LabelEnableHttps": "Report https as external address", + "LabelEnableHttpsHelp": "If enabled, the server will report an https url to clients as it's external address. This may break clients that do not yet support https.", + "LabelHttpsPort": "Local https port number:", + "LabelHttpsPortHelp": "The tcp port number that Media Browser's https server should bind to.", + "LabelWebSocketPortNumber": "Web socket port number:", + "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 WAN Address:", + "LabelExternalDDNSHelp": "If you have a dynamic DNS enter it here. Media Browser apps will use it when connecting remotely. Leave empty for automatic detection.", + "TabResume": "Resume", + "TabWeather": "Weather", + "TitleAppSettings": "App Settings", + "LabelMinResumePercentage": "Min resume percentage:", + "LabelMaxResumePercentage": "Max resume percentage:", + "LabelMinResumeDuration": "Min resume duration (seconds):", + "LabelMinResumePercentageHelp": "Titles are assumed unplayed if stopped before this time", + "LabelMaxResumePercentageHelp": "Titles are assumed fully played if stopped after this time", + "LabelMinResumeDurationHelp": "Titles shorter than this will not be resumable", + "TitleAutoOrganize": "Auto-Organize", + "TabActivityLog": "Activity Log", + "HeaderName": "Name", + "HeaderDate": "Date", + "HeaderSource": "Source", + "HeaderDestination": "Destination", + "HeaderProgram": "Program", + "HeaderClients": "Clients", + "LabelCompleted": "Completed", + "LabelFailed": "Failed", + "LabelSkipped": "Skipped", + "HeaderEpisodeOrganization": "Episode Organization", + "LabelSeries": "Series:", + "LabelSeasonNumber": "Season number:", + "LabelEpisodeNumber": "Episode number:", + "LabelEndingEpisodeNumber": "Ending episode number:", + "LabelEndingEpisodeNumberHelp": "Only required for multi-episode files", + "HeaderSupportTheTeam": "Support the Media Browser Team", + "LabelSupportAmount": "Amount (USD)", + "HeaderSupportTheTeamHelp": "Help ensure the continued development of this project by donating. A portion of all donations will be contributed to other free tools we depend on.", + "ButtonEnterSupporterKey": "Enter supporter key", + "DonationNextStep": "Once complete, please return and enter your supporter key, which you will receive by email.", + "AutoOrganizeHelp": "Auto-organize monitors your download folders for new files and moves them to your media directories.", + "AutoOrganizeTvHelp": "TV file organizing will only add episodes to existing series. It will not create new series folders.", + "OptionEnableEpisodeOrganization": "Enable new episode organization", + "LabelWatchFolder": "Watch folder:", + "LabelWatchFolderHelp": "The server will poll this folder during the 'Organize new media files' scheduled task.", + "ButtonViewScheduledTasks": "View scheduled tasks", + "LabelMinFileSizeForOrganize": "Minimum file size (MB):", + "LabelMinFileSizeForOrganizeHelp": "Files under this size will be ignored.", + "LabelSeasonFolderPattern": "Season folder pattern:", + "LabelSeasonZeroFolderName": "Season zero folder name:", + "HeaderEpisodeFilePattern": "Episode file pattern", + "LabelEpisodePattern": "Episode pattern:", + "LabelMultiEpisodePattern": "Multi-Episode pattern:", + "HeaderSupportedPatterns": "Supported Patterns", + "HeaderTerm": "Term", + "HeaderPattern": "Pattern", + "HeaderResult": "Result", + "LabelDeleteEmptyFolders": "Delete empty folders after organizing", + "LabelDeleteEmptyFoldersHelp": "Enable this to keep the download directory clean.", + "LabelDeleteLeftOverFiles": "Delete left over files with the following extensions:", + "LabelDeleteLeftOverFilesHelp": "Separate with ;. For example: .nfo;.txt", + "OptionOverwriteExistingEpisodes": "Overwrite existing episodes", + "LabelTransferMethod": "Transfer method", + "OptionCopy": "Copy", + "OptionMove": "Move", + "LabelTransferMethodHelp": "Copy or move files from the watch folder", + "HeaderLatestNews": "Latest News", + "HeaderHelpImproveMediaBrowser": "Help Improve Media Browser", + "HeaderRunningTasks": "Running Tasks", + "HeaderActiveDevices": "Active Devices", + "HeaderPendingInstallations": "Pending Installations", + "HeaderServerInformation": "Server Information", + "ButtonRestartNow": "Restart Now", + "ButtonRestart": "Restart", + "ButtonShutdown": "Shutdown", + "ButtonUpdateNow": "Update Now", + "TabHosting": "Hosting", + "PleaseUpdateManually": "Please shutdown the server and update manually.", + "NewServerVersionAvailable": "A new version of Media Browser Server is available!", + "ServerUpToDate": "Media Browser Server is up to date", + "ErrorConnectingToMediaBrowserRepository": "There was an error connecting to the remote Media Browser repository.", + "LabelComponentsUpdated": "The following components have been installed or updated:", + "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.", + "ButtonLinkKeys": "Transfer Key", + "LabelOldSupporterKey": "Old supporter key", + "LabelNewSupporterKey": "New supporter key", + "HeaderMultipleKeyLinking": "Transfer to New Key", + "MultipleKeyLinkingHelp": "If you received a new supporter key, use this form to transfer the old key's registrations to your new one.", + "LabelCurrentEmailAddress": "Current email address", + "LabelCurrentEmailAddressHelp": "The current email address to which your new key was sent.", + "HeaderForgotKey": "Forgot Key", + "LabelEmailAddress": "Email address", + "LabelSupporterEmailAddress": "The email address that was used to purchase the key.", + "ButtonRetrieveKey": "Retrieve Key", + "LabelSupporterKey": "Supporter Key (paste from email)", + "LabelSupporterKeyHelp": "Enter your supporter key to start enjoying additional benefits the community has developed for Media Browser.", + "MessageInvalidKey": "Supporter key is missing or invalid.", + "ErrorMessageInvalidKey": "In order for any premium content to be registered, you must also be a Media Browser Supporter. Please donate and support the continued development of the core product. Thank you.", + "HeaderDisplaySettings": "Display Settings", + "TabPlayTo": "Play To", + "LabelEnableDlnaServer": "Enable Dlna server", + "LabelEnableDlnaServerHelp": "Allows UPnP devices on your network to browse and play Media Browser content.", + "LabelEnableBlastAliveMessages": "Blast alive messages", + "LabelEnableBlastAliveMessagesHelp": "Enable this if the server is not detected reliably by other UPnP devices on your network.", + "LabelBlastMessageInterval": "Alive message interval (seconds)", + "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.", + "TitleDlna": "DLNA", + "TitleChannels": "Channels", + "HeaderServerSettings": "Server Settings", + "LabelWeatherDisplayLocation": "Weather display location:", + "LabelWeatherDisplayLocationHelp": "US zip code \/ City, State, Country \/ City, Country", + "LabelWeatherDisplayUnit": "Weather display unit:", + "OptionCelsius": "Celsius", + "OptionFahrenheit": "Fahrenheit", + "HeaderRequireManualLogin": "Require manual username entry for:", + "HeaderRequireManualLoginHelp": "When disabled clients may present a login screen with a visual selection of users.", + "OptionOtherApps": "Other apps", + "OptionMobileApps": "Mobile apps", + "HeaderNotificationList": "Click on a notification to configure it's sending options.", + "NotificationOptionApplicationUpdateAvailable": "Application update available", + "NotificationOptionApplicationUpdateInstalled": "Application update installed", + "NotificationOptionPluginUpdateInstalled": "Plugin update installed", + "NotificationOptionPluginInstalled": "Plugin installed", + "NotificationOptionPluginUninstalled": "Plugin uninstalled", + "NotificationOptionVideoPlayback": "Video playback started", + "NotificationOptionAudioPlayback": "Audio playback started", + "NotificationOptionGamePlayback": "Game playback started", + "NotificationOptionVideoPlaybackStopped": "Video playback stopped", + "NotificationOptionAudioPlaybackStopped": "Audio playback stopped", + "NotificationOptionGamePlaybackStopped": "Game playback stopped", + "NotificationOptionTaskFailed": "Scheduled task failure", + "NotificationOptionInstallationFailed": "Installation failure", + "NotificationOptionNewLibraryContent": "New content added", + "NotificationOptionNewLibraryContentMultiple": "New content added (multiple)", + "NotificationOptionCameraImageUploaded": "Camera image uploaded", + "SendNotificationHelp": "By default, notifications are delivered to the dashboard inbox. Browse the plugin catalog to install additional notification options.", + "NotificationOptionServerRestartRequired": "Server restart required", + "LabelNotificationEnabled": "Enable this notification", + "LabelMonitorUsers": "Monitor activity from:", + "LabelSendNotificationToUsers": "Send the notification to:", + "LabelUseNotificationServices": "Use the following services:", + "CategoryUser": "User", + "CategorySystem": "System", + "CategoryApplication": "Application", + "CategoryPlugin": "Plugin", + "LabelMessageTitle": "Message title:", + "LabelAvailableTokens": "Available tokens:", + "AdditionalNotificationServices": "Browse the plugin catalog to install additional notification services.", + "OptionAllUsers": "All users", + "OptionAdminUsers": "Administrators", + "OptionCustomUsers": "Custom", + "ButtonArrowUp": "Up", + "ButtonArrowDown": "Down", + "ButtonArrowLeft": "Left", + "ButtonArrowRight": "Right", + "ButtonBack": "Back", + "ButtonInfo": "Info", + "ButtonOsd": "On screen display", + "ButtonPageUp": "Page Up", + "ButtonPageDown": "Page Down", + "PageAbbreviation": "PG", + "ButtonHome": "Home", + "ButtonSearch": "Search", + "ButtonSettings": "Settings", + "ButtonTakeScreenshot": "Capture Screenshot", + "ButtonLetterUp": "Letter Up", + "ButtonLetterDown": "Letter Down", + "PageButtonAbbreviation": "PG", + "LetterButtonAbbreviation": "A", + "TabNowPlaying": "Now Playing", + "TabNavigation": "Navigation", + "TabControls": "Controls", + "ButtonFullscreen": "Toggle fullscreen", + "ButtonScenes": "Scenes", + "ButtonSubtitles": "Subtitles", + "ButtonAudioTracks": "Audio tracks", + "ButtonPreviousTrack": "Previous track", + "ButtonNextTrack": "Next track", + "ButtonStop": "Stop", + "ButtonPause": "Pause", + "ButtonNext": "Next", + "ButtonPrevious": "Previous", + "LabelGroupMoviesIntoCollections": "Group movies into collections", + "LabelGroupMoviesIntoCollectionsHelp": "When displaying movie lists, movies belonging to a collection will be displayed as one grouped item.", + "NotificationOptionPluginError": "Plugin failure", + "ButtonVolumeUp": "Volume up", + "ButtonVolumeDown": "Volume down", + "ButtonMute": "Mute", + "HeaderLatestMedia": "Latest Media", + "OptionSpecialFeatures": "Special Features", + "HeaderCollections": "Collections", + "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:", + "LabelPersonRole": "Role:", + "LabelPersonRoleHelp": "Role is generally only applicable to actors.", + "LabelProfileContainer": "Container:", + "LabelProfileVideoCodecs": "Video codecs:", + "LabelProfileAudioCodecs": "Audio codecs:", + "LabelProfileCodecs": "Codecs:", + "HeaderDirectPlayProfile": "Direct Play Profile", + "HeaderTranscodingProfile": "Transcoding Profile", + "HeaderCodecProfile": "Codec Profile", + "HeaderCodecProfileHelp": "Codec profiles indicate the limitations of a device when playing specific codecs. If a limitation applies then the media will be transcoded, even if the codec is configured for direct play.", + "HeaderContainerProfile": "Container Profile", + "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.", + "OptionProfileVideo": "Video", + "OptionProfileAudio": "Audio", + "OptionProfileVideoAudio": "Video Audio", + "OptionProfilePhoto": "Photo", + "LabelUserLibrary": "User library:", + "LabelUserLibraryHelp": "Select which user library to display to the device. Leave empty to inherit the default setting.", + "OptionPlainStorageFolders": "Display all folders as plain storage folders", + "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:", + "TabIdentification": "Identification", + "HeaderIdentification": "Identification", + "TabDirectPlay": "Direct Play", + "TabContainers": "Containers", + "TabCodecs": "Codecs", + "TabResponses": "Responses", + "HeaderProfileInformation": "Profile Information", + "LabelEmbedAlbumArtDidl": "Embed album art in Didl", + "LabelEmbedAlbumArtDidlHelp": "Some devices prefer this method for obtaining album art. Others may fail to play with this option enabled.", + "LabelAlbumArtPN": "Album art PN:", + "LabelAlbumArtHelp": "PN used for album art, within the dlna:profileID attribute on upnp:albumArtURI. Some clients require a specific value, regardless of the size of the image.", + "LabelAlbumArtMaxWidth": "Album art max width:", + "LabelAlbumArtMaxWidthHelp": "Max resolution of album art exposed via upnp:albumArtURI.", + "LabelAlbumArtMaxHeight": "Album art max height:", + "LabelAlbumArtMaxHeightHelp": "Max resolution of album art exposed via upnp:albumArtURI.", + "LabelIconMaxWidth": "Icon max width:", + "LabelIconMaxWidthHelp": "Max resolution of icons exposed via upnp:icon.", + "LabelIconMaxHeight": "Icon max height:", + "LabelIconMaxHeightHelp": "Max resolution of icons exposed via upnp:icon.", + "LabelIdentificationFieldHelp": "A case-insensitive substring or regex expression.", + "HeaderProfileServerSettingsHelp": "These values control how Media Browser will present itself to the device.", + "LabelMaxBitrate": "Max bitrate:", + "LabelMaxBitrateHelp": "Specify a max bitrate in bandwidth constrained environments, or if the device imposes it's own limit.", + "LabelMaxStreamingBitrate": "Max streaming bitrate:", + "LabelMaxStreamingBitrateHelp": "Specify a max bitrate when streaming.", + "LabelMaxStaticBitrate": "Max sync bitrate:", + "LabelMaxStaticBitrateHelp": "Specify a max bitrate when syncing content at high quality.", + "LabelMusicStaticBitrate": "Music sync bitrate:", + "LabelMusicStaticBitrateHelp": "Specify a max bitrate when syncing music", + "LabelMusicStreamingTranscodingBitrate": "Music transcoding bitrate:", + "LabelMusicStreamingTranscodingBitrateHelp": "Specify a max bitrate when streaming music", + "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", + "LabelManufacturerUrl": "Manufacturer url", + "LabelModelName": "Model name", + "LabelModelNumber": "Model number", + "LabelModelDescription": "Model description", + "LabelModelUrl": "Model url", + "LabelSerialNumber": "Serial number", + "LabelDeviceDescription": "Device description", + "HeaderIdentificationCriteriaHelp": "Enter at least one identification criteria.", + "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.", + "HeaderResponseProfileHelp": "Response profiles provide a way to customize information sent to the device when playing certain kinds of media.", + "LabelXDlnaCap": "X-Dlna cap:", + "LabelXDlnaCapHelp": "Determines the content of the X_DLNACAP element in the urn:schemas-dlna-org:device-1-0 namespace.", + "LabelXDlnaDoc": "X-Dlna doc:", + "LabelXDlnaDocHelp": "Determines the content of the X_DLNADOC element in the urn:schemas-dlna-org:device-1-0 namespace.", + "LabelSonyAggregationFlags": "Sony aggregation flags:", + "LabelSonyAggregationFlagsHelp": "Determines the content of the aggregationFlags element in the urn:schemas-sonycom:av namespace.", + "LabelTranscodingContainer": "Container:", + "LabelTranscodingVideoCodec": "Video codec:", + "LabelTranscodingVideoProfile": "Video profile:", + "LabelTranscodingAudioCodec": "Audio codec:", + "OptionEnableM2tsMode": "Enable M2ts mode", + "OptionEnableM2tsModeHelp": "Enable m2ts mode when encoding to mpegts.", + "OptionEstimateContentLength": "Estimate content length when transcoding", + "OptionReportByteRangeSeekingWhenTranscoding": "Report that the server supports byte seeking when transcoding", + "OptionReportByteRangeSeekingWhenTranscodingHelp": "This is required for some devices that don't time seek very well.", + "HeaderSubtitleDownloadingHelp": "When Media Browser scans your video files it can search for missing subtitles, and download them using a subtitle provider such as OpenSubtitles.org.", + "HeaderDownloadSubtitlesFor": "Download subtitles for:", + "MessageNoChapterProviders": "Install a chapter provider plugin such as ChapterDb to enable additional chapter options.", + "LabelSkipIfGraphicalSubsPresent": "Skip if the video already contains graphical subtitles", + "LabelSkipIfGraphicalSubsPresentHelp": "Keeping text versions of subtitles will result in more efficient delivery and decrease the likelihood of video transcoding.", + "TabSubtitles": "Subtitles", + "TabChapters": "Chapters", + "HeaderDownloadChaptersFor": "Download chapter names for:", + "LabelOpenSubtitlesUsername": "Open Subtitles username:", + "LabelOpenSubtitlesPassword": "Open Subtitles password:", + "HeaderChapterDownloadingHelp": "When Media Browser scans your video files it can download friendly chapter names from the internet using chapter plugins such as ChapterDb.", + "LabelPlayDefaultAudioTrack": "Play default audio track regardless of language", + "LabelSubtitlePlaybackMode": "Subtitle mode:", + "LabelDownloadLanguages": "Download languages:", + "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.", + "HeaderSendMessage": "Send Message", + "ButtonSend": "Send", + "LabelMessageText": "Message text:", + "MessageNoAvailablePlugins": "No available plugins.", + "LabelDisplayPluginsFor": "Display plugins for:", + "PluginTabMediaBrowserClassic": "MB Classic", + "PluginTabMediaBrowserTheater": "MB Theater", + "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", + "HeaderSearchForSubtitles": "Search for Subtitles", + "MessageNoSubtitleSearchResultsFound": "No search results founds.", + "TabDisplay": "Display", + "TabLanguages": "Languages", + "TabWebClient": "Web Client", + "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", + "HeaderSettingsForThisDevice": "Settings for This Device", + "OptionAuto": "Auto", + "OptionYes": "Yes", + "OptionNo": "No", + "HeaderOptions": "Options", + "HeaderIdentificationResult": "Identification Result", + "LabelHomePageSection1": "Home page section 1:", + "LabelHomePageSection2": "Home page section 2:", + "LabelHomePageSection3": "Home page section 3:", + "LabelHomePageSection4": "Home page section 4:", + "OptionMyViewsButtons": "My views (buttons)", + "OptionMyViews": "My views", + "OptionMyViewsSmall": "My views (small)", + "OptionResumablemedia": "Resume", + "OptionLatestMedia": "Latest media", + "OptionLatestChannelMedia": "Latest channel items", + "HeaderLatestChannelItems": "Latest Channel Items", + "OptionNone": "None", + "HeaderLiveTv": "Live TV", + "HeaderReports": "Reports", + "HeaderMetadataManager": "Metadata Manager", + "HeaderPreferences": "Preferences", + "MessageLoadingChannels": "Loading channel content...", + "MessageLoadingContent": "Loading content...", + "ButtonMarkRead": "Mark Read", + "OptionDefaultSort": "Default", + "OptionCommunityMostWatchedSort": "Most Watched", + "TabNextUp": "Next Up", + "HeaderBecomeMediaBrowserSupporter": "Become a Media Browser Supporter", + "TextEnjoyBonusFeatures": "Enjoy Bonus Features", + "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.", + "ButtonDismiss": "Dismiss", + "ButtonEditOtherUserPreferences": "Edit this user's profile, password and personal preferences.", + "LabelChannelStreamQuality": "Preferred internet stream quality:", + "LabelChannelStreamQualityHelp": "In a low bandwidth environment, limiting quality can help ensure a smooth streaming experience.", + "OptionBestAvailableStreamQuality": "Best available", + "LabelEnableChannelContentDownloadingFor": "Enable channel content downloading for:", + "LabelEnableChannelContentDownloadingForHelp": "Some channels support downloading content prior to viewing. Enable this in low bandwidth enviornments to download channel content during off hours. Content is downloaded as part of the channel download scheduled task.", + "LabelChannelDownloadPath": "Channel content download path:", + "LabelChannelDownloadPathHelp": "Specify a custom download path if desired. Leave empty to download to an internal program data folder.", + "LabelChannelDownloadAge": "Delete content after: (days)", + "LabelChannelDownloadAgeHelp": "Downloaded content older than this will be deleted. It will remain playable via internet streaming.", + "ChannelSettingsFormHelp": "Install channels such as Trailers and Vimeo in the plugin catalog.", + "ButtonOptions": "Options", + "ViewTypeMovies": "Movies", + "ViewTypeTvShows": "TV", + "ViewTypeGames": "Games", + "ViewTypeMusic": "Music", + "ViewTypeMusicGenres": "Genres", + "ViewTypeMusicArtists": "Artists", + "ViewTypeBoxSets": "Collections", + "ViewTypeChannels": "Channels", + "ViewTypeLiveTV": "Live TV", + "ViewTypeLiveTvNowPlaying": "Now Airing", + "ViewTypeLatestGames": "Latest Games", + "ViewTypeRecentlyPlayedGames": "Recently Played", + "ViewTypeGameFavorites": "Favorites", + "ViewTypeGameSystems": "Game Systems", + "ViewTypeGameGenres": "Genres", + "ViewTypeTvResume": "Resume", + "ViewTypeTvNextUp": "Next Up", + "ViewTypeTvLatest": "Latest", + "ViewTypeTvShowSeries": "Series", + "ViewTypeTvGenres": "Genres", + "ViewTypeTvFavoriteSeries": "Favorite Series", + "ViewTypeTvFavoriteEpisodes": "Favorite Episodes", + "ViewTypeMovieResume": "Resume", + "ViewTypeMovieLatest": "Latest", + "ViewTypeMovieMovies": "Movies", + "ViewTypeMovieCollections": "Collections", + "ViewTypeMovieFavorites": "Favorites", + "ViewTypeMovieGenres": "Genres", + "ViewTypeMusicLatest": "Latest", + "ViewTypeMusicAlbums": "Albums", + "ViewTypeMusicAlbumArtists": "Album Artists", + "HeaderOtherDisplaySettings": "Display Settings", + "ViewTypeMusicSongs": "Songs", + "ViewTypeMusicFavorites": "Favorites", + "ViewTypeMusicFavoriteAlbums": "Favorite Albums", + "ViewTypeMusicFavoriteArtists": "Favorite Artists", + "ViewTypeMusicFavoriteSongs": "Favorite Songs", + "HeaderMyViews": "My Views", + "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.", + "OptionDisplayAdultContent": "Display adult content", + "OptionLibraryFolders": "Media folders", + "TitleRemoteControl": "Remote Control", + "OptionLatestTvRecordings": "Latest recordings", + "LabelProtocolInfo": "Protocol info:", + "LabelProtocolInfoHelp": "The value that will be used when responding to GetProtocolInfo requests from the device.", + "TabNfo": "Nfo", + "HeaderKodiMetadataHelp": "Media Browser includes native support for Nfo metadata files. To enable or disable Nfo metadata, use the Advanced tab to configure options for your media types.", + "LabelKodiMetadataUser": "Sync user watch data to nfo's for:", + "LabelKodiMetadataUserHelp": "Enable this to keep watch data in sync between Media Browser and Nfo files.", + "LabelKodiMetadataDateFormat": "Release date format:", + "LabelKodiMetadataDateFormatHelp": "All dates within nfo's will be read and written to using this format.", + "LabelKodiMetadataSaveImagePaths": "Save image paths within nfo files", + "LabelKodiMetadataSaveImagePathsHelp": "This is recommended if you have image file names that don't conform to Kodi guidelines.", + "LabelKodiMetadataEnablePathSubstitution": "Enable path substitution", + "LabelKodiMetadataEnablePathSubstitutionHelp": "Enables path substitution of image paths using the server's path substitution settings.", + "LabelKodiMetadataEnablePathSubstitutionHelp2": "See path substitution.", + "LabelGroupChannelsIntoViews": "Display the following channels directly within my views:", + "LabelGroupChannelsIntoViewsHelp": "If enabled, these channels will be displayed directly alongside other views. If disabled, they'll be displayed within a separate Channels view.", + "LabelDisplayCollectionsView": "Display a collections view to show movie collections", + "LabelDisplayCollectionsViewHelp": "This will create a separate view to display collections that you've created or have access to. 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", + "TabLogs": "Logs", + "HeaderServerLogFiles": "Server log files:", + "TabBranding": "Branding", + "HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.", + "LabelLoginDisclaimer": "Login disclaimer:", + "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.", + "LabelAutomaticallyDonate": "Automatically donate this amount every month", + "LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.", + "OptionList": "List", + "TabDashboard": "Dashboard", + "TitleServer": "Server", + "LabelCache": "Cache:", + "LabelLogs": "Logs:", + "LabelMetadata": "Metadata:", + "LabelImagesByName": "Images by name:", + "LabelTranscodingTemporaryFiles": "Transcoding temporary files:", + "HeaderLatestMusic": "Latest Music", + "HeaderBranding": "Branding", + "HeaderApiKeys": "Api Keys", + "HeaderApiKeysHelp": "External applications are required to have an Api key in order to communicate with Media Browser. Keys are issued by logging in with a Media Browser account, or by manually granting the application a key.", + "HeaderApiKey": "Api Key", + "HeaderApp": "App", + "HeaderDevice": "Device", + "HeaderUser": "User", + "HeaderDateIssued": "Date Issued", + "LabelChapterName": "Chapter {0}", + "HeaderNewApiKey": "New Api Key", + "LabelAppName": "App name", + "LabelAppNameExample": "Example: Sickbeard, NzbDrone", + "HeaderNewApiKeyHelp": "Grant an application permission to communicate with Media Browser.", + "HeaderHttpHeaders": "Http Headers", + "HeaderIdentificationHeader": "Identification Header", + "LabelValue": "Value:", + "LabelMatchType": "Match type:", + "OptionEquals": "Equals", + "OptionRegex": "Regex", + "OptionSubstring": "Substring", + "TabView": "View", + "TabSort": "Sort", + "TabFilter": "Filter", + "ButtonView": "View", + "LabelPageSize": "Item limit:", + "LabelPath": "Path:", + "LabelView": "View:", + "TabUsers": "Users", + "LabelSortName": "Sort name:", + "LabelDateAdded": "Date added:", + "HeaderFeatures": "Features", + "HeaderAdvanced": "Advanced", + "ButtonSync": "Sync", + "TabScheduledTasks": "Scheduled Tasks", + "HeaderChapters": "Chapters", + "HeaderResumeSettings": "Resume Settings", + "TabSync": "Sync", + "TitleUsers": "Users", + "LabelProtocol": "Protocol:", + "OptionProtocolHttp": "Http", + "OptionProtocolHls": "Http Live Streaming", + "LabelContext": "Context:", + "OptionContextStreaming": "Streaming", + "OptionContextStatic": "Sync", + "ButtonAddToPlaylist": "Add to playlist", + "TabPlaylists": "Playlists", + "ButtonClose": "Close", + "LabelAllLanguages": "All languages", + "HeaderBrowseOnlineImages": "Browse Online Images", + "LabelSource": "Source:", + "OptionAll": "All", + "LabelImage": "Image:", + "ButtonBrowseImages": "Browse Images", + "HeaderImages": "Images", + "HeaderBackdrops": "Backdrops", + "HeaderScreenshots": "Screenshots", + "HeaderAddUpdateImage": "Add\/Update Image", + "LabelJpgPngOnly": "JPG\/PNG only", + "LabelImageType": "Image type:", + "OptionPrimary": "Primary", + "OptionArt": "Art", + "OptionBox": "Box", + "OptionBoxRear": "Box rear", + "OptionDisc": "Disc", + "OptionLogo": "Logo", + "OptionMenu": "Menu", + "OptionScreenshot": "Screenshot", + "OptionLocked": "Locked", + "OptionUnidentified": "Unidentified", + "OptionMissingParentalRating": "Missing parental rating", + "OptionStub": "Stub", + "HeaderEpisodes": "Episodes:", + "OptionSeason0": "Season 0", + "LabelReport": "Report:", + "OptionReportSongs": "Songs", + "OptionReportSeries": "Series", + "OptionReportSeasons": "Seasons", + "OptionReportTrailers": "Trailers", + "OptionReportMusicVideos": "Music videos", + "OptionReportMovies": "Movies", + "OptionReportHomeVideos": "Home videos", + "OptionReportGames": "Games", + "OptionReportEpisodes": "Episodes", + "OptionReportCollections": "Collections", + "OptionReportBooks": "Books", + "OptionReportArtists": "Artists", + "OptionReportAlbums": "Albums", + "OptionReportAdultVideos": "Adult videos", + "ButtonMore": "More", + "HeaderActivity": "Activity", + "ScheduledTaskStartedWithName": "{0} started", + "ScheduledTaskCancelledWithName": "{0} was cancelled", + "ScheduledTaskCompletedWithName": "{0} completed", + "ScheduledTaskFailed": "Scheduled task completed", + "PluginInstalledWithName": "{0} was installed", + "PluginUpdatedWithName": "{0} was updated", + "PluginUninstalledWithName": "{0} was uninstalled", + "ScheduledTaskFailedWithName": "{0} failed", + "ItemAddedWithName": "{0} was added to the library", + "ItemRemovedWithName": "{0} was removed from the library", + "DeviceOnlineWithName": "{0} is connected", + "UserOnlineFromDevice": "{0} is online from {1}", + "DeviceOfflineWithName": "{0} has disconnected", + "UserOfflineFromDevice": "{0} has disconnected from {1}", + "SubtitlesDownloadedForItem": "Subtitles downloaded for {0}", + "SubtitleDownloadFailureForItem": "Subtitles failed to download for {0}", + "LabelRunningTimeValue": "Running time: {0}", + "LabelIpAddressValue": "Ip address: {0}", + "UserConfigurationUpdatedWithName": "User configuration has been updated for {0}", + "UserCreatedWithName": "User {0} has been created", + "UserPasswordChangedWithName": "Password has been changed for user {0}", + "UserDeletedWithName": "User {0} has been deleted", + "MessageServerConfigurationUpdated": "Server configuration has been updated", + "MessageNamedServerConfigurationUpdatedWithValue": "Server configuration section {0} has been updated", + "MessageApplicationUpdated": "Media Browser Server has been updated", + "AuthenticationSucceededWithUserName": "{0} successfully authenticated", + "FailedLoginAttemptWithUserName": "Failed login attempt from {0}", + "UserStartedPlayingItemWithValues": "{0} has started playing {1}", + "UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}", + "AppDeviceValues": "App: {0}, Device: {1}", + "ProviderValue": "Provider: {0}", + "LabelChannelDownloadSizeLimit": "Download size limit (GB):", + "LabelChannelDownloadSizeLimitHelpText": "Limit the size of the channel download folder.", + "HeaderRecentActivity": "Recent Activity", + "HeaderPeople": "People", + "HeaderDownloadPeopleMetadataFor": "Download biography and images for:", + "OptionComposers": "Composers", + "OptionOthers": "Others", + "HeaderDownloadPeopleMetadataForHelp": "Enabling additional options will provide more on-screen information but will result in slower library scans.", + "ViewTypeFolders": "Folders", + "LabelDisplayFoldersView": "Display a folders view to show plain media folders", + "ViewTypeLiveTvRecordingGroups": "Recordings", + "ViewTypeLiveTvChannels": "Channels", + "LabelEasyPinCode": "Easy pin code:", + "EasyPasswordHelp": "Your easy pin code is used for offline access with supported Media Browser 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 Media Browser 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", + "HeaderLocalAccess": "Local Access", + "HeaderViewOrder": "View Order", + "ButtonResetEasyPassword": "Reset easy pin code", + "LabelSelectUserViewOrder": "Choose the order your views will be displayed in within Media Browser apps", + "LabelMetadataRefreshMode": "Metadata refresh mode:", + "LabelImageRefreshMode": "Image refresh mode:", + "OptionDownloadMissingImages": "Download missing images", + "OptionReplaceExistingImages": "Replace existing images", + "OptionRefreshAllData": "Refresh all data", + "OptionAddMissingDataOnly": "Add missing data only", + "OptionLocalRefreshOnly": "Local refresh only", + "HeaderRefreshMetadata": "Refresh Metadata", + "HeaderPersonInfo": "Person Info", + "HeaderIdentifyItem": "Identify Item", + "HeaderIdentifyItemHelp": "Enter one or more search criteria. Remove criteria to increase search results.", + "HeaderConfirmDeletion": "Confirm Deletion", + "LabelFollowingFileWillBeDeleted": "The following file will be deleted:", + "LabelIfYouWishToContinueWithDeletion": "If you wish to continue, please confirm by entering the value of:", + "ButtonIdentify": "Identify", + "LabelAlbumArtist": "Album artist:", + "LabelAlbum": "Album:", + "LabelCommunityRating": "Community rating:", + "LabelVoteCount": "Vote count:", + "LabelMetascore": "Metascore:", + "LabelCriticRating": "Critic rating:", + "LabelCriticRatingSummary": "Critic rating summary:", + "LabelAwardSummary": "Award summary:", + "LabelWebsite": "Website:", + "LabelTagline": "Tagline:", + "LabelOverview": "Overview:", + "LabelShortOverview": "Short overview:", + "LabelReleaseDate": "Release date:", + "LabelYear": "Year:", + "LabelPlaceOfBirth": "Place of birth:", + "LabelEndDate": "End date:", + "LabelAirDate": "Air days:", + "LabelAirTime:": "Air time:", + "LabelRuntimeMinutes": "Run time (minutes):", + "LabelParentalRating": "Parental rating:", + "LabelCustomRating": "Custom rating:", + "LabelBudget": "Budget", + "LabelRevenue": "Revenue ($):", + "LabelOriginalAspectRatio": "Original aspect ratio:", + "LabelPlayers": "Players:", + "Label3DFormat": "3D format:", + "HeaderAlternateEpisodeNumbers": "Alternate Episode Numbers", + "HeaderSpecialEpisodeInfo": "Special Episode Info", + "HeaderExternalIds": "External Id's:", + "LabelDvdSeasonNumber": "Dvd season number:", + "LabelDvdEpisodeNumber": "Dvd episode number:", + "LabelAbsoluteEpisodeNumber": "Absolute episode number:", + "LabelAirsBeforeSeason": "Airs before season:", + "LabelAirsAfterSeason": "Airs after season:", + "LabelAirsBeforeEpisode": "Airs before episode:", + "LabelTreatImageAs": "Treat image as:", + "LabelDisplayOrder": "Display order:", + "LabelDisplaySpecialsWithinSeasons": "Display specials within seasons they aired in", + "HeaderCountries": "Countries", + "HeaderGenres": "Genres", + "HeaderPlotKeywords": "Plot Keywords", + "HeaderStudios": "Studios", + "HeaderTags": "Tags", + "HeaderMetadataSettings": "Metadata Settings", + "LabelLockItemToPreventChanges": "Lock this item to prevent future changes", + "MessageLeaveEmptyToInherit": "Leave empty to inherit settings from a parent item, or the global default value.", + "TabDonate": "Donate", + "HeaderDonationType": "Donation type:", + "OptionMakeOneTimeDonation": "Make a separate donation", + "OptionOneTimeDescription": "This is an additional donation to the team to show your support. It does not have any additional benefits and will not produce a supporter key.", + "OptionLifeTimeSupporterMembership": "Lifetime supporter membership", + "OptionYearlySupporterMembership": "Yearly supporter membership", + "OptionMonthlySupporterMembership": "Monthly supporter membership", + "OptionNoTrailer": "No Trailer", + "OptionNoThemeSong": "No Theme Song", + "OptionNoThemeVideo": "No Theme Video", + "LabelOneTimeDonationAmount": "Donation amount:", + "ButtonDonate": "Donate", + "OptionActor": "Actor", + "OptionComposer": "Composer", + "OptionDirector": "Director", + "OptionGuestStar": "Guest star", + "OptionProducer": "Producer", + "OptionWriter": "Writer", + "LabelAirDays": "Air days:", + "LabelAirTime": "Air time:", + "HeaderMediaInfo": "Media Info", + "HeaderPhotoInfo": "Photo Info", + "HeaderInstall": "Install", + "LabelSelectVersionToInstall": "Select version to install:", + "LinkSupporterMembership": "Learn about the Supporter Membership", + "MessageSupporterPluginRequiresMembership": "This plugin will require an active supporter membership after the 14 day free trial.", + "MessagePremiumPluginRequiresMembership": "This plugin will require an active supporter membership in order to purchase after the 14 day free trial.", + "HeaderReviews": "Reviews", + "HeaderDeveloperInfo": "Developer Info", + "HeaderRevisionHistory": "Revision History", + "ButtonViewWebsite": "View website", + "LabelRecurringDonationCanBeCancelledHelp": "Recurring donations can be cancelled at any time from within your PayPal account.", + "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", + "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 Media Browser username or email address:", + "LabelConnectUserName": "Media Browser username\/email:", + "LabelConnectUserNameHelp": "Connect this user to a Media Browser account to enable easy sign-in access from Media Browser any app without having to know the server ip address.", + "ButtonLearnMoreAboutMediaBrowserConnect": "Learn more about Media Browser Connect", + "LabelExternalPlayers": "External players:", + "LabelExternalPlayersHelp": "Display buttons to play content in external players. This is only available on devices that support url schemes, generally Android and iOS. With external players there is generally no support for remote control or resuming.", + "HeaderSubtitleProfile": "Subtitle Profile", + "HeaderSubtitleProfiles": "Subtitle Profiles", + "HeaderSubtitleProfilesHelp": "Subtitle profiles describe the subtitle formats supported by the device.", + "LabelFormat": "Format:", + "LabelMethod": "Method:", + "LabelDidlMode": "Didl mode:", + "OptionCaptionInfoExSamsung": "CaptionInfoEx (Samsung)", + "OptionResElement": "res element", + "OptionEmbedSubtitles": "Embed within container", + "OptionExternallyDownloaded": "External download", + "OptionHlsSegmentedSubtitles": "Hls segmented subtitles", + "LabelSubtitleFormatHelp": "Example: srt", + "ButtonLearnMore": "Learn more", + "TabPlayback": "Playback", + "HeaderLanguagePreferences": "Language Preferences", + "TabCinemaMode": "Cinema Mode", + "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.", + "OptionTrailersFromMyMovies": "Include trailers from movies in my library", + "OptionUpcomingMoviesInTheaters": "Include trailers from new and upcoming movies", + "LabelLimitIntrosToUnwatchedContent": "Only use trailers from unwatched content", + "LabelEnableIntroParentalControl": "Enable smart parental control", + "LabelEnableIntroParentalControlHelp": "Trailers will only be selected with a parental rating equal to or less than the content being watched.", + "LabelTheseFeaturesRequireSupporterHelpAndTrailers": "These features require an active supporter membership and installation of the Trailer channel plugin.", + "OptionTrailersFromMyMoviesHelp": "Requires setup of local trailers.", + "LabelCustomIntrosPath": "Custom intros path:", + "LabelCustomIntrosPathHelp": "A folder containing video files. A video will be randomly selected and played after trailers.", + "ValueSpecialEpisodeName": "Special - {0}", + "LabelSelectInternetTrailersForCinemaMode": "Internet trailers:", + "OptionUpcomingDvdMovies": "Include trailers from new and upcoming movies on Dvd & Blu-ray", + "OptionUpcomingStreamingMovies": "Include trailers from new and upcoming movies on Netflix", + "LabelDisplayTrailersWithinMovieSuggestions": "Display trailers within movie suggestions", + "LabelDisplayTrailersWithinMovieSuggestionsHelp": "Requires installation of the Trailer channel.", + "CinemaModeConfigurationHelp2": "Individual users will have the ability to disable cinema mode within their own preferences.", + "LabelEnableCinemaMode": "Enable cinema mode", + "HeaderCinemaMode": "Cinema Mode", + "LabelDateAddedBehavior": "Date added behavior for new content:", + "OptionDateAddedImportTime": "Use date scanned into the library", + "OptionDateAddedFileTime": "Use file creation date", + "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", + "TabCameraUpload": "Camera Upload", + "TabDevices": "Devices", + "HeaderCameraUploadHelp": "Automatically upload photos and videos taken from your mobile devices into Media Browser.", + "MessageNoDevicesSupportCameraUpload": "You currently don't have any devices that support camera upload.", + "LabelCameraUploadPath": "Camera upload path:", + "LabelCameraUploadPathHelp": "Select a custom upload path, if desired. If unspecified 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:", + "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 Media Browser website, or their email address.", + "HeaderInviteUserHelp": "Sharing your media with friends is easier than ever before with Media Browser Connect.", + "ButtonSendInvitation": "Send Invitation", + "HeaderSignInWithConnect": "Sign in with Media Browser Connect", + "HeaderGuests": "Guests", + "HeaderLocalUsers": "Local Users", + "HeaderPendingInvitations": "Pending Invitations", + "TabParentalControl": "Parental Control", + "HeaderAccessSchedule": "Access Schedule", + "HeaderAccessScheduleHelp": "Create an access schedule to limit access to certain hours.", + "ButtonAddSchedule": "Add Schedule", + "LabelAccessDay": "Day of week:", + "LabelAccessStart": "Start time:", + "LabelAccessEnd": "End time:", + "HeaderSchedule": "Schedule", + "OptionEveryday": "Every day", + "OptionWeekdays": "Weekdays", + "OptionWeekends": "Weekends", + "MessageProfileInfoSynced": "User profile information synced with Media Browser Connect.", + "HeaderOptionalLinkMediaBrowserAccount": "Optional: Link your Media Browser account", + "ButtonTrailerReel": "Trailer reel", + "HeaderTrailerReel": "Trailer Reel", + "OptionPlayUnwatchedTrailersOnly": "Play only unwatched trailers", + "HeaderTrailerReelHelp": "Start a trailer reel to play a long running playlist of trailers.", + "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", + "OptionDisableUserPreferences": "Disable access to user preferences", + "OptionDisableUserPreferencesHelp": "If enabled, only administrators will be able to configure user profile images, passwords, and language preferences.", + "HeaderSelectServer": "Select 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", + "HeaderDashboardUserPassword": "User passwords are managed within each user's personal profile settings.", + "HeaderLibraryAccess": "Library Access", + "HeaderChannelAccess": "Channel Access", + "HeaderLatestItems": "Latest Items", + "LabelSelectLastestItemsFolders": "Include media from the following sections in Latest Items", + "HeaderShareMediaFolders": "Share Media Folders", + "MessageGuestSharingPermissionsHelp": "Most features are initially unavailable to guests but can be enabled as needed.", + "HeaderInvitations": "Invitations", + "LabelForgotPasswordUsernameHelp": "Enter your username, if you remember it.", + "HeaderForgotPassword": "Forgot Password", + "TitleForgotPassword": "Forgot Password", + "TitlePasswordReset": "Password Reset", + "LabelPasswordRecoveryPinCode": "Pin code:", + "HeaderPasswordReset": "Password Reset", + "HeaderParentalRatings": "Parental Ratings", + "HeaderVideoTypes": "Video Types", + "HeaderYears": "Years", + "HeaderAddTag": "Add Tag", + "LabelBlockItemsWithTags": "Block items with tags:", + "LabelTag": "Tag:", + "LabelEnableSingleImageInDidlLimit": "Limit to single embedded image", + "LabelEnableSingleImageInDidlLimitHelp": "Some devices will not render properly if multiple images are embedded within Didl.", + "TabActivity": "Activity", + "TitleSync": "Sync", + "OptionAllowSyncContent": "Allow syncing media to devices", + "NameSeasonUnknown": "Season Unknown", + "NameSeasonNumber": "Season {0}", + "LabelNewUserNameHelp": "Usernames can contain letters (a-z), numbers (0-9), dashes (-), underscores (_), apostrophes ('), and periods (.)", + "TabJobs": "Jobs", + "TabSyncJobs": "Sync Jobs" +} \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj index 0247856b2..bf11e4ef6 100644 --- a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj +++ b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj @@ -420,6 +420,8 @@ + + diff --git a/MediaBrowser.Server.Implementations/Sync/CloudSyncProvider.cs b/MediaBrowser.Server.Implementations/Sync/CloudSyncProvider.cs index c48f62820..a84377238 100644 --- a/MediaBrowser.Server.Implementations/Sync/CloudSyncProvider.cs +++ b/MediaBrowser.Server.Implementations/Sync/CloudSyncProvider.cs @@ -12,7 +12,7 @@ namespace MediaBrowser.Server.Implementations.Sync { public class CloudSyncProvider : IServerSyncProvider { - private ICloudSyncProvider[] _providers = {}; + private readonly ICloudSyncProvider[] _providers = {}; public CloudSyncProvider(IApplicationHost appHost) { @@ -21,12 +21,14 @@ namespace MediaBrowser.Server.Implementations.Sync public IEnumerable GetSyncTargets() { - return new List(); + return _providers + .SelectMany(i => i.GetSyncAccounts().Select(a => GetSyncTarget(i, a))); } public IEnumerable GetSyncTargets(string userId) { - return new List(); + return _providers + .SelectMany(i => i.GetSyncAccounts().Where(a => a.UserIds.Contains(userId, StringComparer.OrdinalIgnoreCase)).Select(a => GetSyncTarget(i, a))); } public DeviceProfile GetDeviceProfile(SyncTarget target) @@ -34,6 +36,15 @@ namespace MediaBrowser.Server.Implementations.Sync return new DeviceProfile(); } + private SyncTarget GetSyncTarget(ICloudSyncProvider provider, SyncAccount account) + { + return new SyncTarget + { + Name = account.Name, + Id = account.Name + }; + } + public string Name { get { return "Cloud Sync"; } @@ -49,12 +60,7 @@ namespace MediaBrowser.Server.Implementations.Sync throw new NotImplementedException(); } - public Task TransferItemFile(string serverId, string itemId, string path, SyncTarget target, CancellationToken cancellationToken) - { - throw new NotImplementedException(); - } - - public Task TransferRelatedFile(string serverId, string itemId, string path, ItemFileType type, SyncTarget target, CancellationToken cancellationToken) + public Task TransferItemFile(string serverId, string itemId, string[] pathParts, string name, ItemFileType fileType, SyncTarget target, CancellationToken cancellationToken) { throw new NotImplementedException(); } diff --git a/MediaBrowser.Server.Implementations/Sync/MediaSync.cs b/MediaBrowser.Server.Implementations/Sync/MediaSync.cs index 62bc6871b..efdfbb086 100644 --- a/MediaBrowser.Server.Implementations/Sync/MediaSync.cs +++ b/MediaBrowser.Server.Implementations/Sync/MediaSync.cs @@ -135,8 +135,8 @@ namespace MediaBrowser.Server.Implementations.Sync try { - await provider.TransferItemFile(serverId, libraryItem.Id, internalSyncJobItem.OutputPath, target, cancellationToken) - .ConfigureAwait(false); + //await provider.TransferItemFile(serverId, libraryItem.Id, internalSyncJobItem.OutputPath, target, cancellationToken) + // .ConfigureAwait(false); progress.Report(92); -- cgit v1.2.3 From 9110d23710980eecc112753af46f7fcda7558364 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 7 Feb 2015 16:03:09 -0500 Subject: added SupportsExternalStream to MediaStream --- MediaBrowser.Controller/Entities/Audio/Audio.cs | 2 +- MediaBrowser.Controller/Entities/BaseItem.cs | 1 + MediaBrowser.Controller/Entities/Video.cs | 7 +-- .../Library/IMediaSourceManager.cs | 11 +++++ .../MediaBrowser.Controller.csproj | 1 + .../MediaEncoding/MediaStreamSelector.cs | 12 +++-- MediaBrowser.Model/Dlna/StreamBuilder.cs | 7 ++- MediaBrowser.Model/Entities/MediaStream.cs | 8 +++- .../Subtitles/SubtitleManager.cs | 8 ++-- .../Library/MediaSourceManager.cs | 51 ++++++++++++++++++++++ .../MediaBrowser.Server.Implementations.csproj | 1 + .../Session/SessionManager.cs | 8 ++-- .../Sync/SyncJobProcessor.cs | 3 +- .../ApplicationHost.cs | 9 +++- 14 files changed, 108 insertions(+), 21 deletions(-) create mode 100644 MediaBrowser.Controller/Library/IMediaSourceManager.cs create mode 100644 MediaBrowser.Server.Implementations/Library/MediaSourceManager.cs (limited to 'MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj') diff --git a/MediaBrowser.Controller/Entities/Audio/Audio.cs b/MediaBrowser.Controller/Entities/Audio/Audio.cs index a7b91b868..902447999 100644 --- a/MediaBrowser.Controller/Entities/Audio/Audio.cs +++ b/MediaBrowser.Controller/Entities/Audio/Audio.cs @@ -239,7 +239,7 @@ namespace MediaBrowser.Controller.Entities.Audio { Id = i.Id.ToString("N"), Protocol = locationType == LocationType.Remote ? MediaProtocol.Http : MediaProtocol.File, - MediaStreams = ItemRepository.GetMediaStreams(new MediaStreamQuery { ItemId = i.Id }).ToList(), + MediaStreams = MediaSourceManager.GetMediaStreams(new MediaStreamQuery { ItemId = i.Id }).ToList(), Name = i.Name, Path = enablePathSubstituion ? GetMappedPath(i.Path, locationType) : i.Path, RunTimeTicks = i.RunTimeTicks, diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index 1443d99d3..1379ba829 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -300,6 +300,7 @@ namespace MediaBrowser.Controller.Entities public static IChannelManager ChannelManager { get; set; } public static ICollectionManager CollectionManager { get; set; } public static IImageProcessor ImageProcessor { get; set; } + public static IMediaSourceManager MediaSourceManager { get; set; } /// /// Returns a that represents this instance. diff --git a/MediaBrowser.Controller/Entities/Video.cs b/MediaBrowser.Controller/Entities/Video.cs index 12c377c90..d4507bc33 100644 --- a/MediaBrowser.Controller/Entities/Video.cs +++ b/MediaBrowser.Controller/Entities/Video.cs @@ -422,7 +422,7 @@ namespace MediaBrowser.Controller.Entities public virtual IEnumerable GetMediaStreams() { - return ItemRepository.GetMediaStreams(new MediaStreamQuery + return MediaSourceManager.GetMediaStreams(new MediaStreamQuery { ItemId = Id }); @@ -435,7 +435,7 @@ namespace MediaBrowser.Controller.Entities return null; } - return ItemRepository.GetMediaStreams(new MediaStreamQuery + return MediaSourceManager.GetMediaStreams(new MediaStreamQuery { ItemId = Id, Index = DefaultVideoStreamIndex.Value @@ -474,7 +474,8 @@ namespace MediaBrowser.Controller.Entities private static MediaSourceInfo GetVersionInfo(bool enablePathSubstitution, Video i, MediaSourceType type) { - var mediaStreams = ItemRepository.GetMediaStreams(new MediaStreamQuery { ItemId = i.Id }).ToList(); + var mediaStreams = MediaSourceManager.GetMediaStreams(new MediaStreamQuery { ItemId = i.Id }) + .ToList(); var locationType = i.LocationType; diff --git a/MediaBrowser.Controller/Library/IMediaSourceManager.cs b/MediaBrowser.Controller/Library/IMediaSourceManager.cs new file mode 100644 index 000000000..4378bc85d --- /dev/null +++ b/MediaBrowser.Controller/Library/IMediaSourceManager.cs @@ -0,0 +1,11 @@ +using MediaBrowser.Controller.Persistence; +using MediaBrowser.Model.Entities; +using System.Collections.Generic; + +namespace MediaBrowser.Controller.Library +{ + public interface IMediaSourceManager + { + IEnumerable GetMediaStreams(MediaStreamQuery query); + } +} diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj index 27beabcc1..e9531e057 100644 --- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj +++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj @@ -170,6 +170,7 @@ + diff --git a/MediaBrowser.Controller/MediaEncoding/MediaStreamSelector.cs b/MediaBrowser.Controller/MediaEncoding/MediaStreamSelector.cs index b18651a68..57fddb2b1 100644 --- a/MediaBrowser.Controller/MediaEncoding/MediaStreamSelector.cs +++ b/MediaBrowser.Controller/MediaEncoding/MediaStreamSelector.cs @@ -90,10 +90,16 @@ namespace MediaBrowser.Controller.MediaEncoding return index == -1 ? 100 : index; }) - .ThenBy(i => i.IsDefault) - .ThenBy(i => i.IsTextSubtitleStream) - .ThenBy(i => i.IsExternal) + .ThenBy(i => GetBooleanOrderBy(i.IsDefault)) + .ThenBy(i => GetBooleanOrderBy(i.SupportsExternalStream)) + .ThenBy(i => GetBooleanOrderBy(i.IsTextSubtitleStream)) + .ThenBy(i => GetBooleanOrderBy(i.IsExternal)) .ThenBy(i => i.Index); } + + private static int GetBooleanOrderBy(bool value) + { + return value ? 0 : 1; + } } } diff --git a/MediaBrowser.Model/Dlna/StreamBuilder.cs b/MediaBrowser.Model/Dlna/StreamBuilder.cs index 6076637b4..6fa29a533 100644 --- a/MediaBrowser.Model/Dlna/StreamBuilder.cs +++ b/MediaBrowser.Model/Dlna/StreamBuilder.cs @@ -543,9 +543,12 @@ namespace MediaBrowser.Model.Dlna // Look for an external profile that matches the stream type (text/graphical) foreach (SubtitleProfile profile in deviceProfile.SubtitleProfiles) { - if (profile.Method == SubtitleDeliveryMethod.External && subtitleStream.IsTextSubtitleStream == MediaStream.IsTextFormat(profile.Format)) + if (subtitleStream.SupportsExternalStream) { - return profile; + if (profile.Method == SubtitleDeliveryMethod.External && subtitleStream.IsTextSubtitleStream == MediaStream.IsTextFormat(profile.Format)) + { + return profile; + } } } diff --git a/MediaBrowser.Model/Entities/MediaStream.cs b/MediaBrowser.Model/Entities/MediaStream.cs index db4a68cff..4af32bb50 100644 --- a/MediaBrowser.Model/Entities/MediaStream.cs +++ b/MediaBrowser.Model/Entities/MediaStream.cs @@ -50,7 +50,7 @@ namespace MediaBrowser.Model.Entities /// /// The reference frames. public int? RefFrames { get; set; } - + /// /// Gets or sets the length of the packet. /// @@ -156,6 +156,12 @@ namespace MediaBrowser.Model.Entities !StringHelper.EqualsIgnoreCase(codec, "sub"); } + /// + /// Gets or sets a value indicating whether [supports external stream]. + /// + /// true if [supports external stream]; otherwise, false. + public bool SupportsExternalStream { get; set; } + /// /// Gets or sets the filename. /// diff --git a/MediaBrowser.Providers/Subtitles/SubtitleManager.cs b/MediaBrowser.Providers/Subtitles/SubtitleManager.cs index 187f8814b..c449edd07 100644 --- a/MediaBrowser.Providers/Subtitles/SubtitleManager.cs +++ b/MediaBrowser.Providers/Subtitles/SubtitleManager.cs @@ -27,18 +27,18 @@ namespace MediaBrowser.Providers.Subtitles private readonly IFileSystem _fileSystem; private readonly ILibraryMonitor _monitor; private readonly ILibraryManager _libraryManager; - private readonly IItemRepository _itemRepo; + private readonly IMediaSourceManager _mediaSourceManager; public event EventHandler SubtitlesDownloaded; public event EventHandler SubtitleDownloadFailure; - public SubtitleManager(ILogger logger, IFileSystem fileSystem, ILibraryMonitor monitor, ILibraryManager libraryManager, IItemRepository itemRepo) + public SubtitleManager(ILogger logger, IFileSystem fileSystem, ILibraryMonitor monitor, ILibraryManager libraryManager, IMediaSourceManager mediaSourceManager) { _logger = logger; _fileSystem = fileSystem; _monitor = monitor; _libraryManager = libraryManager; - _itemRepo = itemRepo; + _mediaSourceManager = mediaSourceManager; } public void AddParts(IEnumerable subtitleProviders) @@ -232,7 +232,7 @@ namespace MediaBrowser.Providers.Subtitles public Task DeleteSubtitles(string itemId, int index) { - var stream = _itemRepo.GetMediaStreams(new MediaStreamQuery + var stream = _mediaSourceManager.GetMediaStreams(new MediaStreamQuery { Index = index, ItemId = new Guid(itemId), diff --git a/MediaBrowser.Server.Implementations/Library/MediaSourceManager.cs b/MediaBrowser.Server.Implementations/Library/MediaSourceManager.cs new file mode 100644 index 000000000..a45757d13 --- /dev/null +++ b/MediaBrowser.Server.Implementations/Library/MediaSourceManager.cs @@ -0,0 +1,51 @@ +using MediaBrowser.Controller.Library; +using MediaBrowser.Controller.Persistence; +using MediaBrowser.Model.Entities; +using System.Collections.Generic; +using System.Linq; + +namespace MediaBrowser.Server.Implementations.Library +{ + public class MediaSourceManager : IMediaSourceManager + { + private readonly IItemRepository _itemRepo; + + public MediaSourceManager(IItemRepository itemRepo) + { + _itemRepo = itemRepo; + } + + public IEnumerable GetMediaStreams(MediaStreamQuery query) + { + var list = _itemRepo.GetMediaStreams(query) + .ToList(); + + foreach (var stream in list) + { + stream.SupportsExternalStream = StreamSupportsExternalStream(stream); + } + + return list; + } + + private bool StreamSupportsExternalStream(MediaStream stream) + { + if (stream.IsExternal) + { + return true; + } + + if (stream.IsTextSubtitleStream) + { + return InternalTextStreamSupportsExternalStream(stream); + } + + return false; + } + + private bool InternalTextStreamSupportsExternalStream(MediaStream stream) + { + return true; + } + } +} diff --git a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj index bf11e4ef6..ce77b3db1 100644 --- a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj +++ b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj @@ -185,6 +185,7 @@ + diff --git a/MediaBrowser.Server.Implementations/Session/SessionManager.cs b/MediaBrowser.Server.Implementations/Session/SessionManager.cs index 6166e3d65..308f46c23 100644 --- a/MediaBrowser.Server.Implementations/Session/SessionManager.cs +++ b/MediaBrowser.Server.Implementations/Session/SessionManager.cs @@ -56,7 +56,7 @@ namespace MediaBrowser.Server.Implementations.Session private readonly IMusicManager _musicManager; private readonly IDtoService _dtoService; private readonly IImageProcessor _imageProcessor; - private readonly IItemRepository _itemRepo; + private readonly IMediaSourceManager _mediaSourceManager; private readonly IHttpClient _httpClient; private readonly IJsonSerializer _jsonSerializer; @@ -97,7 +97,7 @@ namespace MediaBrowser.Server.Implementations.Session private readonly SemaphoreSlim _sessionLock = new SemaphoreSlim(1, 1); - public SessionManager(IUserDataManager userDataRepository, ILogger logger, IUserRepository userRepository, ILibraryManager libraryManager, IUserManager userManager, IMusicManager musicManager, IDtoService dtoService, IImageProcessor imageProcessor, IItemRepository itemRepo, IJsonSerializer jsonSerializer, IServerApplicationHost appHost, IHttpClient httpClient, IAuthenticationRepository authRepo, IDeviceManager deviceManager) + public SessionManager(IUserDataManager userDataRepository, ILogger logger, IUserRepository userRepository, ILibraryManager libraryManager, IUserManager userManager, IMusicManager musicManager, IDtoService dtoService, IImageProcessor imageProcessor, IJsonSerializer jsonSerializer, IServerApplicationHost appHost, IHttpClient httpClient, IAuthenticationRepository authRepo, IDeviceManager deviceManager, IMediaSourceManager mediaSourceManager) { _userDataRepository = userDataRepository; _logger = logger; @@ -107,12 +107,12 @@ namespace MediaBrowser.Server.Implementations.Session _musicManager = musicManager; _dtoService = dtoService; _imageProcessor = imageProcessor; - _itemRepo = itemRepo; _jsonSerializer = jsonSerializer; _appHost = appHost; _httpClient = httpClient; _authRepo = authRepo; _deviceManager = deviceManager; + _mediaSourceManager = mediaSourceManager; _deviceManager.DeviceOptionsUpdated += _deviceManager_DeviceOptionsUpdated; } @@ -1560,7 +1560,7 @@ namespace MediaBrowser.Server.Implementations.Session if (!string.IsNullOrWhiteSpace(mediaSourceId)) { - info.MediaStreams = _itemRepo.GetMediaStreams(new MediaStreamQuery + info.MediaStreams = _mediaSourceManager.GetMediaStreams(new MediaStreamQuery { ItemId = new Guid(mediaSourceId) diff --git a/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs b/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs index c299bf155..e9d9dc46f 100644 --- a/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs +++ b/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs @@ -616,7 +616,8 @@ namespace MediaBrowser.Server.Implementations.Sync IsForced = subtitle.IsForced, IsExternal = true, Language = subtitle.Language, - Path = fileInfo.Path + Path = fileInfo.Path, + SupportsExternalStream = true }); startingIndex++; diff --git a/MediaBrowser.Server.Startup.Common/ApplicationHost.cs b/MediaBrowser.Server.Startup.Common/ApplicationHost.cs index 0bf9b9142..08c32204f 100644 --- a/MediaBrowser.Server.Startup.Common/ApplicationHost.cs +++ b/MediaBrowser.Server.Startup.Common/ApplicationHost.cs @@ -196,6 +196,7 @@ namespace MediaBrowser.Server.Startup.Common private ISyncRepository SyncRepository { get; set; } private ITVSeriesManager TVSeriesManager { get; set; } private ICollectionManager CollectionManager { get; set; } + private IMediaSourceManager MediaSourceManager { get; set; } private readonly StartupOptions _startupOptions; private readonly string _remotePackageName; @@ -459,7 +460,10 @@ namespace MediaBrowser.Server.Startup.Common DeviceManager = new DeviceManager(new DeviceRepository(ApplicationPaths, JsonSerializer, Logger, FileSystemManager), UserManager, FileSystemManager, LibraryMonitor, ConfigurationManager, LogManager.GetLogger("DeviceManager")); RegisterSingleInstance(DeviceManager); - SessionManager = new SessionManager(UserDataManager, Logger, UserRepository, LibraryManager, UserManager, musicManager, DtoService, ImageProcessor, ItemRepository, JsonSerializer, this, HttpClient, AuthenticationRepository, DeviceManager); + MediaSourceManager = new MediaSourceManager(ItemRepository); + RegisterSingleInstance(MediaSourceManager); + + SessionManager = new SessionManager(UserDataManager, Logger, UserRepository, LibraryManager, UserManager, musicManager, DtoService, ImageProcessor, JsonSerializer, this, HttpClient, AuthenticationRepository, DeviceManager, MediaSourceManager); RegisterSingleInstance(SessionManager); var newsService = new Implementations.News.NewsService(ApplicationPaths, JsonSerializer); @@ -503,7 +507,7 @@ namespace MediaBrowser.Server.Startup.Common NotificationManager = new NotificationManager(LogManager, UserManager, ServerConfigurationManager); RegisterSingleInstance(NotificationManager); - SubtitleManager = new SubtitleManager(LogManager.GetLogger("SubtitleManager"), FileSystemManager, LibraryMonitor, LibraryManager, ItemRepository); + SubtitleManager = new SubtitleManager(LogManager.GetLogger("SubtitleManager"), FileSystemManager, LibraryMonitor, LibraryManager, MediaSourceManager); RegisterSingleInstance(SubtitleManager); ChapterManager = new ChapterManager(LibraryManager, LogManager.GetLogger("ChapterManager"), ServerConfigurationManager, ItemRepository); @@ -696,6 +700,7 @@ namespace MediaBrowser.Server.Startup.Common Folder.UserViewManager = UserViewManager; UserView.TVSeriesManager = TVSeriesManager; BaseItem.CollectionManager = CollectionManager; + BaseItem.MediaSourceManager = MediaSourceManager; } /// -- cgit v1.2.3