Browse Source

update ConnectionManager

Luke Pulverenti 10 years ago
parent
commit
c8f24fc93a

+ 3 - 3
MediaBrowser.Api/Playback/BaseStreamingService.cs

@@ -1656,7 +1656,7 @@ namespace MediaBrowser.Api.Playback
                     state.OutputVideoCodec = "copy";
                 }
 
-                if (state.AudioStream != null && CanStreamCopyAudio(request, state.AudioStream, state.SupportedAudioCodecs))
+                if (state.AudioStream != null && CanStreamCopyAudio(videoRequest, state.AudioStream, state.SupportedAudioCodecs))
                 {
                     state.OutputAudioCodec = "copy";
                 }
@@ -1831,7 +1831,7 @@ namespace MediaBrowser.Api.Playback
             return request.EnableAutoStreamCopy;
         }
 
-        private bool CanStreamCopyAudio(StreamRequest request, MediaStream audioStream, List<string> supportedAudioCodecs)
+        private bool CanStreamCopyAudio(VideoStreamRequest request, MediaStream audioStream, List<string> supportedAudioCodecs)
         {
             // Source and target codecs must match
             if (string.IsNullOrEmpty(audioStream.Codec) || !supportedAudioCodecs.Contains(audioStream.Codec, StringComparer.OrdinalIgnoreCase))
@@ -1879,7 +1879,7 @@ namespace MediaBrowser.Api.Playback
                 }
             }
 
-            return true;
+            return request.EnableAutoStreamCopy;
         }
 
         private void ApplyDeviceProfileSettings(StreamState state)

+ 13 - 2
MediaBrowser.Model/ApiClient/IConnectionManager.cs

@@ -1,5 +1,6 @@
 using MediaBrowser.Model.Dto;
 using MediaBrowser.Model.Events;
+using MediaBrowser.Model.Users;
 using System;
 using System.Threading;
 using System.Threading.Tasks;
@@ -50,13 +51,23 @@ namespace MediaBrowser.Model.ApiClient
         Task<ConnectionResult> Logout();
 
         /// <summary>
-        /// Authenticates the specified server.
+        /// Authenticates with a specific server
         /// </summary>
         /// <param name="server">The server.</param>
         /// <param name="username">The username.</param>
         /// <param name="hash">The hash.</param>
         /// <param name="rememberLogin">if set to <c>true</c> [remember login].</param>
         /// <returns>Task.</returns>
-        Task Authenticate(ServerInfo server, string username, byte[] hash, bool rememberLogin);
+        Task<AuthenticationResult> Authenticate(ServerInfo server, string username, byte[] hash, bool rememberLogin);
+
+        /// <summary>
+        /// Authenticates with a specific server
+        /// </summary>
+        /// <param name="apiClient">The API client.</param>
+        /// <param name="username">The username.</param>
+        /// <param name="hash">The hash.</param>
+        /// <param name="rememberLogin">if set to <c>true</c> [remember login].</param>
+        /// <returns>Task.</returns>
+        Task<AuthenticationResult> Authenticate(IApiClient apiClient, string username, byte[] hash, bool rememberLogin);
     }
 }

+ 13 - 3
MediaBrowser.Model/ApiClient/ServerInfo.cs

@@ -11,13 +11,23 @@ namespace MediaBrowser.Model.ApiClient
         public String RemoteAddress { get; set; }
         public String UserId { get; set; }
         public String AccessToken { get; set; }
-        public List<string> MacAddresses { get; set; }
+        public List<WakeOnLanInfo> WakeOnLanInfos { get; set; }
 
         public ServerInfo()
         {
-            MacAddresses = new List<string>();
-
+            WakeOnLanInfos = new List<WakeOnLanInfo>();
             LocalAddress = "http://localhost:8096";
         }
     }
+
+    public class WakeOnLanInfo
+    {
+        public string MacAddress { get; set; }
+        public int Port { get; set; }
+
+        public WakeOnLanInfo()
+        {
+            Port = 9;
+        }
+    }
 }

