Browse Source

update translations

Luke Pulverenti 11 years ago
parent
commit
ce20066bc0
73 changed files with 1741 additions and 1349 deletions
  1. 2 1
      MediaBrowser.Api/ItemRefreshService.cs
  2. 5 0
      MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs
  3. 43 5
      MediaBrowser.Common.Implementations/BaseApplicationHost.cs
  4. 1 1
      MediaBrowser.Common.Implementations/ScheduledTasks/Tasks/ReloadLoggerFileTask.cs
  5. 11 3
      MediaBrowser.Common/Net/IWebSocket.cs
  6. 2 3
      MediaBrowser.Common/Net/IWebSocketConnection.cs
  7. 6 2
      MediaBrowser.Controller/Library/TVUtils.cs
  8. 0 7
      MediaBrowser.Model/Configuration/ServerConfiguration.cs
  9. 1 1
      MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs
  10. 19 2
      MediaBrowser.Server.Implementations/HttpServer/NativeWebSocket.cs
  11. 16 8
      MediaBrowser.Server.Implementations/HttpServer/SocketSharp/SharpWebSocket.cs
  12. 1 7
      MediaBrowser.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs
  13. 7 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/ar.json
  14. 7 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/ca.json
  15. 6 2
      MediaBrowser.Server.Implementations/Localization/JavaScript/cs.json
  16. 7 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/da.json
  17. 5 1
      MediaBrowser.Server.Implementations/Localization/JavaScript/de.json
  18. 7 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/el.json
  19. 7 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/en_GB.json
  20. 7 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/en_US.json
  21. 5 1
      MediaBrowser.Server.Implementations/Localization/JavaScript/es.json
  22. 71 67
      MediaBrowser.Server.Implementations/Localization/JavaScript/es_MX.json
  23. 5 1
      MediaBrowser.Server.Implementations/Localization/JavaScript/fr.json
  24. 7 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/he.json
  25. 23 19
      MediaBrowser.Server.Implementations/Localization/JavaScript/it.json
  26. 28 25
      MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json
  27. 5 1
      MediaBrowser.Server.Implementations/Localization/JavaScript/kk.json
  28. 7 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/ms.json
  29. 7 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/nb.json
  30. 11 7
      MediaBrowser.Server.Implementations/Localization/JavaScript/nl.json
  31. 7 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/pl.json
  32. 5 1
      MediaBrowser.Server.Implementations/Localization/JavaScript/pt_BR.json
  33. 5 1
      MediaBrowser.Server.Implementations/Localization/JavaScript/pt_PT.json
  34. 7 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/ru.json
  35. 5 1
      MediaBrowser.Server.Implementations/Localization/JavaScript/sv.json
  36. 7 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/vi.json
  37. 7 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/zh_TW.json
  38. 16 6
      MediaBrowser.Server.Implementations/Localization/Server/ar.json
  39. 16 6
      MediaBrowser.Server.Implementations/Localization/Server/ca.json
  40. 14 4
      MediaBrowser.Server.Implementations/Localization/Server/cs.json
  41. 13 3
      MediaBrowser.Server.Implementations/Localization/Server/da.json
  42. 17 7
      MediaBrowser.Server.Implementations/Localization/Server/de.json
  43. 16 6
      MediaBrowser.Server.Implementations/Localization/Server/el.json
  44. 16 6
      MediaBrowser.Server.Implementations/Localization/Server/en_GB.json
  45. 16 6
      MediaBrowser.Server.Implementations/Localization/Server/en_US.json
  46. 15 5
      MediaBrowser.Server.Implementations/Localization/Server/es.json
  47. 20 10
      MediaBrowser.Server.Implementations/Localization/Server/es_MX.json
  48. 18 8
      MediaBrowser.Server.Implementations/Localization/Server/fr.json
  49. 14 4
      MediaBrowser.Server.Implementations/Localization/Server/he.json
  50. 34 24
      MediaBrowser.Server.Implementations/Localization/Server/it.json
  51. 13 3
      MediaBrowser.Server.Implementations/Localization/Server/kk.json
  52. 16 6
      MediaBrowser.Server.Implementations/Localization/Server/ko.json
  53. 16 6
      MediaBrowser.Server.Implementations/Localization/Server/ms.json
  54. 16 6
      MediaBrowser.Server.Implementations/Localization/Server/nb.json
  55. 34 24
      MediaBrowser.Server.Implementations/Localization/Server/nl.json
  56. 16 6
      MediaBrowser.Server.Implementations/Localization/Server/pl.json
  57. 15 5
      MediaBrowser.Server.Implementations/Localization/Server/pt_BR.json
  58. 16 6
      MediaBrowser.Server.Implementations/Localization/Server/pt_PT.json
  59. 1 1
      MediaBrowser.Server.Implementations/Localization/Server/ru.json
  60. 902 891
      MediaBrowser.Server.Implementations/Localization/Server/server.json
  61. 17 7
      MediaBrowser.Server.Implementations/Localization/Server/sv.json
  62. 15 5
      MediaBrowser.Server.Implementations/Localization/Server/vi.json
  63. 13 3
      MediaBrowser.Server.Implementations/Localization/Server/zh_TW.json
  64. 4 3
      MediaBrowser.Server.Implementations/ServerManager/ServerManager.cs
  65. 38 16
      MediaBrowser.Server.Implementations/ServerManager/WebSocketConnection.cs
  66. 3 19
      MediaBrowser.ServerApplication/ApplicationHost.cs
  67. 1 7
      MediaBrowser.ServerApplication/MainStartup.cs
  68. 0 6
      MediaBrowser.ServerApplication/Native/RegisterServer.bat
  69. 3 5
      MediaBrowser.ServerApplication/Native/ServerAuthorization.cs
  70. 0 7
      MediaBrowser.Tests/Providers/MovieDbProviderTests.cs
  71. 1 1
      MediaBrowser.Tests/Resolvers/TvUtilTests.cs
  72. 1 3
      MediaBrowser.WebDashboard/Api/DashboardService.cs
  73. 3 12
      MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj

+ 2 - 1
MediaBrowser.Api/ItemRefreshService.cs

@@ -157,7 +157,8 @@ namespace MediaBrowser.Api
                 MetadataRefreshMode = request.MetadataRefreshMode,
                 MetadataRefreshMode = request.MetadataRefreshMode,
                 ImageRefreshMode = request.ImageRefreshMode,
                 ImageRefreshMode = request.ImageRefreshMode,
                 ReplaceAllImages = request.ReplaceAllImages,
                 ReplaceAllImages = request.ReplaceAllImages,
-                ReplaceAllMetadata = request.ReplaceAllMetadata
+                ReplaceAllMetadata = request.ReplaceAllMetadata,
+                ForceSave = true
             };
             };
         }
         }
     }
     }

+ 5 - 0
MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs

@@ -65,6 +65,11 @@ namespace MediaBrowser.Api.Playback.Hls
                 throw new ArgumentException("Video codec copy is not allowed here.");
                 throw new ArgumentException("Video codec copy is not allowed here.");
             }
             }
 
 
+            if (string.IsNullOrEmpty(request.MediaSourceId))
+            {
+                throw new ArgumentException("MediaSourceId is required");
+            }
+
             var result = GetAsync(request).Result;
             var result = GetAsync(request).Result;
 
 
             return result;
             return result;

+ 43 - 5
MediaBrowser.Common.Implementations/BaseApplicationHost.cs

@@ -211,6 +211,8 @@ namespace MediaBrowser.Common.Implementations
             JsonSerializer = CreateJsonSerializer();
             JsonSerializer = CreateJsonSerializer();
 
 
             Logger = LogManager.GetLogger("App");
             Logger = LogManager.GetLogger("App");
+            OnLoggerLoaded(true);
+            LogManager.LoggerLoaded += (s, e) => OnLoggerLoaded(false);
 
 
             IsFirstRun = !ConfigurationManager.CommonConfiguration.IsStartupWizardCompleted;
             IsFirstRun = !ConfigurationManager.CommonConfiguration.IsStartupWizardCompleted;
             progress.Report(2);
             progress.Report(2);
@@ -219,16 +221,11 @@ namespace MediaBrowser.Common.Implementations
                                          ? LogSeverity.Debug
                                          ? LogSeverity.Debug
                                          : LogSeverity.Info;
                                          : LogSeverity.Info;
 
 
-            // Put the app config in the log for troubleshooting purposes
-            Logger.LogMultiline("Application Configuration:", LogSeverity.Info, new StringBuilder(JsonSerializer.SerializeToString(ConfigurationManager.CommonConfiguration)));
-
             progress.Report(3);
             progress.Report(3);
 
 
             DiscoverTypes();
             DiscoverTypes();
             progress.Report(14);
             progress.Report(14);
 
 
-            Logger.Info("Version {0} initializing", ApplicationVersion);
-
             SetHttpLimit();
             SetHttpLimit();
             progress.Report(15);
             progress.Report(15);
 
 
@@ -245,6 +242,47 @@ namespace MediaBrowser.Common.Implementations
             progress.Report(100);
             progress.Report(100);
         }
         }
 
 
+        protected virtual void OnLoggerLoaded(bool isFirstLoad)
+        {
+            Logger.Info("Application version: {0}", ApplicationVersion);
+
+            if (!isFirstLoad)
+            {
+                LogEnvironmentInfo(Logger, ApplicationPaths);
+            }
+
+            // Put the app config in the log for troubleshooting purposes
+            Logger.LogMultiline("Application configuration:", LogSeverity.Info, new StringBuilder(JsonSerializer.SerializeToString(ConfigurationManager.CommonConfiguration)));
+
+            if (Plugins != null)
+            {
+                var pluginBuilder = new StringBuilder();
+
+                foreach (var plugin in Plugins)
+                {
+                    pluginBuilder.AppendLine(string.Format("{0} {1}", plugin.Name, plugin.Version));
+                }
+
+                Logger.LogMultiline("Plugins:", LogSeverity.Info, pluginBuilder);
+            }
+        }
+
+        public static void LogEnvironmentInfo(ILogger logger, IApplicationPaths appPaths)
+        {
+            logger.Info("Command line: {0}", string.Join(" ", Environment.GetCommandLineArgs()));
+
+            logger.Info("Server: {0}", Environment.MachineName);
+            logger.Info("Operating system: {0}", Environment.OSVersion.ToString());
+            logger.Info("Processor count: {0}", Environment.ProcessorCount);
+            logger.Info("64-Bit OS: {0}", Environment.Is64BitOperatingSystem);
+            logger.Info("64-Bit Process: {0}", Environment.Is64BitProcess);
+            logger.Info("Program data path: {0}", appPaths.ProgramDataPath);
+
+            logger.Info("Application Path: {0}", appPaths.ApplicationPath);
+
+            logger.Info("*** When reporting issues please include the entire log file. ***".ToUpper());
+        }
+
         protected virtual IJsonSerializer CreateJsonSerializer()
         protected virtual IJsonSerializer CreateJsonSerializer()
         {
         {
             return new JsonSerializer();
             return new JsonSerializer();

+ 1 - 1
MediaBrowser.Common.Implementations/ScheduledTasks/Tasks/ReloadLoggerFileTask.cs

@@ -94,7 +94,7 @@ namespace MediaBrowser.Common.Implementations.ScheduledTasks.Tasks
 
 
         public bool IsHidden
         public bool IsHidden
         {
         {
-            get { return true; }
+            get { return false; }
         }
         }
 
 
         public bool IsEnabled
         public bool IsEnabled

+ 11 - 3
MediaBrowser.Common/Net/IWebSocket.cs

@@ -32,15 +32,23 @@ namespace MediaBrowser.Common.Net
         /// </summary>
         /// </summary>
         /// <value>The on receive.</value>
         /// <value>The on receive.</value>
         Action<string> OnReceive { get; set; }
         Action<string> OnReceive { get; set; }
-        
+
         /// <summary>
         /// <summary>
         /// Sends the async.
         /// Sends the async.
         /// </summary>
         /// </summary>
         /// <param name="bytes">The bytes.</param>
         /// <param name="bytes">The bytes.</param>
-        /// <param name="type">The type.</param>
         /// <param name="endOfMessage">if set to <c>true</c> [end of message].</param>
         /// <param name="endOfMessage">if set to <c>true</c> [end of message].</param>
         /// <param name="cancellationToken">The cancellation token.</param>
         /// <param name="cancellationToken">The cancellation token.</param>
         /// <returns>Task.</returns>
         /// <returns>Task.</returns>
-        Task SendAsync(byte[] bytes, WebSocketMessageType type, bool endOfMessage, CancellationToken cancellationToken);
+        Task SendAsync(byte[] bytes, bool endOfMessage, CancellationToken cancellationToken);
+
+        /// <summary>
+        /// Sends the asynchronous.
+        /// </summary>
+        /// <param name="text">The text.</param>
+        /// <param name="endOfMessage">if set to <c>true</c> [end of message].</param>
+        /// <param name="cancellationToken">The cancellation token.</param>
+        /// <returns>Task.</returns>
+        Task SendAsync(string text, bool endOfMessage, CancellationToken cancellationToken);
     }
     }
 }
 }

+ 2 - 3
MediaBrowser.Common/Net/IWebSocketConnection.cs

@@ -63,11 +63,10 @@ namespace MediaBrowser.Common.Net
         /// <summary>
         /// <summary>
         /// Sends a message asynchronously.
         /// Sends a message asynchronously.
         /// </summary>
         /// </summary>
-        /// <param name="buffer">The buffer.</param>
-        /// <param name="type">The type.</param>
+        /// <param name="text">The text.</param>
         /// <param name="cancellationToken">The cancellation token.</param>
         /// <param name="cancellationToken">The cancellation token.</param>
         /// <returns>Task.</returns>
         /// <returns>Task.</returns>
         /// <exception cref="System.ArgumentNullException">buffer</exception>
         /// <exception cref="System.ArgumentNullException">buffer</exception>
-        Task SendAsync(byte[] buffer, WebSocketMessageType type, CancellationToken cancellationToken);
+        Task SendAsync(string text, CancellationToken cancellationToken);
     }
     }
 }
 }

+ 6 - 2
MediaBrowser.Controller/Library/TVUtils.cs

@@ -200,7 +200,9 @@ namespace MediaBrowser.Controller.Library
         /// Determines whether [is series folder] [the specified path].
         /// Determines whether [is series folder] [the specified path].
         /// </summary>
         /// </summary>
         /// <param name="path">The path.</param>
         /// <param name="path">The path.</param>
+        /// <param name="considerSeasonlessSeries">if set to <c>true</c> [consider seasonless series].</param>
         /// <param name="fileSystemChildren">The file system children.</param>
         /// <param name="fileSystemChildren">The file system children.</param>
+        /// <param name="directoryService">The directory service.</param>
         /// <returns><c>true</c> if [is series folder] [the specified path]; otherwise, <c>false</c>.</returns>
         /// <returns><c>true</c> if [is series folder] [the specified path]; otherwise, <c>false</c>.</returns>
         public static bool IsSeriesFolder(string path, bool considerSeasonlessSeries, IEnumerable<FileSystemInfo> fileSystemChildren, IDirectoryService directoryService)
         public static bool IsSeriesFolder(string path, bool considerSeasonlessSeries, IEnumerable<FileSystemInfo> fileSystemChildren, IDirectoryService directoryService)
         {
         {
@@ -227,8 +229,10 @@ namespace MediaBrowser.Controller.Library
                     {
                     {
                         return true;
                         return true;
                     }
                     }
-
-                    nonSeriesFolders++;
+                    if (!EntityResolutionHelper.IgnoreFolders.Contains(child.Name, StringComparer.OrdinalIgnoreCase))
+                    {
+                        nonSeriesFolders++;
+                    }
 
 
                     if (nonSeriesFolders >= 3)
                     if (nonSeriesFolders >= 3)
                     {
                     {

+ 0 - 7
MediaBrowser.Model/Configuration/ServerConfiguration.cs

@@ -34,12 +34,6 @@ namespace MediaBrowser.Model.Configuration
         /// <value>The HTTP server port number.</value>
         /// <value>The HTTP server port number.</value>
         public int HttpServerPortNumber { get; set; }
         public int HttpServerPortNumber { get; set; }
 
 
-        /// <summary>
-        /// Gets or sets the legacy web socket port number.
-        /// </summary>
-        /// <value>The legacy web socket port number.</value>
-        public int LegacyWebSocketPortNumber { get; set; }
-
         /// <summary>
         /// <summary>
         /// Gets or sets a value indicating whether [enable internet providers].
         /// Gets or sets a value indicating whether [enable internet providers].
         /// </summary>
         /// </summary>
@@ -216,7 +210,6 @@ namespace MediaBrowser.Model.Configuration
             MediaEncodingQuality = EncodingQuality.Auto;
             MediaEncodingQuality = EncodingQuality.Auto;
             ImageSavingConvention = ImageSavingConvention.Compatible;
             ImageSavingConvention = ImageSavingConvention.Compatible;
             HttpServerPortNumber = 8096;
             HttpServerPortNumber = 8096;
-            LegacyWebSocketPortNumber = 8945;
             EnableDashboardResponseCaching = true;
             EnableDashboardResponseCaching = true;
 
 
             EnableAutomaticRestart = true;
             EnableAutomaticRestart = true;

+ 1 - 1
MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs

@@ -157,7 +157,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer
             HostContext.Config.HandlerFactoryPath = ListenerRequest.GetHandlerPathIfAny(UrlPrefixes.First());
             HostContext.Config.HandlerFactoryPath = ListenerRequest.GetHandlerPathIfAny(UrlPrefixes.First());
 
 
             _listener = NativeWebSocket.IsSupported
             _listener = NativeWebSocket.IsSupported
-                ? _listener = new HttpListenerServer(_logger, _threadPoolManager)
+                ? _listener = new WebSocketSharpListener(_logger, _threadPoolManager)
                 : _listener = new WebSocketSharpListener(_logger, _threadPoolManager);
                 : _listener = new WebSocketSharpListener(_logger, _threadPoolManager);
 
 
             _listener.WebSocketHandler = WebSocketHandler;
             _listener.WebSocketHandler = WebSocketHandler;

+ 19 - 2
MediaBrowser.Server.Implementations/HttpServer/NativeWebSocket.cs

@@ -1,4 +1,5 @@
-using MediaBrowser.Common.Events;
+using System.Text;
+using MediaBrowser.Common.Events;
 using MediaBrowser.Common.Net;
 using MediaBrowser.Common.Net;
 using MediaBrowser.Model.Logging;
 using MediaBrowser.Model.Logging;
 using System;
 using System;
@@ -36,7 +37,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer
         /// <param name="socket">The socket.</param>
         /// <param name="socket">The socket.</param>
         /// <param name="logger">The logger.</param>
         /// <param name="logger">The logger.</param>
         /// <exception cref="System.ArgumentNullException">socket</exception>
         /// <exception cref="System.ArgumentNullException">socket</exception>
-        public NativeWebSocket(System.Net.WebSockets.WebSocket socket, ILogger logger)
+        public NativeWebSocket(WebSocket socket, ILogger logger)
         {
         {
             if (socket == null)
             if (socket == null)
             {
             {
@@ -155,6 +156,22 @@ namespace MediaBrowser.Server.Implementations.HttpServer
             return WebSocket.SendAsync(new ArraySegment<byte>(bytes), nativeType, true, linkedTokenSource.Token);
             return WebSocket.SendAsync(new ArraySegment<byte>(bytes), nativeType, true, linkedTokenSource.Token);
         }
         }
 
 
+        public Task SendAsync(byte[] bytes, bool endOfMessage, CancellationToken cancellationToken)
+        {
+            var linkedTokenSource = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken, _cancellationTokenSource.Token);
+
+            return WebSocket.SendAsync(new ArraySegment<byte>(bytes), System.Net.WebSockets.WebSocketMessageType.Binary, true, linkedTokenSource.Token);
+        }
+
+        public Task SendAsync(string text, bool endOfMessage, CancellationToken cancellationToken)
+        {
+            var linkedTokenSource = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken, _cancellationTokenSource.Token);
+
+            var bytes = Encoding.UTF8.GetBytes(text);
+
+            return WebSocket.SendAsync(new ArraySegment<byte>(bytes), System.Net.WebSockets.WebSocketMessageType.Text, true, linkedTokenSource.Token);
+        }
+
         /// <summary>
         /// <summary>
         /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
         /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
         /// </summary>
         /// </summary>

+ 16 - 8
MediaBrowser.Server.Implementations/HttpServer/SocketSharp/SharpWebSocket.cs

@@ -96,22 +96,30 @@ namespace MediaBrowser.Server.Implementations.HttpServer.SocketSharp
         /// Sends the async.
         /// Sends the async.
         /// </summary>
         /// </summary>
         /// <param name="bytes">The bytes.</param>
         /// <param name="bytes">The bytes.</param>
-        /// <param name="type">The type.</param>
         /// <param name="endOfMessage">if set to <c>true</c> [end of message].</param>
         /// <param name="endOfMessage">if set to <c>true</c> [end of message].</param>
         /// <param name="cancellationToken">The cancellation token.</param>
         /// <param name="cancellationToken">The cancellation token.</param>
         /// <returns>Task.</returns>
         /// <returns>Task.</returns>
-        public Task SendAsync(byte[] bytes, WebSocketMessageType type, bool endOfMessage, CancellationToken cancellationToken)
+        public Task SendAsync(byte[] bytes, bool endOfMessage, CancellationToken cancellationToken)
         {
         {
-            System.Net.WebSockets.WebSocketMessageType nativeType;
+            var completionSource = new TaskCompletionSource<bool>();
 
 
-            if (!Enum.TryParse(type.ToString(), true, out nativeType))
-            {
-                _logger.Warn("Unrecognized WebSocketMessageType: {0}", type.ToString());
-            }
+            WebSocket.SendAsync(bytes, res => completionSource.TrySetResult(true));
+
+            return completionSource.Task;
+        }
 
 
+        /// <summary>
+        /// Sends the asynchronous.
+        /// </summary>
+        /// <param name="text">The text.</param>
+        /// <param name="endOfMessage">if set to <c>true</c> [end of message].</param>
+        /// <param name="cancellationToken">The cancellation token.</param>
+        /// <returns>Task.</returns>
+        public Task SendAsync(string text, bool endOfMessage, CancellationToken cancellationToken)
+        {
             var completionSource = new TaskCompletionSource<bool>();
             var completionSource = new TaskCompletionSource<bool>();
 
 
-            WebSocket.SendAsync(Encoding.UTF8.GetString(bytes), res => completionSource.TrySetResult(true));
+            WebSocket.SendAsync(text, res => completionSource.TrySetResult(true));
 
 
             return completionSource.Task;
             return completionSource.Task;
         }
         }

+ 1 - 7
MediaBrowser.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs

@@ -67,14 +67,8 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.TV
                 {
                 {
                     return null;
                     return null;
                 }
                 }
-
-                // Without these movies that have the name season in them could cause the parent folder to be resolved as a series
-                if (filename.IndexOf("[tmdbid=", StringComparison.OrdinalIgnoreCase) != -1)
-                {
-                    return null;
-                }
                 
                 
-                if (args.ContainsMetaFileByName("series.xml") || filename.IndexOf("[tvdbid=", StringComparison.OrdinalIgnoreCase) != -1 || TVUtils.IsSeriesFolder(args.Path, collectionType == CollectionType.TvShows, args.FileSystemChildren, args.DirectoryService))
+                if (TVUtils.IsSeriesFolder(args.Path, collectionType == CollectionType.TvShows, args.FileSystemChildren, args.DirectoryService))
                 {
                 {
                     return new Series();
                     return new Series();
                 }
                 }

+ 7 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/ar.json

@@ -58,14 +58,14 @@
     "ButtonMute": "Mute",
     "ButtonMute": "Mute",
     "ButtonUnmute": "Unmute",
     "ButtonUnmute": "Unmute",
     "ButtonStop": "Stop",
     "ButtonStop": "Stop",
-    "ButtonNextTrack": "Next track",
+    "ButtonNextTrack": "Next Track",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "ButtonPlay": "Play",
     "ButtonPlay": "Play",
     "ButtonEdit": "Edit",
     "ButtonEdit": "Edit",
     "ButtonQueue": "Queue",
     "ButtonQueue": "Queue",
     "ButtonPlayTrailer": "Play trailer",
     "ButtonPlayTrailer": "Play trailer",
     "ButtonPlaylist": "Playlist",
     "ButtonPlaylist": "Playlist",
-    "ButtonPreviousTrack": "Previous track",
+    "ButtonPreviousTrack": "Previous Track",
     "LabelEnabled": "Enabled",
     "LabelEnabled": "Enabled",
     "LabelDisabled": "Disabled",
     "LabelDisabled": "Disabled",
     "ButtonMoreInformation": "More Information",
     "ButtonMoreInformation": "More Information",
@@ -313,5 +313,9 @@
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonSubtitles": "Subtitles",
     "ButtonSubtitles": "Subtitles",
     "ButtonScenes": "Scenes",
     "ButtonScenes": "Scenes",
-    "ButtonQuality": "Quality"
+    "ButtonQuality": "Quality",
+    "HeaderNotifications": "Notifications",
+    "HeaderSelectPlayer": "Select Player:",
+    "ButtonSelect": "Select",
+    "ButtonNew": "New"
 }
 }

+ 7 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/ca.json

@@ -58,14 +58,14 @@
     "ButtonMute": "Mute",
     "ButtonMute": "Mute",
     "ButtonUnmute": "Unmute",
     "ButtonUnmute": "Unmute",
     "ButtonStop": "Stop",
     "ButtonStop": "Stop",
-    "ButtonNextTrack": "Next track",
+    "ButtonNextTrack": "Next Track",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "ButtonPlay": "Play",
     "ButtonPlay": "Play",
     "ButtonEdit": "Edit",
     "ButtonEdit": "Edit",
     "ButtonQueue": "Queue",
     "ButtonQueue": "Queue",
     "ButtonPlayTrailer": "Play trailer",
     "ButtonPlayTrailer": "Play trailer",
     "ButtonPlaylist": "Playlist",
     "ButtonPlaylist": "Playlist",
-    "ButtonPreviousTrack": "Previous track",
+    "ButtonPreviousTrack": "Previous Track",
     "LabelEnabled": "Enabled",
     "LabelEnabled": "Enabled",
     "LabelDisabled": "Disabled",
     "LabelDisabled": "Disabled",
     "ButtonMoreInformation": "More Information",
     "ButtonMoreInformation": "More Information",
@@ -313,5 +313,9 @@
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonSubtitles": "Subtitles",
     "ButtonSubtitles": "Subtitles",
     "ButtonScenes": "Scenes",
     "ButtonScenes": "Scenes",
-    "ButtonQuality": "Quality"
+    "ButtonQuality": "Quality",
+    "HeaderNotifications": "Notifications",
+    "HeaderSelectPlayer": "Select Player:",
+    "ButtonSelect": "Select",
+    "ButtonNew": "New"
 }
 }

+ 6 - 2
MediaBrowser.Server.Implementations/Localization/JavaScript/cs.json

@@ -58,7 +58,7 @@
     "ButtonMute": "Mute",
     "ButtonMute": "Mute",
     "ButtonUnmute": "Unmute",
     "ButtonUnmute": "Unmute",
     "ButtonStop": "Stop",
     "ButtonStop": "Stop",
-    "ButtonNextTrack": "Next track",
+    "ButtonNextTrack": "Next Track",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "ButtonPlay": "P\u0159ehr\u00e1t",
     "ButtonPlay": "P\u0159ehr\u00e1t",
     "ButtonEdit": "Upravit",
     "ButtonEdit": "Upravit",
@@ -313,5 +313,9 @@
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonSubtitles": "Titulky",
     "ButtonSubtitles": "Titulky",
     "ButtonScenes": "Sc\u00e9ny",
     "ButtonScenes": "Sc\u00e9ny",
-    "ButtonQuality": "Quality"
+    "ButtonQuality": "Quality",
+    "HeaderNotifications": "Notifications",
+    "HeaderSelectPlayer": "Select Player:",
+    "ButtonSelect": "Vybrat",
+    "ButtonNew": "Nov\u00e9"
 }
 }

+ 7 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/da.json

@@ -58,14 +58,14 @@
     "ButtonMute": "Mute",
     "ButtonMute": "Mute",
     "ButtonUnmute": "Unmute",
     "ButtonUnmute": "Unmute",
     "ButtonStop": "Stop",
     "ButtonStop": "Stop",
