aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore5
-rw-r--r--MediaBrowser.Api/ConnectService.cs41
-rw-r--r--MediaBrowser.Api/MediaBrowser.Api.csproj1
-rw-r--r--MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj2
-rw-r--r--MediaBrowser.Common/MediaBrowser.Common.csproj2
-rw-r--r--MediaBrowser.Controller/MediaBrowser.Controller.csproj2
-rw-r--r--MediaBrowser.MediaEncoding/MediaBrowser.MediaEncoding.csproj2
-rw-r--r--MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj5
-rw-r--r--MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj5
-rw-r--r--MediaBrowser.Model/ApiClient/ServerCredentials.cs27
-rw-r--r--MediaBrowser.Model/Configuration/ServerConfiguration.cs1
-rw-r--r--MediaBrowser.Model/Connect/ConnectAuthenticationExchangeResult.cs17
-rw-r--r--MediaBrowser.Model/MediaBrowser.Model.csproj3
-rw-r--r--MediaBrowser.Providers/MediaBrowser.Providers.csproj2
-rw-r--r--MediaBrowser.Server.Implementations/HttpServer/Security/AuthService.cs15
-rw-r--r--MediaBrowser.Server.Implementations/Localization/JavaScript/de.json30
-rw-r--r--MediaBrowser.Server.Implementations/Localization/JavaScript/fr.json10
-rw-r--r--MediaBrowser.Server.Implementations/Localization/JavaScript/kk.json12
-rw-r--r--MediaBrowser.Server.Implementations/Localization/JavaScript/ru.json8
-rw-r--r--MediaBrowser.Server.Implementations/Localization/Server/de.json76
-rw-r--r--MediaBrowser.Server.Implementations/Localization/Server/fr.json20
-rw-r--r--MediaBrowser.Server.Implementations/Localization/Server/kk.json40
-rw-r--r--MediaBrowser.Server.Implementations/Localization/Server/ru.json16
-rw-r--r--MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj2
-rw-r--r--MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj8
-rw-r--r--MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj2
-rw-r--r--MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj2
-rw-r--r--Nuget/MediaBrowser.Common.Internal.nuspec4
-rw-r--r--Nuget/MediaBrowser.Common.nuspec2
-rw-r--r--Nuget/MediaBrowser.Model.Signed.nuspec2
-rw-r--r--Nuget/MediaBrowser.Server.Core.nuspec4
-rw-r--r--OpenSubtitlesHandler/OpenSubtitlesHandler.csproj1
32 files changed, 218 insertions, 151 deletions
diff --git a/.gitignore b/.gitignore
index f1b81038b..673f15dfe 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,5 @@
+!*
+
#################
## Eclipse
#################
@@ -145,8 +147,9 @@ publish/
# NuGet Packages Directory
## TODO: If you have NuGet Package Restore enabled, uncomment the next line
-packages/
+# packages/
dlls/
+dllssigned/
# Windows Azure Build Output
csx
diff --git a/MediaBrowser.Api/ConnectService.cs b/MediaBrowser.Api/ConnectService.cs
index 5a2c04ab6..3c3ad16b1 100644
--- a/MediaBrowser.Api/ConnectService.cs
+++ b/MediaBrowser.Api/ConnectService.cs
@@ -1,13 +1,18 @@
-using MediaBrowser.Controller.Connect;
+using MediaBrowser.Common.Extensions;
+using MediaBrowser.Controller.Connect;
+using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Net;
using MediaBrowser.Model.Connect;
using ServiceStack;
+using System;
using System.Collections.Generic;
+using System.Linq;
using System.Threading.Tasks;
namespace MediaBrowser.Api
{
[Route("/Users/{Id}/Connect/Link", "POST", Summary = "Creates a Connect link for a user")]
+ [Authenticated(Roles = "Admin")]
public class CreateConnectLink : IReturn<UserLinkResult>
{
[ApiMember(Name = "Id", Description = "User Id", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "POST")]
@@ -18,6 +23,7 @@ namespace MediaBrowser.Api
}
[Route("/Users/{Id}/Connect/Link", "DELETE", Summary = "Removes a Connect link for a user")]
+ [Authenticated(Roles = "Admin")]
public class DeleteConnectLink : IReturnVoid
{
[ApiMember(Name = "Id", Description = "User Id", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "DELETE")]
@@ -25,6 +31,7 @@ namespace MediaBrowser.Api
}
[Route("/Connect/Invite", "POST", Summary = "Creates a Connect link for a user")]
+ [Authenticated(Roles = "Admin")]
public class CreateConnectInvite : IReturn<UserLinkResult>
{
[ApiMember(Name = "ConnectUsername", Description = "Connect username", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "POST")]
@@ -36,26 +43,37 @@ namespace MediaBrowser.Api
[Route("/Connect/Pending", "GET", Summary = "Creates a Connect link for a user")]
+ [Authenticated(Roles = "Admin")]
public class GetPendingGuests : IReturn<List<ConnectAuthorization>>
{
}
[Route("/Connect/Pending", "DELETE", Summary = "Deletes a Connect link for a user")]
+ [Authenticated(Roles = "Admin")]
public class DeleteAuthorization : IReturnVoid
{
[ApiMember(Name = "Id", Description = "Authorization Id", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "DELETE")]
public string Id { get; set; }
}
- [Authenticated(Roles = "Admin")]
+ [Route("/Connect/Exchange", "GET", Summary = "Gets the corresponding local user from a connect user id")]
+ [Authenticated]
+ public class GetLocalUser : IReturn<ConnectAuthenticationExchangeResult>
+ {
+ [ApiMember(Name = "ConnectUserId", Description = "ConnectUserId", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "POST")]
+ public string ConnectUserId { get; set; }
+ }
+
public class ConnectService : BaseApiService
{
private readonly IConnectManager _connectManager;
+ private readonly IUserManager _userManager;
- public ConnectService(IConnectManager connectManager)
+ public ConnectService(IConnectManager connectManager, IUserManager userManager)
{
_connectManager = connectManager;
+ _userManager = userManager;
}
public object Post(CreateConnectLink request)
@@ -88,5 +106,22 @@ namespace MediaBrowser.Api
Task.WaitAll(task);
}
+
+ public object Get(GetLocalUser request)
+ {
+ var user = _userManager.Users
+ .FirstOrDefault(i => string.Equals(i.ConnectUserId, request.ConnectUserId, StringComparison.OrdinalIgnoreCase));
+
+ if (user == null)
+ {
+ throw new ResourceNotFoundException();
+ }
+
+ return ToOptimizedResult(new ConnectAuthenticationExchangeResult
+ {
+ AccessToken = user.ConnectAccessKey,
+ LocalUserId = user.Id.ToString("N")
+ });
+ }
}
}
diff --git a/MediaBrowser.Api/MediaBrowser.Api.csproj b/MediaBrowser.Api/MediaBrowser.Api.csproj
index df9569e28..38f85b9a3 100644
--- a/MediaBrowser.Api/MediaBrowser.Api.csproj
+++ b/MediaBrowser.Api/MediaBrowser.Api.csproj
@@ -11,7 +11,6 @@
<AssemblyName>MediaBrowser.Api</AssemblyName>
<FileAlignment>512</FileAlignment>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
- <RestorePackages>true</RestorePackages>
<ProductVersion>10.0.0</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
diff --git a/MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj b/MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj
index 81df19924..fcf44c0b0 100644
--- a/MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj
+++ b/MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj
@@ -11,7 +11,6 @@
<AssemblyName>MediaBrowser.Common.Implementations</AssemblyName>
<FileAlignment>512</FileAlignment>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
- <RestorePackages>true</RestorePackages>
<ProductVersion>10.0.0</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
@@ -120,7 +119,6 @@
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <Import Project="$(SolutionDir)\.nuget\NuGet.targets" />
<PropertyGroup>
<PostBuildEvent Condition=" '$(ConfigurationName)' != 'Release Mono' ">if '$(ConfigurationName)' == 'Release' (
xcopy "$(TargetPath)" "$(SolutionDir)\Nuget\dlls\" /y /d /r /i
diff --git a/MediaBrowser.Common/MediaBrowser.Common.csproj b/MediaBrowser.Common/MediaBrowser.Common.csproj
index 661073c89..3c5b8b249 100644
--- a/MediaBrowser.Common/MediaBrowser.Common.csproj
+++ b/MediaBrowser.Common/MediaBrowser.Common.csproj
@@ -11,7 +11,6 @@
<AssemblyName>MediaBrowser.Common</AssemblyName>
<FileAlignment>512</FileAlignment>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
- <RestorePackages>true</RestorePackages>
<ProductVersion>10.0.0</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
@@ -116,7 +115,6 @@
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <Import Project="$(SolutionDir)\.nuget\NuGet.targets" />
<PropertyGroup>
<PostBuildEvent Condition=" '$(ConfigurationName)' != 'Release Mono' ">if '$(ConfigurationName)' == 'Release' (
xcopy "$(TargetPath)" "$(SolutionDir)\Nuget\dlls\" /y /d /r /i
diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
index 7e2892c6e..8b228d9ec 100644
--- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj
+++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
@@ -11,7 +11,6 @@
<AssemblyName>MediaBrowser.Controller</AssemblyName>
<FileAlignment>512</FileAlignment>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
- <RestorePackages>true</RestorePackages>
<ProductVersion>10.0.0</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
@@ -369,7 +368,6 @@ xcopy "$(TargetPath)" "$(SolutionDir)\Nuget\dlls\" /y /d /r /i
<PreBuildEvent>
</PreBuildEvent>
</PropertyGroup>
- <Import Project="$(SolutionDir)\.nuget\NuGet.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
diff --git a/MediaBrowser.MediaEncoding/MediaBrowser.MediaEncoding.csproj b/MediaBrowser.MediaEncoding/MediaBrowser.MediaEncoding.csproj
index 22873d910..1c9bc7295 100644
--- a/MediaBrowser.MediaEncoding/MediaBrowser.MediaEncoding.csproj
+++ b/MediaBrowser.MediaEncoding/MediaBrowser.MediaEncoding.csproj
@@ -12,7 +12,6 @@
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
- <RestorePackages>true</RestorePackages>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -91,7 +90,6 @@
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <Import Project="$(SolutionDir)\.nuget\NuGet.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
diff --git a/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj b/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj
index 3aacffd9b..c4d21cca7 100644
--- a/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj
+++ b/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj
@@ -15,7 +15,6 @@
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
- <RestorePackages>true</RestorePackages>
<FodyPath>..\packages\Fody.1.19.1.0</FodyPath>
<FileUpgradeFlags>
</FileUpgradeFlags>
@@ -224,6 +223,9 @@
<Compile Include="..\MediaBrowser.Model\Configuration\XbmcMetadataOptions.cs">
<Link>Configuration\XbmcMetadataOptions.cs</Link>
</Compile>
+ <Compile Include="..\MediaBrowser.Model\Connect\ConnectAuthenticationExchangeResult.cs">
+ <Link>ApiClient\ConnectAuthenticationExchangeResult.cs</Link>
+ </Compile>
<Compile Include="..\MediaBrowser.Model\Connect\ConnectAuthenticationResult.cs">
<Link>Connect\ConnectAuthenticationResult.cs</Link>
</Compile>
@@ -1114,7 +1116,6 @@
xcopy "$(TargetPath)" "$(SolutionDir)\Nuget\dlls\portable\" /y /d /r /i
)</PostBuildEvent>
</PropertyGroup>
- <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
<Import Project="Fody.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
diff --git a/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj b/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj
index b80788a98..f261ac42d 100644
--- a/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj
+++ b/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj
@@ -13,7 +13,6 @@
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
- <RestorePackages>true</RestorePackages>
<FodyPath>..\packages\Fody.1.17.0.0</FodyPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
@@ -190,6 +189,9 @@
<Compile Include="..\MediaBrowser.Model\Configuration\XbmcMetadataOptions.cs">
<Link>Configuration\XbmcMetadataOptions.cs</Link>
</Compile>
+ <Compile Include="..\MediaBrowser.Model\Connect\ConnectAuthenticationExchangeResult.cs">
+ <Link>Connect\ConnectAuthenticationExchangeResult.cs</Link>
+ </Compile>
<Compile Include="..\MediaBrowser.Model\Connect\ConnectAuthenticationResult.cs">
<Link>Connect\ConnectAuthenticationResult.cs</Link>
</Compile>
@@ -1065,7 +1067,6 @@
xcopy "$(TargetPath)" "$(SolutionDir)\Nuget\dlls\net35\" /y /d /r /i
)</PostBuildEvent>
</PropertyGroup>
- <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
diff --git a/MediaBrowser.Model/ApiClient/ServerCredentials.cs b/MediaBrowser.Model/ApiClient/ServerCredentials.cs
index 787fb9a0d..dbde4a29a 100644
--- a/MediaBrowser.Model/ApiClient/ServerCredentials.cs
+++ b/MediaBrowser.Model/ApiClient/ServerCredentials.cs
@@ -30,7 +30,32 @@ namespace MediaBrowser.Model.ApiClient
if (index != -1)
{
- list[index] = server;
+ var existing = list[index];
+
+ // Merge the data
+ existing.DateLastAccessed = new[] { existing.DateLastAccessed, server.DateLastAccessed }.Max();
+
+ if (!string.IsNullOrEmpty(server.AccessToken))
+ {
+ existing.AccessToken = server.AccessToken;
+ existing.UserId = server.UserId;
+ }
+ if (!string.IsNullOrEmpty(server.RemoteAddress))
+ {
+ existing.RemoteAddress = server.RemoteAddress;
+ }
+ if (!string.IsNullOrEmpty(server.LocalAddress))
+ {
+ existing.LocalAddress = server.LocalAddress;
+ }
+ if (!string.IsNullOrEmpty(server.Name))
+ {
+ existing.Name = server.Name;
+ }
+ if (server.WakeOnLanInfos != null && server.WakeOnLanInfos.Count > 0)
+ {
+ existing.WakeOnLanInfos = server.WakeOnLanInfos.ToList();
+ }
}
else
{
diff --git a/MediaBrowser.Model/Configuration/ServerConfiguration.cs b/MediaBrowser.Model/Configuration/ServerConfiguration.cs
index a2e389e70..abb50c5c1 100644
--- a/MediaBrowser.Model/Configuration/ServerConfiguration.cs
+++ b/MediaBrowser.Model/Configuration/ServerConfiguration.cs
@@ -231,7 +231,6 @@ namespace MediaBrowser.Model.Configuration
"Roku",
"Chromecast",
"iOS",
- "Android",
"Windows Phone"
};
diff --git a/MediaBrowser.Model/Connect/ConnectAuthenticationExchangeResult.cs b/MediaBrowser.Model/Connect/ConnectAuthenticationExchangeResult.cs
new file mode 100644
index 000000000..c60224045
--- /dev/null
+++ b/MediaBrowser.Model/Connect/ConnectAuthenticationExchangeResult.cs
@@ -0,0 +1,17 @@
+
+namespace MediaBrowser.Model.Connect
+{
+ public class ConnectAuthenticationExchangeResult
+ {
+ /// <summary>
+ /// Gets or sets the local user identifier.
+ /// </summary>
+ /// <value>The local user identifier.</value>
+ public string LocalUserId { get; set; }
+ /// <summary>
+ /// Gets or sets the access token.
+ /// </summary>
+ /// <value>The access token.</value>
+ public string AccessToken { get; set; }
+ }
+}
diff --git a/MediaBrowser.Model/MediaBrowser.Model.csproj b/MediaBrowser.Model/MediaBrowser.Model.csproj
index 3faca062a..a58b50f49 100644
--- a/MediaBrowser.Model/MediaBrowser.Model.csproj
+++ b/MediaBrowser.Model/MediaBrowser.Model.csproj
@@ -11,7 +11,6 @@
<AssemblyName>MediaBrowser.Model</AssemblyName>
<FileAlignment>512</FileAlignment>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
- <RestorePackages>true</RestorePackages>
<FodyPath>..\packages\Fody.1.19.1.0</FodyPath>
<ProductVersion>10.0.0</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
@@ -98,6 +97,7 @@
<Compile Include="Configuration\PeopleMetadataOptions.cs" />
<Compile Include="Configuration\XbmcMetadataOptions.cs" />
<Compile Include="Configuration\SubtitlePlaybackMode.cs" />
+ <Compile Include="Connect\ConnectAuthenticationExchangeResult.cs" />
<Compile Include="Connect\ConnectAuthenticationResult.cs" />
<Compile Include="Connect\ConnectAuthorization.cs" />
<Compile Include="Connect\ConnectUser.cs" />
@@ -424,7 +424,6 @@
xcopy "$(TargetPath)" "$(SolutionDir)\Nuget\dlls\net45\" /y /d /r /i
)</PostBuildEvent>
</PropertyGroup>
- <Import Project="$(SolutionDir)\.nuget\NuGet.targets" />
<Import Project="Fody.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
diff --git a/MediaBrowser.Providers/MediaBrowser.Providers.csproj b/MediaBrowser.Providers/MediaBrowser.Providers.csproj
index e40533448..2dc656b98 100644
--- a/MediaBrowser.Providers/MediaBrowser.Providers.csproj
+++ b/MediaBrowser.Providers/MediaBrowser.Providers.csproj
@@ -11,7 +11,6 @@
<AssemblyName>MediaBrowser.Providers</AssemblyName>
<FileAlignment>512</FileAlignment>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
- <RestorePackages>true</RestorePackages>
<ProductVersion>10.0.0</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
@@ -215,7 +214,6 @@
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <Import Project="$(SolutionDir)\.nuget\NuGet.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
diff --git a/MediaBrowser.Server.Implementations/HttpServer/Security/AuthService.cs b/MediaBrowser.Server.Implementations/HttpServer/Security/AuthService.cs
index e5a94d5cb..a1a68586b 100644
--- a/MediaBrowser.Server.Implementations/HttpServer/Security/AuthService.cs
+++ b/MediaBrowser.Server.Implementations/HttpServer/Security/AuthService.cs
@@ -68,7 +68,10 @@ namespace MediaBrowser.Server.Implementations.HttpServer.Security
if (!string.IsNullOrWhiteSpace(auth.Token) ||
!_config.Configuration.InsecureApps2.Contains(auth.Client ?? string.Empty, StringComparer.OrdinalIgnoreCase))
{
- SessionManager.ValidateSecurityToken(auth.Token);
+ if (!IsValidConnectKey(auth.Token))
+ {
+ SessionManager.ValidateSecurityToken(auth.Token);
+ }
}
}
@@ -115,6 +118,16 @@ namespace MediaBrowser.Server.Implementations.HttpServer.Security
}
}
+ private bool IsValidConnectKey(string token)
+ {
+ if (!string.IsNullOrEmpty(token))
+ {
+ return UserManager.Users.Any(u => string.Equals(token, u.ConnectAccessKey, StringComparison.OrdinalIgnoreCase) && !string.IsNullOrEmpty(u.ConnectAccessKey));
+ }
+
+ return false;
+ }
+
protected bool DoHtmlRedirectIfConfigured(IRequest req, IResponse res, bool includeRedirectParam = false)
{
var htmlRedirect = this.HtmlRedirect ?? AuthenticateService.HtmlRedirect;
diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/de.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/de.json
index 950cbce9b..6bd27ed4f 100644
--- a/MediaBrowser.Server.Implementations/Localization/JavaScript/de.json
+++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/de.json
@@ -36,10 +36,10 @@
"LabelMovie": "Film",
"LabelMusicVideo": "Musikvideo",
"LabelEpisode": "Episode",
- "LabelSeries": "Series",
+ "LabelSeries": "Serien",
"LabelStopping": "Stoppe",
"LabelCancelled": "(abgebrochen)",
- "LabelFailed": "(failed)",
+ "LabelFailed": "(fehlgeschlagen)",
"LabelAbortedByServerShutdown": "(Durch herunterfahrenden Server abgebrochen)",
"LabelScheduledTaskLastRan": "Zuletzt ausgef\u00fchrt vor: {0}. Ben\u00f6tigte Zeit: {1}.",
"HeaderDeleteTaskTrigger": "Entferne Aufgabenausl\u00f6ser",
@@ -63,7 +63,7 @@
"ButtonPlay": "Abspielen",
"ButtonEdit": "Bearbeiten",
"ButtonQueue": "Warteschlange",
- "ButtonPlayTrailer": "Play trailer",
+ "ButtonPlayTrailer": "Trailer abspielen",
"ButtonPlaylist": "Wiedergabeliste",
"ButtonPreviousTrack": "Vorheriges St\u00fcck",
"LabelEnabled": "Aktivieren",
@@ -310,7 +310,7 @@
"TabAdvanced": "Erweitert",
"TabHelp": "Hilfe",
"TabScheduledTasks": "Geplante Aufgaben",
- "ButtonFullscreen": "Fullscreen",
+ "ButtonFullscreen": "Vollbild",
"ButtonAudioTracks": "Audio Tracks",
"ButtonSubtitles": "Untertitel",
"ButtonScenes": "Szenen",
@@ -383,7 +383,7 @@
"PersonTypePerson": "Person",
"LabelTitleDisplayOrder": "Reihenfolge Titeldarstellung:",
"OptionSortName": "Sortiername",
- "OptionReleaseDate": "Release date",
+ "OptionReleaseDate": "Ver\u00f6ffentlichungsdatum",
"LabelSeasonNumber": "Staffelnummer:",
"LabelDiscNumber": "Disc Nummer",
"LabelParentNumber": "Ursprungsnummer",
@@ -525,7 +525,7 @@
"HeaderAlbums": "Alben",
"HeaderGames": "Spiele",
"HeaderBooks": "B\u00fccher",
- "HeaderEpisodes": "Episodes",
+ "HeaderEpisodes": "Episoden",
"HeaderSeasons": "Staffeln",
"HeaderTracks": "Lieder",
"HeaderItems": "Inhalte",
@@ -594,13 +594,13 @@
"DashboardTourNotifications": "Sende automatisch Benachrichtigungen von Serverereignissen auf dein mobiles Endger\u00e4t, per E-Mail und mehr.",
"DashboardTourScheduledTasks": "Verwalte einfach lang dauernde Aufgaben mit Hilfe von geplanten Aufgaben. Entscheide wann diese ausgef\u00fchrt werden und wie oft.",
"DashboardTourMobile": "Die Media Browser \u00dcbersicht funktioniert auch hervorragend auf Smartphones und Tablets. Verwalte deinen Server jederzeit und \u00fcberall direkt von deiner Handfl\u00e4che aus.",
- "MessageRefreshQueued": "Refresh queued",
- "TabDevices": "Devices",
- "DeviceLastUsedByUserName": "Last used by {0}",
- "HeaderDeleteDevice": "Delete Device",
- "DeleteDeviceConfirmation": "Are you sure you wish to delete this device? It will reappear the next time a user signs in with it.",
- "LabelEnableCameraUploadFor": "Enable camera upload for:",
- "HeaderSelectUploadPath": "Select Upload Path",
- "LabelEnableCameraUploadForHelp": "Uploads will occur automatically in the background when signed into Media Browser.",
- "ErrorMessageStartHourGreaterThanEnd": "End time must be greater than the start time."
+ "MessageRefreshQueued": "Warteschlange aktualisieren",
+ "TabDevices": "Ger\u00e4te",
+ "DeviceLastUsedByUserName": "Zuletzt genutzt von {0}",
+ "HeaderDeleteDevice": "Ger\u00e4t l\u00f6schen",
+ "DeleteDeviceConfirmation": "Bist du dir sicher dieses Ger\u00e4t l\u00f6schen zu wollen? Es wird wieder angezeigt werden, sobald sich ein Uder dar\u00fcber einloggt.",
+ "LabelEnableCameraUploadFor": "Aktiviere den Kamera-Upload f\u00fcr:",
+ "HeaderSelectUploadPath": "W\u00e4hle Upload Pfad",
+ "LabelEnableCameraUploadForHelp": "Uploads werden automatisch im Hintergrund durchgef\u00fchrt wenn du in Media Browser eingeloggt bist.",
+ "ErrorMessageStartHourGreaterThanEnd": "Die Endzeit muss gr\u00f6\u00dfer als die Startzeit sein."
} \ No newline at end of file
diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/fr.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/fr.json
index 718e62890..2873c76dd 100644
--- a/MediaBrowser.Server.Implementations/Localization/JavaScript/fr.json
+++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/fr.json
@@ -84,8 +84,8 @@
"MessageConfirmRecordingCancellation": "\u00cates-vous s\u00fbr de vouloir annuler cet enregistrement?",
"MessageRecordingCancelled": "Enregistrement annul\u00e9.",
"HeaderConfirmSeriesCancellation": "Confirmer annulation des s\u00e9ries",
- "MessageConfirmSeriesCancellation": "\u00cates-vous s\u00fbr de vouloir annuler ces s\u00e9ries?",
- "MessageSeriesCancelled": "S\u00e9ries annul\u00e9es",
+ "MessageConfirmSeriesCancellation": "\u00cates-vous s\u00fbr de vouloir annuler cette s\u00e9rie?",
+ "MessageSeriesCancelled": "S\u00e9ries annul\u00e9es.",
"HeaderConfirmRecordingDeletion": "Confirmer la suppression de l'enregistrement",
"MessageConfirmRecordingDeletion": "\u00cates-vous s\u00fbr de vouloir supprimer cet enregistrement?",
"MessageRecordingDeleted": "Enregistrement supprim\u00e9.",
@@ -108,7 +108,7 @@
"ButtonCancelSeries": "Annuler s\u00e9ries",
"HeaderSeriesRecordings": "Enregistrements de s\u00e9ries",
"LabelAnytime": "N'importe quelle heure",
- "StatusRecording": "En cours d'enregistrement",
+ "StatusRecording": "Enregistrement",
"StatusWatching": "En lecture",
"StatusRecordingProgram": "Enregistre {0}",
"StatusWatchingProgram": "En lecture de {0}",
@@ -160,7 +160,7 @@
"MessageSureYouWishToProceed": "\u00cates-vous s\u00fbr de vouloir continuer?",
"MessageDuplicatesWillBeDeleted": "De plus, les doubles suivants vont \u00eatre supprim\u00e9s :",
"MessageFollowingFileWillBeMovedFrom": "Le fichier suivant sera d\u00e9plac\u00e9 de:",
- "MessageDestinationTo": "Vers:",
+ "MessageDestinationTo": "\u00c0 :",
"HeaderSelectWatchFolder": "S\u00e9lectionner le r\u00e9pertoire surveill\u00e9",
"HeaderSelectWatchFolderHelp": "Parcourir ou saisir le chemin de votre r\u00e9pertoire de surveillance. Le r\u00e9pertoire doit \u00eatre accessible en \u00e9criture.",
"OrganizePatternResult": "R\u00e9sultat : {0}",
@@ -595,7 +595,7 @@
"DashboardTourScheduledTasks": "G\u00e9rer facilement les op\u00e9rations longues avec des taches planifi\u00e9s. D\u00e9cider quand elles doivent se lancer et combien de fois.",
"DashboardTourMobile": "Le tableau de bord de Media Browser fonctionne parfaitement sur les smartphones et les tablettes. G\u00e9rer votre serveur du bout des doigts, n'importe quand, n'importe o\u00f9.",
"MessageRefreshQueued": "Actualiser la file d'attente",
- "TabDevices": "Lecteurs",
+ "TabDevices": "P\u00e9riph\u00e9riques",
"DeviceLastUsedByUserName": "Derni\u00e8rement utilis\u00e9 par {0}",
"HeaderDeleteDevice": "Supprimer le p\u00e9riph\u00e9rique",
"DeleteDeviceConfirmation": "\u00cates-vous s\u00fbr de vouloir supprimer cet appareil? La prochaine fois qu'un utilisateur se connecte \u00e0 l'appareil, il sera ajout\u00e9 de nouveau.",
diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/kk.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/kk.json
index 78be468eb..80bfa0610 100644
--- a/MediaBrowser.Server.Implementations/Localization/JavaScript/kk.json
+++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/kk.json
@@ -596,11 +596,11 @@
"DashboardTourMobile": "Media Browser \u0431\u0430\u049b\u044b\u043b\u0430\u0443 \u0442\u0430\u049b\u0442\u0430\u0441\u044b \u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d\u0434\u0430\u0440\u0434\u0430 \u0436\u04d9\u043d\u0435 \u043f\u043b\u0430\u043d\u0448\u0435\u0442\u0442\u0435\u0440\u0434\u0435 \u0442\u0430\u043c\u0430\u0448\u0430 \u0436\u04b1\u043c\u044b\u0441 \u0456\u0441\u0442\u0435\u0439\u0434\u0456. \u0421\u0435\u0440\u0432\u0435\u0440\u0456\u04a3\u0456\u0437\u0434\u0456 \u04d9\u0440 \u0443\u0430\u049b\u044b\u0442\u0442\u0430, \u04d9\u0440 \u0436\u0435\u0440\u0434\u0435 \u049b\u043e\u043b\u044b\u04a3\u044b\u0437\u0434\u044b\u04a3 \u0430\u043b\u0430\u049b\u0430\u043d\u044b\u043d\u0430\u043d \u0431\u0430\u0441\u049b\u0430\u0440\u044b\u04a3\u044b\u0437.",
"MessageRefreshQueued": "\u041a\u04e9\u043a\u0435\u0439\u0442\u0435\u0441\u0442\u0456 \u0435\u0442\u0443\u0456 \u043a\u0435\u0437\u0435\u043a\u0442\u0435",
"TabDevices": "\u0416\u0430\u0431\u0434\u044b\u049b\u0442\u0430\u0440",
- "DeviceLastUsedByUserName": "Last used by {0}",
- "HeaderDeleteDevice": "Delete Device",
- "DeleteDeviceConfirmation": "Are you sure you wish to delete this device? It will reappear the next time a user signs in with it.",
- "LabelEnableCameraUploadFor": "Enable camera upload for:",
- "HeaderSelectUploadPath": "Select Upload Path",
+ "DeviceLastUsedByUserName": "{0} \u0430\u0440\u049b\u044b\u043b\u044b \u0435\u04a3 \u043a\u0435\u0439\u0456\u043d\u0433\u0456 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u043b\u0493\u0430\u043d",
+ "HeaderDeleteDevice": "\u0416\u0430\u0431\u0434\u044b\u049b\u0442\u044b \u0436\u043e\u044e",
+ "DeleteDeviceConfirmation": "\u0428\u044b\u043d\u044b\u043c\u0435\u043d \u043e\u0441\u044b \u0436\u0430\u0431\u0434\u044b\u049b\u0442\u044b \u0436\u043e\u044e \u049b\u0430\u0436\u0435\u0442 \u043f\u0435? \u0411\u04b1\u043b \u043a\u0435\u043b\u0435\u0441\u0456 \u0440\u0435\u0442\u0442\u0435 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b \u043e\u0441\u044b\u0434\u0430\u043d \u043a\u0456\u0440\u0433\u0435\u043d\u0434\u0435 \u049b\u0430\u0439\u0442\u0430 \u043f\u0430\u0439\u0434\u0430 \u0431\u043e\u043b\u0430\u0434\u044b.",
+ "LabelEnableCameraUploadFor": "\u041c\u044b\u043d\u0430\u0443 \u04af\u0448\u0456\u043d \u043a\u0430\u043c\u0435\u0440\u0430\u0434\u0430\u043d \u043a\u0435\u0440\u0456 \u049b\u043e\u0442\u0430\u0440\u0443:",
+ "HeaderSelectUploadPath": "\u041a\u0435\u0440\u0456 \u049b\u043e\u0442\u0430\u0440\u0443 \u0436\u043e\u043b\u044b\u043d \u0442\u0430\u04a3\u0434\u0430\u0443",
"LabelEnableCameraUploadForHelp": "Uploads will occur automatically in the background when signed into Media Browser.",
- "ErrorMessageStartHourGreaterThanEnd": "End time must be greater than the start time."
+ "ErrorMessageStartHourGreaterThanEnd": "\u0410\u044f\u049b\u0442\u0430\u0443 \u0443\u0430\u049b\u044b\u0442\u044b \u0431\u0430\u0441\u0442\u0430\u0443 \u0443\u0430\u049b\u044b\u0442\u044b\u043d\u0430\u043d \u043a\u0435\u0439\u0456\u043d\u0440\u0435\u043a \u0431\u043e\u043b\u0443\u044b \u049b\u0430\u0436\u0435\u0442 \u0435\u0442\u0435\u0434\u0456."
} \ No newline at end of file
diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/ru.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/ru.json
index 6c5a7a142..9f3505e68 100644
--- a/MediaBrowser.Server.Implementations/Localization/JavaScript/ru.json
+++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/ru.json
@@ -54,7 +54,7 @@
"LabelDefaultStream": "(\u0423\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u0435)",
"LabelForcedStream": "(\u0424\u043e\u0440\u0441-\u044b\u0435)",
"LabelDefaultForcedStream": "(\u0423\u043c\u043e\u043b\u0447.\/\u0424\u043e\u0440\u0441-\u044b\u0435)",
- "LabelUnknownLanguage": "\u041d\u0435\u043e\u043f\u043e\u0437\u043d\u0430\u043d\u043d\u044b\u0439 \u044f\u0437\u044b\u043a",
+ "LabelUnknownLanguage": "\u041d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0439 \u044f\u0437\u044b\u043a",
"ButtonMute": "\u041e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0437\u0432\u0443\u043a",
"ButtonUnmute": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0437\u0432\u0443\u043a",
"ButtonStop": "\u041e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c",
@@ -181,7 +181,7 @@
"LabelRunningOnPort": "\u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 \u043f\u043e\u0440\u0442\u0443 {0}.",
"HeaderLatestFromChannel": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0438\u0437 {0}",
"ButtonDownload": "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c",
- "LabelUnknownLanaguage": "\u041d\u0435\u043e\u043f\u043e\u0437\u043d\u0430\u043d\u043d\u044b\u0439 \u044f\u0437\u044b\u043a",
+ "LabelUnknownLanaguage": "\u041d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0439 \u044f\u0437\u044b\u043a",
"HeaderCurrentSubtitles": "\u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0441\u0443\u0431\u0442\u0438\u0442\u0440\u044b",
"MessageDownloadQueued": "\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0431\u044b\u043b\u0430 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u0432 \u043e\u0447\u0435\u0440\u0435\u0434\u044c.",
"MessageAreYouSureDeleteSubtitles": "\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 \u0444\u0430\u0439\u043b \u0441\u0443\u0431\u0438\u0442\u0440\u043e\u0432?",
@@ -454,8 +454,8 @@
"TooltipLinkedToMediaBrowserConnect": "\u0421\u0432\u044f\u0437\u044c \u0441 Media Browser Connect",
"HeaderUnrated": "\u0411\u0435\u0437 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438",
"ValueDiscNumber": "\u0414\u0438\u0441\u043a {0}",
- "HeaderUnknownDate": "\u0414\u0430\u0442\u0430 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430",
- "HeaderUnknownYear": "\u0413\u043e\u0434 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d",
+ "HeaderUnknownDate": "\u041d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u0430\u044f \u0434\u0430\u0442\u0430",
+ "HeaderUnknownYear": "\u041d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0439 \u0433\u043e\u0434",
"ValueMinutes": "{0} \u043c\u0438\u043d",
"ButtonPlayExternalPlayer": "\u0412\u043e\u0441\u043f\u0440. \u0432\u043d\u0435\u0448\u043d\u0438\u043c \u043f\u0440\u043e\u0438\u0433\u0440-\u0435\u043c",
"HeaderSelectExternalPlayer": "\u0412\u044b\u0431\u043e\u0440 \u0432\u043d\u0435\u0448\u043d\u0435\u0433\u043e \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u0435\u043b\u044f",
diff --git a/MediaBrowser.Server.Implementations/Localization/Server/de.json b/MediaBrowser.Server.Implementations/Localization/Server/de.json
index 2daba2c55..35c271615 100644
--- a/MediaBrowser.Server.Implementations/Localization/Server/de.json
+++ b/MediaBrowser.Server.Implementations/Localization/Server/de.json
@@ -70,7 +70,7 @@
"ButtonOk": "Ok",
"LabelChannelDownloadSizeLimit": "Download Gr\u00f6\u00dfenlimit (GB):",
"ButtonCancel": "Abbrechen",
- "LabelChannelDownloadSizeLimitHelpText": "Limit the size of the channel download folder.",
+ "LabelChannelDownloadSizeLimitHelpText": "Limitiere die Gr\u00f6\u00dfe des Channel Download Verzeichnisses.",
"HeaderRecentActivity": "K\u00fcrzliche Aktivit\u00e4ten",
"ButtonNew": "Neu",
"HeaderPeople": "Personen",
@@ -152,7 +152,7 @@
"LabelWebsite": "Website:",
"ButtonAddLocalUser": "F\u00fcge lokalen Benutzer hinzu",
"LabelTagline": "Tagline:",
- "ButtonInviteUser": "Invite User",
+ "ButtonInviteUser": "Lade Benutzer ein",
"ButtonSave": "Speichern",
"LabelOverview": "\u00dcbersicht:",
"ButtonResetPassword": "Passwort zur\u00fccksetzten",
@@ -394,65 +394,65 @@
"OptionSunday": "Sonntag",
"HeaderWelcomeToMediaBrowserServerDashboard": "Willkommen zur Media Browser \u00dcbersicht",
"OptionMonday": "Montag",
- "LabelDateAddedBehavior": "Date added behavior for new content:",
+ "LabelDateAddedBehavior": "Verhalten f\u00fcr Hinzuf\u00fcgedatum bei neuen Inhalten:",
"OptionTuesday": "Dienstag",
- "OptionDateAddedImportTime": "Use date scanned into the library",
+ "OptionDateAddedImportTime": "Benutze das Scandatum vom hinzuf\u00fcgen in die Bbliothek",
"OptionWednesday": "Mittwoch",
- "OptionDateAddedFileTime": "Use file creation date",
+ "OptionDateAddedFileTime": "Benutze das Erstellungsdatum der Datei",
"OptionThursday": "Donnerstag",
- "LabelDateAddedBehaviorHelp": "If a metadata value is present it will always be used before either of these options.",
+ "LabelDateAddedBehaviorHelp": "Wenn ein Metadatenwert vorhanden ist, wird dieser immer gegen\u00fcber den anderen Optionen bevorzugt werden.",
"OptionFriday": "Freitag",
- "LabelNumberTrailerToPlay": "Number of trailers to play:",
+ "LabelNumberTrailerToPlay": "Anzahl der abzuspielenden Trailer:",
"OptionSaturday": "Samstag",
- "TitleDevices": "Devices",
+ "TitleDevices": "Ger\u00e4te",
"HeaderManagement": "Verwaltung",
- "TabCameraUpload": "Camera Upload",
+ "TabCameraUpload": "Kamera-Upload",
"LabelManagement": "Management:",
- "TabDevices": "Devices",
+ "TabDevices": "Ger\u00e4te",
"OptionMissingImdbId": "Fehlende IMDb Id",
- "HeaderCameraUploadHelp": "Automatically upload photos and videos taken from your mobile devices into Media Browser.",
+ "HeaderCameraUploadHelp": "Lade automatisch Bilder und Videos in Media Browser hoch, die mit deinen Mobilger\u00e4ten aufgenommen wurden.",
"OptionMissingTvdbId": "Fehlende TheTVDB Id",
- "MessageNoDevicesSupportCameraUpload": "You currently don't have any devices that support camera upload.",
+ "MessageNoDevicesSupportCameraUpload": "Du hast bis jetzt keine Ger\u00e4t die den Kamera-Upload unterst\u00fctzen.",
"OptionMissingOverview": "Fehlende \u00dcbersicht",
- "LabelCameraUploadPath": "Camera upload path:",
+ "LabelCameraUploadPath": "Kamera-Upload Pfad:",
"OptionFileMetadataYearMismatch": "Datei \/ Metadaten Jahre stimmen nicht \u00fcberein",
- "LabelCameraUploadPathHelp": "Select a custom upload path, if desired. If unspecified a default folder will be used.",
+ "LabelCameraUploadPathHelp": "W\u00e4hle, fals gew\u00fcnscht, einen individuellen Upload Pfad. Falls keiner festgelegt wird, wird der Standard Pfad genutzt.",
"TabGeneral": "Allgemein",
- "LabelCreateCameraUploadSubfolder": "Create a subfolder for each device",
+ "LabelCreateCameraUploadSubfolder": "Erstelle ein Unterverzeichnis f\u00fcr jedes Ger\u00e4t",
"TitleSupport": "Support",
- "LabelCreateCameraUploadSubfolderHelp": "Specific folders can be assigned to a device by clicking on it from the Devices page.",
+ "LabelCreateCameraUploadSubfolderHelp": "Bestimmte Verzeichnisse k\u00f6nnen Ger\u00e4ten durch einen Klick auf der Ger\u00e4teseite zugewiesen werden.",
"TabLog": "Log",
- "LabelCustomDeviceDisplayName": "Display name:",
+ "LabelCustomDeviceDisplayName": "Angezeigter Name:",
"TabAbout": "\u00dcber",
- "LabelCustomDeviceDisplayNameHelp": "Supply a custom display name or leave empty to use the name reported by the device.",
+ "LabelCustomDeviceDisplayNameHelp": "Lege einen individuellen Anzeigenamen fest oder lasse das Feld leer, um den vom ger\u00e4t \u00fcbermittelten Namen zu nutzen.",
"TabSupporterKey": "Unterst\u00fctzerschl\u00fcssel",
- "HeaderInviteUser": "Invite User",
+ "HeaderInviteUser": "Lade Benutzer ein",
"TabBecomeSupporter": "Werde ein Unterst\u00fctzer",
- "LabelConnectInviteUserHelp": "This is the username or email that your friend uses to sign in to the Media Browser website.",
+ "LabelConnectInviteUserHelp": "Dies ist der Benutzername oder die E-Mail die dein Freund nutzt, um sich f\u00fcr die Media Browser Website anzumelden.",
"MediaBrowserHasCommunity": "Media Browser hat eine wachsende Gemeinschaft an Nutzern und Unterst\u00fctzern.",
- "HeaderInviteUserHelp": "Sharing your media with friends is easier than ever before with Media Browser Connect.",
+ "HeaderInviteUserHelp": "Mit Media Browser ist es leichter als je zuvor, deine Medien mit deinen Freunden zu teilen.",
"CheckoutKnowledgeBase": "Verwende die Knowledge Base als Hilfe, um das Optimum aus Media Browser herauszuholen.",
- "ButtonSendInvitation": "Send Invitation",
+ "ButtonSendInvitation": "Sende Einladung",
"SearchKnowledgeBase": "Durchsuche die Knowledge Base",
- "HeaderGuests": "Guests",
+ "HeaderGuests": "G\u00e4ste",
"VisitTheCommunity": "Besuche die Community",
- "HeaderLocalUsers": "Local Users",
+ "HeaderLocalUsers": "Lokale Benutzer",
"VisitMediaBrowserWebsite": "Besuche die Media Browser Website",
- "HeaderPendingInvitations": "Pending Invitations",
+ "HeaderPendingInvitations": "Ausstehende Einladungen",
"VisitMediaBrowserWebsiteLong": "Besuche die Media Browser Website um die aktuellsten Neuigkeiten zu erfahren und halte dich auf dem Laufenden mit dem Entwicklerblog.",
- "TabParentalControl": "Parental Control",
+ "TabParentalControl": "Kindersicherung",
"OptionHideUser": "Verberge diesen Benutzer in den Anmeldebildschirmen",
- "HeaderAccessSchedule": "Access Schedule",
+ "HeaderAccessSchedule": "Zugangsplan",
"OptionDisableUser": "Sperre diesen Benutzer",
- "HeaderAccessScheduleHelp": "Create an access schedule to limit access to certain hours.",
+ "HeaderAccessScheduleHelp": "Erstelle einen Zugangsplan, um den Zugriff auf bestimmte Zeiten zu limitieren.",
"OptionDisableUserHelp": "Wenn deaktiviert,wird der Server keine Verbindung von diesem Benutzer erlauben. Bestehenden Verbindungen werden sofort beendet.",
- "ButtonAddSchedule": "Add Schedule",
+ "ButtonAddSchedule": "Plan hinzuf\u00fcgen",
"HeaderAdvancedControl": "Erweiterte Kontrolle",
- "LabelAccessDay": "Day of week:",
+ "LabelAccessDay": "Wochentag:",
"LabelName": "Name:",
- "LabelAccessStart": "Start hour:",
+ "LabelAccessStart": "Startzeit:",
"OptionAllowUserToManageServer": "Dieser Benutzer kann den Server managen",
- "LabelAccessEnd": "End hour:",
+ "LabelAccessEnd": "Endzeit:",
"HeaderFeatureAccess": "Funktionszugriff",
"OptionAllowMediaPlayback": "Erlaube das Abspielen von Medien",
"OptionAllowBrowsingLiveTv": "Erlaube das durchsuchen von Live-TV",
@@ -689,13 +689,13 @@
"NewCollectionNameExample": "Beispiel: Star Wars Collection",
"OptionSearchForInternetMetadata": "Suche im Internet nach Bildmaterial und Metadaten",
"ButtonCreate": "Kreieren",
- "LabelLocalHttpServerPortNumber": "Local port number:",
- "LabelLocalHttpServerPortNumberHelp": "The tcp port number that Media Browser's http server should bind to.",
- "LabelPublicPort": "Public port number:",
- "LabelPublicPortHelp": "The public port number that should be mapped to the local port.",
+ "LabelLocalHttpServerPortNumber": "Lokale Port-Nummer:",
+ "LabelLocalHttpServerPortNumberHelp": "Die TCP-Port-Nummer, an die der http-Server von Media Browser gebunden werden soll.",
+ "LabelPublicPort": "\u00d6ffentliche Port-Nummer:",
+ "LabelPublicPortHelp": "Der \u00f6ffentliche Port-Nummer, die auf den lokalen Port zugeordnet werden soll.",
"LabelWebSocketPortNumber": "Web Socket Port Nummer:",
- "LabelEnableAutomaticPortMap": "Enable automatic port mapping",
- "LabelEnableAutomaticPortMapHelp": "Attempt to automatically map the public port to the local port via UPnP. This may not work with some router models.",
+ "LabelEnableAutomaticPortMap": "Aktiviere das automatische Port-Mapping",
+ "LabelEnableAutomaticPortMapHelp": "Versuche automatisch den \u00f6ffentlichen Port dem lokalen Port mit Hilfe von UPnP zuzuordnen. Dies kann mit einigen Router-Modellen nicht funktionieren.",
"LabelExternalDDNS": "Externe DDNS:",
"LabelExternalDDNSHelp": "Wenn du eine dynamische DNS besitzen, trage Sie sie hier ein. Media Browser Apps werden sie verwenden, wenn sie sich verbinden.",
"TabResume": "Fortsetzen",
diff --git a/MediaBrowser.Server.Implementations/Localization/Server/fr.json b/MediaBrowser.Server.Implementations/Localization/Server/fr.json
index 05149a727..c43df936f 100644
--- a/MediaBrowser.Server.Implementations/Localization/Server/fr.json
+++ b/MediaBrowser.Server.Implementations/Localization/Server/fr.json
@@ -130,7 +130,7 @@
"OptionDefaultSubtitles": "Par d\u00e9faut",
"LabelFollowingFileWillBeDeleted": "Le fichier suivant a \u00e9t\u00e9 supprim\u00e9:",
"OptionOnlyForcedSubtitles": "Seulement les sous-titres forc\u00e9s",
- "LabelIfYouWishToContinueWithDeletion": "Si vous souhaitez continuer, merci de le confirmer en entrant la valeur de:",
+ "LabelIfYouWishToContinueWithDeletion": "Si vous souhaitez continuer, veuillez confirmer en entrant la valeur de :",
"OptionAlwaysPlaySubtitles": "Toujours afficher les sous-titres",
"ButtonIdentify": "Identifier",
"OptionNoSubtitles": "Aucun sous-titre",
@@ -187,7 +187,7 @@
"Label3DFormat": "Format 3D:",
"MessageNothingHere": "Rien ici.",
"HeaderAlternateEpisodeNumbers": "Num\u00e9ros d'\u00e9pisode alternatif",
- "MessagePleaseEnsureInternetMetadata": "Merci de vous assurer que le t\u00e9l\u00e9chargement des m\u00e9tadonn\u00e9es depuis Internet est bien activ\u00e9.",
+ "MessagePleaseEnsureInternetMetadata": "Veuillez vous assurer que le t\u00e9l\u00e9chargement des m\u00e9tadonn\u00e9es depuis Internet est activ\u00e9.",
"HeaderSpecialEpisodeInfo": "Information \u00e9pisode sp\u00e9cial",
"TabSuggested": "Sugg\u00e9r\u00e9s",
"HeaderExternalIds": "Identifiants externes",
@@ -267,7 +267,7 @@
"OptionReleaseDate": "Date de sortie",
"OptionPlayCount": "Nombre de lectures",
"HeaderMediaInfo": "Information m\u00e9dia",
- "OptionDatePlayed": "Date de lecture",
+ "OptionDatePlayed": "Date lu",
"HeaderPhotoInfo": "Information photo",
"OptionDateAdded": "Date d'ajout",
"HeaderInstall": "Install\u00e9",
@@ -341,13 +341,13 @@
"ButtonLearnMore": "Apprendre plus",
"LabelFeatures": "Caract\u00e9ristiques:",
"TabPlayback": "Lecture",
- "LabelService": "Service:",
+ "LabelService": "Service :",
"HeaderTrailersAndExtras": "Bandes-annonces et extras",
"LabelStatus": "Status:",
"OptionFindTrailers": "Trouver automatiquement les bandes-annonces sur Internet",
- "LabelVersion": "Version:",
+ "LabelVersion": "Version :",
"HeaderLanguagePreferences": "Pr\u00e9f\u00e9rences de langue",
- "LabelLastResult": "Dernier r\u00e9sultat:",
+ "LabelLastResult": "Dernier r\u00e9sultat :",
"TabCinemaMode": "Mode cin\u00e9ma",
"OptionHasSubtitles": "Sous-titres",
"TitlePlayback": "Lecture",
@@ -408,7 +408,7 @@
"HeaderManagement": "Gestion",
"TabCameraUpload": "Upload de la cam\u00e9ra",
"LabelManagement": "Gestion :",
- "TabDevices": "Lecteurs",
+ "TabDevices": "P\u00e9riph\u00e9riques",
"OptionMissingImdbId": "ID IMDb manquant",
"HeaderCameraUploadHelp": "Uploader automatiquement les photos et les vid\u00e9os depuis vos p\u00e9riph\u00e9riques mobiles dans Media Browser.",
"OptionMissingTvdbId": "ID TheTVDB manquant",
@@ -758,7 +758,7 @@
"HeaderLatestNews": "Derni\u00e8res nouvelles",
"HeaderHelpImproveMediaBrowser": "Aidez-nous \u00e0 am\u00e9liorer Media Browser",
"HeaderRunningTasks": "T\u00e2ches en ex\u00e9cution",
- "HeaderActiveDevices": "Appareils actifs",
+ "HeaderActiveDevices": "P\u00e9riph\u00e9riques actifs",
"HeaderPendingInstallations": "Installations en suspens",
"HeaerServerInformation": "Information du serveur",
"ButtonRestartNow": "Red\u00e9marrer maintenant",
@@ -950,7 +950,7 @@
"LabelModelDescription": "Description de mod\u00e8le",
"LabelModelUrl": "URL de mod\u00e8le",
"LabelSerialNumber": "Num\u00e9ro de s\u00e9rie",
- "LabelDeviceDescription": "Description de l'appareil",
+ "LabelDeviceDescription": "Description du p\u00e9riph\u00e9rique",
"HeaderIdentificationCriteriaHelp": "Entrer au moins un crit\u00e8re d'identification.",
"HeaderDirectPlayProfileHelp": "Ajoutez des profils de lecture directe pour sp\u00e9cifier quels formats l'appareil peut lire nativement.",
"HeaderTranscodingProfileHelp": "Ajoutez des profils de transcodage pour sp\u00e9cifier quels formats doit \u00eatre transcod\u00e9.",
@@ -991,7 +991,7 @@
"ButtonSend": "Envoyer",
"LabelMessageText": "Texte du message:",
"MessageNoAvailablePlugins": "Aucun plugin disponible.",
- "LabelDisplayPluginsFor": "Afficher les plugins pour:",
+ "LabelDisplayPluginsFor": "Afficher les plugins pour :",
"PluginTabMediaBrowserClassic": "MB Classic",
"PluginTabMediaBrowserTheater": "MB Theatre",
"LabelEpisodeNamePlain": "Nom d'\u00e9pisode",
diff --git a/MediaBrowser.Server.Implementations/Localization/Server/kk.json b/MediaBrowser.Server.Implementations/Localization/Server/kk.json
index 2237c9292..33f7e1668 100644
--- a/MediaBrowser.Server.Implementations/Localization/Server/kk.json
+++ b/MediaBrowser.Server.Implementations/Localization/Server/kk.json
@@ -70,7 +70,7 @@
"ButtonOk": "\u0416\u0430\u0440\u0430\u0439\u0434\u044b",
"LabelChannelDownloadSizeLimit": "\u0416\u04af\u043a\u0442\u0435\u043c\u0435 \u04e9\u043b\u0448\u0435\u043c\u0456\u043d\u0456\u04a3 \u0448\u0435\u0433\u0456 (GB)",
"ButtonCancel": "\u0411\u043e\u043b\u0434\u044b\u0440\u043c\u0430\u0443",
- "LabelChannelDownloadSizeLimitHelpText": "Limit the size of the channel download folder.",
+ "LabelChannelDownloadSizeLimitHelpText": "\u0410\u0440\u043d\u0430\u043b\u0430\u0440\u0434\u044b \u049b\u043e\u0442\u0430\u0440\u044b\u043f \u0430\u043b\u0443 \u04af\u0448\u0456\u043d \u049b\u0430\u043b\u0442\u0430\u0441\u044b \u04e9\u043b\u0448\u0435\u043c\u0456\u043d \u0448\u0435\u043a\u0442\u0435\u0443.",
"HeaderRecentActivity": "\u041a\u0435\u0438\u0456\u043d\u0433\u0456 \u04d9\u0440\u0435\u043a\u0435\u0442\u0442\u0435\u0440",
"ButtonNew": "\u0416\u0430\u0441\u0430\u0443",
"HeaderPeople": "\u0410\u0434\u0430\u043c\u0434\u0430\u0440",
@@ -152,7 +152,7 @@
"LabelWebsite": "\u0492\u0430\u043b\u0430\u043c\u0442\u043e\u0440 \u0441\u0430\u0439\u0442\u044b:",
"ButtonAddLocalUser": "\u0416\u0435\u0440\u0433\u0456\u043b\u0456\u043a\u0442\u0456 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b\u043d\u044b \u04af\u0441\u0442\u0435\u0443",
"LabelTagline": "\u041d\u0435\u0433\u0456\u0437\u0433\u0456 \u0441\u04e9\u0439\u043b\u0435\u043c:",
- "ButtonInviteUser": "Invite User",
+ "ButtonInviteUser": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b\u043d\u044b \u0448\u0430\u049b\u044b\u0440\u0443",
"ButtonSave": "\u0421\u0430\u049b\u0442\u0430\u0443",
"LabelOverview": "\u0416\u0430\u043b\u043f\u044b \u0448\u043e\u043b\u0443:",
"ButtonResetPassword": "\u049a\u04b1\u043f\u0438\u044f \u0441\u04e9\u0437\u0434\u0456 \u044b\u0441\u044b\u0440\u0443",
@@ -404,9 +404,9 @@
"OptionFriday": "\u0436\u04b1\u043c\u0430",
"LabelNumberTrailerToPlay": "\u0422\u0440\u0435\u0439\u043b\u0435\u0440\u0434\u0456\u04a3 \u043e\u0439\u043d\u0430\u0442\u044b\u043b\u0443 \u04af\u0448\u0456\u043d \u0441\u0430\u043d\u044b:",
"OptionSaturday": "\u0441\u0435\u043d\u0431\u0456",
- "TitleDevices": "Devices",
+ "TitleDevices": "\u0416\u0430\u0431\u0434\u044b\u049b\u0442\u0430\u0440",
"HeaderManagement": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440",
- "TabCameraUpload": "Camera Upload",
+ "TabCameraUpload": "\u041a\u0430\u043c\u0435\u0440\u0430\u0434\u0430\u043d \u043a\u0435\u0440\u0456 \u049b\u043e\u0442\u0430\u0440\u0443",
"LabelManagement": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440",
"TabDevices": "\u0416\u0430\u0431\u0434\u044b\u049b\u0442\u0430\u0440",
"OptionMissingImdbId": "IMDb Id \u0436\u043e\u049b",
@@ -414,45 +414,45 @@
"OptionMissingTvdbId": "TheTVDB Id \u0436\u043e\u049b",
"MessageNoDevicesSupportCameraUpload": "You currently don't have any devices that support camera upload.",
"OptionMissingOverview": "\u0416\u0430\u043b\u043f\u044b \u0448\u043e\u043b\u0443 \u0436\u043e\u049b",
- "LabelCameraUploadPath": "Camera upload path:",
+ "LabelCameraUploadPath": "\u041a\u0430\u043c\u0435\u0440\u0430\u0434\u0430\u043d \u043a\u0435\u0440\u0456 \u049b\u043e\u0442\u0430\u0440\u0443 \u0436\u043e\u043b\u044b:",
"OptionFileMetadataYearMismatch": "\u0424\u0430\u0439\u043b\/\u043c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a \u0436\u044b\u043b\u044b \u0441\u04d9\u0439\u043a\u0435\u0441 \u0435\u043c\u0435\u0441",
"LabelCameraUploadPathHelp": "Select a custom upload path, if desired. If unspecified a default folder will be used.",
"TabGeneral": "\u0416\u0430\u043b\u043f\u044b",
- "LabelCreateCameraUploadSubfolder": "Create a subfolder for each device",
+ "LabelCreateCameraUploadSubfolder": "\u04d8\u0440\u049b\u0430\u0439\u0441\u044b \u0436\u0430\u0431\u0434\u044b\u049b \u04af\u0448\u0456\u043d \u0456\u0448\u043a\u0456 \u049b\u0430\u043b\u0442\u0430 \u0436\u0430\u0441\u0430\u0443",
"TitleSupport": "\u049a\u043e\u043b\u0434\u0430\u0443",
"LabelCreateCameraUploadSubfolderHelp": "Specific folders can be assigned to a device by clicking on it from the Devices page.",
"TabLog": "\u0416\u04b1\u0440\u043d\u0430\u043b",
- "LabelCustomDeviceDisplayName": "Display name:",
+ "LabelCustomDeviceDisplayName": "\u0411\u0435\u0439\u043d\u0435\u043b\u0435\u043d\u0443 \u0430\u0442\u044b:",
"TabAbout": "\u0422\u0443\u0440\u0430\u043b\u044b",
"LabelCustomDeviceDisplayNameHelp": "Supply a custom display name or leave empty to use the name reported by the device.",
"TabSupporterKey": "\u049a\u043e\u043b\u0434\u0430\u0443\u0448\u044b \u043a\u0456\u043b\u0442\u0456",
- "HeaderInviteUser": "Invite User",
+ "HeaderInviteUser": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b\u043d\u044b \u0448\u0430\u049b\u044b\u0440\u0443",
"TabBecomeSupporter": "\u049a\u043e\u043b\u0434\u0430\u0443\u0448\u044b \u0431\u043e\u043b\u0443",
- "LabelConnectInviteUserHelp": "This is the username or email that your friend uses to sign in to the Media Browser website.",
+ "LabelConnectInviteUserHelp": "\u0411\u04b1\u043b \u0434\u043e\u0441\u0442\u0430\u0440\u044b\u04a3\u044b\u0437\u0434\u044b\u04a3 Media Browser \u0493\u0430\u043b\u0430\u043c\u0442\u043e\u0440 \u0441\u0430\u0439\u0442\u044b\u043d\u0430 \u043a\u0456\u0440\u0433\u0435\u043d\u0434\u0435 \u049b\u043e\u043b\u0434\u0430\u043d\u0430\u0442\u044b\u043d \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b \u0430\u0442\u044b \u043d\u0435\u043c\u0435\u0441\u0435 \u0435-\u043f\u043e\u0448\u0442\u0430 \u043c\u0435\u043a\u0435\u043d\u0436\u0430\u0439\u044b \u0431\u043e\u043b\u044b\u043f \u0442\u0430\u0431\u044b\u043b\u0430\u0434\u044b.",
"MediaBrowserHasCommunity": "Media Browser \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b\u043b\u0430\u0440\u044b \u0431\u0435\u043d \u049b\u043e\u043b\u0434\u0430\u0443\u0448\u044b\u043b\u0430\u0440\u0434\u044b\u04a3 \u0434\u0430\u043c\u0443\u0434\u0430\u0493\u044b \u049b\u0430\u0443\u044b\u043c\u0434\u0430\u0441\u0442\u044b\u0493\u044b \u0431\u0430\u0440.",
"HeaderInviteUserHelp": "Sharing your media with friends is easier than ever before with Media Browser Connect.",
"CheckoutKnowledgeBase": "Media Browser \u0435\u04a3 \u04af\u043b\u043a\u0435\u043d \u049b\u0430\u0439\u0442\u0430\u0440\u044b\u043c\u0434\u044b\u043b\u044b\u0493\u044b\u043d \u0430\u043b\u0443 \u0436\u04e9\u043d\u0456\u043d\u0434\u0435 \u043a\u04e9\u043c\u0435\u043a\u0442\u0435\u0441\u0443 \u04af\u0448\u0456\u043d \u0411\u0456\u043b\u0456\u043c \u049b\u043e\u0440\u044b\u043d \u049b\u0430\u0440\u0430\u043f \u0448\u044b\u0493\u044b\u04a3\u044b\u0437.",
- "ButtonSendInvitation": "Send Invitation",
+ "ButtonSendInvitation": "\u0428\u0430\u049b\u044b\u0440\u044b\u043c\u0434\u044b \u0436\u0456\u0431\u0435\u0440\u0443",
"SearchKnowledgeBase": "\u0411\u0456\u043b\u0456\u043c \u049b\u043e\u0440\u044b\u043d\u0430\u043d \u0456\u0437\u0434\u0435\u0443",
- "HeaderGuests": "Guests",
+ "HeaderGuests": "\u049a\u043e\u043d\u0430\u049b\u0442\u0430\u0440",
"VisitTheCommunity": "\u049a\u0430\u0443\u044b\u043c\u0434\u0430\u0441\u0442\u044b\u049b\u049b\u0430 \u0431\u0430\u0440\u0443",
- "HeaderLocalUsers": "Local Users",
+ "HeaderLocalUsers": "\u0416\u0435\u0440\u0433\u0456\u043b\u0456\u043a\u0442\u0456 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b\u043b\u0430\u0440",
"VisitMediaBrowserWebsite": "Media Browser \u0441\u0430\u0439\u0442\u044b\u043d\u0430 \u0431\u0430\u0440\u0443",
- "HeaderPendingInvitations": "Pending Invitations",
+ "HeaderPendingInvitations": "\u0411\u04e9\u0433\u0435\u043b\u0456\u0441 \u0448\u0430\u049b\u044b\u0440\u044b\u043c\u0434\u0430\u0440",
"VisitMediaBrowserWebsiteLong": "\u0421\u043e\u04a3\u0493\u044b \u0436\u0430\u04a3\u0430\u043b\u044b\u049b\u0442\u0430\u0440\u0434\u044b \u0431\u0456\u043b\u0456\u043f \u0430\u043b\u0443 \u04af\u0448\u0456\u043d \u0436\u04d9\u043d\u0435 \u0436\u0430\u0441\u0430\u049b\u0442\u0430\u0443\u0448\u044b\u043b\u0430\u0440 \u0431\u043b\u043e\u0433\u0456\u043c\u0435\u043d \u0442\u0430\u043d\u044b\u0441\u044b\u043f \u0442\u04b1\u0440\u0443 \u04af\u0448\u0456\u043d Media Browser \u0441\u0430\u0439\u0442\u044b\u043d\u0430 \u0431\u0430\u0440\u044b\u04a3\u044b\u0437.",
- "TabParentalControl": "Parental Control",
+ "TabParentalControl": "\u041c\u0430\u0437\u043c\u04b1\u043d\u0434\u044b \u0431\u0430\u0441\u049b\u0430\u0440\u0443",
"OptionHideUser": "\u0411\u04b1\u043b \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b\u043d\u044b \u043a\u0456\u0440\u0443 \u044d\u043a\u0440\u0430\u043d\u0434\u0430\u0440\u044b\u043d\u0430\u043d \u0436\u0430\u0441\u044b\u0440\u0443",
- "HeaderAccessSchedule": "Access Schedule",
+ "HeaderAccessSchedule": "\u049a\u0430\u0442\u044b\u043d\u0430\u0441\u0443 \u043a\u0435\u0441\u0442\u0435\u0441\u0456",
"OptionDisableUser": "\u0411\u04b1\u043b \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b\u0493\u0430 \u0442\u044b\u0439\u044b\u043c \u0441\u0430\u043b\u0443",
- "HeaderAccessScheduleHelp": "Create an access schedule to limit access to certain hours.",
+ "HeaderAccessScheduleHelp": "\u049a\u0430\u0442\u044b\u043d\u0430\u0441\u0443\u0434\u044b \u0431\u0435\u043b\u0433\u0456\u043b\u0456 \u0441\u0430\u0493\u0430\u0442\u0442\u0430\u0440\u0493\u0430 \u0448\u0435\u043a\u0442\u0435\u0443 \u04af\u0448\u0456\u043d \u049b\u0430\u0442\u044b\u043d\u0430\u0441\u0443 \u043a\u0435\u0441\u0442\u0435\u0441\u0456\u043d \u0436\u0430\u0441\u0430\u04a3\u044b\u0437.",
"OptionDisableUserHelp": "\u0415\u0433\u0435\u0440 \u0442\u044b\u0439\u044b\u043c \u0441\u0430\u043b\u044b\u043d\u0441\u0430, \u0441\u0435\u0440\u0432\u0435\u0440 \u0431\u04b1\u043b \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b\u0434\u0430\u043d \u0435\u0448\u049b\u0430\u043d\u0434\u0430\u0439 \u049b\u043e\u0441\u044b\u043b\u044b\u043c\u0493\u0430 \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u043f\u0435\u0439\u0434\u0456. \u0411\u0430\u0440 \u049b\u043e\u0441\u044b\u043b\u044b\u043c\u0434\u0430\u0440 \u043a\u0435\u043d\u0435\u0442 \u04af\u0437\u0456\u043b\u0435\u0434\u0456.",
- "ButtonAddSchedule": "Add Schedule",
+ "ButtonAddSchedule": "\u041a\u0435\u0441\u0442\u0435 \u04af\u0441\u0442\u0435\u0443",
"HeaderAdvancedControl": "\u041a\u0435\u04a3\u0435\u0439\u0442\u0456\u043b\u0433\u0435\u043d \u0431\u0430\u0441\u049b\u0430\u0440\u0443",
- "LabelAccessDay": "Day of week:",
+ "LabelAccessDay": "\u0410\u043f\u0442\u0430 \u043a\u04af\u043d\u0456",
"LabelName": "\u0410\u0442\u044b:",
- "LabelAccessStart": "Start hour:",
+ "LabelAccessStart": "\u0411\u0430\u0441\u0442\u0430\u0443 \u0441\u0430\u0493\u0430\u0442\u044b:",
"OptionAllowUserToManageServer": "\u0411\u0443\u043b \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b\u0493\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0434\u0456 \u0431\u0430\u0441\u049b\u0430\u0440\u0443 \u04af\u0448\u0456\u043d \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0443",
- "LabelAccessEnd": "End hour:",
+ "LabelAccessEnd": "\u0410\u044f\u049b\u0442\u0430\u0443 \u0441\u0430\u0493\u0430\u0442\u044b:",
"HeaderFeatureAccess": "\u041c\u04af\u043c\u043a\u0456\u043d\u0434\u0456\u043a\u0442\u0435\u0440\u0433\u0435 \u049b\u0430\u0442\u044b\u043d\u0430\u0441",
"OptionAllowMediaPlayback": "\u0422\u0430\u0441\u0443\u0448\u044b\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u043e\u0439\u043d\u0430\u0442\u0443\u044b\u043d\u0430 \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0443",
"OptionAllowBrowsingLiveTv": "\u042d\u0444\u0438\u0440\u043b\u0456\u043a \u0422\u0414 \u0448\u043e\u043b\u0443\u044b\u043d\u0430 \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0443",
diff --git a/MediaBrowser.Server.Implementations/Localization/Server/ru.json b/MediaBrowser.Server.Implementations/Localization/Server/ru.json
index ae34efd9a..ba3b73afd 100644
--- a/MediaBrowser.Server.Implementations/Localization/Server/ru.json
+++ b/MediaBrowser.Server.Implementations/Localization/Server/ru.json
@@ -108,9 +108,9 @@
"TabProfile": "\u041f\u0440\u043e\u0444\u0438\u043b\u044c",
"LabelImageRefreshMode": "\u0420\u0435\u0436\u0438\u043c \u043f\u043e\u0434\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0438\u0441\u0443\u043d\u043a\u043e\u0432:",
"TabMetadata": "\u041c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435",
- "OptionDownloadMissingImages": "\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043e\u0442\u0441\u0443\u0442-\u0438\u0445 \u0440\u0438\u0441\u0443\u043d\u043a\u043e\u0432",
+ "OptionDownloadMissingImages": "\u041f\u043e\u0434\u0433\u0440\u0443\u0437\u043a\u0430 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0440\u0438\u0441\u0443\u043d\u043a\u043e\u0432",
"TabImages": "\u0420\u0438\u0441\u0443\u043d\u043a\u0438",
- "OptionReplaceExistingImages": "\u0417\u0430\u043c\u0435\u043d\u0430 \u0441\u0443\u0449\u0435\u0441\u0442-\u0438\u0445 \u0440\u0438\u0441\u0443\u043d\u043a\u043e\u0432",
+ "OptionReplaceExistingImages": "\u0417\u0430\u043c\u0435\u043d\u0430 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0440\u0438\u0441\u0443\u043d\u043a\u043e\u0432",
"TabNotifications": "\u0423\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f",
"OptionRefreshAllData": "\u041f\u043e\u0434\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 \u0434\u0430\u043d\u043d\u044b\u0445",
"TabCollectionTitles": "\u041f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f",
@@ -428,7 +428,7 @@
"TabSupporterKey": "\u041a\u043b\u044e\u0447 \u0441\u043f\u043e\u043d\u0441\u043e\u0440\u0430",
"HeaderInviteUser": "\u041f\u0440\u0438\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f",
"TabBecomeSupporter": "\u0421\u0442\u0430\u0442\u044c \u0441\u043f\u043e\u043d\u0441\u043e\u0440\u043e\u043c",
- "LabelConnectInviteUserHelp": "This is the username or email that your friend uses to sign in to the Media Browser website.",
+ "LabelConnectInviteUserHelp": "\u042d\u0442\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u043c\u0435\u043d\u0435\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438\u043b\u0438 \u0430\u0434\u0440\u0435\u0441\u043e\u043c \u044d-\u043f\u043e\u0447\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0432\u0430\u0448 \u0434\u0440\u0443\u0433 \u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f, \u0447\u0442\u043e\u0431\u044b \u0432\u0445\u043e\u0434\u0438\u0442\u044c \u043d\u0430 \u0432\u0435\u0431-\u0441\u0430\u0439\u0442 Media Browser.",
"MediaBrowserHasCommunity": "\u0423 Media Browser - \u0440\u0430\u0441\u0442\u0443\u0449\u0435\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0438 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u0432.",
"HeaderInviteUserHelp": "\u041f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0440\u0443\u0437\u044c\u044f\u043c \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0432\u0430\u0448\u0438\u043c \u043c\u0435\u0434\u0438\u0430\u0434\u0430\u043d\u043d\u044b\u043c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Media Browser Connect \u0441\u0442\u0430\u043b\u043e \u043b\u0435\u0433\u0447\u0435, \u0447\u0435\u043c \u043a\u043e\u0433\u0434\u0430-\u043b\u0438\u0431\u043e \u043f\u0440\u0435\u0436\u0434\u0435.",
"CheckoutKnowledgeBase": "\u041e\u0437\u043d\u0430\u043a\u043e\u043c\u044c\u0442\u0435\u0441\u044c \u0441 \u0411\u0430\u0437\u043e\u0439 \u0437\u043d\u0430\u043d\u0438\u0439, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0432\u0435\u0441\u0442\u0438 \u0441\u043f\u0440\u0430\u0432\u043a\u0438 \u043f\u043e \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044e \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u043e\u0442\u0434\u0430\u0447\u0438 \u043e\u0442 Media Browser.",
@@ -442,17 +442,17 @@
"VisitMediaBrowserWebsiteLong": "\u041f\u043e\u0441\u0435\u0442\u0438\u0442\u0435 \u0441\u0430\u0439\u0442 Media Browser, \u0447\u0442\u043e\u0431\u044b \u0441\u043b\u0435\u0434\u0438\u0442\u044c \u0437\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c\u0438 \u043d\u043e\u0432\u043e\u0441\u0442\u044f\u043c\u0438 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u043e\u0441\u0432\u0435\u0434\u043e\u043c\u043b\u0451\u043d\u043d\u043e\u0441\u0442\u044c \u043f\u043e \u0431\u043b\u043e\u0433\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432.",
"TabParentalControl": "\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435\u043c",
"OptionHideUser": "\u0421\u043a\u0440\u044b\u0442\u044c \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0441 \u044d\u043a\u0440\u0430\u043d\u043e\u0432 \u0432\u0445\u043e\u0434\u0430",
- "HeaderAccessSchedule": "Access Schedule",
+ "HeaderAccessSchedule": "\u0420\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u0430",
"OptionDisableUser": "\u0417\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f",
"HeaderAccessScheduleHelp": "\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u0430, \u0447\u0442\u043e\u0431\u044b \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0435 \u0447\u0430\u0441\u044b.",
"OptionDisableUserHelp": "\u041f\u0440\u0438 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438, \u0441\u0435\u0440\u0432\u0435\u0440 \u043d\u0435 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u043b\u044e\u0431\u044b\u0445 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 \u043e\u0442 \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f. \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0431\u0443\u0434\u0443\u0442 \u0440\u0435\u0437\u043a\u043e \u043e\u0431\u043e\u0440\u0432\u0430\u043d\u044b.",
- "ButtonAddSchedule": "Add Schedule",
+ "ButtonAddSchedule": "\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u0435",
"HeaderAdvancedControl": "\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u043e\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435",
- "LabelAccessDay": "Day of week:",
+ "LabelAccessDay": "\u0414\u0435\u043d\u044c \u043d\u0435\u0434\u0435\u043b\u0438:",
"LabelName": "\u0418\u043c\u044f (\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435):",
- "LabelAccessStart": "Start hour:",
+ "LabelAccessStart": "\u041d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0439 \u0447\u0430\u0441:",
"OptionAllowUserToManageServer": "\u042d\u0442\u043e\u043c\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c",
- "LabelAccessEnd": "End hour:",
+ "LabelAccessEnd": "\u041a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0447\u0430\u0441:",
"HeaderFeatureAccess": "\u0414\u043e\u0441\u0442\u0443\u043f \u043a \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438",
"OptionAllowMediaPlayback": "\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043c\u0435\u0434\u0438\u0430\u0434\u0430\u043d\u043d\u044b\u0445",
"OptionAllowBrowsingLiveTv": "\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u044d\u0444\u0438\u0440\u043d\u043e\u0433\u043e \u0442\u0432",
diff --git a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj
index 2d6e32a34..d11bfc3db 100644
--- a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj
+++ b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj
@@ -11,7 +11,6 @@
<AssemblyName>MediaBrowser.Server.Implementations</AssemblyName>
<FileAlignment>512</FileAlignment>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
- <RestorePackages>true</RestorePackages>
<ProductVersion>10.0.0</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
@@ -511,7 +510,6 @@
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <Import Project="$(SolutionDir)\.nuget\NuGet.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
diff --git a/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj b/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj
index 8cf64517d..303779656 100644
--- a/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj
+++ b/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj
@@ -12,7 +12,6 @@
<StartupObject>MediaBrowser.Server.Mono.MainClass</StartupObject>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
- <RestorePackages>true</RestorePackages>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
@@ -189,11 +188,4 @@
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
- <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
- <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
- <PropertyGroup>
- <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
- </PropertyGroup>
- <Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
- </Target>
</Project> \ No newline at end of file
diff --git a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj
index 49eacf46f..b9dd33cfe 100644
--- a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj
+++ b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj
@@ -12,7 +12,6 @@
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
- <RestorePackages>true</RestorePackages>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
@@ -222,7 +221,6 @@
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
<PropertyGroup>
<PostBuildEvent>if $(ConfigurationName) == Release (
rmdir "$(SolutionDir)..\Deploy\Server\System" /s /q
diff --git a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
index 3f9ef8db7..16a0f2fdf 100644
--- a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
+++ b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
@@ -11,7 +11,6 @@
<AssemblyName>MediaBrowser.WebDashboard</AssemblyName>
<FileAlignment>512</FileAlignment>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
- <RestorePackages>true</RestorePackages>
<ProductVersion>10.0.0</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
@@ -2264,7 +2263,6 @@
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
- <Import Project="$(SolutionDir)\.nuget\NuGet.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
diff --git a/Nuget/MediaBrowser.Common.Internal.nuspec b/Nuget/MediaBrowser.Common.Internal.nuspec
index 262c545db..a5c3619b4 100644
--- a/Nuget/MediaBrowser.Common.Internal.nuspec
+++ b/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.491</version>
+ <version>3.0.493</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.491" />
+ <dependency id="MediaBrowser.Common" version="3.0.493" />
<dependency id="NLog" version="3.1.0.0" />
<dependency id="SimpleInjector" version="2.5.2" />
<dependency id="sharpcompress" version="0.10.2" />
diff --git a/Nuget/MediaBrowser.Common.nuspec b/Nuget/MediaBrowser.Common.nuspec
index 4c87d9ef0..feaea04b1 100644
--- a/Nuget/MediaBrowser.Common.nuspec
+++ b/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.491</version>
+ <version>3.0.493</version>
<title>MediaBrowser.Common</title>
<authors>Media Browser Team</authors>
<owners>ebr,Luke,scottisafool</owners>
diff --git a/Nuget/MediaBrowser.Model.Signed.nuspec b/Nuget/MediaBrowser.Model.Signed.nuspec
index ff985184b..43d45ad21 100644
--- a/Nuget/MediaBrowser.Model.Signed.nuspec
+++ b/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.491</version>
+ <version>3.0.493</version>
<title>MediaBrowser.Model - Signed Edition</title>
<authors>Media Browser Team</authors>
<owners>ebr,Luke,scottisafool</owners>
diff --git a/Nuget/MediaBrowser.Server.Core.nuspec b/Nuget/MediaBrowser.Server.Core.nuspec
index f7f466049..2c81d75c4 100644
--- a/Nuget/MediaBrowser.Server.Core.nuspec
+++ b/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.491</version>
+ <version>3.0.493</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.491" />
+ <dependency id="MediaBrowser.Common" version="3.0.493" />
</dependencies>
</metadata>
<files>
diff --git a/OpenSubtitlesHandler/OpenSubtitlesHandler.csproj b/OpenSubtitlesHandler/OpenSubtitlesHandler.csproj
index 48ef32500..058bc26c7 100644
--- a/OpenSubtitlesHandler/OpenSubtitlesHandler.csproj
+++ b/OpenSubtitlesHandler/OpenSubtitlesHandler.csproj
@@ -119,7 +119,6 @@
<Content Include="XML-RPC\Docs\XML-RPC.txt" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <Import Project="$(SolutionDir)\.nuget\NuGet.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">