+ 2 - 0
MediaBrowser.Server.Implementations/FileOrganization/NameUtils.cs

@@ -63,6 +63,8 @@ namespace MediaBrowser.Server.Implementations.FileOrganization
 
             name = name.Replace(".", " ")
             .Replace("_", " ")
+            .Replace(" and ", " ")
+            .Replace(".and.", " ")
             .Replace("&", " ")
             .Replace("!", " ")
             .Replace("(", " ")

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

@@ -9,14 +9,14 @@
     "DeleteImageConfirmation": "\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0439 \u0440\u0438\u0441\u0443\u043d\u043e\u043a?",
     "FileReadCancelled": "\u0427\u0442\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 \u0431\u044b\u043b\u043e \u043e\u0442\u043c\u0435\u043d\u0435\u043d\u043e.",
     "FileNotFound": "\u0424\u0430\u0439\u043b \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d.",
-    "FileReadError": "\u0412\u043e \u0432\u0440\u0435\u043c\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u0430 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430",
+    "FileReadError": "\u041f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0447\u0442\u0435\u043d\u0438\u0438 \u0444\u0430\u0439\u043b\u0430.",
     "DeleteUser": "\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f",
     "DeleteUserConfirmation": "\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f?",
     "PasswordResetHeader": "\u0421\u0431\u0440\u043e\u0441 \u043f\u0430\u0440\u043e\u043b\u044f",
     "PasswordResetComplete": "\u041f\u0430\u0440\u043e\u043b\u044c \u0431\u044b\u043b \u0441\u0431\u0440\u043e\u0448\u0435\u043d.",
     "PasswordResetConfirmation": "\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u0441\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u044c?",
     "PasswordSaved": "\u041f\u0430\u0440\u043e\u043b\u044c \u0431\u044b\u043b \u0441\u043e\u0445\u0440\u0430\u043d\u0451\u043d.",
-    "PasswordMatchError": "\u041f\u0430\u0440\u043e\u043b\u044c \u0438 \u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u043e\u043b\u044f \u0434\u043e\u043b\u0436\u043d\u044b \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0442\u044c",
+    "PasswordMatchError": "\u041f\u0430\u0440\u043e\u043b\u044c \u0438 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u043e\u043b\u044f \u0434\u043e\u043b\u0436\u043d\u044b \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0442\u044c",
     "OptionRelease": "\u041e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a",
     "OptionBeta": "\u0411\u0435\u0442\u0430-\u0432\u0435\u0440\u0441\u0438\u044f",
     "OptionDev": "\u0420\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c\u0430\u044f (\u043d\u0435\u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e)",
@@ -26,7 +26,7 @@
     "NoPluginsInstalledMessage": "\u041d\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e \u043d\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u043b\u0430\u0433\u0438\u043d\u0430.",
     "BrowsePluginCatalogMessage": "\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432, \u0447\u0442\u043e\u0431\u044b \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u0438\u043c\u0435\u044e\u0449\u0438\u043c\u0438\u0441\u044f \u043f\u043b\u0430\u0433\u0438\u043d\u0430\u043c\u0438.",
     "MessageKeyEmailedTo": "\u041a\u043b\u044e\u0447 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u042d-\u043f\u043e\u0447\u0442\u043e\u0439 \u043a {0}.",
-    "MessageKeysLinked": "\u041a\u043b\u044e\u0447\u0438 \u0431\u044b\u043b\u0438 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u044b.",
+    "MessageKeysLinked": "\u041a\u043b\u044e\u0447\u0438 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u044b.",
     "HeaderConfirmation": "\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435",
     "MessageKeyUpdated": "\u041a\u043b\u044e\u0447 \u0441\u043f\u043e\u043d\u0441\u043e\u0440\u0430 \u0431\u044b\u043b \u043e\u0431\u043d\u043e\u0432\u043b\u0451\u043d.",
     "MessageKeyRemoved": "\u041a\u043b\u044e\u0447 \u0441\u043f\u043e\u043d\u0441\u043e\u0440\u0430 \u0431\u044b\u043b \u0443\u0434\u0430\u043b\u0451\u043d.",