-    "ButtonNextTrack": "Next track",
+    "ButtonNextTrack": "Next Track",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "ButtonPlay": "Afspil",
     "ButtonPlay": "Afspil",
     "ButtonEdit": "Rediger",
     "ButtonEdit": "Rediger",
     "ButtonQueue": "Queue",
     "ButtonQueue": "Queue",
     "ButtonPlayTrailer": "Play trailer",
     "ButtonPlayTrailer": "Play trailer",
     "ButtonPlaylist": "Playlist",
     "ButtonPlaylist": "Playlist",
-    "ButtonPreviousTrack": "Previous track",
+    "ButtonPreviousTrack": "Previous Track",
     "LabelEnabled": "Enabled",
     "LabelEnabled": "Enabled",
     "LabelDisabled": "Disabled",
     "LabelDisabled": "Disabled",
     "ButtonMoreInformation": "More Information",
     "ButtonMoreInformation": "More Information",
@@ -313,5 +313,9 @@
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonSubtitles": "Undertekster",
     "ButtonSubtitles": "Undertekster",
     "ButtonScenes": "Scener",
     "ButtonScenes": "Scener",
-    "ButtonQuality": "Quality"
+    "ButtonQuality": "Quality",
+    "HeaderNotifications": "Notifications",
+    "HeaderSelectPlayer": "Select Player:",
+    "ButtonSelect": "V\u00e6lg",
+    "ButtonNew": "Ny"
 }
 }

+ 5 - 1
MediaBrowser.Server.Implementations/Localization/JavaScript/de.json

@@ -313,5 +313,9 @@
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonSubtitles": "Untertitel",
     "ButtonSubtitles": "Untertitel",
     "ButtonScenes": "Szenen",
     "ButtonScenes": "Szenen",
-    "ButtonQuality": "Quality"
+    "ButtonQuality": "Quality",
+    "HeaderNotifications": "Notifications",
+    "HeaderSelectPlayer": "Select Player:",
+    "ButtonSelect": "Ausw\u00e4hlen",
+    "ButtonNew": "Neu"
 }
 }

+ 7 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/el.json

@@ -58,14 +58,14 @@
     "ButtonMute": "Mute",
     "ButtonMute": "Mute",
     "ButtonUnmute": "Unmute",
     "ButtonUnmute": "Unmute",
     "ButtonStop": "Stop",
     "ButtonStop": "Stop",
-    "ButtonNextTrack": "Next track",
+    "ButtonNextTrack": "Next Track",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "ButtonPlay": "Play",
     "ButtonPlay": "Play",
     "ButtonEdit": "Edit",
     "ButtonEdit": "Edit",
     "ButtonQueue": "Queue",
     "ButtonQueue": "Queue",
     "ButtonPlayTrailer": "Play trailer",
     "ButtonPlayTrailer": "Play trailer",
     "ButtonPlaylist": "Playlist",
     "ButtonPlaylist": "Playlist",
-    "ButtonPreviousTrack": "Previous track",
+    "ButtonPreviousTrack": "Previous Track",
     "LabelEnabled": "Enabled",
     "LabelEnabled": "Enabled",
     "LabelDisabled": "Disabled",
     "LabelDisabled": "Disabled",
     "ButtonMoreInformation": "More Information",
     "ButtonMoreInformation": "More Information",
@@ -313,5 +313,9 @@
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonSubtitles": "Subtitles",
     "ButtonSubtitles": "Subtitles",
     "ButtonScenes": "Scenes",
     "ButtonScenes": "Scenes",
-    "ButtonQuality": "Quality"
+    "ButtonQuality": "Quality",
+    "HeaderNotifications": "Notifications",
+    "HeaderSelectPlayer": "Select Player:",
+    "ButtonSelect": "Select",
+    "ButtonNew": "New"
 }
 }

+ 7 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/en_GB.json

@@ -58,14 +58,14 @@
     "ButtonMute": "Mute",
     "ButtonMute": "Mute",
     "ButtonUnmute": "Unmute",
     "ButtonUnmute": "Unmute",
     "ButtonStop": "Stop",
     "ButtonStop": "Stop",
-    "ButtonNextTrack": "Next track",
+    "ButtonNextTrack": "Next Track",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "ButtonPlay": "Play",
     "ButtonPlay": "Play",
     "ButtonEdit": "Edit",
     "ButtonEdit": "Edit",
     "ButtonQueue": "Queue",
     "ButtonQueue": "Queue",
     "ButtonPlayTrailer": "Play trailer",
     "ButtonPlayTrailer": "Play trailer",
     "ButtonPlaylist": "Playlist",
     "ButtonPlaylist": "Playlist",
-    "ButtonPreviousTrack": "Previous track",
+    "ButtonPreviousTrack": "Previous Track",
     "LabelEnabled": "Enabled",
     "LabelEnabled": "Enabled",
     "LabelDisabled": "Disabled",
     "LabelDisabled": "Disabled",
     "ButtonMoreInformation": "More Information",
     "ButtonMoreInformation": "More Information",
@@ -313,5 +313,9 @@
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonSubtitles": "Subtitles",
     "ButtonSubtitles": "Subtitles",
     "ButtonScenes": "Scenes",
     "ButtonScenes": "Scenes",
-    "ButtonQuality": "Quality"
+    "ButtonQuality": "Quality",
+    "HeaderNotifications": "Notifications",
+    "HeaderSelectPlayer": "Select Player:",
+    "ButtonSelect": "Select",
+    "ButtonNew": "New"
 }
 }

+ 7 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/en_US.json

@@ -58,14 +58,14 @@
     "ButtonMute": "Mute",
     "ButtonMute": "Mute",
     "ButtonUnmute": "Unmute",
     "ButtonUnmute": "Unmute",
     "ButtonStop": "Stop",
     "ButtonStop": "Stop",
-    "ButtonNextTrack": "Next track",
+    "ButtonNextTrack": "Next Track",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "ButtonPlay": "Play",
     "ButtonPlay": "Play",
     "ButtonEdit": "Edit",
     "ButtonEdit": "Edit",
     "ButtonQueue": "Queue",
     "ButtonQueue": "Queue",
     "ButtonPlayTrailer": "Play trailer",
     "ButtonPlayTrailer": "Play trailer",
     "ButtonPlaylist": "Playlist",
     "ButtonPlaylist": "Playlist",
-    "ButtonPreviousTrack": "Previous track",
+    "ButtonPreviousTrack": "Previous Track",
     "LabelEnabled": "Enabled",
     "LabelEnabled": "Enabled",
     "LabelDisabled": "Disabled",
     "LabelDisabled": "Disabled",
     "ButtonMoreInformation": "More Information",
     "ButtonMoreInformation": "More Information",
@@ -313,5 +313,9 @@
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonSubtitles": "Subtitles",
     "ButtonSubtitles": "Subtitles",
     "ButtonScenes": "Scenes",
     "ButtonScenes": "Scenes",
-    "ButtonQuality": "Quality"
+    "ButtonQuality": "Quality",
+    "HeaderNotifications": "Notifications",
+    "HeaderSelectPlayer": "Select Player:",
+    "ButtonSelect": "Select",
+    "ButtonNew": "New"
 }
 }

+ 5 - 1
MediaBrowser.Server.Implementations/Localization/JavaScript/es.json

@@ -313,5 +313,9 @@
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonSubtitles": "Subt\u00edtulos",
     "ButtonSubtitles": "Subt\u00edtulos",
     "ButtonScenes": "Escenas",
     "ButtonScenes": "Escenas",
-    "ButtonQuality": "Quality"
+    "ButtonQuality": "Quality",
+    "HeaderNotifications": "Notifications",
+    "HeaderSelectPlayer": "Select Player:",
+    "ButtonSelect": "Seleccionar",
+    "ButtonNew": "Nuevo"
 }
 }

+ 71 - 67
MediaBrowser.Server.Implementations/Localization/JavaScript/es_MX.json

@@ -233,85 +233,89 @@
     "ButtonRevoke": "Revocar",
     "ButtonRevoke": "Revocar",
     "MessageConfirmRevokeApiKey": "\u00bfEst\u00e1 seguro de querer revocar esta llave de API?",
     "MessageConfirmRevokeApiKey": "\u00bfEst\u00e1 seguro de querer revocar esta llave de API?",
     "HeaderConfirmRevokeApiKey": "Revocar llave de API",
     "HeaderConfirmRevokeApiKey": "Revocar llave de API",
-    "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": "Are you sure you wish to delete this item from your library?",
-    "MessagePleaseEnterNameOrId": "Please enter a name or an external Id.",
-    "MessageValueNotCorrect": "The value entered is not correct. Please try again.",
-    "MessageItemSaved": "Item saved.",
+    "ValueContainer": "Contenedor: {0}",
+    "ValueAudioCodec": "C\u00f3dec de Audio: {0}",
+    "ValueVideoCodec": "C\u00f3dec de Video: {0}",
+    "ValueCodec": "C\u00f3dec: {0}",
+    "ValueConditions": "Condiciones: {0}",
+    "LabelAll": "Todos",
+    "HeaderDeleteImage": "Eliminar Im\u00e1gen",
+    "MessageFileNotFound": "Archivo no encontrado.",
+    "MessageFileReadError": "Ha ocurrido un error al leer este archivo.",
+    "ButtonNextPage": "P\u00e1gina Siguiente",
+    "ButtonPreviousPage": "P\u00e1gina Anterior",
+    "ButtonMoveLeft": "Mover a la izquierda",
+    "ButtonMoveRight": "Mover a la derecha",
+    "ButtonBrowseOnlineImages": "Navegar por im\u00e1genes en l\u00ednea",
+    "HeaderDeleteItem": "Eliminar \u00cdtem",
+    "ConfirmDeleteItem": "\u00bfEsta seguro de querer eleiminar este \u00edtem de su biblioteca?",
+    "MessagePleaseEnterNameOrId": "Por favor ingrese un nombre o id externo.",
+    "MessageValueNotCorrect": "El valor ingresado no es correcto. Intente nuevamente por favor.",
+    "MessageItemSaved": "\u00cdtem guardado.",
     "OptionEnded": "Finalizado",
     "OptionEnded": "Finalizado",
     "OptionContinuing": "Continuando",
     "OptionContinuing": "Continuando",
     "OptionOff": "No",
     "OptionOff": "No",
     "OptionOn": "Si",
     "OptionOn": "Si",
-    "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",
+    "HeaderFields": "Campos",
+    "HeaderFieldsHelp": "Deslice un campo hacia \"apagado\" para bloquearlo y evitar que sus datos sean modificados.",
+    "HeaderLiveTV": "TV en Vivo",
+    "MissingLocalTrailer": "Falta avance local.",
+    "MissingPrimaryImage": "Falta im\u00e1gen primaria.",
+    "MissingBackdropImage": "Falta im\u00e1gen de fondo.",
+    "MissingLogoImage": "Falta im\u00e1gen de logo.",
+    "MissingEpisode": "Falta episodio.",
+    "OptionScreenshots": "Capuras de Pantalla",
+    "OptionBackdrops": "Fondos",
+    "OptionImages": "Im\u00e1genes",
+    "OptionKeywords": "Palabras clave",
+    "OptionTags": "Etiquetas",
+    "OptionStudios": "Estudios",
+    "OptionName": "Nombre",
+    "OptionOverview": "Sinopsis",
+    "OptionGenres": "G\u00e9neros",
     "OptionParentalRating": "Clasificaci\u00f3n Parental",
     "OptionParentalRating": "Clasificaci\u00f3n Parental",
-    "OptionPeople": "People",
+    "OptionPeople": "Personas",
     "OptionRuntime": "Duraci\u00f3n",
     "OptionRuntime": "Duraci\u00f3n",
-    "OptionProductionLocations": "Production Locations",
-    "OptionBirthLocation": "Birth Location",
+    "OptionProductionLocations": "Lugares de Producci\u00f3n",
+    "OptionBirthLocation": "Lugar de Nacimiento",
     "LabelAllChannels": "Todos los canales",
     "LabelAllChannels": "Todos los canales",
-    "LabelLiveProgram": "LIVE",
-    "LabelNewProgram": "NEW",
-    "LabelPremiereProgram": "PREMIERE",
-    "HeaderChangeFolderType": "Change Folder Type",
-    "HeaderChangeFolderTypeHelp": "To change the folder type, please remove and rebuild the collection with the new type.",
-    "HeaderAlert": "Alert",
-    "MessagePleaseRestart": "Please restart to finish updating.",
+    "LabelLiveProgram": "EN VIVO",
+    "LabelNewProgram": "NUEVO",
+    "LabelPremiereProgram": "ESTRENO",
+    "HeaderChangeFolderType": "Cambiar tipo de carpeta",
+    "HeaderChangeFolderTypeHelp": "Para cambiar el tipo de carpeta, por favor elimine y reconstruya la colecci\u00f3n con el nuevo tipo.",
+    "HeaderAlert": "Alerta",
+    "MessagePleaseRestart": "Por favor reinicie para finalizar la actualizaci\u00f3n.",
     "ButtonRestart": "Reiniciar",
     "ButtonRestart": "Reiniciar",
-    "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.",
+    "MessagePleaseRefreshPage": "Por favor actualice esta p\u00e1gina para recibir nuevas actualizaciones desde el servidor.",
+    "ButtonHide": "Ocultar",
+    "MessageSettingsSaved": "Configuraciones guardadas",
+    "ButtonSignOut": "Cerrar Sesi\u00f3n",
+    "ButtonMyProfile": "Mi Perf\u00edl",
+    "ButtonMyPreferences": "Mis Preferencias",
+    "MessageBrowserDoesNotSupportWebSockets": "Este navegador no soporta sockets web. Para una mejor experiencia, pruebe con un navegador m\u00e1s nuevo como Chrome, Firefox, IE10+, Safari (iOS) u Opera.",
+    "LabelInstallingPackage": "Instalando {0}",
+    "LabelPackageInstallCompleted": "{0} instalaci\u00f3n completada.",
+    "LabelPackageInstallFailed": "{0} instalaci\u00f3n fallida.",
+    "LabelPackageInstallCancelled": "{0} instalaci\u00f3n cancelada.",
     "TabServer": "Servidor",
     "TabServer": "Servidor",
-    "TabUsers": "Users",
-    "TabLibrary": "Library",
+    "TabUsers": "Usuarios",
+    "TabLibrary": "Biblioteca",
     "TabMetadata": "Metadatos",
     "TabMetadata": "Metadatos",
     "TabDLNA": "DLNA",
     "TabDLNA": "DLNA",
-    "TabLiveTV": "Live TV",
-    "TabAutoOrganize": "Auto-Organize",
-    "TabPlugins": "Plugins",
+    "TabLiveTV": "TV en Vivo",
+    "TabAutoOrganize": "Auto-Organizar",
+    "TabPlugins": "Complementos",
     "TabAdvanced": "Avanzado",
     "TabAdvanced": "Avanzado",
-    "TabHelp": "Help",
-    "TabScheduledTasks": "Scheduled Tasks",
-    "ButtonFullscreen": "Fullscreen",
-    "ButtonAudioTracks": "Audio Tracks",
+    "TabHelp": "Ayuda",
+    "TabScheduledTasks": "Tareas Programadas",
+    "ButtonFullscreen": "Pantalla completa",
+    "ButtonAudioTracks": "Pistas de Sonido",
     "ButtonSubtitles": "Subt\u00edtulos",
     "ButtonSubtitles": "Subt\u00edtulos",
     "ButtonScenes": "Escenas",
     "ButtonScenes": "Escenas",
-    "ButtonQuality": "Quality"
+    "ButtonQuality": "Calidad",
+    "HeaderNotifications": "Notifications",
+    "HeaderSelectPlayer": "Select Player:",
+    "ButtonSelect": "Seleccionar",
+    "ButtonNew": "Nuevo"
 }
 }

+ 5 - 1
MediaBrowser.Server.Implementations/Localization/JavaScript/fr.json

@@ -313,5 +313,9 @@
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonSubtitles": "Sous-titres",
     "ButtonSubtitles": "Sous-titres",
     "ButtonScenes": "Sc\u00e8nes",
     "ButtonScenes": "Sc\u00e8nes",
-    "ButtonQuality": "Quality"
+    "ButtonQuality": "Quality",
+    "HeaderNotifications": "Notifications",
+    "HeaderSelectPlayer": "Select Player:",
+    "ButtonSelect": "S\u00e9lectionner",
+    "ButtonNew": "Nouveau"
 }
 }

+ 7 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/he.json

@@ -58,14 +58,14 @@
     "ButtonMute": "Mute",
     "ButtonMute": "Mute",
     "ButtonUnmute": "Unmute",
     "ButtonUnmute": "Unmute",
     "ButtonStop": "Stop",
     "ButtonStop": "Stop",
-    "ButtonNextTrack": "Next track",
+    "ButtonNextTrack": "Next Track",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "ButtonPlay": "\u05e0\u05d2\u05df",
     "ButtonPlay": "\u05e0\u05d2\u05df",
     "ButtonEdit": "\u05e2\u05e8\u05d5\u05da",
     "ButtonEdit": "\u05e2\u05e8\u05d5\u05da",
     "ButtonQueue": "Queue",
     "ButtonQueue": "Queue",
     "ButtonPlayTrailer": "Play trailer",
     "ButtonPlayTrailer": "Play trailer",
     "ButtonPlaylist": "Playlist",
     "ButtonPlaylist": "Playlist",
-    "ButtonPreviousTrack": "Previous track",
+    "ButtonPreviousTrack": "Previous Track",
     "LabelEnabled": "Enabled",
     "LabelEnabled": "Enabled",
     "LabelDisabled": "Disabled",
     "LabelDisabled": "Disabled",
     "ButtonMoreInformation": "More Information",
     "ButtonMoreInformation": "More Information",
@@ -313,5 +313,9 @@
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonSubtitles": "Subtitles",
     "ButtonSubtitles": "Subtitles",
     "ButtonScenes": "Scenes",
     "ButtonScenes": "Scenes",
-    "ButtonQuality": "Quality"
+    "ButtonQuality": "Quality",
+    "HeaderNotifications": "Notifications",
+    "HeaderSelectPlayer": "Select Player:",
+    "ButtonSelect": "\u05d1\u05d7\u05e8",
+    "ButtonNew": "\u05d7\u05d3\u05e9"
 }
 }

+ 23 - 19
MediaBrowser.Server.Implementations/Localization/JavaScript/it.json

@@ -216,31 +216,31 @@
     "HeaderAlbumArtist": "Artista Album",
     "HeaderAlbumArtist": "Artista Album",
     "HeaderArtist": "Artista",
     "HeaderArtist": "Artista",
     "LabelAddedOnDate": "Added {0}",
     "LabelAddedOnDate": "Added {0}",
-    "ButtonStart": "Start",
+    "ButtonStart": "Avvio",
     "HeaderChannels": "Canali",
     "HeaderChannels": "Canali",
     "HeaderMediaFolders": "Cartelle dei media",
     "HeaderMediaFolders": "Cartelle dei media",
-    "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",
+    "HeaderBlockItemsWithNoRating": "Blocca gli elementi senza informazioni di valutazione",
+    "OptionBlockOthers": "Altri",
+    "OptionBlockTvShows": "Serie TV",
+    "OptionBlockTrailers": "Trailer",
+    "OptionBlockMusic": "Musica",
+    "OptionBlockMovies": "Film",
+    "OptionBlockBooks": "Libri",
+    "OptionBlockGames": "Giochi",
+    "OptionBlockLiveTvPrograms": "Programmi TV in onda",
+    "OptionBlockLiveTvChannels": "Canali TV in onda",
+    "OptionBlockChannelContent": "Contenuto di Canali Internet",
+    "ButtonRevoke": "Revocare",
+    "MessageConfirmRevokeApiKey": "Sei sicuro che desideri revocare le chiavi api? La connessione dell'applicazione con Media Browser sar\u00e0 improvvisamente terminata.",
+    "HeaderConfirmRevokeApiKey": "Revocare Chiave Api",
     "ValueContainer": "Container: {0}",
     "ValueContainer": "Container: {0}",
     "ValueAudioCodec": "Audio Codec: {0}",
     "ValueAudioCodec": "Audio Codec: {0}",
     "ValueVideoCodec": "Video Codec: {0}",
     "ValueVideoCodec": "Video Codec: {0}",
     "ValueCodec": "Codec: {0}",
     "ValueCodec": "Codec: {0}",
     "ValueConditions": "Conditions: {0}",
     "ValueConditions": "Conditions: {0}",
-    "LabelAll": "All",
-    "HeaderDeleteImage": "Delete Image",
-    "MessageFileNotFound": "File not found.",
+    "LabelAll": "Tutti",
+    "HeaderDeleteImage": "Cancella Immagine",
+    "MessageFileNotFound": "File non trovato.",
     "MessageFileReadError": "An error occurred reading this file.",
     "MessageFileReadError": "An error occurred reading this file.",
     "ButtonNextPage": "Next Page",
     "ButtonNextPage": "Next Page",
     "ButtonPreviousPage": "Previous Page",
     "ButtonPreviousPage": "Previous Page",
@@ -313,5 +313,9 @@
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonSubtitles": "Sottotitoli",
     "ButtonSubtitles": "Sottotitoli",
     "ButtonScenes": "Scene",
     "ButtonScenes": "Scene",
-    "ButtonQuality": "Quality"
+    "ButtonQuality": "Quality",
+    "HeaderNotifications": "Notifications",
+    "HeaderSelectPlayer": "Select Player:",
+    "ButtonSelect": "Seleziona",
+    "ButtonNew": "Nuovo"
 }
 }

+ 28 - 25
MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json

@@ -296,29 +296,32 @@
     "MessageSettingsSaved": "Settings saved.",
     "MessageSettingsSaved": "Settings saved.",
     "ButtonSignOut": "Sign Out",
     "ButtonSignOut": "Sign Out",
     "ButtonMyProfile": "My Profile",
     "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":  "Fullscreen",
-    "ButtonMute":  "Mute",
-    "ButtonUnmute":  "Unmute",
-    "ButtonAudioTracks":  "Audio Tracks",
-    "ButtonSubtitles":  "Subtitles",
-    "ButtonScenes":  "Scenes",
-    "ButtonQuality":  "Quality",
-    "HeaderNotifications":  "Notifications"
+    "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": "Fullscreen",
+    "ButtonMute": "Mute",
+    "ButtonUnmute": "Unmute",
+    "ButtonAudioTracks": "Audio Tracks",
+    "ButtonSubtitles": "Subtitles",
+    "ButtonScenes": "Scenes",
+    "ButtonQuality": "Quality",
+    "HeaderNotifications": "Notifications",
+    "HeaderSelectPlayer": "Select Player:",
+    "ButtonSelect": "Select",
+    "ButtonNew": "New"
 }
 }

+ 5 - 1
MediaBrowser.Server.Implementations/Localization/JavaScript/kk.json

@@ -313,5 +313,9 @@
     "ButtonAudioTracks": "\u0414\u044b\u0431\u044b\u0441 \u0436\u043e\u043b\u0448\u044b\u0493\u044b",
     "ButtonAudioTracks": "\u0414\u044b\u0431\u044b\u0441 \u0436\u043e\u043b\u0448\u044b\u0493\u044b",
     "ButtonSubtitles": "\u0421\u0443\u0431\u0442\u0438\u0442\u0440\u043b\u0435\u0440",
     "ButtonSubtitles": "\u0421\u0443\u0431\u0442\u0438\u0442\u0440\u043b\u0435\u0440",
     "ButtonScenes": "\u0421\u0430\u0445\u043d\u0430\u043b\u0430\u0440",
     "ButtonScenes": "\u0421\u0430\u0445\u043d\u0430\u043b\u0430\u0440",
-    "ButtonQuality": "\u0421\u0430\u043f\u0430"
+    "ButtonQuality": "\u0421\u0430\u043f\u0430",
+    "HeaderNotifications": "Notifications",
+    "HeaderSelectPlayer": "Select Player:",
+    "ButtonSelect": "\u0411\u04e9\u043b\u0435\u043a\u0442\u0435\u0443",
+    "ButtonNew": "\u0416\u0430\u0441\u0430\u0443"
 }
 }

+ 7 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/ms.json

@@ -58,14 +58,14 @@
     "ButtonMute": "Mute",
     "ButtonMute": "Mute",
     "ButtonUnmute": "Unmute",
     "ButtonUnmute": "Unmute",
     "ButtonStop": "Stop",
     "ButtonStop": "Stop",
-    "ButtonNextTrack": "Next track",
+    "ButtonNextTrack": "Next Track",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "ButtonPlay": "Play",
     "ButtonPlay": "Play",
     "ButtonEdit": "Edit",
     "ButtonEdit": "Edit",
     "ButtonQueue": "Queue",
     "ButtonQueue": "Queue",
     "ButtonPlayTrailer": "Play trailer",
     "ButtonPlayTrailer": "Play trailer",
     "ButtonPlaylist": "Playlist",
     "ButtonPlaylist": "Playlist",
-    "ButtonPreviousTrack": "Previous track",
+    "ButtonPreviousTrack": "Previous Track",
     "LabelEnabled": "Enabled",
     "LabelEnabled": "Enabled",
     "LabelDisabled": "Disabled",
     "LabelDisabled": "Disabled",
     "ButtonMoreInformation": "More Information",
     "ButtonMoreInformation": "More Information",
@@ -313,5 +313,9 @@
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonSubtitles": "Subtitles",
     "ButtonSubtitles": "Subtitles",
     "ButtonScenes": "Scenes",
     "ButtonScenes": "Scenes",
-    "ButtonQuality": "Quality"
+    "ButtonQuality": "Quality",
+    "HeaderNotifications": "Notifications",
+    "HeaderSelectPlayer": "Select Player:",
+    "ButtonSelect": "Select",
+    "ButtonNew": "New"
 }
 }

+ 7 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/nb.json

@@ -58,14 +58,14 @@
     "ButtonMute": "Mute",
     "ButtonMute": "Mute",
     "ButtonUnmute": "Unmute",
     "ButtonUnmute": "Unmute",
     "ButtonStop": "Stop",
     "ButtonStop": "Stop",
-    "ButtonNextTrack": "Next track",
+    "ButtonNextTrack": "Next Track",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "ButtonPlay": "Play",
     "ButtonPlay": "Play",
     "ButtonEdit": "Edit",
     "ButtonEdit": "Edit",
     "ButtonQueue": "Queue",
     "ButtonQueue": "Queue",
     "ButtonPlayTrailer": "Play trailer",
     "ButtonPlayTrailer": "Play trailer",
     "ButtonPlaylist": "Playlist",
     "ButtonPlaylist": "Playlist",
-    "ButtonPreviousTrack": "Previous track",
+    "ButtonPreviousTrack": "Previous Track",
     "LabelEnabled": "Enabled",
     "LabelEnabled": "Enabled",
     "LabelDisabled": "Disabled",
     "LabelDisabled": "Disabled",
     "ButtonMoreInformation": "More Information",
     "ButtonMoreInformation": "More Information",
@@ -313,5 +313,9 @@
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonSubtitles": "Subtitles",
     "ButtonSubtitles": "Subtitles",
     "ButtonScenes": "Scenes",
     "ButtonScenes": "Scenes",
-    "ButtonQuality": "Quality"
+    "ButtonQuality": "Quality",
+    "HeaderNotifications": "Notifications",
+    "HeaderSelectPlayer": "Select Player:",
+    "ButtonSelect": "Select",
+    "ButtonNew": "New"
 }
 }

+ 11 - 7
MediaBrowser.Server.Implementations/Localization/JavaScript/nl.json

@@ -20,11 +20,11 @@
     "OptionRelease": "Offici\u00eble Release",
     "OptionRelease": "Offici\u00eble Release",
     "OptionBeta": "Beta",
     "OptionBeta": "Beta",
     "OptionDev": "Dev (Instabiel)",
     "OptionDev": "Dev (Instabiel)",
-    "UninstallPluginHeader": "Plug-in de\u00efnstalleren",
+    "UninstallPluginHeader": "Invoegtoepassing de\u00efnstalleren",
     "UninstallPluginConfirmation": "Weet u zeker dat u {0} wilt de\u00efnstalleren?",
     "UninstallPluginConfirmation": "Weet u zeker dat u {0} wilt de\u00efnstalleren?",
