mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-11-15 18:08:53 -07:00
commit
a7f2bc5fda
@ -102,7 +102,7 @@ namespace MediaBrowser.Api
|
||||
private readonly IHttpClient _httpClient;
|
||||
private readonly INetworkManager _netManager;
|
||||
private readonly IJsonSerializer _serializer;
|
||||
private const string MbAdminUrl = "https://www.mb3admin.com/admin/";
|
||||
private const string MbAdminUrl = "http://www.mb3admin.com/admin/";
|
||||
|
||||
public PackageReviewService(IHttpClient client, INetworkManager net, IJsonSerializer serializer)
|
||||
{
|
||||
|
@ -1,9 +1,14 @@
|
||||
using MediaBrowser.Controller.Net;
|
||||
using MediaBrowser.Controller.Dto;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Controller.Net;
|
||||
using MediaBrowser.Controller.Sync;
|
||||
using MediaBrowser.Model.Dto;
|
||||
using MediaBrowser.Model.Querying;
|
||||
using MediaBrowser.Model.Sync;
|
||||
using ServiceStack;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MediaBrowser.Api.Sync
|
||||
@ -22,22 +27,14 @@ namespace MediaBrowser.Api.Sync
|
||||
public string Id { get; set; }
|
||||
}
|
||||
|
||||
[Route("/Sync/Jobs", "GET", Summary = "Gets sync jobs.")]
|
||||
public class GetSyncJobs : IReturn<QueryResult<SyncJob>>
|
||||
[Route("/Sync/JobItems", "GET", Summary = "Gets sync job items.")]
|
||||
public class GetSyncJobItems : SyncJobItemQuery, IReturn<QueryResult<SyncJobItem>>
|
||||
{
|
||||
/// <summary>
|
||||
/// Skips over a given number of items within the results. Use for paging.
|
||||
/// </summary>
|
||||
/// <value>The start index.</value>
|
||||
[ApiMember(Name = "StartIndex", Description = "Optional. The record index to start at. All items with a lower index will be dropped from the results.", IsRequired = false, DataType = "int", ParameterType = "query", Verb = "GET")]
|
||||
public int? StartIndex { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The maximum number of items to return
|
||||
/// </summary>
|
||||
/// <value>The limit.</value>
|
||||
[ApiMember(Name = "Limit", Description = "Optional. The maximum number of records to return", IsRequired = false, DataType = "int", ParameterType = "query", Verb = "GET")]
|
||||
public int? Limit { get; set; }
|
||||
[Route("/Sync/Jobs", "GET", Summary = "Gets sync jobs.")]
|
||||
public class GetSyncJobs : SyncJobQuery, IReturn<QueryResult<SyncJob>>
|
||||
{
|
||||
}
|
||||
|
||||
[Route("/Sync/Jobs", "POST", Summary = "Gets sync jobs.")]
|
||||
@ -52,14 +49,42 @@ namespace MediaBrowser.Api.Sync
|
||||
public string UserId { get; set; }
|
||||
}
|
||||
|
||||
[Route("/Sync/Options", "GET", Summary = "Gets a list of available sync targets.")]
|
||||
public class GetSyncDialogOptions : IReturn<SyncDialogOptions>
|
||||
{
|
||||
[ApiMember(Name = "UserId", Description = "UserId", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "GET")]
|
||||
public string UserId { get; set; }
|
||||
|
||||
[ApiMember(Name = "ItemIds", Description = "ItemIds", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "GET")]
|
||||
public string ItemIds { get; set; }
|
||||
}
|
||||
|
||||
[Route("/Sync/JobItems/{Id}/Transferred", "POST", Summary = "Reports that a sync job item has successfully been transferred.")]
|
||||
public class ReportSyncJobItemTransferred : IReturnVoid
|
||||
{
|
||||
[ApiMember(Name = "Id", Description = "Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")]
|
||||
public string Id { get; set; }
|
||||
}
|
||||
|
||||
[Route("/Sync/JobItems/{Id}/File", "GET", Summary = "Gets a sync job item file")]
|
||||
public class GetSyncJobItemFile
|
||||
{
|
||||
[ApiMember(Name = "Id", Description = "Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
|
||||
public string Id { get; set; }
|
||||
}
|
||||
|
||||
[Authenticated]
|
||||
public class SyncService : BaseApiService
|
||||
{
|
||||
private readonly ISyncManager _syncManager;
|
||||
private readonly IDtoService _dtoService;
|
||||
private readonly ILibraryManager _libraryManager;
|
||||
|
||||
public SyncService(ISyncManager syncManager)
|
||||
public SyncService(ISyncManager syncManager, IDtoService dtoService, ILibraryManager libraryManager)
|
||||
{
|
||||
_syncManager = syncManager;
|
||||
_dtoService = dtoService;
|
||||
_libraryManager = libraryManager;
|
||||
}
|
||||
|
||||
public object Get(GetSyncTargets request)
|
||||
@ -71,11 +96,14 @@ namespace MediaBrowser.Api.Sync
|
||||
|
||||
public object Get(GetSyncJobs request)
|
||||
{
|
||||
var result = _syncManager.GetJobs(new SyncJobQuery
|
||||
{
|
||||
StartIndex = request.StartIndex,
|
||||
Limit = request.Limit
|
||||
});
|
||||
var result = _syncManager.GetJobs(request);
|
||||
|
||||
return ToOptimizedResult(result);
|
||||
}
|
||||
|
||||
public object Get(GetSyncJobItems request)
|
||||
{
|
||||
var result = _syncManager.GetJobItems(request);
|
||||
|
||||
return ToOptimizedResult(result);
|
||||
}
|
||||
@ -100,5 +128,48 @@ namespace MediaBrowser.Api.Sync
|
||||
|
||||
return ToOptimizedResult(result);
|
||||
}
|
||||
|
||||
public void Post(ReportSyncJobItemTransferred request)
|
||||
{
|
||||
var task = _syncManager.ReportSyncJobItemTransferred(request.Id);
|
||||
|
||||
Task.WaitAll(task);
|
||||
}
|
||||
|
||||
public object Get(GetSyncJobItemFile request)
|
||||
{
|
||||
var jobItem = _syncManager.GetJobItem(request.Id);
|
||||
|
||||
if (jobItem.Status != SyncJobItemStatus.Transferring)
|
||||
{
|
||||
throw new ArgumentException("The job item is not yet ready for transfer.");
|
||||
}
|
||||
|
||||
return ToStaticFileResult(jobItem.OutputPath);
|
||||
}
|
||||
|
||||
public object Get(GetSyncDialogOptions request)
|
||||
{
|
||||
var result = new SyncDialogOptions();
|
||||
|
||||
result.Targets = _syncManager.GetSyncTargets(request.UserId)
|
||||
.ToList();
|
||||
|
||||
var dtos = request.ItemIds.Split(',')
|
||||
.Select(_libraryManager.GetItemById)
|
||||
.Where(i => i != null)
|
||||
.Select(i => _dtoService.GetBaseItemDto(i, new DtoOptions
|
||||
{
|
||||
Fields = new List<ItemFields>
|
||||
{
|
||||
ItemFields.SyncInfo
|
||||
}
|
||||
}))
|
||||
.ToList();
|
||||
|
||||
result.Options = SyncHelper.GetSyncOptions(dtos);
|
||||
|
||||
return ToOptimizedResult(result);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -294,19 +294,20 @@ namespace MediaBrowser.Common.Implementations
|
||||
|
||||
public static void LogEnvironmentInfo(ILogger logger, IApplicationPaths appPaths, bool isStartup)
|
||||
{
|
||||
if (isStartup)
|
||||
{
|
||||
logger.Info("Media Browser Server started");
|
||||
}
|
||||
logger.LogMultiline("Media Browser", LogSeverity.Info, GetBaseExceptionMessage(appPaths));
|
||||
}
|
||||
|
||||
logger.Info("Command line: {0}", string.Join(" ", Environment.GetCommandLineArgs()));
|
||||
protected static StringBuilder GetBaseExceptionMessage(IApplicationPaths appPaths)
|
||||
{
|
||||
var builder = new StringBuilder();
|
||||
|
||||
logger.Info("Server: {0}", Environment.MachineName);
|
||||
logger.Info("Operating system: {0}", Environment.OSVersion.ToString());
|
||||
logger.Info("Processor count: {0}", Environment.ProcessorCount);
|
||||
logger.Info("64-Bit OS: {0}", Environment.Is64BitOperatingSystem);
|
||||
logger.Info("64-Bit Process: {0}", Environment.Is64BitProcess);
|
||||
logger.Info("Program data path: {0}", appPaths.ProgramDataPath);
|
||||
builder.AppendLine(string.Format("Command line: {0}", string.Join(" ", Environment.GetCommandLineArgs())));
|
||||
|
||||
builder.AppendLine(string.Format("Operating system: {0}", Environment.OSVersion));
|
||||
builder.AppendLine(string.Format("Processor count: {0}", Environment.ProcessorCount));
|
||||
builder.AppendLine(string.Format("64-Bit OS: {0}", Environment.Is64BitOperatingSystem));
|
||||
builder.AppendLine(string.Format("64-Bit Process: {0}", Environment.Is64BitProcess));
|
||||
builder.AppendLine(string.Format("Program data path: {0}", appPaths.ProgramDataPath));
|
||||
|
||||
Type type = Type.GetType("Mono.Runtime");
|
||||
if (type != null)
|
||||
@ -314,13 +315,13 @@ namespace MediaBrowser.Common.Implementations
|
||||
MethodInfo displayName = type.GetMethod("GetDisplayName", BindingFlags.NonPublic | BindingFlags.Static);
|
||||
if (displayName != null)
|
||||
{
|
||||
logger.Info("Mono: " + displayName.Invoke(null, null));
|
||||
builder.AppendLine("Mono: " + displayName.Invoke(null, null));
|
||||
}
|
||||
}
|
||||
|
||||
logger.Info("Application Path: {0}", appPaths.ApplicationPath);
|
||||
}
|
||||
|
||||
logger.Info("*** When reporting issues please include the entire log file. ***".ToUpper());
|
||||
builder.AppendLine(string.Format("Application Path: {0}", appPaths.ApplicationPath));
|
||||
|
||||
return builder;
|
||||
}
|
||||
|
||||
protected virtual IJsonSerializer CreateJsonSerializer()
|
||||
|
@ -14,6 +14,8 @@ namespace MediaBrowser.Common.Implementations.Logging
|
||||
/// </summary>
|
||||
private readonly NLog.Logger _logger;
|
||||
|
||||
private readonly ILogManager _logManager;
|
||||
|
||||
/// <summary>
|
||||
/// The _lock object
|
||||
/// </summary>
|
||||
@ -23,8 +25,10 @@ namespace MediaBrowser.Common.Implementations.Logging
|
||||
/// Initializes a new instance of the <see cref="NLogger" /> class.
|
||||
/// </summary>
|
||||
/// <param name="name">The name.</param>
|
||||
public NLogger(string name)
|
||||
/// <param name="logManager">The log manager.</param>
|
||||
public NLogger(string name, ILogManager logManager)
|
||||
{
|
||||
_logManager = logManager;
|
||||
lock (LockObject)
|
||||
{
|
||||
_logger = NLog.LogManager.GetLogger(name);
|
||||
@ -96,6 +100,13 @@ namespace MediaBrowser.Common.Implementations.Logging
|
||||
|
||||
var messageText = LogHelper.GetLogMessage(exception);
|
||||
|
||||
var prefix = _logManager.ExceptionMessagePrefix;
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(prefix))
|
||||
{
|
||||
messageText.Insert(0, prefix);
|
||||
}
|
||||
|
||||
LogMultiline(message, level, messageText);
|
||||
}
|
||||
|
||||
|
@ -34,6 +34,12 @@ namespace MediaBrowser.Common.Implementations.Logging
|
||||
/// <value>The log file path.</value>
|
||||
public string LogFilePath { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the exception message prefix.
|
||||
/// </summary>
|
||||
/// <value>The exception message prefix.</value>
|
||||
public string ExceptionMessagePrefix { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="NlogManager" /> class.
|
||||
/// </summary>
|
||||
@ -159,7 +165,7 @@ namespace MediaBrowser.Common.Implementations.Logging
|
||||
/// <returns>ILogger.</returns>
|
||||
public ILogger GetLogger(string name)
|
||||
{
|
||||
return new NLogger(name);
|
||||
return new NLogger(name, this);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -95,6 +95,7 @@
|
||||
<Compile Include="ScheduledTasks\Tasks\DeleteCacheFileTask.cs" />
|
||||
<Compile Include="ScheduledTasks\Tasks\DeleteLogFileTask.cs" />
|
||||
<Compile Include="ScheduledTasks\Tasks\ReloadLoggerFileTask.cs" />
|
||||
<Compile Include="Security\MbAdmin.cs" />
|
||||
<Compile Include="Security\MBLicenseFile.cs" />
|
||||
<Compile Include="Security\PluginSecurityManager.cs" />
|
||||
<Compile Include="Security\RegRecord.cs" />
|
||||
|
13
MediaBrowser.Common.Implementations/Security/MbAdmin.cs
Normal file
13
MediaBrowser.Common.Implementations/Security/MbAdmin.cs
Normal file
@ -0,0 +1,13 @@
|
||||
|
||||
namespace MediaBrowser.Common.Implementations.Security
|
||||
{
|
||||
public class MbAdmin
|
||||
{
|
||||
public const string HttpUrl = "http://www.mb3admin.com/admin/";
|
||||
|
||||
/// <summary>
|
||||
/// Leaving as http for now until we get it squared away
|
||||
/// </summary>
|
||||
public const string HttpsUrl = "http://www.mb3admin.com/admin/";
|
||||
}
|
||||
}
|
@ -17,9 +17,7 @@ namespace MediaBrowser.Common.Implementations.Security
|
||||
/// </summary>
|
||||
public class PluginSecurityManager : ISecurityManager
|
||||
{
|
||||
private const string MbAdminUrl = "https://www.mb3admin.com/admin/";
|
||||
|
||||
private const string MBValidateUrl = MbAdminUrl + "service/registration/validate";
|
||||
private const string MBValidateUrl = MbAdmin.HttpsUrl + "service/registration/validate";
|
||||
|
||||
/// <summary>
|
||||
/// The _is MB supporter
|
||||
@ -162,7 +160,7 @@ namespace MediaBrowser.Common.Implementations.Security
|
||||
return new SupporterInfo();
|
||||
}
|
||||
|
||||
var url = MbAdminUrl + "/service/supporter/retrieve?key=" + key;
|
||||
var url = MbAdmin.HttpsUrl + "/service/supporter/retrieve?key=" + key;
|
||||
|
||||
using (var stream = await _httpClient.Get(url, CancellationToken.None).ConfigureAwait(false))
|
||||
{
|
||||
|
@ -1,5 +1,6 @@
|
||||
using MediaBrowser.Common.Configuration;
|
||||
using MediaBrowser.Common.Events;
|
||||
using MediaBrowser.Common.Implementations.Security;
|
||||
using MediaBrowser.Common.Net;
|
||||
using MediaBrowser.Common.Plugins;
|
||||
using MediaBrowser.Common.Progress;
|
||||
@ -161,7 +162,7 @@ namespace MediaBrowser.Common.Implementations.Updates
|
||||
{ "systemid", _applicationHost.SystemId }
|
||||
};
|
||||
|
||||
using (var json = await _httpClient.Post(MbAdminUrlHttps + "service/package/retrieveall", data, cancellationToken).ConfigureAwait(false))
|
||||
using (var json = await _httpClient.Post(MbAdmin.HttpsUrl + "service/package/retrieveall", data, cancellationToken).ConfigureAwait(false))
|
||||
{
|
||||
cancellationToken.ThrowIfCancellationRequested();
|
||||
|
||||
@ -172,8 +173,6 @@ namespace MediaBrowser.Common.Implementations.Updates
|
||||
}
|
||||
|
||||
private Tuple<List<PackageInfo>, DateTime> _lastPackageListResult;
|
||||
private const string MbAdminUrlHttp = "http://www.mb3admin.com/admin/";
|
||||
private const string MbAdminUrlHttps = "https://www.mb3admin.com/admin/";
|
||||
|
||||
/// <summary>
|
||||
/// Gets all available packages.
|
||||
@ -205,7 +204,7 @@ namespace MediaBrowser.Common.Implementations.Updates
|
||||
}
|
||||
}
|
||||
|
||||
using (var json = await _httpClient.Get(MbAdminUrlHttp + "service/MB3Packages.json", cancellationToken).ConfigureAwait(false))
|
||||
using (var json = await _httpClient.Get(MbAdmin.HttpUrl + "service/MB3Packages.json", cancellationToken).ConfigureAwait(false))
|
||||
{
|
||||
cancellationToken.ThrowIfCancellationRequested();
|
||||
|
||||
|
@ -899,21 +899,6 @@ namespace MediaBrowser.Controller.Entities
|
||||
{
|
||||
var current = this;
|
||||
|
||||
var currentAsPlaceHolder = current as ISupportsPlaceHolders;
|
||||
|
||||
if (currentAsPlaceHolder != null)
|
||||
{
|
||||
var newHasPlaceHolder = newItem as ISupportsPlaceHolders;
|
||||
|
||||
if (newHasPlaceHolder != null)
|
||||
{
|
||||
if (currentAsPlaceHolder.IsPlaceHolder != newHasPlaceHolder.IsPlaceHolder)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return current.IsInMixedFolder == newItem.IsInMixedFolder;
|
||||
}
|
||||
|
||||
|
@ -363,7 +363,11 @@ namespace MediaBrowser.Controller.Entities
|
||||
{
|
||||
await base.UpdateToRepository(updateReason, cancellationToken).ConfigureAwait(false);
|
||||
|
||||
foreach (var item in GetLocalAlternateVersionIds().Select(i => LibraryManager.GetItemById(i)))
|
||||
var localAlternates = GetLocalAlternateVersionIds()
|
||||
.Select(i => LibraryManager.GetItemById(i))
|
||||
.Where(i => i != null);
|
||||
|
||||
foreach (var item in localAlternates)
|
||||
{
|
||||
item.ImageInfos = ImageInfos;
|
||||
item.Overview = Overview;
|
||||
|
@ -22,6 +22,13 @@ namespace MediaBrowser.Controller.Sync
|
||||
/// <returns>QueryResult<SyncJob>.</returns>
|
||||
QueryResult<SyncJob> GetJobs(SyncJobQuery query);
|
||||
|
||||
/// <summary>
|
||||
/// Gets the job items.
|
||||
/// </summary>
|
||||
/// <param name="query">The query.</param>
|
||||
/// <returns>QueryResult<SyncJobItem>.</returns>
|
||||
QueryResult<SyncJobItem> GetJobItems(SyncJobItemQuery query);
|
||||
|
||||
/// <summary>
|
||||
/// Gets the job.
|
||||
/// </summary>
|
||||
@ -59,5 +66,19 @@ namespace MediaBrowser.Controller.Sync
|
||||
/// <param name="targetId">The target identifier.</param>
|
||||
/// <returns>DeviceProfile.</returns>
|
||||
DeviceProfile GetDeviceProfile(string targetId);
|
||||
|
||||
/// <summary>
|
||||
/// Reports the synchronize job item transferred.
|
||||
/// </summary>
|
||||
/// <param name="id">The identifier.</param>
|
||||
/// <returns>Task.</returns>
|
||||
Task ReportSyncJobItemTransferred(string id);
|
||||
|
||||
/// <summary>
|
||||
/// Gets the job item.
|
||||
/// </summary>
|
||||
/// <param name="id">The identifier.</param>
|
||||
/// <returns>SyncJobItem.</returns>
|
||||
SyncJobItem GetJobItem(string id);
|
||||
}
|
||||
}
|
||||
|
@ -550,7 +550,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles
|
||||
}
|
||||
};
|
||||
|
||||
_logger.Debug("{0} {1}", process.StartInfo.FileName, process.StartInfo.Arguments);
|
||||
_logger.Info("{0} {1}", process.StartInfo.FileName, process.StartInfo.Arguments);
|
||||
|
||||
var logFilePath = Path.Combine(_appPaths.LogDirectoryPath, "ffmpeg-sub-extract-" + Guid.NewGuid() + ".txt");
|
||||
Directory.CreateDirectory(Path.GetDirectoryName(logFilePath));
|
||||
@ -604,17 +604,18 @@ namespace MediaBrowser.MediaEncoding.Subtitles
|
||||
{
|
||||
failed = true;
|
||||
|
||||
if (File.Exists(outputPath))
|
||||
try
|
||||
{
|
||||
try
|
||||
{
|
||||
_logger.Info("Deleting extracted subtitle due to failure: ", outputPath);
|
||||
File.Delete(outputPath);
|
||||
}
|
||||
catch (IOException ex)
|
||||
{
|
||||
_logger.ErrorException("Error deleting extracted subtitle {0}", ex, outputPath);
|
||||
}
|
||||
_logger.Info("Deleting extracted subtitle due to failure: {0}", outputPath);
|
||||
File.Delete(outputPath);
|
||||
}
|
||||
catch (FileNotFoundException)
|
||||
{
|
||||
|
||||
}
|
||||
catch (IOException ex)
|
||||
{
|
||||
_logger.ErrorException("Error deleting extracted subtitle {0}", ex, outputPath);
|
||||
}
|
||||
}
|
||||
else if (!File.Exists(outputPath))
|
||||
|
@ -1031,6 +1031,9 @@
|
||||
<Compile Include="..\MediaBrowser.Model\Sync\SyncCategory.cs">
|
||||
<Link>Sync\SyncCategory.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\MediaBrowser.Model\Sync\SyncDialogOptions.cs">
|
||||
<Link>Sync\SyncDialogOptions.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\MediaBrowser.Model\Sync\SyncJob.cs">
|
||||
<Link>Sync\SyncJob.cs</Link>
|
||||
</Compile>
|
||||
@ -1055,6 +1058,9 @@
|
||||
<Compile Include="..\MediaBrowser.Model\Sync\SyncJobStatus.cs">
|
||||
<Link>Sync\SyncJobStatus.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\MediaBrowser.Model\Sync\SyncOptions.cs">
|
||||
<Link>Sync\SyncOptions.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\MediaBrowser.Model\Sync\SyncQuality.cs">
|
||||
<Link>Sync\SyncQuality.cs</Link>
|
||||
</Compile>
|
||||
|
@ -990,6 +990,9 @@
|
||||
<Compile Include="..\MediaBrowser.Model\Sync\SyncCategory.cs">
|
||||
<Link>Sync\SyncCategory.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\MediaBrowser.Model\Sync\SyncDialogOptions.cs">
|
||||
<Link>Sync\SyncDialogOptions.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\MediaBrowser.Model\Sync\SyncJob.cs">
|
||||
<Link>Sync\SyncJob.cs</Link>
|
||||
</Compile>
|
||||
@ -1014,6 +1017,9 @@
|
||||
<Compile Include="..\MediaBrowser.Model\Sync\SyncJobStatus.cs">
|
||||
<Link>Sync\SyncJobStatus.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\MediaBrowser.Model\Sync\SyncOptions.cs">
|
||||
<Link>Sync\SyncOptions.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\MediaBrowser.Model\Sync\SyncQuality.cs">
|
||||
<Link>Sync\SyncQuality.cs</Link>
|
||||
</Compile>
|
||||
|
@ -1386,6 +1386,35 @@ namespace MediaBrowser.Model.ApiClient
|
||||
/// <returns>Task<SyncJob>.</returns>
|
||||
Task<SyncJob> CreateSyncJob(SyncJobRequest request);
|
||||
|
||||
/// <summary>
|
||||
/// Gets the synchronize jobs.
|
||||
/// </summary>
|
||||
/// <param name="query">The query.</param>
|
||||
/// <returns>Task<QueryResult<SyncJob>>.</returns>
|
||||
Task<QueryResult<SyncJob>> GetSyncJobs(SyncJobQuery query);
|
||||
|
||||
/// <summary>
|
||||
/// Gets the synchronize job items.
|
||||
/// </summary>
|
||||
/// <param name="query">The query.</param>
|
||||
/// <returns>Task<QueryResult<SyncJobItem>>.</returns>
|
||||
Task<QueryResult<SyncJobItem>> GetSyncJobItems(SyncJobItemQuery query);
|
||||
|
||||
/// <summary>
|
||||
/// Reports the synchronize job item transferred.
|
||||
/// </summary>
|
||||
/// <param name="id">The identifier.</param>
|
||||
/// <returns>Task.</returns>
|
||||
Task ReportSyncJobItemTransferred(string id);
|
||||
|
||||
/// <summary>
|
||||
/// Gets the synchronize job item file.
|
||||
/// </summary>
|
||||
/// <param name="id">The identifier.</param>
|
||||
/// <param name="cancellationToken">The cancellation token.</param>
|
||||
/// <returns>Task<Stream>.</returns>
|
||||
Task<Stream> GetSyncJobItemFile(string id, CancellationToken cancellationToken);
|
||||
|
||||
/// <summary>
|
||||
/// Opens the web socket.
|
||||
/// </summary>
|
||||
|
@ -13,6 +13,12 @@ namespace MediaBrowser.Model.Logging
|
||||
/// <value>The log level.</value>
|
||||
LogSeverity LogSeverity { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the exception message prefix.
|
||||
/// </summary>
|
||||
/// <value>The exception message prefix.</value>
|
||||
string ExceptionMessagePrefix { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the logger.
|
||||
/// </summary>
|
||||
|
@ -364,6 +364,7 @@
|
||||
<Compile Include="Session\UserDataChangeInfo.cs" />
|
||||
<Compile Include="Devices\ContentUploadHistory.cs" />
|
||||
<Compile Include="Sync\SyncCategory.cs" />
|
||||
<Compile Include="Sync\SyncDialogOptions.cs" />
|
||||
<Compile Include="Sync\SyncHelper.cs" />
|
||||
<Compile Include="Sync\SyncJob.cs" />
|
||||
<Compile Include="Sync\SyncJobCreationResult.cs" />
|
||||
|
24
MediaBrowser.Model/Sync/SyncDialogOptions.cs
Normal file
24
MediaBrowser.Model/Sync/SyncDialogOptions.cs
Normal file
@ -0,0 +1,24 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace MediaBrowser.Model.Sync
|
||||
{
|
||||
public class SyncDialogOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the targets.
|
||||
/// </summary>
|
||||
/// <value>The targets.</value>
|
||||
public List<SyncTarget> Targets { get; set; }
|
||||
/// <summary>
|
||||
/// Gets or sets the options.
|
||||
/// </summary>
|
||||
/// <value>The options.</value>
|
||||
public List<SyncOptions> Options { get; set; }
|
||||
|
||||
public SyncDialogOptions()
|
||||
{
|
||||
Targets = new List<SyncTarget>();
|
||||
Options = new List<SyncOptions>();
|
||||
}
|
||||
}
|
||||
}
|
@ -21,7 +21,10 @@ namespace MediaBrowser.Model.Sync
|
||||
if (item.IsVideo)
|
||||
{
|
||||
options.Add(SyncOptions.Quality);
|
||||
options.Add(SyncOptions.UnwatchedOnly);
|
||||
if (items.Count > 1)
|
||||
{
|
||||
options.Add(SyncOptions.UnwatchedOnly);
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (item.IsFolder && !item.IsMusicGenre && !item.IsArtist && !item.IsType("musicalbum") && !item.IsGameGenre)
|
||||
@ -30,6 +33,12 @@ namespace MediaBrowser.Model.Sync
|
||||
options.Add(SyncOptions.UnwatchedOnly);
|
||||
break;
|
||||
}
|
||||
if (item.IsGenre)
|
||||
{
|
||||
options.Add(SyncOptions.SyncNewContent);
|
||||
options.Add(SyncOptions.ItemLimit);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -19,6 +19,16 @@ namespace MediaBrowser.Model.Sync
|
||||
/// <value>The job identifier.</value>
|
||||
public string JobId { get; set; }
|
||||
/// <summary>
|
||||
/// Gets or sets the target identifier.
|
||||
/// </summary>
|
||||
/// <value>The target identifier.</value>
|
||||
public string TargetId { get; set; }
|
||||
/// <summary>
|
||||
/// Gets or sets the status.
|
||||
/// </summary>
|
||||
/// <value>The status.</value>
|
||||
public SyncJobItemStatus? Status { get; set; }
|
||||
/// <summary>
|
||||
/// Gets or sets a value indicating whether this instance is completed.
|
||||
/// </summary>
|
||||
/// <value><c>null</c> if [is completed] contains no value, <c>true</c> if [is completed]; otherwise, <c>false</c>.</value>
|
||||
|
@ -18,5 +18,10 @@ namespace MediaBrowser.Model.Sync
|
||||
/// </summary>
|
||||
/// <value><c>null</c> if [is completed] contains no value, <c>true</c> if [is completed]; otherwise, <c>false</c>.</value>
|
||||
public bool? IsCompleted { get; set; }
|
||||
/// <summary>
|
||||
/// Gets or sets the target identifier.
|
||||
/// </summary>
|
||||
/// <value>The target identifier.</value>
|
||||
public string TargetId { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -12,7 +12,7 @@ namespace MediaBrowser.Server.Implementations.EntryPoints
|
||||
private readonly IApplicationHost _applicationHost;
|
||||
private readonly INetworkManager _networkManager;
|
||||
private readonly IHttpClient _httpClient;
|
||||
private const string MbAdminUrl = "https://www.mb3admin.com/admin/";
|
||||
private const string MbAdminUrl = "http://www.mb3admin.com/admin/";
|
||||
|
||||
public UsageReporter(IApplicationHost applicationHost, INetworkManager networkManager, IHttpClient httpClient)
|
||||
{
|
||||
|
@ -628,21 +628,21 @@
|
||||
"ButtonLinkMyMediaBrowserAccount": "Verkn\u00fcpfe jetzt meinen Account",
|
||||
"MessageConnectAccountRequiredToInviteGuest": "Um G\u00e4ste einladen zu k\u00f6nnen, musst du zuerst deinen Media Browser Account auf diesem Server verkn\u00fcpfen.",
|
||||
"ButtonSync": "Synchronisieren",
|
||||
"SyncMedia": "Sync Media",
|
||||
"HeaderCancelSyncJob": "Cancel Sync",
|
||||
"CancelSyncJobConfirmation": "Are you sure you wish to cancel this sync job?",
|
||||
"SyncMedia": "Synchronisiere Medien",
|
||||
"HeaderCancelSyncJob": "Synchronisierung abbrechen",
|
||||
"CancelSyncJobConfirmation": "M\u00f6chten Sie die Synchronisations-Aufgabe wirklich abbrechen?",
|
||||
"TabSync": "Synchronisieren",
|
||||
"MessagePleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"MessageSyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelQuality": "Quality:",
|
||||
"OptionHigh": "High",
|
||||
"OptionMedium": "Medium",
|
||||
"OptionLow": "Low",
|
||||
"HeaderSettings": "Settings",
|
||||
"OptionAutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to these folders will be automatically synced to the device.",
|
||||
"OptionSyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"OptionSyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched."
|
||||
"MessagePleaseSelectDeviceToSyncTo": "Bitte w\u00e4hlen Sie ein zu synchronisierendes Ger\u00e4t.",
|
||||
"MessageSyncJobCreated": "Synchronisations-Aufgabe erstellt.",
|
||||
"LabelSyncTo": "Synchronisiere mit:",
|
||||
"LabelSyncJobName": "Synchronisations-Aufgabe:",
|
||||
"LabelQuality": "Qualit\u00e4t:",
|
||||
"OptionHigh": "Hoch",
|
||||
"OptionMedium": "Mittel",
|
||||
"OptionLow": "Niedrig",
|
||||
"HeaderSettings": "Einstellungen",
|
||||
"OptionAutomaticallySyncNewContent": "Synchronisiere neue Inhalte automatisch",
|
||||
"OptionAutomaticallySyncNewContentHelp": "Neu hinzugef\u00fcgte Inhalte zu diesen Verzeichnissen werden automatisch zum Ger\u00e4t synchronisiert.",
|
||||
"OptionSyncUnwatchedVideosOnly": "Synchronisiere nur ungesehene Videos.",
|
||||
"OptionSyncUnwatchedVideosOnlyHelp": "Nur ungesehene Video werden synchronisiert. Videos werden entfernt sobald diese auf dem Ger\u00e4t angeschaut wurden."
|
||||
}
|
@ -627,15 +627,15 @@
|
||||
"HeaderInviteGuest": "Agregar un Invitado",
|
||||
"ButtonLinkMyMediaBrowserAccount": "Enlazar mi cuenta ahora",
|
||||
"MessageConnectAccountRequiredToInviteGuest": "Para poder agregar invitados primero necesitas vincular tu cuenta de Media Browser a este servidor.",
|
||||
"ButtonSync": "Sinc",
|
||||
"ButtonSync": "SInc",
|
||||
"SyncMedia": "Sincronizar Medios",
|
||||
"HeaderCancelSyncJob": "Cancelar Sincronizaci\u00f3n",
|
||||
"HeaderCancelSyncJob": "Cancelar Sinc",
|
||||
"CancelSyncJobConfirmation": "\u00bfEsta seguro de querer cancelar este trabajo de sincronizaci\u00f3n?",
|
||||
"TabSync": "Sinc",
|
||||
"MessagePleaseSelectDeviceToSyncTo": "Por favor seleccione un dispositivo con el que desea sincronizar.",
|
||||
"MessageSyncJobCreated": "Trabajo de sincornizaci\u00f3n creado.",
|
||||
"MessageSyncJobCreated": "Trabajo de sinc creado.",
|
||||
"LabelSyncTo": "Sincronizar con:",
|
||||
"LabelSyncJobName": "Nombre del trabajo de sincronizaci\u00f3n:",
|
||||
"LabelSyncJobName": "Nombre del trabajo de sinc:",
|
||||
"LabelQuality": "Calidad:",
|
||||
"OptionHigh": "Alta",
|
||||
"OptionMedium": "Media",
|
||||
|
@ -628,18 +628,18 @@
|
||||
"ButtonLinkMyMediaBrowserAccount": "Lier \u00e0 mon compte maintenant",
|
||||
"MessageConnectAccountRequiredToInviteGuest": "Pour inviter des personnes vous devez d'abord lier votre compte Media Browser \u00e0 ce serveur.",
|
||||
"ButtonSync": "Sync",
|
||||
"SyncMedia": "Sync Media",
|
||||
"HeaderCancelSyncJob": "Cancel Sync",
|
||||
"CancelSyncJobConfirmation": "Are you sure you wish to cancel this sync job?",
|
||||
"SyncMedia": "Sync. les m\u00e9dias",
|
||||
"HeaderCancelSyncJob": "Annuler la sync.",
|
||||
"CancelSyncJobConfirmation": "\u00cates vous sure de vouloir annuler cette synchronisation?",
|
||||
"TabSync": "Sync",
|
||||
"MessagePleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"MessageSyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"MessagePleaseSelectDeviceToSyncTo": "Veuillez s\u00e9lectionner un p\u00e9riph\u00e9rique avec lequel se synchroniser.",
|
||||
"MessageSyncJobCreated": "Job de synchronisation cr\u00e9\u00e9.",
|
||||
"LabelSyncTo": "Synchronis\u00e9 avec:",
|
||||
"LabelSyncJobName": "Nom du job de synchronisation:",
|
||||
"LabelQuality": "Quality:",
|
||||
"OptionHigh": "High",
|
||||
"OptionMedium": "Medium",
|
||||
"OptionLow": "Low",
|
||||
"OptionLow": "Basse",
|
||||
"HeaderSettings": "Param\u00e8tres",
|
||||
"OptionAutomaticallySyncNewContent": "Synchroniser automatiquement le nouveau contenu",
|
||||
"OptionAutomaticallySyncNewContentHelp": "Le nouveau contenu ajout\u00e9 \u00e0 ces r\u00e9pertoires sera automatiquement synchronis\u00e9 \u00e0 votre p\u00e9riph\u00e9rique.",
|
||||
|
@ -652,5 +652,7 @@
|
||||
"OptionAutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to these folders will be automatically synced to the device.",
|
||||
"OptionSyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"OptionSyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched."
|
||||
"OptionSyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched.",
|
||||
"LabelItemLimit": "Item limit:",
|
||||
"LabelItemLimitHelp": "Optional. Set a limit to the number of items that will be synced."
|
||||
}
|
||||
|
@ -628,21 +628,21 @@
|
||||
"ButtonLinkMyMediaBrowserAccount": "\u0422\u0456\u0440\u043a\u0435\u043b\u0433\u0456\u043c\u0434\u0456 \u0431\u0430\u0439\u043b\u0430\u043d\u044b\u0441\u0442\u044b\u0440\u0443",
|
||||
"MessageConnectAccountRequiredToInviteGuest": "\u049a\u043e\u043d\u0430\u049b\u0442\u0430\u0440\u0434\u044b \u0448\u0430\u049b\u044b\u0440\u0443 \u04af\u0448\u0456\u043d \u0435\u04a3 \u0430\u043b\u0434\u044b\u043d\u0434\u0430 \u043e\u0441\u044b \u0441\u0435\u0440\u0432\u0435\u0440\u0433\u0435 Media Browser \u0442\u0456\u0440\u043a\u0435\u043b\u0433\u0456\u04a3\u0456\u0437\u0434\u0456 \u0431\u0430\u0439\u043b\u0430\u043d\u044b\u0441\u0442\u0440\u0443\u044b\u04a3\u044b\u0437 \u049b\u0430\u0436\u0435\u0442.",
|
||||
"ButtonSync": "\u0421\u0438\u043d\u0445\u0440\u043e",
|
||||
"SyncMedia": "Sync Media",
|
||||
"HeaderCancelSyncJob": "Cancel Sync",
|
||||
"CancelSyncJobConfirmation": "Are you sure you wish to cancel this sync job?",
|
||||
"SyncMedia": "\u0422\u0430\u0441\u0443\u0448\u044b \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0434\u0430\u0443",
|
||||
"HeaderCancelSyncJob": "\u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0434\u0430\u0443\u0434\u044b \u0431\u043e\u043b\u0434\u044b\u0440\u043c\u0430\u0443",
|
||||
"CancelSyncJobConfirmation": "\u0428\u044b\u043d\u044b\u043c\u0435\u043d \u043e\u0441\u044b \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0434\u0430\u0443 \u0436\u04b1\u043c\u044b\u0441\u0442\u044b \u0431\u043e\u043b\u0434\u044b\u0440\u043c\u0430\u0443 \u049b\u0430\u0436\u0435\u0442 \u043f\u0435?",
|
||||
"TabSync": "\u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0434\u0430\u0443",
|
||||
"MessagePleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"MessageSyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelQuality": "Quality:",
|
||||
"OptionHigh": "High",
|
||||
"OptionMedium": "Medium",
|
||||
"OptionLow": "Low",
|
||||
"HeaderSettings": "Settings",
|
||||
"OptionAutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to these folders will be automatically synced to the device.",
|
||||
"OptionSyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"OptionSyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched."
|
||||
"MessagePleaseSelectDeviceToSyncTo": "\u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0434\u0430\u0439\u0442\u044b\u043d \u049b\u04b1\u0440\u044b\u043b\u0493\u044b\u043d\u044b \u0442\u0430\u04a3\u0434\u0430\u04a3\u044b\u0437.",
|
||||
"MessageSyncJobCreated": "\u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0434\u0430\u0443 \u0436\u04b1\u043c\u044b\u0441\u044b \u0436\u0430\u0441\u0430\u043b\u0434\u044b.",
|
||||
"LabelSyncTo": "\u041c\u044b\u043d\u0430\u0493\u0430\u043d \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0434\u0430\u0443:",
|
||||
"LabelSyncJobName": "\u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0434\u0430\u0443 \u0436\u04b1\u043c\u044b\u0441\u044b\u043d\u044b\u04a3 \u0430\u0442\u044b:",
|
||||
"LabelQuality": "\u0421\u0430\u043f\u0430\u0441\u044b:",
|
||||
"OptionHigh": "\u0416\u043e\u0493\u0430\u0440\u044b",
|
||||
"OptionMedium": "\u041e\u0440\u0442\u0430\u0448\u0430",
|
||||
"OptionLow": "\u0422\u04e9\u043c\u0435\u043d",
|
||||
"HeaderSettings": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043b\u0435\u0440",
|
||||
"OptionAutomaticallySyncNewContent": "\u0416\u0430\u04a3\u0430 \u043c\u0430\u0437\u043c\u04b1\u043d\u0434\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0442\u044b \u0442\u04af\u0440\u0434\u0435 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0434\u0430\u0443",
|
||||
"OptionAutomaticallySyncNewContentHelp": "\u041e\u0441\u044b \u049b\u0430\u043b\u0442\u0430\u043b\u0430\u0440\u0493\u0430 \u04af\u0441\u0442\u0435\u043b\u0456\u043d\u0433\u0435\u043d \u0436\u0430\u04a3\u0430 \u043c\u0430\u0437\u043c\u04b1\u043d \u049b\u04b1\u0440\u044b\u043b\u0493\u044b\u043c\u0435\u043d \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0442\u044b \u0442\u04af\u0440\u0434\u0435 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0434\u0430\u043b\u0430\u0434\u044b.",
|
||||
"OptionSyncUnwatchedVideosOnly": "\u0422\u0435\u043a \u049b\u0430\u043d\u0430 \u043a\u04e9\u0440\u0456\u043b\u043c\u0435\u0433\u0435\u043d \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0440\u0434\u0456 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0434\u0430\u0443",
|
||||
"OptionSyncUnwatchedVideosOnlyHelp": "\u0422\u0435\u043a \u049b\u0430\u043d\u0430 \u049b\u0430\u0440\u0430\u0440\u043c\u0430\u0493\u0430\u043d \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0440 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0434\u0430\u043b\u0430\u0434\u044b, \u0436\u04d9\u043d\u0435 \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0440 \u049b\u0430\u0440\u0430\u043b\u0493\u0430\u043d\u043d\u0430\u043d \u043a\u0435\u0439\u0456\u043d \u049b\u04b1\u0440\u044b\u043b\u0493\u044b\u0434\u0430\u043d \u0430\u043b\u0430\u0441\u0442\u0430\u043b\u0430\u0434\u044b."
|
||||
}
|
@ -628,21 +628,21 @@
|
||||
"ButtonLinkMyMediaBrowserAccount": "Koppel mijn account nu",
|
||||
"MessageConnectAccountRequiredToInviteGuest": "Om gasten uit te kunnen nodigen moet je Media Browser account aan deze server gekoppeld worden.",
|
||||
"ButtonSync": "Synchronisatie",
|
||||
"SyncMedia": "Sync Media",
|
||||
"HeaderCancelSyncJob": "Cancel Sync",
|
||||
"CancelSyncJobConfirmation": "Are you sure you wish to cancel this sync job?",
|
||||
"SyncMedia": "Synchroniseer media",
|
||||
"HeaderCancelSyncJob": "Annuleer synchronisatie",
|
||||
"CancelSyncJobConfirmation": "Weet je zeker dat je het synchroniseren wilt afbreken?",
|
||||
"TabSync": "Synchronisatie",
|
||||
"MessagePleaseSelectDeviceToSyncTo": "Please select a device to sync to.",
|
||||
"MessageSyncJobCreated": "Sync job created.",
|
||||
"LabelSyncTo": "Sync to:",
|
||||
"LabelSyncJobName": "Sync job name:",
|
||||
"LabelQuality": "Quality:",
|
||||
"OptionHigh": "High",
|
||||
"MessagePleaseSelectDeviceToSyncTo": "Selecteer een apparaat om mee te synchroniseren.",
|
||||
"MessageSyncJobCreated": "Synchroniseer taak gemaakt.",
|
||||
"LabelSyncTo": "Synchroniseer naar:",
|
||||
"LabelSyncJobName": "Naam synchroniseer taak:",
|
||||
"LabelQuality": "Kwaliteit",
|
||||
"OptionHigh": "Hoog",
|
||||
"OptionMedium": "Medium",
|
||||
"OptionLow": "Low",
|
||||
"HeaderSettings": "Settings",
|
||||
"OptionAutomaticallySyncNewContent": "Automatically sync new content",
|
||||
"OptionAutomaticallySyncNewContentHelp": "New content added to these folders will be automatically synced to the device.",
|
||||
"OptionSyncUnwatchedVideosOnly": "Sync unwatched videos only",
|
||||
"OptionSyncUnwatchedVideosOnlyHelp": "Only unwatched videos will be synced, and videos will be removed from the device as they are watched."
|
||||
"OptionLow": "Laag",
|
||||
"HeaderSettings": "Instellingen",
|
||||
"OptionAutomaticallySyncNewContent": "Nieuwe inhoud automatisch synchroniseren",
|
||||
"OptionAutomaticallySyncNewContentHelp": "Nieuwe inhoud in deze mappen zal automatisch gesynchroniseerd worden met het apparaat.",
|
||||
"OptionSyncUnwatchedVideosOnly": "Synchroniseer alleen ongeziene video's",
|
||||
"OptionSyncUnwatchedVideosOnlyHelp": "Alleen ongeziene video's zulle gesynchroniseerd worden en van het apparaat verwijderd worden als ze gezien zijn."
|
||||
}
|
@ -228,8 +228,8 @@
|
||||
"OptionBlockMovies": "\u0424\u0438\u043b\u044c\u043c\u044b",
|
||||
"OptionBlockBooks": "\u041a\u043d\u0438\u0433\u0438",
|
||||
"OptionBlockGames": "\u0418\u0433\u0440\u044b",
|
||||
"OptionBlockLiveTvPrograms": "\u041f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u044d\u0444\u0438\u0440\u043d\u043e\u0433\u043e \u0422\u0412",
|
||||
"OptionBlockLiveTvChannels": "\u041a\u0430\u043d\u0430\u043b\u044b \u044d\u0444\u0438\u0440\u043d\u043e\u0433\u043e \u0422\u0412",
|
||||
"OptionBlockLiveTvPrograms": "\u041f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0422\u0412-\u044d\u0444\u0438\u0440\u0430",
|
||||
"OptionBlockLiveTvChannels": "\u041a\u0430\u043d\u0430\u043b\u044b \u0422\u0412-\u044d\u0444\u0438\u0440\u0430",
|
||||
"OptionBlockChannelContent": "\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u043a\u0430\u043d\u0430\u043b\u0430",
|
||||
"ButtonRevoke": "\u041e\u0442\u043e\u0437\u0432\u0430\u0442\u044c",
|
||||
"MessageConfirmRevokeApiKey": "\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u043e\u0442\u043e\u0437\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0439 API-\u043a\u043b\u044e\u0447? \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043a Media Browser \u0431\u0443\u0434\u0435\u0442 \u0440\u0435\u0437\u043a\u043e \u043e\u0431\u043e\u0440\u0432\u0430\u043d\u043e.",
|
||||
@ -259,7 +259,7 @@
|
||||
"OptionOn": "\u0412\u043a\u043b",
|
||||
"HeaderFields": "\u041f\u043e\u043b\u044f",
|
||||
"HeaderFieldsHelp": "\u0421\u0434\u0432\u0438\u043d\u044c\u0442\u0435 \u0432\u044b\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u044c \u043a \u00ab\u0412\u042b\u041a\u041b\u00bb, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u0435 \u0438 \u0437\u0430\u043f\u0440\u0435\u0442\u0438\u0442\u044c \u0435\u0433\u043e \u0434\u0430\u043d\u043d\u044b\u043c \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f.",
|
||||
"HeaderLiveTV": "\u042d\u0444\u0438\u0440\u043d\u043e\u0435 \u0422\u0412",
|
||||
"HeaderLiveTV": "\u0422\u0412-\u044d\u0444\u0438\u0440",
|
||||
"MissingLocalTrailer": "\u041d\u0435\u0442 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0442\u0440\u0435\u0439\u043b\u0435\u0440\u0430.",
|
||||
"MissingPrimaryImage": "\u041d\u0435\u0442 \u043f\u0435\u0440\u0432\u0438\u0447\u043d\u043e\u0433\u043e \u0440\u0438\u0441\u0443\u043d\u043a\u0430.",
|
||||
"MissingBackdropImage": "\u041d\u0435\u0442 \u0440\u0438\u0441\u0443\u043d\u043a\u0430 \u0437\u0430\u0434\u043d\u0438\u043a\u0430.",
|
||||
@ -305,7 +305,7 @@
|
||||
"TabLibrary": "\u041c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0430",
|
||||
"TabMetadata": "\u041c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435",
|
||||
"TabDLNA": "DLNA",
|
||||
"TabLiveTV": "\u042d\u0444\u0438\u0440\u043d\u043e\u0435 \u0422\u0412",
|
||||
"TabLiveTV": "\u0422\u0412-\u044d\u0444\u0438\u0440",
|
||||
"TabAutoOrganize": "\u0410\u0432\u0442\u043e\u0440\u0435\u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f",
|
||||
"TabPlugins": "\u041f\u043b\u0430\u0433\u0438\u043d\u044b",
|
||||
"TabAdvanced": "\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e",
|
||||
@ -591,7 +591,7 @@
|
||||
"DashboardTourCinemaMode": "\u0420\u0435\u0436\u0438\u043c \u043a\u0438\u043d\u043e\u0442\u0435\u0430\u0442\u0440\u0430 \u043f\u0440\u0438\u0432\u043d\u043e\u0441\u0438\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043a\u0438\u043d\u043e\u0437\u0430\u043b\u0430 \u043f\u0440\u044f\u043c\u0438\u043a\u043e\u043c \u0432 \u0432\u0430\u0448\u0443 \u0433\u043e\u0441\u0442\u0438\u043d\u0443\u044e, \u0432\u043c\u0435\u0441\u0442\u0435 \u0441\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c\u044e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u0442\u0440\u0435\u0439\u043b\u0435\u0440\u044b \u0438 \u043d\u0435\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u0437\u0430\u0441\u0442\u0430\u0432\u043a\u0438 \u043f\u0435\u0440\u0435\u0434 \u0433\u043b\u0430\u0432\u043d\u044b\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u043c.",
|
||||
"DashboardTourChapters": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0440\u0438\u0441\u0443\u043d\u043a\u043e\u0432 \u0441\u0446\u0435\u043d \u043a \u0432\u0438\u0434\u0435\u043e, \u0434\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u0438\u0432\u043b\u0435\u043a\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u0435\u0437\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430.",
|
||||
"DashboardTourSubtitles": "\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0439\u0442\u0435 \u0441\u0443\u0431\u0442\u0438\u0442\u0440\u044b \u0434\u043b\u044f \u0432\u0438\u0434\u0435\u043e \u043d\u0430 \u043b\u044e\u0431\u043e\u043c \u044f\u0437\u044b\u043a\u0435.",
|
||||
"DashboardTourPlugins": "\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0439\u0442\u0435 \u043f\u043b\u0430\u0433\u0438\u043d\u044b, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u043a\u0430\u043d\u0430\u043b\u043e\u0432 \u0432\u0438\u0434\u0435\u043e, \u044d\u0444\u0438\u0440\u043d\u043e\u0433\u043e \u0442\u0432, \u0441\u043a\u0430\u043d\u043d\u0435\u0440\u043e\u0432 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0442.\u043f.",
|
||||
"DashboardTourPlugins": "\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0439\u0442\u0435 \u043f\u043b\u0430\u0433\u0438\u043d\u044b, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u043a\u0430\u043d\u0430\u043b\u043e\u0432 \u0432\u0438\u0434\u0435\u043e, \u0422\u0412-\u044d\u0444\u0438\u0440\u0430, \u0441\u043a\u0430\u043d\u043d\u0435\u0440\u043e\u0432 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0442.\u043f.",
|
||||
"DashboardTourNotifications": "\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u043e \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0445 \u0441\u043e\u0431\u044b\u0442\u0438\u044f\u0445 \u043d\u0430 \u0432\u0430\u0448\u0435 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u044d-\u043f\u043e\u0447\u0442\u0443 \u0438 \u0442.\u043f.",
|
||||
"DashboardTourScheduledTasks": "\u0421\u0432\u043e\u0431\u043e\u0434\u043d\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0439\u0442\u0435 \u0434\u043e\u043b\u0433\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u043c\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447. \u041f\u0440\u0438\u043d\u0438\u043c\u0430\u0439\u0442\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043a\u043e\u0433\u0434\u0430 \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c\u0441\u044f, \u0438 \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0447\u0430\u0441\u0442\u043e.",
|
||||
"DashboardTourMobile": "\u0418\u043d\u0444\u043e\u043f\u0430\u043d\u0435\u043b\u044c Media Browser \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u043d\u0430 \u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d\u0430\u0445 \u0438 \u043f\u043b\u0430\u043d\u0448\u0435\u0442\u0430\u0445. \u0423\u043f\u0440\u0430\u0432\u043b\u044f\u0439\u0442\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u0441 \u0432\u0430\u0448\u0435\u0439 \u043b\u0430\u0434\u043e\u043d\u0438 \u0432 \u043b\u044e\u0431\u043e\u0435 \u0432\u0440\u0435\u043c\u044f, \u0432 \u043b\u044e\u0431\u043e\u043c \u043c\u0435\u0441\u0442\u0435.",
|
||||
@ -627,11 +627,11 @@
|
||||
"HeaderInviteGuest": "\u041f\u0440\u0438\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u0435 \u0433\u043e\u0441\u0442\u044f",
|
||||
"ButtonLinkMyMediaBrowserAccount": "\u0421\u0432\u044f\u0437\u0430\u0442\u044c \u043c\u043e\u044e \u0443\u0447\u0451\u0442\u043d\u0443\u044e \u0437\u0430\u043f\u0438\u0441\u044c",
|
||||
"MessageConnectAccountRequiredToInviteGuest": "\u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0438\u0433\u043b\u0430\u0448\u0430\u0442\u044c \u0433\u043e\u0441\u0442\u0435\u0439, \u0432\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e, \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u0441\u0432\u044f\u0437\u0430\u0442\u044c \u0441\u0432\u043e\u044e \u0443\u0447\u0451\u0442\u043d\u0443\u044e \u0437\u0430\u043f\u0438\u0441\u044c Media Browser \u0441 \u0434\u0430\u043d\u043d\u044b\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c.",
|
||||
"ButtonSync": "Sync",
|
||||
"ButtonSync": "\u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c",
|
||||
"SyncMedia": "\u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u043c\u0435\u0434\u0438\u0430\u0434\u0430\u043d\u043d\u044b\u0445",
|
||||
"HeaderCancelSyncJob": "\u041e\u0442\u043c\u0435\u043d\u0430 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438",
|
||||
"CancelSyncJobConfirmation": "\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u043e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u043e\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u0435 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438?",
|
||||
"TabSync": "Sync",
|
||||
"TabSync": "\u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044f",
|
||||
"MessagePleaseSelectDeviceToSyncTo": "\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0434\u043b\u044f \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438.",
|
||||
"MessageSyncJobCreated": "\u0417\u0430\u0434\u0430\u043d\u0438\u0435 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u043e.",
|
||||
"LabelSyncTo": "\u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u0441:",
|
||||
|
@ -232,10 +232,10 @@
|
||||
"HeaderFeatureAccess": "Feature Access",
|
||||
"OptionAllowMediaPlayback": "Allow media playback",
|
||||
"OptionAllowBrowsingLiveTv": "Allow browsing of live tv",
|
||||
"OptionAllowDeleteLibraryContent": "Allow this user to delete library content",
|
||||
"OptionAllowDeleteLibraryContent": "Allow deletion of library content",
|
||||
"OptionAllowManageLiveTv": "Allow management of live tv recordings",
|
||||
"OptionAllowRemoteControlOthers": "Allow this user to remote control other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow this user to remote control shared devices",
|
||||
"OptionAllowRemoteControlOthers": "Allow remote control of other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow remote control of shared devices",
|
||||
"OptionAllowRemoteSharedDevicesHelp": "Dlna devices are considered shared until a user begins controlling it.",
|
||||
"HeaderRemoteControl": "Remote Control",
|
||||
"OptionMissingTmdbId": "Missing Tmdb Id",
|
||||
|
@ -232,10 +232,10 @@
|
||||
"HeaderFeatureAccess": "Feature Access",
|
||||
"OptionAllowMediaPlayback": "Allow media playback",
|
||||
"OptionAllowBrowsingLiveTv": "Allow browsing of live tv",
|
||||
"OptionAllowDeleteLibraryContent": "Allow this user to delete library content",
|
||||
"OptionAllowDeleteLibraryContent": "Allow deletion of library content",
|
||||
"OptionAllowManageLiveTv": "Allow management of live tv recordings",
|
||||
"OptionAllowRemoteControlOthers": "Allow this user to remote control other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow this user to remote control shared devices",
|
||||
"OptionAllowRemoteControlOthers": "Allow remote control of other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow remote control of shared devices",
|
||||
"OptionAllowRemoteSharedDevicesHelp": "Dlna devices are considered shared until a user begins controlling it.",
|
||||
"HeaderRemoteControl": "Remote Control",
|
||||
"OptionMissingTmdbId": "Missing Tmdb Id",
|
||||
|
@ -232,10 +232,10 @@
|
||||
"HeaderFeatureAccess": "P\u0159\u00edstup k funkc\u00edm",
|
||||
"OptionAllowMediaPlayback": "Povolit p\u0159ehr\u00e1v\u00e1n\u00ed medi\u00ed",
|
||||
"OptionAllowBrowsingLiveTv": "Provolit \u017eiv\u00e9 vys\u00edl\u00e1n\u00ed",
|
||||
"OptionAllowDeleteLibraryContent": "Povolit tomuto u\u017eivateli odstra\u0148ovat obsah z knihovny m\u00e9di\u00ed",
|
||||
"OptionAllowDeleteLibraryContent": "Allow deletion of library content",
|
||||
"OptionAllowManageLiveTv": "Povolit spr\u00e1vu nahr\u00e1vek \u017eiv\u00e9ho vys\u00edl\u00e1n\u00ed",
|
||||
"OptionAllowRemoteControlOthers": "Povolit tomuto u\u017eivateli vzd\u00e1lenou kontrolu ostatn\u00edch u\u017eivatel\u016f",
|
||||
"OptionAllowRemoteSharedDevices": "Allow this user to remote control shared devices",
|
||||
"OptionAllowRemoteControlOthers": "Allow remote control of other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow remote control of shared devices",
|
||||
"OptionAllowRemoteSharedDevicesHelp": "Dlna devices are considered shared until a user begins controlling it.",
|
||||
"HeaderRemoteControl": "Remote Control",
|
||||
"OptionMissingTmdbId": "Chyb\u011bj\u00edc\u00ed Tmdb Id",
|
||||
|
@ -232,10 +232,10 @@
|
||||
"HeaderFeatureAccess": "Funktion Adgang",
|
||||
"OptionAllowMediaPlayback": "Tillad medie afspilning",
|
||||
"OptionAllowBrowsingLiveTv": "Tillad gennemsyn af direkte tv",
|
||||
"OptionAllowDeleteLibraryContent": "Tillad denne bruger at slette biblioteks indhold",
|
||||
"OptionAllowDeleteLibraryContent": "Allow deletion of library content",
|
||||
"OptionAllowManageLiveTv": "Tillad administration af direkte tv optagelser",
|
||||
"OptionAllowRemoteControlOthers": "Tillad denne bruger af fjern kontrollerer andre brugere",
|
||||
"OptionAllowRemoteSharedDevices": "Allow this user to remote control shared devices",
|
||||
"OptionAllowRemoteControlOthers": "Allow remote control of other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow remote control of shared devices",
|
||||
"OptionAllowRemoteSharedDevicesHelp": "Dlna devices are considered shared until a user begins controlling it.",
|
||||
"HeaderRemoteControl": "Remote Control",
|
||||
"OptionMissingTmdbId": "Manglende Tmdb Id",
|
||||
|
@ -232,10 +232,10 @@
|
||||
"HeaderFeatureAccess": "Funktionszugriff",
|
||||
"OptionAllowMediaPlayback": "Erlaube das Abspielen von Medien",
|
||||
"OptionAllowBrowsingLiveTv": "Erlaube das durchsuchen von Live-TV",
|
||||
"OptionAllowDeleteLibraryContent": "Erlaube diesem Benutzer das L\u00f6schen von Bibliothelkeninhalten",
|
||||
"OptionAllowDeleteLibraryContent": "Erlaube L\u00f6schen von Bibliotheken-Inhalten.",
|
||||
"OptionAllowManageLiveTv": "Erlaube die Verwaltung von Live-TV Aufnahmen",
|
||||
"OptionAllowRemoteControlOthers": "Erlaube diesem Benutzer, andere Benutzer fernzusteuern",
|
||||
"OptionAllowRemoteSharedDevices": "Erlaube diesem Benutzer geteilte Ger\u00e4te fernzusteuern",
|
||||
"OptionAllowRemoteControlOthers": "Erlaube Fernsteuerung anderer Benutzer",
|
||||
"OptionAllowRemoteSharedDevices": "Erlaube Fernsteuerung geteilter Ger\u00e4te",
|
||||
"OptionAllowRemoteSharedDevicesHelp": "DLNA-Ger\u00e4te werden gemeinsam genutzt, bis ein Benutzer die Steuerung \u00fcbernimmt.",
|
||||
"HeaderRemoteControl": "Fernsteuerung",
|
||||
"OptionMissingTmdbId": "Fehlende Tmdb Id",
|
||||
@ -1278,6 +1278,6 @@
|
||||
"LabelTag": "Tag:",
|
||||
"LabelEnableSingleImageInDidlLimit": "Begrenze auf ein eingebundenes Bild",
|
||||
"LabelEnableSingleImageInDidlLimitHelp": "Einige Ger\u00e4te zeigen m\u00f6glicherweise Darstellungsfehler wenn mehrere Bilder mit Didl eingebunden wurden.",
|
||||
"TabActivity": "Activity",
|
||||
"TitleSync": "Sync"
|
||||
"TabActivity": "Aktivit\u00e4t",
|
||||
"TitleSync": "Synchronisation"
|
||||
}
|
@ -232,10 +232,10 @@
|
||||
"HeaderFeatureAccess": "Feature Access",
|
||||
"OptionAllowMediaPlayback": "Allow media playback",
|
||||
"OptionAllowBrowsingLiveTv": "Allow browsing of live tv",
|
||||
"OptionAllowDeleteLibraryContent": "Allow this user to delete library content",
|
||||
"OptionAllowDeleteLibraryContent": "Allow deletion of library content",
|
||||
"OptionAllowManageLiveTv": "Allow management of live tv recordings",
|
||||
"OptionAllowRemoteControlOthers": "Allow this user to remote control other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow this user to remote control shared devices",
|
||||
"OptionAllowRemoteControlOthers": "Allow remote control of other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow remote control of shared devices",
|
||||
"OptionAllowRemoteSharedDevicesHelp": "Dlna devices are considered shared until a user begins controlling it.",
|
||||
"HeaderRemoteControl": "Remote Control",
|
||||
"OptionMissingTmdbId": "Missing Tmdb Id",
|
||||
|
@ -232,10 +232,10 @@
|
||||
"HeaderFeatureAccess": "Feature Access",
|
||||
"OptionAllowMediaPlayback": "Allow media playback",
|
||||
"OptionAllowBrowsingLiveTv": "Allow browsing of live tv",
|
||||
"OptionAllowDeleteLibraryContent": "Allow this user to delete library content",
|
||||
"OptionAllowDeleteLibraryContent": "Allow deletion of library content",
|
||||
"OptionAllowManageLiveTv": "Allow management of live tv recordings",
|
||||
"OptionAllowRemoteControlOthers": "Allow this user to remote control other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow this user to remote control shared devices",
|
||||
"OptionAllowRemoteControlOthers": "Allow remote control of other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow remote control of shared devices",
|
||||
"OptionAllowRemoteSharedDevicesHelp": "Dlna devices are considered shared until a user begins controlling it.",
|
||||
"HeaderRemoteControl": "Remote Control",
|
||||
"OptionMissingTmdbId": "Missing Tmdb Id",
|
||||
|
@ -232,10 +232,10 @@
|
||||
"HeaderFeatureAccess": "Feature Access",
|
||||
"OptionAllowMediaPlayback": "Allow media playback",
|
||||
"OptionAllowBrowsingLiveTv": "Allow browsing of live tv",
|
||||
"OptionAllowDeleteLibraryContent": "Allow this user to delete library content",
|
||||
"OptionAllowDeleteLibraryContent": "Allow deletion of library content",
|
||||
"OptionAllowManageLiveTv": "Allow management of live tv recordings",
|
||||
"OptionAllowRemoteControlOthers": "Allow this user to remote control other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow this user to remote control shared devices",
|
||||
"OptionAllowRemoteControlOthers": "Allow remote control of other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow remote control of shared devices",
|
||||
"OptionAllowRemoteSharedDevicesHelp": "Dlna devices are considered shared until a user begins controlling it.",
|
||||
"HeaderRemoteControl": "Remote Control",
|
||||
"OptionMissingTmdbId": "Missing Tmdb Id",
|
||||
|
@ -232,10 +232,10 @@
|
||||
"HeaderFeatureAccess": "Permisos de acceso",
|
||||
"OptionAllowMediaPlayback": "Permitir reproducci\u00f3n de medios",
|
||||
"OptionAllowBrowsingLiveTv": "Acceso a TV en vivo",
|
||||
"OptionAllowDeleteLibraryContent": "Permitir a este usuario eliminar contenido de la biblioteca",
|
||||
"OptionAllowDeleteLibraryContent": "Allow deletion of library content",
|
||||
"OptionAllowManageLiveTv": "Permitir la gesti\u00f3n de las grabaciones de TV en vivo",
|
||||
"OptionAllowRemoteControlOthers": "Permitir a este usuario controlar rem\u00f3tamente a otros usuarios",
|
||||
"OptionAllowRemoteSharedDevices": "Allow this user to remote control shared devices",
|
||||
"OptionAllowRemoteControlOthers": "Allow remote control of other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow remote control of shared devices",
|
||||
"OptionAllowRemoteSharedDevicesHelp": "Dlna devices are considered shared until a user begins controlling it.",
|
||||
"HeaderRemoteControl": "Remote Control",
|
||||
"OptionMissingTmdbId": "Falta Tmdb Id",
|
||||
|
@ -232,10 +232,10 @@
|
||||
"HeaderFeatureAccess": "Permisos de acceso",
|
||||
"OptionAllowMediaPlayback": "Permitir reproducci\u00f3n de medios",
|
||||
"OptionAllowBrowsingLiveTv": "Permitir acceder a TV en vivo",
|
||||
"OptionAllowDeleteLibraryContent": "Permitir a este usuario eliminar contenido de la librer\u00eda",
|
||||
"OptionAllowDeleteLibraryContent": "Allow deletion of library content",
|
||||
"OptionAllowManageLiveTv": "Permitir administrar grabaciones de TV en vivo",
|
||||
"OptionAllowRemoteControlOthers": "Permitir a este usuario controlar remotamente a otros usuarios",
|
||||
"OptionAllowRemoteSharedDevices": "Permitir a este usuario controlar dispositivos remotamente",
|
||||
"OptionAllowRemoteControlOthers": "Allow remote control of other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow remote control of shared devices",
|
||||
"OptionAllowRemoteSharedDevicesHelp": "Los dispositivos dnla son considerados como compartidos hasta que alg\u00fan usuario comienza a controlarlo.",
|
||||
"HeaderRemoteControl": "Control Remoto",
|
||||
"OptionMissingTmdbId": "Falta Id de Tmdb",
|
||||
@ -714,7 +714,7 @@
|
||||
"LabelMaxStreamingBitrate": "Tasa de bits m\u00e1xima para transmisi\u00f3n:",
|
||||
"LabelMaxStreamingBitrateHelp": "Especifique una tasa de bits m\u00e1xima al transferir en tiempo real.",
|
||||
"LabelMaxStaticBitrate": "Tasa m\u00e1xima de bits de sinc",
|
||||
"LabelMaxStaticBitrateHelp": "Especifique una tasa de bits cuando se sincronice contenido en alta calidad.",
|
||||
"LabelMaxStaticBitrateHelp": "Especifique una tasa de bits cuando al sincronizar contenido en alta calidad.",
|
||||
"LabelMusicStaticBitrate": "Tasa de bits de sinc de m\u00fascia",
|
||||
"LabelMusicStaticBitrateHelp": "Especifique la tasa de bits m\u00e1xima al sincronizar m\u00fasica",
|
||||
"LabelMusicStreamingTranscodingBitrate": "Tasa de transcodificaci\u00f3n de m\u00fasica:",
|
||||
@ -952,7 +952,7 @@
|
||||
"LabelDateAdded": "Fecha de adici\u00f3n:",
|
||||
"HeaderFeatures": "Caracter\u00edsticas",
|
||||
"HeaderAdvanced": "Avanzado",
|
||||
"ButtonSync": "Sinc",
|
||||
"ButtonSync": "SInc",
|
||||
"TabScheduledTasks": "Tareas Programadas",
|
||||
"HeaderChapters": "Cap\u00edtulos",
|
||||
"HeaderResumeSettings": "Configuraci\u00f3n para Continuar",
|
||||
@ -1279,5 +1279,5 @@
|
||||
"LabelEnableSingleImageInDidlLimit": "Limitar a una sola imagen incrustada.",
|
||||
"LabelEnableSingleImageInDidlLimitHelp": "Algunos dispositivos no renderisaran apropiadamente si hay m\u00faltiples im\u00e1genes incrustadas en el Didl",
|
||||
"TabActivity": "Actividad",
|
||||
"TitleSync": "Sincronizando"
|
||||
"TitleSync": "Sinc"
|
||||
}
|
@ -232,10 +232,10 @@
|
||||
"HeaderFeatureAccess": "Feature Access",
|
||||
"OptionAllowMediaPlayback": "Allow media playback",
|
||||
"OptionAllowBrowsingLiveTv": "Allow browsing of live tv",
|
||||
"OptionAllowDeleteLibraryContent": "Allow this user to delete library content",
|
||||
"OptionAllowDeleteLibraryContent": "Allow deletion of library content",
|
||||
"OptionAllowManageLiveTv": "Allow management of live tv recordings",
|
||||
"OptionAllowRemoteControlOthers": "Allow this user to remote control other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow this user to remote control shared devices",
|
||||
"OptionAllowRemoteControlOthers": "Allow remote control of other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow remote control of shared devices",
|
||||
"OptionAllowRemoteSharedDevicesHelp": "Dlna devices are considered shared until a user begins controlling it.",
|
||||
"HeaderRemoteControl": "Remote Control",
|
||||
"OptionMissingTmdbId": "Missing Tmdb Id",
|
||||
|
@ -232,10 +232,10 @@
|
||||
"HeaderFeatureAccess": "Acc\u00e8s aux caract\u00e9ristiques",
|
||||
"OptionAllowMediaPlayback": "Autoriser la lecture du m\u00e9dia",
|
||||
"OptionAllowBrowsingLiveTv": "Autoriser la TV en direct",
|
||||
"OptionAllowDeleteLibraryContent": "Autoriser cet utilisateur \u00e0 supprimer du contenu de la biblioth\u00e8que",
|
||||
"OptionAllowDeleteLibraryContent": "Allow deletion of library content",
|
||||
"OptionAllowManageLiveTv": "Autoriser la gestion des enregistrements de la TV en direct",
|
||||
"OptionAllowRemoteControlOthers": "Autoriser cet utilisateur \u00e0 cont\u00f4ler \u00e0 distance d'autres utilisateurs",
|
||||
"OptionAllowRemoteSharedDevices": "Permettre \u00e0 cet utilisateur de contr\u00f4ler \u00e0 distance les p\u00e9riph\u00e9riques partag\u00e9s",
|
||||
"OptionAllowRemoteControlOthers": "Allow remote control of other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow remote control of shared devices",
|
||||
"OptionAllowRemoteSharedDevicesHelp": "Les p\u00e9riph\u00e9riques Dlna sont consid\u00e9r\u00e9s comme partag\u00e9s tant qu'un utilisateur ne commence pas \u00e0 le contr\u00f4ler.",
|
||||
"HeaderRemoteControl": "Contr\u00f4le \u00e0 distance",
|
||||
"OptionMissingTmdbId": "ID TMDb manquant",
|
||||
@ -539,7 +539,7 @@
|
||||
"HeaderRunningTasks": "T\u00e2ches en ex\u00e9cution",
|
||||
"HeaderActiveDevices": "P\u00e9riph\u00e9riques actifs",
|
||||
"HeaderPendingInstallations": "Installations en suspens",
|
||||
"HeaderServerInformation": "Server Information",
|
||||
"HeaderServerInformation": "Information du serveur",
|
||||
"ButtonRestartNow": "Red\u00e9marrer maintenant",
|
||||
"ButtonRestart": "Red\u00e9marrer",
|
||||
"ButtonShutdown": "\u00c9teindre",
|
||||
@ -1276,8 +1276,8 @@
|
||||
"HeaderAddTag": "Ajouter un tag",
|
||||
"LabelBlockItemsWithTags": "Bloquer les \u00e9l\u00e9ments contenant les tags:",
|
||||
"LabelTag": "Tag:",
|
||||
"LabelEnableSingleImageInDidlLimit": "Limit to single embedded image",
|
||||
"LabelEnableSingleImageInDidlLimitHelp": "Some devices will not render properly if multiple images are embedded within Didl.",
|
||||
"TabActivity": "Activity",
|
||||
"TitleSync": "Sync"
|
||||
"LabelEnableSingleImageInDidlLimit": "Limiter \u00e0 une seule image int\u00e9gr\u00e9e",
|
||||
"LabelEnableSingleImageInDidlLimitHelp": "Quelques p\u00e9riph\u00e9riques ne fourniront pas un rendu correct si plusieurs images sont int\u00e9gr\u00e9es dans Didl",
|
||||
"TabActivity": "Activit\u00e9",
|
||||
"TitleSync": "Sync."
|
||||
}
|
@ -232,10 +232,10 @@
|
||||
"HeaderFeatureAccess": "\u05d2\u05d9\u05e9\u05d4 \u05dc\u05de\u05d0\u05e4\u05d9\u05d9\u05e0\u05d9\u05dd",
|
||||
"OptionAllowMediaPlayback": "\u05d0\u05e4\u05e9\u05e8 \u05e0\u05d9\u05d2\u05d5\u05df \u05de\u05d3\u05d9\u05d4",
|
||||
"OptionAllowBrowsingLiveTv": "\u05d0\u05e4\u05e9\u05e8 \u05d3\u05e4\u05d3\u05d5\u05e3 \u05d1\u05d8\u05dc\u05d5\u05d5\u05d9\u05d6\u05d9\u05d4 \u05d7\u05d9\u05d4",
|
||||
"OptionAllowDeleteLibraryContent": "\u05d0\u05e4\u05e9\u05e8 \u05dc\u05de\u05e9\u05ea\u05de\u05e9 \u05d6\u05d4 \u05dc\u05de\u05d7\u05d5\u05e7 \u05e1\u05e4\u05e8\u05d9\u05d5\u05ea \u05ea\u05d5\u05db\u05df",
|
||||
"OptionAllowDeleteLibraryContent": "Allow deletion of library content",
|
||||
"OptionAllowManageLiveTv": "\u05d0\u05e4\u05e9\u05e8 \u05e0\u05d9\u05d4\u05d5\u05dc \u05e9\u05dc \u05d4\u05e7\u05dc\u05d8\u05d5\u05ea \u05d8\u05dc\u05d5\u05d5\u05d9\u05d6\u05d9\u05d4 \u05d7\u05d9\u05d4",
|
||||
"OptionAllowRemoteControlOthers": "\u05d0\u05e4\u05e9\u05e8 \u05dc\u05de\u05e9\u05ea\u05de\u05e9 \u05d6\u05d4 \u05dc\u05e9\u05dc\u05d5\u05d8 \u05de\u05e8\u05d7\u05d5\u05e7 \u05d1\u05de\u05e9\u05ea\u05de\u05e9\u05d9\u05dd \u05d0\u05d7\u05e8\u05d9\u05dd",
|
||||
"OptionAllowRemoteSharedDevices": "Allow this user to remote control shared devices",
|
||||
"OptionAllowRemoteControlOthers": "Allow remote control of other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow remote control of shared devices",
|
||||
"OptionAllowRemoteSharedDevicesHelp": "Dlna devices are considered shared until a user begins controlling it.",
|
||||
"HeaderRemoteControl": "Remote Control",
|
||||
"OptionMissingTmdbId": "\u05d7\u05d6\u05e8 \u05de\u05d6\u05d4\u05d4 Tmdb",
|
||||
|
@ -232,10 +232,10 @@
|
||||
"HeaderFeatureAccess": "Pristup opcijama",
|
||||
"OptionAllowMediaPlayback": "Dopusti reprodukciju medijskog sadr\u017eaja",
|
||||
"OptionAllowBrowsingLiveTv": "Omogu\u0107i pregled TV programa",
|
||||
"OptionAllowDeleteLibraryContent": "Omogu\u0107i ovom korisniku da mo\u017ee brisati sadr\u017eaj biblioteke",
|
||||
"OptionAllowDeleteLibraryContent": "Allow deletion of library content",
|
||||
"OptionAllowManageLiveTv": "Dopusti upravljanje snimljenim TV sadr\u017eajem",
|
||||
"OptionAllowRemoteControlOthers": "Omogu\u0107i ovom korisniku da upravlja na daljinu, sa drugim korisnicima",
|
||||
"OptionAllowRemoteSharedDevices": "Allow this user to remote control shared devices",
|
||||
"OptionAllowRemoteControlOthers": "Allow remote control of other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow remote control of shared devices",
|
||||
"OptionAllowRemoteSharedDevicesHelp": "Dlna devices are considered shared until a user begins controlling it.",
|
||||
"HeaderRemoteControl": "Remote Control",
|
||||
"OptionMissingTmdbId": "Nedostaje Tmdb Id",
|
||||
|
@ -232,10 +232,10 @@
|
||||
"HeaderFeatureAccess": "Caratteristiche di accesso",
|
||||
"OptionAllowMediaPlayback": "Consenti la riproduzione",
|
||||
"OptionAllowBrowsingLiveTv": "Consenti la navigazione sulla Tv indiretta",
|
||||
"OptionAllowDeleteLibraryContent": "Consenti a questo utente di eliminare il contenuti della libreria",
|
||||
"OptionAllowDeleteLibraryContent": "Allow deletion of library content",
|
||||
"OptionAllowManageLiveTv": "Consenti la modifica delle operazioni pianificate della TV",
|
||||
"OptionAllowRemoteControlOthers": "Consenti a questo utente di controllare in remoto altri utenti",
|
||||
"OptionAllowRemoteSharedDevices": "Consenti a questo utente di dispositivi di controllo remoto condivisi",
|
||||
"OptionAllowRemoteControlOthers": "Allow remote control of other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow remote control of shared devices",
|
||||
"OptionAllowRemoteSharedDevicesHelp": "Dispositivi DLNA sono considerati condivisa fino a quando un utente inizia controllarlo.",
|
||||
"HeaderRemoteControl": "telecomando",
|
||||
"OptionMissingTmdbId": "Tmdb Id mancante",
|
||||
|
@ -232,10 +232,10 @@
|
||||
"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",
|
||||
"OptionAllowDeleteLibraryContent": "\u0411\u04b1\u043b \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b\u0493\u0430 \u0442\u0430\u0441\u0443\u0448\u044b\u0445\u0430\u043d\u0430 \u043c\u0430\u0437\u043c\u04b1\u043d\u044b\u043d \u0436\u043e\u044e \u04af\u0448\u0456\u043d \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0443",
|
||||
"OptionAllowDeleteLibraryContent": "\u0422\u0430\u0441\u0443\u0448\u044b\u0445\u0430\u043d\u0430 \u043c\u0430\u0437\u043c\u04b1\u043d\u044b\u043d \u0436\u043e\u044e \u04af\u0448\u0456\u043d \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0443",
|
||||
"OptionAllowManageLiveTv": "\u042d\u0444\u0438\u0440\u043b\u0456\u043a \u0422\u0414 \u0436\u0430\u0437\u0443\u0434\u044b \u0431\u0430\u0441\u049b\u0430\u0440\u0443\u044b\u043d\u0430 \u0440\u0443\u049b\u0441\u0430\u0442 \u0435\u0442\u0443",
|
||||
"OptionAllowRemoteControlOthers": "\u0411\u04b1\u043b \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b\u0493\u0430 \u0431\u0430\u0441\u049b\u0430 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b\u043b\u0430\u0440\u0434\u044b \u049b\u0430\u0448\u044b\u049b\u0442\u0430\u043d \u0431\u0430\u0441\u049b\u0430\u0440\u0443 \u04af\u0448\u0456\u043d \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0443",
|
||||
"OptionAllowRemoteSharedDevices": "\u0411\u04b1\u043b \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b\u0493\u0430 \u043e\u0440\u0442\u0430\u049b \u049b\u04b1\u0440\u044b\u043b\u0493\u044b\u043b\u0430\u0440\u0434\u044b \u049b\u0430\u0448\u044b\u049b\u0442\u0430\u043d \u0431\u0430\u0441\u049b\u0430\u0440\u0443 \u04af\u0448\u0456\u043d \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0443",
|
||||
"OptionAllowRemoteControlOthers": "\u0411\u0430\u0441\u049b\u0430 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b\u043b\u0430\u0440\u0434\u044b \u049b\u0430\u0448\u044b\u049b\u0442\u0430\u043d \u0431\u0430\u0441\u049b\u0430\u0440\u0443 \u04af\u0448\u0456\u043d \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0443",
|
||||
"OptionAllowRemoteSharedDevices": "\u041e\u0440\u0442\u0430\u049b \u049b\u04b1\u0440\u044b\u043b\u0493\u044b\u043b\u0430\u0440\u0434\u044b \u049b\u0430\u0448\u044b\u049b\u0442\u0430\u043d \u0431\u0430\u0441\u049b\u0430\u0440\u0443 \u04af\u0448\u0456\u043d \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0443",
|
||||
"OptionAllowRemoteSharedDevicesHelp": "DLNA-\u049b\u04b1\u0440\u044b\u043b\u0493\u044b\u043b\u0430\u0440\u044b \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b \u0431\u0430\u0441\u049b\u0430\u0440\u0493\u0430\u043d\u0448\u0430 \u0434\u0435\u0439\u0456\u043d \u043e\u0440\u0442\u0430\u049b \u0440\u0435\u0442\u0456\u043d\u0434\u0435 \u0435\u0441\u0435\u043f\u0442\u0435\u043b\u0456\u043d\u0435\u0434\u0456.",
|
||||
"HeaderRemoteControl": "\u049a\u0430\u0448\u044b\u049b\u0442\u0430\u043d \u0431\u0430\u0441\u049b\u0430\u0440\u0443",
|
||||
"OptionMissingTmdbId": "TMDb Id \u0436\u043e\u049b",
|
||||
@ -1278,6 +1278,6 @@
|
||||
"LabelTag": "\u0422\u0435\u0433:",
|
||||
"LabelEnableSingleImageInDidlLimit": "\u0416\u0430\u043b\u0493\u044b\u0437 \u043a\u0456\u0440\u0456\u0441\u0442\u0456\u0440\u0456\u043b\u0433\u0435\u043d \u0441\u0443\u0440\u0435\u0442\u043a\u0435 \u0448\u0435\u043a\u0442\u0435\u0443",
|
||||
"LabelEnableSingleImageInDidlLimitHelp": "\u0415\u0433\u0435\u0440 \u0431\u0456\u0440\u043d\u0435\u0448\u0435 \u0441\u0443\u0440\u0435\u0442 Didl \u0456\u0448\u0456\u043d\u0435 \u043a\u0456\u0440\u0456\u0441\u0442\u0456\u0440\u0456\u043b\u0441\u0435, \u043a\u0435\u0439\u0431\u0456\u0440 \u049b\u04b1\u0440\u044b\u043b\u0493\u044b\u043b\u0430\u0440\u0434\u0430 \u0442\u0438\u0456\u0441\u0442\u0456 \u0442\u04af\u0440\u0434\u0435 \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u043d\u0431\u0435\u0439\u0434\u0456.",
|
||||
"TabActivity": "Activity",
|
||||
"TitleSync": "Sync"
|
||||
"TabActivity": "\u04d8\u0440\u0435\u043a\u0435\u0442\u0442\u0435\u0440",
|
||||
"TitleSync": "\u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0434\u0430\u0443"
|
||||
}
|
@ -232,10 +232,10 @@
|
||||
"HeaderFeatureAccess": "Feature Access",
|
||||
"OptionAllowMediaPlayback": "Allow media playback",
|
||||
"OptionAllowBrowsingLiveTv": "Allow browsing of live tv",
|
||||
"OptionAllowDeleteLibraryContent": "Allow this user to delete library content",
|
||||
"OptionAllowDeleteLibraryContent": "Allow deletion of library content",
|
||||
"OptionAllowManageLiveTv": "Allow management of live tv recordings",
|
||||
"OptionAllowRemoteControlOthers": "Allow this user to remote control other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow this user to remote control shared devices",
|
||||
"OptionAllowRemoteControlOthers": "Allow remote control of other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow remote control of shared devices",
|
||||
"OptionAllowRemoteSharedDevicesHelp": "Dlna devices are considered shared until a user begins controlling it.",
|
||||
"HeaderRemoteControl": "Remote Control",
|
||||
"OptionMissingTmdbId": "Missing Tmdb Id",
|
||||
|
@ -232,10 +232,10 @@
|
||||
"HeaderFeatureAccess": "Feature Access",
|
||||
"OptionAllowMediaPlayback": "Allow media playback",
|
||||
"OptionAllowBrowsingLiveTv": "Allow browsing of live tv",
|
||||
"OptionAllowDeleteLibraryContent": "Allow this user to delete library content",
|
||||
"OptionAllowDeleteLibraryContent": "Allow deletion of library content",
|
||||
"OptionAllowManageLiveTv": "Allow management of live tv recordings",
|
||||
"OptionAllowRemoteControlOthers": "Allow this user to remote control other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow this user to remote control shared devices",
|
||||
"OptionAllowRemoteControlOthers": "Allow remote control of other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow remote control of shared devices",
|
||||
"OptionAllowRemoteSharedDevicesHelp": "Dlna devices are considered shared until a user begins controlling it.",
|
||||
"HeaderRemoteControl": "Remote Control",
|
||||
"OptionMissingTmdbId": "Missing Tmdb Id",
|
||||
|
@ -232,10 +232,10 @@
|
||||
"HeaderFeatureAccess": "Funksjon Tilgang",
|
||||
"OptionAllowMediaPlayback": "Tillatt medieavspilling",
|
||||
"OptionAllowBrowsingLiveTv": "Tillat surfing av Live TV",
|
||||
"OptionAllowDeleteLibraryContent": "Tillatt denne brukeren \u00e5 slette bibliotek-elementer",
|
||||
"OptionAllowDeleteLibraryContent": "Allow deletion of library content",
|
||||
"OptionAllowManageLiveTv": "Tillat styring av Live TV opptak",
|
||||
"OptionAllowRemoteControlOthers": "Tillatt denne brukeren \u00e5 fjernstyre andre",
|
||||
"OptionAllowRemoteSharedDevices": "Allow this user to remote control shared devices",
|
||||
"OptionAllowRemoteControlOthers": "Allow remote control of other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow remote control of shared devices",
|
||||
"OptionAllowRemoteSharedDevicesHelp": "Dlna devices are considered shared until a user begins controlling it.",
|
||||
"HeaderRemoteControl": "Remote Control",
|
||||
"OptionMissingTmdbId": "Mangler Tmdb id",
|
||||
|
@ -232,10 +232,10 @@
|
||||
"HeaderFeatureAccess": "Functie toegang",
|
||||
"OptionAllowMediaPlayback": "Afspelen van media toestaan",
|
||||
"OptionAllowBrowsingLiveTv": "Bladeren door live tv toestaan",
|
||||
"OptionAllowDeleteLibraryContent": "Deze gebruiker kan inhoud uit de bibliotheek verwijderen",
|
||||
"OptionAllowDeleteLibraryContent": "Allow deletion of library content",
|
||||
"OptionAllowManageLiveTv": "Beheer van live tv-opnames toestaan",
|
||||
"OptionAllowRemoteControlOthers": "Deze gebruiker kan andere gebruikers op afstand besturen",
|
||||
"OptionAllowRemoteSharedDevices": "Sta deze gebruiker toe om gedeelde apparaten te gebruiken",
|
||||
"OptionAllowRemoteControlOthers": "Allow remote control of other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow remote control of shared devices",
|
||||
"OptionAllowRemoteSharedDevicesHelp": "Dlna apparaten worden als gedeeld apparaat gezien totdat een gebruiker deze gaat gebruiken.",
|
||||
"HeaderRemoteControl": "Gebruik op afstand",
|
||||
"OptionMissingTmdbId": "TMDB Id ontbreekt",
|
||||
@ -1278,6 +1278,6 @@
|
||||
"LabelTag": "Tag:",
|
||||
"LabelEnableSingleImageInDidlLimit": "Beperk tot \u00e9\u00e9n enkele ingesloten afbeelding",
|
||||
"LabelEnableSingleImageInDidlLimitHelp": "Sommige apparaten zullen niet goed weergeven als er meerdere afbeeldingen ingesloten zijn in Didl.",
|
||||
"TabActivity": "Activity",
|
||||
"TitleSync": "Sync"
|
||||
"TabActivity": "Activiteit",
|
||||
"TitleSync": "Synchroniseer"
|
||||
}
|
@ -232,10 +232,10 @@
|
||||
"HeaderFeatureAccess": "Feature Access",
|
||||
"OptionAllowMediaPlayback": "Allow media playback",
|
||||
"OptionAllowBrowsingLiveTv": "Allow browsing of live tv",
|
||||
"OptionAllowDeleteLibraryContent": "Allow this user to delete library content",
|
||||
"OptionAllowDeleteLibraryContent": "Allow deletion of library content",
|
||||
"OptionAllowManageLiveTv": "Allow management of live tv recordings",
|
||||
"OptionAllowRemoteControlOthers": "Allow this user to remote control other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow this user to remote control shared devices",
|
||||
"OptionAllowRemoteControlOthers": "Allow remote control of other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow remote control of shared devices",
|
||||
"OptionAllowRemoteSharedDevicesHelp": "Dlna devices are considered shared until a user begins controlling it.",
|
||||
"HeaderRemoteControl": "Remote Control",
|
||||
"OptionMissingTmdbId": "Missing Tmdb Id",
|
||||
|
@ -232,10 +232,10 @@
|
||||
"HeaderFeatureAccess": "Acesso aos Recursos",
|
||||
"OptionAllowMediaPlayback": "Permitir reprodu\u00e7\u00e3o de m\u00eddia",
|
||||
"OptionAllowBrowsingLiveTv": "Permitir navega\u00e7\u00e3o na tv ao vivo",
|
||||
"OptionAllowDeleteLibraryContent": "Permitir a este usu\u00e1rio excluir conte\u00fado da biblioteca",
|
||||
"OptionAllowDeleteLibraryContent": "Permitir que conte\u00fado da biblioteca seja apagado",
|
||||
"OptionAllowManageLiveTv": "Permitir a administra\u00e7\u00e3o de grava\u00e7\u00f5es da tv ao vivo",
|
||||
"OptionAllowRemoteControlOthers": "Permitir a este usu\u00e1rio controlar remotamente outros usu\u00e1rios",
|
||||
"OptionAllowRemoteSharedDevices": "Permitir a este usu\u00e1rio controlar dispositivos compartilhados",
|
||||
"OptionAllowRemoteControlOthers": "Permitir controle remoto de outros usu\u00e1rios",
|
||||
"OptionAllowRemoteSharedDevices": "Permitir controle remoto de dispositivos compartilhados",
|
||||
"OptionAllowRemoteSharedDevicesHelp": "Dispositivos dlna s\u00e3o considerados compartilhados at\u00e9 que um usu\u00e1rio comece a control\u00e1-lo.",
|
||||
"HeaderRemoteControl": "Controle Remoto",
|
||||
"OptionMissingTmdbId": "Faltando Id Tmdb",
|
||||
|
@ -232,10 +232,10 @@
|
||||
"HeaderFeatureAccess": "Acesso a Caracter\u00edsticas",
|
||||
"OptionAllowMediaPlayback": "Permitir reprodu\u00e7\u00e3o de multim\u00e9dia",
|
||||
"OptionAllowBrowsingLiveTv": "Permitir navega\u00e7\u00e3o da tv ao vivo",
|
||||
"OptionAllowDeleteLibraryContent": "Permitir a este utilizador remover conte\u00fados da biblioteca",
|
||||
"OptionAllowDeleteLibraryContent": "Allow deletion of library content",
|
||||
"OptionAllowManageLiveTv": "Permitir gest\u00e3o das grava\u00e7\u00f5es da tv ao vivo",
|
||||
"OptionAllowRemoteControlOthers": "Permitir a este utilizador controlar remotamente outros utilizadores",
|
||||
"OptionAllowRemoteSharedDevices": "Allow this user to remote control shared devices",
|
||||
"OptionAllowRemoteControlOthers": "Allow remote control of other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow remote control of shared devices",
|
||||
"OptionAllowRemoteSharedDevicesHelp": "Dlna devices are considered shared until a user begins controlling it.",
|
||||
"HeaderRemoteControl": "Remote Control",
|
||||
"OptionMissingTmdbId": "Id Tmdb em falta",
|
||||
|
@ -231,11 +231,11 @@
|
||||
"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",
|
||||
"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",
|
||||
"OptionAllowDeleteLibraryContent": "\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\u0434\u0430\u043b\u0435\u043d\u0438\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f \u043c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0438",
|
||||
"OptionAllowManageLiveTv": "\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0437\u0430\u043f\u0438\u0441\u044f\u043c\u0438 \u044d\u0444\u0438\u0440\u043d\u043e\u0433\u043e \u0442\u0432",
|
||||
"OptionAllowRemoteControlOthers": "\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\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c\u0438",
|
||||
"OptionAllowRemoteSharedDevices": "\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\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0431\u0449\u0438\u043c\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u043c\u0438",
|
||||
"OptionAllowBrowsingLiveTv": "\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u0422\u0412-\u044d\u0444\u0438\u0440\u0430",
|
||||
"OptionAllowDeleteLibraryContent": "\u041f\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\u0434\u0430\u043b\u0435\u043d\u0438\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f \u043c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0438",
|
||||
"OptionAllowManageLiveTv": "\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0437\u0430\u043f\u0438\u0441\u044f\u043c\u0438 \u0441 \u0422\u0412-\u044d\u0444\u0438\u0440\u0430",
|
||||
"OptionAllowRemoteControlOthers": "\u041f\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\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c\u0438",
|
||||
"OptionAllowRemoteSharedDevices": "\u041f\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\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0431\u0449\u0438\u043c\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u043c\u0438",
|
||||
"OptionAllowRemoteSharedDevicesHelp": "DLNA-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0441\u0447\u0438\u0442\u0430\u044e\u0442\u0441\u044f \u043e\u0431\u0449\u0438\u043c\u0438, \u043f\u043e\u043a\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0438\u043c\u0438.",
|
||||
"HeaderRemoteControl": "\u0423\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435",
|
||||
"OptionMissingTmdbId": "\u041d\u0435\u0442 TMDb Id",
|
||||
@ -340,13 +340,13 @@
|
||||
"ButtonRemove": "\u0418\u0437\u044a\u044f\u0442\u044c",
|
||||
"OptionRecordSeries": "\u0417\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0435\u0440\u0438\u0430\u043b",
|
||||
"HeaderDetails": "\u0414\u0435\u0442\u0430\u043b\u0438",
|
||||
"TitleLiveTV": "\u0422\u0412 \u044d\u0444\u0438\u0440",
|
||||
"TitleLiveTV": "\u0422\u0412-\u044d\u0444\u0438\u0440",
|
||||
"LabelNumberOfGuideDays": "\u0427\u0438\u0441\u043b\u043e \u0434\u043d\u0435\u0439 \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0433\u0438\u0434\u0430:",
|
||||
"LabelNumberOfGuideDaysHelp": "\u0427\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u044b\u0445 \u0434\u043d\u0435\u0439, \u0442\u0435\u043c \u0446\u0435\u043d\u043d\u0435\u0435 \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0433\u0438\u0434\u0430, \u0434\u0430\u0432\u0430\u044f \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c \u0434\u043b\u044f \u0440\u0430\u043d\u043d\u0435\u0433\u043e \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0433\u043e \u0438 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u0431\u043e\u043b\u044c\u0448\u0435\u0433\u043e \u043e\u0431\u044a\u0451\u043c\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0447, \u043d\u043e \u044d\u0442\u043e \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u043e\u0434\u043b\u044f\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443. \u041f\u0440\u0438 \u0440\u0435\u0436\u0438\u043c\u0435 \u00ab\u0410\u0432\u0442\u043e\u00bb \u0432\u044b\u0431\u043e\u0440 \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u043d\u043e\u0432\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 \u043a\u0430\u043d\u0430\u043b\u043e\u0432.",
|
||||
"LabelActiveService": "\u0410\u043a\u0442\u0438\u0432\u043d\u0430\u044f \u0441\u043b\u0443\u0436\u0431\u0430:",
|
||||
"LabelActiveServiceHelp": "\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432 \u044d\u0444\u0438\u0440\u043d\u043e\u0433\u043e \u0442\u0432, \u043d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u043c \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0438\u0437 \u043d\u0438\u0445.",
|
||||
"OptionAutomatic": "\u0410\u0432\u0442\u043e",
|
||||
"LiveTvPluginRequired": "\u0427\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c, \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u043b\u0430\u0433\u0438\u043d-\u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a \u0443\u0441\u043b\u0443\u0433 \u044d\u0444\u0438\u0440\u043d\u043e\u0433\u043e \u0422\u0412.",
|
||||
"LiveTvPluginRequired": "\u0427\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c, \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u043b\u0430\u0433\u0438\u043d-\u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a \u0443\u0441\u043b\u0443\u0433 \u0422\u0412-\u044d\u0444\u0438\u0440\u0430.",
|
||||
"LiveTvPluginRequiredHelp": "\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u043e\u0434\u0438\u043d \u0438\u0437 \u0438\u043c\u0435\u044e\u0449\u0438\u0445\u0441\u044f \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, NextPVR \u0438\u043b\u0438 ServerWMC.",
|
||||
"LabelCustomizeOptionsPerMediaType": "\u041f\u043e\u0434\u0433\u043e\u043d\u043a\u0430 \u043f\u043e \u0442\u0438\u043f\u0443 \u043c\u0435\u0434\u0438\u0430\u0434\u0430\u043d\u043d\u044b\u0445:",
|
||||
"OptionDownloadThumbImage": "\u0411\u0435\u0433\u0443\u043d\u043e\u043a",
|
||||
@ -810,7 +810,7 @@
|
||||
"OptionLatestChannelMedia": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0438\u0437 \u043a\u0430\u043d\u0430\u043b\u043e\u0432",
|
||||
"HeaderLatestChannelItems": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0438\u0437 \u043a\u0430\u043d\u0430\u043b\u043e\u0432",
|
||||
"OptionNone": "\u041d\u0438\u0447\u0435\u0433\u043e",
|
||||
"HeaderLiveTv": "\u0422\u0412 \u044d\u0444\u0438\u0440",
|
||||
"HeaderLiveTv": "\u0422\u0412-\u044d\u0444\u0438\u0440",
|
||||
"HeaderReports": "\u041e\u0442\u0447\u0451\u0442\u044b",
|
||||
"HeaderMetadataManager": "\u0414\u0438\u0441\u043f\u0435\u0442\u0447\u0435\u0440 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445",
|
||||
"HeaderPreferences": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438",
|
||||
@ -848,7 +848,7 @@
|
||||
"ViewTypeMusicArtists": "\u0418\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u0438",
|
||||
"ViewTypeBoxSets": "\u041a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438",
|
||||
"ViewTypeChannels": "\u041a\u0430\u043d\u0430\u043b\u044b",
|
||||
"ViewTypeLiveTV": "\u0422\u0412 \u044d\u0444\u0438\u0440",
|
||||
"ViewTypeLiveTV": "\u0422\u0412-\u044d\u0444\u0438\u0440",
|
||||
"ViewTypeLiveTvNowPlaying": "\u0412 \u044d\u0444\u0438\u0440\u0435",
|
||||
"ViewTypeLatestGames": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0438\u0433\u0440\u044b",
|
||||
"ViewTypeRecentlyPlayedGames": "C\u044b\u0433\u0440\u0430\u043d\u043d\u044b\u0435 \u043d\u0435\u0434\u0430\u0432\u043d\u043e",
|
||||
@ -952,11 +952,11 @@
|
||||
"LabelDateAdded": "\u0414\u0430\u0442\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f:",
|
||||
"HeaderFeatures": "\u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b",
|
||||
"HeaderAdvanced": "\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e",
|
||||
"ButtonSync": "Sync",
|
||||
"ButtonSync": "\u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c",
|
||||
"TabScheduledTasks": "\u041f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a",
|
||||
"HeaderChapters": "\u0421\u0446\u0435\u043d\u044b",
|
||||
"HeaderResumeSettings": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0432\u043e\u0437\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f",
|
||||
"TabSync": "Sync",
|
||||
"TabSync": "\u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044f",
|
||||
"TitleUsers": "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438",
|
||||
"LabelProtocol": "\u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b:",
|
||||
"OptionProtocolHttp": "HTTP",
|
||||
|
@ -232,10 +232,10 @@
|
||||
"HeaderFeatureAccess": "Tillg\u00e5ng till funktioner",
|
||||
"OptionAllowMediaPlayback": "Till\u00e5t mediauppspelning",
|
||||
"OptionAllowBrowsingLiveTv": "Till\u00e5t bl\u00e4ddring i live-TV",
|
||||
"OptionAllowDeleteLibraryContent": "Till\u00e5t denna anv\u00e4ndare att ta bort objekt fr\u00e5n biblioteket",
|
||||
"OptionAllowDeleteLibraryContent": "Allow deletion of library content",
|
||||
"OptionAllowManageLiveTv": "Till\u00e5t denna anv\u00e4ndare att administrera TV-inspelningar",
|
||||
"OptionAllowRemoteControlOthers": "Till\u00e5t denna anv\u00e4ndare att fj\u00e4rrstyra andra anv\u00e4ndare",
|
||||
"OptionAllowRemoteSharedDevices": "Allow this user to remote control shared devices",
|
||||
"OptionAllowRemoteControlOthers": "Allow remote control of other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow remote control of shared devices",
|
||||
"OptionAllowRemoteSharedDevicesHelp": "Dlna devices are considered shared until a user begins controlling it.",
|
||||
"HeaderRemoteControl": "Remote Control",
|
||||
"OptionMissingTmdbId": "TMDB-ID saknas",
|
||||
|
@ -232,10 +232,10 @@
|
||||
"HeaderFeatureAccess": "Feature Access",
|
||||
"OptionAllowMediaPlayback": "Allow media playback",
|
||||
"OptionAllowBrowsingLiveTv": "Allow browsing of live tv",
|
||||
"OptionAllowDeleteLibraryContent": "Allow this user to delete library content",
|
||||
"OptionAllowDeleteLibraryContent": "Allow deletion of library content",
|
||||
"OptionAllowManageLiveTv": "Allow management of live tv recordings",
|
||||
"OptionAllowRemoteControlOthers": "Allow this user to remote control other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow this user to remote control shared devices",
|
||||
"OptionAllowRemoteControlOthers": "Allow remote control of other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow remote control of shared devices",
|
||||
"OptionAllowRemoteSharedDevicesHelp": "Dlna devices are considered shared until a user begins controlling it.",
|
||||
"HeaderRemoteControl": "Remote Control",
|
||||
"OptionMissingTmdbId": "Missing Tmdb Id",
|
||||
|
@ -232,10 +232,10 @@
|
||||
"HeaderFeatureAccess": "Truy c\u1eadp t\u00ednh n\u0103ng",
|
||||
"OptionAllowMediaPlayback": "Cho ph\u00e9p ch\u1ea1y media",
|
||||
"OptionAllowBrowsingLiveTv": "Cho ph\u00e9p duy\u1ec7t ch\u01b0\u01a1ng tr\u00ecnh truy\u1ec1n h\u00ecnh tr\u1ef1c ti\u1ebfp",
|
||||
"OptionAllowDeleteLibraryContent": "Cho ph\u00e9p ng\u01b0\u1eddi d\u00f9ng n\u00e0y x\u00f3a n\u1ed9i dung th\u01b0 vi\u1ec7n",
|
||||
"OptionAllowDeleteLibraryContent": "Allow deletion of library content",
|
||||
"OptionAllowManageLiveTv": "Cho ph\u00e9p qu\u1ea3n l\u00fd b\u1ea3n ghi c\u1ee7a truy\u1ec1n h\u00ecnh tr\u1ef1c ti\u1ebfp",
|
||||
"OptionAllowRemoteControlOthers": "Cho ph\u00e9p ng\u01b0\u1eddi d\u00f9ng n\u00e0y ki\u1ec3m so\u00e1t t\u1eeb xa c\u00e1c ng\u01b0\u1eddi d\u00f9ng kh\u00e1c",
|
||||
"OptionAllowRemoteSharedDevices": "Allow this user to remote control shared devices",
|
||||
"OptionAllowRemoteControlOthers": "Allow remote control of other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow remote control of shared devices",
|
||||
"OptionAllowRemoteSharedDevicesHelp": "Dlna devices are considered shared until a user begins controlling it.",
|
||||
"HeaderRemoteControl": "Remote Control",
|
||||
"OptionMissingTmdbId": "Thi\u1ebfu Tmdb ID",
|
||||
|
@ -232,10 +232,10 @@
|
||||
"HeaderFeatureAccess": "\u53ef\u4f7f\u7528\u7684\u529f\u80fd",
|
||||
"OptionAllowMediaPlayback": "\u5141\u8bb8\u5a92\u4f53\u64ad\u653e",
|
||||
"OptionAllowBrowsingLiveTv": "\u5141\u8bb8\u4f7f\u7528\u7535\u89c6\u76f4\u64ad",
|
||||
"OptionAllowDeleteLibraryContent": "\u5141\u8bb8\u8be5\u7528\u6237\u5220\u9664\u5a92\u4f53\u5e93\u5185\u5bb9",
|
||||
"OptionAllowDeleteLibraryContent": "Allow deletion of library content",
|
||||
"OptionAllowManageLiveTv": "\u5141\u8bb8\u7ba1\u7406\u7535\u89c6\u8282\u76ee\u5f55\u5236",
|
||||
"OptionAllowRemoteControlOthers": "\u5141\u8bb8\u6b64\u7528\u6237\u8fdc\u7a0b\u63a7\u5236\u5176\u4ed6\u7528\u6237",
|
||||
"OptionAllowRemoteSharedDevices": "Allow this user to remote control shared devices",
|
||||
"OptionAllowRemoteControlOthers": "Allow remote control of other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow remote control of shared devices",
|
||||
"OptionAllowRemoteSharedDevicesHelp": "Dlna devices are considered shared until a user begins controlling it.",
|
||||
"HeaderRemoteControl": "Remote Control",
|
||||
"OptionMissingTmdbId": "\u7f3a\u5c11Tmdb \u7f16\u53f7",
|
||||
|
@ -232,10 +232,10 @@
|
||||
"HeaderFeatureAccess": "\u53ef\u4ee5\u4f7f\u7528\u7684\u529f\u80fd",
|
||||
"OptionAllowMediaPlayback": "\u5141\u8a31\u5a92\u9ad4\u64ad\u653e",
|
||||
"OptionAllowBrowsingLiveTv": "\u5141\u8a31\u4f7f\u7528\u96fb\u8996\u529f\u80fd",
|
||||
"OptionAllowDeleteLibraryContent": "\u5141\u8a31\u9019\u7528\u6236\u522a\u9664\u5a92\u9ad4\u5eab\u7684\u5167\u5bb9",
|
||||
"OptionAllowDeleteLibraryContent": "Allow deletion of library content",
|
||||
"OptionAllowManageLiveTv": "\u5141\u8a31\u7ba1\u7406\u96fb\u8996\u7bc0\u76ee\u9304\u5f71",
|
||||
"OptionAllowRemoteControlOthers": "\u5141\u8a31\u9019\u7528\u6236\u9060\u7a0b\u63a7\u5236\u5176\u4ed6\u7528\u6236",
|
||||
"OptionAllowRemoteSharedDevices": "Allow this user to remote control shared devices",
|
||||
"OptionAllowRemoteControlOthers": "Allow remote control of other users",
|
||||
"OptionAllowRemoteSharedDevices": "Allow remote control of shared devices",
|
||||
"OptionAllowRemoteSharedDevicesHelp": "Dlna devices are considered shared until a user begins controlling it.",
|
||||
"HeaderRemoteControl": "Remote Control",
|
||||
"OptionMissingTmdbId": "\u7f3a\u5c11TMDB\u7de8\u865f",
|
||||
|
@ -48,7 +48,7 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||
throw new InvalidOperationException("Cannot proceed with sync because user no longer exists.");
|
||||
}
|
||||
|
||||
var items = GetItemsForSync(job.RequestedItemIds, user)
|
||||
var items = GetItemsForSync(job.RequestedItemIds, user, job.UnwatchedOnly)
|
||||
.ToList();
|
||||
|
||||
var jobItems = _syncRepo.GetJobItems(new SyncJobItemQuery
|
||||
@ -59,6 +59,15 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||
|
||||
foreach (var item in items)
|
||||
{
|
||||
// Respect ItemLimit, if set
|
||||
if (job.ItemLimit.HasValue)
|
||||
{
|
||||
if (jobItems.Count >= job.ItemLimit.Value)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
var itemId = item.Id.ToString("N");
|
||||
|
||||
var jobItem = jobItems.FirstOrDefault(i => string.Equals(i.ItemId, itemId, StringComparison.OrdinalIgnoreCase));
|
||||
@ -89,6 +98,13 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||
await UpdateJobStatus(job, jobItems).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
public Task UpdateJobStatus(string id)
|
||||
{
|
||||
var job = _syncRepo.GetJob(id);
|
||||
|
||||
return UpdateJobStatus(job);
|
||||
}
|
||||
|
||||
private Task UpdateJobStatus(SyncJob job)
|
||||
{
|
||||
if (job == null)
|
||||
@ -155,12 +171,31 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||
return _syncRepo.Update(job);
|
||||
}
|
||||
|
||||
public IEnumerable<BaseItem> GetItemsForSync(IEnumerable<string> itemIds, User user)
|
||||
public IEnumerable<BaseItem> GetItemsForSync(IEnumerable<string> itemIds, User user, bool unwatchedOnly)
|
||||
{
|
||||
return itemIds
|
||||
var items = itemIds
|
||||
.SelectMany(i => GetItemsForSync(i, user))
|
||||
.Where(_syncManager.SupportsSync)
|
||||
.DistinctBy(i => i.Id);
|
||||
.Where(_syncManager.SupportsSync);
|
||||
|
||||
if (unwatchedOnly)
|
||||
{
|
||||
// Avoid implicitly captured closure
|
||||
var currentUser = user;
|
||||
|
||||
items = items.Where(i =>
|
||||
{
|
||||
var video = i as Video;
|
||||
|
||||
if (video != null)
|
||||
{
|
||||
return !video.IsPlayed(currentUser);
|
||||
}
|
||||
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
return items.DistinctBy(i => i.Id);
|
||||
}
|
||||
|
||||
private IEnumerable<BaseItem> GetItemsForSync(string id, User user)
|
||||
@ -184,8 +219,8 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||
.GetRecursiveChildren(user);
|
||||
|
||||
return itemByName.GetTaggedItems(items);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (item.IsFolder)
|
||||
{
|
||||
var folder = (Folder)item;
|
||||
|
@ -49,7 +49,7 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||
var user = _userManager.GetUserById(request.UserId);
|
||||
|
||||
var items = processor
|
||||
.GetItemsForSync(request.ItemIds, user)
|
||||
.GetItemsForSync(request.ItemIds, user, request.UnwatchedOnly)
|
||||
.ToList();
|
||||
|
||||
if (items.Any(i => !SupportsSync(i)))
|
||||
@ -265,5 +265,29 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public async Task ReportSyncJobItemTransferred(string id)
|
||||
{
|
||||
var jobItem = _repo.GetJobItem(id);
|
||||
|
||||
jobItem.Status = SyncJobItemStatus.Completed;
|
||||
jobItem.Progress = 100;
|
||||
|
||||
await _repo.Update(jobItem).ConfigureAwait(false);
|
||||
|
||||
var processor = new SyncJobProcessor(_libraryManager, _repo, this, _logger, _userManager);
|
||||
|
||||
await processor.UpdateJobStatus(jobItem.JobId).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
public SyncJobItem GetJobItem(string id)
|
||||
{
|
||||
return _repo.GetJobItem(id);
|
||||
}
|
||||
|
||||
public QueryResult<SyncJobItem> GetJobItems(SyncJobItemQuery query)
|
||||
{
|
||||
return _repo.GetJobItems(query);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -352,6 +352,11 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||
}
|
||||
cmd.Parameters.Add(cmd, "@Status", DbType.String).Value = SyncJobStatus.Completed.ToString();
|
||||
}
|
||||
if (!string.IsNullOrWhiteSpace(query.TargetId))
|
||||
{
|
||||
whereClauses.Add("TargetId=@TargetId");
|
||||
cmd.Parameters.Add(cmd, "@TargetId", DbType.String).Value = query.TargetId;
|
||||
}
|
||||
|
||||
var whereTextWithoutPaging = whereClauses.Count == 0 ?
|
||||
string.Empty :
|
||||
@ -447,6 +452,16 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||
whereClauses.Add("JobId=@JobId");
|
||||
cmd.Parameters.Add(cmd, "@JobId", DbType.String).Value = query.JobId;
|
||||
}
|
||||
if (!string.IsNullOrWhiteSpace(query.TargetId))
|
||||
{
|
||||
whereClauses.Add("TargetId=@TargetId");
|
||||
cmd.Parameters.Add(cmd, "@TargetId", DbType.String).Value = query.TargetId;
|
||||
}
|
||||
if (query.Status.HasValue)
|
||||
{
|
||||
whereClauses.Add("Status=@Status");
|
||||
cmd.Parameters.Add(cmd, "@Status", DbType.String).Value = query.Status.Value.ToString();
|
||||
}
|
||||
|
||||
if (query.IsCompleted.HasValue)
|
||||
{
|
||||
|
@ -251,6 +251,8 @@ namespace MediaBrowser.Server.Startup.Common
|
||||
_remotePackageName = remotePackageName;
|
||||
_supportsNativeWebSocket = supportsNativeWebSocket;
|
||||
NativeApp = nativeApp;
|
||||
|
||||
SetBaseExceptionMessage();
|
||||
}
|
||||
|
||||
private Version _version;
|
||||
@ -307,6 +309,23 @@ namespace MediaBrowser.Server.Startup.Common
|
||||
get { return NativeApp.SupportsAutoRunAtStartup; }
|
||||
}
|
||||
|
||||
private void SetBaseExceptionMessage()
|
||||
{
|
||||
var builder = GetBaseExceptionMessage(ApplicationPaths);
|
||||
|
||||
// Skip if plugins haven't been loaded yet
|
||||
//if (Plugins != null)
|
||||
//{
|
||||
// var pluginString = string.Join("|", Plugins.Select(i => i.Name + "-" + i.Version.ToString()).ToArray());
|
||||
// builder.Insert(0, string.Format("Plugins: {0}{1}", pluginString, Environment.NewLine));
|
||||
//}
|
||||
|
||||
builder.Insert(0, string.Format("Version: {0}{1}", ApplicationVersion, Environment.NewLine));
|
||||
builder.Insert(0, "*** Error Report ***" + Environment.NewLine);
|
||||
|
||||
LogManager.ExceptionMessagePrefix = builder.ToString();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Runs the startup tasks.
|
||||
/// </summary>
|
||||
|
@ -1,5 +1,4 @@
|
||||
using MediaBrowser.Common.Configuration;
|
||||
using MediaBrowser.Common.Implementations.Logging;
|
||||
using MediaBrowser.Common.Implementations.Logging;
|
||||
using MediaBrowser.Model.Logging;
|
||||
using MediaBrowser.Server.Implementations;
|
||||
using MediaBrowser.Server.Startup.Common;
|
||||
|
@ -2,7 +2,7 @@
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>MediaBrowser.Common.Internal</id>
|
||||
<version>3.0.520</version>
|
||||
<version>3.0.521</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.520" />
|
||||
<dependency id="MediaBrowser.Common" version="3.0.521" />
|
||||
<dependency id="NLog" version="3.1.0.0" />
|
||||
<dependency id="SimpleInjector" version="2.6.1" />
|
||||
<dependency id="sharpcompress" version="0.10.2" />
|
||||
|
@ -2,7 +2,7 @@
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>MediaBrowser.Common</id>
|
||||
<version>3.0.520</version>
|
||||
<version>3.0.521</version>
|
||||
<title>MediaBrowser.Common</title>
|
||||
<authors>Media Browser Team</authors>
|
||||
<owners>ebr,Luke,scottisafool</owners>
|
||||
|
@ -2,7 +2,7 @@
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>MediaBrowser.Model.Signed</id>
|
||||
<version>3.0.520</version>
|
||||
<version>3.0.521</version>
|
||||
<title>MediaBrowser.Model - Signed Edition</title>
|
||||
<authors>Media Browser Team</authors>
|
||||
<owners>ebr,Luke,scottisafool</owners>
|
||||
|
@ -2,7 +2,7 @@
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>MediaBrowser.Server.Core</id>
|
||||
<version>3.0.520</version>
|
||||
<version>3.0.521</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.520" />
|
||||
<dependency id="MediaBrowser.Common" version="3.0.521" />
|
||||
</dependencies>
|
||||
</metadata>
|
||||
<files>
|
||||
|
@ -1,4 +1,4 @@
|
||||
using System.Reflection;
|
||||
|
||||
//[assembly: AssemblyVersion("3.0.*")]
|
||||
[assembly: AssemblyVersion("3.0.5463.3000")]
|
||||
[assembly: AssemblyVersion("3.0.5464.40000")]
|
||||
|
Loading…
Reference in New Issue
Block a user