@@ -159,8 +159,8 @@
     "MessageFileWillBeDeleted": "\u0411\u0443\u0434\u0435\u0442 \u0443\u0434\u0430\u043b\u0451\u043d \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0444\u0430\u0439\u043b:",
     "MessageSureYouWishToProceed": "\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c?",
     "MessageDuplicatesWillBeDeleted": "\u0412 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0431\u0443\u0434\u0443\u0442 \u0443\u0434\u0430\u043b\u0435\u043d\u044b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u044b:",
-    "MessageFollowingFileWillBeMovedFrom": "\u0411\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0451\u043d \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0444\u0430\u0439\u043b \u0438\u0437:",
-    "MessageDestinationTo": "\u0432:",
+    "MessageFollowingFileWillBeMovedFrom": "\u0411\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0451\u043d \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0444\u0430\u0439\u043b \u0441:",
+    "MessageDestinationTo": "\u043a:",
     "HeaderSelectWatchFolder": "\u0412\u044b\u0431\u043e\u0440 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0439 \u043f\u0430\u043f\u043a\u0438",
     "HeaderSelectWatchFolderHelp": "\u041d\u0430\u0439\u0434\u0438\u0442\u0435 \u0438\u043b\u0438 \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043f\u0443\u0442\u044c \u043a \u043f\u0430\u043f\u043a\u0435 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f. \u041f\u0430\u043f\u043a\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438.",
     "OrganizePatternResult": "\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: {0}",
@@ -250,7 +250,7 @@
     "HeaderDeleteItem": "\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430",
     "ConfirmDeleteItem": "\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0438\u0437 \u043c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0438?",
     "MessagePleaseEnterNameOrId": "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0438\u043b\u0438 \u0432\u043d\u0435\u0448\u043d\u0438\u0439 ID.",
-    "MessageValueNotCorrect": "\u0412\u0432\u0435\u0434\u0451\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0435\u0432\u0435\u0440\u043d\u043e. \u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0443.",
+    "MessageValueNotCorrect": "\u0412\u0432\u0435\u0434\u0451\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0435 \u0432\u0435\u0440\u043d\u043e. \u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0443.",
     "MessageItemSaved": "\u042d\u043b\u0435\u043c\u0435\u043d\u0442 \u0441\u043e\u0445\u0440\u0430\u043d\u0451\u043d.",
     "OptionEnded": "\u0417\u0430\u0432\u0435\u0440\u0448\u0438\u043b\u0441\u044f",
     "OptionContinuing": "\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442\u0441\u044f",
@@ -441,7 +441,7 @@
     "MessageInstallPluginFromApp": "\u0414\u0430\u043d\u043d\u044b\u0439 \u043f\u043b\u0430\u0433\u0438\u043d \u0434\u043e\u043b\u0436\u0435\u043d \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043d\u0430\u043c\u0435\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u0441 \u043d\u0438\u043c.",
     "ValuePriceUSD": "\u0426\u0435\u043d\u0430: {0} USD",
     "MessageFeatureIncludedWithSupporter": "\u0423 \u0432\u0430\u0441 \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0438 \u0431\u0443\u0434\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0442\u044c \u0435\u0451 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0447\u043b\u0435\u043d\u0441\u0442\u0432\u043e\u043c \u0441\u043f\u043e\u043d\u0441\u043e\u0440\u0430.",