-    "NoPluginConfigurationMessage": "Deze plug-in heeft niets in te stellen",
-    "NoPluginsInstalledMessage": "U heeft geen plug-ins ge\u00efnstalleerd",
-    "BrowsePluginCatalogMessage": "Bekijk de Plug-in catalogus voor beschikbare plug-ins.",
+    "NoPluginConfigurationMessage": "Deze Invoegtoepassing heeft niets in te stellen",
+    "NoPluginsInstalledMessage": "U heeft geen Invoegtoepassingen ge\u00efnstalleerd",
+    "BrowsePluginCatalogMessage": "Bekijk de Invoegtoepassings catalogus voor beschikbare Invoegtoepassingen.",
     "MessageKeyEmailedTo": "Sleutel gemaild naar {0}.",
     "MessageKeyEmailedTo": "Sleutel gemaild naar {0}.",
     "MessageKeysLinked": "Sleutels gekoppeld.",
     "MessageKeysLinked": "Sleutels gekoppeld.",
     "HeaderConfirmation": "Bevestiging",
     "HeaderConfirmation": "Bevestiging",
@@ -45,7 +45,7 @@
     "HeaderDeleteTaskTrigger": "Verwijderen Taak Trigger",
     "HeaderDeleteTaskTrigger": "Verwijderen Taak Trigger",
     "HeaderTaskTriggers": "Taak Triggers",
     "HeaderTaskTriggers": "Taak Triggers",
     "MessageDeleteTaskTrigger": "Weet u zeker dat u deze taak trigger wilt verwijderen?",
     "MessageDeleteTaskTrigger": "Weet u zeker dat u deze taak trigger wilt verwijderen?",
-    "MessageNoPluginsInstalled": "U heeft geen plug-ins ge\u00efnstalleerd.",
+    "MessageNoPluginsInstalled": "U heeft geen Invoegtoepassingen ge\u00efnstalleerd.",
     "LabelVersionInstalled": "{0} ge\u00efnstalleerd",
     "LabelVersionInstalled": "{0} ge\u00efnstalleerd",
     "LabelNumberReviews": "{0} Recensies",
     "LabelNumberReviews": "{0} Recensies",
     "LabelFree": "Gratis",
     "LabelFree": "Gratis",
@@ -305,7 +305,7 @@
     "TabDLNA": "DLNA",
     "TabDLNA": "DLNA",
     "TabLiveTV": "Live TV",
     "TabLiveTV": "Live TV",
     "TabAutoOrganize": "Automatisch-Organiseren",
     "TabAutoOrganize": "Automatisch-Organiseren",
-    "TabPlugins": "Plugins",
+    "TabPlugins": "Invoegtoepassingen",
     "TabAdvanced": "Geavanceerd",
     "TabAdvanced": "Geavanceerd",
     "TabHelp": "Hulp",
     "TabHelp": "Hulp",
     "TabScheduledTasks": "Geplande taken",
     "TabScheduledTasks": "Geplande taken",
@@ -313,5 +313,9 @@
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonSubtitles": "Ondertitels",
     "ButtonSubtitles": "Ondertitels",
     "ButtonScenes": "Scenes",
     "ButtonScenes": "Scenes",
-    "ButtonQuality": "Kwaliteit"
+    "ButtonQuality": "Kwaliteit",
+    "HeaderNotifications": "Notifications",
+    "HeaderSelectPlayer": "Select Player:",
+    "ButtonSelect": "Selecteer",
+    "ButtonNew": "Nieuw"
 }
 }

+ 7 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/pl.json

@@ -58,14 +58,14 @@
     "ButtonMute": "Mute",
     "ButtonMute": "Mute",
     "ButtonUnmute": "Unmute",
     "ButtonUnmute": "Unmute",
     "ButtonStop": "Stop",
     "ButtonStop": "Stop",
-    "ButtonNextTrack": "Next track",
+    "ButtonNextTrack": "Next Track",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "ButtonPlay": "Play",
     "ButtonPlay": "Play",
     "ButtonEdit": "Edit",
     "ButtonEdit": "Edit",
     "ButtonQueue": "Queue",
     "ButtonQueue": "Queue",
     "ButtonPlayTrailer": "Play trailer",
     "ButtonPlayTrailer": "Play trailer",
     "ButtonPlaylist": "Playlist",
     "ButtonPlaylist": "Playlist",
-    "ButtonPreviousTrack": "Previous track",
+    "ButtonPreviousTrack": "Previous Track",
     "LabelEnabled": "Enabled",
     "LabelEnabled": "Enabled",
     "LabelDisabled": "Disabled",
     "LabelDisabled": "Disabled",
     "ButtonMoreInformation": "More Information",
     "ButtonMoreInformation": "More Information",
@@ -313,5 +313,9 @@
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonSubtitles": "Subtitles",
     "ButtonSubtitles": "Subtitles",
     "ButtonScenes": "Scenes",
     "ButtonScenes": "Scenes",
-    "ButtonQuality": "Quality"
+    "ButtonQuality": "Quality",
+    "HeaderNotifications": "Notifications",
+    "HeaderSelectPlayer": "Select Player:",
+    "ButtonSelect": "Select",
+    "ButtonNew": "New"
 }
 }

+ 5 - 1
MediaBrowser.Server.Implementations/Localization/JavaScript/pt_BR.json

@@ -313,5 +313,9 @@
     "ButtonAudioTracks": "Faixas de \u00c1udio",
     "ButtonAudioTracks": "Faixas de \u00c1udio",
     "ButtonSubtitles": "Legendas",
     "ButtonSubtitles": "Legendas",
     "ButtonScenes": "Cenas",
     "ButtonScenes": "Cenas",
-    "ButtonQuality": "Qualidade"
+    "ButtonQuality": "Qualidade",
+    "HeaderNotifications": "Notifications",
+    "HeaderSelectPlayer": "Select Player:",
+    "ButtonSelect": "Selecionar",
+    "ButtonNew": "Nova"
 }
 }

+ 5 - 1
MediaBrowser.Server.Implementations/Localization/JavaScript/pt_PT.json

@@ -313,5 +313,9 @@
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonSubtitles": "Legendas",
     "ButtonSubtitles": "Legendas",
     "ButtonScenes": "Cenas",
     "ButtonScenes": "Cenas",
-    "ButtonQuality": "Quality"
+    "ButtonQuality": "Quality",
+    "HeaderNotifications": "Notifications",
+    "HeaderSelectPlayer": "Select Player:",
+    "ButtonSelect": "Selecionar",
+    "ButtonNew": "Novo"
 }
 }

+ 7 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/ru.json

@@ -68,7 +68,7 @@
     "ButtonPreviousTrack": "\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0430\u044f \u0434\u043e\u0440\u043e\u0436\u043a\u0430",
     "ButtonPreviousTrack": "\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0430\u044f \u0434\u043e\u0440\u043e\u0436\u043a\u0430",
     "LabelEnabled": "\u0412\u043a\u043b\u044e\u0447\u0435\u043d\u043e",
     "LabelEnabled": "\u0412\u043a\u043b\u044e\u0447\u0435\u043d\u043e",
     "LabelDisabled": "\u0412\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u043e",
     "LabelDisabled": "\u0412\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u043e",
-    "ButtonMoreInformation": "\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0435 \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f",
+    "ButtonMoreInformation": "\u0415\u0449\u0451 \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f",
     "LabelNoUnreadNotifications": "\u041d\u0435\u0442 \u043d\u0435\u043f\u0440\u043e\u0447\u0442\u0451\u043d\u043d\u044b\u0445 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0439.",
     "LabelNoUnreadNotifications": "\u041d\u0435\u0442 \u043d\u0435\u043f\u0440\u043e\u0447\u0442\u0451\u043d\u043d\u044b\u0445 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0439.",
     "ButtonViewNotifications": "\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f",
     "ButtonViewNotifications": "\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f",
     "ButtonMarkTheseRead": "\u041e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u043a\u0430\u043a \u043f\u0440\u043e\u0447\u0442\u0451\u043d\u043d\u044b\u0435",
     "ButtonMarkTheseRead": "\u041e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u043a\u0430\u043a \u043f\u0440\u043e\u0447\u0442\u0451\u043d\u043d\u044b\u0435",
@@ -207,7 +207,7 @@
     "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.",
     "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.",
     "MessageEnsureOpenTuner": "\u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0442\u0430\u043c \u043e\u0442\u043a\u0440\u044b\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0439 \u0442\u044e\u043d\u0435\u0440.",
     "MessageEnsureOpenTuner": "\u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0442\u0430\u043c \u043e\u0442\u043a\u0440\u044b\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0439 \u0442\u044e\u043d\u0435\u0440.",
     "ButtonHome": "\u0413\u043b\u0430\u0432\u043d\u0430\u044f",
     "ButtonHome": "\u0413\u043b\u0430\u0432\u043d\u0430\u044f",
-    "ButtonDashboard": "\u041f\u0430\u043d\u0435\u043b\u044c \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430",
+    "ButtonDashboard": "\u0418\u043d\u0444\u043e\u043f\u0430\u043d\u0435\u043b\u044c",
     "ButtonReports": "\u041e\u0442\u0447\u0451\u0442\u044b",
     "ButtonReports": "\u041e\u0442\u0447\u0451\u0442\u044b",
     "ButtonMetadataManager": "\u0414\u0438\u0441\u043f\u0435\u0442\u0447\u0435\u0440 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445",
     "ButtonMetadataManager": "\u0414\u0438\u0441\u043f\u0435\u0442\u0447\u0435\u0440 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445",
     "HeaderTime": "\u0412\u0440\u0435\u043c\u044f",
     "HeaderTime": "\u0412\u0440\u0435\u043c\u044f",
@@ -313,5 +313,9 @@
     "ButtonAudioTracks": "\u0410\u0443\u0434\u0438\u043e \u0434\u043e\u0440\u043e\u0436\u043a\u0438",
     "ButtonAudioTracks": "\u0410\u0443\u0434\u0438\u043e \u0434\u043e\u0440\u043e\u0436\u043a\u0438",
     "ButtonSubtitles": "\u0421\u0443\u0431\u0442\u0438\u0442\u0440\u044b",
     "ButtonSubtitles": "\u0421\u0443\u0431\u0442\u0438\u0442\u0440\u044b",
     "ButtonScenes": "\u0421\u0446\u0435\u043d\u044b",
     "ButtonScenes": "\u0421\u0446\u0435\u043d\u044b",
-    "ButtonQuality": "\u041a\u0430\u0447\u0435\u0441\u0442\u0432\u043e"
+    "ButtonQuality": "\u041a\u0430\u0447\u0435\u0441\u0442\u0432\u043e",
+    "HeaderNotifications": "Notifications",
+    "HeaderSelectPlayer": "Select Player:",
+    "ButtonSelect": "\u0412\u044b\u0431\u0440\u0430\u0442\u044c",
+    "ButtonNew": "\u0421\u043e\u0437\u0434\u0430\u0442\u044c"
 }
 }

+ 5 - 1
MediaBrowser.Server.Implementations/Localization/JavaScript/sv.json

@@ -313,5 +313,9 @@
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonSubtitles": "Undertexter",
     "ButtonSubtitles": "Undertexter",
     "ButtonScenes": "Scener",
     "ButtonScenes": "Scener",
-    "ButtonQuality": "Quality"
+    "ButtonQuality": "Quality",
+    "HeaderNotifications": "Notifications",
+    "HeaderSelectPlayer": "Select Player:",
+    "ButtonSelect": "V\u00e4lj",
+    "ButtonNew": "Nytillkommet"
 }
 }

+ 7 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/vi.json

@@ -58,14 +58,14 @@
     "ButtonMute": "Mute",
     "ButtonMute": "Mute",
     "ButtonUnmute": "Unmute",
     "ButtonUnmute": "Unmute",
     "ButtonStop": "Stop",
     "ButtonStop": "Stop",
-    "ButtonNextTrack": "Next track",
+    "ButtonNextTrack": "Next Track",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "ButtonPlay": "Play",
     "ButtonPlay": "Play",
     "ButtonEdit": "Edit",
     "ButtonEdit": "Edit",
     "ButtonQueue": "Queue",
     "ButtonQueue": "Queue",
     "ButtonPlayTrailer": "Play trailer",
     "ButtonPlayTrailer": "Play trailer",
     "ButtonPlaylist": "Playlist",
     "ButtonPlaylist": "Playlist",
-    "ButtonPreviousTrack": "Previous track",
+    "ButtonPreviousTrack": "Previous Track",
     "LabelEnabled": "Enabled",
     "LabelEnabled": "Enabled",
     "LabelDisabled": "Disabled",
     "LabelDisabled": "Disabled",
     "ButtonMoreInformation": "More Information",
     "ButtonMoreInformation": "More Information",
@@ -313,5 +313,9 @@
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonSubtitles": "Subtitles",
     "ButtonSubtitles": "Subtitles",
     "ButtonScenes": "Scenes",
     "ButtonScenes": "Scenes",
-    "ButtonQuality": "Quality"
+    "ButtonQuality": "Quality",
+    "HeaderNotifications": "Notifications",
+    "HeaderSelectPlayer": "Select Player:",
+    "ButtonSelect": "L\u1ef1a ch\u1ecdn",
+    "ButtonNew": "M\u1edbi"
 }
 }

+ 7 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/zh_TW.json

@@ -58,14 +58,14 @@
     "ButtonMute": "Mute",
     "ButtonMute": "Mute",
     "ButtonUnmute": "Unmute",
     "ButtonUnmute": "Unmute",
     "ButtonStop": "Stop",
     "ButtonStop": "Stop",
-    "ButtonNextTrack": "Next track",
+    "ButtonNextTrack": "Next Track",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "ButtonPlay": "\u64ad\u653e",
     "ButtonPlay": "\u64ad\u653e",
     "ButtonEdit": "\u7de8\u8f2f",
     "ButtonEdit": "\u7de8\u8f2f",
     "ButtonQueue": "Queue",
     "ButtonQueue": "Queue",
     "ButtonPlayTrailer": "Play trailer",
     "ButtonPlayTrailer": "Play trailer",
     "ButtonPlaylist": "Playlist",
     "ButtonPlaylist": "Playlist",
-    "ButtonPreviousTrack": "Previous track",
+    "ButtonPreviousTrack": "Previous Track",
     "LabelEnabled": "Enabled",
     "LabelEnabled": "Enabled",
     "LabelDisabled": "Disabled",
     "LabelDisabled": "Disabled",
     "ButtonMoreInformation": "More Information",
     "ButtonMoreInformation": "More Information",
@@ -313,5 +313,9 @@
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonAudioTracks": "Audio Tracks",
     "ButtonSubtitles": "Subtitles",
     "ButtonSubtitles": "Subtitles",
     "ButtonScenes": "Scenes",
     "ButtonScenes": "Scenes",
-    "ButtonQuality": "Quality"
+    "ButtonQuality": "Quality",
+    "HeaderNotifications": "Notifications",
+    "HeaderSelectPlayer": "Select Player:",
+    "ButtonSelect": "\u9078\u64c7",
+    "ButtonNew": "\u5275\u5efa"
 }
 }

+ 16 - 6
MediaBrowser.Server.Implementations/Localization/Server/ar.json

@@ -190,7 +190,7 @@
     "HeaderStatus": "Status",
     "HeaderStatus": "Status",
     "OptionContinuing": "Continuing",
     "OptionContinuing": "Continuing",
     "OptionEnded": "Ended",
     "OptionEnded": "Ended",
-    "HeaderAirDays": "Air Days:",
+    "HeaderAirDays": "Air Days",
     "OptionSunday": "Sunday",
     "OptionSunday": "Sunday",
     "OptionMonday": "Monday",
     "OptionMonday": "Monday",
     "OptionTuesday": "Tuesday",
     "OptionTuesday": "Tuesday",
@@ -198,7 +198,8 @@
     "OptionThursday": "Thursday",
     "OptionThursday": "Thursday",
     "OptionFriday": "Friday",
     "OptionFriday": "Friday",
     "OptionSaturday": "Saturday",
     "OptionSaturday": "Saturday",
-    "HeaderManagement": "Management:",
+    "HeaderManagement": "Management",
+    "LabelManagement": "Management:",
     "OptionMissingImdbId": "Missing IMDb Id",
     "OptionMissingImdbId": "Missing IMDb Id",
     "OptionMissingTvdbId": "Missing TheTVDB Id",
     "OptionMissingTvdbId": "Missing TheTVDB Id",
     "OptionMissingOverview": "Missing Overview",
     "OptionMissingOverview": "Missing Overview",
@@ -256,11 +257,11 @@
     "ButtonSelectDirectory": "Select Directory",
     "ButtonSelectDirectory": "Select Directory",
     "LabelCustomPaths": "Specify custom paths where desired. Leave fields empty to use the defaults.",
     "LabelCustomPaths": "Specify custom paths where desired. Leave fields empty to use the defaults.",
     "LabelCachePath": "Cache path:",
     "LabelCachePath": "Cache path:",
-    "LabelCachePathHelp": "This folder contains server cache files, such as images.",
+    "LabelCachePathHelp": "Specify a custom location for server cache files, such as images.",
     "LabelImagesByNamePath": "Images by name path:",
     "LabelImagesByNamePath": "Images by name path:",
-    "LabelImagesByNamePathHelp": "This folder contains downloaded actor, artist, genre and studio images.",
+    "LabelImagesByNamePathHelp": "Specify a custom location for downloaded actor, artist, genre and studio images.",
     "LabelMetadataPath": "Metadata path:",
     "LabelMetadataPath": "Metadata path:",
-    "LabelMetadataPathHelp": "This location contains downloaded artwork and metadata that is not configured to be stored in media folders.",
+    "LabelMetadataPathHelp": "Specify a custom location for downloaded artwork and metadata, if not saving within media folders.",
     "LabelTranscodingTempPath": "Transcoding temporary path:",
     "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.",
     "LabelTranscodingTempPathHelp": "This folder contains working files used by the transcoder. Specify a custom path, or leave empty to use the default within the server's data folder.",
     "TabBasics": "Basics",
     "TabBasics": "Basics",
@@ -874,5 +875,14 @@
     "LabelMatchType": "Match type:",
     "LabelMatchType": "Match type:",
     "OptionEquals": "Equals",
     "OptionEquals": "Equals",
     "OptionRegex": "Regex",
     "OptionRegex": "Regex",
-    "OptionSubstring": "Substring"
+    "OptionSubstring": "Substring",
+    "TabView": "View",
+    "TabSort": "Sort",
+    "TabFilter": "Filter",
+    "ButtonView": "View",
+    "LabelPageSize": "Item limit:",
+    "LabelView": "View:",
+    "TabUsers": "Users",
+    "HeaderFeatures": "Features",
+    "HeaderAdvanced": "Advanced"
 }
 }

+ 16 - 6
MediaBrowser.Server.Implementations/Localization/Server/ca.json

@@ -190,7 +190,7 @@
     "HeaderStatus": "Status",
     "HeaderStatus": "Status",
     "OptionContinuing": "Continuing",
     "OptionContinuing": "Continuing",
     "OptionEnded": "Ended",
     "OptionEnded": "Ended",
-    "HeaderAirDays": "Air Days:",
+    "HeaderAirDays": "Air Days",
     "OptionSunday": "Sunday",
     "OptionSunday": "Sunday",
     "OptionMonday": "Monday",
     "OptionMonday": "Monday",
     "OptionTuesday": "Tuesday",
     "OptionTuesday": "Tuesday",
@@ -198,7 +198,8 @@
     "OptionThursday": "Thursday",
     "OptionThursday": "Thursday",
     "OptionFriday": "Friday",
     "OptionFriday": "Friday",
     "OptionSaturday": "Saturday",
     "OptionSaturday": "Saturday",
-    "HeaderManagement": "Management:",
+    "HeaderManagement": "Management",
+    "LabelManagement": "Management:",
     "OptionMissingImdbId": "Missing IMDb Id",
     "OptionMissingImdbId": "Missing IMDb Id",
     "OptionMissingTvdbId": "Missing TheTVDB Id",
     "OptionMissingTvdbId": "Missing TheTVDB Id",
     "OptionMissingOverview": "Missing Overview",
     "OptionMissingOverview": "Missing Overview",
@@ -256,11 +257,11 @@
     "ButtonSelectDirectory": "Select Directory",
     "ButtonSelectDirectory": "Select Directory",
     "LabelCustomPaths": "Specify custom paths where desired. Leave fields empty to use the defaults.",
     "LabelCustomPaths": "Specify custom paths where desired. Leave fields empty to use the defaults.",
     "LabelCachePath": "Cache path:",
     "LabelCachePath": "Cache path:",
-    "LabelCachePathHelp": "This folder contains server cache files, such as images.",
+    "LabelCachePathHelp": "Specify a custom location for server cache files, such as images.",
     "LabelImagesByNamePath": "Images by name path:",
     "LabelImagesByNamePath": "Images by name path:",
-    "LabelImagesByNamePathHelp": "This folder contains downloaded actor, artist, genre and studio images.",
+    "LabelImagesByNamePathHelp": "Specify a custom location for downloaded actor, artist, genre and studio images.",
     "LabelMetadataPath": "Metadata path:",
     "LabelMetadataPath": "Metadata path:",
-    "LabelMetadataPathHelp": "This location contains downloaded artwork and metadata that is not configured to be stored in media folders.",
+    "LabelMetadataPathHelp": "Specify a custom location for downloaded artwork and metadata, if not saving within media folders.",
     "LabelTranscodingTempPath": "Transcoding temporary path:",
     "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.",
     "LabelTranscodingTempPathHelp": "This folder contains working files used by the transcoder. Specify a custom path, or leave empty to use the default within the server's data folder.",
     "TabBasics": "Basics",
     "TabBasics": "Basics",
@@ -874,5 +875,14 @@
     "LabelMatchType": "Match type:",
     "LabelMatchType": "Match type:",
     "OptionEquals": "Equals",
     "OptionEquals": "Equals",
     "OptionRegex": "Regex",
     "OptionRegex": "Regex",
-    "OptionSubstring": "Substring"
+    "OptionSubstring": "Substring",
+    "TabView": "View",
+    "TabSort": "Sort",
+    "TabFilter": "Filter",
+    "ButtonView": "View",
+    "LabelPageSize": "Item limit:",
+    "LabelView": "View:",
+    "TabUsers": "Users",
+    "HeaderFeatures": "Features",
+    "HeaderAdvanced": "Advanced"
 }
 }

+ 14 - 4
MediaBrowser.Server.Implementations/Localization/Server/cs.json

@@ -199,6 +199,7 @@
     "OptionFriday": "P\u00e1tek",
     "OptionFriday": "P\u00e1tek",
     "OptionSaturday": "Sobota",
     "OptionSaturday": "Sobota",
     "HeaderManagement": "Management:",
     "HeaderManagement": "Management:",
+    "LabelManagement": "Management:",
     "OptionMissingImdbId": "Chyb\u011bj\u00edc\u00ed IMDb Id",
     "OptionMissingImdbId": "Chyb\u011bj\u00edc\u00ed IMDb Id",
     "OptionMissingTvdbId": "Chyb\u011bj\u00edc\u00ed TheTVDB Id",
     "OptionMissingTvdbId": "Chyb\u011bj\u00edc\u00ed TheTVDB Id",
     "OptionMissingOverview": "Chyb\u011bj\u00edc\u00ed p\u0159ehled",
     "OptionMissingOverview": "Chyb\u011bj\u00edc\u00ed p\u0159ehled",
@@ -479,7 +480,7 @@
     "HeaderProgram": "Program",
     "HeaderProgram": "Program",
     "HeaderClients": "Klienti",
     "HeaderClients": "Klienti",
     "LabelCompleted": "Hotovo",
     "LabelCompleted": "Hotovo",
-    "LabelFailed": "Chyba",
+    "LabelFailed": "Failed",
     "LabelSkipped": "P\u0159esko\u010deno",
     "LabelSkipped": "P\u0159esko\u010deno",
     "HeaderEpisodeOrganization": "Organizace epizod",
     "HeaderEpisodeOrganization": "Organizace epizod",
     "LabelSeries": "Series:",
     "LabelSeries": "Series:",
@@ -629,8 +630,8 @@
     "ButtonFullscreen": "Toggle fullscreen",
     "ButtonFullscreen": "Toggle fullscreen",
     "ButtonScenes": "Sc\u00e9ny",
     "ButtonScenes": "Sc\u00e9ny",
     "ButtonSubtitles": "Titulky",
     "ButtonSubtitles": "Titulky",
-    "ButtonAudioTracks": "Audio stopy",
-    "ButtonPreviousTrack": "P\u0159edchod\u00ed stopa",
+    "ButtonAudioTracks": "Audio tracks",
+    "ButtonPreviousTrack": "Previous track",
     "ButtonNextTrack": "Next track",
     "ButtonNextTrack": "Next track",
     "ButtonStop": "Stop",
     "ButtonStop": "Stop",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
@@ -874,5 +875,14 @@
     "LabelMatchType": "Match type:",
     "LabelMatchType": "Match type:",
     "OptionEquals": "Equals",
     "OptionEquals": "Equals",
     "OptionRegex": "Regex",
     "OptionRegex": "Regex",
-    "OptionSubstring": "Substring"
+    "OptionSubstring": "Substring",
+    "TabView": "View",
+    "TabSort": "Sort",
+    "TabFilter": "Filter",
+    "ButtonView": "View",
+    "LabelPageSize": "Item limit:",
+    "LabelView": "View:",
+    "TabUsers": "Users",
+    "HeaderFeatures": "Features",
+    "HeaderAdvanced": "Advanced"
 }
 }

+ 13 - 3
MediaBrowser.Server.Implementations/Localization/Server/da.json

@@ -199,6 +199,7 @@
     "OptionFriday": "Fredag",
     "OptionFriday": "Fredag",
     "OptionSaturday": "L\u00f8rdag",
     "OptionSaturday": "L\u00f8rdag",
     "HeaderManagement": "Ledelse:",
     "HeaderManagement": "Ledelse:",
+    "LabelManagement": "Management:",
     "OptionMissingImdbId": "Manglende IMDB Id",
     "OptionMissingImdbId": "Manglende IMDB Id",
     "OptionMissingTvdbId": "Manglende TheTVDB Id",
     "OptionMissingTvdbId": "Manglende TheTVDB Id",
     "OptionMissingOverview": "Manglende Overblik",
     "OptionMissingOverview": "Manglende Overblik",
@@ -626,10 +627,10 @@
     "TabNowPlaying": "Spiler nu",
     "TabNowPlaying": "Spiler nu",
     "TabNavigation": "Navigation",
     "TabNavigation": "Navigation",
     "TabControls": "Controls",
     "TabControls": "Controls",
-    "ButtonFullscreen": "Skift til fuldsk\u00e6rm",
+    "ButtonFullscreen": "Toggle fullscreen",
     "ButtonScenes": "Scener",
     "ButtonScenes": "Scener",
     "ButtonSubtitles": "Undertekster",
     "ButtonSubtitles": "Undertekster",
-    "ButtonAudioTracks": "Lyd filer",
+    "ButtonAudioTracks": "Audio tracks",
     "ButtonPreviousTrack": "Previous track",
     "ButtonPreviousTrack": "Previous track",
     "ButtonNextTrack": "Next track",
     "ButtonNextTrack": "Next track",
     "ButtonStop": "Stop",
     "ButtonStop": "Stop",
@@ -874,5 +875,14 @@
     "LabelMatchType": "Match type:",
     "LabelMatchType": "Match type:",
     "OptionEquals": "Equals",
     "OptionEquals": "Equals",
     "OptionRegex": "Regex",
     "OptionRegex": "Regex",
-    "OptionSubstring": "Substring"
+    "OptionSubstring": "Substring",
+    "TabView": "View",
+    "TabSort": "Sort",
+    "TabFilter": "Filter",
+    "ButtonView": "View",
+    "LabelPageSize": "Item limit:",
+    "LabelView": "View:",
+    "TabUsers": "Users",
+    "HeaderFeatures": "Features",
+    "HeaderAdvanced": "Advanced"
 }
 }

+ 17 - 7
MediaBrowser.Server.Implementations/Localization/Server/de.json

@@ -199,6 +199,7 @@
     "OptionFriday": "Freitag",
     "OptionFriday": "Freitag",
     "OptionSaturday": "Samstag",
     "OptionSaturday": "Samstag",
     "HeaderManagement": "Verwaltung:",
     "HeaderManagement": "Verwaltung:",
+    "LabelManagement": "Management:",
     "OptionMissingImdbId": "Fehlende IMDb Id",
     "OptionMissingImdbId": "Fehlende IMDb Id",
     "OptionMissingTvdbId": "Fehlende TheTVDB Id",
     "OptionMissingTvdbId": "Fehlende TheTVDB Id",
     "OptionMissingOverview": "Fehlende \u00dcbersicht",
     "OptionMissingOverview": "Fehlende \u00dcbersicht",