-    "MessageChangeRecurringPlanConfirm": "\u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u0432\u0430\u043c \u0431\u0443\u0434\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u043f\u043e\u0436\u0435\u0440\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044f \u0447\u0435\u0440\u0435\u0437 \u0432\u0430\u0448\u0443 \u0443\u0447\u0451\u0442\u043d\u0443\u044e \u0437\u0430\u043f\u0438\u0441\u044c PayPal. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u0438\u043c \u0437\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 Media Browser!",
+    "MessageChangeRecurringPlanConfirm": "\u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u0432\u0430\u043c \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u043e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u043f\u043e\u0436\u0435\u0440\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044f \u0447\u0435\u0440\u0435\u0437 \u0432\u0430\u0448\u0443 \u0443\u0447\u0451\u0442\u043d\u0443\u044e \u0437\u0430\u043f\u0438\u0441\u044c PayPal. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u0438\u043c \u0437\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 Media Browser!",
     "MessageSupporterMembershipExpiredOn": "\u0412\u0430\u0448\u0435 \u0447\u043b\u0435\u043d\u0441\u0442\u0432\u043e \u0441\u043f\u043e\u043d\u0441\u043e\u0440\u0430 \u0438\u0441\u0442\u0435\u043a\u043b\u043e {0}.",
     "MessageYouHaveALifetimeMembership": "\u0423 \u0432\u0430\u0441 \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u043f\u043e\u0436\u0438\u0437\u043d\u0435\u043d\u043d\u043e\u0435 \u0447\u043b\u0435\u043d\u0441\u0442\u0432\u043e \u0441\u043f\u043e\u043d\u0441\u043e\u0440\u0430. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u043e\u0436\u0435\u0440\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u0440\u0430\u0437\u043e\u0432\u043e\u0439 \u0438\u043b\u0438 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e\u0439 \u043e\u0441\u043d\u043e\u0432\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043d\u0438\u0436\u0435\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u0438\u043c \u0437\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 Media Browser!",
     "MessageYouHaveAnActiveRecurringMembership": "\u0423 \u0432\u0430\u0441 \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 {0} \u0447\u043b\u0435\u043d\u0441\u0442\u0432\u043e. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0432\u043e\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u043b\u0430\u0442\u0435\u0436\u0435\u0439 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043d\u0438\u0436\u0435\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439.",

+ 25 - 25
MediaBrowser.Server.Implementations/Localization/Server/hr.json

@@ -729,31 +729,31 @@
     "PleaseUpdateManually": "Molimo ugasite server i a\u017eurirati ru\u010dno",
     "NewServerVersionAvailable": "Nova verzija Media Browser-a je dostupna!",
     "ServerUpToDate": "Media Browser Server je ve\u0107 na trenutnoj verziji",
-    "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",
+    "ErrorConnectingToMediaBrowserRepository": "Dogodila se gre\u0161ka prilikom spajanja na Media Browser repozitorij.",
+    "LabelComponentsUpdated": "Sljede\u0107e komponente su instalirane ili a\u017eurirane.",
+    "MessagePleaseRestartServerToFinishUpdating": "Molimo ponovo pokrenite server kako bi se zavr\u0161ila a\u017euriranja.",
+    "LabelDownMixAudioScale": "Poja\u010daj zvuk kada radi\u0161 downmix:",
+    "LabelDownMixAudioScaleHelp": "Poja\u010daj zvuk kada radi\u0161 downmix. Postavi na 1 ako \u017eeli\u0161 zadr\u017eati orginalnu ja\u010dinu zvuka.",
+    "ButtonLinkKeys": "Klju\u010devi poveznice",
+    "LabelOldSupporterKey": "Stari klju\u010devi podr\u0161ke",
+    "LabelNewSupporterKey": "Novi klju\u010devi podr\u0161ke",
+    "HeaderMultipleKeyLinking": "Poveznice vi\u0161e klju\u010deva",
+    "MultipleKeyLinkingHelp": "Ako imate vi\u0161e od jednog klju\u010da podr\u0161ke, koristite ovaj formular kako bi povezali stare klju\u010deve podr\u0161ke sa novima.",
+    "LabelCurrentEmailAddress": "Trenutna e-mail adresa",
+    "LabelCurrentEmailAddressHelp": "Trenutna e-mail adresa na koju je poslan novi klju\u010d.",
+    "HeaderForgotKey": "Zaboravili ste klju\u010d",
+    "LabelEmailAddress": "E-mail adresa",
+    "LabelSupporterEmailAddress": "E-mail adresa koja je kori\u0161tena za nabavku klju\u010da",
+    "ButtonRetrieveKey": "Dohvati klju\u010d",
+    "LabelSupporterKey": "Klju\u010d podr\u0161ke (zaljepi iz e-maila)",
+    "LabelSupporterKeyHelp": "Unesite va\u0161 klju\u010d podr\u0161ke kako bi u\u017eivali u dodatnim beneficijima koje je zajednica izradila za Media Browser.",
+    "MessageInvalidKey": "Klju\u010d podr\u0161ke nedostaje ili je neispravan.",
+    "ErrorMessageInvalidKey": "Ako \u017eelite registrirati bilo koji premium sadr\u017eaj morate biti registrirani i podr\u017eavatelji Media Browser aplikacije. Molimo donirajte i podr\u017eite Media Browser kako bi se nastavio razvijati i dogra\u0111ivati novim mog\u0107nostima. Hvala.",
+    "HeaderDisplaySettings": "Postavke prikaza",
+    "TabPlayTo": "Izvedi na",
+    "LabelEnableDlnaServer": "Omogu\u0107i Dlna server",
+    "LabelEnableDlnaServerHelp": "Omogu\u0107i svojim UPnP ure\u0111ajima na mre\u017ei da pretra\u017euji i reproduciraju Media Browser sadr\u017eaj.",
+    "LabelEnableBlastAliveMessages": "Objavi poruke dostupnosti",
     "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.",

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


+ 2 - 2
Nuget/MediaBrowser.Common.Internal.nuspec

@@ -2,7 +2,7 @@
 <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
     <metadata>
         <id>MediaBrowser.Common.Internal</id>
-        <version>3.0.457</version>
+        <version>3.0.460</version>
         <title>MediaBrowser.Common.Internal</title>
         <authors>Luke</authors>
         <owners>ebr,Luke,scottisafool</owners>
@@ -12,7 +12,7 @@
         <description>Contains common components shared by Media Browser Theater and Media Browser Server. Not intended for plugin developer consumption.</description>
         <copyright>Copyright © Media Browser 2013</copyright>
         <dependencies>
-            <dependency id="MediaBrowser.Common" version="3.0.457" />
+            <dependency id="MediaBrowser.Common" version="3.0.460" />
             <dependency id="NLog" version="3.1.0.0" />
             <dependency id="SimpleInjector" version="2.5.2" />
             <dependency id="sharpcompress" version="0.10.2" />

+ 1 - 1
Nuget/MediaBrowser.Common.nuspec

@@ -2,7 +2,7 @@
 <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
     <metadata>
         <id>MediaBrowser.Common</id>
-        <version>3.0.457</version>
+        <version>3.0.460</version>
         <title>MediaBrowser.Common</title>
         <authors>Media Browser Team</authors>
         <owners>ebr,Luke,scottisafool</owners>

+ 1 - 1
Nuget/MediaBrowser.Model.Signed.nuspec

@@ -2,7 +2,7 @@
 <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
     <metadata>
         <id>MediaBrowser.Model.Signed</id>
-        <version>3.0.457</version>
+        <version>3.0.460</version>
         <title>MediaBrowser.Model - Signed Edition</title>
         <authors>Media Browser Team</authors>
         <owners>ebr,Luke,scottisafool</owners>

+ 2 - 2
Nuget/MediaBrowser.Server.Core.nuspec

@@ -2,7 +2,7 @@
 <package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
     <metadata>
         <id>MediaBrowser.Server.Core</id>
-        <version>3.0.457</version>
+        <version>3.0.460</version>
         <title>Media Browser.Server.Core</title>
         <authors>Media Browser Team</authors>
         <owners>ebr,Luke,scottisafool</owners>
@@ -12,7 +12,7 @@
         <description>Contains core components required to build plugins for Media Browser Server.</description>
         <copyright>Copyright © Media Browser 2013</copyright>
         <dependencies>
-            <dependency id="MediaBrowser.Common" version="3.0.457" />
+            <dependency id="MediaBrowser.Common" version="3.0.460" />
         </dependencies>
     </metadata>
     <files>

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