@@ -479,10 +480,10 @@
     "HeaderProgram": "Programm",
     "HeaderProgram": "Programm",
     "HeaderClients": "Clients",
     "HeaderClients": "Clients",
     "LabelCompleted": "Fertiggestellt",
     "LabelCompleted": "Fertiggestellt",
-    "LabelFailed": "Gescheitert",
+    "LabelFailed": "Failed",
     "LabelSkipped": "\u00dcbersprungen",
     "LabelSkipped": "\u00dcbersprungen",
     "HeaderEpisodeOrganization": "Episodensortierung",
     "HeaderEpisodeOrganization": "Episodensortierung",
-    "LabelSeries": "Serien:",
+    "LabelSeries": "Series:",
     "LabelSeasonNumber": "Staffelnummer",
     "LabelSeasonNumber": "Staffelnummer",
     "LabelEpisodeNumber": "Episodennummer",
     "LabelEpisodeNumber": "Episodennummer",
     "LabelEndingEpisodeNumber": "Ending episode number",
     "LabelEndingEpisodeNumber": "Ending episode number",
@@ -626,12 +627,12 @@
     "TabNowPlaying": "Aktuelle Wiedergabe",
     "TabNowPlaying": "Aktuelle Wiedergabe",
     "TabNavigation": "Navigation",
     "TabNavigation": "Navigation",
     "TabControls": "Controls",
     "TabControls": "Controls",
-    "ButtonFullscreen": "Schalte Vollbild um",
+    "ButtonFullscreen": "Toggle fullscreen",
     "ButtonScenes": "Szenen",
     "ButtonScenes": "Szenen",
     "ButtonSubtitles": "Untertitel",
     "ButtonSubtitles": "Untertitel",
-    "ButtonAudioTracks": "Audiospuren",
-    "ButtonPreviousTrack": "Vorheriger Track",
-    "ButtonNextTrack": "N\u00e4chster Track",
+    "ButtonAudioTracks": "Audio tracks",
+    "ButtonPreviousTrack": "Previous track",
+    "ButtonNextTrack": "Next track",
     "ButtonStop": "Stop",
     "ButtonStop": "Stop",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "LabelGroupMoviesIntoCollections": "Gruppiere Filme in Collections",
     "LabelGroupMoviesIntoCollections": "Gruppiere Filme in Collections",
@@ -874,5 +875,14 @@
     "LabelMatchType": "Match type:",
     "LabelMatchType": "Match type:",
     "OptionEquals": "Equals",
     "OptionEquals": "Equals",
     "OptionRegex": "Regex",
     "OptionRegex": "Regex",
-    "OptionSubstring": "Substring"
+    "OptionSubstring": "Substring",
+    "TabView": "View",
+    "TabSort": "Sort",
+    "TabFilter": "Filter",
+    "ButtonView": "View",
+    "LabelPageSize": "Item limit:",
+    "LabelView": "View:",
+    "TabUsers": "Users",
+    "HeaderFeatures": "Features",
+    "HeaderAdvanced": "Advanced"
 }
 }

+ 16 - 6
MediaBrowser.Server.Implementations/Localization/Server/el.json

@@ -190,7 +190,7 @@
     "HeaderStatus": "Status",
     "HeaderStatus": "Status",
     "OptionContinuing": "Continuing",
     "OptionContinuing": "Continuing",
     "OptionEnded": "Ended",
     "OptionEnded": "Ended",
-    "HeaderAirDays": "Air Days:",
+    "HeaderAirDays": "Air Days",
     "OptionSunday": "Sunday",
     "OptionSunday": "Sunday",
     "OptionMonday": "Monday",
     "OptionMonday": "Monday",
     "OptionTuesday": "Tuesday",
     "OptionTuesday": "Tuesday",
@@ -198,7 +198,8 @@
     "OptionThursday": "Thursday",
     "OptionThursday": "Thursday",
     "OptionFriday": "Friday",
     "OptionFriday": "Friday",
     "OptionSaturday": "Saturday",
     "OptionSaturday": "Saturday",
-    "HeaderManagement": "Management:",
+    "HeaderManagement": "Management",
+    "LabelManagement": "Management:",
     "OptionMissingImdbId": "Missing IMDb Id",
     "OptionMissingImdbId": "Missing IMDb Id",
     "OptionMissingTvdbId": "Missing TheTVDB Id",
     "OptionMissingTvdbId": "Missing TheTVDB Id",
     "OptionMissingOverview": "Missing Overview",
     "OptionMissingOverview": "Missing Overview",
@@ -256,11 +257,11 @@
     "ButtonSelectDirectory": "Select Directory",
     "ButtonSelectDirectory": "Select Directory",
     "LabelCustomPaths": "Specify custom paths where desired. Leave fields empty to use the defaults.",
     "LabelCustomPaths": "Specify custom paths where desired. Leave fields empty to use the defaults.",
     "LabelCachePath": "Cache path:",
     "LabelCachePath": "Cache path:",
-    "LabelCachePathHelp": "This folder contains server cache files, such as images.",
+    "LabelCachePathHelp": "Specify a custom location for server cache files, such as images.",
     "LabelImagesByNamePath": "Images by name path:",
     "LabelImagesByNamePath": "Images by name path:",
-    "LabelImagesByNamePathHelp": "This folder contains downloaded actor, artist, genre and studio images.",
+    "LabelImagesByNamePathHelp": "Specify a custom location for downloaded actor, artist, genre and studio images.",
     "LabelMetadataPath": "Metadata path:",
     "LabelMetadataPath": "Metadata path:",
-    "LabelMetadataPathHelp": "This location contains downloaded artwork and metadata that is not configured to be stored in media folders.",
+    "LabelMetadataPathHelp": "Specify a custom location for downloaded artwork and metadata, if not saving within media folders.",
     "LabelTranscodingTempPath": "Transcoding temporary path:",
     "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.",
     "LabelTranscodingTempPathHelp": "This folder contains working files used by the transcoder. Specify a custom path, or leave empty to use the default within the server's data folder.",
     "TabBasics": "Basics",
     "TabBasics": "Basics",
@@ -874,5 +875,14 @@
     "LabelMatchType": "Match type:",
     "LabelMatchType": "Match type:",
     "OptionEquals": "Equals",
     "OptionEquals": "Equals",
     "OptionRegex": "Regex",
     "OptionRegex": "Regex",
-    "OptionSubstring": "Substring"
+    "OptionSubstring": "Substring",
+    "TabView": "View",
+    "TabSort": "Sort",
+    "TabFilter": "Filter",
+    "ButtonView": "View",
+    "LabelPageSize": "Item limit:",
+    "LabelView": "View:",
+    "TabUsers": "Users",
+    "HeaderFeatures": "Features",
+    "HeaderAdvanced": "Advanced"
 }
 }

+ 16 - 6
MediaBrowser.Server.Implementations/Localization/Server/en_GB.json

@@ -190,7 +190,7 @@
     "HeaderStatus": "Status",
     "HeaderStatus": "Status",
     "OptionContinuing": "Continuing",
     "OptionContinuing": "Continuing",
     "OptionEnded": "Ended",
     "OptionEnded": "Ended",
-    "HeaderAirDays": "Air Days:",
+    "HeaderAirDays": "Air Days",
     "OptionSunday": "Sunday",
     "OptionSunday": "Sunday",
     "OptionMonday": "Monday",
     "OptionMonday": "Monday",
     "OptionTuesday": "Tuesday",
     "OptionTuesday": "Tuesday",
@@ -198,7 +198,8 @@
     "OptionThursday": "Thursday",
     "OptionThursday": "Thursday",
     "OptionFriday": "Friday",
     "OptionFriday": "Friday",
     "OptionSaturday": "Saturday",
     "OptionSaturday": "Saturday",
-    "HeaderManagement": "Management:",
+    "HeaderManagement": "Management",
+    "LabelManagement": "Management:",
     "OptionMissingImdbId": "Missing IMDb Id",
     "OptionMissingImdbId": "Missing IMDb Id",
     "OptionMissingTvdbId": "Missing TheTVDB Id",
     "OptionMissingTvdbId": "Missing TheTVDB Id",
     "OptionMissingOverview": "Missing Overview",
     "OptionMissingOverview": "Missing Overview",
@@ -256,11 +257,11 @@
     "ButtonSelectDirectory": "Select Directory",
     "ButtonSelectDirectory": "Select Directory",
     "LabelCustomPaths": "Specify custom paths where desired. Leave fields empty to use the defaults.",
     "LabelCustomPaths": "Specify custom paths where desired. Leave fields empty to use the defaults.",
     "LabelCachePath": "Cache path:",
     "LabelCachePath": "Cache path:",
-    "LabelCachePathHelp": "This folder contains server cache files, such as images.",
+    "LabelCachePathHelp": "Specify a custom location for server cache files, such as images.",
     "LabelImagesByNamePath": "Images by name path:",
     "LabelImagesByNamePath": "Images by name path:",
-    "LabelImagesByNamePathHelp": "This folder contains downloaded actor, artist, genre and studio images.",
+    "LabelImagesByNamePathHelp": "Specify a custom location for downloaded actor, artist, genre and studio images.",
     "LabelMetadataPath": "Metadata path:",
     "LabelMetadataPath": "Metadata path:",
-    "LabelMetadataPathHelp": "This location contains downloaded artwork and metadata that is not configured to be stored in media folders.",
+    "LabelMetadataPathHelp": "Specify a custom location for downloaded artwork and metadata, if not saving within media folders.",
     "LabelTranscodingTempPath": "Transcoding temporary path:",
     "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.",
     "LabelTranscodingTempPathHelp": "This folder contains working files used by the transcoder. Specify a custom path, or leave empty to use the default within the server's data folder.",
     "TabBasics": "Basics",
     "TabBasics": "Basics",
@@ -874,5 +875,14 @@
     "LabelMatchType": "Match type:",
     "LabelMatchType": "Match type:",
     "OptionEquals": "Equals",
     "OptionEquals": "Equals",
     "OptionRegex": "Regex",
     "OptionRegex": "Regex",
-    "OptionSubstring": "Substring"
+    "OptionSubstring": "Substring",
+    "TabView": "View",
+    "TabSort": "Sort",
+    "TabFilter": "Filter",
+    "ButtonView": "View",
+    "LabelPageSize": "Item limit:",
+    "LabelView": "View:",
+    "TabUsers": "Users",
+    "HeaderFeatures": "Features",
+    "HeaderAdvanced": "Advanced"
 }
 }

+ 16 - 6
MediaBrowser.Server.Implementations/Localization/Server/en_US.json

@@ -190,7 +190,7 @@
     "HeaderStatus": "Status",
     "HeaderStatus": "Status",
     "OptionContinuing": "Continuing",
     "OptionContinuing": "Continuing",
     "OptionEnded": "Ended",
     "OptionEnded": "Ended",
-    "HeaderAirDays": "Air Days:",
+    "HeaderAirDays": "Air Days",
     "OptionSunday": "Sunday",
     "OptionSunday": "Sunday",
     "OptionMonday": "Monday",
     "OptionMonday": "Monday",
     "OptionTuesday": "Tuesday",
     "OptionTuesday": "Tuesday",
@@ -198,7 +198,8 @@
     "OptionThursday": "Thursday",
     "OptionThursday": "Thursday",
     "OptionFriday": "Friday",
     "OptionFriday": "Friday",
     "OptionSaturday": "Saturday",
     "OptionSaturday": "Saturday",
-    "HeaderManagement": "Management:",
+    "HeaderManagement": "Management",
+    "LabelManagement": "Management:",
     "OptionMissingImdbId": "Missing IMDb Id",
     "OptionMissingImdbId": "Missing IMDb Id",
     "OptionMissingTvdbId": "Missing TheTVDB Id",
     "OptionMissingTvdbId": "Missing TheTVDB Id",
     "OptionMissingOverview": "Missing Overview",
     "OptionMissingOverview": "Missing Overview",
@@ -256,11 +257,11 @@
     "ButtonSelectDirectory": "Select Directory",
     "ButtonSelectDirectory": "Select Directory",
     "LabelCustomPaths": "Specify custom paths where desired. Leave fields empty to use the defaults.",
     "LabelCustomPaths": "Specify custom paths where desired. Leave fields empty to use the defaults.",
     "LabelCachePath": "Cache path:",
     "LabelCachePath": "Cache path:",
-    "LabelCachePathHelp": "This folder contains server cache files, such as images.",
+    "LabelCachePathHelp": "Specify a custom location for server cache files, such as images.",
     "LabelImagesByNamePath": "Images by name path:",
     "LabelImagesByNamePath": "Images by name path:",
-    "LabelImagesByNamePathHelp": "This folder contains downloaded actor, artist, genre and studio images.",
+    "LabelImagesByNamePathHelp": "Specify a custom location for downloaded actor, artist, genre and studio images.",
     "LabelMetadataPath": "Metadata path:",
     "LabelMetadataPath": "Metadata path:",
-    "LabelMetadataPathHelp": "This location contains downloaded artwork and metadata that is not configured to be stored in media folders.",
+    "LabelMetadataPathHelp": "Specify a custom location for downloaded artwork and metadata, if not saving within media folders.",
     "LabelTranscodingTempPath": "Transcoding temporary path:",
     "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.",
     "LabelTranscodingTempPathHelp": "This folder contains working files used by the transcoder. Specify a custom path, or leave empty to use the default within the server's data folder.",
     "TabBasics": "Basics",
     "TabBasics": "Basics",
@@ -874,5 +875,14 @@
     "LabelMatchType": "Match type:",
     "LabelMatchType": "Match type:",
     "OptionEquals": "Equals",
     "OptionEquals": "Equals",
     "OptionRegex": "Regex",
     "OptionRegex": "Regex",
-    "OptionSubstring": "Substring"
+    "OptionSubstring": "Substring",
+    "TabView": "View",
+    "TabSort": "Sort",
+    "TabFilter": "Filter",
+    "ButtonView": "View",
+    "LabelPageSize": "Item limit:",
+    "LabelView": "View:",
+    "TabUsers": "Users",
+    "HeaderFeatures": "Features",
+    "HeaderAdvanced": "Advanced"
 }
 }

+ 15 - 5
MediaBrowser.Server.Implementations/Localization/Server/es.json

@@ -199,6 +199,7 @@
     "OptionFriday": "Viernes",
     "OptionFriday": "Viernes",
     "OptionSaturday": "S\u00e1bado",
     "OptionSaturday": "S\u00e1bado",
     "HeaderManagement": "Administraci\u00f3n",
     "HeaderManagement": "Administraci\u00f3n",
+    "LabelManagement": "Management:",
     "OptionMissingImdbId": "Falta IMDb Id",
     "OptionMissingImdbId": "Falta IMDb Id",
     "OptionMissingTvdbId": "Falta TheTVDB Id",
     "OptionMissingTvdbId": "Falta TheTVDB Id",
     "OptionMissingOverview": "Falta argumento",
     "OptionMissingOverview": "Falta argumento",
@@ -479,10 +480,10 @@
     "HeaderProgram": "Programa",
     "HeaderProgram": "Programa",
     "HeaderClients": "Clientes",
     "HeaderClients": "Clientes",
     "LabelCompleted": "Completado",
     "LabelCompleted": "Completado",
-    "LabelFailed": "Err\u00f3neo",
+    "LabelFailed": "Error",
     "LabelSkipped": "Omitido",
     "LabelSkipped": "Omitido",
     "HeaderEpisodeOrganization": "Organizaci\u00f3n de episodios",
     "HeaderEpisodeOrganization": "Organizaci\u00f3n de episodios",
-    "LabelSeries": "Serie:",
+    "LabelSeries": "Series:",
     "LabelSeasonNumber": "Temporada n\u00famero:",
     "LabelSeasonNumber": "Temporada n\u00famero:",
     "LabelEpisodeNumber": "Episodio n\u00famero:",
     "LabelEpisodeNumber": "Episodio n\u00famero:",
     "LabelEndingEpisodeNumber": "N\u00famero episodio final:",
     "LabelEndingEpisodeNumber": "N\u00famero episodio final:",
@@ -626,10 +627,10 @@
     "TabNowPlaying": "Reproduciendo ahora",
     "TabNowPlaying": "Reproduciendo ahora",
     "TabNavigation": "Navegaci\u00f3n",
     "TabNavigation": "Navegaci\u00f3n",
     "TabControls": "Controles",
     "TabControls": "Controles",
-    "ButtonFullscreen": "Pantalla completa",
+    "ButtonFullscreen": "Toggle fullscreen",
     "ButtonScenes": "Escenas",
     "ButtonScenes": "Escenas",
     "ButtonSubtitles": "Subt\u00edtulos",
     "ButtonSubtitles": "Subt\u00edtulos",
-    "ButtonAudioTracks": "Pistas de audio",
+    "ButtonAudioTracks": "Audio tracks",
     "ButtonPreviousTrack": "Pista anterior",
     "ButtonPreviousTrack": "Pista anterior",
     "ButtonNextTrack": "Pista siguiente",
     "ButtonNextTrack": "Pista siguiente",
     "ButtonStop": "Detener",
     "ButtonStop": "Detener",
@@ -874,5 +875,14 @@
     "LabelMatchType": "Match type:",
     "LabelMatchType": "Match type:",
     "OptionEquals": "Equals",
     "OptionEquals": "Equals",
     "OptionRegex": "Regex",
     "OptionRegex": "Regex",
-    "OptionSubstring": "Substring"
+    "OptionSubstring": "Substring",
+    "TabView": "View",
+    "TabSort": "Sort",
+    "TabFilter": "Filter",
+    "ButtonView": "View",
+    "LabelPageSize": "Item limit:",
+    "LabelView": "View:",
+    "TabUsers": "Users",
+    "HeaderFeatures": "Features",
+    "HeaderAdvanced": "Advanced"
 }
 }

+ 20 - 10
MediaBrowser.Server.Implementations/Localization/Server/es_MX.json

@@ -199,6 +199,7 @@
     "OptionFriday": "Viernes",
     "OptionFriday": "Viernes",
     "OptionSaturday": "S\u00e1bado",
     "OptionSaturday": "S\u00e1bado",
     "HeaderManagement": "Administraci\u00f3n:",
     "HeaderManagement": "Administraci\u00f3n:",
+    "LabelManagement": "Management:",
     "OptionMissingImdbId": "Falta Id de IMDb",
     "OptionMissingImdbId": "Falta Id de IMDb",
     "OptionMissingTvdbId": "Falta Id de TheTVDB",
     "OptionMissingTvdbId": "Falta Id de TheTVDB",
     "OptionMissingOverview": "Falta Sinopsis",
     "OptionMissingOverview": "Falta Sinopsis",
@@ -626,12 +627,12 @@
     "TabNowPlaying": "Reproduci\u00e9ndo Ahora",
     "TabNowPlaying": "Reproduci\u00e9ndo Ahora",
     "TabNavigation": "Navegaci\u00f3n",
     "TabNavigation": "Navegaci\u00f3n",
     "TabControls": "Controles",
     "TabControls": "Controles",
-    "ButtonFullscreen": "Alternar pantalla completa",
+    "ButtonFullscreen": "Toggle fullscreen",
     "ButtonScenes": "Escenas",
     "ButtonScenes": "Escenas",
     "ButtonSubtitles": "Subt\u00edtulos",
     "ButtonSubtitles": "Subt\u00edtulos",
-    "ButtonAudioTracks": "Pistas de audio",
-    "ButtonPreviousTrack": "Pista Anterior",
-    "ButtonNextTrack": "Pista Siguiente",
+    "ButtonAudioTracks": "Audio tracks",
+    "ButtonPreviousTrack": "Pista anterior",
+    "ButtonNextTrack": "Pista siguiente",
     "ButtonStop": "Detener",
     "ButtonStop": "Detener",
     "ButtonPause": "Pausar",
     "ButtonPause": "Pausar",
     "LabelGroupMoviesIntoCollections": "Agrupar pel\u00edculas en colecciones",
     "LabelGroupMoviesIntoCollections": "Agrupar pel\u00edculas en colecciones",
@@ -868,11 +869,20 @@
     "LabelAppName": "Nombre del App",
     "LabelAppName": "Nombre del App",
     "LabelAppNameExample": "Ejemplo: Sickbeard, NzbDrone",
     "LabelAppNameExample": "Ejemplo: Sickbeard, NzbDrone",
     "HeaderNewApiKeyHelp": "Otorgar a la aplicaci\u00f3n persmiso para comunicarse con Media Browser.",
     "HeaderNewApiKeyHelp": "Otorgar a la aplicaci\u00f3n persmiso para comunicarse con Media Browser.",
-    "HeaderHttpHeaders": "Http Headers",
-    "HeaderIdentificationHeader": "Identification Header",
-    "LabelValue": "Value:",
-    "LabelMatchType": "Match type:",
-    "OptionEquals": "Equals",
+    "HeaderHttpHeaders": "Encabezados Http",
+    "HeaderIdentificationHeader": "Encabezado de Identificaci\u00f3n",
+    "LabelValue": "Valor:",
+    "LabelMatchType": "Tipo de Coincidencia:",
+    "OptionEquals": "Igual a",
     "OptionRegex": "Regex",
     "OptionRegex": "Regex",
-    "OptionSubstring": "Substring"
+    "OptionSubstring": "Subcadena",
+    "TabView": "Vista",
+    "TabSort": "Ordenaci\u00f3n",
+    "TabFilter": "Filtro",
+    "ButtonView": "Vista",
+    "LabelPageSize": "Tama\u00f1o de Pantalla:",
+    "LabelView": "Vista:",
+    "TabUsers": "Usuarios",
+    "HeaderFeatures": "Features",
+    "HeaderAdvanced": "Advanced"
 }
 }

+ 18 - 8
MediaBrowser.Server.Implementations/Localization/Server/fr.json

@@ -199,6 +199,7 @@
     "OptionFriday": "Vendredi",
     "OptionFriday": "Vendredi",
     "OptionSaturday": "Samedi",
     "OptionSaturday": "Samedi",
     "HeaderManagement": "Gestion:",
     "HeaderManagement": "Gestion:",
+    "LabelManagement": "Management:",
     "OptionMissingImdbId": "ID IMDb manquant:",
     "OptionMissingImdbId": "ID IMDb manquant:",
     "OptionMissingTvdbId": "ID TVDB manquant:",
     "OptionMissingTvdbId": "ID TVDB manquant:",
     "OptionMissingOverview": "R\u00e9sum\u00e9 manquant",
     "OptionMissingOverview": "R\u00e9sum\u00e9 manquant",
@@ -396,7 +397,7 @@
     "HeaderCastCrew": "\u00c9quipe de tournage",
     "HeaderCastCrew": "\u00c9quipe de tournage",
     "HeaderAdditionalParts": "Parties Additionelles",
     "HeaderAdditionalParts": "Parties Additionelles",
     "ButtonSplitVersionsApart": "S\u00e9parer les versions",
     "ButtonSplitVersionsApart": "S\u00e9parer les versions",
-    "ButtonPlayTrailer": "Bande-annonce",
+    "ButtonPlayTrailer": "Trailer",
     "LabelMissing": "Manquant(s)",
     "LabelMissing": "Manquant(s)",
     "LabelOffline": "Hors ligne",
     "LabelOffline": "Hors ligne",
     "PathSubstitutionHelp": "Les substitutions de chemins d'acc\u00e8s sont utilis\u00e9es pour faire correspondre un chemin d'acc\u00e8s du serveur \u00e0 un chemin d'acc\u00e8s accessible par les clients. En autorisant un acc\u00e8s direct aux m\u00e9dias du serveur, les clients pourront les lire directement du r\u00e9seau et \u00e9viter l'utilisation inutiles des ressources du serveur en demandant du transcodage.",
     "PathSubstitutionHelp": "Les substitutions de chemins d'acc\u00e8s sont utilis\u00e9es pour faire correspondre un chemin d'acc\u00e8s du serveur \u00e0 un chemin d'acc\u00e8s accessible par les clients. En autorisant un acc\u00e8s direct aux m\u00e9dias du serveur, les clients pourront les lire directement du r\u00e9seau et \u00e9viter l'utilisation inutiles des ressources du serveur en demandant du transcodage.",
@@ -479,10 +480,10 @@
     "HeaderProgram": "Programme",
     "HeaderProgram": "Programme",
     "HeaderClients": "Clients",
     "HeaderClients": "Clients",
     "LabelCompleted": "Compl\u00e9t\u00e9",
     "LabelCompleted": "Compl\u00e9t\u00e9",
-    "LabelFailed": "\u00c9chec",
+    "LabelFailed": "Failed",
     "LabelSkipped": "Saut\u00e9",
     "LabelSkipped": "Saut\u00e9",
     "HeaderEpisodeOrganization": "Organisation d'\u00e9pisodes",
     "HeaderEpisodeOrganization": "Organisation d'\u00e9pisodes",
-    "LabelSeries": "S\u00e9ries:",
+    "LabelSeries": "Series:",
     "LabelSeasonNumber": "Num\u00e9ro de saison",
     "LabelSeasonNumber": "Num\u00e9ro de saison",
     "LabelEpisodeNumber": "Num\u00e9ro d'\u00e9pisode",
     "LabelEpisodeNumber": "Num\u00e9ro d'\u00e9pisode",
     "LabelEndingEpisodeNumber": "Num\u00e9ro d'\u00e9pisode se terminant",
     "LabelEndingEpisodeNumber": "Num\u00e9ro d'\u00e9pisode se terminant",
@@ -626,12 +627,12 @@
     "TabNowPlaying": "En cours de lecture",
     "TabNowPlaying": "En cours de lecture",
     "TabNavigation": "Navigation",
     "TabNavigation": "Navigation",
     "TabControls": "Contr\u00f4les",
     "TabControls": "Contr\u00f4les",
-    "ButtonFullscreen": "Plein \u00e9cran",
+    "ButtonFullscreen": "Toggle fullscreen",
     "ButtonScenes": "Sc\u00e8nes",
     "ButtonScenes": "Sc\u00e8nes",
     "ButtonSubtitles": "Sous-titres",
     "ButtonSubtitles": "Sous-titres",
-    "ButtonAudioTracks": "Piste audio",
-    "ButtonPreviousTrack": "Piste pr\u00e9c\u00e9dante",
-    "ButtonNextTrack": "Piste suivante",
+    "ButtonAudioTracks": "Audio tracks",
+    "ButtonPreviousTrack": "Previous track",
+    "ButtonNextTrack": "Next track",
     "ButtonStop": "Arr\u00eat",
     "ButtonStop": "Arr\u00eat",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "LabelGroupMoviesIntoCollections": "Grouper les films en collections",
     "LabelGroupMoviesIntoCollections": "Grouper les films en collections",
@@ -874,5 +875,14 @@
     "LabelMatchType": "Match type:",
     "LabelMatchType": "Match type:",
     "OptionEquals": "Equals",
     "OptionEquals": "Equals",
     "OptionRegex": "Regex",
     "OptionRegex": "Regex",
-    "OptionSubstring": "Substring"
+    "OptionSubstring": "Substring",
+    "TabView": "View",
+    "TabSort": "Sort",
+    "TabFilter": "Filter",
+    "ButtonView": "View",
+    "LabelPageSize": "Item limit:",
+    "LabelView": "View:",
+    "TabUsers": "Users",
+    "HeaderFeatures": "Features",
+    "HeaderAdvanced": "Advanced"
 }
 }

+ 14 - 4
MediaBrowser.Server.Implementations/Localization/Server/he.json

@@ -199,6 +199,7 @@
     "OptionFriday": "\u05e9\u05d9\u05e9\u05d9",
     "OptionFriday": "\u05e9\u05d9\u05e9\u05d9",
     "OptionSaturday": "\u05e9\u05d1\u05ea",
     "OptionSaturday": "\u05e9\u05d1\u05ea",
     "HeaderManagement": "\u05e0\u05d9\u05d4\u05d5\u05dc",
     "HeaderManagement": "\u05e0\u05d9\u05d4\u05d5\u05dc",
+    "LabelManagement": "Management:",
     "OptionMissingImdbId": "\u05d7\u05e1\u05e8 \u05de\u05d6\u05d4\u05d4 IMBb",
     "OptionMissingImdbId": "\u05d7\u05e1\u05e8 \u05de\u05d6\u05d4\u05d4 IMBb",
     "OptionMissingTvdbId": "\u05d7\u05e1\u05e8 \u05de\u05d6\u05d4\u05d4 TheTVDB",
     "OptionMissingTvdbId": "\u05d7\u05e1\u05e8 \u05de\u05d6\u05d4\u05d4 TheTVDB",
     "OptionMissingOverview": "\u05d7\u05e1\u05e8\u05d4 \u05e1\u05e7\u05d9\u05e8\u05d4",
     "OptionMissingOverview": "\u05d7\u05e1\u05e8\u05d4 \u05e1\u05e7\u05d9\u05e8\u05d4",
@@ -396,7 +397,7 @@
     "HeaderCastCrew": "\u05e9\u05d7\u05e7\u05e0\u05d9\u05dd \u05d5\u05e6\u05d5\u05d5\u05ea",
     "HeaderCastCrew": "\u05e9\u05d7\u05e7\u05e0\u05d9\u05dd \u05d5\u05e6\u05d5\u05d5\u05ea",
     "HeaderAdditionalParts": "\u05d7\u05dc\u05e7\u05d9\u05dd \u05e0\u05d5\u05e1\u05e4\u05d9\u05dd",
     "HeaderAdditionalParts": "\u05d7\u05dc\u05e7\u05d9\u05dd \u05e0\u05d5\u05e1\u05e4\u05d9\u05dd",
     "ButtonSplitVersionsApart": "\u05e4\u05e6\u05dc \u05d2\u05e8\u05e1\u05d0\u05d5\u05ea \u05d1\u05e0\u05e4\u05e8\u05d3",
     "ButtonSplitVersionsApart": "\u05e4\u05e6\u05dc \u05d2\u05e8\u05e1\u05d0\u05d5\u05ea \u05d1\u05e0\u05e4\u05e8\u05d3",
-    "ButtonPlayTrailer": "\u05d8\u05e8\u05d9\u05d9\u05dc\u05e8\u05d9\u05dd",
+    "ButtonPlayTrailer": "Trailer",
     "LabelMissing": "\u05d7\u05e1\u05e8",
     "LabelMissing": "\u05d7\u05e1\u05e8",
     "LabelOffline": "\u05dc\u05d0 \u05de\u05e7\u05d5\u05d5\u05df",
     "LabelOffline": "\u05dc\u05d0 \u05de\u05e7\u05d5\u05d5\u05df",
     "PathSubstitutionHelp": "\u05e0\u05ea\u05d9\u05d1\u05d9\u05dd \u05d7\u05dc\u05d5\u05e4\u05d9\u05d9\u05dd \u05d4\u05dd \u05dc\u05e6\u05d5\u05e8\u05da \u05de\u05d9\u05e4\u05d5\u05d9 \u05e0\u05ea\u05d9\u05d1\u05d9\u05dd \u05d1\u05e9\u05e8\u05ea \u05dc\u05e0\u05ea\u05d9\u05d1\u05d9\u05dd \u05e9\u05de\u05e9\u05ea\u05de\u05e9\u05d9\u05dd \u05d9\u05db\u05d5\u05dc\u05d9\u05dd \u05dc\u05d2\u05e9\u05ea \u05d0\u05dc\u05d9\u05d4\u05dd. \u05e2\u05dc \u05d9\u05d3\u05d9 \u05d4\u05e8\u05e9\u05d0\u05d4 \u05dc\u05de\u05e9\u05ea\u05de\u05e9\u05d9\u05dd \u05d2\u05d9\u05e9\u05d4 \u05d9\u05e9\u05d9\u05e8\u05d4 \u05dc\u05de\u05d3\u05d9\u05d4 \u05d1\u05e9\u05e8\u05ea \u05d0\u05dd \u05d9\u05db\u05d5\u05dc\u05d9\u05dd \u05dc\u05e0\u05d2\u05df \u05d0\u05ea \u05d4\u05e7\u05d1\u05e6\u05d9\u05dd \u05d9\u05e9\u05d9\u05e8\u05d5\u05ea \u05e2\u05dc \u05d2\u05d1\u05d9 \u05d4\u05e8\u05e9\u05ea \u05d5\u05dc\u05d4\u05d9\u05de\u05e0\u05e2 \u05de\u05e9\u05d9\u05de\u05d5\u05e9 \u05d1\u05de\u05e9\u05d0\u05d1\u05d9 \u05d4\u05e9\u05e8\u05ea \u05dc\u05e6\u05d5\u05e8\u05da \u05e7\u05d9\u05d3\u05d5\u05d3 \u05d5\u05e9\u05d9\u05d3\u05d5\u05e8.",
     "PathSubstitutionHelp": "\u05e0\u05ea\u05d9\u05d1\u05d9\u05dd \u05d7\u05dc\u05d5\u05e4\u05d9\u05d9\u05dd \u05d4\u05dd \u05dc\u05e6\u05d5\u05e8\u05da \u05de\u05d9\u05e4\u05d5\u05d9 \u05e0\u05ea\u05d9\u05d1\u05d9\u05dd \u05d1\u05e9\u05e8\u05ea \u05dc\u05e0\u05ea\u05d9\u05d1\u05d9\u05dd \u05e9\u05de\u05e9\u05ea\u05de\u05e9\u05d9\u05dd \u05d9\u05db\u05d5\u05dc\u05d9\u05dd \u05dc\u05d2\u05e9\u05ea \u05d0\u05dc\u05d9\u05d4\u05dd. \u05e2\u05dc \u05d9\u05d3\u05d9 \u05d4\u05e8\u05e9\u05d0\u05d4 \u05dc\u05de\u05e9\u05ea\u05de\u05e9\u05d9\u05dd \u05d2\u05d9\u05e9\u05d4 \u05d9\u05e9\u05d9\u05e8\u05d4 \u05dc\u05de\u05d3\u05d9\u05d4 \u05d1\u05e9\u05e8\u05ea \u05d0\u05dd \u05d9\u05db\u05d5\u05dc\u05d9\u05dd \u05dc\u05e0\u05d2\u05df \u05d0\u05ea \u05d4\u05e7\u05d1\u05e6\u05d9\u05dd \u05d9\u05e9\u05d9\u05e8\u05d5\u05ea \u05e2\u05dc \u05d2\u05d1\u05d9 \u05d4\u05e8\u05e9\u05ea \u05d5\u05dc\u05d4\u05d9\u05de\u05e0\u05e2 \u05de\u05e9\u05d9\u05de\u05d5\u05e9 \u05d1\u05de\u05e9\u05d0\u05d1\u05d9 \u05d4\u05e9\u05e8\u05ea \u05dc\u05e6\u05d5\u05e8\u05da \u05e7\u05d9\u05d3\u05d5\u05d3 \u05d5\u05e9\u05d9\u05d3\u05d5\u05e8.",
@@ -479,10 +480,10 @@
     "HeaderProgram": "\u05ea\u05d5\u05db\u05e0\u05d4",
     "HeaderProgram": "\u05ea\u05d5\u05db\u05e0\u05d4",
     "HeaderClients": "\u05de\u05e9\u05ea\u05de\u05e9\u05d9\u05dd",
     "HeaderClients": "\u05de\u05e9\u05ea\u05de\u05e9\u05d9\u05dd",
     "LabelCompleted": "\u05d4\u05d5\u05e9\u05dc\u05dd",
     "LabelCompleted": "\u05d4\u05d5\u05e9\u05dc\u05dd",
-    "LabelFailed": "\u05e0\u05db\u05e9\u05dc",
+    "LabelFailed": "Failed",
     "LabelSkipped": "\u05d3\u05d5\u05dc\u05d2",
     "LabelSkipped": "\u05d3\u05d5\u05dc\u05d2",
     "HeaderEpisodeOrganization": "\u05d0\u05d9\u05e8\u05d2\u05d5\u05df \u05e4\u05e8\u05e7\u05d9\u05dd",
     "HeaderEpisodeOrganization": "\u05d0\u05d9\u05e8\u05d2\u05d5\u05df \u05e4\u05e8\u05e7\u05d9\u05dd",
-    "LabelSeries": "\u05e1\u05d3\u05e8\u05d4:",
+    "LabelSeries": "Series:",
     "LabelSeasonNumber": "\u05de\u05e1\u05e4\u05e8 \u05e2\u05d5\u05e0\u05d4:",
     "LabelSeasonNumber": "\u05de\u05e1\u05e4\u05e8 \u05e2\u05d5\u05e0\u05d4:",
     "LabelEpisodeNumber": "\u05de\u05e1\u05e4\u05e8 \u05e4\u05e8\u05e7:",
     "LabelEpisodeNumber": "\u05de\u05e1\u05e4\u05e8 \u05e4\u05e8\u05e7:",
     "LabelEndingEpisodeNumber": "\u05de\u05e1\u05e4\u05e8 \u05e1\u05d9\u05d5\u05dd \u05e4\u05e8\u05e7:",
     "LabelEndingEpisodeNumber": "\u05de\u05e1\u05e4\u05e8 \u05e1\u05d9\u05d5\u05dd \u05e4\u05e8\u05e7:",
@@ -874,5 +875,14 @@
     "LabelMatchType": "Match type:",
     "LabelMatchType": "Match type:",
     "OptionEquals": "Equals",
     "OptionEquals": "Equals",
     "OptionRegex": "Regex",
     "OptionRegex": "Regex",
-    "OptionSubstring": "Substring"
+    "OptionSubstring": "Substring",
+    "TabView": "View",
+    "TabSort": "Sort",
+    "TabFilter": "Filter",
+    "ButtonView": "View",
+    "LabelPageSize": "Item limit:",
+    "LabelView": "View:",
+    "TabUsers": "Users",
+    "HeaderFeatures": "Features",
+    "HeaderAdvanced": "Advanced"
 }
 }

+ 34 - 24
MediaBrowser.Server.Implementations/Localization/Server/it.json

@@ -5,9 +5,9 @@
     "LabelSwagger": "Swagger",
     "LabelSwagger": "Swagger",
     "LabelStandard": "Standard",
     "LabelStandard": "Standard",
     "LabelViewApiDocumentation": "Documentazione Api",
     "LabelViewApiDocumentation": "Documentazione Api",
-    "LabelBrowseLibrary": "Apri Media Browser",
+    "LabelBrowseLibrary": "Esplora la libreria",
     "LabelConfigureMediaBrowser": "Configura Media Browser",
     "LabelConfigureMediaBrowser": "Configura Media Browser",
-    "LabelOpenLibraryViewer": "Esplora la Libreria",
+    "LabelOpenLibraryViewer": "Apri visualizzatore libreria",
     "LabelRestartServer": "Riavvia Server",
     "LabelRestartServer": "Riavvia Server",
     "LabelShowLogWindow": "Mostra Finestra log",
     "LabelShowLogWindow": "Mostra Finestra log",
     "LabelPrevious": "Precedente",
     "LabelPrevious": "Precedente",
@@ -199,6 +199,7 @@
     "OptionFriday": "Venerdi",
     "OptionFriday": "Venerdi",
     "OptionSaturday": "Sabato",
     "OptionSaturday": "Sabato",
     "HeaderManagement": "Gestione:",
     "HeaderManagement": "Gestione:",
+    "LabelManagement": "Management:",
     "OptionMissingImdbId": "IMDB id mancante",
     "OptionMissingImdbId": "IMDB id mancante",
     "OptionMissingTvdbId": "TheTVDB Id mancante",
     "OptionMissingTvdbId": "TheTVDB Id mancante",
     "OptionMissingOverview": "Trama mancante",
     "OptionMissingOverview": "Trama mancante",
@@ -479,10 +480,10 @@
     "HeaderProgram": "Programma",
     "HeaderProgram": "Programma",
     "HeaderClients": "Dispositivi",
     "HeaderClients": "Dispositivi",
     "LabelCompleted": "Completato",
     "LabelCompleted": "Completato",
-    "LabelFailed": "Fallito",
+    "LabelFailed": "Failed",
     "LabelSkipped": "Saltato",
     "LabelSkipped": "Saltato",
     "HeaderEpisodeOrganization": "Organizzazione Episodi",
     "HeaderEpisodeOrganization": "Organizzazione Episodi",
-    "LabelSeries": "Serie:",
+    "LabelSeries": "Series:",
     "LabelSeasonNumber": "Numero Stagione:",
     "LabelSeasonNumber": "Numero Stagione:",
     "LabelEpisodeNumber": "Numero Episodio:",
     "LabelEpisodeNumber": "Numero Episodio:",
     "LabelEndingEpisodeNumber": "Ultimo Episodio Numero:",
     "LabelEndingEpisodeNumber": "Ultimo Episodio Numero:",
@@ -626,12 +627,12 @@
     "TabNowPlaying": "In esecuzione",
     "TabNowPlaying": "In esecuzione",
     "TabNavigation": "Navigazione",
     "TabNavigation": "Navigazione",
     "TabControls": "Controlli",
     "TabControls": "Controlli",
-    "ButtonFullscreen": "Schermo intero",
+    "ButtonFullscreen": "Toggle fullscreen",
     "ButtonScenes": "Scene",
     "ButtonScenes": "Scene",
     "ButtonSubtitles": "Sottotitoli",
     "ButtonSubtitles": "Sottotitoli",
-    "ButtonAudioTracks": "Traccia Audio",
-    "ButtonPreviousTrack": "Precedente",
-    "ButtonNextTrack": "Prossimo",
+    "ButtonAudioTracks": "Audio tracks",
+    "ButtonPreviousTrack": "Previous track",
+    "ButtonNextTrack": "Next track",
     "ButtonStop": "Stop",
     "ButtonStop": "Stop",
     "ButtonPause": "Pausa",
     "ButtonPause": "Pausa",
     "LabelGroupMoviesIntoCollections": "Raggruppa i film nelle collection",
     "LabelGroupMoviesIntoCollections": "Raggruppa i film nelle collection",
@@ -846,33 +847,42 @@
     "LabelLoginDisclaimerHelp": "Questo verr\u00e0 visualizzato nella parte inferiore della pagina di accesso.",
     "LabelLoginDisclaimerHelp": "Questo verr\u00e0 visualizzato nella parte inferiore della pagina di accesso.",
     "LabelAutomaticallyDonate": "Donare automaticamente questo importo ogni mese",
     "LabelAutomaticallyDonate": "Donare automaticamente questo importo ogni mese",
     "LabelAutomaticallyDonateHelp": "\u00c8 possibile annullare in qualsiasi momento tramite il vostro conto PayPal.",
     "LabelAutomaticallyDonateHelp": "\u00c8 possibile annullare in qualsiasi momento tramite il vostro conto PayPal.",
-    "OptionList": "List",
-    "TabDashboard": "Dashboard",
+    "OptionList": "Lista",
+    "TabDashboard": "Pannello Controllo",
     "TitleServer": "Server",
     "TitleServer": "Server",
     "LabelCache": "Cache:",
     "LabelCache": "Cache:",
-    "LabelLogs": "Logs:",
+    "LabelLogs": "Log:",
     "LabelMetadata": "Metadata:",
     "LabelMetadata": "Metadata:",
-    "LabelImagesByName": "Images by name:",
-    "LabelTranscodingTemporaryFiles": "Transcoding temporary files:",
-    "HeaderLatestMusic": "Latest Music",
+    "LabelImagesByName": "Immagini per nome:",
+    "LabelTranscodingTemporaryFiles": "transcodifica file temporanei:",
+    "HeaderLatestMusic": "Musica Recente",
     "HeaderBranding": "Branding",
     "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",
+    "HeaderApiKeys": "Chiavi Api",
+    "HeaderApiKeysHelp": "Le applicazioni estrene richiedono una chiave Api per comunicare con Media Browser. Le chiavi sono create attraverso il log-in con un account Media Browse, o manualmente rilasciando una chiave all'applicazione.",
+    "HeaderApiKey": "Chiave Api",
     "HeaderApp": "App",
     "HeaderApp": "App",
-    "HeaderDevice": "Device",
-    "HeaderUser": "User",
-    "HeaderDateIssued": "Date Issued",
+    "HeaderDevice": "Dispositivo",
+    "HeaderUser": "Utente",
+    "HeaderDateIssued": "data di pubblicazione",
     "LabelChapterName": "Chapter {0}",
     "LabelChapterName": "Chapter {0}",
-    "HeaderNewApiKey": "New Api Key",
-    "LabelAppName": "App name",
+    "HeaderNewApiKey": "Nessuna Chiave Api",
+    "LabelAppName": "Nome app",
     "LabelAppNameExample": "Example: Sickbeard, NzbDrone",
     "LabelAppNameExample": "Example: Sickbeard, NzbDrone",
-    "HeaderNewApiKeyHelp": "Grant an application permission to communicate with Media Browser.",
+    "HeaderNewApiKeyHelp": "Garantisci all'applicazione il permesso di comunicare con Media Browser.",
     "HeaderHttpHeaders": "Http Headers",
     "HeaderHttpHeaders": "Http Headers",
     "HeaderIdentificationHeader": "Identification Header",
     "HeaderIdentificationHeader": "Identification Header",
     "LabelValue": "Value:",
     "LabelValue": "Value:",
     "LabelMatchType": "Match type:",
     "LabelMatchType": "Match type:",
     "OptionEquals": "Equals",
     "OptionEquals": "Equals",
     "OptionRegex": "Regex",
     "OptionRegex": "Regex",
-    "OptionSubstring": "Substring"
+    "OptionSubstring": "Substring",
+    "TabView": "View",
+    "TabSort": "Sort",
+    "TabFilter": "Filter",
+    "ButtonView": "View",
+    "LabelPageSize": "Item limit:",
+    "LabelView": "View:",
+    "TabUsers": "Users",
+    "HeaderFeatures": "Features",
+    "HeaderAdvanced": "Advanced"
 }
 }

+ 13 - 3
MediaBrowser.Server.Implementations/Localization/Server/kk.json

@@ -199,6 +199,7 @@
     "OptionFriday": "\u0436\u04b1\u043c\u0430",
     "OptionFriday": "\u0436\u04b1\u043c\u0430",
     "OptionSaturday": "\u0441\u0435\u043d\u0431\u0456",
     "OptionSaturday": "\u0441\u0435\u043d\u0431\u0456",
     "HeaderManagement": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a:",
     "HeaderManagement": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a:",
+    "LabelManagement": "Management:",
     "OptionMissingImdbId": "IMDb Id \u0436\u043e\u049b",
     "OptionMissingImdbId": "IMDb Id \u0436\u043e\u049b",
     "OptionMissingTvdbId": "TheTVDB Id \u0436\u043e\u049b",
     "OptionMissingTvdbId": "TheTVDB Id \u0436\u043e\u049b",
     "OptionMissingOverview": "\u0416\u0430\u043b\u043f\u044b \u0448\u043e\u043b\u0443 \u0436\u043e\u049b",
     "OptionMissingOverview": "\u0416\u0430\u043b\u043f\u044b \u0448\u043e\u043b\u0443 \u0436\u043e\u049b",
@@ -626,10 +627,10 @@
     "TabNowPlaying": "\u041e\u0439\u043d\u0430\u0442\u044b\u043b\u0443\u0434\u0430",
     "TabNowPlaying": "\u041e\u0439\u043d\u0430\u0442\u044b\u043b\u0443\u0434\u0430",
     "TabNavigation": "\u0428\u0430\u0440\u043b\u0430\u0443",
     "TabNavigation": "\u0428\u0430\u0440\u043b\u0430\u0443",
     "TabControls": "\u0411\u0430\u0441\u049b\u0430\u0440\u0443 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0442\u0435\u0440\u0456",
     "TabControls": "\u0411\u0430\u0441\u049b\u0430\u0440\u0443 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0442\u0435\u0440\u0456",
-    "ButtonFullscreen": "\u0422\u043e\u043b\u044b\u049b \u044d\u043a\u0440\u0430\u043d",
+    "ButtonFullscreen": "Toggle fullscreen",
     "ButtonScenes": "\u0421\u0430\u0445\u043d\u0430\u043b\u0430\u0440",
     "ButtonScenes": "\u0421\u0430\u0445\u043d\u0430\u043b\u0430\u0440",
     "ButtonSubtitles": "\u0421\u0443\u0431\u0442\u0438\u0442\u0440\u043b\u0435\u0440",
     "ButtonSubtitles": "\u0421\u0443\u0431\u0442\u0438\u0442\u0440\u043b\u0435\u0440",
-    "ButtonAudioTracks": "\u0414\u044b\u0431\u044b\u0441 \u0436\u043e\u043b\u0448\u044b\u049b\u0442\u0430\u0440\u044b",
+    "ButtonAudioTracks": "Audio tracks",
     "ButtonPreviousTrack": "\u0410\u043b\u0434\u044b\u04a3\u0493\u044b \u0436\u043e\u043b\u0448\u044b\u049b",
     "ButtonPreviousTrack": "\u0410\u043b\u0434\u044b\u04a3\u0493\u044b \u0436\u043e\u043b\u0448\u044b\u049b",
     "ButtonNextTrack": "\u041a\u0435\u043b\u0435\u0441\u0456 \u0436\u043e\u043b\u0448\u044b\u049b",
     "ButtonNextTrack": "\u041a\u0435\u043b\u0435\u0441\u0456 \u0436\u043e\u043b\u0448\u044b\u049b",
     "ButtonStop": "\u0422\u043e\u049b\u0442\u0430\u0442\u0443",
     "ButtonStop": "\u0422\u043e\u049b\u0442\u0430\u0442\u0443",
@@ -874,5 +875,14 @@
     "LabelMatchType": "\u0421\u04d9\u0439\u043a\u0435\u0441 \u0442\u04af\u0440\u0456:",
     "LabelMatchType": "\u0421\u04d9\u0439\u043a\u0435\u0441 \u0442\u04af\u0440\u0456:",
     "OptionEquals": "\u0422\u0435\u04a3",
     "OptionEquals": "\u0422\u0435\u04a3",
     "OptionRegex": "\u04b0\u0434\u0430\u0439\u044b \u04e9\u0440\u043d\u0435\u043a",
     "OptionRegex": "\u04b0\u0434\u0430\u0439\u044b \u04e9\u0440\u043d\u0435\u043a",
-    "OptionSubstring": "\u0406\u0448\u043a\u0456 \u0436\u043e\u043b"
+    "OptionSubstring": "\u0406\u0448\u043a\u0456 \u0436\u043e\u043b",
+    "TabView": "\u041a\u04e9\u0440\u0456\u043d\u0456\u0441",
+    "TabSort": "\u0421\u04b1\u0440\u044b\u043f\u0442\u0430\u0443",
+    "TabFilter": "\u0421\u04af\u0437\u0443",
+    "ButtonView": "\u049a\u0430\u0440\u0430\u0443",
+    "LabelPageSize": "\u042d\u043a\u0440\u0430\u043d \u04e9\u043b\u0448\u0435\u043c\u0456:",
+    "LabelView": "\u041a\u04e9\u0440\u0456\u043d\u0456\u0441:",
+    "TabUsers": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b\u043b\u0430\u0440",
+    "HeaderFeatures": "Features",
+    "HeaderAdvanced": "Advanced"
 }
 }

+ 16 - 6
MediaBrowser.Server.Implementations/Localization/Server/ko.json

@@ -190,7 +190,7 @@
     "HeaderStatus": "Status",
     "HeaderStatus": "Status",
     "OptionContinuing": "Continuing",
     "OptionContinuing": "Continuing",
     "OptionEnded": "Ended",
     "OptionEnded": "Ended",
-    "HeaderAirDays": "Air Days:",
+    "HeaderAirDays": "Air Days",
     "OptionSunday": "Sunday",
     "OptionSunday": "Sunday",
     "OptionMonday": "Monday",
     "OptionMonday": "Monday",
     "OptionTuesday": "Tuesday",
     "OptionTuesday": "Tuesday",
@@ -198,7 +198,8 @@
     "OptionThursday": "Thursday",
     "OptionThursday": "Thursday",
     "OptionFriday": "Friday",
     "OptionFriday": "Friday",
     "OptionSaturday": "Saturday",
     "OptionSaturday": "Saturday",
-    "HeaderManagement": "Management:",
+    "HeaderManagement": "Management",
+    "LabelManagement": "Management:",
     "OptionMissingImdbId": "Missing IMDb Id",
     "OptionMissingImdbId": "Missing IMDb Id",
     "OptionMissingTvdbId": "Missing TheTVDB Id",
     "OptionMissingTvdbId": "Missing TheTVDB Id",
     "OptionMissingOverview": "Missing Overview",
     "OptionMissingOverview": "Missing Overview",
@@ -256,11 +257,11 @@
     "ButtonSelectDirectory": "Select Directory",
     "ButtonSelectDirectory": "Select Directory",
     "LabelCustomPaths": "Specify custom paths where desired. Leave fields empty to use the defaults.",
     "LabelCustomPaths": "Specify custom paths where desired. Leave fields empty to use the defaults.",
     "LabelCachePath": "Cache path:",
     "LabelCachePath": "Cache path:",
-    "LabelCachePathHelp": "This folder contains server cache files, such as images.",
+    "LabelCachePathHelp": "Specify a custom location for server cache files, such as images.",
     "LabelImagesByNamePath": "Images by name path:",
     "LabelImagesByNamePath": "Images by name path:",
-    "LabelImagesByNamePathHelp": "This folder contains downloaded actor, artist, genre and studio images.",
+    "LabelImagesByNamePathHelp": "Specify a custom location for downloaded actor, artist, genre and studio images.",
     "LabelMetadataPath": "Metadata path:",
     "LabelMetadataPath": "Metadata path:",
-    "LabelMetadataPathHelp": "This location contains downloaded artwork and metadata that is not configured to be stored in media folders.",
+    "LabelMetadataPathHelp": "Specify a custom location for downloaded artwork and metadata, if not saving within media folders.",
     "LabelTranscodingTempPath": "Transcoding temporary path:",
     "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.",
     "LabelTranscodingTempPathHelp": "This folder contains working files used by the transcoder. Specify a custom path, or leave empty to use the default within the server's data folder.",
     "TabBasics": "Basics",
     "TabBasics": "Basics",
@@ -874,5 +875,14 @@
     "LabelMatchType": "Match type:",
     "LabelMatchType": "Match type:",
     "OptionEquals": "Equals",
     "OptionEquals": "Equals",
     "OptionRegex": "Regex",
     "OptionRegex": "Regex",
-    "OptionSubstring": "Substring"
+    "OptionSubstring": "Substring",
+    "TabView": "View",
+    "TabSort": "Sort",
+    "TabFilter": "Filter",
+    "ButtonView": "View",
+    "LabelPageSize": "Item limit:",
+    "LabelView": "View:",
+    "TabUsers": "Users",
+    "HeaderFeatures": "Features",
+    "HeaderAdvanced": "Advanced"
 }
 }

+ 16 - 6
MediaBrowser.Server.Implementations/Localization/Server/ms.json

@@ -190,7 +190,7 @@
     "HeaderStatus": "Status",
     "HeaderStatus": "Status",
     "OptionContinuing": "Continuing",
     "OptionContinuing": "Continuing",
     "OptionEnded": "Ended",
     "OptionEnded": "Ended",
-    "HeaderAirDays": "Air Days:",
+    "HeaderAirDays": "Air Days",
     "OptionSunday": "Sunday",
     "OptionSunday": "Sunday",
     "OptionMonday": "Monday",
     "OptionMonday": "Monday",
     "OptionTuesday": "Tuesday",
     "OptionTuesday": "Tuesday",
@@ -198,7 +198,8 @@
     "OptionThursday": "Thursday",
     "OptionThursday": "Thursday",
     "OptionFriday": "Friday",
     "OptionFriday": "Friday",
     "OptionSaturday": "Saturday",
     "OptionSaturday": "Saturday",
-    "HeaderManagement": "Management:",
+    "HeaderManagement": "Management",
+    "LabelManagement": "Management:",
     "OptionMissingImdbId": "Missing IMDb Id",
     "OptionMissingImdbId": "Missing IMDb Id",
     "OptionMissingTvdbId": "Missing TheTVDB Id",
     "OptionMissingTvdbId": "Missing TheTVDB Id",
     "OptionMissingOverview": "Missing Overview",
     "OptionMissingOverview": "Missing Overview",
@@ -256,11 +257,11 @@
     "ButtonSelectDirectory": "Select Directory",
     "ButtonSelectDirectory": "Select Directory",
     "LabelCustomPaths": "Specify custom paths where desired. Leave fields empty to use the defaults.",
     "LabelCustomPaths": "Specify custom paths where desired. Leave fields empty to use the defaults.",
     "LabelCachePath": "Cache path:",
     "LabelCachePath": "Cache path:",
-    "LabelCachePathHelp": "This folder contains server cache files, such as images.",
+    "LabelCachePathHelp": "Specify a custom location for server cache files, such as images.",
     "LabelImagesByNamePath": "Images by name path:",
     "LabelImagesByNamePath": "Images by name path:",
-    "LabelImagesByNamePathHelp": "This folder contains downloaded actor, artist, genre and studio images.",
+    "LabelImagesByNamePathHelp": "Specify a custom location for downloaded actor, artist, genre and studio images.",
     "LabelMetadataPath": "Metadata path:",
     "LabelMetadataPath": "Metadata path:",
-    "LabelMetadataPathHelp": "This location contains downloaded artwork and metadata that is not configured to be stored in media folders.",
+    "LabelMetadataPathHelp": "Specify a custom location for downloaded artwork and metadata, if not saving within media folders.",
     "LabelTranscodingTempPath": "Transcoding temporary path:",
     "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.",
     "LabelTranscodingTempPathHelp": "This folder contains working files used by the transcoder. Specify a custom path, or leave empty to use the default within the server's data folder.",
     "TabBasics": "Basics",
     "TabBasics": "Basics",
@@ -874,5 +875,14 @@
     "LabelMatchType": "Match type:",
     "LabelMatchType": "Match type:",
     "OptionEquals": "Equals",
     "OptionEquals": "Equals",
     "OptionRegex": "Regex",
     "OptionRegex": "Regex",
-    "OptionSubstring": "Substring"
+    "OptionSubstring": "Substring",
+    "TabView": "View",
+    "TabSort": "Sort",
+    "TabFilter": "Filter",
+    "ButtonView": "View",
+    "LabelPageSize": "Item limit:",
+    "LabelView": "View:",
+    "TabUsers": "Users",
+    "HeaderFeatures": "Features",
+    "HeaderAdvanced": "Advanced"
 }
 }

+ 16 - 6
MediaBrowser.Server.Implementations/Localization/Server/nb.json

@@ -190,7 +190,7 @@
     "HeaderStatus": "Status",
     "HeaderStatus": "Status",
     "OptionContinuing": "Fortsetter",
     "OptionContinuing": "Fortsetter",
     "OptionEnded": "Avsluttet",
     "OptionEnded": "Avsluttet",
-    "HeaderAirDays": "Air Days:",
+    "HeaderAirDays": "Air Days",
     "OptionSunday": "S\u00f8ndag",
     "OptionSunday": "S\u00f8ndag",
     "OptionMonday": "Mandag",
     "OptionMonday": "Mandag",
     "OptionTuesday": "Tirsdag",
     "OptionTuesday": "Tirsdag",
@@ -198,7 +198,8 @@
     "OptionThursday": "Torsdag",
     "OptionThursday": "Torsdag",
     "OptionFriday": "Fredag",
     "OptionFriday": "Fredag",
     "OptionSaturday": "L\u00f8rdag",
     "OptionSaturday": "L\u00f8rdag",
-    "HeaderManagement": "Management:",
+    "HeaderManagement": "Management",
+    "LabelManagement": "Management:",
     "OptionMissingImdbId": "Mangler IMDb id",
     "OptionMissingImdbId": "Mangler IMDb id",
     "OptionMissingTvdbId": "Missing TheTVDB Id",
     "OptionMissingTvdbId": "Missing TheTVDB Id",
     "OptionMissingOverview": "Mangler oversikt",
     "OptionMissingOverview": "Mangler oversikt",
@@ -256,11 +257,11 @@
     "ButtonSelectDirectory": "Select Directory",
     "ButtonSelectDirectory": "Select Directory",
     "LabelCustomPaths": "Specify custom paths where desired. Leave fields empty to use the defaults.",
     "LabelCustomPaths": "Specify custom paths where desired. Leave fields empty to use the defaults.",
     "LabelCachePath": "Cache path:",
     "LabelCachePath": "Cache path:",
-    "LabelCachePathHelp": "This folder contains server cache files, such as images.",
+    "LabelCachePathHelp": "Specify a custom location for server cache files, such as images.",
     "LabelImagesByNamePath": "Images by name path:",
     "LabelImagesByNamePath": "Images by name path:",
-    "LabelImagesByNamePathHelp": "This folder contains downloaded actor, artist, genre and studio images.",
+    "LabelImagesByNamePathHelp": "Specify a custom location for downloaded actor, artist, genre and studio images.",
     "LabelMetadataPath": "Metadata path:",
     "LabelMetadataPath": "Metadata path:",
-    "LabelMetadataPathHelp": "This location contains downloaded artwork and metadata that is not configured to be stored in media folders.",
+    "LabelMetadataPathHelp": "Specify a custom location for downloaded artwork and metadata, if not saving within media folders.",
     "LabelTranscodingTempPath": "Transcoding temporary path:",
     "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.",
     "LabelTranscodingTempPathHelp": "This folder contains working files used by the transcoder. Specify a custom path, or leave empty to use the default within the server's data folder.",
     "TabBasics": "Basics",
     "TabBasics": "Basics",
@@ -874,5 +875,14 @@
     "LabelMatchType": "Match type:",
     "LabelMatchType": "Match type:",
     "OptionEquals": "Equals",
     "OptionEquals": "Equals",
     "OptionRegex": "Regex",
     "OptionRegex": "Regex",
-    "OptionSubstring": "Substring"
+    "OptionSubstring": "Substring",
+    "TabView": "View",
+    "TabSort": "Sort",
+    "TabFilter": "Filter",
+    "ButtonView": "View",
+    "LabelPageSize": "Item limit:",
+    "LabelView": "View:",
+    "TabUsers": "Users",
+    "HeaderFeatures": "Features",
+    "HeaderAdvanced": "Advanced"
 }
 }

+ 34 - 24
MediaBrowser.Server.Implementations/Localization/Server/nl.json

@@ -39,7 +39,7 @@
     "HeaderSetupLibrary": "Stel uw mediabibliotheek in",
     "HeaderSetupLibrary": "Stel uw mediabibliotheek in",
     "ButtonAddMediaFolder": "Mediamap toevoegen",
     "ButtonAddMediaFolder": "Mediamap toevoegen",
     "LabelFolderType": "Maptype:",
     "LabelFolderType": "Maptype:",
-    "MediaFolderHelpPluginRequired": "* Hiervoor is het gebruik van een plug-in vereist, bijvoorbeeld GameBrowser of MB Bookshelf.",
+    "MediaFolderHelpPluginRequired": "* Hiervoor is het gebruik van een Invoegtoepassing vereist, bijvoorbeeld GameBrowser of MB Bookshelf.",
     "ReferToMediaLibraryWiki": "Raadpleeg de mediabibliotheek wiki.",
     "ReferToMediaLibraryWiki": "Raadpleeg de mediabibliotheek wiki.",
     "LabelCountry": "Land:",
     "LabelCountry": "Land:",
     "LabelLanguage": "Taal:",
     "LabelLanguage": "Taal:",
@@ -152,9 +152,9 @@
     "OptionResumable": "Hervatbaar",
     "OptionResumable": "Hervatbaar",
     "ScheduledTasksHelp": "Klik op een taak om het schema aan te passen.",
     "ScheduledTasksHelp": "Klik op een taak om het schema aan te passen.",
     "ScheduledTasksTitle": "Geplande taken",
     "ScheduledTasksTitle": "Geplande taken",
-    "TabMyPlugins": "Mijn Plug-ins",
+    "TabMyPlugins": "Mijn Invoegtoepassingen",
     "TabCatalog": "Catalogus",
     "TabCatalog": "Catalogus",
-    "PluginsTitle": "Plug-ins",
+    "PluginsTitle": "Invoegtoepassingen",
     "HeaderAutomaticUpdates": "Automatische updates",
     "HeaderAutomaticUpdates": "Automatische updates",
     "HeaderNowPlaying": "Wordt nu afgespeeld",
     "HeaderNowPlaying": "Wordt nu afgespeeld",
     "HeaderLatestAlbums": "Nieuwste Albums",
     "HeaderLatestAlbums": "Nieuwste Albums",
@@ -199,6 +199,7 @@
     "OptionFriday": "Vrijdag",
     "OptionFriday": "Vrijdag",
     "OptionSaturday": "Zaterdag",
     "OptionSaturday": "Zaterdag",
     "HeaderManagement": "Beheer:",
     "HeaderManagement": "Beheer:",
+    "LabelManagement": "Management:",
     "OptionMissingImdbId": "IMDb Id ontbreekt",
     "OptionMissingImdbId": "IMDb Id ontbreekt",
     "OptionMissingTvdbId": "TheTVDB Id ontbreekt",
     "OptionMissingTvdbId": "TheTVDB Id ontbreekt",
     "OptionMissingOverview": "Overzicht ontbreekt",
     "OptionMissingOverview": "Overzicht ontbreekt",
@@ -284,7 +285,7 @@
     "ButtonAutoScroll": "Auto-scroll",
     "ButtonAutoScroll": "Auto-scroll",
     "LabelImageSavingConvention": "Afbeelding opslag conventie:",
     "LabelImageSavingConvention": "Afbeelding opslag conventie:",
     "LabelImageSavingConventionHelp": "Media Browser herkent afbeeldingen van de meeste grote media-applicaties. Het kiezen van uw download conventie is handig als u ook gebruik wilt maken van andere producten.",
     "LabelImageSavingConventionHelp": "Media Browser herkent afbeeldingen van de meeste grote media-applicaties. Het kiezen van uw download conventie is handig als u ook gebruik wilt maken van andere producten.",
-    "OptionImageSavingCompatible": "Compatibel - Media Browser \/ Plex \/ XBMC",
+    "OptionImageSavingCompatible": "Compatibel - Media Browser \/ XBMC \/ Plex",
     "OptionImageSavingStandard": "Standaard - MB2",
     "OptionImageSavingStandard": "Standaard - MB2",
     "ButtonSignIn": "Aanmelden",
     "ButtonSignIn": "Aanmelden",
     "TitleSignIn": "Aanmelden",
     "TitleSignIn": "Aanmelden",
@@ -332,10 +333,10 @@
     "LabelNumberOfGuideDays": "Aantal dagen van de gids om te downloaden:",
     "LabelNumberOfGuideDays": "Aantal dagen van de gids om te downloaden:",
     "LabelNumberOfGuideDaysHelp": "Het downloaden van meer dagen van de gids gegevens biedt de mogelijkheid verder vooruit te plannen en een beter overzicht geven, maar het zal ook langer duren om te downloaden. Auto kiest op basis van het aantal kanalen.",
     "LabelNumberOfGuideDaysHelp": "Het downloaden van meer dagen van de gids gegevens biedt de mogelijkheid verder vooruit te plannen en een beter overzicht geven, maar het zal ook langer duren om te downloaden. Auto kiest op basis van het aantal kanalen.",
     "LabelActiveService": "Actieve Service:",
     "LabelActiveService": "Actieve Service:",
-    "LabelActiveServiceHelp": "Er kunnen meerdere tv plug-ins worden ge\u00efnstalleerd, maar er kan er slechts een  per keer actief zijn.",
+    "LabelActiveServiceHelp": "Er kunnen meerdere tv Invoegtoepassingen worden ge\u00efnstalleerd, maar er kan er slechts een  per keer actief zijn.",
     "OptionAutomatic": "Automatisch",
     "OptionAutomatic": "Automatisch",
-    "LiveTvPluginRequired": "Een Live TV service provider plug-in is vereist om door te gaan.",
-    "LiveTvPluginRequiredHelp": "Installeer a.u b een van onze beschikbare plug-ins, zoals Next PVR of ServerWmc.",
+    "LiveTvPluginRequired": "Een Live TV service provider Invoegtoepassing is vereist om door te gaan.",
+    "LiveTvPluginRequiredHelp": "Installeer a.u b een van onze beschikbare Invoegtoepassingen, zoals Next PVR of ServerWmc.",
     "LabelCustomizeOptionsPerMediaType": "Aanpassen voor mediatype",
     "LabelCustomizeOptionsPerMediaType": "Aanpassen voor mediatype",
     "OptionDownloadThumbImage": "Miniatuur",
     "OptionDownloadThumbImage": "Miniatuur",
     "OptionDownloadMenuImage": "Menu",
     "OptionDownloadMenuImage": "Menu",
@@ -576,9 +577,9 @@
     "HeaderNotificationList": "Klik op een melding om de opties voor het versturen ervan te configureren .",
     "HeaderNotificationList": "Klik op een melding om de opties voor het versturen ervan te configureren .",
     "NotificationOptionApplicationUpdateAvailable": "Programma-update beschikbaar",
     "NotificationOptionApplicationUpdateAvailable": "Programma-update beschikbaar",
     "NotificationOptionApplicationUpdateInstalled": "Programma-update ge\u00efnstalleerd",
     "NotificationOptionApplicationUpdateInstalled": "Programma-update ge\u00efnstalleerd",
-    "NotificationOptionPluginUpdateInstalled": "Plugin-update ge\u00efnstalleerd",
-    "NotificationOptionPluginInstalled": "Plugin ge\u00efnstalleerd",
-    "NotificationOptionPluginUninstalled": "Plugin verwijderd",
+    "NotificationOptionPluginUpdateInstalled": "Invoegtoepassings-update ge\u00efnstalleerd",
+    "NotificationOptionPluginInstalled": "Invoegtoepassing ge\u00efnstalleerd",
+    "NotificationOptionPluginUninstalled": "Invoegtoepassing verwijderd",
     "NotificationOptionVideoPlayback": "Video afspelen gestart",
     "NotificationOptionVideoPlayback": "Video afspelen gestart",
     "NotificationOptionAudioPlayback": "Audio afspelen gestart",
     "NotificationOptionAudioPlayback": "Audio afspelen gestart",
     "NotificationOptionGamePlayback": "Game gestart",
     "NotificationOptionGamePlayback": "Game gestart",
@@ -589,7 +590,7 @@
     "NotificationOptionInstallationFailed": "Mislukken van de installatie",
     "NotificationOptionInstallationFailed": "Mislukken van de installatie",
     "NotificationOptionNewLibraryContent": "Nieuwe content toegevoegd",
     "NotificationOptionNewLibraryContent": "Nieuwe content toegevoegd",
     "NotificationOptionNewLibraryContentMultiple": "Nieuwe content toegevoegd (meerdere)",
     "NotificationOptionNewLibraryContentMultiple": "Nieuwe content toegevoegd (meerdere)",
-    "SendNotificationHelp": "Meldingen worden geplaatst in de inbox op het dashboard. Blader door de Plug-ins catalogus om aanvullende opties voor meldingen te installeren.",
+    "SendNotificationHelp": "Meldingen worden geplaatst in de inbox op het dashboard. Blader door de Invoegtoepassings catalogus om aanvullende opties voor meldingen te installeren.",
     "NotificationOptionServerRestartRequired": "Server herstart nodig",
     "NotificationOptionServerRestartRequired": "Server herstart nodig",
     "LabelNotificationEnabled": "Deze melding inschakelen",
     "LabelNotificationEnabled": "Deze melding inschakelen",
     "LabelMonitorUsers": "Monitor activiteit van:",
     "LabelMonitorUsers": "Monitor activiteit van:",
@@ -599,10 +600,10 @@
     "CategoryUser": "Gebruiker",
     "CategoryUser": "Gebruiker",
     "CategorySystem": "Systeem",
     "CategorySystem": "Systeem",
     "CategoryApplication": "Toepassing",
     "CategoryApplication": "Toepassing",
-    "CategoryPlugin": "Plug-in",
+    "CategoryPlugin": "Invoegtoepassing",
     "LabelMessageTitle": "Titel van het bericht:",
     "LabelMessageTitle": "Titel van het bericht:",
     "LabelAvailableTokens": "Beschikbaar tokens:",
     "LabelAvailableTokens": "Beschikbaar tokens:",
-    "AdditionalNotificationServices": "Blader door de plug-in catalogus om aanvullende meldingsdiensten te installeren.",
+    "AdditionalNotificationServices": "Blader door de Invoegtoepassings catalogus om aanvullende meldingsdiensten te installeren.",
     "OptionAllUsers": "Alle gebruikers",
     "OptionAllUsers": "Alle gebruikers",
     "OptionAdminUsers": "Beheerders",
     "OptionAdminUsers": "Beheerders",
     "OptionCustomUsers": "Aangepast",
     "OptionCustomUsers": "Aangepast",
@@ -626,17 +627,17 @@
     "TabNowPlaying": "Wordt nu afgespeeld",
     "TabNowPlaying": "Wordt nu afgespeeld",
     "TabNavigation": "Navigatie",
     "TabNavigation": "Navigatie",
     "TabControls": "Besturing",
     "TabControls": "Besturing",
-    "ButtonFullscreen": "Volledig scherm in-\/uitschakelen",
+    "ButtonFullscreen": "Toggle fullscreen",
     "ButtonScenes": "Scenes",
     "ButtonScenes": "Scenes",
     "ButtonSubtitles": "Ondertitels",
     "ButtonSubtitles": "Ondertitels",
     "ButtonAudioTracks": "Audio tracks",
     "ButtonAudioTracks": "Audio tracks",
-    "ButtonPreviousTrack": "Vorig nummer",
-    "ButtonNextTrack": "Volgend nummer",
+    "ButtonPreviousTrack": "Vorige track",
+    "ButtonNextTrack": "Volgende track",
     "ButtonStop": "Stop",
     "ButtonStop": "Stop",
     "ButtonPause": "Pauze",
     "ButtonPause": "Pauze",
     "LabelGroupMoviesIntoCollections": "Groepeer films in verzamelingen",
     "LabelGroupMoviesIntoCollections": "Groepeer films in verzamelingen",
     "LabelGroupMoviesIntoCollectionsHelp": "Bij de weergave van film lijsten, zullen films die behoren tot een verzameling worden weergegeven als een gegroepeerd object.",
     "LabelGroupMoviesIntoCollectionsHelp": "Bij de weergave van film lijsten, zullen films die behoren tot een verzameling worden weergegeven als een gegroepeerd object.",
-    "NotificationOptionPluginError": "Plug-in fout",
+    "NotificationOptionPluginError": "Invoegtoepassings fout",
     "ButtonVolumeUp": "Volume omhoog",
     "ButtonVolumeUp": "Volume omhoog",
     "ButtonVolumeDown": "Volume omlaag",
     "ButtonVolumeDown": "Volume omlaag",
     "ButtonMute": "Dempen",
     "ButtonMute": "Dempen",
@@ -722,7 +723,7 @@
     "OptionReportByteRangeSeekingWhenTranscodingHelp": "Dit is vereist voor bepaalde apparaten die zo goed op tijd zoeken.",
     "OptionReportByteRangeSeekingWhenTranscodingHelp": "Dit is vereist voor bepaalde apparaten die zo goed op tijd zoeken.",
     "HeaderSubtitleDownloadingHelp": "Bij het scannen van uw videobestanden kan Media Browser naar ontbrekende ondertiteling zoeken en deze downloaden bij ondertiteling providers zoals OpenSubtitles.org.",
     "HeaderSubtitleDownloadingHelp": "Bij het scannen van uw videobestanden kan Media Browser naar ontbrekende ondertiteling zoeken en deze downloaden bij ondertiteling providers zoals OpenSubtitles.org.",
     "HeaderDownloadSubtitlesFor": "Download ondertiteling voor:",
     "HeaderDownloadSubtitlesFor": "Download ondertiteling voor:",
-    "MessageNoChapterProviders": "Installeer een hoofdstuk provider plug-in zoals ChapterDb of tagChimp om extra hoofdstuk opties in te schakelen.",
+    "MessageNoChapterProviders": "Installeer een hoofdstuk provider Invoegtoepassing zoals ChapterDb om extra hoofdstuk opties in te schakelen.",
     "LabelSkipIfGraphicalSubsPresent": "Overslaan als de video al grafische ondertitels  bevat",
     "LabelSkipIfGraphicalSubsPresent": "Overslaan als de video al grafische ondertitels  bevat",
     "LabelSkipIfGraphicalSubsPresentHelp": "Tekstversies houden van ondertitels zal resulteren in meer effici\u00ebnte levering aan mobiele clients.",
     "LabelSkipIfGraphicalSubsPresentHelp": "Tekstversies houden van ondertitels zal resulteren in meer effici\u00ebnte levering aan mobiele clients.",
     "TabSubtitles": "Ondertiteling",
     "TabSubtitles": "Ondertiteling",
@@ -730,7 +731,7 @@
     "HeaderDownloadChaptersFor": "Download hoofdstuk namen voor:",
     "HeaderDownloadChaptersFor": "Download hoofdstuk namen voor:",
     "LabelOpenSubtitlesUsername": "Gebruikersnaam Open Subtitles:",
     "LabelOpenSubtitlesUsername": "Gebruikersnaam Open Subtitles:",
     "LabelOpenSubtitlesPassword": "Wachtwoord Open Subtitles:",
     "LabelOpenSubtitlesPassword": "Wachtwoord Open Subtitles:",
-    "HeaderChapterDownloadingHelp": "Wanneer Media Browser uw videobestanden scant kan het gebruiksvriendelijke namen voor hoofdstukken downloaden van het internet met behulp van hoofdstuk plug-ins zoals ChapterDb en tagChimp.",
+    "HeaderChapterDownloadingHelp": "Wanneer Media Browser uw videobestanden scant kan het gebruiksvriendelijke namen voor hoofdstukken downloaden van het internet met behulp van hoofdstuk Invoegtoepassing zoals ChapterDb.",
     "LabelPlayDefaultAudioTrack": "Speel standaard audio spoor ongeacht taal",
     "LabelPlayDefaultAudioTrack": "Speel standaard audio spoor ongeacht taal",
     "LabelSubtitlePlaybackMode": "Ondertitelingsmode:",
     "LabelSubtitlePlaybackMode": "Ondertitelingsmode:",
     "LabelDownloadLanguages": "Download talen:",
     "LabelDownloadLanguages": "Download talen:",
@@ -740,8 +741,8 @@
     "HeaderSendMessage": "Stuur bericht",
     "HeaderSendMessage": "Stuur bericht",
     "ButtonSend": "Stuur",
     "ButtonSend": "Stuur",
     "LabelMessageText": "Bericht tekst:",
     "LabelMessageText": "Bericht tekst:",
-    "MessageNoAvailablePlugins": "Geen beschikbare plugins.",
-    "LabelDisplayPluginsFor": "Toon plugins voor:",
+    "MessageNoAvailablePlugins": "Geen beschikbare Invoegtoepassingen.",
+    "LabelDisplayPluginsFor": "Toon Invoegtoepassingen voor:",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserTheater": "MB Theater",
     "PluginTabMediaBrowserTheater": "MB Theater",
     "LabelEpisodeName": "Naam aflevering",
     "LabelEpisodeName": "Naam aflevering",
@@ -802,7 +803,7 @@
     "LabelChannelDownloadPathHelp": "Geef een eigen download pad op als dit gewenst is, leeglaten voor dowloaden naar de interne program data map.",
     "LabelChannelDownloadPathHelp": "Geef een eigen download pad op als dit gewenst is, leeglaten voor dowloaden naar de interne program data map.",
     "LabelChannelDownloadAge": "Verwijder inhoud na: (dagen)",
     "LabelChannelDownloadAge": "Verwijder inhoud na: (dagen)",
     "LabelChannelDownloadAgeHelp": "Gedownloade inhoud die ouder is zal worden verwijderd. Afspelen via internet streaming blijft mogelijk.",
     "LabelChannelDownloadAgeHelp": "Gedownloade inhoud die ouder is zal worden verwijderd. Afspelen via internet streaming blijft mogelijk.",
-    "ChannelSettingsFormHelp": "Installeer kanalen zoals Trailers en Vimeo in de plug-in catalogus.",
+    "ChannelSettingsFormHelp": "Installeer kanalen zoals Trailers en Vimeo in de Invoegtoepassings catalogus.",
     "LabelSelectCollection": "Selecteer verzameling:",
     "LabelSelectCollection": "Selecteer verzameling:",
     "ViewTypeMovies": "Films",
     "ViewTypeMovies": "Films",
     "ViewTypeTvShows": "TV",
     "ViewTypeTvShows": "TV",
@@ -844,7 +845,7 @@
     "HeaderBrandingHelp": "Pas het uiterlijk van Media Browser aan, aan de behoeften van uw groep of organisatie.",
     "HeaderBrandingHelp": "Pas het uiterlijk van Media Browser aan, aan de behoeften van uw groep of organisatie.",
     "LabelLoginDisclaimer": "Aanmeld vrijwaring:",
     "LabelLoginDisclaimer": "Aanmeld vrijwaring:",
     "LabelLoginDisclaimerHelp": "Dit wordt onderaan de login pagina weergegeven.",
     "LabelLoginDisclaimerHelp": "Dit wordt onderaan de login pagina weergegeven.",
-    "LabelAutomaticallyDonate": "Doneer dit bedrag automatisch per maand",
+    "LabelAutomaticallyDonate": "Doneer dit bedrag automatisch elke zes maanden",
     "LabelAutomaticallyDonateHelp": "U kunt dit via uw PayPal account op elk moment annuleren.",
     "LabelAutomaticallyDonateHelp": "U kunt dit via uw PayPal account op elk moment annuleren.",
     "OptionList": "Lijst",
     "OptionList": "Lijst",
     "TabDashboard": "Dashboard",
     "TabDashboard": "Dashboard",
@@ -874,5 +875,14 @@
     "LabelMatchType": "Type overeenkomst:",
     "LabelMatchType": "Type overeenkomst:",
     "OptionEquals": "Is gelijk aan",
     "OptionEquals": "Is gelijk aan",
     "OptionRegex": "Regex",
     "OptionRegex": "Regex",
-    "OptionSubstring": "Subtekenreeks"
+    "OptionSubstring": "Subtekenreeks",
+    "TabView": "Weergave",
+    "TabSort": "Sorteren",
+    "TabFilter": "Filter",
+    "ButtonView": "Weergave",
+    "LabelPageSize": "Schermgrootte:",
+    "LabelView": "Weergave:",
+    "TabUsers": "Gebruikers",
+    "HeaderFeatures": "Features",
+    "HeaderAdvanced": "Advanced"
 }
 }

+ 16 - 6
MediaBrowser.Server.Implementations/Localization/Server/pl.json

@@ -190,7 +190,7 @@
     "HeaderStatus": "Status",
     "HeaderStatus": "Status",
     "OptionContinuing": "Continuing",
     "OptionContinuing": "Continuing",
     "OptionEnded": "Ended",
     "OptionEnded": "Ended",
-    "HeaderAirDays": "Air Days:",
+    "HeaderAirDays": "Air Days",
     "OptionSunday": "Niedziela",
     "OptionSunday": "Niedziela",
     "OptionMonday": "Poniedzia\u0142ek",
     "OptionMonday": "Poniedzia\u0142ek",
     "OptionTuesday": "Wtorek",
     "OptionTuesday": "Wtorek",
@@ -198,7 +198,8 @@
     "OptionThursday": "Czwartek",
     "OptionThursday": "Czwartek",
     "OptionFriday": "Pi\u0105tek",
     "OptionFriday": "Pi\u0105tek",
     "OptionSaturday": "Sobota",
     "OptionSaturday": "Sobota",
-    "HeaderManagement": "Management:",
+    "HeaderManagement": "Management",
+    "LabelManagement": "Management:",
     "OptionMissingImdbId": "Brakuje Id IMDb",
     "OptionMissingImdbId": "Brakuje Id IMDb",
     "OptionMissingTvdbId": "Brakuje Id TheTVDB",
     "OptionMissingTvdbId": "Brakuje Id TheTVDB",
     "OptionMissingOverview": "Missing Overview",
     "OptionMissingOverview": "Missing Overview",
@@ -256,11 +257,11 @@
     "ButtonSelectDirectory": "Wybierz folder",
     "ButtonSelectDirectory": "Wybierz folder",
     "LabelCustomPaths": "Specify custom paths where desired. Leave fields empty to use the defaults.",
     "LabelCustomPaths": "Specify custom paths where desired. Leave fields empty to use the defaults.",
     "LabelCachePath": "Cache path:",
     "LabelCachePath": "Cache path:",
-    "LabelCachePathHelp": "This folder contains server cache files, such as images.",
+    "LabelCachePathHelp": "Specify a custom location for server cache files, such as images.",
     "LabelImagesByNamePath": "Images by name path:",
     "LabelImagesByNamePath": "Images by name path:",
-    "LabelImagesByNamePathHelp": "This folder contains downloaded actor, artist, genre and studio images.",
+    "LabelImagesByNamePathHelp": "Specify a custom location for downloaded actor, artist, genre and studio images.",
     "LabelMetadataPath": "Metadata path:",
     "LabelMetadataPath": "Metadata path:",
-    "LabelMetadataPathHelp": "This location contains downloaded artwork and metadata that is not configured to be stored in media folders.",
+    "LabelMetadataPathHelp": "Specify a custom location for downloaded artwork and metadata, if not saving within media folders.",
     "LabelTranscodingTempPath": "Transcoding temporary path:",
     "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.",
     "LabelTranscodingTempPathHelp": "This folder contains working files used by the transcoder. Specify a custom path, or leave empty to use the default within the server's data folder.",
     "TabBasics": "Basics",
     "TabBasics": "Basics",
@@ -874,5 +875,14 @@
     "LabelMatchType": "Match type:",
     "LabelMatchType": "Match type:",
     "OptionEquals": "Equals",
     "OptionEquals": "Equals",
     "OptionRegex": "Regex",
     "OptionRegex": "Regex",
-    "OptionSubstring": "Substring"
+    "OptionSubstring": "Substring",
+    "TabView": "View",
+    "TabSort": "Sort",
+    "TabFilter": "Filter",
+    "ButtonView": "View",
+    "LabelPageSize": "Item limit:",
+    "LabelView": "View:",
+    "TabUsers": "Users",
+    "HeaderFeatures": "Features",
+    "HeaderAdvanced": "Advanced"
 }
 }

+ 15 - 5
MediaBrowser.Server.Implementations/Localization/Server/pt_BR.json

@@ -199,6 +199,7 @@
     "OptionFriday": "Sexta-feira",
     "OptionFriday": "Sexta-feira",
     "OptionSaturday": "S\u00e1bado",
     "OptionSaturday": "S\u00e1bado",
     "HeaderManagement": "Gerenciamento:",
     "HeaderManagement": "Gerenciamento:",
+    "LabelManagement": "Management:",
     "OptionMissingImdbId": "Faltando Id IMDb",
     "OptionMissingImdbId": "Faltando Id IMDb",
     "OptionMissingTvdbId": "Faltando Id TheTVDB",
     "OptionMissingTvdbId": "Faltando Id TheTVDB",
     "OptionMissingOverview": "Faltando Sinopse",
     "OptionMissingOverview": "Faltando Sinopse",
@@ -626,12 +627,12 @@
     "TabNowPlaying": "Reproduzindo Agora",
     "TabNowPlaying": "Reproduzindo Agora",
     "TabNavigation": "Navega\u00e7\u00e3o",
     "TabNavigation": "Navega\u00e7\u00e3o",
     "TabControls": "Controles",
     "TabControls": "Controles",
-    "ButtonFullscreen": "Alternar tela cheia",
+    "ButtonFullscreen": "Toggle fullscreen",
     "ButtonScenes": "Cenas",
     "ButtonScenes": "Cenas",
     "ButtonSubtitles": "Legendas",
     "ButtonSubtitles": "Legendas",
-    "ButtonAudioTracks": "Faixas de \u00e1udio",
-    "ButtonPreviousTrack": "Faixa Anterior",
-    "ButtonNextTrack": "Pr\u00f3xima Faixa",
+    "ButtonAudioTracks": "Audio tracks",
+    "ButtonPreviousTrack": "Faixa anterior",
+    "ButtonNextTrack": "Pr\u00f3xima faixa",
     "ButtonStop": "Parar",
     "ButtonStop": "Parar",
     "ButtonPause": "Pausar",
     "ButtonPause": "Pausar",
     "LabelGroupMoviesIntoCollections": "Agrupar filmes nas cole\u00e7\u00f5es",
     "LabelGroupMoviesIntoCollections": "Agrupar filmes nas cole\u00e7\u00f5es",
@@ -874,5 +875,14 @@
     "LabelMatchType": "Tipo de correspond\u00eancia",
     "LabelMatchType": "Tipo de correspond\u00eancia",
     "OptionEquals": "Igual",
     "OptionEquals": "Igual",
     "OptionRegex": "Regex",
     "OptionRegex": "Regex",
-    "OptionSubstring": "Substring"
+    "OptionSubstring": "Substring",
+    "TabView": "Visualizar",
+    "TabSort": "Ordenar",
+    "TabFilter": "Filtro",
+    "ButtonView": "Visualizar",
+    "LabelPageSize": "Tamanho de exibi\u00e7\u00e3o:",
+    "LabelView": "Visualizar:",
+    "TabUsers": "Usu\u00e1rios",
+    "HeaderFeatures": "Features",
+    "HeaderAdvanced": "Advanced"
 }
 }

+ 16 - 6
MediaBrowser.Server.Implementations/Localization/Server/pt_PT.json

@@ -199,6 +199,7 @@
     "OptionFriday": "Sexta",
     "OptionFriday": "Sexta",
     "OptionSaturday": "S\u00e1bado",
     "OptionSaturday": "S\u00e1bado",
     "HeaderManagement": "Gest\u00e3o:",
     "HeaderManagement": "Gest\u00e3o:",
+    "LabelManagement": "Management:",
     "OptionMissingImdbId": "Id do IMDb em falta",
     "OptionMissingImdbId": "Id do IMDb em falta",
     "OptionMissingTvdbId": "iD do TheTVDB em falta",
     "OptionMissingTvdbId": "iD do TheTVDB em falta",
     "OptionMissingOverview": "Descri\u00e7\u00e3o em falta",
     "OptionMissingOverview": "Descri\u00e7\u00e3o em falta",
@@ -479,10 +480,10 @@
     "HeaderProgram": "Programa",
     "HeaderProgram": "Programa",
     "HeaderClients": "Clientes",
     "HeaderClients": "Clientes",
     "LabelCompleted": "Terminado",
     "LabelCompleted": "Terminado",
-    "LabelFailed": "Falhou",
+    "LabelFailed": "Failed",
     "LabelSkipped": "Ignorado",
     "LabelSkipped": "Ignorado",
     "HeaderEpisodeOrganization": "Organiza\u00e7\u00e3o dos Epis\u00f3dios",
     "HeaderEpisodeOrganization": "Organiza\u00e7\u00e3o dos Epis\u00f3dios",
-    "LabelSeries": "S\u00e9rie:",
+    "LabelSeries": "Series:",
     "LabelSeasonNumber": "N\u00famero da temporada",
     "LabelSeasonNumber": "N\u00famero da temporada",
     "LabelEpisodeNumber": "N\u00famero do epis\u00f3dio",
     "LabelEpisodeNumber": "N\u00famero do epis\u00f3dio",
     "LabelEndingEpisodeNumber": "N\u00famero do epis\u00f3dio final",
     "LabelEndingEpisodeNumber": "N\u00famero do epis\u00f3dio final",
@@ -629,9 +630,9 @@
     "ButtonFullscreen": "Toggle fullscreen",
     "ButtonFullscreen": "Toggle fullscreen",
     "ButtonScenes": "Cenas",
     "ButtonScenes": "Cenas",
     "ButtonSubtitles": "Legendas",
     "ButtonSubtitles": "Legendas",
-    "ButtonAudioTracks": "Faixas de \u00e1udio",
-    "ButtonPreviousTrack": "Faixa Anterior",
-    "ButtonNextTrack": "Pr\u00f3xima Faixa",
+    "ButtonAudioTracks": "Audio tracks",
+    "ButtonPreviousTrack": "Previous track",
+    "ButtonNextTrack": "Next track",
     "ButtonStop": "Parar",
     "ButtonStop": "Parar",
     "ButtonPause": "Pausar",
     "ButtonPause": "Pausar",
     "LabelGroupMoviesIntoCollections": "Group movies into collections",
     "LabelGroupMoviesIntoCollections": "Group movies into collections",
@@ -874,5 +875,14 @@
     "LabelMatchType": "Match type:",
     "LabelMatchType": "Match type:",
     "OptionEquals": "Equals",
     "OptionEquals": "Equals",
     "OptionRegex": "Regex",
     "OptionRegex": "Regex",
-    "OptionSubstring": "Substring"
+    "OptionSubstring": "Substring",
+    "TabView": "View",
+    "TabSort": "Sort",
+    "TabFilter": "Filter",
+    "ButtonView": "View",
+    "LabelPageSize": "Item limit:",
+    "LabelView": "View:",
+    "TabUsers": "Users",
+    "HeaderFeatures": "Features",
+    "HeaderAdvanced": "Advanced"
 }
 }

File diff suppressed because it is too large
+ 1 - 1
MediaBrowser.Server.Implementations/Localization/Server/ru.json


+ 902 - 891
MediaBrowser.Server.Implementations/Localization/Server/server.json

@@ -1,893 +1,904 @@
 {
 {
     "LabelExit": "Exit",
     "LabelExit": "Exit",
-	"LabelVisitCommunity": "Visit Community",
-	"LabelGithubWiki": "Github Wiki",
-	"LabelSwagger": "Swagger",
-	"LabelStandard": "Standard",
-	"LabelViewApiDocumentation": "View Api Documentation",
-	"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",
-	"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 <b>Finish</b> to view the <b>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.",
-	"ButtonOk": "Ok",
-	"ButtonCancel": "Cancel",
-	"ButtonNew": "New",
-	"HeaderSetupLibrary": "Setup your media library",
-	"ButtonAddMediaFolder": "Add media folder",
-	"LabelFolderType": "Folder type:",
-	"MediaFolderHelpPluginRequired": "* Requires the use of a plugin, e.g. GameBrowser or MB Bookshelf.",
-	"ReferToMediaLibraryWiki": "Refer to the media library wiki.",
-	"LabelCountry": "Country:",
-	"LabelLanguage": "Language:",
-	"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",
-	"TabImage": "Image",
-	"TabProfile": "Profile",
-	"TabMetadata": "Metadata",
-	"TabImages": "Images",
-	"TabNotifications": "Notifications",
-	"TabCollectionTitles": "Titles",
-	"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": "None",
-	"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",
-	"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",
-	"OptionBackdrop": "Backdrop",
-	"OptionTimeline": "Timeline",
-	"OptionThumb": "Thumb",
-	"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",
-	"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:",
-	"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",
-	"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:",
-	"OptionAllowUserToManageServer": "Allow this user to manage the server",
-	"HeaderFeatureAccess": "Feature Access",
-	"OptionAllowMediaPlayback": "Allow media playback",
-	"OptionAllowBrowsingLiveTv": "Allow browsing of live tv",
-	"OptionAllowDeleteLibraryContent": "Allow this user to delete library content",
-	"OptionAllowManageLiveTv": "Allow management of live tv recordings",
-	"OptionAllowRemoteControlOthers": "Allow this user to remote control other users",
-	"OptionMissingTmdbId": "Missing Tmdb Id",
-	"OptionIsHD": "HD",
-	"OptionIsSD": "SD",
-	"OptionMetascore": "Metascore",
-	"ButtonSelect": "Select",
-	"ButtonSearch": "Search",
-	"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": "This folder contains server cache files, such as images.",
-	"LabelImagesByNamePath": "Images by name path:",
-	"LabelImagesByNamePathHelp": "This folder contains downloaded actor, artist, genre and studio images.",
-	"LabelMetadataPath": "Metadata path:",
-	"LabelMetadataPathHelp": "This location contains downloaded artwork and metadata that is not configured to be stored in 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",
-	"LabelAutomaticUpdatesFanart": "Enable automatic updates from FanArt.tv",
-	"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.",
-	"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/Xbmc/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",
-	"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",
-	"ButtonCancelRecording": "Cancel Recording",
-	"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 Task Trigger",
-	"HeaderAddScheduledTaskTrigger": "Add Task 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.",
-	"OptionEnableDebugTranscodingLogging": "Enable debug transcoding logging",
-	"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",
-	"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",
-	"LabelHttpServerPortNumber": "Http server port number:",
-	"LabelWebSocketPortNumber": "Web socket port number:",
-	"LabelEnableAutomaticPortMapping": "Enable automatic port mapping",
-	"LabelEnableAutomaticPortHelp": "UPnP allows automated router configuration for remote access. This may not work with some router models.",
-	"LabelExternalDDNS": "External DDNS:",
-	"LabelExternalDDNSHelp": "If you have a dynamic DNS enter it here. Media Browser apps will use it when connecting remotely.",
-	"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",
-	"HeaderStatus": "Status",
-	"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",
-	"HeaerServerInformation": "Server Information",
-	"ButtonRestartNow": "Restart Now",
-	"ButtonRestart": "Restart",
-	"ButtonShutdown": "Shutdown",
-	"ButtonUpdateNow": "Update Now",
-	"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": "Link Keys",
-	"LabelOldSupporterKey": "Old supporter key",
-	"LabelNewSupporterKey": "New supporter key",
-	"HeaderMultipleKeyLinking": "Multiple Key Linking",
-	"MultipleKeyLinkingHelp": "If you have more than one supporter key, use this form to link the old key's registrations with 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:",
-	"UsersNotNotifiedAboutSelfActivity": "Users will not be notified about their own activities.",
-	"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",
-	"ButtonPlay": "Play",
-	"ButtonPause": "Pause",
-	"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",
-	"OptionNoSubtitles": "No Subtitles",
-	"OptionSpecialFeatures": "Special Features",
-	"HeaderCollections": "Collections",
-	"HeaderChannels": "Channels",
-	"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:",
-	"LabelProfileContainer": "Container:",
-	"LabelProfileVideoCodecs": "Video codecs:",
-	"LabelProfileAudioCodecs": "Audio codecs:",
-	"LabelProfileCodecs": "Codecs:",
-	"HeaderDirectPlayProfile": "Direct Play Profile",
-	"HeaderTranscodingProfile": "Transcoding Profile",
-	"HeaderCodecProfile": "Codec Profile",
-	"HeaderCodecProfileHelp": "Define additional conditions that must be met in order for a codec to be direct played.",
-	"HeaderContainerProfile": "Container Profile",
-	"HeaderContainerProfileHelp": "Define additional conditions that must be met in order for a file to be direct played.",
-	"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",
-	"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.",
-	"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.",
-	"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.",
-	"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.",
-	"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:",
-	"LabelMessageTitle": "Message title:",
-	"MessageNoAvailablePlugins": "No available plugins.",
-	"LabelDisplayPluginsFor": "Display plugins for:",
-	"PluginTabMediaBrowserClassic": "MB Classic",
-	"PluginTabMediaBrowserTheater": "MB Theater",
-	"LabelEpisodeName": "Episode name",
-	"LabelSeriesName": "Series name",
-	"ValueSeriesNamePeriod": "Series.name",
-	"ValueSeriesNameUnderscore": "Series_name",
-	"ValueEpisodeNamePeriod": "Episode.name",
-	"ValueEpisodeNameUnderscore": "Episode_name",
-	"LabelSeasonNumber": "Season number",
-	"LabelEpisodeNumber": "Episode number",
-	"LabelEndingEpisodeNumber": "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",
-	"LabelHomePageSection1": "Home page section one:",
-	"LabelHomePageSection2": "Home page section two:",
-	"LabelHomePageSection3": "Home page section three:",
-	"LabelHomePageSection4": "Home page section four:",
-	"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...",
-	"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 New button to start creating Collections.",
-	"HeaderWelcomeToMediaBrowserWebClient": "Welcome to the Media Browser Web Client",
-	"ButtonDismiss": "Dismiss",
-	"MessageLearnHowToCustomize": "Learn how to customize this page to your own personal tastes. Click your user icon in the top right corner of the screen to view and update your preferences.",
-	"ButtonEditOtherUserPreferences": "Edit this user's 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:",
-	"ViewTypeMovies": "Movies",
-	"ViewTypeTvShows": "TV",
-	"ViewTypeGames": "Games",
-	"ViewTypeMusic": "Music",
-	"ViewTypeBoxSets": "Collections",
-	"ViewTypeChannels": "Channels",
-	"ViewTypeLiveTV": "Live TV",
-	"HeaderOtherDisplaySettings": "Display Settings",
-	"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.",
-	"TabXbmcMetadata": "Xbmc",
-	"HeaderXbmcMetadataHelp": "Media Browser includes native support for Xbmc Nfo metadata and images. To enable or disable Xbmc metadata, use the Advanced tab to configure options for your media types.",
-	"LabelXbmcMetadataUser": "Add user watch data to nfo's for:",
-	"LabelXbmcMetadataUserHelp": "Enable this to keep watch data in sync between Media Browser and Xbmc.",
-	"LabelXbmcMetadataDateFormat": "Release date format:",
-	"LabelXbmcMetadataDateFormatHelp": "All dates within nfo's will be read and written to using this format.",
-	"LabelXbmcMetadataSaveImagePaths": "Save image paths within nfo files",
-	"LabelXbmcMetadataSaveImagePathsHelp": "This is recommended if you have image file names that don't conform to Xbmc guidelines.",
-	"LabelXbmcMetadataEnablePathSubstitution": "Enable path substitution",
-	"LabelXbmcMetadataEnablePathSubstitutionHelp": "Enables path substitution of image paths using the server's path substitution settings.",
-	"LabelXbmcMetadataEnablePathSubstitutionHelp2": "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",
-	"LabelXbmcMetadataEnableExtraThumbs": "Copy extrafanart into extrathumbs",
-	"LabelXbmcMetadataEnableExtraThumbsHelp": "When downloading images they can be saved into both extrafanart and extrathumbs for maximum Xbmc 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 six months",
-	"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.",
-    "ButtonEnterSupporterKey":  "Enter supporter key",
-    "HeaderHttpHeaders":  "Http Headers",
-    "HeaderIdentificationHeader":  "Identification Header",
-    "LabelValue":  "Value:",
-    "LabelMatchType":  "Match type:",
-    "OptionEquals":  "Equals",
-    "OptionRegex":  "Regex",
-    "OptionSubstring":  "Substring"
-}
+    "LabelVisitCommunity": "Visit Community",
+    "LabelGithubWiki": "Github Wiki",
+    "LabelSwagger": "Swagger",
+    "LabelStandard": "Standard",
+    "LabelViewApiDocumentation": "View Api Documentation",
+    "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",
+    "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 <b>Finish</b> to view the <b>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.",
+    "ButtonOk": "Ok",
+    "ButtonCancel": "Cancel",
+    "ButtonNew": "New",
+    "HeaderSetupLibrary": "Setup your media library",
+    "ButtonAddMediaFolder": "Add media folder",
+    "LabelFolderType": "Folder type:",
+    "MediaFolderHelpPluginRequired": "* Requires the use of a plugin, e.g. GameBrowser or MB Bookshelf.",
+    "ReferToMediaLibraryWiki": "Refer to the media library wiki.",
+    "LabelCountry": "Country:",
+    "LabelLanguage": "Language:",
+    "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",
+    "TabImage": "Image",
+    "TabProfile": "Profile",
+    "TabMetadata": "Metadata",
+    "TabImages": "Images",
+    "TabNotifications": "Notifications",
+    "TabCollectionTitles": "Titles",
+    "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": "None",
+    "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",
+    "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",
+    "OptionBackdrop": "Backdrop",
+    "OptionTimeline": "Timeline",
+    "OptionThumb": "Thumb",
+    "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",
+    "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",
+    "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:",
+    "OptionAllowUserToManageServer": "Allow this user to manage the server",
+    "HeaderFeatureAccess": "Feature Access",
+    "OptionAllowMediaPlayback": "Allow media playback",
+    "OptionAllowBrowsingLiveTv": "Allow browsing of live tv",
+    "OptionAllowDeleteLibraryContent": "Allow this user to delete library content",
+    "OptionAllowManageLiveTv": "Allow management of live tv recordings",
+    "OptionAllowRemoteControlOthers": "Allow this user to remote control other users",
+    "OptionMissingTmdbId": "Missing Tmdb Id",
+    "OptionIsHD": "HD",
+    "OptionIsSD": "SD",
+    "OptionMetascore": "Metascore",
+    "ButtonSelect": "Select",
+    "ButtonSearch": "Search",
+    "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, artist, 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",
+    "LabelAutomaticUpdatesFanart": "Enable automatic updates from FanArt.tv",
+    "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.",
+    "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/Xbmc/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",
+    "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",
+    "ButtonCancelRecording": "Cancel Recording",
+    "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 Task Trigger",
+    "HeaderAddScheduledTaskTrigger": "Add Task 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.",
+    "OptionEnableDebugTranscodingLogging": "Enable debug transcoding logging",
+    "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",
+    "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",
+    "LabelHttpServerPortNumber": "Http server port number:",
+    "LabelWebSocketPortNumber": "Web socket port number:",
+    "LabelEnableAutomaticPortMapping": "Enable automatic port mapping",
+    "LabelEnableAutomaticPortHelp": "UPnP allows automated router configuration for remote access. This may not work with some router models.",
+    "LabelExternalDDNS": "External DDNS:",
+    "LabelExternalDDNSHelp": "If you have a dynamic DNS enter it here. Media Browser apps will use it when connecting remotely.",
+    "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",
+    "HeaderStatus": "Status",
+    "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",
+    "HeaerServerInformation": "Server Information",
+    "ButtonRestartNow": "Restart Now",
+    "ButtonRestart": "Restart",
+    "ButtonShutdown": "Shutdown",
+    "ButtonUpdateNow": "Update Now",
+    "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": "Link Keys",
+    "LabelOldSupporterKey": "Old supporter key",
+    "LabelNewSupporterKey": "New supporter key",
+    "HeaderMultipleKeyLinking": "Multiple Key Linking",
+    "MultipleKeyLinkingHelp": "If you have more than one supporter key, use this form to link the old key's registrations with 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:",
+    "UsersNotNotifiedAboutSelfActivity": "Users will not be notified about their own activities.",
+    "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",
+    "ButtonPlay": "Play",
+    "ButtonPause": "Pause",
+    "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",
+    "OptionNoSubtitles": "No Subtitles",
+    "OptionSpecialFeatures": "Special Features",
+    "HeaderCollections": "Collections",
+    "HeaderChannels": "Channels",
+    "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:",
+    "LabelProfileContainer": "Container:",
+    "LabelProfileVideoCodecs": "Video codecs:",
+    "LabelProfileAudioCodecs": "Audio codecs:",
+    "LabelProfileCodecs": "Codecs:",
+    "HeaderDirectPlayProfile": "Direct Play Profile",
+    "HeaderTranscodingProfile": "Transcoding Profile",
+    "HeaderCodecProfile": "Codec Profile",
+    "HeaderCodecProfileHelp": "Define additional conditions that must be met in order for a codec to be direct played.",
+    "HeaderContainerProfile": "Container Profile",
+    "HeaderContainerProfileHelp": "Define additional conditions that must be met in order for a file to be direct played.",
+    "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",
+    "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.",
+    "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.",
+    "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.",
+    "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.",
+    "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:",
+    "LabelMessageTitle": "Message title:",
+    "MessageNoAvailablePlugins": "No available plugins.",
+    "LabelDisplayPluginsFor": "Display plugins for:",
+    "PluginTabMediaBrowserClassic": "MB Classic",
+    "PluginTabMediaBrowserTheater": "MB Theater",
+    "LabelEpisodeName": "Episode name",
+    "LabelSeriesName": "Series name",
+    "ValueSeriesNamePeriod": "Series.name",
+    "ValueSeriesNameUnderscore": "Series_name",
+    "ValueEpisodeNamePeriod": "Episode.name",
+    "ValueEpisodeNameUnderscore": "Episode_name",
+    "LabelSeasonNumber": "Season number",
+    "LabelEpisodeNumber": "Episode number",
+    "LabelEndingEpisodeNumber": "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",
+    "LabelHomePageSection1": "Home page section one:",
+    "LabelHomePageSection2": "Home page section two:",
+    "LabelHomePageSection3": "Home page section three:",
+    "LabelHomePageSection4": "Home page section four:",
+    "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...",
+    "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 New button to start creating Collections.",
+    "HeaderWelcomeToMediaBrowserWebClient": "Welcome to the Media Browser Web Client",
+    "ButtonDismiss": "Dismiss",
+    "MessageLearnHowToCustomize": "Learn how to customize this page to your own personal tastes. Click your user icon in the top right corner of the screen to view and update your preferences.",
+    "ButtonEditOtherUserPreferences": "Edit this user's 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:",
+    "ViewTypeMovies": "Movies",
+    "ViewTypeTvShows": "TV",
+    "ViewTypeGames": "Games",
+    "ViewTypeMusic": "Music",
+    "ViewTypeBoxSets": "Collections",
+    "ViewTypeChannels": "Channels",
+    "ViewTypeLiveTV": "Live TV",
+    "HeaderOtherDisplaySettings": "Display Settings",
+    "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.",
+    "TabXbmcMetadata": "Xbmc",
+    "HeaderXbmcMetadataHelp": "Media Browser includes native support for Xbmc Nfo metadata and images. To enable or disable Xbmc metadata, use the Advanced tab to configure options for your media types.",
+    "LabelXbmcMetadataUser": "Add user watch data to nfo's for:",
+    "LabelXbmcMetadataUserHelp": "Enable this to keep watch data in sync between Media Browser and Xbmc.",
+    "LabelXbmcMetadataDateFormat": "Release date format:",
+    "LabelXbmcMetadataDateFormatHelp": "All dates within nfo's will be read and written to using this format.",
+    "LabelXbmcMetadataSaveImagePaths": "Save image paths within nfo files",
+    "LabelXbmcMetadataSaveImagePathsHelp": "This is recommended if you have image file names that don't conform to Xbmc guidelines.",
+    "LabelXbmcMetadataEnablePathSubstitution": "Enable path substitution",
+    "LabelXbmcMetadataEnablePathSubstitutionHelp": "Enables path substitution of image paths using the server's path substitution settings.",
+    "LabelXbmcMetadataEnablePathSubstitutionHelp2": "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",
+    "LabelXbmcMetadataEnableExtraThumbs": "Copy extrafanart into extrathumbs",
+    "LabelXbmcMetadataEnableExtraThumbsHelp": "When downloading images they can be saved into both extrafanart and extrathumbs for maximum Xbmc 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 six months",
+    "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.",
+    "ButtonEnterSupporterKey": "Enter supporter key",
+    "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:",
+    "LabelView": "View:",
+    "TabUsers":  "Users",
+    "HeaderFeatures":  "Features",
+    "HeaderAdvanced":  "Advanced",
+    "ButtonSync":  "Sync"
+}

+ 17 - 7
MediaBrowser.Server.Implementations/Localization/Server/sv.json

@@ -199,6 +199,7 @@
     "OptionFriday": "Fredag",
     "OptionFriday": "Fredag",
     "OptionSaturday": "L\u00f6rdag",
     "OptionSaturday": "L\u00f6rdag",
     "HeaderManagement": "Administration:",
     "HeaderManagement": "Administration:",
+    "LabelManagement": "Management:",
     "OptionMissingImdbId": "IMDB-ID saknas",
     "OptionMissingImdbId": "IMDB-ID saknas",
     "OptionMissingTvdbId": "TVDB-ID saknas",
     "OptionMissingTvdbId": "TVDB-ID saknas",
     "OptionMissingOverview": "Synopsis saknas",
     "OptionMissingOverview": "Synopsis saknas",
@@ -479,10 +480,10 @@
     "HeaderProgram": "Program",
     "HeaderProgram": "Program",
     "HeaderClients": "Klienter",
     "HeaderClients": "Klienter",
     "LabelCompleted": "Klar",
     "LabelCompleted": "Klar",
-    "LabelFailed": "Misslyckades",
+    "LabelFailed": "Failed",
     "LabelSkipped": "Hoppades \u00f6ver",
     "LabelSkipped": "Hoppades \u00f6ver",
     "HeaderEpisodeOrganization": "Katalogisering av avsnitt",
     "HeaderEpisodeOrganization": "Katalogisering av avsnitt",
-    "LabelSeries": "Serie:",
+    "LabelSeries": "Series:",
     "LabelSeasonNumber": "S\u00e4songsnummer:",
     "LabelSeasonNumber": "S\u00e4songsnummer:",
     "LabelEpisodeNumber": "Avsnittsnummer:",
     "LabelEpisodeNumber": "Avsnittsnummer:",
     "LabelEndingEpisodeNumber": "Avslutande avsnittsnummer:",
     "LabelEndingEpisodeNumber": "Avslutande avsnittsnummer:",
@@ -626,12 +627,12 @@
     "TabNowPlaying": "Nu spelas",
     "TabNowPlaying": "Nu spelas",
     "TabNavigation": "Navigering",
     "TabNavigation": "Navigering",
     "TabControls": "Kontroller",
     "TabControls": "Kontroller",
-    "ButtonFullscreen": "V\u00e4xla fullsk\u00e4rmsl\u00e4ge",
+    "ButtonFullscreen": "Toggle fullscreen",
     "ButtonScenes": "Scener",
     "ButtonScenes": "Scener",
     "ButtonSubtitles": "Undertexter",
     "ButtonSubtitles": "Undertexter",
-    "ButtonAudioTracks": "Ljudsp\u00e5r",
-    "ButtonPreviousTrack": "F\u00f6reg\u00e5ende sp\u00e5r",
-    "ButtonNextTrack": "N\u00e4sta sp\u00e5r",
+    "ButtonAudioTracks": "Audio tracks",
+    "ButtonPreviousTrack": "Previous track",
+    "ButtonNextTrack": "Next track",
     "ButtonStop": "Stopp",
     "ButtonStop": "Stopp",
     "ButtonPause": "Paus",
     "ButtonPause": "Paus",
     "LabelGroupMoviesIntoCollections": "Gruppera filmer i samlingsboxar",
     "LabelGroupMoviesIntoCollections": "Gruppera filmer i samlingsboxar",
@@ -874,5 +875,14 @@
     "LabelMatchType": "Match type:",
     "LabelMatchType": "Match type:",
     "OptionEquals": "Equals",
     "OptionEquals": "Equals",
     "OptionRegex": "Regex",
     "OptionRegex": "Regex",
-    "OptionSubstring": "Substring"
+    "OptionSubstring": "Substring",
+    "TabView": "View",
+    "TabSort": "Sort",
+    "TabFilter": "Filter",
+    "ButtonView": "View",
+    "LabelPageSize": "Item limit:",
+    "LabelView": "View:",
+    "TabUsers": "Users",
+    "HeaderFeatures": "Features",
+    "HeaderAdvanced": "Advanced"
 }
 }

+ 15 - 5
MediaBrowser.Server.Implementations/Localization/Server/vi.json

@@ -190,7 +190,7 @@
     "HeaderStatus": "Tr\u1ea1ng th\u00e1i",
     "HeaderStatus": "Tr\u1ea1ng th\u00e1i",
     "OptionContinuing": "Continuing",
     "OptionContinuing": "Continuing",
     "OptionEnded": "Ended",
     "OptionEnded": "Ended",
-    "HeaderAirDays": "Air Days:",
+    "HeaderAirDays": "Air Days",
     "OptionSunday": "Ch\u1ee7 Nh\u1eadt",
     "OptionSunday": "Ch\u1ee7 Nh\u1eadt",
     "OptionMonday": "Th\u1ee9 Hai",
     "OptionMonday": "Th\u1ee9 Hai",
     "OptionTuesday": "Tuesday",
     "OptionTuesday": "Tuesday",
@@ -199,6 +199,7 @@
     "OptionFriday": "Friday",
     "OptionFriday": "Friday",
     "OptionSaturday": "Th\u1ee9 B\u1ea3y",
     "OptionSaturday": "Th\u1ee9 B\u1ea3y",
     "HeaderManagement": "Qu\u1ea3n l\u00fd:",
     "HeaderManagement": "Qu\u1ea3n l\u00fd:",
+    "LabelManagement": "Management:",
     "OptionMissingImdbId": "Thi\u1ebfu IMDb ID",
     "OptionMissingImdbId": "Thi\u1ebfu IMDb ID",
     "OptionMissingTvdbId": "Missing TheTVDB Id",
     "OptionMissingTvdbId": "Missing TheTVDB Id",
     "OptionMissingOverview": "Missing Overview",
     "OptionMissingOverview": "Missing Overview",
@@ -256,11 +257,11 @@
     "ButtonSelectDirectory": "L\u1ef1a ch\u1ecdn tr\u1ef1c ti\u1ebfp",
     "ButtonSelectDirectory": "L\u1ef1a ch\u1ecdn tr\u1ef1c ti\u1ebfp",
     "LabelCustomPaths": "Specify custom paths where desired. Leave fields empty to use the defaults.",
     "LabelCustomPaths": "Specify custom paths where desired. Leave fields empty to use the defaults.",
     "LabelCachePath": "Cache path:",
     "LabelCachePath": "Cache path:",
-    "LabelCachePathHelp": "This folder contains server cache files, such as images.",
+    "LabelCachePathHelp": "Specify a custom location for server cache files, such as images.",
     "LabelImagesByNamePath": "Images by name path:",
     "LabelImagesByNamePath": "Images by name path:",
-    "LabelImagesByNamePathHelp": "This folder contains downloaded actor, artist, genre and studio images.",
+    "LabelImagesByNamePathHelp": "Specify a custom location for downloaded actor, artist, genre and studio images.",
     "LabelMetadataPath": "Metadata path:",
     "LabelMetadataPath": "Metadata path:",
-    "LabelMetadataPathHelp": "This location contains downloaded artwork and metadata that is not configured to be stored in media folders.",
+    "LabelMetadataPathHelp": "Specify a custom location for downloaded artwork and metadata, if not saving within media folders.",
     "LabelTranscodingTempPath": "Transcoding temporary path:",
     "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.",
     "LabelTranscodingTempPathHelp": "This folder contains working files used by the transcoder. Specify a custom path, or leave empty to use the default within the server's data folder.",
     "TabBasics": "Basics",
     "TabBasics": "Basics",
@@ -874,5 +875,14 @@
     "LabelMatchType": "Match type:",
     "LabelMatchType": "Match type:",
     "OptionEquals": "Equals",
     "OptionEquals": "Equals",
     "OptionRegex": "Regex",
     "OptionRegex": "Regex",
-    "OptionSubstring": "Substring"
+    "OptionSubstring": "Substring",
+    "TabView": "View",
+    "TabSort": "Sort",
+    "TabFilter": "Filter",
+    "ButtonView": "View",
+    "LabelPageSize": "Item limit:",
+    "LabelView": "View:",
+    "TabUsers": "Users",
+    "HeaderFeatures": "Features",
+    "HeaderAdvanced": "Advanced"
 }
 }

+ 13 - 3
MediaBrowser.Server.Implementations/Localization/Server/zh_TW.json

@@ -199,6 +199,7 @@
     "OptionFriday": "\u661f\u671f\u4e94",
     "OptionFriday": "\u661f\u671f\u4e94",
     "OptionSaturday": "\u661f\u671f\u516d",
     "OptionSaturday": "\u661f\u671f\u516d",
     "HeaderManagement": "\u7ba1\u7406\uff1a",
     "HeaderManagement": "\u7ba1\u7406\uff1a",
+    "LabelManagement": "Management:",
     "OptionMissingImdbId": "\u7f3a\u5c11IMDB\u7de8\u865f",
     "OptionMissingImdbId": "\u7f3a\u5c11IMDB\u7de8\u865f",
     "OptionMissingTvdbId": "\u7f3a\u5c11TheTVDB\u7de8\u865f",
     "OptionMissingTvdbId": "\u7f3a\u5c11TheTVDB\u7de8\u865f",
     "OptionMissingOverview": "\u7f3a\u5c11\u6982\u8ff0",
     "OptionMissingOverview": "\u7f3a\u5c11\u6982\u8ff0",
@@ -260,7 +261,7 @@
     "LabelImagesByNamePath": "\u540d\u7a31\u5716\u50cf\u6587\u4ef6\u593e\u8def\u5f91\uff1a",
     "LabelImagesByNamePath": "\u540d\u7a31\u5716\u50cf\u6587\u4ef6\u593e\u8def\u5f91\uff1a",
     "LabelImagesByNamePathHelp": "\u6b64\u6587\u4ef6\u593e\u5305\u542b\u6f14\u54e1\uff0c\u6b4c\u624b\uff0c\u5a92\u9ad4\u7a2e\u985e\u548c\u5de5\u4f5c\u5ba4\u7684\u5716\u50cf\u3002",
     "LabelImagesByNamePathHelp": "\u6b64\u6587\u4ef6\u593e\u5305\u542b\u6f14\u54e1\uff0c\u6b4c\u624b\uff0c\u5a92\u9ad4\u7a2e\u985e\u548c\u5de5\u4f5c\u5ba4\u7684\u5716\u50cf\u3002",
     "LabelMetadataPath": "\u5a92\u9ad4\u8cc7\u6599\u6587\u4ef6\u593e\u8def\u5f91\uff1a",
     "LabelMetadataPath": "\u5a92\u9ad4\u8cc7\u6599\u6587\u4ef6\u593e\u8def\u5f91\uff1a",
-    "LabelMetadataPathHelp": "This location contains downloaded artwork and metadata that is not configured to be stored in media folders.",
+    "LabelMetadataPathHelp": "Specify a custom location for downloaded artwork and metadata, if not saving within media folders.",
     "LabelTranscodingTempPath": "\u8f49\u78bc\u81e8\u6642\u8def\u5f91\uff1a",
     "LabelTranscodingTempPath": "\u8f49\u78bc\u81e8\u6642\u8def\u5f91\uff1a",
     "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.",
     "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": "\u57fa\u672c",
     "TabBasics": "\u57fa\u672c",
@@ -396,7 +397,7 @@
     "HeaderCastCrew": "\u62cd\u651d\u4eba\u54e1\u53ca\u6f14\u54e1",
     "HeaderCastCrew": "\u62cd\u651d\u4eba\u54e1\u53ca\u6f14\u54e1",
     "HeaderAdditionalParts": "\u9644\u52a0\u90e8\u4efd",
     "HeaderAdditionalParts": "\u9644\u52a0\u90e8\u4efd",
     "ButtonSplitVersionsApart": "Split Versions Apart",
     "ButtonSplitVersionsApart": "Split Versions Apart",
-    "ButtonPlayTrailer": "\u9810\u544a",
+    "ButtonPlayTrailer": "Trailer",
     "LabelMissing": "\u7f3a\u5c11",
     "LabelMissing": "\u7f3a\u5c11",
     "LabelOffline": "\u96e2\u7dda",
     "LabelOffline": "\u96e2\u7dda",
     "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.",
     "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.",
@@ -874,5 +875,14 @@
     "LabelMatchType": "Match type:",
     "LabelMatchType": "Match type:",
     "OptionEquals": "Equals",
     "OptionEquals": "Equals",
     "OptionRegex": "Regex",
     "OptionRegex": "Regex",
-    "OptionSubstring": "Substring"
+    "OptionSubstring": "Substring",
+    "TabView": "View",
+    "TabSort": "Sort",
+    "TabFilter": "Filter",
+    "ButtonView": "View",
+    "LabelPageSize": "Item limit:",
+    "LabelView": "View:",
+    "TabUsers": "Users",
+    "HeaderFeatures": "Features",
+    "HeaderAdvanced": "Advanced"
 }
 }

+ 4 - 3
MediaBrowser.Server.Implementations/ServerManager/ServerManager.cs

@@ -249,13 +249,13 @@ namespace MediaBrowser.Server.Implementations.ServerManager
                 _logger.Info("Sending web socket message {0}", messageType);
                 _logger.Info("Sending web socket message {0}", messageType);
 
 
                 var message = new WebSocketMessage<T> { MessageType = messageType, Data = dataFunction() };
                 var message = new WebSocketMessage<T> { MessageType = messageType, Data = dataFunction() };
-                var bytes = _jsonSerializer.SerializeToBytes(message);
+                var json = _jsonSerializer.SerializeToString(message);
 
 
                 var tasks = connectionsList.Select(s => Task.Run(() =>
                 var tasks = connectionsList.Select(s => Task.Run(() =>
                 {
                 {
                     try
                     try
                     {
                     {
-                        s.SendAsync(bytes, cancellationToken);
+                        s.SendAsync(json, cancellationToken);
                     }
                     }
                     catch (OperationCanceledException)
                     catch (OperationCanceledException)
                     {
                     {
@@ -265,7 +265,8 @@ namespace MediaBrowser.Server.Implementations.ServerManager
                     {
                     {
                         _logger.ErrorException("Error sending web socket message {0} to {1}", ex, messageType, s.RemoteEndPoint);
                         _logger.ErrorException("Error sending web socket message {0} to {1}", ex, messageType, s.RemoteEndPoint);
                     }
                     }
-                }));
+
+                }, cancellationToken));
 
 
                 await Task.WhenAll(tasks).ConfigureAwait(false);
                 await Task.WhenAll(tasks).ConfigureAwait(false);
             }
             }

+ 38 - 16
MediaBrowser.Server.Implementations/ServerManager/WebSocketConnection.cs

@@ -194,9 +194,9 @@ namespace MediaBrowser.Server.Implementations.ServerManager
                 throw new ArgumentNullException("message");
                 throw new ArgumentNullException("message");
             }
             }
 
 
-            var bytes = _jsonSerializer.SerializeToBytes(message);
+            var json = _jsonSerializer.SerializeToString(message);
 
 
-            return SendAsync(bytes, cancellationToken);
+            return SendAsync(json, cancellationToken);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -205,24 +205,46 @@ namespace MediaBrowser.Server.Implementations.ServerManager
         /// <param name="buffer">The buffer.</param>
         /// <param name="buffer">The buffer.</param>
         /// <param name="cancellationToken">The cancellation token.</param>
         /// <param name="cancellationToken">The cancellation token.</param>
         /// <returns>Task.</returns>
         /// <returns>Task.</returns>
-        public Task SendAsync(byte[] buffer, CancellationToken cancellationToken)
+        public async Task SendAsync(byte[] buffer, CancellationToken cancellationToken)
         {
         {
-            return SendAsync(buffer, WebSocketMessageType.Text, cancellationToken);
+            if (buffer == null)
+            {
+                throw new ArgumentNullException("buffer");
+            }
+
+            cancellationToken.ThrowIfCancellationRequested();
+
+            // Per msdn docs, attempting to send simultaneous messages will result in one failing.
+            // This should help us workaround that and ensure all messages get sent
+            await _sendSemaphore.WaitAsync(cancellationToken).ConfigureAwait(false);
+
+            try
+            {
+                await _socket.SendAsync(buffer, true, cancellationToken);
+            }
+            catch (OperationCanceledException)
+            {
+                _logger.Info("WebSocket message to {0} was cancelled", RemoteEndPoint);
+
+                throw;
+            }
+            catch (Exception ex)
+            {
+                _logger.ErrorException("Error sending WebSocket message {0}", ex, RemoteEndPoint);
+
+                throw;
+            }
+            finally
+            {
+                _sendSemaphore.Release();
+            }
         }
         }
 
 
-        /// <summary>
-        /// Sends a message asynchronously.
-        /// </summary>
-        /// <param name="buffer">The buffer.</param>
-        /// <param name="type">The type.</param>
-        /// <param name="cancellationToken">The cancellation token.</param>
-        /// <returns>Task.</returns>
-        /// <exception cref="System.ArgumentNullException">buffer</exception>
-        public async Task SendAsync(byte[] buffer, WebSocketMessageType type, CancellationToken cancellationToken)
+        public async Task SendAsync(string text, CancellationToken cancellationToken)
         {
         {
-            if (buffer == null)
+            if (string.IsNullOrWhiteSpace(text))
             {
             {
-                throw new ArgumentNullException("buffer");
+                throw new ArgumentNullException("text");
             }
             }
 
 
             cancellationToken.ThrowIfCancellationRequested();
             cancellationToken.ThrowIfCancellationRequested();
@@ -233,7 +255,7 @@ namespace MediaBrowser.Server.Implementations.ServerManager
 
 
             try
             try
             {
             {
-                await _socket.SendAsync(buffer, type, true, cancellationToken);
+                await _socket.SendAsync(text, true, cancellationToken);
             }
             }
             catch (OperationCanceledException)
             catch (OperationCanceledException)
             {
             {

+ 3 - 19
MediaBrowser.ServerApplication/ApplicationHost.cs

@@ -208,12 +208,13 @@ namespace MediaBrowser.ServerApplication
         private IUserViewManager UserViewManager { get; set; }
         private IUserViewManager UserViewManager { get; set; }
 
 
         private IAuthenticationRepository AuthenticationRepository { get; set; }
         private IAuthenticationRepository AuthenticationRepository { get; set; }
-        
+
         /// <summary>
         /// <summary>
-        /// Initializes a new instance of the <see cref="ApplicationHost"/> class.
+        /// Initializes a new instance of the <see cref="ApplicationHost" /> class.
         /// </summary>
         /// </summary>
         /// <param name="applicationPaths">The application paths.</param>
         /// <param name="applicationPaths">The application paths.</param>
         /// <param name="logManager">The log manager.</param>
         /// <param name="logManager">The log manager.</param>
+        /// <param name="isRunningAsService">if set to <c>true</c> [is running as service].</param>
         public ApplicationHost(ServerApplicationPaths applicationPaths, ILogManager logManager, bool isRunningAsService)
         public ApplicationHost(ServerApplicationPaths applicationPaths, ILogManager logManager, bool isRunningAsService)
             : base(applicationPaths, logManager)
             : base(applicationPaths, logManager)
         {
         {
@@ -284,7 +285,6 @@ namespace MediaBrowser.ServerApplication
             await base.Init(progress).ConfigureAwait(false);
             await base.Init(progress).ConfigureAwait(false);
 
 
             MigrateModularConfigurations();
             MigrateModularConfigurations();
-            ApplyDefaultMetadataSettings();
         }
         }
 
 
         private void PerformVersionMigration()
         private void PerformVersionMigration()
@@ -330,21 +330,6 @@ namespace MediaBrowser.ServerApplication
             }
             }
         }
         }
 
 
-        private void ApplyDefaultMetadataSettings()
-        {
-            if (!ServerConfigurationManager.Configuration.DefaultMetadataSettingsApplied &&
-                ServerConfigurationManager.Configuration.IsStartupWizardCompleted)
-            {
-                // Make sure xbmc metadata is disabled for existing users.
-                // New users will be handled by the startup wizard.
-
-                ServerConfigurationManager.DisableMetadataService("Xbmc Nfo");
-            }
-
-            ServerConfigurationManager.Configuration.DefaultMetadataSettingsApplied = true;
-            ServerConfigurationManager.SaveConfiguration();
-        }
-
         private void DeleteDeprecatedModules()
         private void DeleteDeprecatedModules()
         {
         {
             try
             try
@@ -1111,7 +1096,6 @@ namespace MediaBrowser.ServerApplication
                 ServerAuthorization.AuthorizeServer(
                 ServerAuthorization.AuthorizeServer(
                     ServerConfigurationManager.Configuration.HttpServerPortNumber,
                     ServerConfigurationManager.Configuration.HttpServerPortNumber,
                     HttpServerUrlPrefixes.First(),
                     HttpServerUrlPrefixes.First(),
-                    ServerConfigurationManager.Configuration.LegacyWebSocketPortNumber,
                     UdpServerEntryPoint.PortNumber,
                     UdpServerEntryPoint.PortNumber,
                     ConfigurationManager.CommonApplicationPaths.TempDirectory);
                     ConfigurationManager.CommonApplicationPaths.TempDirectory);
             }
             }

+ 1 - 7
MediaBrowser.ServerApplication/MainStartup.cs

@@ -194,13 +194,7 @@ namespace MediaBrowser.ServerApplication
         private static void BeginLog(ILogger logger, IApplicationPaths appPaths)
         private static void BeginLog(ILogger logger, IApplicationPaths appPaths)
         {
         {
             logger.Info("Media Browser Server started");
             logger.Info("Media Browser Server started");
-            logger.Info("Command line: {0}", string.Join(" ", Environment.GetCommandLineArgs()));
-
-            logger.Info("Server: {0}", Environment.MachineName);
-            logger.Info("Operating system: {0}", Environment.OSVersion.ToString());
-            logger.Info("Program data path: {0}", appPaths.ProgramDataPath);
-
-            logger.Info("Application Path: {0}", appPaths.ApplicationPath);
+            ApplicationHost.LogEnvironmentInfo(logger, appPaths);
         }
         }
 
 
         private static readonly TaskCompletionSource<bool> ApplicationTaskCompletionSource = new TaskCompletionSource<bool>();
         private static readonly TaskCompletionSource<bool> ApplicationTaskCompletionSource = new TaskCompletionSource<bool>();

+ 0 - 6
MediaBrowser.ServerApplication/Native/RegisterServer.bat

@@ -1,7 +1,6 @@
 rem %1 = http server port
 rem %1 = http server port
 rem %2 = http server url
 rem %2 = http server url
 rem %3 = udp server port
 rem %3 = udp server port
-rem %4 = tcp server port (web socket)
 
 
 if [%1]==[] GOTO DONE
 if [%1]==[] GOTO DONE
 
 
@@ -18,11 +17,6 @@ if [%3]==[] GOTO DONE
 netsh advfirewall firewall delete rule name="Port %3" protocol=UDP localport=%3
 netsh advfirewall firewall delete rule name="Port %3" protocol=UDP localport=%3
 netsh advfirewall firewall add rule name="Port %3" dir=in action=allow protocol=UDP localport=%3
 netsh advfirewall firewall add rule name="Port %3" dir=in action=allow protocol=UDP localport=%3
 
 
-if [%4]==[] GOTO DONE
-
-netsh advfirewall firewall delete rule name="Port %4" protocol=TCP localport=%4
-netsh advfirewall firewall add rule name="Port %4" dir=in action=allow protocol=TCP localport=%4
-
 
 
 :DONE
 :DONE
 Exit
 Exit

+ 3 - 5
MediaBrowser.ServerApplication/Native/ServerAuthorization.cs

@@ -15,10 +15,9 @@ namespace MediaBrowser.ServerApplication.Native
         /// </summary>
         /// </summary>
         /// <param name="httpServerPort">The HTTP server port.</param>
         /// <param name="httpServerPort">The HTTP server port.</param>
         /// <param name="httpServerUrlPrefix">The HTTP server URL prefix.</param>
         /// <param name="httpServerUrlPrefix">The HTTP server URL prefix.</param>
-        /// <param name="webSocketPort">The web socket port.</param>
         /// <param name="udpPort">The UDP port.</param>
         /// <param name="udpPort">The UDP port.</param>
         /// <param name="tempDirectory">The temp directory.</param>
         /// <param name="tempDirectory">The temp directory.</param>
-        public static void AuthorizeServer(int httpServerPort, string httpServerUrlPrefix, int webSocketPort, int udpPort, string tempDirectory)
+        public static void AuthorizeServer(int httpServerPort, string httpServerUrlPrefix, int udpPort, string tempDirectory)
         {
         {
             Directory.CreateDirectory(tempDirectory);
             Directory.CreateDirectory(tempDirectory);
 
 
@@ -38,10 +37,9 @@ namespace MediaBrowser.ServerApplication.Native
             {
             {
                 FileName = tmpFile,
                 FileName = tmpFile,
 
 
-                Arguments = string.Format("{0} {1} {2} {3}", httpServerPort,
+                Arguments = string.Format("{0} {1} {2}", httpServerPort,
                 httpServerUrlPrefix,
                 httpServerUrlPrefix,
-                udpPort,
-                webSocketPort),
+                udpPort),
 
 
                 CreateNoWindow = true,
                 CreateNoWindow = true,
                 WindowStyle = ProcessWindowStyle.Hidden,
                 WindowStyle = ProcessWindowStyle.Hidden,

+ 0 - 7
MediaBrowser.Tests/Providers/MovieDbProviderTests.cs

@@ -1,5 +1,4 @@
 using MediaBrowser.Controller.Providers;
 using MediaBrowser.Controller.Providers;
-using MediaBrowser.Providers.Movies;
 using Microsoft.VisualStudio.TestTools.UnitTesting;
 using Microsoft.VisualStudio.TestTools.UnitTesting;
 
 
 namespace MediaBrowser.Tests.Providers {
 namespace MediaBrowser.Tests.Providers {
@@ -20,12 +19,6 @@ namespace MediaBrowser.Tests.Providers {
             Assert.AreEqual("My Movie 2", name);
             Assert.AreEqual("My Movie 2", name);
             Assert.AreEqual(2013, year);
             Assert.AreEqual(2013, year);
 
 
-            name = string.Empty;
-            year = null;
-            NameParser.ParseName("2013 - My Movie 2", out name, out year);
-            Assert.AreEqual(2013, year);
-            Assert.AreEqual("My Movie 2", name);
-
             name = string.Empty;
             name = string.Empty;
             year = null;
             year = null;
             NameParser.ParseName("My Movie 2001 (2013)", out name, out year);
             NameParser.ParseName("My Movie 2001 (2013)", out name, out year);

+ 1 - 1
MediaBrowser.Tests/Resolvers/TvUtilTests.cs

@@ -9,7 +9,7 @@ namespace MediaBrowser.Tests.Resolvers
         [TestMethod]
         [TestMethod]
         public void TestGetEpisodeNumberFromFile()
         public void TestGetEpisodeNumberFromFile()
         {
         {
-            Assert.AreEqual(03, TVUtils.GetEpisodeNumberFromFile(@"S02E03 blah.avi", true));
+            Assert.AreEqual(03, TVUtils.GetEpisodeNumberFromFile(@"Season 02\S02E03 blah.avi", true));
 
 
             Assert.AreEqual(02, TVUtils.GetEpisodeNumberFromFile(@"Season 1\01x02 blah.avi", true));
             Assert.AreEqual(02, TVUtils.GetEpisodeNumberFromFile(@"Season 1\01x02 blah.avi", true));
             Assert.AreEqual(02, TVUtils.GetEpisodeNumberFromFile(@"Season 1\S01x02 blah.avi", true));
             Assert.AreEqual(02, TVUtils.GetEpisodeNumberFromFile(@"Season 1\S01x02 blah.avi", true));

+ 1 - 3
MediaBrowser.WebDashboard/Api/DashboardService.cs

@@ -446,7 +446,7 @@ namespace MediaBrowser.WebDashboard.Api
             var newLineBytes = Encoding.UTF8.GetBytes(Environment.NewLine);
             var newLineBytes = Encoding.UTF8.GetBytes(Environment.NewLine);
 
 
             // jQuery + jQuery mobile
             // jQuery + jQuery mobile
-            await AppendResource(memoryStream, "thirdparty/jquery-2.0.3.min.js", newLineBytes).ConfigureAwait(false);
+            await AppendResource(memoryStream, "thirdparty/jquery-2.1.1.min.js", newLineBytes).ConfigureAwait(false);
             await AppendResource(memoryStream, "thirdparty/jquerymobile-1.4.3/jquery.mobile-1.4.3.min.js", newLineBytes).ConfigureAwait(false);
             await AppendResource(memoryStream, "thirdparty/jquerymobile-1.4.3/jquery.mobile-1.4.3.min.js", newLineBytes).ConfigureAwait(false);
 
 
             await AppendResource(memoryStream, "thirdparty/jquery.unveil-custom.js", newLineBytes).ConfigureAwait(false);
             await AppendResource(memoryStream, "thirdparty/jquery.unveil-custom.js", newLineBytes).ConfigureAwait(false);
@@ -534,8 +534,6 @@ namespace MediaBrowser.WebDashboard.Api
                                 "alphapicker.js",
                                 "alphapicker.js",
                                 "addpluginpage.js",
                                 "addpluginpage.js",
                                 "advancedconfigurationpage.js",
                                 "advancedconfigurationpage.js",
-                                "advancedpaths.js",
-                                "advancedserversettings.js",
                                 "metadataadvanced.js",
                                 "metadataadvanced.js",
                                 "appsplayback.js",
                                 "appsplayback.js",
                                 "autoorganizetv.js",
                                 "autoorganizetv.js",

+ 3 - 12
MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj

@@ -89,12 +89,6 @@
     <EmbeddedResource Include="dashboard-ui\thirdparty\mediabrowser.apiclient.js">
     <EmbeddedResource Include="dashboard-ui\thirdparty\mediabrowser.apiclient.js">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </EmbeddedResource>
     </EmbeddedResource>
-    <Content Include="dashboard-ui\advancedpaths.html">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="dashboard-ui\advancedserversettings.html">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
     <Content Include="dashboard-ui\appsplayback.html">
     <Content Include="dashboard-ui\appsplayback.html">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
     </Content>
@@ -590,12 +584,6 @@
     <Content Include="dashboard-ui\nowplaying.html">
     <Content Include="dashboard-ui\nowplaying.html">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
     </Content>
-    <Content Include="dashboard-ui\scripts\advancedpaths.js">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="dashboard-ui\scripts\advancedserversettings.js">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
     <Content Include="dashboard-ui\scripts\appsplayback.js">
     <Content Include="dashboard-ui\scripts\appsplayback.js">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
     </Content>
@@ -800,6 +788,9 @@
     <Content Include="dashboard-ui\thirdparty\jquery-2.0.3.min.js">
     <Content Include="dashboard-ui\thirdparty\jquery-2.0.3.min.js">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
     </Content>
+    <Content Include="dashboard-ui\thirdparty\jquery-2.1.1.min.js">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
     <Content Include="dashboard-ui\thirdparty\jquery.unveil-custom.js">
     <Content Include="dashboard-ui\thirdparty\jquery.unveil-custom.js">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
     </Content>

Some files were not shown because too many files changed in this diff