commit
8c09665c40
|
@ -83,6 +83,13 @@ namespace MediaBrowser.Api
|
||||||
{
|
{
|
||||||
info.ContentTypeOptions = GetContentTypeOptions(true);
|
info.ContentTypeOptions = GetContentTypeOptions(true);
|
||||||
info.ContentType = configuredContentType;
|
info.ContentType = configuredContentType;
|
||||||
|
|
||||||
|
if (string.Equals(inheritedContentType, CollectionType.TvShows, StringComparison.OrdinalIgnoreCase))
|
||||||
|
{
|
||||||
|
info.ContentTypeOptions = info.ContentTypeOptions
|
||||||
|
.Where(i => string.IsNullOrWhiteSpace(i.Value) || string.Equals(i.Value, CollectionType.TvShows, StringComparison.OrdinalIgnoreCase))
|
||||||
|
.ToList();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -145,12 +145,14 @@ namespace MediaBrowser.Api.Sync
|
||||||
private readonly ISyncManager _syncManager;
|
private readonly ISyncManager _syncManager;
|
||||||
private readonly IDtoService _dtoService;
|
private readonly IDtoService _dtoService;
|
||||||
private readonly ILibraryManager _libraryManager;
|
private readonly ILibraryManager _libraryManager;
|
||||||
|
private readonly IUserManager _userManager;
|
||||||
|
|
||||||
public SyncService(ISyncManager syncManager, IDtoService dtoService, ILibraryManager libraryManager)
|
public SyncService(ISyncManager syncManager, IDtoService dtoService, ILibraryManager libraryManager, IUserManager userManager)
|
||||||
{
|
{
|
||||||
_syncManager = syncManager;
|
_syncManager = syncManager;
|
||||||
_dtoService = dtoService;
|
_dtoService = dtoService;
|
||||||
_libraryManager = libraryManager;
|
_libraryManager = libraryManager;
|
||||||
|
_userManager = userManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
public object Get(GetSyncTargets request)
|
public object Get(GetSyncTargets request)
|
||||||
|
@ -238,11 +240,15 @@ namespace MediaBrowser.Api.Sync
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var auth = AuthorizationContext.GetAuthorizationInfo(Request);
|
||||||
|
|
||||||
|
var authenticatedUser = _userManager.GetUserById(auth.UserId);
|
||||||
|
|
||||||
var items = request.ItemIds.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
|
var items = request.ItemIds.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
|
||||||
.Select(_libraryManager.GetItemById)
|
.Select(_libraryManager.GetItemById)
|
||||||
.Where(i => i != null);
|
.Where(i => i != null);
|
||||||
|
|
||||||
var dtos = _dtoService.GetBaseItemDtos(items, dtoOptions)
|
var dtos = _dtoService.GetBaseItemDtos(items, dtoOptions, authenticatedUser)
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|
||||||
result.Options = SyncHelper.GetSyncOptions(dtos);
|
result.Options = SyncHelper.GetSyncOptions(dtos);
|
||||||
|
@ -266,9 +272,11 @@ namespace MediaBrowser.Api.Sync
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public object Get(GetReadySyncItems request)
|
public async Task<object> Get(GetReadySyncItems request)
|
||||||
{
|
{
|
||||||
return ToOptimizedResult(_syncManager.GetReadySyncItems(request.TargetId));
|
var result = await _syncManager.GetReadySyncItems(request.TargetId).ConfigureAwait(false);
|
||||||
|
|
||||||
|
return ToOptimizedResult(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<object> Post(SyncData request)
|
public async Task<object> Post(SyncData request)
|
||||||
|
|
|
@ -157,6 +157,9 @@ namespace MediaBrowser.Api
|
||||||
[ApiMember(Name = "AdjacentTo", Description = "Optional. Return items that are siblings of a supplied item.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
|
[ApiMember(Name = "AdjacentTo", Description = "Optional. Return items that are siblings of a supplied item.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
|
||||||
public string AdjacentTo { get; set; }
|
public string AdjacentTo { get; set; }
|
||||||
|
|
||||||
|
[ApiMember(Name = "StartItemId", Description = "Optional. Skip through the list until a given item is found.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
|
||||||
|
public string StartItemId { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Skips over a given number of items within the results. Use for paging.
|
/// Skips over a given number of items within the results. Use for paging.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -475,6 +478,11 @@ namespace MediaBrowser.Api
|
||||||
episodes = episodes.Where(i => i.IsVirtualUnaired == val);
|
episodes = episodes.Where(i => i.IsVirtualUnaired == val);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!string.IsNullOrWhiteSpace(request.StartItemId))
|
||||||
|
{
|
||||||
|
episodes = episodes.SkipWhile(i => !string.Equals(i.Id.ToString("N"), request.StartItemId, StringComparison.OrdinalIgnoreCase));
|
||||||
|
}
|
||||||
|
|
||||||
IEnumerable<BaseItem> returnItems = episodes;
|
IEnumerable<BaseItem> returnItems = episodes;
|
||||||
|
|
||||||
// This must be the last filter
|
// This must be the last filter
|
||||||
|
@ -483,9 +491,10 @@ namespace MediaBrowser.Api
|
||||||
returnItems = UserViewBuilder.FilterForAdjacency(returnItems, request.AdjacentTo);
|
returnItems = UserViewBuilder.FilterForAdjacency(returnItems, request.AdjacentTo);
|
||||||
}
|
}
|
||||||
|
|
||||||
returnItems = _libraryManager.ReplaceVideosWithPrimaryVersions(returnItems);
|
var returnList = _libraryManager.ReplaceVideosWithPrimaryVersions(returnItems)
|
||||||
|
.ToList();
|
||||||
|
|
||||||
var pagedItems = ApplyPaging(returnItems, request.StartIndex, request.Limit);
|
var pagedItems = ApplyPaging(returnList, request.StartIndex, request.Limit);
|
||||||
|
|
||||||
var dtoOptions = GetDtoOptions(request);
|
var dtoOptions = GetDtoOptions(request);
|
||||||
|
|
||||||
|
@ -494,7 +503,7 @@ namespace MediaBrowser.Api
|
||||||
|
|
||||||
return new ItemsResult
|
return new ItemsResult
|
||||||
{
|
{
|
||||||
TotalRecordCount = dtos.Length,
|
TotalRecordCount = returnList.Count,
|
||||||
Items = dtos
|
Items = dtos
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -365,9 +365,7 @@ namespace MediaBrowser.Api
|
||||||
throw new ResourceNotFoundException("User not found");
|
throw new ResourceNotFoundException("User not found");
|
||||||
}
|
}
|
||||||
|
|
||||||
var auth = AuthorizationContext.GetAuthorizationInfo(Request);
|
var result = _userManager.GetOfflineUserDto(user);
|
||||||
|
|
||||||
var result = _userManager.GetOfflineUserDto(user, auth.DeviceId);
|
|
||||||
|
|
||||||
return ToOptimizedResult(result);
|
return ToOptimizedResult(result);
|
||||||
}
|
}
|
||||||
|
|
|
@ -169,24 +169,27 @@ namespace MediaBrowser.Common.Implementations.Networking
|
||||||
IPAddress address;
|
IPAddress address;
|
||||||
if (resolveHost && !IPAddress.TryParse(endpoint, out address))
|
if (resolveHost && !IPAddress.TryParse(endpoint, out address))
|
||||||
{
|
{
|
||||||
var host = new Uri(endpoint).DnsSafeHost;
|
Uri uri;
|
||||||
|
if (Uri.TryCreate(endpoint, UriKind.RelativeOrAbsolute, out uri))
|
||||||
Logger.Debug("Resolving host {0}", host);
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
{
|
||||||
address = GetIpAddresses(host).FirstOrDefault();
|
var host = uri.DnsSafeHost;
|
||||||
|
Logger.Debug("Resolving host {0}", host);
|
||||||
|
|
||||||
if (address != null)
|
try
|
||||||
{
|
{
|
||||||
Logger.Debug("{0} resolved to {1}", host, address);
|
address = GetIpAddresses(host).FirstOrDefault();
|
||||||
|
|
||||||
return IsInLocalNetworkInternal(address.ToString(), false);
|
if (address != null)
|
||||||
|
{
|
||||||
|
Logger.Debug("{0} resolved to {1}", host, address);
|
||||||
|
|
||||||
|
return IsInLocalNetworkInternal(address.ToString(), false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Logger.ErrorException("Error resovling hostname {0}", ex, host);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
Logger.ErrorException("Error resovling hostname {0}", ex, host);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -52,6 +52,16 @@ namespace MediaBrowser.Controller.Entities.Audio
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override bool IsSaveLocalMetadataEnabled()
|
||||||
|
{
|
||||||
|
if (IsAccessedByName)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return base.IsSaveLocalMetadataEnabled();
|
||||||
|
}
|
||||||
|
|
||||||
private readonly Task _cachedTask = Task.FromResult(true);
|
private readonly Task _cachedTask = Task.FromResult(true);
|
||||||
protected override Task ValidateChildrenInternal(IProgress<double> progress, CancellationToken cancellationToken, bool recursive, bool refreshChildMetadata, MetadataRefreshOptions refreshOptions, IDirectoryService directoryService)
|
protected override Task ValidateChildrenInternal(IProgress<double> progress, CancellationToken cancellationToken, bool recursive, bool refreshChildMetadata, MetadataRefreshOptions refreshOptions, IDirectoryService directoryService)
|
||||||
{
|
{
|
||||||
|
|
|
@ -44,6 +44,11 @@ namespace MediaBrowser.Controller.Entities.Audio
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override bool IsSaveLocalMetadataEnabled()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets a value indicating whether this instance is owned item.
|
/// Gets a value indicating whether this instance is owned item.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -976,14 +976,21 @@ namespace MediaBrowser.Controller.Entities
|
||||||
lang = hasLang.PreferredMetadataLanguage;
|
lang = hasLang.PreferredMetadataLanguage;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(lang))
|
if (string.IsNullOrWhiteSpace(lang))
|
||||||
{
|
{
|
||||||
lang = Parents.OfType<IHasPreferredMetadataLanguage>()
|
lang = Parents.OfType<IHasPreferredMetadataLanguage>()
|
||||||
.Select(i => i.PreferredMetadataLanguage)
|
.Select(i => i.PreferredMetadataLanguage)
|
||||||
.FirstOrDefault(i => !string.IsNullOrEmpty(i));
|
.FirstOrDefault(i => !string.IsNullOrWhiteSpace(i));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(lang))
|
if (string.IsNullOrWhiteSpace(lang))
|
||||||
|
{
|
||||||
|
lang = LibraryManager.GetCollectionFolders(this)
|
||||||
|
.Select(i => i.PreferredMetadataLanguage)
|
||||||
|
.FirstOrDefault(i => !string.IsNullOrWhiteSpace(i));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (string.IsNullOrWhiteSpace(lang))
|
||||||
{
|
{
|
||||||
lang = ConfigurationManager.Configuration.PreferredMetadataLanguage;
|
lang = ConfigurationManager.Configuration.PreferredMetadataLanguage;
|
||||||
}
|
}
|
||||||
|
@ -1006,14 +1013,21 @@ namespace MediaBrowser.Controller.Entities
|
||||||
lang = hasLang.PreferredMetadataCountryCode;
|
lang = hasLang.PreferredMetadataCountryCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(lang))
|
if (string.IsNullOrWhiteSpace(lang))
|
||||||
{
|
{
|
||||||
lang = Parents.OfType<IHasPreferredMetadataLanguage>()
|
lang = Parents.OfType<IHasPreferredMetadataLanguage>()
|
||||||
.Select(i => i.PreferredMetadataCountryCode)
|
.Select(i => i.PreferredMetadataCountryCode)
|
||||||
.FirstOrDefault(i => !string.IsNullOrEmpty(i));
|
.FirstOrDefault(i => !string.IsNullOrWhiteSpace(i));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(lang))
|
if (string.IsNullOrWhiteSpace(lang))
|
||||||
|
{
|
||||||
|
lang = LibraryManager.GetCollectionFolders(this)
|
||||||
|
.Select(i => i.PreferredMetadataCountryCode)
|
||||||
|
.FirstOrDefault(i => !string.IsNullOrWhiteSpace(i));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (string.IsNullOrWhiteSpace(lang))
|
||||||
{
|
{
|
||||||
lang = ConfigurationManager.Configuration.MetadataCountryCode;
|
lang = ConfigurationManager.Configuration.MetadataCountryCode;
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,6 +43,11 @@ namespace MediaBrowser.Controller.Entities
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override bool IsSaveLocalMetadataEnabled()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
public override bool CanDelete()
|
public override bool CanDelete()
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -34,6 +34,11 @@ namespace MediaBrowser.Controller.Entities
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override bool IsSaveLocalMetadataEnabled()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
public override bool CanDelete()
|
public override bool CanDelete()
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -79,6 +79,11 @@ namespace MediaBrowser.Controller.Entities.Movies
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override bool IsSaveLocalMetadataEnabled()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets the trailer ids.
|
/// Gets the trailer ids.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
using System.Runtime.Serialization;
|
using MediaBrowser.Controller.Providers;
|
||||||
using MediaBrowser.Controller.Providers;
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Runtime.Serialization;
|
||||||
|
|
||||||
namespace MediaBrowser.Controller.Entities
|
namespace MediaBrowser.Controller.Entities
|
||||||
{
|
{
|
||||||
|
@ -50,6 +50,11 @@ namespace MediaBrowser.Controller.Entities
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override bool IsSaveLocalMetadataEnabled()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets a value indicating whether this instance is owned item.
|
/// Gets a value indicating whether this instance is owned item.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -45,6 +45,11 @@ namespace MediaBrowser.Controller.Entities
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override bool IsSaveLocalMetadataEnabled()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets a value indicating whether this instance is owned item.
|
/// Gets a value indicating whether this instance is owned item.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -63,7 +68,6 @@ namespace MediaBrowser.Controller.Entities
|
||||||
return inputItems.Where(GetItemFilter());
|
return inputItems.Where(GetItemFilter());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public Func<BaseItem, bool> GetItemFilter()
|
public Func<BaseItem, bool> GetItemFilter()
|
||||||
{
|
{
|
||||||
return i => i.Studios.Contains(Name, StringComparer.OrdinalIgnoreCase);
|
return i => i.Studios.Contains(Name, StringComparer.OrdinalIgnoreCase);
|
||||||
|
|
|
@ -1,7 +1,4 @@
|
||||||
using System.Threading;
|
using MediaBrowser.Controller.Providers;
|
||||||
using System.Threading.Tasks;
|
|
||||||
using MediaBrowser.Controller.Localization;
|
|
||||||
using MediaBrowser.Controller.Providers;
|
|
||||||
using MediaBrowser.Model.Configuration;
|
using MediaBrowser.Model.Configuration;
|
||||||
using MediaBrowser.Model.Entities;
|
using MediaBrowser.Model.Entities;
|
||||||
using MediaBrowser.Model.Querying;
|
using MediaBrowser.Model.Querying;
|
||||||
|
@ -10,6 +7,8 @@ using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Runtime.Serialization;
|
using System.Runtime.Serialization;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace MediaBrowser.Controller.Entities.TV
|
namespace MediaBrowser.Controller.Entities.TV
|
||||||
{
|
{
|
||||||
|
|
|
@ -1632,7 +1632,7 @@ namespace MediaBrowser.Controller.Entities
|
||||||
var ok = new[] { item }.Any(i =>
|
var ok = new[] { item }.Any(i =>
|
||||||
i.People != null &&
|
i.People != null &&
|
||||||
i.People.Any(p =>
|
i.People.Any(p =>
|
||||||
p.Name.Equals(query.Person, StringComparison.OrdinalIgnoreCase) && (types.Contains(p.Type, StringComparer.OrdinalIgnoreCase) || types.Contains(p.Role, StringComparer.OrdinalIgnoreCase))));
|
string.Equals(p.Name, query.Person, StringComparison.OrdinalIgnoreCase) && (types.Contains(p.Type ?? string.Empty, StringComparer.OrdinalIgnoreCase) || types.Contains(p.Role ?? string.Empty, StringComparer.OrdinalIgnoreCase))));
|
||||||
|
|
||||||
if (!ok)
|
if (!ok)
|
||||||
{
|
{
|
||||||
|
|
|
@ -52,6 +52,11 @@ namespace MediaBrowser.Controller.Entities
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override bool IsSaveLocalMetadataEnabled()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
public IEnumerable<BaseItem> GetTaggedItems(IEnumerable<BaseItem> inputItems)
|
public IEnumerable<BaseItem> GetTaggedItems(IEnumerable<BaseItem> inputItems)
|
||||||
{
|
{
|
||||||
int year;
|
int year;
|
||||||
|
|
|
@ -393,5 +393,12 @@ namespace MediaBrowser.Controller.Library
|
||||||
/// <returns>IEnumerable<Video>.</returns>
|
/// <returns>IEnumerable<Video>.</returns>
|
||||||
IEnumerable<Video> FindExtras(BaseItem owner, List<FileSystemInfo> fileSystemChildren,
|
IEnumerable<Video> FindExtras(BaseItem owner, List<FileSystemInfo> fileSystemChildren,
|
||||||
IDirectoryService directoryService);
|
IDirectoryService directoryService);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the collection folders.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="item">The item.</param>
|
||||||
|
/// <returns>IEnumerable<Folder>.</returns>
|
||||||
|
IEnumerable<Folder> GetCollectionFolders(BaseItem item);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -64,6 +64,6 @@ namespace MediaBrowser.Controller.Library
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Updates playstate for an item and returns true or false indicating if it was played to completion
|
/// Updates playstate for an item and returns true or false indicating if it was played to completion
|
||||||
/// </summary>
|
/// </summary>
|
||||||
bool UpdatePlayState(BaseItem item, UserItemData data, long positionTicks);
|
bool UpdatePlayState(BaseItem item, UserItemData data, long? positionTicks);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -121,9 +121,8 @@ namespace MediaBrowser.Controller.Library
|
||||||
/// Gets the offline user dto.
|
/// Gets the offline user dto.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="user">The user.</param>
|
/// <param name="user">The user.</param>
|
||||||
/// <param name="deviceId">The device identifier.</param>
|
|
||||||
/// <returns>UserDto.</returns>
|
/// <returns>UserDto.</returns>
|
||||||
UserDto GetOfflineUserDto(User user, string deviceId);
|
UserDto GetOfflineUserDto(User user);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Resets the easy password.
|
/// Resets the easy password.
|
||||||
|
|
|
@ -294,6 +294,19 @@ namespace MediaBrowser.Controller.Providers
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case "CountryCode":
|
||||||
|
{
|
||||||
|
var val = reader.ReadElementContentAsString();
|
||||||
|
|
||||||
|
var hasLanguage = item as IHasPreferredMetadataLanguage;
|
||||||
|
if (hasLanguage != null)
|
||||||
|
{
|
||||||
|
hasLanguage.PreferredMetadataCountryCode = val;
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case "PlaceOfBirth":
|
case "PlaceOfBirth":
|
||||||
{
|
{
|
||||||
var val = reader.ReadElementContentAsString();
|
var val = reader.ReadElementContentAsString();
|
||||||
|
|
|
@ -123,7 +123,7 @@ namespace MediaBrowser.Controller.Sync
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="targetId">The target identifier.</param>
|
/// <param name="targetId">The target identifier.</param>
|
||||||
/// <returns>List<SyncedItem>.</returns>
|
/// <returns>List<SyncedItem>.</returns>
|
||||||
List<SyncedItem> GetReadySyncItems(string targetId);
|
Task<List<SyncedItem>> GetReadySyncItems(string targetId);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Synchronizes the data.
|
/// Synchronizes the data.
|
||||||
|
|
|
@ -67,7 +67,8 @@ namespace MediaBrowser.Dlna.ContentDirectory
|
||||||
_dlna.GetDefaultProfile();
|
_dlna.GetDefaultProfile();
|
||||||
|
|
||||||
var serverAddress = request.RequestedUrl.Substring(0, request.RequestedUrl.IndexOf("/dlna", StringComparison.OrdinalIgnoreCase));
|
var serverAddress = request.RequestedUrl.Substring(0, request.RequestedUrl.IndexOf("/dlna", StringComparison.OrdinalIgnoreCase));
|
||||||
|
string accessToken = null;
|
||||||
|
|
||||||
var user = GetUser(profile);
|
var user = GetUser(profile);
|
||||||
|
|
||||||
return new ControlHandler(
|
return new ControlHandler(
|
||||||
|
@ -75,6 +76,7 @@ namespace MediaBrowser.Dlna.ContentDirectory
|
||||||
_libraryManager,
|
_libraryManager,
|
||||||
profile,
|
profile,
|
||||||
serverAddress,
|
serverAddress,
|
||||||
|
accessToken,
|
||||||
_imageProcessor,
|
_imageProcessor,
|
||||||
_userDataManager,
|
_userDataManager,
|
||||||
user,
|
user,
|
||||||
|
|
|
@ -45,7 +45,7 @@ namespace MediaBrowser.Dlna.ContentDirectory
|
||||||
|
|
||||||
private readonly DeviceProfile _profile;
|
private readonly DeviceProfile _profile;
|
||||||
|
|
||||||
public ControlHandler(ILogger logger, ILibraryManager libraryManager, DeviceProfile profile, string serverAddress, IImageProcessor imageProcessor, IUserDataManager userDataManager, User user, int systemUpdateId, IServerConfigurationManager config, ILocalizationManager localization, IChannelManager channelManager)
|
public ControlHandler(ILogger logger, ILibraryManager libraryManager, DeviceProfile profile, string serverAddress, string accessToken, IImageProcessor imageProcessor, IUserDataManager userDataManager, User user, int systemUpdateId, IServerConfigurationManager config, ILocalizationManager localization, IChannelManager channelManager)
|
||||||
: base(config, logger)
|
: base(config, logger)
|
||||||
{
|
{
|
||||||
_libraryManager = libraryManager;
|
_libraryManager = libraryManager;
|
||||||
|
@ -55,7 +55,7 @@ namespace MediaBrowser.Dlna.ContentDirectory
|
||||||
_channelManager = channelManager;
|
_channelManager = channelManager;
|
||||||
_profile = profile;
|
_profile = profile;
|
||||||
|
|
||||||
_didlBuilder = new DidlBuilder(profile, user, imageProcessor, serverAddress, userDataManager, localization);
|
_didlBuilder = new DidlBuilder(profile, user, imageProcessor, serverAddress, accessToken, userDataManager, localization);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override IEnumerable<KeyValuePair<string, string>> GetResult(string methodName, Headers methodParams)
|
protected override IEnumerable<KeyValuePair<string, string>> GetResult(string methodName, Headers methodParams)
|
||||||
|
|
|
@ -33,17 +33,19 @@ namespace MediaBrowser.Dlna.Didl
|
||||||
private readonly DeviceProfile _profile;
|
private readonly DeviceProfile _profile;
|
||||||
private readonly IImageProcessor _imageProcessor;
|
private readonly IImageProcessor _imageProcessor;
|
||||||
private readonly string _serverAddress;
|
private readonly string _serverAddress;
|
||||||
|
private readonly string _accessToken;
|
||||||
private readonly User _user;
|
private readonly User _user;
|
||||||
private readonly IUserDataManager _userDataManager;
|
private readonly IUserDataManager _userDataManager;
|
||||||
private readonly ILocalizationManager _localization;
|
private readonly ILocalizationManager _localization;
|
||||||
|
|
||||||
public DidlBuilder(DeviceProfile profile, User user, IImageProcessor imageProcessor, string serverAddress, IUserDataManager userDataManager, ILocalizationManager localization)
|
public DidlBuilder(DeviceProfile profile, User user, IImageProcessor imageProcessor, string serverAddress, string accessToken, IUserDataManager userDataManager, ILocalizationManager localization)
|
||||||
{
|
{
|
||||||
_profile = profile;
|
_profile = profile;
|
||||||
_imageProcessor = imageProcessor;
|
_imageProcessor = imageProcessor;
|
||||||
_serverAddress = serverAddress;
|
_serverAddress = serverAddress;
|
||||||
_userDataManager = userDataManager;
|
_userDataManager = userDataManager;
|
||||||
_localization = localization;
|
_localization = localization;
|
||||||
|
_accessToken = accessToken;
|
||||||
_user = user;
|
_user = user;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -161,7 +163,7 @@ namespace MediaBrowser.Dlna.Didl
|
||||||
AddVideoResource(container, video, deviceId, filter, contentFeature, streamInfo);
|
AddVideoResource(container, video, deviceId, filter, contentFeature, streamInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (var subtitle in streamInfo.GetExternalSubtitles(_serverAddress, false))
|
foreach (var subtitle in streamInfo.GetExternalSubtitles(_serverAddress, _accessToken, false))
|
||||||
{
|
{
|
||||||
AddSubtitleElement(container, subtitle);
|
AddSubtitleElement(container, subtitle);
|
||||||
}
|
}
|
||||||
|
@ -206,7 +208,7 @@ namespace MediaBrowser.Dlna.Didl
|
||||||
{
|
{
|
||||||
var res = container.OwnerDocument.CreateElement(string.Empty, "res", NS_DIDL);
|
var res = container.OwnerDocument.CreateElement(string.Empty, "res", NS_DIDL);
|
||||||
|
|
||||||
var url = streamInfo.ToDlnaUrl(_serverAddress);
|
var url = streamInfo.ToDlnaUrl(_serverAddress, _accessToken);
|
||||||
|
|
||||||
res.InnerText = url;
|
res.InnerText = url;
|
||||||
|
|
||||||
|
@ -351,7 +353,7 @@ namespace MediaBrowser.Dlna.Didl
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
var url = streamInfo.ToDlnaUrl(_serverAddress);
|
var url = streamInfo.ToDlnaUrl(_serverAddress, _accessToken);
|
||||||
|
|
||||||
res.InnerText = url;
|
res.InnerText = url;
|
||||||
|
|
||||||
|
|
|
@ -38,6 +38,7 @@ namespace MediaBrowser.Dlna.PlayTo
|
||||||
|
|
||||||
private readonly DeviceDiscovery _deviceDiscovery;
|
private readonly DeviceDiscovery _deviceDiscovery;
|
||||||
private readonly string _serverAddress;
|
private readonly string _serverAddress;
|
||||||
|
private readonly string _accessToken;
|
||||||
|
|
||||||
public bool IsSessionActive
|
public bool IsSessionActive
|
||||||
{
|
{
|
||||||
|
@ -54,7 +55,7 @@ namespace MediaBrowser.Dlna.PlayTo
|
||||||
|
|
||||||
private Timer _updateTimer;
|
private Timer _updateTimer;
|
||||||
|
|
||||||
public PlayToController(SessionInfo session, ISessionManager sessionManager, IItemRepository itemRepository, ILibraryManager libraryManager, ILogger logger, IDlnaManager dlnaManager, IUserManager userManager, IImageProcessor imageProcessor, string serverAddress, DeviceDiscovery deviceDiscovery, IUserDataManager userDataManager, ILocalizationManager localization)
|
public PlayToController(SessionInfo session, ISessionManager sessionManager, IItemRepository itemRepository, ILibraryManager libraryManager, ILogger logger, IDlnaManager dlnaManager, IUserManager userManager, IImageProcessor imageProcessor, string serverAddress, string accessToken, DeviceDiscovery deviceDiscovery, IUserDataManager userDataManager, ILocalizationManager localization)
|
||||||
{
|
{
|
||||||
_session = session;
|
_session = session;
|
||||||
_itemRepository = itemRepository;
|
_itemRepository = itemRepository;
|
||||||
|
@ -67,6 +68,7 @@ namespace MediaBrowser.Dlna.PlayTo
|
||||||
_deviceDiscovery = deviceDiscovery;
|
_deviceDiscovery = deviceDiscovery;
|
||||||
_userDataManager = userDataManager;
|
_userDataManager = userDataManager;
|
||||||
_localization = localization;
|
_localization = localization;
|
||||||
|
_accessToken = accessToken;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -306,18 +308,16 @@ namespace MediaBrowser.Dlna.PlayTo
|
||||||
var playlist = new List<PlaylistItem>();
|
var playlist = new List<PlaylistItem>();
|
||||||
var isFirst = true;
|
var isFirst = true;
|
||||||
|
|
||||||
var serverAddress = GetServerAddress();
|
|
||||||
|
|
||||||
foreach (var item in items)
|
foreach (var item in items)
|
||||||
{
|
{
|
||||||
if (isFirst && command.StartPositionTicks.HasValue)
|
if (isFirst && command.StartPositionTicks.HasValue)
|
||||||
{
|
{
|
||||||
playlist.Add(CreatePlaylistItem(item, user, command.StartPositionTicks.Value, serverAddress));
|
playlist.Add(CreatePlaylistItem(item, user, command.StartPositionTicks.Value));
|
||||||
isFirst = false;
|
isFirst = false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
playlist.Add(CreatePlaylistItem(item, user, 0, serverAddress));
|
playlist.Add(CreatePlaylistItem(item, user, 0));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -381,7 +381,7 @@ namespace MediaBrowser.Dlna.PlayTo
|
||||||
if (info.Item != null && !info.IsDirectStream)
|
if (info.Item != null && !info.IsDirectStream)
|
||||||
{
|
{
|
||||||
var user = _session.UserId.HasValue ? _userManager.GetUserById(_session.UserId.Value) : null;
|
var user = _session.UserId.HasValue ? _userManager.GetUserById(_session.UserId.Value) : null;
|
||||||
var newItem = CreatePlaylistItem(info.Item, user, newPosition, GetServerAddress(), info.MediaSourceId, info.AudioStreamIndex, info.SubtitleStreamIndex);
|
var newItem = CreatePlaylistItem(info.Item, user, newPosition, info.MediaSourceId, info.AudioStreamIndex, info.SubtitleStreamIndex);
|
||||||
|
|
||||||
await _device.SetAvTransport(newItem.StreamUrl, GetDlnaHeaders(newItem), newItem.Didl).ConfigureAwait(false);
|
await _device.SetAvTransport(newItem.StreamUrl, GetDlnaHeaders(newItem), newItem.Didl).ConfigureAwait(false);
|
||||||
|
|
||||||
|
@ -458,12 +458,12 @@ namespace MediaBrowser.Dlna.PlayTo
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private PlaylistItem CreatePlaylistItem(BaseItem item, User user, long startPostionTicks, string serverAddress)
|
private PlaylistItem CreatePlaylistItem(BaseItem item, User user, long startPostionTicks)
|
||||||
{
|
{
|
||||||
return CreatePlaylistItem(item, user, startPostionTicks, serverAddress, null, null, null);
|
return CreatePlaylistItem(item, user, startPostionTicks, null, null, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
private PlaylistItem CreatePlaylistItem(BaseItem item, User user, long startPostionTicks, string serverAddress, string mediaSourceId, int? audioStreamIndex, int? subtitleStreamIndex)
|
private PlaylistItem CreatePlaylistItem(BaseItem item, User user, long startPostionTicks, string mediaSourceId, int? audioStreamIndex, int? subtitleStreamIndex)
|
||||||
{
|
{
|
||||||
var deviceInfo = _device.Properties;
|
var deviceInfo = _device.Properties;
|
||||||
|
|
||||||
|
@ -478,9 +478,9 @@ namespace MediaBrowser.Dlna.PlayTo
|
||||||
var playlistItem = GetPlaylistItem(item, mediaSources, profile, _session.DeviceId, mediaSourceId, audioStreamIndex, subtitleStreamIndex);
|
var playlistItem = GetPlaylistItem(item, mediaSources, profile, _session.DeviceId, mediaSourceId, audioStreamIndex, subtitleStreamIndex);
|
||||||
playlistItem.StreamInfo.StartPositionTicks = startPostionTicks;
|
playlistItem.StreamInfo.StartPositionTicks = startPostionTicks;
|
||||||
|
|
||||||
playlistItem.StreamUrl = playlistItem.StreamInfo.ToUrl(serverAddress);
|
playlistItem.StreamUrl = playlistItem.StreamInfo.ToUrl(_serverAddress, _accessToken);
|
||||||
|
|
||||||
var itemXml = new DidlBuilder(profile, user, _imageProcessor, serverAddress, _userDataManager, _localization)
|
var itemXml = new DidlBuilder(profile, user, _imageProcessor, _serverAddress, _accessToken, _userDataManager, _localization)
|
||||||
.GetItemDidl(item, null, _session.DeviceId, new Filter(), playlistItem.StreamInfo);
|
.GetItemDidl(item, null, _session.DeviceId, new Filter(), playlistItem.StreamInfo);
|
||||||
|
|
||||||
playlistItem.Didl = itemXml;
|
playlistItem.Didl = itemXml;
|
||||||
|
@ -745,7 +745,7 @@ namespace MediaBrowser.Dlna.PlayTo
|
||||||
var newPosition = progress.PositionTicks ?? 0;
|
var newPosition = progress.PositionTicks ?? 0;
|
||||||
|
|
||||||
var user = _session.UserId.HasValue ? _userManager.GetUserById(_session.UserId.Value) : null;
|
var user = _session.UserId.HasValue ? _userManager.GetUserById(_session.UserId.Value) : null;
|
||||||
var newItem = CreatePlaylistItem(info.Item, user, newPosition, GetServerAddress(), info.MediaSourceId, newIndex, info.SubtitleStreamIndex);
|
var newItem = CreatePlaylistItem(info.Item, user, newPosition, info.MediaSourceId, newIndex, info.SubtitleStreamIndex);
|
||||||
|
|
||||||
await _device.SetAvTransport(newItem.StreamUrl, GetDlnaHeaders(newItem), newItem.Didl).ConfigureAwait(false);
|
await _device.SetAvTransport(newItem.StreamUrl, GetDlnaHeaders(newItem), newItem.Didl).ConfigureAwait(false);
|
||||||
|
|
||||||
|
@ -771,7 +771,7 @@ namespace MediaBrowser.Dlna.PlayTo
|
||||||
var newPosition = progress.PositionTicks ?? 0;
|
var newPosition = progress.PositionTicks ?? 0;
|
||||||
|
|
||||||
var user = _session.UserId.HasValue ? _userManager.GetUserById(_session.UserId.Value) : null;
|
var user = _session.UserId.HasValue ? _userManager.GetUserById(_session.UserId.Value) : null;
|
||||||
var newItem = CreatePlaylistItem(info.Item, user, newPosition, GetServerAddress(), info.MediaSourceId, info.AudioStreamIndex, newIndex);
|
var newItem = CreatePlaylistItem(info.Item, user, newPosition, info.MediaSourceId, info.AudioStreamIndex, newIndex);
|
||||||
|
|
||||||
await _device.SetAvTransport(newItem.StreamUrl, GetDlnaHeaders(newItem), newItem.Didl).ConfigureAwait(false);
|
await _device.SetAvTransport(newItem.StreamUrl, GetDlnaHeaders(newItem), newItem.Didl).ConfigureAwait(false);
|
||||||
|
|
||||||
|
|
|
@ -98,6 +98,7 @@ namespace MediaBrowser.Dlna.PlayTo
|
||||||
if (controller == null)
|
if (controller == null)
|
||||||
{
|
{
|
||||||
var serverAddress = GetServerAddress(localIp);
|
var serverAddress = GetServerAddress(localIp);
|
||||||
|
string accessToken = null;
|
||||||
|
|
||||||
sessionInfo.SessionController = controller = new PlayToController(sessionInfo,
|
sessionInfo.SessionController = controller = new PlayToController(sessionInfo,
|
||||||
_sessionManager,
|
_sessionManager,
|
||||||
|
@ -108,6 +109,7 @@ namespace MediaBrowser.Dlna.PlayTo
|
||||||
_userManager,
|
_userManager,
|
||||||
_imageProcessor,
|
_imageProcessor,
|
||||||
serverAddress,
|
serverAddress,
|
||||||
|
accessToken,
|
||||||
_deviceDiscovery,
|
_deviceDiscovery,
|
||||||
_userDataManager,
|
_userDataManager,
|
||||||
_localization);
|
_localization);
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
using MediaBrowser.Common.IO;
|
using MediaBrowser.Common.IO;
|
||||||
using MediaBrowser.Controller.Channels;
|
|
||||||
using MediaBrowser.Controller.Configuration;
|
using MediaBrowser.Controller.Configuration;
|
||||||
using MediaBrowser.Controller.Entities;
|
using MediaBrowser.Controller.Entities;
|
||||||
using MediaBrowser.Controller.Entities.Audio;
|
using MediaBrowser.Controller.Entities.Audio;
|
||||||
|
|
|
@ -421,6 +421,10 @@ namespace MediaBrowser.LocalMetadata.Savers
|
||||||
{
|
{
|
||||||
builder.Append("<Language>" + SecurityElement.Escape(hasLanguage.PreferredMetadataLanguage) + "</Language>");
|
builder.Append("<Language>" + SecurityElement.Escape(hasLanguage.PreferredMetadataLanguage) + "</Language>");
|
||||||
}
|
}
|
||||||
|
if (!string.IsNullOrEmpty(hasLanguage.PreferredMetadataCountryCode))
|
||||||
|
{
|
||||||
|
builder.Append("<CountryCode>" + SecurityElement.Escape(hasLanguage.PreferredMetadataCountryCode) + "</CountryCode>");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Use original runtime here, actual file runtime later in MediaInfo
|
// Use original runtime here, actual file runtime later in MediaInfo
|
||||||
|
|
|
@ -110,6 +110,9 @@
|
||||||
<Compile Include="..\MediaBrowser.Model\ApiClient\IServerEvents.cs">
|
<Compile Include="..\MediaBrowser.Model\ApiClient\IServerEvents.cs">
|
||||||
<Link>ApiClient\IServerEvents.cs</Link>
|
<Link>ApiClient\IServerEvents.cs</Link>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="..\MediaBrowser.Model\ApiClient\NetworkStatus.cs">
|
||||||
|
<Link>ApiClient\NetworkStatus.cs</Link>
|
||||||
|
</Compile>
|
||||||
<Compile Include="..\MediaBrowser.Model\ApiClient\RemoteLogoutReason.cs">
|
<Compile Include="..\MediaBrowser.Model\ApiClient\RemoteLogoutReason.cs">
|
||||||
<Link>ApiClient\RemoteLogoutReason.cs</Link>
|
<Link>ApiClient\RemoteLogoutReason.cs</Link>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
|
|
@ -75,6 +75,9 @@
|
||||||
<Compile Include="..\MediaBrowser.Model\ApiClient\IServerEvents.cs">
|
<Compile Include="..\MediaBrowser.Model\ApiClient\IServerEvents.cs">
|
||||||
<Link>ApiClient\IServerEvents.cs</Link>
|
<Link>ApiClient\IServerEvents.cs</Link>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="..\MediaBrowser.Model\ApiClient\NetworkStatus.cs">
|
||||||
|
<Link>ApiClient\NetworkStatus.cs</Link>
|
||||||
|
</Compile>
|
||||||
<Compile Include="..\MediaBrowser.Model\ApiClient\RemoteLogoutReason.cs">
|
<Compile Include="..\MediaBrowser.Model\ApiClient\RemoteLogoutReason.cs">
|
||||||
<Link>ApiClient\RemoteLogoutReason.cs</Link>
|
<Link>ApiClient\RemoteLogoutReason.cs</Link>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
|
|
@ -54,6 +54,13 @@ namespace MediaBrowser.Model.ApiClient
|
||||||
/// <returns>IApiClient.</returns>
|
/// <returns>IApiClient.</returns>
|
||||||
IApiClient GetApiClient(IHasServerId item);
|
IApiClient GetApiClient(IHasServerId item);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the API client.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="serverId">The server identifier.</param>
|
||||||
|
/// <returns>IApiClient.</returns>
|
||||||
|
IApiClient GetApiClient(string serverId);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Connects the specified cancellation token.
|
/// Connects the specified cancellation token.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
30
MediaBrowser.Model/ApiClient/NetworkStatus.cs
Normal file
30
MediaBrowser.Model/ApiClient/NetworkStatus.cs
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
|
||||||
|
namespace MediaBrowser.Model.ApiClient
|
||||||
|
{
|
||||||
|
public class NetworkStatus
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets a value indicating whether this instance is network available.
|
||||||
|
/// </summary>
|
||||||
|
/// <value><c>true</c> if this instance is network available; otherwise, <c>false</c>.</value>
|
||||||
|
public bool IsNetworkAvailable { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets a value indicating whether this instance is local network available.
|
||||||
|
/// </summary>
|
||||||
|
/// <value><c>null</c> if [is local network available] contains no value, <c>true</c> if [is local network available]; otherwise, <c>false</c>.</value>
|
||||||
|
public bool? IsLocalNetworkAvailable { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the is any local network available.
|
||||||
|
/// </summary>
|
||||||
|
/// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
|
||||||
|
public bool GetIsAnyLocalNetworkAvailable()
|
||||||
|
{
|
||||||
|
if (!IsLocalNetworkAvailable.HasValue)
|
||||||
|
{
|
||||||
|
return IsNetworkAvailable;
|
||||||
|
}
|
||||||
|
|
||||||
|
return IsLocalNetworkAvailable.Value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -203,7 +203,7 @@ namespace MediaBrowser.Model.Configuration
|
||||||
public bool EnableAudioArchiveFiles { get; set; }
|
public bool EnableAudioArchiveFiles { get; set; }
|
||||||
public bool EnableVideoArchiveFiles { get; set; }
|
public bool EnableVideoArchiveFiles { get; set; }
|
||||||
|
|
||||||
public bool EnableLegacyCollections { get; set; }
|
public bool EnableLegacyCollectionInView { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Initializes a new instance of the <see cref="ServerConfiguration" /> class.
|
/// Initializes a new instance of the <see cref="ServerConfiguration" /> class.
|
||||||
|
|
|
@ -85,12 +85,12 @@ namespace MediaBrowser.Model.Dlna
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public string ToUrl(string baseUrl)
|
public string ToUrl(string baseUrl, string accessToken)
|
||||||
{
|
{
|
||||||
return ToDlnaUrl(baseUrl);
|
return ToDlnaUrl(baseUrl, accessToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
public string ToDlnaUrl(string baseUrl)
|
public string ToDlnaUrl(string baseUrl, string accessToken)
|
||||||
{
|
{
|
||||||
if (PlayMethod == PlayMethod.DirectPlay)
|
if (PlayMethod == PlayMethod.DirectPlay)
|
||||||
{
|
{
|
||||||
|
@ -152,7 +152,47 @@ namespace MediaBrowser.Model.Dlna
|
||||||
return string.Format("Params={0}", string.Join(";", list.ToArray()));
|
return string.Format("Params={0}", string.Join(";", list.ToArray()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<SubtitleStreamInfo> GetExternalSubtitles(string baseUrl, bool includeSelectedTrackOnly)
|
public List<SubtitleStreamInfo> GetExternalSubtitles(bool includeSelectedTrackOnly)
|
||||||
|
{
|
||||||
|
List<SubtitleStreamInfo> list = new List<SubtitleStreamInfo>();
|
||||||
|
|
||||||
|
// First add the selected track
|
||||||
|
if (SubtitleStreamIndex.HasValue)
|
||||||
|
{
|
||||||
|
foreach (MediaStream stream in MediaSource.MediaStreams)
|
||||||
|
{
|
||||||
|
if (stream.Type == MediaStreamType.Subtitle && stream.Index == SubtitleStreamIndex.Value)
|
||||||
|
{
|
||||||
|
SubtitleStreamInfo info = GetSubtitleStreamInfo(stream);
|
||||||
|
|
||||||
|
if (info != null)
|
||||||
|
{
|
||||||
|
list.Add(info);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!includeSelectedTrackOnly)
|
||||||
|
{
|
||||||
|
foreach (MediaStream stream in MediaSource.MediaStreams)
|
||||||
|
{
|
||||||
|
if (stream.Type == MediaStreamType.Subtitle && (!SubtitleStreamIndex.HasValue || stream.Index != SubtitleStreamIndex.Value))
|
||||||
|
{
|
||||||
|
SubtitleStreamInfo info = GetSubtitleStreamInfo(stream);
|
||||||
|
|
||||||
|
if (info != null)
|
||||||
|
{
|
||||||
|
list.Add(info);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<SubtitleStreamInfo> GetExternalSubtitles(string baseUrl, string accessToken, bool includeSelectedTrackOnly)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(baseUrl))
|
if (string.IsNullOrEmpty(baseUrl))
|
||||||
{
|
{
|
||||||
|
@ -173,7 +213,12 @@ namespace MediaBrowser.Model.Dlna
|
||||||
{
|
{
|
||||||
if (stream.Type == MediaStreamType.Subtitle && stream.Index == SubtitleStreamIndex.Value)
|
if (stream.Type == MediaStreamType.Subtitle && stream.Index == SubtitleStreamIndex.Value)
|
||||||
{
|
{
|
||||||
AddSubtitle(list, stream, baseUrl, startPositionTicks);
|
SubtitleStreamInfo info = GetSubtitleStreamInfo(stream, baseUrl, accessToken, startPositionTicks);
|
||||||
|
|
||||||
|
if (info != null)
|
||||||
|
{
|
||||||
|
list.Add(info);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -184,7 +229,12 @@ namespace MediaBrowser.Model.Dlna
|
||||||
{
|
{
|
||||||
if (stream.Type == MediaStreamType.Subtitle && (!SubtitleStreamIndex.HasValue || stream.Index != SubtitleStreamIndex.Value))
|
if (stream.Type == MediaStreamType.Subtitle && (!SubtitleStreamIndex.HasValue || stream.Index != SubtitleStreamIndex.Value))
|
||||||
{
|
{
|
||||||
AddSubtitle(list, stream, baseUrl, startPositionTicks);
|
SubtitleStreamInfo info = GetSubtitleStreamInfo(stream, baseUrl, accessToken, startPositionTicks);
|
||||||
|
|
||||||
|
if (info != null)
|
||||||
|
{
|
||||||
|
list.Add(info);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -192,32 +242,41 @@ namespace MediaBrowser.Model.Dlna
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AddSubtitle(List<SubtitleStreamInfo> list, MediaStream stream, string baseUrl, long startPositionTicks)
|
private SubtitleStreamInfo GetSubtitleStreamInfo(MediaStream stream, string baseUrl, string accessToken, long startPositionTicks)
|
||||||
{
|
{
|
||||||
var subtitleProfile = StreamBuilder.GetSubtitleProfile(stream, DeviceProfile);
|
SubtitleStreamInfo info = GetSubtitleStreamInfo(stream);
|
||||||
|
|
||||||
|
if (info != null)
|
||||||
|
{
|
||||||
|
info.Url = string.Format("{0}/Videos/{1}/{2}/Subtitles/{3}/{4}/Stream.{5}",
|
||||||
|
baseUrl,
|
||||||
|
ItemId,
|
||||||
|
MediaSourceId,
|
||||||
|
StringHelper.ToStringCultureInvariant(stream.Index),
|
||||||
|
StringHelper.ToStringCultureInvariant(startPositionTicks),
|
||||||
|
SubtitleFormat);
|
||||||
|
}
|
||||||
|
|
||||||
|
return info;
|
||||||
|
}
|
||||||
|
|
||||||
|
private SubtitleStreamInfo GetSubtitleStreamInfo(MediaStream stream)
|
||||||
|
{
|
||||||
|
SubtitleProfile subtitleProfile = StreamBuilder.GetSubtitleProfile(stream, DeviceProfile);
|
||||||
|
|
||||||
if (subtitleProfile.Method != SubtitleDeliveryMethod.External)
|
if (subtitleProfile.Method != SubtitleDeliveryMethod.External)
|
||||||
{
|
{
|
||||||
return;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
string url = string.Format("{0}/Videos/{1}/{2}/Subtitles/{3}/{4}/Stream.{5}",
|
return new SubtitleStreamInfo
|
||||||
baseUrl,
|
|
||||||
ItemId,
|
|
||||||
MediaSourceId,
|
|
||||||
StringHelper.ToStringCultureInvariant(stream.Index),
|
|
||||||
StringHelper.ToStringCultureInvariant(startPositionTicks),
|
|
||||||
SubtitleFormat);
|
|
||||||
|
|
||||||
list.Add(new SubtitleStreamInfo
|
|
||||||
{
|
{
|
||||||
Url = url,
|
|
||||||
IsForced = stream.IsForced,
|
IsForced = stream.IsForced,
|
||||||
Language = stream.Language,
|
Language = stream.Language,
|
||||||
Name = stream.Language ?? "Unknown",
|
Name = stream.Language ?? "Unknown",
|
||||||
Format = SubtitleFormat,
|
Format = SubtitleFormat,
|
||||||
Index = stream.Index
|
Index = stream.Index
|
||||||
});
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -87,6 +87,12 @@ namespace MediaBrowser.Model.Dto
|
||||||
/// <value>The percent played.</value>
|
/// <value>The percent played.</value>
|
||||||
public int? PercentPlayed { get; set; }
|
public int? PercentPlayed { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the un played count.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>The un played count.</value>
|
||||||
|
public int? UnPlayedCount { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the color of the background.
|
/// Gets or sets the color of the background.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -61,6 +61,12 @@ namespace MediaBrowser.Model.Dto
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <value>The offline password.</value>
|
/// <value>The offline password.</value>
|
||||||
public string OfflinePassword { get; set; }
|
public string OfflinePassword { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the offline password salt.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>The offline password salt.</value>
|
||||||
|
public string OfflinePasswordSalt { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the primary image tag.
|
/// Gets or sets the primary image tag.
|
||||||
|
|
|
@ -72,6 +72,7 @@
|
||||||
<Compile Include="ApiClient\IDevice.cs" />
|
<Compile Include="ApiClient\IDevice.cs" />
|
||||||
<Compile Include="ApiClient\IServerEvents.cs" />
|
<Compile Include="ApiClient\IServerEvents.cs" />
|
||||||
<Compile Include="ApiClient\GeneralCommandEventArgs.cs" />
|
<Compile Include="ApiClient\GeneralCommandEventArgs.cs" />
|
||||||
|
<Compile Include="ApiClient\NetworkStatus.cs" />
|
||||||
<Compile Include="ApiClient\RemoteLogoutReason.cs" />
|
<Compile Include="ApiClient\RemoteLogoutReason.cs" />
|
||||||
<Compile Include="ApiClient\ServerCredentials.cs" />
|
<Compile Include="ApiClient\ServerCredentials.cs" />
|
||||||
<Compile Include="ApiClient\ServerDiscoveryInfo.cs" />
|
<Compile Include="ApiClient\ServerDiscoveryInfo.cs" />
|
||||||
|
|
|
@ -3,20 +3,57 @@ namespace MediaBrowser.Model.Querying
|
||||||
{
|
{
|
||||||
public class EpisodeQuery
|
public class EpisodeQuery
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the user identifier.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>The user identifier.</value>
|
||||||
public string UserId { get; set; }
|
public string UserId { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the season identifier.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>The season identifier.</value>
|
||||||
public string SeasonId { get; set; }
|
public string SeasonId { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the series identifier.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>The series identifier.</value>
|
||||||
public string SeriesId { get; set; }
|
public string SeriesId { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets a value indicating whether this instance is missing.
|
||||||
|
/// </summary>
|
||||||
|
/// <value><c>null</c> if [is missing] contains no value, <c>true</c> if [is missing]; otherwise, <c>false</c>.</value>
|
||||||
public bool? IsMissing { get; set; }
|
public bool? IsMissing { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets a value indicating whether this instance is virtual unaired.
|
||||||
|
/// </summary>
|
||||||
|
/// <value><c>null</c> if [is virtual unaired] contains no value, <c>true</c> if [is virtual unaired]; otherwise, <c>false</c>.</value>
|
||||||
public bool? IsVirtualUnaired { get; set; }
|
public bool? IsVirtualUnaired { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the season number.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>The season number.</value>
|
||||||
public int? SeasonNumber { get; set; }
|
public int? SeasonNumber { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the fields.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>The fields.</value>
|
||||||
public ItemFields[] Fields { get; set; }
|
public ItemFields[] Fields { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the start index.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>The start index.</value>
|
||||||
|
public int? StartIndex { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the limit.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>The limit.</value>
|
||||||
|
public int? Limit { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the start item identifier.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>The start item identifier.</value>
|
||||||
|
public string StartItemId { get; set; }
|
||||||
|
|
||||||
public EpisodeQuery()
|
public EpisodeQuery()
|
||||||
{
|
{
|
||||||
Fields = new ItemFields[] { };
|
Fields = new ItemFields[] { };
|
||||||
|
|
|
@ -83,5 +83,6 @@ namespace MediaBrowser.Model.Querying
|
||||||
public const string Players = "Players";
|
public const string Players = "Players";
|
||||||
public const string GameSystem = "GameSystem";
|
public const string GameSystem = "GameSystem";
|
||||||
public const string IsFavoriteOrLiked = "IsFavoriteOrLiked";
|
public const string IsFavoriteOrLiked = "IsFavoriteOrLiked";
|
||||||
|
public const string DateLastContentAdded = "DateLastContentAdded";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,10 +5,12 @@ using MediaBrowser.Controller.FileOrganization;
|
||||||
using MediaBrowser.Controller.Library;
|
using MediaBrowser.Controller.Library;
|
||||||
using MediaBrowser.Controller.Providers;
|
using MediaBrowser.Controller.Providers;
|
||||||
using MediaBrowser.Model.Entities;
|
using MediaBrowser.Model.Entities;
|
||||||
|
using MediaBrowser.Model.Extensions;
|
||||||
using MediaBrowser.Model.FileOrganization;
|
using MediaBrowser.Model.FileOrganization;
|
||||||
using MediaBrowser.Model.Logging;
|
using MediaBrowser.Model.Logging;
|
||||||
using MediaBrowser.Naming.Common;
|
|
||||||
using MediaBrowser.Naming.IO;
|
using MediaBrowser.Naming.IO;
|
||||||
|
using MediaBrowser.Server.Implementations.Library;
|
||||||
|
using MediaBrowser.Server.Implementations.Logging;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
|
@ -16,8 +18,6 @@ using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using MediaBrowser.Server.Implementations.Library;
|
|
||||||
using MediaBrowser.Server.Implementations.Logging;
|
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.FileOrganization
|
namespace MediaBrowser.Server.Implementations.FileOrganization
|
||||||
{
|
{
|
||||||
|
@ -202,15 +202,25 @@ namespace MediaBrowser.Server.Implementations.FileOrganization
|
||||||
|
|
||||||
if (overwriteExisting)
|
if (overwriteExisting)
|
||||||
{
|
{
|
||||||
|
var hasRenamedFiles = false;
|
||||||
|
|
||||||
foreach (var path in otherDuplicatePaths)
|
foreach (var path in otherDuplicatePaths)
|
||||||
{
|
{
|
||||||
_logger.Debug("Removing duplicate episode {0}", path);
|
_logger.Debug("Removing duplicate episode {0}", path);
|
||||||
|
|
||||||
_libraryMonitor.ReportFileSystemChangeBeginning(path);
|
_libraryMonitor.ReportFileSystemChangeBeginning(path);
|
||||||
|
|
||||||
|
var renameRelatedFiles = !hasRenamedFiles &&
|
||||||
|
string.Equals(Path.GetDirectoryName(path), Path.GetDirectoryName(result.TargetPath), StringComparison.OrdinalIgnoreCase);
|
||||||
|
|
||||||
|
if (renameRelatedFiles)
|
||||||
|
{
|
||||||
|
hasRenamedFiles = true;
|
||||||
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
_fileSystem.DeleteFile(path);
|
DeleteLibraryFile(path, renameRelatedFiles, result.TargetPath);
|
||||||
}
|
}
|
||||||
catch (IOException ex)
|
catch (IOException ex)
|
||||||
{
|
{
|
||||||
|
@ -224,6 +234,43 @@ namespace MediaBrowser.Server.Implementations.FileOrganization
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void DeleteLibraryFile(string path, bool renameRelatedFiles, string targetPath)
|
||||||
|
{
|
||||||
|
_fileSystem.DeleteFile(path);
|
||||||
|
|
||||||
|
if (!renameRelatedFiles)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Now find other files
|
||||||
|
var originalFilenameWithoutExtension = Path.GetFileNameWithoutExtension(path);
|
||||||
|
var directory = Path.GetDirectoryName(path);
|
||||||
|
|
||||||
|
if (!string.IsNullOrWhiteSpace(originalFilenameWithoutExtension) && !string.IsNullOrWhiteSpace(directory))
|
||||||
|
{
|
||||||
|
// Get all related files, e.g. metadata, images, etc
|
||||||
|
var files = Directory.EnumerateFiles(directory, "*", SearchOption.TopDirectoryOnly)
|
||||||
|
.Where(i => (Path.GetFileNameWithoutExtension(i) ?? string.Empty).StartsWith(originalFilenameWithoutExtension, StringComparison.OrdinalIgnoreCase))
|
||||||
|
.ToList();
|
||||||
|
|
||||||
|
var targetFilenameWithoutExtension = Path.GetFileNameWithoutExtension(targetPath);
|
||||||
|
|
||||||
|
foreach (var file in files)
|
||||||
|
{
|
||||||
|
directory = Path.GetDirectoryName(file);
|
||||||
|
var filename = Path.GetFileName(file);
|
||||||
|
|
||||||
|
filename = filename.Replace(originalFilenameWithoutExtension, targetFilenameWithoutExtension,
|
||||||
|
StringComparison.OrdinalIgnoreCase);
|
||||||
|
|
||||||
|
var destination = Path.Combine(directory, filename);
|
||||||
|
|
||||||
|
File.Move(file, destination);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private List<string> GetOtherDuplicatePaths(string targetPath, Series series, int seasonNumber, int episodeNumber, int? endingEpisodeNumber)
|
private List<string> GetOtherDuplicatePaths(string targetPath, Series series, int seasonNumber, int episodeNumber, int? endingEpisodeNumber)
|
||||||
{
|
{
|
||||||
var episodePaths = series.GetRecursiveChildren()
|
var episodePaths = series.GetRecursiveChildren()
|
||||||
|
@ -281,11 +328,11 @@ namespace MediaBrowser.Server.Implementations.FileOrganization
|
||||||
|
|
||||||
Directory.CreateDirectory(Path.GetDirectoryName(result.TargetPath));
|
Directory.CreateDirectory(Path.GetDirectoryName(result.TargetPath));
|
||||||
|
|
||||||
var copy = File.Exists(result.TargetPath);
|
var targetAlreadyExists = File.Exists(result.TargetPath);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (copy || options.CopyOriginalFile)
|
if (targetAlreadyExists || options.CopyOriginalFile)
|
||||||
{
|
{
|
||||||
File.Copy(result.OriginalPath, result.TargetPath, true);
|
File.Copy(result.OriginalPath, result.TargetPath, true);
|
||||||
}
|
}
|
||||||
|
@ -312,7 +359,7 @@ namespace MediaBrowser.Server.Implementations.FileOrganization
|
||||||
_libraryMonitor.ReportFileSystemChangeComplete(result.TargetPath, true);
|
_libraryMonitor.ReportFileSystemChangeComplete(result.TargetPath, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (copy && !options.CopyOriginalFile)
|
if (targetAlreadyExists && !options.CopyOriginalFile)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
|
@ -380,6 +380,14 @@ namespace MediaBrowser.Server.Implementations.HttpServer
|
||||||
Priority = route.Priority,
|
Priority = route.Priority,
|
||||||
Summary = route.Summary
|
Summary = route.Summary
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// TODO: This is a hack for iOS. Remove it asap.
|
||||||
|
routes.Add(new RouteAttribute(DoubleNormalizeRoutePath(route.Path), route.Verbs)
|
||||||
|
{
|
||||||
|
Notes = route.Notes,
|
||||||
|
Priority = route.Priority,
|
||||||
|
Summary = route.Summary
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
return routes.ToArray();
|
return routes.ToArray();
|
||||||
|
@ -395,6 +403,16 @@ namespace MediaBrowser.Server.Implementations.HttpServer
|
||||||
return "mediabrowser/" + path;
|
return "mediabrowser/" + path;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private string DoubleNormalizeRoutePath(string path)
|
||||||
|
{
|
||||||
|
if (path.StartsWith("/", StringComparison.OrdinalIgnoreCase))
|
||||||
|
{
|
||||||
|
return "/mediabrowser/mediabrowser" + path;
|
||||||
|
}
|
||||||
|
|
||||||
|
return "mediabrowser//mediabrowser" + path;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Releases the specified instance.
|
/// Releases the specified instance.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -401,7 +401,7 @@ namespace MediaBrowser.Server.Implementations.Library
|
||||||
}
|
}
|
||||||
catch (DirectoryNotFoundException)
|
catch (DirectoryNotFoundException)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
@ -1489,6 +1489,23 @@ namespace MediaBrowser.Server.Implementations.Library
|
||||||
return ItemRepository.RetrieveItem(id);
|
return ItemRepository.RetrieveItem(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public IEnumerable<Folder> GetCollectionFolders(BaseItem item)
|
||||||
|
{
|
||||||
|
while (!(item.Parent is AggregateFolder) && item.Parent != null)
|
||||||
|
{
|
||||||
|
item = item.Parent;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (item == null)
|
||||||
|
{
|
||||||
|
return new List<Folder>();
|
||||||
|
}
|
||||||
|
|
||||||
|
return GetUserRootFolder().Children
|
||||||
|
.OfType<Folder>()
|
||||||
|
.Where(i => string.Equals(i.Path, item.Path, StringComparison.OrdinalIgnoreCase) || i.PhysicalLocations.Contains(item.Path));
|
||||||
|
}
|
||||||
|
|
||||||
public string GetContentType(BaseItem item)
|
public string GetContentType(BaseItem item)
|
||||||
{
|
{
|
||||||
string configuredContentType = GetConfiguredContentType(item, false);
|
string configuredContentType = GetConfiguredContentType(item, false);
|
||||||
|
@ -1547,7 +1564,7 @@ namespace MediaBrowser.Server.Implementations.Library
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private string GetTopFolderContentType(BaseItem item)
|
private string GetTopFolderContentType(BaseItem item)
|
||||||
{
|
{
|
||||||
while (!(item.Parent is AggregateFolder) && item.Parent != null)
|
while (!(item.Parent is AggregateFolder) && item.Parent != null)
|
||||||
|
@ -1840,7 +1857,7 @@ namespace MediaBrowser.Server.Implementations.Library
|
||||||
options.VideoFileExtensions.Remove(".rar");
|
options.VideoFileExtensions.Remove(".rar");
|
||||||
options.VideoFileExtensions.Remove(".zip");
|
options.VideoFileExtensions.Remove(".zip");
|
||||||
}
|
}
|
||||||
|
|
||||||
return options;
|
return options;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -208,10 +208,11 @@ namespace MediaBrowser.Server.Implementations.Library
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool UpdatePlayState(BaseItem item, UserItemData data, long positionTicks)
|
public bool UpdatePlayState(BaseItem item, UserItemData data, long? reportedPositionTicks)
|
||||||
{
|
{
|
||||||
var playedToCompletion = false;
|
var playedToCompletion = false;
|
||||||
|
|
||||||
|
var positionTicks = reportedPositionTicks ?? item.RunTimeTicks ?? 0;
|
||||||
var hasRuntime = item.RunTimeTicks.HasValue && item.RunTimeTicks > 0;
|
var hasRuntime = item.RunTimeTicks.HasValue && item.RunTimeTicks > 0;
|
||||||
|
|
||||||
// If a position has been reported, and if we know the duration
|
// If a position has been reported, and if we know the duration
|
||||||
|
|
|
@ -402,15 +402,17 @@ namespace MediaBrowser.Server.Implementations.Library
|
||||||
return dto;
|
return dto;
|
||||||
}
|
}
|
||||||
|
|
||||||
public UserDto GetOfflineUserDto(User user, string deviceId)
|
public UserDto GetOfflineUserDto(User user)
|
||||||
{
|
{
|
||||||
var dto = GetUserDto(user);
|
var dto = GetUserDto(user);
|
||||||
|
|
||||||
var offlinePasswordHash = GetLocalPasswordHash(user);
|
var offlinePasswordHash = GetLocalPasswordHash(user);
|
||||||
dto.HasPassword = !IsPasswordEmpty(offlinePasswordHash);
|
dto.HasPassword = !IsPasswordEmpty(offlinePasswordHash);
|
||||||
|
|
||||||
|
dto.OfflinePasswordSalt = Guid.NewGuid().ToString("N");
|
||||||
|
|
||||||
// Hash the pin with the device Id to create a unique result for this device
|
// Hash the pin with the device Id to create a unique result for this device
|
||||||
dto.OfflinePassword = GetSha1String((offlinePasswordHash + deviceId).ToLower());
|
dto.OfflinePassword = GetSha1String((offlinePasswordHash + dto.OfflinePasswordSalt).ToLower());
|
||||||
|
|
||||||
dto.ServerName = _appHost.FriendlyName;
|
dto.ServerName = _appHost.FriendlyName;
|
||||||
|
|
||||||
|
|
|
@ -86,7 +86,8 @@ namespace MediaBrowser.Server.Implementations.Library
|
||||||
list.Add(await GetUserView(CollectionType.Movies, string.Empty, cancellationToken).ConfigureAwait(false));
|
list.Add(await GetUserView(CollectionType.Movies, string.Empty, cancellationToken).ConfigureAwait(false));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (foldersWithViewTypes.Any(i => string.Equals(i.CollectionType, CollectionType.Games, StringComparison.OrdinalIgnoreCase)))
|
if (foldersWithViewTypes.Any(i => string.Equals(i.CollectionType, CollectionType.Games, StringComparison.OrdinalIgnoreCase))
|
||||||
|
|| _config.Configuration.EnableLegacyCollectionInView)
|
||||||
{
|
{
|
||||||
list.Add(await GetUserView(CollectionType.Games, string.Empty, cancellationToken).ConfigureAwait(false));
|
list.Add(await GetUserView(CollectionType.Games, string.Empty, cancellationToken).ConfigureAwait(false));
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,10 +54,10 @@
|
||||||
"SyncJobStatusFailed": "Fallito",
|
"SyncJobStatusFailed": "Fallito",
|
||||||
"SyncJobStatusCancelled": "Cancellato",
|
"SyncJobStatusCancelled": "Cancellato",
|
||||||
"SyncJobStatusCompleted": "Sinc.to",
|
"SyncJobStatusCompleted": "Sinc.to",
|
||||||
"SyncJobStatusReadyToTransfer": "Ready to Transfer",
|
"SyncJobStatusReadyToTransfer": "Pronti a trasferire",
|
||||||
"SyncJobStatusTransferring": "Trasferimento",
|
"SyncJobStatusTransferring": "Trasferimento",
|
||||||
"SyncJobStatusCompletedWithError": "Sincronizzato con errori",
|
"SyncJobStatusCompletedWithError": "Sincronizzato con errori",
|
||||||
"SyncJobItemStatusReadyToTransfer": "Ready to Transfer",
|
"SyncJobItemStatusReadyToTransfer": "Pronti a trasferire",
|
||||||
"LabelCollection": "Collezione",
|
"LabelCollection": "Collezione",
|
||||||
"HeaderAddToCollection": "Aggiungi alla Collezione",
|
"HeaderAddToCollection": "Aggiungi alla Collezione",
|
||||||
"NewCollectionNameExample": "Esempio: Collezione Star wars",
|
"NewCollectionNameExample": "Esempio: Collezione Star wars",
|
||||||
|
@ -70,7 +70,7 @@
|
||||||
"HeaderSelectCertificatePath": "Seleziona il percorso del Certificato",
|
"HeaderSelectCertificatePath": "Seleziona il percorso del Certificato",
|
||||||
"ConfirmMessageScheduledTaskButton": "L'operazione viene normalmente eseguita come operazione pianificata. Pu\u00f2 anche essere avviata manualmente da qui. Per configurare le operazioni pianificate, vedi:",
|
"ConfirmMessageScheduledTaskButton": "L'operazione viene normalmente eseguita come operazione pianificata. Pu\u00f2 anche essere avviata manualmente da qui. Per configurare le operazioni pianificate, vedi:",
|
||||||
"HeaderSupporterBenefit": "La sottoscrizione Supporter concede dei benefici come: l'accesso a plug-in premium, contenuti dei canali internet, e altro. {0}Scopri di pi\u00f9{1}",
|
"HeaderSupporterBenefit": "La sottoscrizione Supporter concede dei benefici come: l'accesso a plug-in premium, contenuti dei canali internet, e altro. {0}Scopri di pi\u00f9{1}",
|
||||||
"LabelSyncNoTargetsHelp": "It looks like you don't currently have any apps that support sync.",
|
"LabelSyncNoTargetsHelp": "Sembra che al momento non avete applicazioni che supportano la sincronizzazione.",
|
||||||
"HeaderWelcomeToMediaBrowserServerDashboard": "Benvenuti nel Dashboard di Media Browser",
|
"HeaderWelcomeToMediaBrowserServerDashboard": "Benvenuti nel Dashboard di Media Browser",
|
||||||
"HeaderWelcomeToMediaBrowserWebClient": "Benvenuti nel Media Browser Web client",
|
"HeaderWelcomeToMediaBrowserWebClient": "Benvenuti nel Media Browser Web client",
|
||||||
"ButtonTakeTheTour": "Fai il tour",
|
"ButtonTakeTheTour": "Fai il tour",
|
||||||
|
@ -99,7 +99,7 @@
|
||||||
"HeaderSelectSubtitles": "Seleziona sottotitoli",
|
"HeaderSelectSubtitles": "Seleziona sottotitoli",
|
||||||
"ButtonMarkForRemoval": "Rimuovi dal dispositivo",
|
"ButtonMarkForRemoval": "Rimuovi dal dispositivo",
|
||||||
"ButtonUnmarkForRemoval": "Annulla rimozione dal dispositivo",
|
"ButtonUnmarkForRemoval": "Annulla rimozione dal dispositivo",
|
||||||
"LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and low quality will reduce the allowed bitrate. Original will sync the original file, regardless of whether the device is capable of playing it or not.",
|
"LabelSyncQualityHelp": "Utilizzare alta qualit\u00e0 per la massima supportata qualit\u00e0 dal dispositivo. Media e bassa qualit\u00e0 riduce il bitrate consentito. Original sincronizzer\u00e0 il file originale, indipendentemente dal fatto che il dispositivo \u00e8 in grado di riprodurre o meno.",
|
||||||
"LabelDefaultStream": "(Predefinito)",
|
"LabelDefaultStream": "(Predefinito)",
|
||||||
"LabelForcedStream": "(forzato)",
|
"LabelForcedStream": "(forzato)",
|
||||||
"LabelDefaultForcedStream": "(Predefinito\/Forzato)",
|
"LabelDefaultForcedStream": "(Predefinito\/Forzato)",
|
||||||
|
@ -275,7 +275,7 @@
|
||||||
"ButtonStart": "Avvio",
|
"ButtonStart": "Avvio",
|
||||||
"HeaderChannels": "Canali",
|
"HeaderChannels": "Canali",
|
||||||
"HeaderMediaFolders": "Cartelle dei media",
|
"HeaderMediaFolders": "Cartelle dei media",
|
||||||
"HeaderBlockItemsWithNoRating": "Block content with no rating information:",
|
"HeaderBlockItemsWithNoRating": "Bloccare i contenuti senza informazioni valutazione:",
|
||||||
"OptionBlockOthers": "Altri",
|
"OptionBlockOthers": "Altri",
|
||||||
"OptionBlockTvShows": "Serie TV",
|
"OptionBlockTvShows": "Serie TV",
|
||||||
"OptionBlockTrailers": "Trailer",
|
"OptionBlockTrailers": "Trailer",
|
||||||
|
@ -646,7 +646,7 @@
|
||||||
"WebClientTourUserPreferences4": "Configurare fondali, sigle e lettori esterni",
|
"WebClientTourUserPreferences4": "Configurare fondali, sigle e lettori esterni",
|
||||||
"WebClientTourMobile1": "Il client web funziona alla grande su smartphone e tablet ...",
|
"WebClientTourMobile1": "Il client web funziona alla grande su smartphone e tablet ...",
|
||||||
"WebClientTourMobile2": "e controlla facilmente altri dispositivi e applicazioni Media Browser",
|
"WebClientTourMobile2": "e controlla facilmente altri dispositivi e applicazioni Media Browser",
|
||||||
"WebClientTourMySync": "Sync your personal media to your devices for offline viewing.",
|
"WebClientTourMySync": "Sincronizza il tuo personal media per i dispositivi per la visualizzazione offline.",
|
||||||
"MessageEnjoyYourStay": "Godetevi il vostro soggiorno",
|
"MessageEnjoyYourStay": "Godetevi il vostro soggiorno",
|
||||||
"DashboardTourDashboard": "Il pannello di controllo del server consente di monitorare il vostro server e gli utenti. Potrai sempre sapere chi sta facendo cosa e dove sono.",
|
"DashboardTourDashboard": "Il pannello di controllo del server consente di monitorare il vostro server e gli utenti. Potrai sempre sapere chi sta facendo cosa e dove sono.",
|
||||||
"DashboardTourHelp": "In-app help offre pulsanti facili da aprire le pagine wiki relative al contenuto sullo schermo.",
|
"DashboardTourHelp": "In-app help offre pulsanti facili da aprire le pagine wiki relative al contenuto sullo schermo.",
|
||||||
|
@ -658,7 +658,7 @@
|
||||||
"DashboardTourNotifications": "Inviare automaticamente notifiche di eventi server al vostro dispositivo mobile, e-mail e altro ancora.",
|
"DashboardTourNotifications": "Inviare automaticamente notifiche di eventi server al vostro dispositivo mobile, e-mail e altro ancora.",
|
||||||
"DashboardTourScheduledTasks": "Gestire facilmente le operazioni di lunga esecuzione con le operazioni pianificate. Decidere quando corrono, e con quale frequenza.",
|
"DashboardTourScheduledTasks": "Gestire facilmente le operazioni di lunga esecuzione con le operazioni pianificate. Decidere quando corrono, e con quale frequenza.",
|
||||||
"DashboardTourMobile": "Il cruscotto Media Browser funziona alla grande su smartphone e tablet. Gestisci il tuo server dal palmo della tua mano in qualsiasi momento, ovunque.",
|
"DashboardTourMobile": "Il cruscotto Media Browser funziona alla grande su smartphone e tablet. Gestisci il tuo server dal palmo della tua mano in qualsiasi momento, ovunque.",
|
||||||
"DashboardTourSync": "Sync your personal media to your devices for offline viewing.",
|
"DashboardTourSync": "Sincronizza il tuo personal media per i dispositivi per la visualizzazione offline.",
|
||||||
"MessageRefreshQueued": "Aggiornamento programmato",
|
"MessageRefreshQueued": "Aggiornamento programmato",
|
||||||
"TabDevices": "Dispositivi",
|
"TabDevices": "Dispositivi",
|
||||||
"TabExtras": "Extra",
|
"TabExtras": "Extra",
|
||||||
|
@ -702,7 +702,7 @@
|
||||||
"LabelSyncTo": "Sincronizza su:",
|
"LabelSyncTo": "Sincronizza su:",
|
||||||
"LabelSyncJobName": "Nome Attivit\u00e0 di Sincroniz.:",
|
"LabelSyncJobName": "Nome Attivit\u00e0 di Sincroniz.:",
|
||||||
"LabelQuality": "Qualit\u00e0:",
|
"LabelQuality": "Qualit\u00e0:",
|
||||||
"OptionOriginal": "Original",
|
"OptionOriginal": "Originale",
|
||||||
"OptionHigh": "Alto",
|
"OptionHigh": "Alto",
|
||||||
"OptionMedium": "Medio",
|
"OptionMedium": "Medio",
|
||||||
"OptionLow": "Basso",
|
"OptionLow": "Basso",
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
"OptionDev": "\u0416\u0430\u0441\u0430\u049b\u0442\u0430\u0443 (\u0442\u04b1\u0440\u0430\u049b\u0441\u044b\u0437)",
|
"OptionDev": "\u0416\u0430\u0441\u0430\u049b\u0442\u0430\u0443 (\u0442\u04b1\u0440\u0430\u049b\u0441\u044b\u0437)",
|
||||||
"UninstallPluginHeader": "\u041f\u043b\u0430\u0433\u0438\u043d \u043e\u0440\u043d\u0430\u0442\u0443\u044b\u043d \u0431\u043e\u043b\u0434\u044b\u0440\u043c\u0430\u0443",
|
"UninstallPluginHeader": "\u041f\u043b\u0430\u0433\u0438\u043d \u043e\u0440\u043d\u0430\u0442\u0443\u044b\u043d \u0431\u043e\u043b\u0434\u044b\u0440\u043c\u0430\u0443",
|
||||||
"UninstallPluginConfirmation": "\u0428\u044b\u043d\u044b\u043c\u0435\u043d {0} \u043e\u0440\u043d\u0430\u0442\u0443\u044b\u043d \u0431\u043e\u043b\u0434\u044b\u0440\u043c\u0430\u0443 \u049b\u0430\u0436\u0435\u0442 \u043f\u0435?",
|
"UninstallPluginConfirmation": "\u0428\u044b\u043d\u044b\u043c\u0435\u043d {0} \u043e\u0440\u043d\u0430\u0442\u0443\u044b\u043d \u0431\u043e\u043b\u0434\u044b\u0440\u043c\u0430\u0443 \u049b\u0430\u0436\u0435\u0442 \u043f\u0435?",
|
||||||
"NoPluginConfigurationMessage": "\u0411\u04b1\u043b \u043f\u043b\u0430\u0433\u0438\u043d \u04af\u0448\u0456\u043d \u0435\u0448\u049b\u0430\u043d\u0434\u0430\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u043b\u0430\u0443 \u0436\u043e\u049b.",
|
"NoPluginConfigurationMessage": "\u041e\u0441\u044b \u043f\u043b\u0430\u0433\u0438\u043d\u0434\u0435 \u0435\u0448\u0442\u0435\u04a3\u0435 \u0442\u0435\u04a3\u0448\u0435\u043b\u0435\u0442\u0456\u043d \u0436\u043e\u049b.",
|
||||||
"NoPluginsInstalledMessage": "\u041e\u0440\u043d\u0430\u0442\u044b\u043b\u0493\u0430\u043d \u043f\u043b\u0430\u0433\u0438\u043d\u0434\u0435\u0440 \u0436\u043e\u049b.",
|
"NoPluginsInstalledMessage": "\u041e\u0440\u043d\u0430\u0442\u044b\u043b\u0493\u0430\u043d \u043f\u043b\u0430\u0433\u0438\u043d\u0434\u0435\u0440 \u0436\u043e\u049b.",
|
||||||
"BrowsePluginCatalogMessage": "\u049a\u043e\u043b \u0436\u0435\u0442\u0456\u043c\u0434\u0456 \u043f\u043b\u0430\u0433\u0438\u043d\u0434\u0435\u0440\u043c\u0435\u043d \u0442\u0430\u043d\u044b\u0441\u0443 \u04af\u0448\u0456\u043d \u043f\u043b\u0430\u0433\u0438\u043d \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0456\u043d \u0448\u043e\u043b\u044b\u04a3\u044b\u0437.",
|
"BrowsePluginCatalogMessage": "\u049a\u043e\u043b \u0436\u0435\u0442\u0456\u043c\u0434\u0456 \u043f\u043b\u0430\u0433\u0438\u043d\u0434\u0435\u0440\u043c\u0435\u043d \u0442\u0430\u043d\u044b\u0441\u0443 \u04af\u0448\u0456\u043d \u043f\u043b\u0430\u0433\u0438\u043d \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0456\u043d \u0448\u043e\u043b\u044b\u04a3\u044b\u0437.",
|
||||||
"MessageKeyEmailedTo": "\u041a\u0456\u043b\u0442 {0} \u04af\u0448\u0456\u043d \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u0434\u044b \u043f\u043e\u0448\u0442\u0430\u043c\u0435\u043d \u0436\u0456\u0431\u0435\u0440\u0456\u043b\u0434\u0456.",
|
"MessageKeyEmailedTo": "\u041a\u0456\u043b\u0442 {0} \u04af\u0448\u0456\u043d \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u0434\u044b \u043f\u043e\u0448\u0442\u0430\u043c\u0435\u043d \u0436\u0456\u0431\u0435\u0440\u0456\u043b\u0434\u0456.",
|
||||||
|
@ -61,7 +61,7 @@
|
||||||
"LabelCollection": "\u0416\u0438\u044b\u043d\u0442\u044b\u049b",
|
"LabelCollection": "\u0416\u0438\u044b\u043d\u0442\u044b\u049b",
|
||||||
"HeaderAddToCollection": "\u0416\u0438\u044b\u043d\u0442\u044b\u049b\u049b\u0430 \u04af\u0441\u0442\u0435\u0443",
|
"HeaderAddToCollection": "\u0416\u0438\u044b\u043d\u0442\u044b\u049b\u049b\u0430 \u04af\u0441\u0442\u0435\u0443",
|
||||||
"NewCollectionNameExample": "\u041c\u044b\u0441\u0430\u043b: \u0416\u04b1\u043b\u0434\u044b\u0437 \u0441\u043e\u0493\u044b\u0441\u0442\u0430\u0440\u044b (\u0436\u0438\u044b\u043d\u0442\u044b\u049b)",
|
"NewCollectionNameExample": "\u041c\u044b\u0441\u0430\u043b: \u0416\u04b1\u043b\u0434\u044b\u0437 \u0441\u043e\u0493\u044b\u0441\u0442\u0430\u0440\u044b (\u0436\u0438\u044b\u043d\u0442\u044b\u049b)",
|
||||||
"OptionSearchForInternetMetadata": "\u0421\u0443\u0440\u0435\u0442\u0442\u0435\u043c\u0435 \u043c\u0435\u043d \u043c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0456 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0442\u0435\u043d \u0456\u0437\u0434\u0435\u0443",
|
"OptionSearchForInternetMetadata": "\u0421\u0443\u0440\u0435\u0442\u0442\u0435\u043c\u0435\u043b\u0435\u0440 \u0431\u0435\u043d \u043c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0442\u0435\u043d \u0456\u0437\u0434\u0435\u0443",
|
||||||
"LabelSelectCollection": "\u0416\u0438\u044b\u043d\u0442\u044b\u049b\u0442\u044b \u0442\u0430\u04a3\u0434\u0430\u0443:",
|
"LabelSelectCollection": "\u0416\u0438\u044b\u043d\u0442\u044b\u049b\u0442\u044b \u0442\u0430\u04a3\u0434\u0430\u0443:",
|
||||||
"HeaderDevices": "\u049a\u04b1\u0440\u044b\u043b\u0493\u044b\u043b\u0430\u0440",
|
"HeaderDevices": "\u049a\u04b1\u0440\u044b\u043b\u0493\u044b\u043b\u0430\u0440",
|
||||||
"ButtonScheduledTasks": "\u0416\u043e\u0441\u043f\u0430\u0440\u043b\u0430\u0493\u0430\u043d \u0442\u0430\u043f\u0441\u044b\u0440\u043c\u0430\u043b\u0430\u0440\u0493\u0430 \u04e9\u0442\u0443",
|
"ButtonScheduledTasks": "\u0416\u043e\u0441\u043f\u0430\u0440\u043b\u0430\u0493\u0430\u043d \u0442\u0430\u043f\u0441\u044b\u0440\u043c\u0430\u043b\u0430\u0440\u0493\u0430 \u04e9\u0442\u0443",
|
||||||
|
@ -243,7 +243,7 @@
|
||||||
"HeaderLatestTvRecordings": "\u0415\u04a3 \u043a\u0435\u0439\u0456\u043d\u0433\u0456 \u0436\u0430\u0437\u0431\u0430\u043b\u0430\u0440",
|
"HeaderLatestTvRecordings": "\u0415\u04a3 \u043a\u0435\u0439\u0456\u043d\u0433\u0456 \u0436\u0430\u0437\u0431\u0430\u043b\u0430\u0440",
|
||||||
"ButtonOk": "\u0416\u0430\u0440\u0430\u0439\u0434\u044b",
|
"ButtonOk": "\u0416\u0430\u0440\u0430\u0439\u0434\u044b",
|
||||||
"ButtonCancel": "\u0411\u043e\u043b\u0434\u044b\u0440\u043c\u0430\u0443",
|
"ButtonCancel": "\u0411\u043e\u043b\u0434\u044b\u0440\u043c\u0430\u0443",
|
||||||
"ButtonRefresh": "\u041a\u04e9\u043a\u0435\u0439\u0442\u0435\u0441\u0442\u0456 \u0435\u0442\u0443",
|
"ButtonRefresh": "\u0416\u0430\u04a3\u0493\u044b\u0440\u0442\u0443",
|
||||||
"LabelCurrentPath": "\u0410\u0493\u044b\u043c\u0434\u044b\u049b \u0436\u043e\u043b:",
|
"LabelCurrentPath": "\u0410\u0493\u044b\u043c\u0434\u044b\u049b \u0436\u043e\u043b:",
|
||||||
"HeaderSelectMediaPath": "\u0422\u0430\u0441\u044b\u0493\u044b\u0448 \u0436\u043e\u043b\u044b\u043d \u0442\u0430\u04a3\u0434\u0430\u0443",
|
"HeaderSelectMediaPath": "\u0422\u0430\u0441\u044b\u0493\u044b\u0448 \u0436\u043e\u043b\u044b\u043d \u0442\u0430\u04a3\u0434\u0430\u0443",
|
||||||
"HeaderSelectPath": "\u0416\u043e\u043b\u0434\u044b \u0442\u0430\u04a3\u0434\u0430\u0443",
|
"HeaderSelectPath": "\u0416\u043e\u043b\u0434\u044b \u0442\u0430\u04a3\u0434\u0430\u0443",
|
||||||
|
@ -288,7 +288,7 @@
|
||||||
"OptionBlockChannelContent": "\u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0430\u0440\u043d\u0430 \u043c\u0430\u0437\u043c\u04b1\u043d\u044b",
|
"OptionBlockChannelContent": "\u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0430\u0440\u043d\u0430 \u043c\u0430\u0437\u043c\u04b1\u043d\u044b",
|
||||||
"ButtonRevoke": "\u0411\u0430\u0441 \u0442\u0430\u0440\u0442\u0443",
|
"ButtonRevoke": "\u0411\u0430\u0441 \u0442\u0430\u0440\u0442\u0443",
|
||||||
"MessageConfirmRevokeApiKey": "\u0428\u044b\u043d\u044b\u043c\u0435\u043d \u043e\u0441\u044b API \u043a\u0456\u043b\u0442\u0456\u043d\u0435\u043d \u0431\u0430\u0441 \u0442\u0430\u0440\u0442\u0443 \u049b\u0430\u0436\u0435\u0442 \u043f\u0435? \u049a\u043e\u043b\u0434\u0430\u043d\u0431\u0430 \u043c\u0435\u043d Media Browser \u0430\u0440\u0430\u0441\u044b\u043d\u0434\u0430\u0493\u044b \u049b\u043e\u0441\u044b\u043b\u044b\u043c \u043a\u0435\u043d\u0435\u0442 \u04af\u0437\u0456\u043b\u0435\u0434\u0456.",
|
"MessageConfirmRevokeApiKey": "\u0428\u044b\u043d\u044b\u043c\u0435\u043d \u043e\u0441\u044b API \u043a\u0456\u043b\u0442\u0456\u043d\u0435\u043d \u0431\u0430\u0441 \u0442\u0430\u0440\u0442\u0443 \u049b\u0430\u0436\u0435\u0442 \u043f\u0435? \u049a\u043e\u043b\u0434\u0430\u043d\u0431\u0430 \u043c\u0435\u043d Media Browser \u0430\u0440\u0430\u0441\u044b\u043d\u0434\u0430\u0493\u044b \u049b\u043e\u0441\u044b\u043b\u044b\u043c \u043a\u0435\u043d\u0435\u0442 \u04af\u0437\u0456\u043b\u0435\u0434\u0456.",
|
||||||
"HeaderConfirmRevokeApiKey": "API \u043a\u0456\u043b\u0442\u0456\u043d\u0435\u043d \u0431\u0430\u0441 \u0442\u0430\u0440\u0442\u0443",
|
"HeaderConfirmRevokeApiKey": "API-\u043a\u0456\u043b\u0442\u0442\u0435\u043d \u0431\u0430\u0441 \u0442\u0430\u0440\u0442\u0443",
|
||||||
"ValueContainer": "\u041a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440: {0}",
|
"ValueContainer": "\u041a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440: {0}",
|
||||||
"ValueAudioCodec": "\u0414\u044b\u0431\u044b\u0441 \u043a\u043e\u0434\u0435\u0433\u0456: {0}",
|
"ValueAudioCodec": "\u0414\u044b\u0431\u044b\u0441 \u043a\u043e\u0434\u0435\u0433\u0456: {0}",
|
||||||
"ValueVideoCodec": "\u0411\u0435\u0439\u043d\u0435 \u043a\u043e\u0434\u0435\u0433\u0456: {0}",
|
"ValueVideoCodec": "\u0411\u0435\u0439\u043d\u0435 \u043a\u043e\u0434\u0435\u0433\u0456: {0}",
|
||||||
|
@ -347,7 +347,7 @@
|
||||||
"HeaderAlert": "\u0415\u0441\u043a\u0435\u0440\u0442\u0443",
|
"HeaderAlert": "\u0415\u0441\u043a\u0435\u0440\u0442\u0443",
|
||||||
"MessagePleaseRestart": "\u0416\u0430\u04a3\u0430\u0440\u0442\u0443\u0434\u044b \u0430\u044f\u049b\u0442\u0430\u0443 \u04af\u0448\u0456\u043d \u049b\u0430\u0439\u0442\u0430 \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u044b\u04a3\u044b\u0437.",
|
"MessagePleaseRestart": "\u0416\u0430\u04a3\u0430\u0440\u0442\u0443\u0434\u044b \u0430\u044f\u049b\u0442\u0430\u0443 \u04af\u0448\u0456\u043d \u049b\u0430\u0439\u0442\u0430 \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u044b\u04a3\u044b\u0437.",
|
||||||
"ButtonRestart": "\u049a\u0430\u0439\u0442\u0430 \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u0443",
|
"ButtonRestart": "\u049a\u0430\u0439\u0442\u0430 \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u0443",
|
||||||
"MessagePleaseRefreshPage": "\u0421\u0435\u0440\u0432\u0435\u0440\u0434\u0435\u043d \u0436\u0430\u04a3\u0430 \u0436\u0430\u04a3\u0430\u0440\u0442\u0443\u043b\u0430\u0440\u0434\u044b \u0430\u043b\u0443 \u04af\u0448\u0456\u043d \u043e\u0441\u044b \u0431\u0435\u0442\u0442\u0456 \u043a\u04e9\u043a\u0435\u0439\u0442\u0435\u0441\u0442\u0456 \u0435\u0442\u0456\u04a3\u0456\u0437.",
|
"MessagePleaseRefreshPage": "\u0421\u0435\u0440\u0432\u0435\u0440\u0434\u0435\u043d \u0436\u0430\u04a3\u0430 \u0436\u0430\u04a3\u0430\u0440\u0442\u0443\u043b\u0430\u0440\u0434\u044b \u0430\u043b\u0443 \u04af\u0448\u0456\u043d \u043e\u0441\u044b \u0431\u0435\u0442\u0442\u0456 \u0436\u0430\u04a3\u0493\u044b\u0440\u0442\u044b\u04a3\u044b\u0437.",
|
||||||
"ButtonHide": "\u0416\u0430\u0441\u044b\u0440\u0443",
|
"ButtonHide": "\u0416\u0430\u0441\u044b\u0440\u0443",
|
||||||
"MessageSettingsSaved": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043b\u0435\u0440 \u0441\u0430\u049b\u0442\u0430\u043b\u0434\u044b.",
|
"MessageSettingsSaved": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043b\u0435\u0440 \u0441\u0430\u049b\u0442\u0430\u043b\u0434\u044b.",
|
||||||
"ButtonSignOut": "\u0428\u044b\u0493\u0443",
|
"ButtonSignOut": "\u0428\u044b\u0493\u0443",
|
||||||
|
@ -361,7 +361,7 @@
|
||||||
"TabServer": "\u0421\u0435\u0440\u0432\u0435\u0440",
|
"TabServer": "\u0421\u0435\u0440\u0432\u0435\u0440",
|
||||||
"TabUsers": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b\u043b\u0430\u0440",
|
"TabUsers": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b\u043b\u0430\u0440",
|
||||||
"TabLibrary": "\u0422\u0430\u0441\u044b\u0493\u044b\u0448\u0445\u0430\u043d\u0430",
|
"TabLibrary": "\u0422\u0430\u0441\u044b\u0493\u044b\u0448\u0445\u0430\u043d\u0430",
|
||||||
"TabMetadata": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a",
|
"TabMetadata": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440",
|
||||||
"TabDLNA": "DLNA",
|
"TabDLNA": "DLNA",
|
||||||
"TabLiveTV": "\u042d\u0444\u0438\u0440\u043b\u0456\u043a \u0422\u0414",
|
"TabLiveTV": "\u042d\u0444\u0438\u0440\u043b\u0456\u043a \u0422\u0414",
|
||||||
"TabAutoOrganize": "\u0410\u0432\u0442\u043e\u04b1\u0439\u044b\u043c\u0434\u0430\u0441\u0442\u044b\u0440\u0443",
|
"TabAutoOrganize": "\u0410\u0432\u0442\u043e\u04b1\u0439\u044b\u043c\u0434\u0430\u0441\u0442\u044b\u0440\u0443",
|
||||||
|
@ -401,7 +401,7 @@
|
||||||
"HeaderParentalRating": "\u0416\u0430\u0441\u0442\u0430\u0441 \u0441\u0430\u043d\u0430\u0442\u044b",
|
"HeaderParentalRating": "\u0416\u0430\u0441\u0442\u0430\u0441 \u0441\u0430\u043d\u0430\u0442\u044b",
|
||||||
"HeaderReleaseDate": "\u0428\u044b\u0493\u0430\u0440\u0443 \u043a\u04af\u043d\u0456",
|
"HeaderReleaseDate": "\u0428\u044b\u0493\u0430\u0440\u0443 \u043a\u04af\u043d\u0456",
|
||||||
"HeaderDateAdded": "\u04ae\u0441\u0442\u0435\u0443 \u043a\u04af\u043d\u0456",
|
"HeaderDateAdded": "\u04ae\u0441\u0442\u0435\u0443 \u043a\u04af\u043d\u0456",
|
||||||
"HeaderSeries": "\u0422\u043e\u043f\u0442\u0430\u043c\u0430",
|
"HeaderSeries": "\u0422\u043e\u043f\u0442\u0430\u043c\u0430\u043b\u0430\u0440",
|
||||||
"HeaderSeason": "\u041c\u0430\u0443\u0441\u044b\u043c",
|
"HeaderSeason": "\u041c\u0430\u0443\u0441\u044b\u043c",
|
||||||
"HeaderSeasonNumber": "\u041c\u0430\u0443\u0441\u044b\u043c \u043d\u04e9\u043c\u0456\u0440\u0456",
|
"HeaderSeasonNumber": "\u041c\u0430\u0443\u0441\u044b\u043c \u043d\u04e9\u043c\u0456\u0440\u0456",
|
||||||
"HeaderNetwork": "\u0422\u0435\u043b\u0435\u0436\u0435\u043b\u0456",
|
"HeaderNetwork": "\u0422\u0435\u043b\u0435\u0436\u0435\u043b\u0456",
|
||||||
|
@ -413,9 +413,9 @@
|
||||||
"HeaderDisc": "\u0414\u0438\u0441\u043a\u0456",
|
"HeaderDisc": "\u0414\u0438\u0441\u043a\u0456",
|
||||||
"OptionMovies": "\u0424\u0438\u043b\u044c\u043c\u0434\u0435\u0440",
|
"OptionMovies": "\u0424\u0438\u043b\u044c\u043c\u0434\u0435\u0440",
|
||||||
"OptionCollections": "\u0416\u0438\u044b\u043d\u0442\u044b\u049b\u0442\u0430\u0440",
|
"OptionCollections": "\u0416\u0438\u044b\u043d\u0442\u044b\u049b\u0442\u0430\u0440",
|
||||||
"OptionSeries": "\u0422\u043e\u043f\u0442\u0430\u043c\u0430\u043b\u0430\u0440",
|
"OptionSeries": "\u0422\u0414-\u0442\u043e\u043f\u0442\u0430\u043c\u0430\u043b\u0430\u0440",
|
||||||
"OptionSeasons": "\u041c\u0430\u0443\u0441\u044b\u043c\u0434\u0430\u0440",
|
"OptionSeasons": "\u0422\u0414-\u043c\u0430\u0443\u0441\u044b\u043c\u0434\u0430\u0440",
|
||||||
"OptionEpisodes": "\u042d\u043f\u0438\u0437\u043e\u0434\u0442\u0430\u0440",
|
"OptionEpisodes": "\u0422\u0414-\u044d\u043f\u0438\u0437\u043e\u0434\u0442\u0430\u0440",
|
||||||
"OptionGames": "\u041e\u0439\u044b\u043d\u0434\u0430\u0440",
|
"OptionGames": "\u041e\u0439\u044b\u043d\u0434\u0430\u0440",
|
||||||
"OptionGameSystems": "\u041e\u0439\u044b\u043d \u0436\u04af\u0439\u0435\u043b\u0435\u0440\u0456",
|
"OptionGameSystems": "\u041e\u0439\u044b\u043d \u0436\u04af\u0439\u0435\u043b\u0435\u0440\u0456",
|
||||||
"OptionMusicArtists": "\u041c\u0443\u0437\u044b\u043a\u0430 \u043e\u0440\u044b\u043d\u0434\u0430\u0443\u0448\u044b\u043b\u0430\u0440\u044b",
|
"OptionMusicArtists": "\u041c\u0443\u0437\u044b\u043a\u0430 \u043e\u0440\u044b\u043d\u0434\u0430\u0443\u0448\u044b\u043b\u0430\u0440\u044b",
|
||||||
|
@ -427,11 +427,11 @@
|
||||||
"OptionAdultVideos": "\u0415\u0440\u0435\u0441\u0435\u043a \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0440\u0456",
|
"OptionAdultVideos": "\u0415\u0440\u0435\u0441\u0435\u043a \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0440\u0456",
|
||||||
"ButtonUp": "\u0416\u043e\u0493\u0430\u0440\u044b\u0493\u0430",
|
"ButtonUp": "\u0416\u043e\u0493\u0430\u0440\u044b\u0493\u0430",
|
||||||
"ButtonDown": "\u0422\u04e9\u043c\u0435\u043d\u0433\u0435",
|
"ButtonDown": "\u0422\u04e9\u043c\u0435\u043d\u0433\u0435",
|
||||||
"LabelMetadataReaders": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a \u043e\u049b\u0443\u0448\u044b\u043b\u0430\u0440\u044b:",
|
"LabelMetadataReaders": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u043e\u049b\u0443\u0448\u044b\u043b\u0430\u0440\u044b:",
|
||||||
"LabelMetadataReadersHelp": "\u0422\u0435\u04a3\u0448\u0435\u043b\u0433\u0435\u043d \u043c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a \u049b\u0430\u0439\u043d\u0430\u0440 \u043a\u04e9\u0437\u0434\u0435\u0440\u0456\u043d\u0435 \u0431\u0430\u0441\u044b\u043c\u0434\u044b\u043b\u044b\u049b \u0440\u0435\u0442\u0456 \u0431\u043e\u0439\u044b\u043d\u0448\u0430 \u0434\u04d9\u0440\u0435\u0436\u0435 \u0431\u0435\u0440\u0456\u04a3\u0456\u0437. \u0411\u0456\u0440\u0456\u043d\u0448\u0456 \u0442\u0430\u0431\u044b\u043b\u0493\u0430\u043d \u0444\u0430\u0439\u043b \u043e\u049b\u044b\u043b\u0430\u0434\u044b.",
|
"LabelMetadataReadersHelp": "\u0422\u0435\u04a3\u0448\u0435\u043b\u0433\u0435\u043d \u043c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u049b\u0430\u0439\u043d\u0430\u0440 \u043a\u04e9\u0437\u0434\u0435\u0440\u0456\u043d\u0435 \u0431\u0430\u0441\u044b\u043c\u0434\u044b\u043b\u044b\u049b \u0440\u0435\u0442\u0456 \u0431\u043e\u0439\u044b\u043d\u0448\u0430 \u0434\u04d9\u0440\u0435\u0436\u0435 \u0431\u0435\u0440\u0456\u04a3\u0456\u0437. \u0411\u0456\u0440\u0456\u043d\u0448\u0456 \u0442\u0430\u0431\u044b\u043b\u0493\u0430\u043d \u0444\u0430\u0439\u043b \u043e\u049b\u044b\u043b\u0430\u0434\u044b.",
|
||||||
"LabelMetadataDownloaders": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a \u0436\u04af\u043a\u0442\u0435\u0443\u0448\u0456\u043b\u0435\u0440\u0456:",
|
"LabelMetadataDownloaders": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u0436\u04af\u043a\u0442\u0435\u0443\u0448\u0456\u043b\u0435\u0440\u0456:",
|
||||||
"LabelMetadataDownloadersHelp": "\u0422\u0435\u04a3\u0448\u0435\u043b\u0433\u0435\u043d \u043c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a \u0436\u04af\u043a\u0442\u0435\u0443\u0448\u0456\u043b\u0435\u0440\u0456\u043d \u049b\u043e\u0441\u044b\u04a3\u044b\u0437 \u0436\u04d9\u043d\u0435 \u0431\u0430\u0441\u044b\u043c\u0434\u044b\u043b\u044b\u049b \u0440\u0435\u0442\u0456 \u0431\u043e\u0439\u044b\u043d\u0448\u0430 \u0434\u04d9\u0440\u0435\u0436\u0435 \u0431\u0435\u0440\u0456\u04a3\u0456\u0437. \u0422\u04e9\u043c\u0435\u043d\u0433\u0456 \u0431\u0430\u0441\u044b\u043c\u0434\u044b\u043b\u044b\u0493\u044b \u0431\u0430\u0440 \u0436\u04af\u043a\u0442\u0435\u0443\u0448\u0456\u043b\u0435\u0440 \u0442\u0435\u043a \u049b\u0430\u043d\u0430 \u0436\u043e\u049b \u0430\u049b\u043f\u0430\u0440\u0430\u0442\u0442\u044b \u0442\u043e\u043b\u0442\u044b\u0440\u0443 \u04af\u0448\u0456\u043d \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u043b\u0430\u0434\u044b.",
|
"LabelMetadataDownloadersHelp": "\u0422\u0435\u04a3\u0448\u0435\u043b\u0433\u0435\u043d \u043c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u0436\u04af\u043a\u0442\u0435\u0443\u0448\u0456\u043b\u0435\u0440\u0456\u043d \u049b\u043e\u0441\u044b\u04a3\u044b\u0437 \u0436\u04d9\u043d\u0435 \u0431\u0430\u0441\u044b\u043c\u0434\u044b\u043b\u044b\u049b \u0440\u0435\u0442\u0456 \u0431\u043e\u0439\u044b\u043d\u0448\u0430 \u0434\u04d9\u0440\u0435\u0436\u0435 \u0431\u0435\u0440\u0456\u04a3\u0456\u0437. \u0422\u04e9\u043c\u0435\u043d\u0433\u0456 \u0431\u0430\u0441\u044b\u043c\u0434\u044b\u043b\u044b\u0493\u044b \u0431\u0430\u0440 \u0436\u04af\u043a\u0442\u0435\u0443\u0448\u0456\u043b\u0435\u0440 \u0442\u0435\u043a \u049b\u0430\u043d\u0430 \u0436\u043e\u049b \u0430\u049b\u043f\u0430\u0440\u0430\u0442\u0442\u044b \u0442\u043e\u043b\u0442\u044b\u0440\u0443 \u04af\u0448\u0456\u043d \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u043b\u0430\u0434\u044b.",
|
||||||
"LabelMetadataSavers": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a \u0441\u0430\u049b\u0442\u0430\u0443\u0448\u044b\u043b\u0430\u0440\u044b:",
|
"LabelMetadataSavers": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u0441\u0430\u049b\u0442\u0430\u0443\u0448\u044b\u043b\u0430\u0440\u044b:",
|
||||||
"LabelMetadataSaversHelp": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u049b\u0430\u0439\u0434\u0430 \u0441\u0430\u049b\u0442\u0430\u0439\u0442\u044b\u043d \u0444\u0430\u0439\u043b \u043f\u0456\u0448\u0456\u043c\u0434\u0435\u0440\u0456\u043d \u0442\u0430\u04a3\u0434\u0430\u0443.",
|
"LabelMetadataSaversHelp": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u049b\u0430\u0439\u0434\u0430 \u0441\u0430\u049b\u0442\u0430\u0439\u0442\u044b\u043d \u0444\u0430\u0439\u043b \u043f\u0456\u0448\u0456\u043c\u0434\u0435\u0440\u0456\u043d \u0442\u0430\u04a3\u0434\u0430\u0443.",
|
||||||
"LabelImageFetchers": "\u0421\u0443\u0440\u0435\u0442 \u0456\u0440\u0456\u043a\u0442\u0435\u0443\u0448\u0456\u043b\u0435\u0440\u0456:",
|
"LabelImageFetchers": "\u0421\u0443\u0440\u0435\u0442 \u0456\u0440\u0456\u043a\u0442\u0435\u0443\u0448\u0456\u043b\u0435\u0440\u0456:",
|
||||||
"LabelImageFetchersHelp": "\u0422\u0435\u04a3\u0448\u0435\u043b\u0433\u0435\u043d \u0441\u0443\u0440\u0435\u0442 \u0456\u0440\u0456\u043a\u0442\u0435\u0443\u0448\u0456\u043b\u0435\u0440\u0456\u043d \u049b\u043e\u0441\u044b\u04a3\u044b\u0437 \u0436\u04d9\u043d\u0435 \u0431\u0430\u0441\u044b\u043c\u0434\u044b\u043b\u044b\u049b \u0440\u0435\u0442\u0456 \u0431\u043e\u0439\u044b\u043d\u0448\u0430 \u0434\u04d9\u0440\u0435\u0436\u0435 \u0431\u0435\u0440\u0456\u04a3\u0456\u0437.",
|
"LabelImageFetchersHelp": "\u0422\u0435\u04a3\u0448\u0435\u043b\u0433\u0435\u043d \u0441\u0443\u0440\u0435\u0442 \u0456\u0440\u0456\u043a\u0442\u0435\u0443\u0448\u0456\u043b\u0435\u0440\u0456\u043d \u049b\u043e\u0441\u044b\u04a3\u044b\u0437 \u0436\u04d9\u043d\u0435 \u0431\u0430\u0441\u044b\u043c\u0434\u044b\u043b\u044b\u049b \u0440\u0435\u0442\u0456 \u0431\u043e\u0439\u044b\u043d\u0448\u0430 \u0434\u04d9\u0440\u0435\u0436\u0435 \u0431\u0435\u0440\u0456\u04a3\u0456\u0437.",
|
||||||
|
@ -481,7 +481,7 @@
|
||||||
"FolderTypeBooks": "\u041a\u0456\u0442\u0430\u043f\u0442\u0430\u0440",
|
"FolderTypeBooks": "\u041a\u0456\u0442\u0430\u043f\u0442\u0430\u0440",
|
||||||
"FolderTypeTvShows": "\u0422\u0414",
|
"FolderTypeTvShows": "\u0422\u0414",
|
||||||
"TabMovies": "\u0424\u0438\u043b\u044c\u043c\u0434\u0435\u0440",
|
"TabMovies": "\u0424\u0438\u043b\u044c\u043c\u0434\u0435\u0440",
|
||||||
"TabSeries": "\u0422\u043e\u043f\u0442\u0430\u043c\u0430",
|
"TabSeries": "\u0422\u043e\u043f\u0442\u0430\u043c\u0430\u043b\u0430\u0440",
|
||||||
"TabEpisodes": "\u042d\u043f\u0438\u0437\u043e\u0434\u0442\u0430\u0440",
|
"TabEpisodes": "\u042d\u043f\u0438\u0437\u043e\u0434\u0442\u0430\u0440",
|
||||||
"TabTrailers": "\u0422\u0440\u0435\u0439\u043b\u0435\u0440\u043b\u0435\u0440",
|
"TabTrailers": "\u0422\u0440\u0435\u0439\u043b\u0435\u0440\u043b\u0435\u0440",
|
||||||
"TabGames": "\u041e\u0439\u044b\u043d\u0434\u0430\u0440",
|
"TabGames": "\u041e\u0439\u044b\u043d\u0434\u0430\u0440",
|
||||||
|
@ -659,7 +659,7 @@
|
||||||
"DashboardTourScheduledTasks": "\u0416\u043e\u0441\u043f\u0430\u0440\u043b\u0430\u0493\u0430\u043d \u0442\u0430\u043f\u0441\u044b\u0440\u043c\u0430\u043b\u0430\u0440 \u0430\u0440\u049b\u044b\u043b\u044b \u04b1\u0437\u0430\u049b \u043e\u0440\u044b\u043d\u0434\u0430\u043b\u0430\u0442\u044b\u043d \u04d9\u0440\u0435\u043a\u0435\u0442\u0442\u0435\u0440\u0434\u0456 \u0436\u0435\u04a3\u0456\u043b \u0431\u0430\u0441\u049b\u0430\u0440\u044b\u04a3\u044b\u0437. \u0411\u04b1\u043b\u0430\u0440 \u049b\u0430\u0448\u0430\u043d \u0436\u04d9\u043d\u0435 \u049b\u0430\u043d\u0434\u0430\u0439 \u0436\u0438\u0456\u043b\u0456\u043a\u043f\u0435\u043d \u043e\u0440\u044b\u043d\u0434\u0430\u043b\u0430\u0442\u044b\u043d\u044b\u043d \u0448\u0435\u0448\u0456\u04a3\u0456\u0437.",
|
"DashboardTourScheduledTasks": "\u0416\u043e\u0441\u043f\u0430\u0440\u043b\u0430\u0493\u0430\u043d \u0442\u0430\u043f\u0441\u044b\u0440\u043c\u0430\u043b\u0430\u0440 \u0430\u0440\u049b\u044b\u043b\u044b \u04b1\u0437\u0430\u049b \u043e\u0440\u044b\u043d\u0434\u0430\u043b\u0430\u0442\u044b\u043d \u04d9\u0440\u0435\u043a\u0435\u0442\u0442\u0435\u0440\u0434\u0456 \u0436\u0435\u04a3\u0456\u043b \u0431\u0430\u0441\u049b\u0430\u0440\u044b\u04a3\u044b\u0437. \u0411\u04b1\u043b\u0430\u0440 \u049b\u0430\u0448\u0430\u043d \u0436\u04d9\u043d\u0435 \u049b\u0430\u043d\u0434\u0430\u0439 \u0436\u0438\u0456\u043b\u0456\u043a\u043f\u0435\u043d \u043e\u0440\u044b\u043d\u0434\u0430\u043b\u0430\u0442\u044b\u043d\u044b\u043d \u0448\u0435\u0448\u0456\u04a3\u0456\u0437.",
|
||||||
"DashboardTourMobile": "Media Browser \u0431\u0430\u049b\u044b\u043b\u0430\u0443 \u0442\u0430\u049b\u0442\u0430\u0441\u044b \u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d\u0434\u0430\u0440\u0434\u0430 \u0436\u04d9\u043d\u0435 \u043f\u043b\u0430\u043d\u0448\u0435\u0442\u0442\u0435\u0440\u0434\u0435 \u0442\u0430\u043c\u0430\u0448\u0430 \u0436\u04b1\u043c\u044b\u0441 \u0456\u0441\u0442\u0435\u0439\u0434\u0456. \u0421\u0435\u0440\u0432\u0435\u0440\u0456\u04a3\u0456\u0437\u0434\u0456 \u04d9\u0440 \u0443\u0430\u049b\u044b\u0442\u0442\u0430, \u04d9\u0440 \u0436\u0435\u0440\u0434\u0435 \u049b\u043e\u043b\u044b\u04a3\u044b\u0437\u0434\u044b\u04a3 \u0430\u043b\u0430\u049b\u0430\u043d\u044b\u043d\u0430\u043d \u0431\u0430\u0441\u049b\u0430\u0440\u044b\u04a3\u044b\u0437.",
|
"DashboardTourMobile": "Media Browser \u0431\u0430\u049b\u044b\u043b\u0430\u0443 \u0442\u0430\u049b\u0442\u0430\u0441\u044b \u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d\u0434\u0430\u0440\u0434\u0430 \u0436\u04d9\u043d\u0435 \u043f\u043b\u0430\u043d\u0448\u0435\u0442\u0442\u0435\u0440\u0434\u0435 \u0442\u0430\u043c\u0430\u0448\u0430 \u0436\u04b1\u043c\u044b\u0441 \u0456\u0441\u0442\u0435\u0439\u0434\u0456. \u0421\u0435\u0440\u0432\u0435\u0440\u0456\u04a3\u0456\u0437\u0434\u0456 \u04d9\u0440 \u0443\u0430\u049b\u044b\u0442\u0442\u0430, \u04d9\u0440 \u0436\u0435\u0440\u0434\u0435 \u049b\u043e\u043b\u044b\u04a3\u044b\u0437\u0434\u044b\u04a3 \u0430\u043b\u0430\u049b\u0430\u043d\u044b\u043d\u0430\u043d \u0431\u0430\u0441\u049b\u0430\u0440\u044b\u04a3\u044b\u0437.",
|
||||||
"DashboardTourSync": "\u0414\u0435\u0440\u0431\u0435\u0441 \u049b\u0430\u0440\u0430\u0443 \u04af\u0448\u0456\u043d \u04e9\u0437\u0456\u043d\u0434\u0456\u043a \u0442\u0430\u0441\u044b\u0493\u044b\u0448\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0456\u04a3\u0456\u0437\u0434\u0456 \u049b\u04b1\u0440\u044b\u043b\u0493\u044b\u043b\u0430\u0440\u044b\u04a3\u044b\u0437\u0431\u0435\u043d \u04af\u043d\u0434\u0435\u0441\u0442\u0456\u0440\u0456\u04a3\u0456\u0437.",
|
"DashboardTourSync": "\u0414\u0435\u0440\u0431\u0435\u0441 \u049b\u0430\u0440\u0430\u0443 \u04af\u0448\u0456\u043d \u04e9\u0437\u0456\u043d\u0434\u0456\u043a \u0442\u0430\u0441\u044b\u0493\u044b\u0448\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0456\u04a3\u0456\u0437\u0434\u0456 \u049b\u04b1\u0440\u044b\u043b\u0493\u044b\u043b\u0430\u0440\u044b\u04a3\u044b\u0437\u0431\u0435\u043d \u04af\u043d\u0434\u0435\u0441\u0442\u0456\u0440\u0456\u04a3\u0456\u0437.",
|
||||||
"MessageRefreshQueued": "\u041a\u04e9\u043a\u0435\u0439\u0442\u0435\u0441\u0442\u0456 \u0435\u0442\u0443\u0456 \u043a\u0435\u0437\u0435\u043a\u0442\u0435",
|
"MessageRefreshQueued": "\u0416\u0430\u04a3\u0493\u044b\u0440\u0442\u0443 \u043a\u0435\u0437\u0435\u043a\u0442\u0435",
|
||||||
"TabDevices": "\u049a\u04b1\u0440\u044b\u043b\u0493\u044b\u043b\u0430\u0440",
|
"TabDevices": "\u049a\u04b1\u0440\u044b\u043b\u0493\u044b\u043b\u0430\u0440",
|
||||||
"TabExtras": "\u049a\u043e\u0441\u044b\u043c\u0448\u0430\u043b\u0430\u0440",
|
"TabExtras": "\u049a\u043e\u0441\u044b\u043c\u0448\u0430\u043b\u0430\u0440",
|
||||||
"DeviceLastUsedByUserName": "{0} \u0430\u0440\u049b\u044b\u043b\u044b \u0435\u04a3 \u043a\u0435\u0439\u0456\u043d\u0433\u0456 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u043b\u0493\u0430\u043d",
|
"DeviceLastUsedByUserName": "{0} \u0430\u0440\u049b\u044b\u043b\u044b \u0435\u04a3 \u043a\u0435\u0439\u0456\u043d\u0433\u0456 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u043b\u0493\u0430\u043d",
|
||||||
|
|
|
@ -230,8 +230,8 @@
|
||||||
"LabelPlayMethodDirectPlay": "\u0412\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e",
|
"LabelPlayMethodDirectPlay": "\u0412\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e",
|
||||||
"LabelAudioCodec": "\u0410\u0443\u0434\u0438\u043e: {0}",
|
"LabelAudioCodec": "\u0410\u0443\u0434\u0438\u043e: {0}",
|
||||||
"LabelVideoCodec": "\u0412\u0438\u0434\u0435\u043e: {0}",
|
"LabelVideoCodec": "\u0412\u0438\u0434\u0435\u043e: {0}",
|
||||||
"LabelLocalAccessUrl": "\u041b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441: {0}",
|
"LabelLocalAccessUrl": "\u041b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f: {0}",
|
||||||
"LabelRemoteAccessUrl": "\u0412\u043d\u0435\u0448\u043d\u0438\u0439 \u0434\u043e\u0441\u0442\u0443\u043f: {0}",
|
"LabelRemoteAccessUrl": "\u0423\u0434\u0430\u043b\u0451\u043d\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f: {0}",
|
||||||
"LabelRunningOnPort": "\u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 HTTP-\u043f\u043e\u0440\u0442\u0443 {0}.",
|
"LabelRunningOnPort": "\u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 HTTP-\u043f\u043e\u0440\u0442\u0443 {0}.",
|
||||||
"LabelRunningOnPorts": "\u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 HTTP-\u043f\u043e\u0440\u0442\u0443 {0} \u0438 HTTPS-\u043f\u043e\u0440\u0442\u0443 {1}.",
|
"LabelRunningOnPorts": "\u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 HTTP-\u043f\u043e\u0440\u0442\u0443 {0} \u0438 HTTPS-\u043f\u043e\u0440\u0442\u0443 {1}.",
|
||||||
"HeaderLatestFromChannel": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0438\u0437 {0}",
|
"HeaderLatestFromChannel": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0438\u0437 {0}",
|
||||||
|
|
|
@ -1101,6 +1101,7 @@
|
||||||
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
||||||
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
||||||
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
||||||
|
"UserDownloadingItemWithValues": "{0} is downloading {1}",
|
||||||
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
||||||
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
||||||
"AppDeviceValues": "App: {0}, Device: {1}",
|
"AppDeviceValues": "App: {0}, Device: {1}",
|
||||||
|
|
|
@ -1101,6 +1101,7 @@
|
||||||
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
||||||
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
||||||
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
||||||
|
"UserDownloadingItemWithValues": "{0} is downloading {1}",
|
||||||
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
||||||
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
||||||
"AppDeviceValues": "App: {0}, Device: {1}",
|
"AppDeviceValues": "App: {0}, Device: {1}",
|
||||||
|
|
|
@ -1101,6 +1101,7 @@
|
||||||
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
||||||
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
||||||
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
||||||
|
"UserDownloadingItemWithValues": "{0} is downloading {1}",
|
||||||
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
||||||
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
||||||
"AppDeviceValues": "App: {0}, Device: {1}",
|
"AppDeviceValues": "App: {0}, Device: {1}",
|
||||||
|
|
|
@ -1101,6 +1101,7 @@
|
||||||
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
||||||
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
||||||
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
||||||
|
"UserDownloadingItemWithValues": "{0} is downloading {1}",
|
||||||
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
||||||
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
||||||
"AppDeviceValues": "App: {0}, Device: {1}",
|
"AppDeviceValues": "App: {0}, Device: {1}",
|
||||||
|
|
|
@ -1101,6 +1101,7 @@
|
||||||
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
||||||
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
||||||
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
||||||
|
"UserDownloadingItemWithValues": "{0} is downloading {1}",
|
||||||
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
||||||
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
||||||
"AppDeviceValues": "App: {0}, Device: {1}",
|
"AppDeviceValues": "App: {0}, Device: {1}",
|
||||||
|
|
|
@ -891,7 +891,7 @@
|
||||||
"MessageNoPlaylistsAvailable": "Wiedergabeliste erlauben es dir eine Liste mit Inhalt zu erstellen der fortlaufend abgespielt wird. Um einer Wiedergabeliste Inhalte hinzuzuf\u00fcgen klicke rechts oder mache einen langen Tap und w\u00e4hle daraufhin \"Zur Wiedergabeliste hinzuf\u00fcgen\" aus.",
|
"MessageNoPlaylistsAvailable": "Wiedergabeliste erlauben es dir eine Liste mit Inhalt zu erstellen der fortlaufend abgespielt wird. Um einer Wiedergabeliste Inhalte hinzuzuf\u00fcgen klicke rechts oder mache einen langen Tap und w\u00e4hle daraufhin \"Zur Wiedergabeliste hinzuf\u00fcgen\" aus.",
|
||||||
"MessageNoPlaylistItemsAvailable": "Diese Wiedergabeliste ist momentan leer.",
|
"MessageNoPlaylistItemsAvailable": "Diese Wiedergabeliste ist momentan leer.",
|
||||||
"ButtonDismiss": "Verwerfen",
|
"ButtonDismiss": "Verwerfen",
|
||||||
"ButtonEditOtherUserPreferences": "Edit this user's profile, image and personal preferences.",
|
"ButtonEditOtherUserPreferences": "Bearbeite dieses Benutzerprofil, das Benutzerbild und die pers\u00f6nlichen Einstellungen.",
|
||||||
"LabelChannelStreamQuality": "Bevorzugte Qualit\u00e4t des Internetstreams",
|
"LabelChannelStreamQuality": "Bevorzugte Qualit\u00e4t des Internetstreams",
|
||||||
"LabelChannelStreamQualityHelp": "In einer Umgebung mit langsamer Bandbreite kann die Beschr\u00e4nkung der Wiedergabequalit\u00e4t eine fl\u00fcssige Darstellung sichern.",
|
"LabelChannelStreamQualityHelp": "In einer Umgebung mit langsamer Bandbreite kann die Beschr\u00e4nkung der Wiedergabequalit\u00e4t eine fl\u00fcssige Darstellung sichern.",
|
||||||
"OptionBestAvailableStreamQuality": "Die besten verf\u00fcgbaren",
|
"OptionBestAvailableStreamQuality": "Die besten verf\u00fcgbaren",
|
||||||
|
@ -1101,6 +1101,7 @@
|
||||||
"MessageApplicationUpdated": "Media Browser Server wurde aktualisiert",
|
"MessageApplicationUpdated": "Media Browser Server wurde aktualisiert",
|
||||||
"AuthenticationSucceededWithUserName": "{0} erfolgreich authentifiziert",
|
"AuthenticationSucceededWithUserName": "{0} erfolgreich authentifiziert",
|
||||||
"FailedLoginAttemptWithUserName": "Fehlgeschlagener Anmeldeversuch von {0}",
|
"FailedLoginAttemptWithUserName": "Fehlgeschlagener Anmeldeversuch von {0}",
|
||||||
|
"UserDownloadingItemWithValues": "{0} l\u00e4dt {1} herunter",
|
||||||
"UserStartedPlayingItemWithValues": "{0} hat die Wiedergabe von {1} gestartet",
|
"UserStartedPlayingItemWithValues": "{0} hat die Wiedergabe von {1} gestartet",
|
||||||
"UserStoppedPlayingItemWithValues": "{0} hat die Wiedergabe von {1} beendet",
|
"UserStoppedPlayingItemWithValues": "{0} hat die Wiedergabe von {1} beendet",
|
||||||
"AppDeviceValues": "App: {0}, Ger\u00e4t: {1}",
|
"AppDeviceValues": "App: {0}, Ger\u00e4t: {1}",
|
||||||
|
@ -1118,7 +1119,7 @@
|
||||||
"ViewTypeLiveTvRecordingGroups": "Aufnahmen",
|
"ViewTypeLiveTvRecordingGroups": "Aufnahmen",
|
||||||
"ViewTypeLiveTvChannels": "Kan\u00e4le",
|
"ViewTypeLiveTvChannels": "Kan\u00e4le",
|
||||||
"LabelEasyPinCode": "Einfacher pin code:",
|
"LabelEasyPinCode": "Einfacher pin code:",
|
||||||
"EasyPasswordHelp": "Ihr einfacher PIN Code wird f\u00fcr den offline Zugriff mit unterst\u00fctzenden Media Browser Apps verwenden und kann ebenso verwendet werden wenn Sie sich im selben Netzwerk befinden.",
|
"EasyPasswordHelp": "Ihr einfacher PIN Code wird f\u00fcr den offline Zugriff mit unterst\u00fctzenden Media Browser Apps verwendet und kann ebenso verwendet werden wenn Sie sich im selben Netzwerk befinden.",
|
||||||
"LabelInNetworkSignInWithEasyPassword": "Schalte Login mit einfachen Passwort f\u00fcr das eigene Netzwerk ein.",
|
"LabelInNetworkSignInWithEasyPassword": "Schalte Login mit einfachen Passwort f\u00fcr das eigene Netzwerk ein.",
|
||||||
"LabelInNetworkSignInWithEasyPasswordHelp": "Wenn eingeschaltet k\u00f6nnen Sie sich mit Ihrem einfachen PIN innerhalb Ihres Heimnetzwerkes anmelden. Ihr regul\u00e4res Passwort wird nur dann verwendet, wenn Sie nicht Zuhause sind. Wenn Sie dieses Passwort frei lassen ben\u00f6tigen Sie kein Passwort in Ihrem Heimnetzwerk.",
|
"LabelInNetworkSignInWithEasyPasswordHelp": "Wenn eingeschaltet k\u00f6nnen Sie sich mit Ihrem einfachen PIN innerhalb Ihres Heimnetzwerkes anmelden. Ihr regul\u00e4res Passwort wird nur dann verwendet, wenn Sie nicht Zuhause sind. Wenn Sie dieses Passwort frei lassen ben\u00f6tigen Sie kein Passwort in Ihrem Heimnetzwerk.",
|
||||||
"HeaderPassword": "Passwort",
|
"HeaderPassword": "Passwort",
|
||||||
|
|
|
@ -1101,6 +1101,7 @@
|
||||||
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
||||||
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
||||||
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
||||||
|
"UserDownloadingItemWithValues": "{0} is downloading {1}",
|
||||||
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
||||||
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
||||||
"AppDeviceValues": "App: {0}, Device: {1}",
|
"AppDeviceValues": "App: {0}, Device: {1}",
|
||||||
|
|
|
@ -1101,6 +1101,7 @@
|
||||||
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
||||||
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
||||||
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
||||||
|
"UserDownloadingItemWithValues": "{0} is downloading {1}",
|
||||||
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
||||||
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
||||||
"AppDeviceValues": "App: {0}, Device: {1}",
|
"AppDeviceValues": "App: {0}, Device: {1}",
|
||||||
|
|
|
@ -1101,6 +1101,7 @@
|
||||||
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
||||||
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
||||||
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
||||||
|
"UserDownloadingItemWithValues": "{0} is downloading {1}",
|
||||||
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
||||||
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
||||||
"AppDeviceValues": "App: {0}, Device: {1}",
|
"AppDeviceValues": "App: {0}, Device: {1}",
|
||||||
|
|
|
@ -1101,6 +1101,7 @@
|
||||||
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
||||||
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
||||||
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
||||||
|
"UserDownloadingItemWithValues": "{0} is downloading {1}",
|
||||||
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
||||||
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
||||||
"AppDeviceValues": "App: {0}, Device: {1}",
|
"AppDeviceValues": "App: {0}, Device: {1}",
|
||||||
|
|
|
@ -891,7 +891,7 @@
|
||||||
"MessageNoPlaylistsAvailable": "Las listas de reproducci\u00f3n le permiten crear listas de contenidos a ser reproducidos de manera consecutiva. Para agregar \u00edtems a una lista de reproducci\u00f3n, haga clic derecho o seleccione y mantenga, despu\u00e9s seleccione Agregar a Lista de Reproducci\u00f3n.",
|
"MessageNoPlaylistsAvailable": "Las listas de reproducci\u00f3n le permiten crear listas de contenidos a ser reproducidos de manera consecutiva. Para agregar \u00edtems a una lista de reproducci\u00f3n, haga clic derecho o seleccione y mantenga, despu\u00e9s seleccione Agregar a Lista de Reproducci\u00f3n.",
|
||||||
"MessageNoPlaylistItemsAvailable": "Esta lista de reproducci\u00f3n se encuentra vac\u00eda.",
|
"MessageNoPlaylistItemsAvailable": "Esta lista de reproducci\u00f3n se encuentra vac\u00eda.",
|
||||||
"ButtonDismiss": "Descartar",
|
"ButtonDismiss": "Descartar",
|
||||||
"ButtonEditOtherUserPreferences": "Edit this user's profile, image and personal preferences.",
|
"ButtonEditOtherUserPreferences": "Editar el perf\u00edl de este usuario. im\u00e1gen y preferencias personales.",
|
||||||
"LabelChannelStreamQuality": "Calidad por defecto para transmisi\u00f3n por internet:",
|
"LabelChannelStreamQuality": "Calidad por defecto para transmisi\u00f3n por internet:",
|
||||||
"LabelChannelStreamQualityHelp": "En un ambiente de ancho de banda limitado, limitar la calidad puede ayudar a asegurar una experiencia de transimisi\u00f3n en tiempo real fluida.",
|
"LabelChannelStreamQualityHelp": "En un ambiente de ancho de banda limitado, limitar la calidad puede ayudar a asegurar una experiencia de transimisi\u00f3n en tiempo real fluida.",
|
||||||
"OptionBestAvailableStreamQuality": "La mejor disponible",
|
"OptionBestAvailableStreamQuality": "La mejor disponible",
|
||||||
|
@ -1101,6 +1101,7 @@
|
||||||
"MessageApplicationUpdated": "Se ha actualizado el Servidor de Media Browser",
|
"MessageApplicationUpdated": "Se ha actualizado el Servidor de Media Browser",
|
||||||
"AuthenticationSucceededWithUserName": "{0} autenticado con \u00e9xito",
|
"AuthenticationSucceededWithUserName": "{0} autenticado con \u00e9xito",
|
||||||
"FailedLoginAttemptWithUserName": "Intento fallido de inicio de sesi\u00f3n de {0}",
|
"FailedLoginAttemptWithUserName": "Intento fallido de inicio de sesi\u00f3n de {0}",
|
||||||
|
"UserDownloadingItemWithValues": "{0} esta descargando {1}",
|
||||||
"UserStartedPlayingItemWithValues": "{0} ha iniciado la reproducci\u00f3n de {1}",
|
"UserStartedPlayingItemWithValues": "{0} ha iniciado la reproducci\u00f3n de {1}",
|
||||||
"UserStoppedPlayingItemWithValues": "{0} ha detenido la reproducci\u00f3n de {1}",
|
"UserStoppedPlayingItemWithValues": "{0} ha detenido la reproducci\u00f3n de {1}",
|
||||||
"AppDeviceValues": "App: {0}, Dispositivo: {1}",
|
"AppDeviceValues": "App: {0}, Dispositivo: {1}",
|
||||||
|
|
|
@ -1101,6 +1101,7 @@
|
||||||
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
||||||
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
||||||
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
||||||
|
"UserDownloadingItemWithValues": "{0} is downloading {1}",
|
||||||
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
||||||
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
||||||
"AppDeviceValues": "App: {0}, Device: {1}",
|
"AppDeviceValues": "App: {0}, Device: {1}",
|
||||||
|
|
|
@ -1101,6 +1101,7 @@
|
||||||
"MessageApplicationUpdated": "Media Browser Server a \u00e9t\u00e9 mis \u00e0 jour.",
|
"MessageApplicationUpdated": "Media Browser Server a \u00e9t\u00e9 mis \u00e0 jour.",
|
||||||
"AuthenticationSucceededWithUserName": "{0} s'est authentifi\u00e9 avec succ\u00e8s",
|
"AuthenticationSucceededWithUserName": "{0} s'est authentifi\u00e9 avec succ\u00e8s",
|
||||||
"FailedLoginAttemptWithUserName": "Echec d'une tentative de connexion de {0}",
|
"FailedLoginAttemptWithUserName": "Echec d'une tentative de connexion de {0}",
|
||||||
|
"UserDownloadingItemWithValues": "{0} est en train de t\u00e9l\u00e9charger {1}",
|
||||||
"UserStartedPlayingItemWithValues": "{0} vient de commencer la lecture de {1}",
|
"UserStartedPlayingItemWithValues": "{0} vient de commencer la lecture de {1}",
|
||||||
"UserStoppedPlayingItemWithValues": "{0} vient d'arr\u00eater la lecture de {1}",
|
"UserStoppedPlayingItemWithValues": "{0} vient d'arr\u00eater la lecture de {1}",
|
||||||
"AppDeviceValues": "Application : {0}, Appareil: {1}",
|
"AppDeviceValues": "Application : {0}, Appareil: {1}",
|
||||||
|
|
|
@ -1101,6 +1101,7 @@
|
||||||
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
||||||
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
||||||
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
||||||
|
"UserDownloadingItemWithValues": "{0} is downloading {1}",
|
||||||
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
||||||
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
||||||
"AppDeviceValues": "App: {0}, Device: {1}",
|
"AppDeviceValues": "App: {0}, Device: {1}",
|
||||||
|
|
|
@ -1101,6 +1101,7 @@
|
||||||
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
||||||
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
||||||
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
||||||
|
"UserDownloadingItemWithValues": "{0} is downloading {1}",
|
||||||
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
||||||
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
||||||
"AppDeviceValues": "App: {0}, Device: {1}",
|
"AppDeviceValues": "App: {0}, Device: {1}",
|
||||||
|
|
|
@ -63,7 +63,7 @@
|
||||||
"LabelSyncTempPath": "Percorso file temporanei",
|
"LabelSyncTempPath": "Percorso file temporanei",
|
||||||
"LabelSyncTempPathHelp": "Specifica una cartella per la sincronizzazione. I file multimediali convertiti durante la sincronizzazione verranno collocati qui.",
|
"LabelSyncTempPathHelp": "Specifica una cartella per la sincronizzazione. I file multimediali convertiti durante la sincronizzazione verranno collocati qui.",
|
||||||
"LabelCustomCertificatePath": "Percorso certificati personalizzato:",
|
"LabelCustomCertificatePath": "Percorso certificati personalizzato:",
|
||||||
"LabelCustomCertificatePathHelp": "Supply your own ssl certificate .pfx file. If omitted, the server will create a self-signed certificate.",
|
"LabelCustomCertificatePathHelp": "Fornire un tuo file .pfx certificato SSL. Se omesso, il server creer\u00e0 un certificato auto-firmato.",
|
||||||
"TitleNotifications": "Notifiche",
|
"TitleNotifications": "Notifiche",
|
||||||
"ButtonDonateWithPayPal": "Effettua una donazione con PayPal",
|
"ButtonDonateWithPayPal": "Effettua una donazione con PayPal",
|
||||||
"OptionDetectArchiveFilesAsMedia": "Considera gli archivi come file multimediali",
|
"OptionDetectArchiveFilesAsMedia": "Considera gli archivi come file multimediali",
|
||||||
|
@ -285,10 +285,10 @@
|
||||||
"ButtonHelp": "Aiuto",
|
"ButtonHelp": "Aiuto",
|
||||||
"OptionAllowUserToManageServer": "Consenti a questo utente di accedere alla configurazione del SERVER",
|
"OptionAllowUserToManageServer": "Consenti a questo utente di accedere alla configurazione del SERVER",
|
||||||
"HeaderFeatureAccess": "Accesso alle funzionalit\u00e0",
|
"HeaderFeatureAccess": "Accesso alle funzionalit\u00e0",
|
||||||
"OptionAllowMediaPlayback": "Allow media playback",
|
"OptionAllowMediaPlayback": "Consentire la riproduzione multimediale",
|
||||||
"OptionAllowBrowsingLiveTv": "Allow Live TV access",
|
"OptionAllowBrowsingLiveTv": "Consenti accesso TV Live",
|
||||||
"OptionAllowDeleteLibraryContent": "Allow media deletion",
|
"OptionAllowDeleteLibraryContent": "Consenti l'eliminazione dei media",
|
||||||
"OptionAllowManageLiveTv": "Allow Live TV recording management",
|
"OptionAllowManageLiveTv": "Consenti la gestione di registrazione Live TV",
|
||||||
"OptionAllowRemoteControlOthers": "Consenti controllo remoto di altri utenti",
|
"OptionAllowRemoteControlOthers": "Consenti controllo remoto di altri utenti",
|
||||||
"OptionAllowRemoteSharedDevices": "Consenti controllo remoto di dispositivi condivisi",
|
"OptionAllowRemoteSharedDevices": "Consenti controllo remoto di dispositivi condivisi",
|
||||||
"OptionAllowRemoteSharedDevicesHelp": "Dispositivi DLNA sono considerati condivisa fino a quando un utente inizia controllarlo.",
|
"OptionAllowRemoteSharedDevicesHelp": "Dispositivi DLNA sono considerati condivisa fino a quando un utente inizia controllarlo.",
|
||||||
|
@ -891,7 +891,7 @@
|
||||||
"MessageNoPlaylistsAvailable": "Playlist ti permettere di mettere in coda gli elementi da riprodurre.Usa il tasto destro o tap e tieni premuto quindi seleziona elemento da aggiungere",
|
"MessageNoPlaylistsAvailable": "Playlist ti permettere di mettere in coda gli elementi da riprodurre.Usa il tasto destro o tap e tieni premuto quindi seleziona elemento da aggiungere",
|
||||||
"MessageNoPlaylistItemsAvailable": "Questa playlist al momento \u00e8 vuota",
|
"MessageNoPlaylistItemsAvailable": "Questa playlist al momento \u00e8 vuota",
|
||||||
"ButtonDismiss": "Cancella",
|
"ButtonDismiss": "Cancella",
|
||||||
"ButtonEditOtherUserPreferences": "Edit this user's profile, image and personal preferences.",
|
"ButtonEditOtherUserPreferences": "Modifica questo utente di profilo, l'immagine e le preferenze personali.",
|
||||||
"LabelChannelStreamQuality": "Preferenziale qualit\u00e0 del flusso internet:",
|
"LabelChannelStreamQuality": "Preferenziale qualit\u00e0 del flusso internet:",
|
||||||
"LabelChannelStreamQualityHelp": "In un ambiente a bassa larghezza di banda, limitando la qualit\u00e0 pu\u00f2 contribuire a garantire un'esperienza di streaming continuo.",
|
"LabelChannelStreamQualityHelp": "In un ambiente a bassa larghezza di banda, limitando la qualit\u00e0 pu\u00f2 contribuire a garantire un'esperienza di streaming continuo.",
|
||||||
"OptionBestAvailableStreamQuality": "Migliore disponibile",
|
"OptionBestAvailableStreamQuality": "Migliore disponibile",
|
||||||
|
@ -1101,6 +1101,7 @@
|
||||||
"MessageApplicationUpdated": "Media Browser Server \u00e8 stato aggiornato",
|
"MessageApplicationUpdated": "Media Browser Server \u00e8 stato aggiornato",
|
||||||
"AuthenticationSucceededWithUserName": "{0} Autenticati con successo",
|
"AuthenticationSucceededWithUserName": "{0} Autenticati con successo",
|
||||||
"FailedLoginAttemptWithUserName": "Login fallito da {0}",
|
"FailedLoginAttemptWithUserName": "Login fallito da {0}",
|
||||||
|
"UserDownloadingItemWithValues": "{0} sta scaricando {1}",
|
||||||
"UserStartedPlayingItemWithValues": "{0} \u00e8 partito da {1}",
|
"UserStartedPlayingItemWithValues": "{0} \u00e8 partito da {1}",
|
||||||
"UserStoppedPlayingItemWithValues": "{0} stoppato {1}",
|
"UserStoppedPlayingItemWithValues": "{0} stoppato {1}",
|
||||||
"AppDeviceValues": "App: {0}, Dispositivo: {1}",
|
"AppDeviceValues": "App: {0}, Dispositivo: {1}",
|
||||||
|
@ -1338,19 +1339,19 @@
|
||||||
"HeaderVideoTypes": "Tipi Video",
|
"HeaderVideoTypes": "Tipi Video",
|
||||||
"HeaderYears": "Anni",
|
"HeaderYears": "Anni",
|
||||||
"HeaderAddTag": "Aggiungi Tag",
|
"HeaderAddTag": "Aggiungi Tag",
|
||||||
"LabelBlockContentWithTags": "Block content with tags:",
|
"LabelBlockContentWithTags": "Blocco dei contenuti con le etichette:",
|
||||||
"LabelTag": "Tag:",
|
"LabelTag": "Tag:",
|
||||||
"LabelEnableSingleImageInDidlLimit": "Limitato a singola immagine incorporata",
|
"LabelEnableSingleImageInDidlLimit": "Limitato a singola immagine incorporata",
|
||||||
"LabelEnableSingleImageInDidlLimitHelp": "Alcuni dispositivi non renderanno correttamente se pi\u00f9 immagini sono incorporati all'interno didl.",
|
"LabelEnableSingleImageInDidlLimitHelp": "Alcuni dispositivi non renderanno correttamente se pi\u00f9 immagini sono incorporati all'interno didl.",
|
||||||
"TabActivity": "Attivit\u00e0",
|
"TabActivity": "Attivit\u00e0",
|
||||||
"TitleSync": "Sincronizza",
|
"TitleSync": "Sincronizza",
|
||||||
"OptionAllowSyncContent": "Allow Sync",
|
"OptionAllowSyncContent": "Consenti Sync",
|
||||||
"OptionAllowContentDownloading": "Allow media downloading",
|
"OptionAllowContentDownloading": "Consenti media download",
|
||||||
"NameSeasonUnknown": "Stagione sconosciuto",
|
"NameSeasonUnknown": "Stagione sconosciuto",
|
||||||
"NameSeasonNumber": "Stagione {0}",
|
"NameSeasonNumber": "Stagione {0}",
|
||||||
"LabelNewUserNameHelp": "I nomi utente possono contenere lettere (az), numeri (0-9), trattini (-), underscore (_), apostrofi ('), e periodi (.)",
|
"LabelNewUserNameHelp": "I nomi utente possono contenere lettere (az), numeri (0-9), trattini (-), underscore (_), apostrofi ('), e periodi (.)",
|
||||||
"TabJobs": "Attivit\u00e0",
|
"TabJobs": "Attivit\u00e0",
|
||||||
"TabSyncJobs": "Attiv. di Sinc.",
|
"TabSyncJobs": "Attiv. di Sinc.",
|
||||||
"LabelTagFilterMode": "Mode:",
|
"LabelTagFilterMode": "Modalit\u00e0:",
|
||||||
"LabelTagFilterAllowModeHelp": "If allowed tags are used as part of a deeply nested folder structure, content that is tagged will require parent folders to be tagged as well."
|
"LabelTagFilterAllowModeHelp": "Se i tag permessi vengono utilizzati come parte di una struttura di cartelle profondamente nidificate, il contenuto che viene etichettato richieder\u00e0 cartelle principali di essere etichettato come bene."
|
||||||
}
|
}
|
|
@ -1,13 +1,13 @@
|
||||||
{
|
{
|
||||||
"LabelExit": "\u0428\u044b\u0493\u0443",
|
"LabelExit": "\u0428\u044b\u0493\u0443",
|
||||||
"LabelVisitCommunity": "\u049a\u0430\u0443\u044b\u043c\u0434\u0430\u0441\u0442\u044b\u049b\u049b\u0430 \u0431\u0430\u0440\u0443",
|
"LabelVisitCommunity": "\u049a\u0430\u0443\u044b\u043c\u0434\u0430\u0441\u0442\u044b\u049b\u049b\u0430 \u0431\u0430\u0440\u0443",
|
||||||
"LabelGithub": "Github \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439\u0456",
|
"LabelGithub": "GitHub \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439\u0456",
|
||||||
"LabelSwagger": "Swagger \u0442\u0456\u043b\u0434\u0435\u0441\u0443\u0456",
|
"LabelSwagger": "Swagger \u0442\u0456\u043b\u0434\u0435\u0441\u0443\u0456",
|
||||||
"LabelStandard": "\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0442\u044b",
|
"LabelStandard": "\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0442\u044b",
|
||||||
"LabelApiDocumentation": "API \u049b\u04b1\u0436\u0430\u0442\u0442\u0430\u043c\u0430\u0441\u044b",
|
"LabelApiDocumentation": "API \u049b\u04b1\u0436\u0430\u0442\u0442\u0430\u043c\u0430\u0441\u044b",
|
||||||
"LabelDeveloperResources": "\u0416\u0430\u0441\u0430\u049b\u0442\u0430\u0443\u0448\u044b \u043a\u04e9\u0437\u0434\u0435\u0440\u0456",
|
"LabelDeveloperResources": "\u0416\u0430\u0441\u0430\u049b\u0442\u0430\u0443\u0448\u044b \u043a\u04e9\u0437\u0434\u0435\u0440\u0456",
|
||||||
"LabelBrowseLibrary": "\u0422\u0430\u0441\u044b\u0493\u044b\u0448\u0445\u0430\u043d\u0430\u043d\u044b \u0448\u043e\u043b\u0443",
|
"LabelBrowseLibrary": "\u0422\u0430\u0441\u044b\u0493\u044b\u0448\u0445\u0430\u043d\u0430\u043d\u044b \u0448\u043e\u043b\u0443",
|
||||||
"LabelConfigureMediaBrowser": "Media Browser \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u0441\u044b",
|
"LabelConfigureMediaBrowser": "Media Browser \u0442\u0435\u04a3\u0448\u0435\u043b\u0456\u043c\u0456",
|
||||||
"LabelOpenLibraryViewer": "\u0422\u0430\u0441\u044b\u0493\u044b\u0448\u0445\u0430\u043d\u0430\u043d\u044b \u049b\u0430\u0440\u0430\u0443 \u049b\u04b1\u0440\u0430\u043b\u044b",
|
"LabelOpenLibraryViewer": "\u0422\u0430\u0441\u044b\u0493\u044b\u0448\u0445\u0430\u043d\u0430\u043d\u044b \u049b\u0430\u0440\u0430\u0443 \u049b\u04b1\u0440\u0430\u043b\u044b",
|
||||||
"LabelRestartServer": "\u0421\u0435\u0440\u0432\u0435\u0440\u0434\u0456 \u049b\u0430\u0439\u0442\u0430 \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u0443",
|
"LabelRestartServer": "\u0421\u0435\u0440\u0432\u0435\u0440\u0434\u0456 \u049b\u0430\u0439\u0442\u0430 \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u0443",
|
||||||
"LabelShowLogWindow": "\u0416\u04b1\u0440\u043d\u0430\u043b \u0442\u0435\u0440\u0435\u0437\u0435\u0441\u0456\u043d \u043a\u04e9\u0440\u0441\u0435\u0442\u0443",
|
"LabelShowLogWindow": "\u0416\u04b1\u0440\u043d\u0430\u043b \u0442\u0435\u0440\u0435\u0437\u0435\u0441\u0456\u043d \u043a\u04e9\u0440\u0441\u0435\u0442\u0443",
|
||||||
|
@ -26,15 +26,15 @@
|
||||||
"LabelWindowsService": "Windows \u049b\u044b\u0437\u043c\u0435\u0442\u0456",
|
"LabelWindowsService": "Windows \u049b\u044b\u0437\u043c\u0435\u0442\u0456",
|
||||||
"AWindowsServiceHasBeenInstalled": "Windows \u049b\u044b\u0437\u043c\u0435\u0442\u0456 \u043e\u0440\u043d\u0430\u0442\u044b\u043b\u0434\u044b.",
|
"AWindowsServiceHasBeenInstalled": "Windows \u049b\u044b\u0437\u043c\u0435\u0442\u0456 \u043e\u0440\u043d\u0430\u0442\u044b\u043b\u0434\u044b.",
|
||||||
"WindowsServiceIntro1": "Media Browser Server \u0436\u04af\u0439\u0435\u043b\u0456\u043a \u0442\u0430\u049b\u0442\u0430\u0434\u0430\u0493\u044b \u0431\u0435\u043b\u0433\u0456\u0448\u0435\u0441\u0456 \u0431\u0430\u0440 \u0436\u04b1\u043c\u044b\u0441 \u04af\u0441\u0442\u0435\u043b\u0456\u043d\u0456\u04a3 \u049b\u043e\u043b\u0434\u0430\u043d\u0431\u0430\u0441\u044b \u0440\u0435\u0442\u0456\u043d\u0434\u0435 \u04d9\u0434\u0435\u043f\u043a\u0456 \u043e\u0440\u044b\u043d\u0434\u0430\u043b\u0430\u0434\u044b, \u0431\u0456\u0440\u0430\u049b \u0435\u0433\u0435\u0440 \u0431\u04b1\u043d\u044b \u04e9\u04a3\u0434\u0456\u043a \u049b\u044b\u0437\u043c\u0435\u0442\u0456 \u0440\u0435\u0442\u0456\u043d\u0434\u0435 \u0442\u0435\u04a3\u0448\u0435\u0443\u0434\u0456 \u049b\u0430\u043b\u0430\u0441\u0430\u04a3\u044b\u0437, \u043e\u0440\u043d\u044b\u043d\u0430 \u0431\u04b1\u043b Windows \u049b\u044b\u0437\u043c\u0435\u0442\u0442\u0435\u0440 \u0434\u0438\u0441\u043f\u0435\u0442\u0447\u0435\u0440\u0456 \u0430\u0440\u049b\u044b\u043b\u044b \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u044b\u043b\u0443\u044b \u043c\u04af\u043c\u043a\u0456\u043d.",
|
"WindowsServiceIntro1": "Media Browser Server \u0436\u04af\u0439\u0435\u043b\u0456\u043a \u0442\u0430\u049b\u0442\u0430\u0434\u0430\u0493\u044b \u0431\u0435\u043b\u0433\u0456\u0448\u0435\u0441\u0456 \u0431\u0430\u0440 \u0436\u04b1\u043c\u044b\u0441 \u04af\u0441\u0442\u0435\u043b\u0456\u043d\u0456\u04a3 \u049b\u043e\u043b\u0434\u0430\u043d\u0431\u0430\u0441\u044b \u0440\u0435\u0442\u0456\u043d\u0434\u0435 \u04d9\u0434\u0435\u043f\u043a\u0456 \u043e\u0440\u044b\u043d\u0434\u0430\u043b\u0430\u0434\u044b, \u0431\u0456\u0440\u0430\u049b \u0435\u0433\u0435\u0440 \u0431\u04b1\u043d\u044b \u04e9\u04a3\u0434\u0456\u043a \u049b\u044b\u0437\u043c\u0435\u0442\u0456 \u0440\u0435\u0442\u0456\u043d\u0434\u0435 \u0442\u0435\u04a3\u0448\u0435\u0443\u0434\u0456 \u049b\u0430\u043b\u0430\u0441\u0430\u04a3\u044b\u0437, \u043e\u0440\u043d\u044b\u043d\u0430 \u0431\u04b1\u043b Windows \u049b\u044b\u0437\u043c\u0435\u0442\u0442\u0435\u0440 \u0434\u0438\u0441\u043f\u0435\u0442\u0447\u0435\u0440\u0456 \u0430\u0440\u049b\u044b\u043b\u044b \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u044b\u043b\u0443\u044b \u043c\u04af\u043c\u043a\u0456\u043d.",
|
||||||
"WindowsServiceIntro2": "\u0415\u0433\u0435\u0440 Windows \u049b\u044b\u0437\u043c\u0435\u0442\u0456 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0434\u0430 \u0431\u043e\u043b\u0441\u0430, \u0435\u0441\u043a\u0435\u0440\u0456\u04a3\u0456\u0437, \u0431\u04b1\u043b \u0441\u043e\u043b \u043c\u0435\u0437\u0433\u0456\u043b\u0434\u0435 \u0436\u04af\u0439\u0435\u043b\u0456\u043a \u0442\u0430\u049b\u0442\u0430\u0434\u0430\u0493\u044b \u0431\u0435\u043b\u0433\u0456\u0448\u0435\u0434\u0435\u0439 \u0436\u04af\u043c\u044b\u0441 \u0456\u0441\u0442\u0435\u0443\u0456 \u043c\u04af\u043c\u043a\u0456\u043d \u0435\u043c\u0435\u0441, \u0441\u043e\u043d\u044b\u043c\u0435\u043d \u049b\u044b\u0437\u043c\u0435\u0442\u0442\u0456 \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u0443 \u04af\u0448\u0456\u043d \u0436\u04af\u0439\u0435\u043b\u0456\u043a \u0442\u0430\u049b\u0442\u0430\u0434\u0430\u043d \u0448\u044b\u0493\u0443\u044b\u04a3\u044b\u0437 \u049b\u0430\u0436\u0435\u0442. \u0421\u043e\u0493\u0430\u043d \u049b\u0430\u0442\u0430\u0440, \u049b\u044b\u0437\u043c\u0435\u0442\u0442\u0456 \u04d9\u043a\u0456\u043c\u0448\u0456 \u049b\u04b1\u049b\u044b\u049b\u0442\u0430\u0440\u044b\u043d\u0430 \u0438\u0435 \u0431\u043e\u043b\u044b\u043f \u049a\u044b\u0437\u043c\u0435\u0442\u0442\u0435\u0440 \u0434\u0438\u0441\u043f\u0435\u0442\u0447\u0435\u0440\u0456 \u0430\u0440\u049b\u044b\u043b\u044b \u0442\u0435\u04a3\u0448\u0435\u0443 \u049b\u0430\u0436\u0435\u0442. \u041d\u0430\u0437\u0430\u0440 \u0430\u0443\u0434\u0430\u0440\u044b\u04a3\u044b\u0437! \u049a\u0430\u0437\u0456\u0440\u0433\u0456 \u0443\u0430\u049b\u044b\u0442\u0442\u0430 \u0431\u04b1\u043b \u049b\u044b\u0437\u043c\u0435\u0442 \u04e9\u0437\u0456\u043d\u0435\u043d-\u04e9\u0437\u0456 \u0436\u0430\u04a3\u0430\u0440\u0442\u044b\u043b\u043c\u0430\u0439\u0434\u044b, \u0441\u043e\u043d\u0434\u044b\u049b\u0442\u0430\u043d \u0436\u0430\u04a3\u0430 \u043d\u04b1\u0441\u049b\u0430\u043b\u0430\u0440 \u049b\u043e\u043b\u043c\u0435\u043d \u04e9\u0437\u0430\u0440\u0430 \u04d9\u0440\u0435\u043a\u0435\u0442\u0442\u0435\u0441\u0443\u0434\u0456 \u049b\u0430\u0436\u0435\u0442 \u0435\u0442\u0435\u0434\u0456.",
|
"WindowsServiceIntro2": "\u0415\u0433\u0435\u0440 Windows \u049b\u044b\u0437\u043c\u0435\u0442\u0456 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0434\u0430 \u0431\u043e\u043b\u0441\u0430, \u0435\u0441\u043a\u0435\u0440\u0456\u04a3\u0456\u0437, \u0431\u04b1\u043b \u0441\u043e\u043b \u043c\u0435\u0437\u0433\u0456\u043b\u0434\u0435 \u0436\u04af\u0439\u0435\u043b\u0456\u043a \u0442\u0430\u049b\u0442\u0430\u0434\u0430\u0493\u044b \u0431\u0435\u043b\u0433\u0456\u0448\u0435\u0434\u0435\u0439 \u0436\u04af\u043c\u044b\u0441 \u0456\u0441\u0442\u0435\u0443\u0456 \u043c\u04af\u043c\u043a\u0456\u043d \u0435\u043c\u0435\u0441, \u0441\u043e\u043d\u044b\u043c\u0435\u043d \u049b\u044b\u0437\u043c\u0435\u0442\u0442\u0456 \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u0443 \u04af\u0448\u0456\u043d \u0436\u04af\u0439\u0435\u043b\u0456\u043a \u0442\u0430\u049b\u0442\u0430\u0434\u0430\u043d \u0448\u044b\u0493\u0443\u044b\u04a3\u044b\u0437 \u049b\u0430\u0436\u0435\u0442. \u0421\u043e\u0493\u0430\u043d \u049b\u0430\u0442\u0430\u0440, \u049b\u044b\u0437\u043c\u0435\u0442\u0442\u0456 \u04d9\u043a\u0456\u043c\u0448\u0456 \u049b\u04b1\u049b\u044b\u049b\u0442\u0430\u0440\u044b\u043d\u0430 \u0438\u0435 \u0431\u043e\u043b\u044b\u043f \u049a\u044b\u0437\u043c\u0435\u0442\u0442\u0435\u0440 \u0440\u0435\u0442\u0442\u0435\u0443\u0456\u0448\u0456 \u0430\u0440\u049b\u044b\u043b\u044b \u0442\u0435\u04a3\u0448\u0435\u0443 \u049b\u0430\u0436\u0435\u0442. \u041d\u0430\u0437\u0430\u0440 \u0430\u0443\u0434\u0430\u0440\u044b\u04a3\u044b\u0437! \u049a\u0430\u0437\u0456\u0440\u0433\u0456 \u0443\u0430\u049b\u044b\u0442\u0442\u0430 \u0431\u04b1\u043b \u049b\u044b\u0437\u043c\u0435\u0442 \u04e9\u0437\u0456\u043d\u0435\u043d-\u04e9\u0437\u0456 \u0436\u0430\u04a3\u0430\u0440\u0442\u044b\u043b\u043c\u0430\u0439\u0434\u044b, \u0441\u043e\u043d\u0434\u044b\u049b\u0442\u0430\u043d \u0436\u0430\u04a3\u0430 \u043d\u04b1\u0441\u049b\u0430\u043b\u0430\u0440 \u049b\u043e\u043b\u043c\u0435\u043d \u04e9\u0437\u0430\u0440\u0430 \u04d9\u0440\u0435\u043a\u0435\u0442\u0442\u0435\u0441\u0443\u0434\u0456 \u049b\u0430\u0436\u0435\u0442 \u0435\u0442\u0435\u0434\u0456.",
|
||||||
"WizardCompleted": "\u0411\u04b1\u043b \u04d9\u0437\u0456\u0440\u0448\u0435 \u0431\u0456\u0437\u0433\u0435 \u043a\u0435\u0440\u0435\u0433\u0456\u043d\u0456\u04a3 \u0431\u04d9\u0440\u0456. Media Browser \u0442\u0430\u0441\u044b\u0493\u044b\u0448\u0445\u0430\u043d\u0430\u04a3\u044b\u0437 \u0442\u0443\u0440\u0430\u043b\u044b \u043c\u04d9\u043b\u0456\u043c\u0435\u0442\u0442\u0435\u0440\u0434\u0456 \u0436\u0438\u043d\u0430\u0443\u0434\u044b \u0431\u0430\u0441\u0442\u0430\u0434\u044b. \u041a\u0435\u0439\u0431\u0456\u0440 \u049b\u043e\u043b\u0434\u0430\u043d\u0431\u0430\u043b\u0430\u0440\u044b\u043c\u044b\u0437\u0431\u0435\u043d \u0442\u0430\u043d\u044b\u0441\u044b\u043f \u0448\u044b\u0493\u044b\u04a3\u044b\u0437 \u0434\u0430, <b>\u0421\u0435\u0440\u0432\u0435\u0440 \u0431\u0430\u049b\u044b\u043b\u0430\u0443 \u0442\u0430\u049b\u0442\u0430\u0441\u044b\u043d<\/b> \u043a\u04e9\u0440\u0443 \u04af\u0448\u0456\u043d \u043a\u0435\u0439\u0456\u043d <b>\u0414\u0430\u0439\u044b\u043d<\/b>\u0442\u04af\u0439\u043c\u0435\u0448\u0456\u0433\u0456\u043d \u0431\u0430\u0441\u044b\u04a3\u044b\u0437.",
|
"WizardCompleted": "\u0411\u04b1\u043b \u04d9\u0437\u0456\u0440\u0448\u0435 \u0431\u0456\u0437\u0433\u0435 \u043a\u0435\u0440\u0435\u0433\u0456\u043d\u0456\u04a3 \u0431\u04d9\u0440\u0456. Media Browser \u0442\u0430\u0441\u044b\u0493\u044b\u0448\u0445\u0430\u043d\u0430\u04a3\u044b\u0437 \u0442\u0443\u0440\u0430\u043b\u044b \u043c\u04d9\u043b\u0456\u043c\u0435\u0442\u0442\u0435\u0440\u0434\u0456 \u0436\u0438\u043d\u0430\u0443\u0434\u044b \u0431\u0430\u0441\u0442\u0430\u0434\u044b. \u041a\u0435\u0439\u0431\u0456\u0440 \u049b\u043e\u043b\u0434\u0430\u043d\u0431\u0430\u043b\u0430\u0440\u044b\u043c\u044b\u0437\u0431\u0435\u043d \u0442\u0430\u043d\u044b\u0441\u044b\u043f \u0448\u044b\u0493\u044b\u04a3\u044b\u0437 \u0434\u0430, <b>\u0421\u0435\u0440\u0432\u0435\u0440 \u0431\u0430\u049b\u044b\u043b\u0430\u0443 \u0442\u0430\u049b\u0442\u0430\u0441\u044b\u043d<\/b> \u043a\u04e9\u0440\u0443 \u04af\u0448\u0456\u043d \u043a\u0435\u0439\u0456\u043d <b>\u0414\u0430\u0439\u044b\u043d<\/b>\u0442\u04af\u0439\u043c\u0435\u0448\u0456\u0433\u0456\u043d \u0431\u0430\u0441\u044b\u04a3\u044b\u0437.",
|
||||||
"LabelConfigureSettings": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043b\u0435\u0440\u0434\u0456 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u043b\u0430\u0443",
|
"LabelConfigureSettings": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043b\u0435\u0440\u0434\u0456 \u0442\u0435\u04a3\u0448\u0435\u0443",
|
||||||
"LabelEnableVideoImageExtraction": "\u0411\u0435\u0439\u043d\u0435 \u0441\u0443\u0440\u0435\u0442\u0456\u043d \u0448\u044b\u0493\u0430\u0440\u044b\u043f \u0430\u043b\u0443\u0434\u044b \u049b\u043e\u0441\u0443",
|
"LabelEnableVideoImageExtraction": "\u0411\u0435\u0439\u043d\u0435 \u0441\u0443\u0440\u0435\u0442\u0456\u043d \u0448\u044b\u0493\u0430\u0440\u044b\u043f \u0430\u043b\u0443\u0434\u044b \u049b\u043e\u0441\u0443",
|
||||||
"VideoImageExtractionHelp": "\u04d8\u043b\u0456 \u0434\u0435 \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440\u0456 \u0436\u043e\u049b, \u0436\u04d9\u043d\u0435 \u043e\u043b\u0430\u0440 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0442\u0435 \u0442\u0430\u0431\u044b\u043b\u043c\u0430\u0493\u0430\u043d \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0440 \u04af\u0448\u0456\u043d. \u0411\u04b1\u043b \u0442\u0430\u0441\u044b\u0493\u044b\u0448\u0445\u0430\u043d\u0430\u043d\u044b\u04a3 \u0431\u0430\u0441\u0442\u0430\u043f\u049b\u044b \u0441\u043a\u0430\u043d\u0435\u0440\u043b\u0435\u0443\u0456 \u04af\u0448\u0456\u043d \u049b\u043e\u0441\u044b\u043c\u0448\u0430 \u0443\u0430\u049b\u044b\u0442 \u04af\u0441\u0442\u0435\u0439\u0434\u0456, \u0431\u0456\u0440\u0430\u049b \u043d\u04d9\u0442\u0438\u0436\u0435\u0441\u0456\u043d\u0434\u0435 \u04b1\u043d\u0430\u043c\u0434\u044b\u043b\u0430\u0443 \u043a\u04e9\u0440\u0441\u0435\u0442\u0456\u043c \u0431\u043e\u043b\u0430\u0434\u044b.",
|
"VideoImageExtractionHelp": "\u04d8\u043b\u0456 \u0434\u0435 \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440\u0456 \u0436\u043e\u049b, \u0436\u04d9\u043d\u0435 \u043e\u043b\u0430\u0440 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0442\u0435 \u0442\u0430\u0431\u044b\u043b\u043c\u0430\u0493\u0430\u043d \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0440 \u04af\u0448\u0456\u043d. \u0411\u04b1\u043b \u0442\u0430\u0441\u044b\u0493\u044b\u0448\u0445\u0430\u043d\u0430\u043d\u044b\u04a3 \u0431\u0430\u0441\u0442\u0430\u043f\u049b\u044b \u0441\u043a\u0430\u043d\u0435\u0440\u043b\u0435\u0443\u0456 \u04af\u0448\u0456\u043d \u049b\u043e\u0441\u044b\u043c\u0448\u0430 \u0443\u0430\u049b\u044b\u0442 \u04af\u0441\u0442\u0435\u0439\u0434\u0456, \u0431\u0456\u0440\u0430\u049b \u043d\u04d9\u0442\u0438\u0436\u0435\u0441\u0456\u043d\u0434\u0435 \u04b1\u043d\u0430\u043c\u0434\u044b\u043b\u0430\u0443 \u043a\u04e9\u0440\u0441\u0435\u0442\u0456\u043c \u0431\u043e\u043b\u0430\u0434\u044b.",
|
||||||
"LabelEnableChapterImageExtractionForMovies": "\u0424\u0438\u043b\u044c\u043c\u0434\u0435\u0440 \u04af\u0448\u0456\u043d \u0441\u0430\u0445\u043d\u0430 \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440\u0456\u043d \u0448\u044b\u0493\u0430\u0440\u044b\u043f \u0430\u043b\u0443\u0434\u044b \u049b\u043e\u0441\u0443",
|
"LabelEnableChapterImageExtractionForMovies": "\u0424\u0438\u043b\u044c\u043c\u0434\u0435\u0440 \u04af\u0448\u0456\u043d \u0441\u0430\u0445\u043d\u0430 \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440\u0456\u043d \u0448\u044b\u0493\u0430\u0440\u044b\u043f \u0430\u043b\u0443\u0434\u044b \u049b\u043e\u0441\u0443",
|
||||||
"LabelChapterImageExtractionForMoviesHelp": "\u0421\u0430\u0445\u043d\u0430 \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440\u0456\u043d \u0448\u044b\u0493\u0430\u0440\u044b\u043f \u0430\u043b\u0443 \u043a\u043b\u0438\u0435\u043d\u0442\u0442\u0435\u0440\u0433\u0435 \u0441\u0430\u0445\u043d\u0430 \u0431\u04e9\u043b\u0435\u043a\u0442\u0435\u0443\u0433\u0435 \u0430\u0440\u043d\u0430\u043b\u0493\u0430\u043d \u0441\u044b\u0437\u0431\u0430\u043b\u044b\u049b \u043c\u04d9\u0437\u0456\u0440\u043b\u0435\u0440\u0434\u0456 \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0443 \u04af\u0448\u0456\u043d \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0435\u0434\u0456. \u0411\u04b1\u043b \u043f\u0440\u043e\u0446\u0435\u0441 \u0431\u0430\u044f\u0443, \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0434\u044b \u0442\u043e\u0437\u0434\u044b\u0440\u0430\u0442\u044b\u043d \u0436\u04d9\u043d\u0435 \u0431\u0456\u0440\u0430\u0437 \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442 \u043a\u0435\u04a3\u0456\u0441\u0442\u0456\u043a\u0442\u0456 \u049b\u0430\u0436\u0435\u0442 \u0435\u0442\u0435\u0442\u0456\u043d \u0431\u043e\u043b\u0443\u044b \u043c\u04af\u043c\u043a\u0456\u043d. \u0411\u04b1\u043b \u0442\u04af\u043d\u0433\u0456 \u0443\u0430\u049b\u044b\u0442\u044b\u043d\u0430 \u0436\u043e\u0441\u043f\u0430\u0440\u043b\u0430\u0493\u0430\u043d \u0442\u0430\u043f\u0441\u044b\u0440\u043c\u0430 \u0440\u0435\u0442\u0456\u043d\u0434\u0435 \u0436\u04b1\u043c\u044b\u0441 \u0456\u0441\u0442\u0435\u0439\u0434\u0456, \u0434\u0435\u0433\u0435\u043d\u043c\u0435\u043d \u0431\u04b1\u043b \u0416\u043e\u0441\u043f\u0430\u0440\u043b\u0430\u0443\u0448\u044b \u0430\u0439\u043c\u0430\u0493\u044b\u043d\u0434\u0430 \u0442\u0435\u04a3\u0448\u0435\u043b\u0435\u0434\u0456. \u0411\u04b1\u043b \u0442\u0430\u043f\u0441\u044b\u0440\u043c\u0430\u043d\u044b \u049b\u0430\u0440\u0431\u0430\u043b\u0430\u0441 \u0441\u0430\u0493\u0430\u0442\u0442\u0430\u0440\u044b\u043d\u0434\u0430 \u043e\u0440\u044b\u043d\u0434\u0430\u0443 \u04b1\u0441\u044b\u043d\u044b\u043b\u043c\u0430\u0439\u0434\u044b.",
|
"LabelChapterImageExtractionForMoviesHelp": "\u0421\u0430\u0445\u043d\u0430 \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440\u0456\u043d \u0448\u044b\u0493\u0430\u0440\u044b\u043f \u0430\u043b\u0443 \u043a\u043b\u0438\u0435\u043d\u0442\u0442\u0435\u0440\u0433\u0435 \u0441\u0430\u0445\u043d\u0430 \u0431\u04e9\u043b\u0435\u043a\u0442\u0435\u0443\u0433\u0435 \u0430\u0440\u043d\u0430\u043b\u0493\u0430\u043d \u0441\u044b\u0437\u0431\u0430\u043b\u044b\u049b \u043c\u04d9\u0437\u0456\u0440\u043b\u0435\u0440\u0434\u0456 \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0443 \u04af\u0448\u0456\u043d \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0435\u0434\u0456. \u0411\u04b1\u043b \u043f\u0440\u043e\u0446\u0435\u0441 \u0431\u0430\u044f\u0443, \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0434\u044b \u0442\u043e\u0437\u0434\u044b\u0440\u0430\u0442\u044b\u043d \u0436\u04d9\u043d\u0435 \u0431\u0456\u0440\u0430\u0437 \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442 \u043a\u0435\u04a3\u0456\u0441\u0442\u0456\u043a\u0442\u0456 \u049b\u0430\u0436\u0435\u0442 \u0435\u0442\u0435\u0442\u0456\u043d \u0431\u043e\u043b\u0443\u044b \u043c\u04af\u043c\u043a\u0456\u043d. \u0411\u04b1\u043b \u0442\u04af\u043d\u0433\u0456 \u0443\u0430\u049b\u044b\u0442\u044b\u043d\u0430 \u0436\u043e\u0441\u043f\u0430\u0440\u043b\u0430\u0493\u0430\u043d \u0442\u0430\u043f\u0441\u044b\u0440\u043c\u0430 \u0440\u0435\u0442\u0456\u043d\u0434\u0435 \u0436\u04b1\u043c\u044b\u0441 \u0456\u0441\u0442\u0435\u0439\u0434\u0456, \u0434\u0435\u0433\u0435\u043d\u043c\u0435\u043d \u0431\u04b1\u043b \u0416\u043e\u0441\u043f\u0430\u0440\u043b\u0430\u0443\u0448\u044b \u0430\u0439\u043c\u0430\u0493\u044b\u043d\u0434\u0430 \u0442\u0435\u04a3\u0448\u0435\u043b\u0435\u0434\u0456. \u0411\u04b1\u043b \u0442\u0430\u043f\u0441\u044b\u0440\u043c\u0430\u043d\u044b \u049b\u0430\u0440\u0431\u0430\u043b\u0430\u0441 \u0441\u0430\u0493\u0430\u0442\u0442\u0430\u0440\u044b\u043d\u0434\u0430 \u043e\u0440\u044b\u043d\u0434\u0430\u0443 \u04b1\u0441\u044b\u043d\u044b\u043b\u043c\u0430\u0439\u0434\u044b.",
|
||||||
"LabelEnableAutomaticPortMapping": "\u041f\u043e\u0440\u0442 \u0430\u0432\u0442\u043e\u0441\u0430\u043b\u0493\u0430\u0441\u0442\u044b\u0440\u0443\u044b\u043d \u049b\u043e\u0441\u0443",
|
"LabelEnableAutomaticPortMapping": "\u041f\u043e\u0440\u0442 \u0430\u0432\u0442\u043e\u0441\u0430\u043b\u0493\u0430\u0441\u0442\u044b\u0440\u0443\u044b\u043d \u049b\u043e\u0441\u0443",
|
||||||
"LabelEnableAutomaticPortMappingHelp": "\u049a\u0430\u0448\u044b\u049b\u0442\u0430\u043d \u043e\u04a3\u0430\u0439\u0442\u044b\u043b\u044b\u043f \u049b\u0430\u0442\u044b\u043d\u0430\u0443 \u04af\u0448\u0456\u043d UPnP \u0436\u043e\u043b \u0436\u043e\u0441\u043f\u0430\u0440\u043b\u0430\u0493\u044b\u0448\u0442\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0442\u044b \u0442\u04af\u0440\u0434\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u043b\u0430\u0443\u0493\u0430 \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0435\u0434\u0456. \u0411\u04b1\u043b \u043a\u0435\u0439\u0431\u0456\u0440 \u0436\u043e\u043b \u0436\u043e\u0441\u043f\u0430\u0440\u043b\u0430\u0493\u044b\u0448 \u04af\u043b\u0433\u0456\u043b\u0435\u0440\u0456\u043c\u0435\u043d \u0436\u04b1\u043c\u044b\u0441 \u0456\u0441\u0442\u0435\u043c\u0435\u0439\u0442\u0456\u043d\u0456 \u043c\u04af\u043c\u043a\u0456\u043d.",
|
"LabelEnableAutomaticPortMappingHelp": "\u049a\u0430\u0448\u044b\u049b\u0442\u0430\u043d \u043e\u04a3\u0430\u0439\u0442\u044b\u043b\u044b\u043f \u049b\u0430\u0442\u044b\u043d\u0430\u0443 \u04af\u0448\u0456\u043d UPnP \u0436\u043e\u043b \u0436\u043e\u0441\u043f\u0430\u0440\u043b\u0430\u0493\u044b\u0448\u0442\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0442\u044b \u0442\u04af\u0440\u0434\u0435 \u0442\u0435\u04a3\u0448\u0435\u0443\u0433\u0435 \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0435\u0434\u0456. \u0411\u04b1\u043b \u043a\u0435\u0439\u0431\u0456\u0440 \u0436\u043e\u043b \u0436\u043e\u0441\u043f\u0430\u0440\u043b\u0430\u0493\u044b\u0448 \u04af\u043b\u0433\u0456\u043b\u0435\u0440\u0456\u043c\u0435\u043d \u0436\u04b1\u043c\u044b\u0441 \u0456\u0441\u0442\u0435\u043c\u0435\u0439\u0442\u0456\u043d\u0456 \u043c\u04af\u043c\u043a\u0456\u043d.",
|
||||||
"HeaderTermsOfService": "Media Browser \u049a\u044b\u0437\u043c\u0435\u0442 \u0448\u0430\u0440\u0442\u0442\u0430\u0440\u044b",
|
"HeaderTermsOfService": "Media Browser \u049a\u044b\u0437\u043c\u0435\u0442 \u0448\u0430\u0440\u0442\u0442\u0430\u0440\u044b",
|
||||||
"MessagePleaseAcceptTermsOfService": "\u0416\u0430\u043b\u0493\u0430\u0441\u0442\u044b\u0440\u043c\u0430\u0441 \u0431\u04b1\u0440\u044b\u043d \u049a\u044b\u0437\u043c\u0435\u0442 \u0448\u0430\u0440\u0442\u0442\u0430\u0440\u044b\u043d \u0436\u04d9\u043d\u0435 \u049a\u04b1\u043f\u0438\u044f\u043b\u044b\u043b\u044b\u049b \u0441\u0430\u044f\u0441\u0430\u0442\u044b\u043d \u049b\u0430\u0431\u044b\u043b\u0434\u0430\u04a3\u044b\u0437.",
|
"MessagePleaseAcceptTermsOfService": "\u0416\u0430\u043b\u0493\u0430\u0441\u0442\u044b\u0440\u043c\u0430\u0441 \u0431\u04b1\u0440\u044b\u043d \u049a\u044b\u0437\u043c\u0435\u0442 \u0448\u0430\u0440\u0442\u0442\u0430\u0440\u044b\u043d \u0436\u04d9\u043d\u0435 \u049a\u04b1\u043f\u0438\u044f\u043b\u044b\u043b\u044b\u049b \u0441\u0430\u044f\u0441\u0430\u0442\u044b\u043d \u049b\u0430\u0431\u044b\u043b\u0434\u0430\u04a3\u044b\u0437.",
|
||||||
"OptionIAcceptTermsOfService": "\u049a\u044b\u0437\u043c\u0435\u0442 \u0448\u0430\u0440\u0442\u0442\u0430\u0440\u044b\u043d \u049b\u0430\u0431\u044b\u043b\u0434\u0430\u0439\u043c\u044b\u043d",
|
"OptionIAcceptTermsOfService": "\u049a\u044b\u0437\u043c\u0435\u0442 \u0448\u0430\u0440\u0442\u0442\u0430\u0440\u044b\u043d \u049b\u0430\u0431\u044b\u043b\u0434\u0430\u0439\u043c\u044b\u043d",
|
||||||
|
@ -92,9 +92,9 @@
|
||||||
"LabelLanguage": "\u0422\u0456\u043b:",
|
"LabelLanguage": "\u0422\u0456\u043b:",
|
||||||
"ButtonJoinTheDevelopmentTeam": "\u0416\u0430\u0441\u0430\u049b\u0442\u0430\u0443\u0448\u044b\u043b\u0430\u0440 \u0442\u043e\u0431\u044b\u043d\u0430 \u043a\u0456\u0440\u0443",
|
"ButtonJoinTheDevelopmentTeam": "\u0416\u0430\u0441\u0430\u049b\u0442\u0430\u0443\u0448\u044b\u043b\u0430\u0440 \u0442\u043e\u0431\u044b\u043d\u0430 \u043a\u0456\u0440\u0443",
|
||||||
"HeaderPreferredMetadataLanguage": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u0442\u0456\u043b\u0456\u043d\u0456\u04a3 \u0442\u0435\u04a3\u0448\u0435\u043b\u0456\u043c\u0456:",
|
"HeaderPreferredMetadataLanguage": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u0442\u0456\u043b\u0456\u043d\u0456\u04a3 \u0442\u0435\u04a3\u0448\u0435\u043b\u0456\u043c\u0456:",
|
||||||
"LabelSaveLocalMetadata": "\u0421\u0443\u0440\u0435\u0442\u0442\u0435\u043c\u0435 v\u0435\u043d \u043c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0456 \u0442\u0430\u0441\u044b\u0493\u044b\u0448 \u049b\u0430\u043b\u0442\u0430\u043b\u0430\u0440\u044b \u0456\u0448\u0456\u043d\u0434\u0435 \u0441\u0430\u049b\u0442\u0430\u0443",
|
"LabelSaveLocalMetadata": "\u0421\u0443\u0440\u0435\u0442\u0442\u0435\u043c\u0435\u043b\u0435\u0440 \u0431\u0435\u043d \u043c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u0442\u0430\u0441\u044b\u0493\u044b\u0448 \u049b\u0430\u043b\u0442\u0430\u043b\u0430\u0440\u044b \u0456\u0448\u0456\u043d\u0434\u0435 \u0441\u0430\u049b\u0442\u0430\u0443",
|
||||||
"LabelSaveLocalMetadataHelp": "\u0421\u0443\u0440\u0435\u0442\u0442\u0435\u043c\u0435 \u043c\u0435\u043d \u043c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0456 \u0442\u0456\u043a\u0435\u043b\u0435\u0439 \u0442\u0430\u0441\u044b\u0493\u044b\u0448 \u049b\u0430\u043b\u0442\u0430\u043b\u0430\u0440\u044b \u0456\u0448\u0456\u043d\u0434\u0435 \u0441\u0430\u049b\u0442\u0430\u043b\u0443\u044b \u043e\u043b\u0430\u0440\u0434\u044b \u0436\u0435\u04a3\u0456\u043b \u04e9\u04a3\u0434\u0435\u0439 \u0430\u043b\u0430\u0442\u044b\u043d \u043e\u0440\u044b\u043d\u0493\u0430 \u049b\u043e\u044f\u0434\u044b.",
|
"LabelSaveLocalMetadataHelp": "\u0421\u0443\u0440\u0435\u0442\u0442\u0435\u043c\u0435\u043b\u0435\u0440 \u0431\u0435\u043d \u043c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u0442\u0456\u043a\u0435\u043b\u0435\u0439 \u0442\u0430\u0441\u044b\u0493\u044b\u0448 \u049b\u0430\u043b\u0442\u0430\u043b\u0430\u0440\u044b \u0456\u0448\u0456\u043d\u0434\u0435 \u0441\u0430\u049b\u0442\u0430\u043b\u0443\u044b \u043e\u043b\u0430\u0440\u0434\u044b \u0436\u0435\u04a3\u0456\u043b \u04e9\u04a3\u0434\u0435\u0439 \u0430\u043b\u0430\u0442\u044b\u043d \u043e\u0440\u044b\u043d\u0493\u0430 \u049b\u043e\u044f\u0434\u044b.",
|
||||||
"LabelDownloadInternetMetadata": "\u0421\u0443\u0440\u0435\u0442\u0442\u0435\u043c\u0435 \u043c\u0435\u043d \u043c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0456 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0442\u0435\u043d \u0436\u04af\u043a\u0442\u0435\u043f \u0430\u043b\u0443",
|
"LabelDownloadInternetMetadata": "\u0421\u0443\u0440\u0435\u0442\u0442\u0435\u043c\u0435\u043b\u0435\u0440 \u0431\u0435\u043d \u043c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0442\u0435\u043d \u0436\u04af\u043a\u0442\u0435\u043f \u0430\u043b\u0443",
|
||||||
"LabelDownloadInternetMetadataHelp": "\u0422\u043e\u043b\u044b \u043a\u04e9\u0440\u0441\u0435\u0442\u0456\u043b\u0456\u043c\u0434\u0435\u0440\u0434\u0456 \u049b\u043e\u0441\u0443 \u04af\u0448\u0456\u043d Media Browser \u0442\u0430\u0441\u044b\u0493\u044b\u0448\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u0442\u0443\u0440\u0430\u043b\u044b \u043c\u04d9\u043b\u0456\u043c\u0435\u0442\u0442\u0435\u0440\u0434\u0456 \u0436\u04af\u043a\u0442\u0435\u0443\u0456 \u043c\u04af\u043c\u043a\u0456\u043d.",
|
"LabelDownloadInternetMetadataHelp": "\u0422\u043e\u043b\u044b \u043a\u04e9\u0440\u0441\u0435\u0442\u0456\u043b\u0456\u043c\u0434\u0435\u0440\u0434\u0456 \u049b\u043e\u0441\u0443 \u04af\u0448\u0456\u043d Media Browser \u0442\u0430\u0441\u044b\u0493\u044b\u0448\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u0442\u0443\u0440\u0430\u043b\u044b \u043c\u04d9\u043b\u0456\u043c\u0435\u0442\u0442\u0435\u0440\u0434\u0456 \u0436\u04af\u043a\u0442\u0435\u0443\u0456 \u043c\u04af\u043c\u043a\u0456\u043d.",
|
||||||
"TabPreferences": "\u0422\u0435\u04a3\u0448\u0435\u043b\u0456\u043c\u0434\u0435\u0440",
|
"TabPreferences": "\u0422\u0435\u04a3\u0448\u0435\u043b\u0456\u043c\u0434\u0435\u0440",
|
||||||
"TabPassword": "\u049a\u04b1\u043f\u0438\u044f \u0441\u04e9\u0437",
|
"TabPassword": "\u049a\u04b1\u043f\u0438\u044f \u0441\u04e9\u0437",
|
||||||
|
@ -102,7 +102,7 @@
|
||||||
"TabAccess": "\u049a\u0430\u0442\u044b\u043d\u0430\u0443",
|
"TabAccess": "\u049a\u0430\u0442\u044b\u043d\u0430\u0443",
|
||||||
"TabImage": "\u0421\u0443\u0440\u0435\u0442",
|
"TabImage": "\u0421\u0443\u0440\u0435\u0442",
|
||||||
"TabProfile": "\u041f\u0440\u043e\u0444\u0438\u043b\u044c",
|
"TabProfile": "\u041f\u0440\u043e\u0444\u0438\u043b\u044c",
|
||||||
"TabMetadata": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a",
|
"TabMetadata": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440",
|
||||||
"TabImages": "\u0421\u0443\u0440\u0435\u0442\u0442\u0435\u0440",
|
"TabImages": "\u0421\u0443\u0440\u0435\u0442\u0442\u0435\u0440",
|
||||||
"TabNotifications": "\u0425\u0430\u0431\u0430\u0440\u043b\u0430\u043d\u0434\u044b\u0440\u0443\u043b\u0430\u0440",
|
"TabNotifications": "\u0425\u0430\u0431\u0430\u0440\u043b\u0430\u043d\u0434\u044b\u0440\u0443\u043b\u0430\u0440",
|
||||||
"TabCollectionTitles": "\u0422\u0443\u044b\u043d\u0434\u044b\u043b\u0430\u0440",
|
"TabCollectionTitles": "\u0422\u0443\u044b\u043d\u0434\u044b\u043b\u0430\u0440",
|
||||||
|
@ -219,7 +219,7 @@
|
||||||
"HeaderLatestSongs": "\u0415\u04a3 \u043a\u0435\u0439\u0456\u04a3\u0433\u0456 \u04d9\u0443\u0435\u043d\u0434\u0435\u0440",
|
"HeaderLatestSongs": "\u0415\u04a3 \u043a\u0435\u0439\u0456\u04a3\u0433\u0456 \u04d9\u0443\u0435\u043d\u0434\u0435\u0440",
|
||||||
"HeaderRecentlyPlayed": "\u0416\u0430\u049b\u044b\u043d\u0434\u0430 \u043e\u0439\u043d\u0430\u0442\u044b\u043b\u0493\u0430\u043d\u0434\u0430\u0440",
|
"HeaderRecentlyPlayed": "\u0416\u0430\u049b\u044b\u043d\u0434\u0430 \u043e\u0439\u043d\u0430\u0442\u044b\u043b\u0493\u0430\u043d\u0434\u0430\u0440",
|
||||||
"HeaderFrequentlyPlayed": "\u0416\u0438\u0456 \u043e\u0439\u043d\u0430\u0442\u044b\u043b\u0493\u0430\u043d\u0434\u0430\u0440",
|
"HeaderFrequentlyPlayed": "\u0416\u0438\u0456 \u043e\u0439\u043d\u0430\u0442\u044b\u043b\u0493\u0430\u043d\u0434\u0430\u0440",
|
||||||
"DevBuildWarning": "\u0416\u0430\u0441\u0430\u049b\u0442\u0430\u0443 \u049b\u04b1\u0440\u0430\u0441\u0442\u044b\u0440\u043c\u0430\u043b\u0430\u0440 \u0441\u04b1\u0440\u0430\u043f\u044b\u043b \u049b\u044b\u0440\u043b\u044b \u0431\u043e\u043b\u044b\u043f \u0442\u0430\u0431\u044b\u043b\u0430\u0434\u044b. \u0416\u0438\u0456 \u0448\u044b\u0493\u0430\u0440\u043b\u044b\u043f \u043c\u044b\u043d\u0430 \u049b\u04b1\u0440\u0430\u0441\u0442\u044b\u0440\u043c\u0430\u043b\u0430\u0440 \u0442\u043e\u043b\u044b\u049b \u0441\u044b\u043d\u0430\u049b\u0442\u0430\u043c\u0430\u043b\u0430\u0443\u0434\u0430\u043d \u04e9\u0442\u043f\u0435\u0433\u0435\u043d. \u049a\u043e\u043b\u0434\u0430\u043d\u0431\u0430 \u0431\u04b1\u0437\u044b\u043b\u0443 \u043c\u04af\u043c\u043a\u0456\u043d \u0436\u04d9\u043d\u0435 \u0430\u049b\u044b\u0440 \u0430\u044f\u0493\u044b\u043d\u0434\u0430 \u0435\u0440\u0435\u043a\u0448\u0435\u043b\u0456\u043a\u0442\u0435\u0440 \u0431\u04af\u0442\u0456\u043d\u0434\u0435\u0439 \u0436\u04b1\u043c\u044b\u0441 \u0456\u0441\u0442\u0435\u043c\u0435\u0443\u0456 \u043c\u04af\u043c\u043a\u0456\u043d.",
|
"DevBuildWarning": "\u0416\u0430\u0441\u0430\u049b\u0442\u0430\u0443 \u049b\u04b1\u0440\u0430\u0441\u0442\u044b\u0440\u043c\u0430\u043b\u0430\u0440 \u0435\u04a3 \u0430\u043b\u0434\u044b\u04a3\u0493\u044b \u049b\u0430\u0442\u0430\u0440\u043b\u044b \u0431\u043e\u043b\u044b\u043f \u0442\u0430\u0431\u044b\u043b\u0430\u0434\u044b. \u0416\u0438\u0456 \u0448\u044b\u0493\u0430\u0440\u043b\u044b\u043f \u043c\u044b\u043d\u0430 \u049b\u04b1\u0440\u0430\u0441\u0442\u044b\u0440\u043c\u0430\u043b\u0430\u0440 \u0442\u043e\u043b\u044b\u049b \u0441\u044b\u043d\u0430\u049b\u0442\u0430\u043c\u0430\u043b\u0430\u0443\u0434\u0430\u043d \u04e9\u0442\u043f\u0435\u0433\u0435\u043d. \u049a\u043e\u043b\u0434\u0430\u043d\u0431\u0430 \u0431\u04b1\u0437\u044b\u043b\u0443 \u043c\u04af\u043c\u043a\u0456\u043d \u0436\u04d9\u043d\u0435 \u0430\u049b\u044b\u0440 \u0430\u044f\u0493\u044b\u043d\u0434\u0430 \u0435\u0440\u0435\u043a\u0448\u0435\u043b\u0456\u043a\u0442\u0435\u0440 \u0431\u04af\u0442\u0456\u043d\u0434\u0435\u0439 \u0436\u04b1\u043c\u044b\u0441 \u0456\u0441\u0442\u0435\u043c\u0435\u0443\u0456 \u043c\u04af\u043c\u043a\u0456\u043d.",
|
||||||
"LabelVideoType": "\u0411\u0435\u0439\u043d\u0435 \u0442\u04af\u0440\u0456:",
|
"LabelVideoType": "\u0411\u0435\u0439\u043d\u0435 \u0442\u04af\u0440\u0456:",
|
||||||
"OptionBluray": "BluRay",
|
"OptionBluray": "BluRay",
|
||||||
"OptionDvd": "DVD",
|
"OptionDvd": "DVD",
|
||||||
|
@ -335,9 +335,9 @@
|
||||||
"TabOthers": "\u0411\u0430\u0441\u049b\u0430\u043b\u0430\u0440",
|
"TabOthers": "\u0411\u0430\u0441\u049b\u0430\u043b\u0430\u0440",
|
||||||
"HeaderExtractChapterImagesFor": "\u0421\u0430\u0445\u043d\u0430 \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440\u0456\u043d \u0448\u044b\u0493\u0430\u0440\u044b\u043f \u0430\u043b\u0443 \u043c\u0430\u043a\u0441\u0430\u0442\u044b:",
|
"HeaderExtractChapterImagesFor": "\u0421\u0430\u0445\u043d\u0430 \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440\u0456\u043d \u0448\u044b\u0493\u0430\u0440\u044b\u043f \u0430\u043b\u0443 \u043c\u0430\u043a\u0441\u0430\u0442\u044b:",
|
||||||
"OptionMovies": "\u0424\u0438\u043b\u044c\u043c\u0434\u0435\u0440",
|
"OptionMovies": "\u0424\u0438\u043b\u044c\u043c\u0434\u0435\u0440",
|
||||||
"OptionEpisodes": "\u042d\u043f\u0438\u0437\u043e\u0434\u0442\u0430\u0440",
|
"OptionEpisodes": "\u0422\u0414-\u044d\u043f\u0438\u0437\u043e\u0434\u0442\u0430\u0440",
|
||||||
"OptionOtherVideos": "\u0411\u0430\u0441\u049b\u0430 \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0440",
|
"OptionOtherVideos": "\u0411\u0430\u0441\u049b\u0430 \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0440",
|
||||||
"TitleMetadata": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a",
|
"TitleMetadata": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440",
|
||||||
"LabelAutomaticUpdates": "\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0442\u044b \u0442\u04af\u0440\u0434\u0435 \u0436\u0430\u04a3\u0430\u0440\u0442\u0443\u043b\u0430\u0440\u0434\u044b \u049b\u043e\u0441\u0443",
|
"LabelAutomaticUpdates": "\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0442\u044b \u0442\u04af\u0440\u0434\u0435 \u0436\u0430\u04a3\u0430\u0440\u0442\u0443\u043b\u0430\u0440\u0434\u044b \u049b\u043e\u0441\u0443",
|
||||||
"LabelAutomaticUpdatesTmdb": "TheMovieDB.org \u043a\u04e9\u0437\u0456\u043d\u0435\u043d \u0430\u0432\u0442\u043e\u0436\u0430\u04a3\u0430\u0440\u0442\u0443\u0434\u044b \u049b\u043e\u0441\u0443",
|
"LabelAutomaticUpdatesTmdb": "TheMovieDB.org \u043a\u04e9\u0437\u0456\u043d\u0435\u043d \u0430\u0432\u0442\u043e\u0436\u0430\u04a3\u0430\u0440\u0442\u0443\u0434\u044b \u049b\u043e\u0441\u0443",
|
||||||
"LabelAutomaticUpdatesTvdb": "TheTVDB.com \u043a\u04e9\u0437\u0456\u043d\u0435\u043d \u0430\u0432\u0442\u043e\u0436\u0430\u04a3\u0430\u0440\u0442\u0443\u0434\u044b \u049b\u043e\u0441\u0443",
|
"LabelAutomaticUpdatesTvdb": "TheTVDB.com \u043a\u04e9\u0437\u0456\u043d\u0435\u043d \u0430\u0432\u0442\u043e\u0436\u0430\u04a3\u0430\u0440\u0442\u0443\u0434\u044b \u049b\u043e\u0441\u0443",
|
||||||
|
@ -366,7 +366,7 @@
|
||||||
"HeaderChannels": "\u0410\u0440\u043d\u0430\u043b\u0430\u0440",
|
"HeaderChannels": "\u0410\u0440\u043d\u0430\u043b\u0430\u0440",
|
||||||
"TabRecordings": "\u0416\u0430\u0437\u0431\u0430\u043b\u0430\u0440",
|
"TabRecordings": "\u0416\u0430\u0437\u0431\u0430\u043b\u0430\u0440",
|
||||||
"TabScheduled": "\u0416\u043e\u0441\u043f\u0430\u0440\u043b\u0430\u0493\u0430\u043d",
|
"TabScheduled": "\u0416\u043e\u0441\u043f\u0430\u0440\u043b\u0430\u0493\u0430\u043d",
|
||||||
"TabSeries": "\u0422\u043e\u043f\u0442\u0430\u043c\u0430",
|
"TabSeries": "\u0422\u043e\u043f\u0442\u0430\u043c\u0430\u043b\u0430\u0440",
|
||||||
"TabFavorites": "\u0422\u0430\u04a3\u0434\u0430\u0443\u043b\u044b\u043b\u0430\u0440",
|
"TabFavorites": "\u0422\u0430\u04a3\u0434\u0430\u0443\u043b\u044b\u043b\u0430\u0440",
|
||||||
"TabMyLibrary": "\u041c\u0435\u043d\u0456\u04a3 \u0442\u0430\u0441\u044b\u0493\u044b\u0448\u0445\u0430\u043d\u0430\u043c",
|
"TabMyLibrary": "\u041c\u0435\u043d\u0456\u04a3 \u0442\u0430\u0441\u044b\u0493\u044b\u0448\u0445\u0430\u043d\u0430\u043c",
|
||||||
"ButtonCancelRecording": "\u0416\u0430\u0437\u0443\u0434\u044b \u0431\u043e\u043b\u0434\u044b\u0440\u043c\u0430\u0443",
|
"ButtonCancelRecording": "\u0416\u0430\u0437\u0443\u0434\u044b \u0431\u043e\u043b\u0434\u044b\u0440\u043c\u0430\u0443",
|
||||||
|
@ -379,9 +379,9 @@
|
||||||
"HeaderUpcomingTV": "\u041a\u04af\u0442\u0456\u043b\u0433\u0435\u043d \u0422\u0414",
|
"HeaderUpcomingTV": "\u041a\u04af\u0442\u0456\u043b\u0433\u0435\u043d \u0422\u0414",
|
||||||
"TabStatus": "\u041a\u04af\u0439",
|
"TabStatus": "\u041a\u04af\u0439",
|
||||||
"TabSettings": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043b\u0435\u0440",
|
"TabSettings": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043b\u0435\u0440",
|
||||||
"ButtonRefreshGuideData": "\u0410\u043d\u044b\u049b\u0442\u0430\u0493\u044b\u0448 \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0456\u043d \u043a\u04e9\u043a\u0435\u0439\u0442\u0435\u0441\u0442\u0456 \u0435\u0442\u0443",
|
"ButtonRefreshGuideData": "\u0410\u043d\u044b\u049b\u0442\u0430\u0493\u044b\u0448 \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0456\u043d \u0436\u0430\u04a3\u0493\u044b\u0440\u0442\u0443",
|
||||||
"ButtonRefresh": "\u041a\u04e9\u043a\u0435\u0439\u0442\u0435\u0441\u0442\u0456 \u0435\u0442\u0443",
|
"ButtonRefresh": "\u0416\u0430\u04a3\u0493\u044b\u0440\u0442\u0443",
|
||||||
"ButtonAdvancedRefresh": "\u041a\u0435\u04a3\u0435\u0439\u0442\u0456\u043b\u0433\u0435\u043d \u043a\u04e9\u043a\u0435\u0439\u0442\u0435\u0441\u0442\u0456 \u0435\u0442\u0443",
|
"ButtonAdvancedRefresh": "\u041a\u0435\u04a3\u0435\u0439\u0442\u0456\u043b\u0433\u0435\u043d \u0436\u0430\u04a3\u0493\u044b\u0440\u0442\u0443",
|
||||||
"OptionPriority": "\u041f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442",
|
"OptionPriority": "\u041f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442",
|
||||||
"OptionRecordOnAllChannels": "\u0411\u0435\u0440\u0456\u043b\u0456\u043c\u0434\u0456 \u0431\u0430\u0440\u043b\u044b\u049b \u0430\u0440\u043d\u0430\u043b\u0430\u0440\u0434\u0430\u043d \u0436\u0430\u0437\u044b\u043f \u0430\u043b\u0443",
|
"OptionRecordOnAllChannels": "\u0411\u0435\u0440\u0456\u043b\u0456\u043c\u0434\u0456 \u0431\u0430\u0440\u043b\u044b\u049b \u0430\u0440\u043d\u0430\u043b\u0430\u0440\u0434\u0430\u043d \u0436\u0430\u0437\u044b\u043f \u0430\u043b\u0443",
|
||||||
"OptionRecordAnytime": "\u0411\u0435\u0440\u0456\u043b\u0456\u043c\u0434\u0456 \u04d9\u0440 \u0443\u0430\u049b\u044b\u0442\u0442\u0430 \u0436\u0430\u0437\u044b\u043f \u0430\u043b\u0443",
|
"OptionRecordAnytime": "\u0411\u0435\u0440\u0456\u043b\u0456\u043c\u0434\u0456 \u04d9\u0440 \u0443\u0430\u049b\u044b\u0442\u0442\u0430 \u0436\u0430\u0437\u044b\u043f \u0430\u043b\u0443",
|
||||||
|
@ -510,7 +510,7 @@
|
||||||
"HeaderLinks": "\u0421\u0456\u043b\u0442\u0435\u043c\u0435\u043b\u0435\u0440",
|
"HeaderLinks": "\u0421\u0456\u043b\u0442\u0435\u043c\u0435\u043b\u0435\u0440",
|
||||||
"HeaderSystemPaths": "\u0416\u04af\u0439\u0435\u043b\u0456\u043a \u0436\u043e\u043b\u0434\u0430\u0440",
|
"HeaderSystemPaths": "\u0416\u04af\u0439\u0435\u043b\u0456\u043a \u0436\u043e\u043b\u0434\u0430\u0440",
|
||||||
"LinkCommunity": "\u049a\u0430\u0443\u044b\u043c\u0434\u0430\u0441\u0442\u044b\u049b",
|
"LinkCommunity": "\u049a\u0430\u0443\u044b\u043c\u0434\u0430\u0441\u0442\u044b\u049b",
|
||||||
"LinkGithub": "Github \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439\u0456",
|
"LinkGithub": "GitHub",
|
||||||
"LinkApi": "API",
|
"LinkApi": "API",
|
||||||
"LinkApiDocumentation": "API \u049b\u04b1\u0436\u0430\u0442\u0442\u0430\u043c\u0430\u0441\u044b",
|
"LinkApiDocumentation": "API \u049b\u04b1\u0436\u0430\u0442\u0442\u0430\u043c\u0430\u0441\u044b",
|
||||||
"LabelFriendlyServerName": "\u0421\u0435\u0440\u0432\u0435\u0440\u0434\u0456\u04a3 \u043e\u04a3\u0430\u0439 \u0430\u0442\u044b:",
|
"LabelFriendlyServerName": "\u0421\u0435\u0440\u0432\u0435\u0440\u0434\u0456\u04a3 \u043e\u04a3\u0430\u0439 \u0430\u0442\u044b:",
|
||||||
|
@ -650,7 +650,7 @@
|
||||||
"HeaderRequireManualLoginHelp": "\u0410\u0436\u044b\u0440\u0430\u0442\u044b\u043b\u0493\u0430\u043d\u0434\u0430, \u043a\u043b\u0438\u0435\u043d\u0442\u0442\u0435\u0440 \u043f\u0430\u0439\u0434\u043b\u0430\u043d\u0443\u0448\u044b\u043b\u0430\u0440\u0434\u044b \u043a\u04e9\u0440\u043d\u0435\u043a\u0456 \u0442\u0430\u04a3\u0434\u0430\u0443\u044b \u0431\u0430\u0440 \u043a\u0456\u0440\u0443 \u044d\u043a\u0440\u0430\u043d\u044b\u043d \u043a\u04e9\u0440\u0441\u0435\u0442\u0443\u0456 \u043c\u04af\u043c\u043a\u0456\u043d.",
|
"HeaderRequireManualLoginHelp": "\u0410\u0436\u044b\u0440\u0430\u0442\u044b\u043b\u0493\u0430\u043d\u0434\u0430, \u043a\u043b\u0438\u0435\u043d\u0442\u0442\u0435\u0440 \u043f\u0430\u0439\u0434\u043b\u0430\u043d\u0443\u0448\u044b\u043b\u0430\u0440\u0434\u044b \u043a\u04e9\u0440\u043d\u0435\u043a\u0456 \u0442\u0430\u04a3\u0434\u0430\u0443\u044b \u0431\u0430\u0440 \u043a\u0456\u0440\u0443 \u044d\u043a\u0440\u0430\u043d\u044b\u043d \u043a\u04e9\u0440\u0441\u0435\u0442\u0443\u0456 \u043c\u04af\u043c\u043a\u0456\u043d.",
|
||||||
"OptionOtherApps": "\u0411\u0430\u0441\u049b\u0430 \u049b\u043e\u043b\u0434\u0430\u043d\u0431\u0430\u043b\u0430\u0440",
|
"OptionOtherApps": "\u0411\u0430\u0441\u049b\u0430 \u049b\u043e\u043b\u0434\u0430\u043d\u0431\u0430\u043b\u0430\u0440",
|
||||||
"OptionMobileApps": "\u04b0\u0442\u049b\u044b\u0440 \u049b\u043e\u043b\u0434\u0430\u043d\u0431\u0430\u043b\u0430\u0440",
|
"OptionMobileApps": "\u04b0\u0442\u049b\u044b\u0440 \u049b\u043e\u043b\u0434\u0430\u043d\u0431\u0430\u043b\u0430\u0440",
|
||||||
"HeaderNotificationList": "\u0416\u0456\u0431\u0435\u0440\u0443 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043b\u0435\u0440\u0456\u043d \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u043b\u0430\u0443 \u04af\u0448\u0456\u043d \u0445\u0430\u0431\u0430\u0440\u043b\u0430\u043d\u0434\u044b\u0440\u043c\u0430\u043d\u044b \u043d\u04b1\u049b\u044b\u04a3\u044b\u0437.",
|
"HeaderNotificationList": "\u0416\u0456\u0431\u0435\u0440\u0443 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043b\u0435\u0440\u0456\u043d \u0442\u0435\u04a3\u0448\u0435\u0443 \u04af\u0448\u0456\u043d \u0445\u0430\u0431\u0430\u0440\u043b\u0430\u043d\u0434\u044b\u0440\u043c\u0430\u043d\u044b \u043d\u04b1\u049b\u044b\u04a3\u044b\u0437.",
|
||||||
"NotificationOptionApplicationUpdateAvailable": "\u049a\u043e\u043b\u0434\u0430\u043d\u0431\u0430 \u0436\u0430\u04a3\u0430\u0440\u0442\u0443\u044b \u049b\u043e\u043b \u0436\u0435\u0442\u0456\u043c\u0434\u0456",
|
"NotificationOptionApplicationUpdateAvailable": "\u049a\u043e\u043b\u0434\u0430\u043d\u0431\u0430 \u0436\u0430\u04a3\u0430\u0440\u0442\u0443\u044b \u049b\u043e\u043b \u0436\u0435\u0442\u0456\u043c\u0434\u0456",
|
||||||
"NotificationOptionApplicationUpdateInstalled": "\u049a\u043e\u043b\u0434\u0430\u043d\u0431\u0430 \u0436\u0430\u04a3\u0430\u0440\u0442\u0443\u044b \u043e\u0440\u043d\u0430\u0442\u044b\u043b\u0434\u044b",
|
"NotificationOptionApplicationUpdateInstalled": "\u049a\u043e\u043b\u0434\u0430\u043d\u0431\u0430 \u0436\u0430\u04a3\u0430\u0440\u0442\u0443\u044b \u043e\u0440\u043d\u0430\u0442\u044b\u043b\u0434\u044b",
|
||||||
"NotificationOptionPluginUpdateInstalled": "\u041f\u043b\u0430\u0433\u0438\u043d \u0436\u0430\u04a3\u0430\u0440\u0442\u0443\u044b \u043e\u0440\u043d\u0430\u0442\u044b\u043b\u0434\u044b",
|
"NotificationOptionPluginUpdateInstalled": "\u041f\u043b\u0430\u0433\u0438\u043d \u0436\u0430\u04a3\u0430\u0440\u0442\u0443\u044b \u043e\u0440\u043d\u0430\u0442\u044b\u043b\u0434\u044b",
|
||||||
|
@ -736,9 +736,9 @@
|
||||||
"HeaderDirectPlayProfile": "\u0422\u0456\u043a\u0435\u043b\u0435\u0439 \u043e\u0439\u043d\u0430\u0442\u0443 \u043f\u0440\u043e\u0444\u0430\u0439\u043b\u044b",
|
"HeaderDirectPlayProfile": "\u0422\u0456\u043a\u0435\u043b\u0435\u0439 \u043e\u0439\u043d\u0430\u0442\u0443 \u043f\u0440\u043e\u0444\u0430\u0439\u043b\u044b",
|
||||||
"HeaderTranscodingProfile": "\u049a\u0430\u0439\u0442\u0430 \u043a\u043e\u0434\u0442\u0430\u0443 \u043f\u0440\u043e\u0444\u0430\u0439\u043b\u044b",
|
"HeaderTranscodingProfile": "\u049a\u0430\u0439\u0442\u0430 \u043a\u043e\u0434\u0442\u0430\u0443 \u043f\u0440\u043e\u0444\u0430\u0439\u043b\u044b",
|
||||||
"HeaderCodecProfile": "\u041a\u043e\u0434\u0435\u043a \u043f\u0440\u043e\u0444\u0430\u0439\u043b\u044b",
|
"HeaderCodecProfile": "\u041a\u043e\u0434\u0435\u043a \u043f\u0440\u043e\u0444\u0430\u0439\u043b\u044b",
|
||||||
"HeaderCodecProfileHelp": "\u041a\u043e\u0434\u0435\u043a \u043f\u0440\u043e\u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b \u043d\u0430\u049b\u0442\u044b \u043a\u043e\u0434\u0435\u043a\u0442\u0435\u0440 \u0430\u0440\u049b\u044b\u043b\u044b \u043e\u0439\u043d\u0430\u0442\u049b\u0430\u043d\u0434\u0430 \u049b\u04b1\u0440\u044b\u043b\u0493\u044b\u043d\u044b\u04a3 \u0448\u0435\u043a\u0442\u0435\u0443\u043b\u0435\u0440\u0456\u043d \u043a\u04e9\u0440\u0441\u0435\u0442\u0435\u0434\u0456. \u0415\u0433\u0435\u0440 \u0448\u0435\u043a\u0442\u0435\u0443 \u049b\u043e\u043b\u0434\u0430\u043d\u044b\u043b\u0441\u0430, \u0441\u043e\u043d\u0434\u0430 \u043a\u043e\u0434\u0435\u043a \u0442\u0456\u043a\u0435\u043b\u0435\u0439 \u043e\u0439\u043d\u0430\u0442\u0443 \u04af\u0448\u0456\u043d \u0442\u0435\u04a3\u0448\u0435\u043b\u0441\u0435\u0434\u0435 \u0442\u0430\u0441\u044b\u0493\u044b\u0448\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u049b\u0430\u0439\u0442\u0430 \u043a\u043e\u0434\u0442\u0430\u043b\u044b\u043d\u0430\u0434\u044b.",
|
"HeaderCodecProfileHelp": "\u041a\u043e\u0434\u0435\u043a \u043f\u0440\u043e\u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b \u043d\u0430\u049b\u0442\u044b \u043a\u043e\u0434\u0435\u043a\u0442\u0435\u0440 \u0430\u0440\u049b\u044b\u043b\u044b \u043e\u0439\u043d\u0430\u0442\u049b\u0430\u043d\u0434\u0430 \u049b\u04b1\u0440\u044b\u043b\u0493\u044b\u043d\u044b\u04a3 \u0448\u0435\u043a\u0442\u0435\u0443\u043b\u0435\u0440\u0456\u043d \u043a\u04e9\u0440\u0441\u0435\u0442\u0435\u0434\u0456. \u0415\u0433\u0435\u0440 \u0448\u0435\u043a\u0442\u0435\u0443 \u049b\u043e\u043b\u0434\u0430\u043d\u044b\u043b\u0441\u0430, \u0441\u043e\u043d\u0434\u0430 \u043a\u043e\u0434\u0435\u043a \u0442\u0456\u043a\u0435\u043b\u0435\u0439 \u043e\u0439\u043d\u0430\u0442\u0443 \u04af\u0448\u0456\u043d \u0442\u0435\u04a3\u0448\u0435\u043b\u0441\u0435 \u0434\u0435 \u0442\u0430\u0441\u044b\u0493\u044b\u0448\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u049b\u0430\u0439\u0442\u0430 \u043a\u043e\u0434\u0442\u0430\u043b\u044b\u043d\u0430\u0434\u044b.",
|
||||||
"HeaderContainerProfile": "\u041a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u043f\u0440\u043e\u0444\u0430\u0439\u043b\u044b",
|
"HeaderContainerProfile": "\u041a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u043f\u0440\u043e\u0444\u0430\u0439\u043b\u044b",
|
||||||
"HeaderContainerProfileHelp": "\u041a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u043f\u0440\u043e\u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b \u043d\u0430\u049b\u0442\u044b \u043f\u0456\u0448\u0456\u043c\u0434\u0435\u0440 \u0430\u0440\u049b\u044b\u043b\u044b \u043e\u0439\u043d\u0430\u0442\u049b\u0430\u043d\u0434\u0430 \u049b\u04b1\u0440\u044b\u043b\u0493\u044b\u043d\u044b\u04a3 \u0448\u0435\u043a\u0442\u0435\u0443\u043b\u0435\u0440\u0456\u043d \u043a\u04e9\u0440\u0441\u0435\u0442\u0435\u0434\u0456. \u0415\u0433\u0435\u0440 \u0448\u0435\u043a\u0442\u0435\u0443 \u049b\u043e\u043b\u0434\u0430\u043d\u044b\u043b\u0441\u0430, \u0441\u043e\u043d\u0434\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0442\u0456\u043a\u0435\u043b\u0435\u0439 \u043e\u0439\u043d\u0430\u0442\u0443 \u04af\u0448\u0456\u043d \u0442\u0435\u04a3\u0448\u0435\u043b\u0441\u0435\u0434\u0435 \u0442\u0430\u0441\u044b\u0493\u044b\u0448\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u049b\u0430\u0439\u0442\u0430 \u043a\u043e\u0434\u0442\u0430\u043b\u044b\u043d\u0430\u0434\u044b.",
|
"HeaderContainerProfileHelp": "\u041a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u043f\u0440\u043e\u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b \u043d\u0430\u049b\u0442\u044b \u043f\u0456\u0448\u0456\u043c\u0434\u0435\u0440 \u0430\u0440\u049b\u044b\u043b\u044b \u043e\u0439\u043d\u0430\u0442\u049b\u0430\u043d\u0434\u0430 \u049b\u04b1\u0440\u044b\u043b\u0493\u044b\u043d\u044b\u04a3 \u0448\u0435\u043a\u0442\u0435\u0443\u043b\u0435\u0440\u0456\u043d \u043a\u04e9\u0440\u0441\u0435\u0442\u0435\u0434\u0456. \u0415\u0433\u0435\u0440 \u0448\u0435\u043a\u0442\u0435\u0443 \u049b\u043e\u043b\u0434\u0430\u043d\u044b\u043b\u0441\u0430, \u0441\u043e\u043d\u0434\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0442\u0456\u043a\u0435\u043b\u0435\u0439 \u043e\u0439\u043d\u0430\u0442\u0443 \u04af\u0448\u0456\u043d \u0442\u0435\u04a3\u0448\u0435\u043b\u0441\u0435 \u0434\u0435 \u0442\u0430\u0441\u044b\u0493\u044b\u0448\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u049b\u0430\u0439\u0442\u0430 \u043a\u043e\u0434\u0442\u0430\u043b\u044b\u043d\u0430\u0434\u044b.",
|
||||||
"OptionProfileVideo": "\u0411\u0435\u0439\u043d\u0435",
|
"OptionProfileVideo": "\u0411\u0435\u0439\u043d\u0435",
|
||||||
"OptionProfileAudio": "\u0414\u044b\u0431\u044b\u0441",
|
"OptionProfileAudio": "\u0414\u044b\u0431\u044b\u0441",
|
||||||
"OptionProfileVideoAudio": "\u0411\u0435\u0439\u043d\u0435 \u0414\u044b\u0431\u044b\u0441",
|
"OptionProfileVideoAudio": "\u0411\u0435\u0439\u043d\u0435 \u0414\u044b\u0431\u044b\u0441",
|
||||||
|
@ -837,8 +837,8 @@
|
||||||
"PluginTabMediaBrowserTheater": "MB Theater",
|
"PluginTabMediaBrowserTheater": "MB Theater",
|
||||||
"LabelEpisodeNamePlain": "\u042d\u043f\u0438\u0437\u043e\u0434 \u0430\u0442\u0430\u0443\u044b",
|
"LabelEpisodeNamePlain": "\u042d\u043f\u0438\u0437\u043e\u0434 \u0430\u0442\u0430\u0443\u044b",
|
||||||
"LabelSeriesNamePlain": "\u0422\u043e\u043f\u0442\u0430\u043c\u0430 \u0430\u0442\u0430\u0443\u044b",
|
"LabelSeriesNamePlain": "\u0422\u043e\u043f\u0442\u0430\u043c\u0430 \u0430\u0442\u0430\u0443\u044b",
|
||||||
"ValueSeriesNamePeriod": "\u0422\u043e\u043f\u0442\u0430\u043c\u0430.\u0430\u0442\u0430\u0443",
|
"ValueSeriesNamePeriod": "\u0422\u043e\u043f\u0442\u0430\u043c\u0430.\u0430\u0442\u0430\u0443\u044b",
|
||||||
"ValueSeriesNameUnderscore": "\u0422\u043e\u043f\u0442\u0430\u043c\u0430_\u0430\u0442\u0430\u0443",
|
"ValueSeriesNameUnderscore": "\u0422\u043e\u043f\u0442\u0430\u043c\u0430_\u0430\u0442\u0430\u0443\u044b",
|
||||||
"ValueEpisodeNamePeriod": "\u042d\u043f\u0438\u0437\u043e\u0434.\u0430\u0442\u044b",
|
"ValueEpisodeNamePeriod": "\u042d\u043f\u0438\u0437\u043e\u0434.\u0430\u0442\u044b",
|
||||||
"ValueEpisodeNameUnderscore": "\u042d\u043f\u0438\u0437\u043e\u0434_\u0430\u0442\u044b",
|
"ValueEpisodeNameUnderscore": "\u042d\u043f\u0438\u0437\u043e\u0434_\u0430\u0442\u044b",
|
||||||
"LabelSeasonNumberPlain": "\u041c\u0430\u0443\u0441\u044b\u043c \u043d\u04e9\u043c\u0456\u0440\u0456",
|
"LabelSeasonNumberPlain": "\u041c\u0430\u0443\u0441\u044b\u043c \u043d\u04e9\u043c\u0456\u0440\u0456",
|
||||||
|
@ -950,7 +950,7 @@
|
||||||
"LabelProtocolInfo": "\u041f\u0440\u043e\u0442\u043e\u049b\u043e\u043b \u0442\u0443\u0440\u0430\u043b\u044b:",
|
"LabelProtocolInfo": "\u041f\u0440\u043e\u0442\u043e\u049b\u043e\u043b \u0442\u0443\u0440\u0430\u043b\u044b:",
|
||||||
"LabelProtocolInfoHelp": "\u0411\u04b1\u043b \u043c\u04d9\u043d \u049b\u04b1\u0440\u044b\u043b\u0493\u044b\u043d\u044b\u04a3 GetProtocolInfo \u0441\u04b1\u0440\u0430\u043d\u044b\u0441\u0442\u0430\u0440\u044b\u043d\u0430 \u0436\u0430\u0443\u0430\u043f \u0431\u0435\u0440\u0433\u0435\u043d\u0434\u0435 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u043b\u0430\u0434\u044b.",
|
"LabelProtocolInfoHelp": "\u0411\u04b1\u043b \u043c\u04d9\u043d \u049b\u04b1\u0440\u044b\u043b\u0493\u044b\u043d\u044b\u04a3 GetProtocolInfo \u0441\u04b1\u0440\u0430\u043d\u044b\u0441\u0442\u0430\u0440\u044b\u043d\u0430 \u0436\u0430\u0443\u0430\u043f \u0431\u0435\u0440\u0433\u0435\u043d\u0434\u0435 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u043b\u0430\u0434\u044b.",
|
||||||
"TabNfo": "NFO-\u0444\u0430\u0439\u043b\u0434\u0430\u0440",
|
"TabNfo": "NFO-\u0444\u0430\u0439\u043b\u0434\u0430\u0440",
|
||||||
"HeaderKodiMetadataHelp": "Media Browser \u0431\u0430\u0493\u0434\u0430\u0440\u043b\u0430\u043c\u0430\u0441\u044b \u043c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0442\u0435\u0440\u0434\u0456\u04a3 NFO-\u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b \u049b\u043e\u043b\u0434\u0430\u0443\u044b\u043d \u049b\u0430\u043c\u0442\u0438\u0434\u044b. NFO-\u043c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0456\u043d \u049b\u043e\u0441\u0443 \u043d\u0435\u043c\u0435\u0441\u0435 \u04e9\u0448\u0456\u0440\u0443 \u04af\u0448\u0456\u043d \u049a\u044b\u0437\u043c\u0435\u0442\u0442\u0435\u0440 \u049b\u043e\u0439\u044b\u043d\u0434\u044b\u0441\u044b\u043d\u0434\u0430\u0493\u044b \u0442\u0430\u0441\u044b\u0493\u044b\u0448 \u0442\u04af\u0440\u043b\u0435\u0440\u0456\u043d\u0435 \u0430\u0440\u043d\u0430\u043b\u0493\u0430\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043b\u0435\u0440\u0434\u0456 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u04a3\u044b\u0437.",
|
"HeaderKodiMetadataHelp": "Media Browser \u0431\u0430\u0493\u0434\u0430\u0440\u043b\u0430\u043c\u0430\u0441\u044b \u043c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0442\u0435\u0440\u0434\u0456\u04a3 NFO-\u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b \u049b\u043e\u043b\u0434\u0430\u0443\u044b\u043d \u049b\u0430\u043c\u0442\u0438\u0434\u044b. NFO-\u043c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0456\u043d \u049b\u043e\u0441\u0443 \u043d\u0435\u043c\u0435\u0441\u0435 \u04e9\u0448\u0456\u0440\u0443 \u04af\u0448\u0456\u043d \u0442\u0430\u0441\u044b\u0493\u044b\u0448 \u0442\u04af\u0440\u043b\u0435\u0440\u0456\u043d\u0435 \u0430\u0440\u043d\u0430\u043b\u0493\u0430\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043b\u0435\u0440\u0434\u0456 \u0442\u0435\u04a3\u0448\u0435\u0443\u0433\u0435 \u049a\u044b\u0437\u043c\u0435\u0442\u0442\u0435\u0440 \u049b\u043e\u0439\u044b\u043d\u0434\u044b\u0441\u044b\u043d \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u04a3\u044b\u0437.",
|
||||||
"LabelKodiMetadataUser": "NFO-\u0444\u0430\u0439\u043b\u0434\u0430\u0440\u0434\u044b \u043c\u044b\u043d\u0430 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b \u049b\u0430\u0440\u0430\u0443 \u043a\u04af\u0439\u0456\u043c\u0435\u043d \u04af\u043d\u0434\u0435\u0441\u0442\u0456\u0440\u0443:",
|
"LabelKodiMetadataUser": "NFO-\u0444\u0430\u0439\u043b\u0434\u0430\u0440\u0434\u044b \u043c\u044b\u043d\u0430 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b \u049b\u0430\u0440\u0430\u0443 \u043a\u04af\u0439\u0456\u043c\u0435\u043d \u04af\u043d\u0434\u0435\u0441\u0442\u0456\u0440\u0443:",
|
||||||
"LabelKodiMetadataUserHelp": "\u049a\u0430\u0440\u0430\u0443 \u043a\u04af\u0439\u0434\u0456 Media Browser \u0436\u04d9\u043d\u0435 NFO-\u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b \u0430\u0440\u0430\u0441\u044b\u043d\u0434\u0430 \u04af\u043d\u0434\u0435\u0441\u0442\u0456\u0440\u0456\u043f \u0442\u04b1\u0440\u0443 \u04af\u0448\u0456\u043d \u049b\u043e\u0441\u044b\u04a3\u044b\u0437.",
|
"LabelKodiMetadataUserHelp": "\u049a\u0430\u0440\u0430\u0443 \u043a\u04af\u0439\u0434\u0456 Media Browser \u0436\u04d9\u043d\u0435 NFO-\u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b \u0430\u0440\u0430\u0441\u044b\u043d\u0434\u0430 \u04af\u043d\u0434\u0435\u0441\u0442\u0456\u0440\u0456\u043f \u0442\u04b1\u0440\u0443 \u04af\u0448\u0456\u043d \u049b\u043e\u0441\u044b\u04a3\u044b\u0437.",
|
||||||
"LabelKodiMetadataDateFormat": "\u0428\u044b\u0493\u0430\u0440\u0443 \u043a\u04af\u043d\u0456\u043d\u0456\u04a3 \u043f\u0456\u0448\u0456\u043c\u0456:",
|
"LabelKodiMetadataDateFormat": "\u0428\u044b\u0493\u0430\u0440\u0443 \u043a\u04af\u043d\u0456\u043d\u0456\u04a3 \u043f\u0456\u0448\u0456\u043c\u0456:",
|
||||||
|
@ -985,15 +985,15 @@
|
||||||
"LabelTranscodingTemporaryFiles": "\u049a\u0430\u0439\u0442\u0430 \u043a\u043e\u0434\u0442\u0430\u0443\u044b\u043d\u044b\u04a3 \u0443\u0430\u049b\u044b\u0442\u0448\u0430 \u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b:",
|
"LabelTranscodingTemporaryFiles": "\u049a\u0430\u0439\u0442\u0430 \u043a\u043e\u0434\u0442\u0430\u0443\u044b\u043d\u044b\u04a3 \u0443\u0430\u049b\u044b\u0442\u0448\u0430 \u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b:",
|
||||||
"HeaderLatestMusic": "\u0415\u04a3 \u043a\u0435\u0439\u0456\u043d\u0433\u0456 \u043c\u0443\u0437\u044b\u043a\u0430",
|
"HeaderLatestMusic": "\u0415\u04a3 \u043a\u0435\u0439\u0456\u043d\u0433\u0456 \u043c\u0443\u0437\u044b\u043a\u0430",
|
||||||
"HeaderBranding": "\u0411\u0435\u0437\u0435\u043d\u0434\u0456\u0440\u0443",
|
"HeaderBranding": "\u0411\u0435\u0437\u0435\u043d\u0434\u0456\u0440\u0443",
|
||||||
"HeaderApiKeys": "API \u043a\u0456\u043b\u0442\u0442\u0435\u0440\u0456",
|
"HeaderApiKeys": "API-\u043a\u0456\u043b\u0442\u0442\u0435\u0440",
|
||||||
"HeaderApiKeysHelp": "\u0421\u044b\u0440\u0442\u049b\u044b \u049b\u043e\u043b\u0434\u0430\u043d\u0431\u0430\u043b\u0430\u0440 Media Browser \u0431\u0430\u0493\u0434\u0430\u0440\u043b\u0430\u043c\u0430\u0441\u044b\u043c\u0435\u043d \u049b\u0430\u0442\u044b\u043d\u0430\u0441\u0443 \u04af\u0448\u0456\u043d API \u043a\u0456\u043b\u0442\u0456 \u049b\u0430\u0436\u0435\u0442 \u0435\u0442\u0435\u0434\u0456. \u041a\u0456\u043b\u0442\u0442\u0435\u0440 Media Browser \u0442\u0456\u0440\u043a\u0435\u043b\u0433\u0456\u0441\u0456\u043d\u0435 \u043a\u0456\u0440\u0433\u0435\u043d\u0434\u0435, \u043d\u0435\u043c\u0435\u0441\u0435 \u043a\u0456\u043b\u0442\u0442\u0456 \u049b\u043e\u043b\u0434\u0430\u043d\u0431\u0430\u0493\u0430 \u049b\u043e\u043b\u043c\u0435\u043d \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0456\u043b\u0433\u0435\u043d\u0434\u0435 \u0431\u0435\u0440\u0456\u043b\u0435\u0434\u0456.",
|
"HeaderApiKeysHelp": "\u0421\u044b\u0440\u0442\u049b\u044b \u049b\u043e\u043b\u0434\u0430\u043d\u0431\u0430\u043b\u0430\u0440 Media Browser \u0431\u0430\u0493\u0434\u0430\u0440\u043b\u0430\u043c\u0430\u0441\u044b\u043c\u0435\u043d \u049b\u0430\u0442\u044b\u043d\u0430\u0441\u0443 \u04af\u0448\u0456\u043d API \u043a\u0456\u043b\u0442\u0456 \u049b\u0430\u0436\u0435\u0442 \u0435\u0442\u0435\u0434\u0456. \u041a\u0456\u043b\u0442\u0442\u0435\u0440 Media Browser \u0442\u0456\u0440\u043a\u0435\u043b\u0433\u0456\u0441\u0456\u043d\u0435 \u043a\u0456\u0440\u0433\u0435\u043d\u0434\u0435, \u043d\u0435\u043c\u0435\u0441\u0435 \u043a\u0456\u043b\u0442\u0442\u0456 \u049b\u043e\u043b\u0434\u0430\u043d\u0431\u0430\u0493\u0430 \u049b\u043e\u043b\u043c\u0435\u043d \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0456\u043b\u0433\u0435\u043d\u0434\u0435 \u0431\u0435\u0440\u0456\u043b\u0435\u0434\u0456.",
|
||||||
"HeaderApiKey": "API \u043a\u0456\u043b\u0442\u0456",
|
"HeaderApiKey": "API-\u043a\u0456\u043b\u0442",
|
||||||
"HeaderApp": "\u049a\u043e\u043b\u0434\u0430\u043d\u0431\u0430",
|
"HeaderApp": "\u049a\u043e\u043b\u0434\u0430\u043d\u0431\u0430",
|
||||||
"HeaderDevice": "\u049a\u04b1\u0440\u044b\u043b\u0493\u044b",
|
"HeaderDevice": "\u049a\u04b1\u0440\u044b\u043b\u0493\u044b",
|
||||||
"HeaderUser": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b",
|
"HeaderUser": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b",
|
||||||
"HeaderDateIssued": "\u0411\u0435\u0440\u0456\u043b\u0433\u0435\u043d \u043a\u04af\u043d\u0456",
|
"HeaderDateIssued": "\u0411\u0435\u0440\u0456\u043b\u0433\u0435\u043d \u043a\u04af\u043d\u0456",
|
||||||
"LabelChapterName": "{0}-\u0441\u0430\u0445\u043d\u0430",
|
"LabelChapterName": "{0}-\u0441\u0430\u0445\u043d\u0430",
|
||||||
"HeaderNewApiKey": "\u0416\u0430\u04a3\u0430 API \u043a\u0456\u043b\u0442\u0456",
|
"HeaderNewApiKey": "\u0416\u0430\u04a3\u0430 API-\u043a\u0456\u043b\u0442",
|
||||||
"LabelAppName": "\u049a\u043e\u043b\u0434\u0430\u043d\u0431\u0430 \u0430\u0442\u044b",
|
"LabelAppName": "\u049a\u043e\u043b\u0434\u0430\u043d\u0431\u0430 \u0430\u0442\u044b",
|
||||||
"LabelAppNameExample": "\u041c\u044b\u0441\u0430\u043b\u044b: Sickbeard, NzbDrone",
|
"LabelAppNameExample": "\u041c\u044b\u0441\u0430\u043b\u044b: Sickbeard, NzbDrone",
|
||||||
"HeaderNewApiKeyHelp": "Media Browser \u0431\u0430\u0493\u0434\u0430\u0440\u043b\u0430\u043c\u0430\u0441\u044b\u043c\u0435\u043d \u049b\u0430\u0442\u044b\u043d\u0430\u0441\u0443 \u049b\u04b1\u049b\u044b\u049b\u044b\u0493\u044b \u04af\u0448\u0456\u043d \u049b\u043e\u043b\u0434\u0430\u043d\u0431\u0430\u0493\u0430 \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0443.",
|
"HeaderNewApiKeyHelp": "Media Browser \u0431\u0430\u0493\u0434\u0430\u0440\u043b\u0430\u043c\u0430\u0441\u044b\u043c\u0435\u043d \u049b\u0430\u0442\u044b\u043d\u0430\u0441\u0443 \u049b\u04b1\u049b\u044b\u049b\u044b\u0493\u044b \u04af\u0448\u0456\u043d \u049b\u043e\u043b\u0434\u0430\u043d\u0431\u0430\u0493\u0430 \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0443.",
|
||||||
|
@ -1059,14 +1059,14 @@
|
||||||
"OptionSeason0": "0-\u043c\u0430\u0443\u0441\u044b\u043c",
|
"OptionSeason0": "0-\u043c\u0430\u0443\u0441\u044b\u043c",
|
||||||
"LabelReport": "\u0411\u0430\u044f\u043d\u0430\u0442:",
|
"LabelReport": "\u0411\u0430\u044f\u043d\u0430\u0442:",
|
||||||
"OptionReportSongs": "\u04d8\u0443\u0435\u043d\u0434\u0435\u0440",
|
"OptionReportSongs": "\u04d8\u0443\u0435\u043d\u0434\u0435\u0440",
|
||||||
"OptionReportSeries": "\u0422\u043e\u043f\u0442\u0430\u043c\u0430\u043b\u0430\u0440",
|
"OptionReportSeries": "\u0422\u0414-\u0442\u043e\u043f\u0442\u0430\u043c\u0430\u043b\u0430\u0440",
|
||||||
"OptionReportSeasons": "\u041c\u0430\u0443\u0441\u044b\u043c\u0434\u0430\u0440",
|
"OptionReportSeasons": "\u0422\u0414-\u043c\u0430\u0443\u0441\u044b\u043c\u0434\u0430\u0440",
|
||||||
"OptionReportTrailers": "\u0422\u0440\u0435\u0439\u043b\u0435\u0440\u043b\u0435\u0440",
|
"OptionReportTrailers": "\u0422\u0440\u0435\u0439\u043b\u0435\u0440\u043b\u0435\u0440",
|
||||||
"OptionReportMusicVideos": "\u041c\u0443\u0437\u044b\u043a\u0430\u043b\u044b\u049b \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0440",
|
"OptionReportMusicVideos": "\u041c\u0443\u0437\u044b\u043a\u0430\u043b\u044b\u049b \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0440",
|
||||||
"OptionReportMovies": "\u0424\u0438\u043b\u044c\u043c\u0434\u0435\u0440",
|
"OptionReportMovies": "\u0424\u0438\u043b\u044c\u043c\u0434\u0435\u0440",
|
||||||
"OptionReportHomeVideos": "\u04ae\u0439 \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0440\u0456",
|
"OptionReportHomeVideos": "\u04ae\u0439 \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0440\u0456",
|
||||||
"OptionReportGames": "\u041e\u0439\u044b\u043d\u0434\u0430\u0440",
|
"OptionReportGames": "\u041e\u0439\u044b\u043d\u0434\u0430\u0440",
|
||||||
"OptionReportEpisodes": "\u042d\u043f\u0438\u0437\u043e\u0434\u0442\u0430\u0440",
|
"OptionReportEpisodes": "\u0422\u0414-\u044d\u043f\u0438\u0437\u043e\u0434\u0442\u0430\u0440",
|
||||||
"OptionReportCollections": "\u0416\u0438\u044b\u043d\u0442\u044b\u049b\u0442\u0430\u0440",
|
"OptionReportCollections": "\u0416\u0438\u044b\u043d\u0442\u044b\u049b\u0442\u0430\u0440",
|
||||||
"OptionReportBooks": "\u041a\u0456\u0442\u0430\u043f\u0442\u0430\u0440",
|
"OptionReportBooks": "\u041a\u0456\u0442\u0430\u043f\u0442\u0430\u0440",
|
||||||
"OptionReportArtists": "\u041e\u0440\u044b\u043d\u0434\u0430\u0443\u0448\u044b\u043b\u0430\u0440",
|
"OptionReportArtists": "\u041e\u0440\u044b\u043d\u0434\u0430\u0443\u0448\u044b\u043b\u0430\u0440",
|
||||||
|
@ -1092,15 +1092,16 @@
|
||||||
"SubtitleDownloadFailureForItem": "\u0421\u0443\u0431\u0442\u0438\u0442\u0440\u043b\u0435\u0440 {0} \u04af\u0448\u0456\u043d \u0436\u04af\u043a\u0442\u0435\u043f \u0430\u043b\u044b\u043d\u0443\u044b \u0441\u04d9\u0442\u0441\u0456\u0437",
|
"SubtitleDownloadFailureForItem": "\u0421\u0443\u0431\u0442\u0438\u0442\u0440\u043b\u0435\u0440 {0} \u04af\u0448\u0456\u043d \u0436\u04af\u043a\u0442\u0435\u043f \u0430\u043b\u044b\u043d\u0443\u044b \u0441\u04d9\u0442\u0441\u0456\u0437",
|
||||||
"LabelRunningTimeValue": "\u0406\u0441\u043a\u0435 \u049b\u043e\u0441\u044b\u043b\u0443 \u0443\u0430\u049b\u044b\u0442\u044b: {0}",
|
"LabelRunningTimeValue": "\u0406\u0441\u043a\u0435 \u049b\u043e\u0441\u044b\u043b\u0443 \u0443\u0430\u049b\u044b\u0442\u044b: {0}",
|
||||||
"LabelIpAddressValue": "IP \u043c\u0435\u043a\u0435\u043d\u0436\u0430\u0439\u044b: {0}",
|
"LabelIpAddressValue": "IP \u043c\u0435\u043a\u0435\u043d\u0436\u0430\u0439\u044b: {0}",
|
||||||
"UserConfigurationUpdatedWithName": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b {0} \u04af\u0448\u0456\u043d \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0436\u0430\u04a3\u0430\u0440\u0442\u044b\u043b\u0434\u044b",
|
"UserConfigurationUpdatedWithName": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b {0} \u04af\u0448\u0456\u043d \u0442\u0435\u04a3\u0448\u0435\u043b\u0456\u043c \u0436\u0430\u04a3\u0430\u0440\u0442\u044b\u043b\u0434\u044b",
|
||||||
"UserCreatedWithName": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b {0} \u0436\u0430\u0441\u0430\u043b\u0493\u0430\u043d",
|
"UserCreatedWithName": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b {0} \u0436\u0430\u0441\u0430\u043b\u0493\u0430\u043d",
|
||||||
"UserPasswordChangedWithName": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b {0} \u04af\u0448\u0456\u043d \u049b\u04b1\u043f\u0438\u044f \u0441\u04e9\u0437 \u04e9\u0437\u0433\u0435\u0440\u0442\u0456\u043b\u0434\u0456",
|
"UserPasswordChangedWithName": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b {0} \u04af\u0448\u0456\u043d \u049b\u04b1\u043f\u0438\u044f \u0441\u04e9\u0437 \u04e9\u0437\u0433\u0435\u0440\u0442\u0456\u043b\u0434\u0456",
|
||||||
"UserDeletedWithName": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b {0} \u0436\u043e\u0439\u044b\u043b\u0493\u0430\u043d",
|
"UserDeletedWithName": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b {0} \u0436\u043e\u0439\u044b\u043b\u0493\u0430\u043d",
|
||||||
"MessageServerConfigurationUpdated": "\u0421\u0435\u0440\u0432\u0435\u0440 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u0441\u044b \u0436\u0430\u04a3\u0430\u0440\u0442\u044b\u043b\u0434\u044b",
|
"MessageServerConfigurationUpdated": "\u0421\u0435\u0440\u0432\u0435\u0440 \u0442\u0435\u04a3\u0448\u0435\u043b\u0456\u043c\u0456 \u0436\u0430\u04a3\u0430\u0440\u0442\u044b\u043b\u0434\u044b",
|
||||||
"MessageNamedServerConfigurationUpdatedWithValue": "\u0421\u0435\u0440\u0432\u0435\u0440 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u0441\u044b (\u0431\u04e9\u043b\u0456\u043c {0}) \u0436\u0430\u04a3\u0430\u0440\u0442\u044b\u043b\u0434\u044b",
|
"MessageNamedServerConfigurationUpdatedWithValue": "\u0421\u0435\u0440\u0432\u0435\u0440 \u0442\u0435\u04a3\u0448\u0435\u043b\u0456\u043c\u0456 ({0} \u0431\u04e9\u043b\u0456\u043c\u0456) \u0436\u0430\u04a3\u0430\u0440\u0442\u044b\u043b\u0434\u044b",
|
||||||
"MessageApplicationUpdated": "Media Browser Server \u0436\u0430\u04a3\u0430\u0440\u0442\u044b\u043b\u0434\u044b",
|
"MessageApplicationUpdated": "Media Browser Server \u0436\u0430\u04a3\u0430\u0440\u0442\u044b\u043b\u0434\u044b",
|
||||||
"AuthenticationSucceededWithUserName": "{0} \u0442\u04af\u043f\u043d\u04b1\u0441\u049b\u0430\u043b\u044b\u0493\u044b\u043d \u0440\u0430\u0441\u0442\u0430\u043b\u0443\u044b \u0441\u04d9\u0442\u0442\u0456",
|
"AuthenticationSucceededWithUserName": "{0} \u0442\u04af\u043f\u043d\u04b1\u0441\u049b\u0430\u043b\u044b\u0493\u044b\u043d \u0440\u0430\u0441\u0442\u0430\u043b\u0443\u044b \u0441\u04d9\u0442\u0442\u0456",
|
||||||
"FailedLoginAttemptWithUserName": "{0} \u043a\u0456\u0440\u0443 \u04d9\u0440\u0435\u043a\u0435\u0442\u0456 \u0441\u04d9\u0442\u0441\u0456\u0437",
|
"FailedLoginAttemptWithUserName": "{0} \u043a\u0456\u0440\u0443 \u04d9\u0440\u0435\u043a\u0435\u0442\u0456 \u0441\u04d9\u0442\u0441\u0456\u0437",
|
||||||
|
"UserDownloadingItemWithValues": "{0} \u043c\u044b\u043d\u0430\u043d\u044b \u0436\u04af\u043a\u0442\u0435\u043f \u0430\u043b\u0443\u0434\u0430: {1}",
|
||||||
"UserStartedPlayingItemWithValues": "{0} - {1} \u043e\u0439\u043d\u0430\u0442\u0443\u044b \u0431\u0430\u0441\u0442\u0430\u043b\u0434\u044b",
|
"UserStartedPlayingItemWithValues": "{0} - {1} \u043e\u0439\u043d\u0430\u0442\u0443\u044b \u0431\u0430\u0441\u0442\u0430\u043b\u0434\u044b",
|
||||||
"UserStoppedPlayingItemWithValues": "{0} - {1} \u043e\u0439\u043d\u0430\u0442\u0443\u044b \u0442\u043e\u049b\u0442\u0430\u043b\u0434\u044b",
|
"UserStoppedPlayingItemWithValues": "{0} - {1} \u043e\u0439\u043d\u0430\u0442\u0443\u044b \u0442\u043e\u049b\u0442\u0430\u043b\u0434\u044b",
|
||||||
"AppDeviceValues": "\u049a\u043e\u043b\u0434\u0430\u043d\u0431\u0430: {0}, \u0416\u0430\u0431\u0434\u044b\u049b: {1}",
|
"AppDeviceValues": "\u049a\u043e\u043b\u0434\u0430\u043d\u0431\u0430: {0}, \u0416\u0430\u0431\u0434\u044b\u049b: {1}",
|
||||||
|
@ -1126,14 +1127,14 @@
|
||||||
"HeaderViewOrder": "\u0410\u0441\u043f\u0435\u043a\u0442\u0442\u0435\u0440 \u0440\u0435\u0442\u0456",
|
"HeaderViewOrder": "\u0410\u0441\u043f\u0435\u043a\u0442\u0442\u0435\u0440 \u0440\u0435\u0442\u0456",
|
||||||
"ButtonResetEasyPassword": "\u041e\u04a3\u0430\u0439\u0442\u044b\u043b\u0493\u0430\u043d PIN-\u043a\u043e\u0434\u0442\u044b \u044b\u0441\u044b\u0440\u0443",
|
"ButtonResetEasyPassword": "\u041e\u04a3\u0430\u0439\u0442\u044b\u043b\u0493\u0430\u043d PIN-\u043a\u043e\u0434\u0442\u044b \u044b\u0441\u044b\u0440\u0443",
|
||||||
"LabelSelectUserViewOrder": "Media Browser \u049b\u043e\u043b\u0434\u0430\u043d\u0431\u0430\u043b\u0430\u0440\u044b\u043d\u0434\u0430 \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u043d\u0435\u0442\u0456\u043d \u041c\u0435\u043d\u0456\u04a3 \u0430\u0441\u043f\u0435\u043a\u0442\u0442\u0435\u0440\u0456\u043c \u0440\u0435\u0442\u0456\u043d \u0442\u0430\u04a3\u0434\u0430\u04a3\u044b\u0437",
|
"LabelSelectUserViewOrder": "Media Browser \u049b\u043e\u043b\u0434\u0430\u043d\u0431\u0430\u043b\u0430\u0440\u044b\u043d\u0434\u0430 \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u043d\u0435\u0442\u0456\u043d \u041c\u0435\u043d\u0456\u04a3 \u0430\u0441\u043f\u0435\u043a\u0442\u0442\u0435\u0440\u0456\u043c \u0440\u0435\u0442\u0456\u043d \u0442\u0430\u04a3\u0434\u0430\u04a3\u044b\u0437",
|
||||||
"LabelMetadataRefreshMode": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u043a\u04e9\u043a\u0435\u0439\u0442\u0435\u0441\u0442\u0456 \u0435\u0442\u0443 \u0440\u0435\u0436\u0456\u043c\u0456:",
|
"LabelMetadataRefreshMode": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u0436\u0430\u04a3\u0493\u044b\u0440\u0442\u0443 \u0440\u0435\u0436\u0456\u043c\u0456:",
|
||||||
"LabelImageRefreshMode": "\u0421\u0443\u0440\u0435\u0442\u0442\u0435\u0440\u0434\u0456 \u043a\u04e9\u043a\u0435\u0439\u0442\u0435\u0441\u0442\u0456 \u0435\u0442\u0443 \u0440\u0435\u0436\u0456\u043c\u0456:",
|
"LabelImageRefreshMode": "\u0421\u0443\u0440\u0435\u0442\u0442\u0435\u0440\u0434\u0456 \u0436\u0430\u04a3\u0493\u044b\u0440\u0442\u0443 \u0440\u0435\u0436\u0456\u043c\u0456:",
|
||||||
"OptionDownloadMissingImages": "\u0416\u043e\u049b \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440\u0434\u0456 \u0436\u04af\u043a\u0442\u0435\u043f \u0430\u043b\u0443",
|
"OptionDownloadMissingImages": "\u0416\u043e\u049b \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440\u0434\u0456 \u0436\u04af\u043a\u0442\u0435\u043f \u0430\u043b\u0443",
|
||||||
"OptionReplaceExistingImages": "\u0411\u0430\u0440 \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440\u0434\u0456 \u0430\u0443\u044b\u0441\u0442\u044b\u0440\u0443",
|
"OptionReplaceExistingImages": "\u0411\u0430\u0440 \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440\u0434\u0456 \u0430\u0443\u044b\u0441\u0442\u044b\u0440\u0443",
|
||||||
"OptionRefreshAllData": "\u0411\u0430\u0440\u043b\u044b\u049b \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u043a\u04e9\u043a\u0435\u0439\u0442\u0435\u0441\u0442\u0456 \u0435\u0442\u0443",
|
"OptionRefreshAllData": "\u0411\u0430\u0440\u043b\u044b\u049b \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u0436\u0430\u04a3\u0493\u044b\u0440\u0442\u0443",
|
||||||
"OptionAddMissingDataOnly": "\u0422\u0435\u043a \u049b\u0430\u043d\u0430 \u0436\u043e\u043a \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u04af\u0441\u0442\u0435\u0443",
|
"OptionAddMissingDataOnly": "\u0422\u0435\u043a \u049b\u0430\u043d\u0430 \u0436\u043e\u043a \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u04af\u0441\u0442\u0435\u0443",
|
||||||
"OptionLocalRefreshOnly": "\u0422\u0435\u043a \u049b\u0430\u043d\u0430 \u0436\u0435\u0440\u0433\u0456\u043b\u0456\u043a\u0442\u0456 \u043a\u04e9\u043a\u0435\u0439\u0442\u0435\u0441\u0442\u0456 \u0435\u0442\u0443",
|
"OptionLocalRefreshOnly": "\u0422\u0435\u043a \u049b\u0430\u043d\u0430 \u0436\u0435\u0440\u0433\u0456\u043b\u0456\u043a\u0442\u0456 \u0436\u0430\u04a3\u0493\u044b\u0440\u0442\u0443",
|
||||||
"HeaderRefreshMetadata": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u043a\u04e9\u043a\u0435\u0439\u0442\u0435\u0441\u0442\u0456 \u0435\u0442\u0443",
|
"HeaderRefreshMetadata": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u0436\u0430\u04a3\u0493\u044b\u0440\u0442\u0443",
|
||||||
"HeaderPersonInfo": "\u0422\u04b1\u043b\u0493\u0430 \u0442\u0443\u0440\u0430\u043b\u044b",
|
"HeaderPersonInfo": "\u0422\u04b1\u043b\u0493\u0430 \u0442\u0443\u0440\u0430\u043b\u044b",
|
||||||
"HeaderIdentifyItem": "\u0422\u0430\u0440\u043c\u0430\u049b\u0442\u044b \u0430\u043d\u044b\u049b\u0442\u0430\u0443",
|
"HeaderIdentifyItem": "\u0422\u0430\u0440\u043c\u0430\u049b\u0442\u044b \u0430\u043d\u044b\u049b\u0442\u0430\u0443",
|
||||||
"HeaderIdentifyItemHelp": "\u0406\u0437\u0434\u0435\u0443\u0434\u0456\u04a3 \u0431\u0456\u0440 \u043d\u0435 \u0431\u0456\u0440\u043d\u0435\u0448\u0435 \u0448\u0430\u0440\u0442\u044b\u043d \u0435\u043d\u0433\u0456\u0437\u0456\u04a3\u0456\u0437. \u0406\u0437\u0434\u0435\u0443 \u043d\u04d9\u0442\u0438\u0436\u0435\u043b\u0435\u0440\u0456\u043d \u043a\u04e9\u0431\u0435\u0439\u0442\u0443 \u04af\u0448\u0456\u043d \u0448\u0430\u0440\u0442\u0442\u044b \u0430\u043b\u0430\u0441\u0442\u0430\u04a3\u044b\u0437.",
|
"HeaderIdentifyItemHelp": "\u0406\u0437\u0434\u0435\u0443\u0434\u0456\u04a3 \u0431\u0456\u0440 \u043d\u0435 \u0431\u0456\u0440\u043d\u0435\u0448\u0435 \u0448\u0430\u0440\u0442\u044b\u043d \u0435\u043d\u0433\u0456\u0437\u0456\u04a3\u0456\u0437. \u0406\u0437\u0434\u0435\u0443 \u043d\u04d9\u0442\u0438\u0436\u0435\u043b\u0435\u0440\u0456\u043d \u043a\u04e9\u0431\u0435\u0439\u0442\u0443 \u04af\u0448\u0456\u043d \u0448\u0430\u0440\u0442\u0442\u044b \u0430\u043b\u0430\u0441\u0442\u0430\u04a3\u044b\u0437.",
|
||||||
|
|
|
@ -1101,6 +1101,7 @@
|
||||||
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
||||||
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
||||||
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
||||||
|
"UserDownloadingItemWithValues": "{0} is downloading {1}",
|
||||||
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
||||||
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
||||||
"AppDeviceValues": "App: {0}, Device: {1}",
|
"AppDeviceValues": "App: {0}, Device: {1}",
|
||||||
|
|
|
@ -1101,6 +1101,7 @@
|
||||||
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
||||||
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
||||||
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
||||||
|
"UserDownloadingItemWithValues": "{0} is downloading {1}",
|
||||||
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
||||||
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
||||||
"AppDeviceValues": "App: {0}, Device: {1}",
|
"AppDeviceValues": "App: {0}, Device: {1}",
|
||||||
|
|
|
@ -1101,6 +1101,7 @@
|
||||||
"MessageApplicationUpdated": "Media Browser Server har blitt oppdatert",
|
"MessageApplicationUpdated": "Media Browser Server har blitt oppdatert",
|
||||||
"AuthenticationSucceededWithUserName": "{0} autentisert med suksess",
|
"AuthenticationSucceededWithUserName": "{0} autentisert med suksess",
|
||||||
"FailedLoginAttemptWithUserName": "P\u00e5loggingsfors\u00f8k feilet fra {0}",
|
"FailedLoginAttemptWithUserName": "P\u00e5loggingsfors\u00f8k feilet fra {0}",
|
||||||
|
"UserDownloadingItemWithValues": "{0} is downloading {1}",
|
||||||
"UserStartedPlayingItemWithValues": "{0} har startet avspilling av {1}",
|
"UserStartedPlayingItemWithValues": "{0} har startet avspilling av {1}",
|
||||||
"UserStoppedPlayingItemWithValues": "{0} har stoppet avspilling av {1}",
|
"UserStoppedPlayingItemWithValues": "{0} har stoppet avspilling av {1}",
|
||||||
"AppDeviceValues": "App: {0} , Device: {1}",
|
"AppDeviceValues": "App: {0} , Device: {1}",
|
||||||
|
|
|
@ -1101,6 +1101,7 @@
|
||||||
"MessageApplicationUpdated": "Media Browser Server is bijgewerkt",
|
"MessageApplicationUpdated": "Media Browser Server is bijgewerkt",
|
||||||
"AuthenticationSucceededWithUserName": "{0} is succesvol geverifieerd",
|
"AuthenticationSucceededWithUserName": "{0} is succesvol geverifieerd",
|
||||||
"FailedLoginAttemptWithUserName": "Mislukte aanmeld poging van {0}",
|
"FailedLoginAttemptWithUserName": "Mislukte aanmeld poging van {0}",
|
||||||
|
"UserDownloadingItemWithValues": "{0} is downloading {1}",
|
||||||
"UserStartedPlayingItemWithValues": "{0} heeft afspelen van {1} gestart",
|
"UserStartedPlayingItemWithValues": "{0} heeft afspelen van {1} gestart",
|
||||||
"UserStoppedPlayingItemWithValues": "{0} heeft afspelen van {1} gestopt",
|
"UserStoppedPlayingItemWithValues": "{0} heeft afspelen van {1} gestopt",
|
||||||
"AppDeviceValues": "App: {0}, Apparaat: {1}",
|
"AppDeviceValues": "App: {0}, Apparaat: {1}",
|
||||||
|
|
|
@ -1101,6 +1101,7 @@
|
||||||
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
||||||
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
||||||
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
||||||
|
"UserDownloadingItemWithValues": "{0} is downloading {1}",
|
||||||
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
||||||
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
||||||
"AppDeviceValues": "App: {0}, Device: {1}",
|
"AppDeviceValues": "App: {0}, Device: {1}",
|
||||||
|
|
|
@ -1101,6 +1101,7 @@
|
||||||
"MessageApplicationUpdated": "O Servidor Media Browser foi atualizado",
|
"MessageApplicationUpdated": "O Servidor Media Browser foi atualizado",
|
||||||
"AuthenticationSucceededWithUserName": "{0} autenticou-se com sucesso",
|
"AuthenticationSucceededWithUserName": "{0} autenticou-se com sucesso",
|
||||||
"FailedLoginAttemptWithUserName": "Falha em tentativa de login de {0}",
|
"FailedLoginAttemptWithUserName": "Falha em tentativa de login de {0}",
|
||||||
|
"UserDownloadingItemWithValues": "{0} est\u00e1 fazendo download de {1}",
|
||||||
"UserStartedPlayingItemWithValues": "{0} come\u00e7ou a reproduzir {1}",
|
"UserStartedPlayingItemWithValues": "{0} come\u00e7ou a reproduzir {1}",
|
||||||
"UserStoppedPlayingItemWithValues": "{0} parou de reproduzir {1}",
|
"UserStoppedPlayingItemWithValues": "{0} parou de reproduzir {1}",
|
||||||
"AppDeviceValues": "App: {0}, Dispositivo: {1}",
|
"AppDeviceValues": "App: {0}, Dispositivo: {1}",
|
||||||
|
|
|
@ -1101,6 +1101,7 @@
|
||||||
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
||||||
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
||||||
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
||||||
|
"UserDownloadingItemWithValues": "{0} is downloading {1}",
|
||||||
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
||||||
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
||||||
"AppDeviceValues": "App: {0}, Device: {1}",
|
"AppDeviceValues": "App: {0}, Device: {1}",
|
||||||
|
|
|
@ -219,7 +219,7 @@
|
||||||
"HeaderLatestSongs": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043c\u0435\u043b\u043e\u0434\u0438\u0438",
|
"HeaderLatestSongs": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043c\u0435\u043b\u043e\u0434\u0438\u0438",
|
||||||
"HeaderRecentlyPlayed": "\u0412\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u0435 \u043d\u0435\u0434\u0430\u0432\u043d\u043e",
|
"HeaderRecentlyPlayed": "\u0412\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u0435 \u043d\u0435\u0434\u0430\u0432\u043d\u043e",
|
||||||
"HeaderFrequentlyPlayed": "\u0412\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u0435 \u0447\u0430\u0441\u0442\u043e",
|
"HeaderFrequentlyPlayed": "\u0412\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u0435 \u0447\u0430\u0441\u0442\u043e",
|
||||||
"DevBuildWarning": "\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043e\u0447\u043d\u044b\u0435 \u0441\u0431\u043e\u0440\u043a\u0438 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0441\u044b\u0440\u044b\u043c\u0438 \u0438 \u043d\u0435\u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u043c\u0438. \u0412\u044b\u0445\u043e\u0434\u044f\u0449\u0438\u0435 \u0447\u0430\u0441\u0442\u043e, \u044d\u0442\u0438 \u0441\u0431\u043e\u0440\u043a\u0438 \u043d\u0435 \u0431\u044b\u043b\u0438 \u043e\u0442\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0434\u043e \u043a\u043e\u043d\u0446\u0430. \u0420\u0430\u0431\u043e\u0442\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0430\u0432\u0430\u0440\u0438\u0439\u043d\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0442\u044c\u0441\u044f, \u0430 \u043c\u043d\u043e\u0433\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043c\u043e\u0433\u0443\u0442 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441\u043e\u0432\u0441\u0435\u043c.",
|
"DevBuildWarning": "\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043e\u0447\u043d\u044b\u0435 \u0441\u0431\u043e\u0440\u043a\u0438 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043f\u0435\u0440\u0435\u0434\u043e\u0432\u044b\u043c\u0438. \u0412\u044b\u0445\u043e\u0434\u044f\u0449\u0438\u0435 \u0447\u0430\u0441\u0442\u043e, \u044d\u0442\u0438 \u0441\u0431\u043e\u0440\u043a\u0438 \u043d\u0435 \u0431\u044b\u043b\u0438 \u043e\u0442\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0434\u043e \u043a\u043e\u043d\u0446\u0430. \u0420\u0430\u0431\u043e\u0442\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0430\u0432\u0430\u0440\u0438\u0439\u043d\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0442\u044c\u0441\u044f, \u0430 \u043c\u043d\u043e\u0433\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043c\u043e\u0433\u0443\u0442 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441\u043e\u0432\u0441\u0435\u043c.",
|
||||||
"LabelVideoType": "\u0422\u0438\u043f \u0432\u0438\u0434\u0435\u043e:",
|
"LabelVideoType": "\u0422\u0438\u043f \u0432\u0438\u0434\u0435\u043e:",
|
||||||
"OptionBluray": "BluRay",
|
"OptionBluray": "BluRay",
|
||||||
"OptionDvd": "DVD",
|
"OptionDvd": "DVD",
|
||||||
|
@ -1051,7 +1051,7 @@
|
||||||
"OptionLogo": "\u041b\u043e\u0433\u043e\u0442\u0438\u043f",
|
"OptionLogo": "\u041b\u043e\u0433\u043e\u0442\u0438\u043f",
|
||||||
"OptionMenu": "\u041c\u0435\u043d\u044e",
|
"OptionMenu": "\u041c\u0435\u043d\u044e",
|
||||||
"OptionScreenshot": "\u0421\u043d\u0438\u043c\u043e\u043a \u044d\u043a\u0440\u0430\u043d\u0430",
|
"OptionScreenshot": "\u0421\u043d\u0438\u043c\u043e\u043a \u044d\u043a\u0440\u0430\u043d\u0430",
|
||||||
"OptionLocked": "\u0424\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435",
|
"OptionLocked": "\u0417\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435",
|
||||||
"OptionUnidentified": "\u041d\u0435\u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u043d\u043d\u043e\u0435",
|
"OptionUnidentified": "\u041d\u0435\u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u043d\u043d\u043e\u0435",
|
||||||
"OptionMissingParentalRating": "\u041d\u0435\u0442 \u0432\u043e\u0437\u0440\u0430\u0441\u0442. \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438",
|
"OptionMissingParentalRating": "\u041d\u0435\u0442 \u0432\u043e\u0437\u0440\u0430\u0441\u0442. \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438",
|
||||||
"OptionStub": "\u0417\u0430\u0433\u043b\u0443\u0448\u043a\u0430",
|
"OptionStub": "\u0417\u0430\u0433\u043b\u0443\u0448\u043a\u0430",
|
||||||
|
@ -1101,6 +1101,7 @@
|
||||||
"MessageApplicationUpdated": "Media Browser Server \u0431\u044b\u043b \u043e\u0431\u043d\u043e\u0432\u043b\u0451\u043d",
|
"MessageApplicationUpdated": "Media Browser Server \u0431\u044b\u043b \u043e\u0431\u043d\u043e\u0432\u043b\u0451\u043d",
|
||||||
"AuthenticationSucceededWithUserName": "{0} - \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u0443\u0441\u043f\u0435\u0448\u043d\u0430",
|
"AuthenticationSucceededWithUserName": "{0} - \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u0443\u0441\u043f\u0435\u0448\u043d\u0430",
|
||||||
"FailedLoginAttemptWithUserName": "{0} - \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u0432\u0445\u043e\u0434\u0430 \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u0430",
|
"FailedLoginAttemptWithUserName": "{0} - \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u0432\u0445\u043e\u0434\u0430 \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u0430",
|
||||||
|
"UserDownloadingItemWithValues": "{0} \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 {1}",
|
||||||
"UserStartedPlayingItemWithValues": "{0} - \u0432\u043e\u0441\u043f\u0440-\u0438\u0435 \u00ab{1}\u00bb \u0437\u0430\u043f-\u043d\u043e",
|
"UserStartedPlayingItemWithValues": "{0} - \u0432\u043e\u0441\u043f\u0440-\u0438\u0435 \u00ab{1}\u00bb \u0437\u0430\u043f-\u043d\u043e",
|
||||||
"UserStoppedPlayingItemWithValues": "{0} - \u0432\u043e\u0441\u043f\u0440-\u0438\u0435 \u00ab{1}\u00bb \u043e\u0441\u0442-\u043d\u043e",
|
"UserStoppedPlayingItemWithValues": "{0} - \u0432\u043e\u0441\u043f\u0440-\u0438\u0435 \u00ab{1}\u00bb \u043e\u0441\u0442-\u043d\u043e",
|
||||||
"AppDeviceValues": "\u041f\u0440\u0438\u043b.: {0}, \u0423\u0441\u0442\u0440.: {1}",
|
"AppDeviceValues": "\u041f\u0440\u0438\u043b.: {0}, \u0423\u0441\u0442\u0440.: {1}",
|
||||||
|
@ -1185,7 +1186,7 @@
|
||||||
"HeaderStudios": "\u0421\u0442\u0443\u0434\u0438\u0438",
|
"HeaderStudios": "\u0421\u0442\u0443\u0434\u0438\u0438",
|
||||||
"HeaderTags": "\u0422\u0435\u0433\u0438",
|
"HeaderTags": "\u0422\u0435\u0433\u0438",
|
||||||
"HeaderMetadataSettings": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445",
|
"HeaderMetadataSettings": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445",
|
||||||
"LabelLockItemToPreventChanges": "\u0424\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u043f\u0440\u0435\u0442\u0438\u0442\u044c \u0431\u0443\u0434\u0443\u0449\u0438\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f",
|
"LabelLockItemToPreventChanges": "\u0417\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u043f\u0440\u0435\u0442\u0438\u0442\u044c \u0431\u0443\u0434\u0443\u0449\u0438\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f",
|
||||||
"MessageLeaveEmptyToInherit": "\u041e\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u043f\u043e\u043b\u0435 \u043d\u0435\u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u044b\u043c, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043e\u0442 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430, \u0438\u043b\u0438 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e.",
|
"MessageLeaveEmptyToInherit": "\u041e\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u043f\u043e\u043b\u0435 \u043d\u0435\u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u044b\u043c, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043e\u0442 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430, \u0438\u043b\u0438 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e.",
|
||||||
"TabDonate": "\u041f\u043e\u0436\u0435\u0440\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044f",
|
"TabDonate": "\u041f\u043e\u0436\u0435\u0440\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044f",
|
||||||
"HeaderDonationType": "\u0422\u0438\u043f \u043f\u043e\u0436\u0435\u0440\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044f:",
|
"HeaderDonationType": "\u0422\u0438\u043f \u043f\u043e\u0436\u0435\u0440\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044f:",
|
||||||
|
|
|
@ -1101,6 +1101,7 @@
|
||||||
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
||||||
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
||||||
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
||||||
|
"UserDownloadingItemWithValues": "{0} is downloading {1}",
|
||||||
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
||||||
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
||||||
"AppDeviceValues": "App: {0}, Device: {1}",
|
"AppDeviceValues": "App: {0}, Device: {1}",
|
||||||
|
|
|
@ -1101,6 +1101,7 @@
|
||||||
"MessageApplicationUpdated": "Media Browser Server har uppdaterats",
|
"MessageApplicationUpdated": "Media Browser Server har uppdaterats",
|
||||||
"AuthenticationSucceededWithUserName": "{0} har autentiserats",
|
"AuthenticationSucceededWithUserName": "{0} har autentiserats",
|
||||||
"FailedLoginAttemptWithUserName": "Misslyckat inloggningsf\u00f6rs\u00f6k fr\u00e5n {0}",
|
"FailedLoginAttemptWithUserName": "Misslyckat inloggningsf\u00f6rs\u00f6k fr\u00e5n {0}",
|
||||||
|
"UserDownloadingItemWithValues": "{0} is downloading {1}",
|
||||||
"UserStartedPlayingItemWithValues": "{0} har p\u00e5b\u00f6rjat uppspelning av {1}",
|
"UserStartedPlayingItemWithValues": "{0} har p\u00e5b\u00f6rjat uppspelning av {1}",
|
||||||
"UserStoppedPlayingItemWithValues": "{0} har avslutat uppspelning av {1}",
|
"UserStoppedPlayingItemWithValues": "{0} har avslutat uppspelning av {1}",
|
||||||
"AppDeviceValues": "App: {0}, enhet: {1}",
|
"AppDeviceValues": "App: {0}, enhet: {1}",
|
||||||
|
|
|
@ -1101,6 +1101,7 @@
|
||||||
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
||||||
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
||||||
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
||||||
|
"UserDownloadingItemWithValues": "{0} is downloading {1}",
|
||||||
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
||||||
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
||||||
"AppDeviceValues": "App: {0}, Device: {1}",
|
"AppDeviceValues": "App: {0}, Device: {1}",
|
||||||
|
|
|
@ -1101,6 +1101,7 @@
|
||||||
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
||||||
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
||||||
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
||||||
|
"UserDownloadingItemWithValues": "{0} is downloading {1}",
|
||||||
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
||||||
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
||||||
"AppDeviceValues": "App: {0}, Device: {1}",
|
"AppDeviceValues": "App: {0}, Device: {1}",
|
||||||
|
|
|
@ -1101,6 +1101,7 @@
|
||||||
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
||||||
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
||||||
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
||||||
|
"UserDownloadingItemWithValues": "{0} is downloading {1}",
|
||||||
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
||||||
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
||||||
"AppDeviceValues": "App: {0}, Device: {1}",
|
"AppDeviceValues": "App: {0}, Device: {1}",
|
||||||
|
|
|
@ -1101,6 +1101,7 @@
|
||||||
"MessageApplicationUpdated": "Media Browser\u670d\u52a1\u5668\u5df2\u66f4\u65b0",
|
"MessageApplicationUpdated": "Media Browser\u670d\u52a1\u5668\u5df2\u66f4\u65b0",
|
||||||
"AuthenticationSucceededWithUserName": "{0} \u6210\u529f\u88ab\u6388\u6743",
|
"AuthenticationSucceededWithUserName": "{0} \u6210\u529f\u88ab\u6388\u6743",
|
||||||
"FailedLoginAttemptWithUserName": "\u5931\u8d25\u7684\u767b\u5f55\u5c1d\u8bd5\uff0c\u6765\u81ea {0}",
|
"FailedLoginAttemptWithUserName": "\u5931\u8d25\u7684\u767b\u5f55\u5c1d\u8bd5\uff0c\u6765\u81ea {0}",
|
||||||
|
"UserDownloadingItemWithValues": "{0} is downloading {1}",
|
||||||
"UserStartedPlayingItemWithValues": "{0} \u5f00\u59cb\u64ad\u653e {1}",
|
"UserStartedPlayingItemWithValues": "{0} \u5f00\u59cb\u64ad\u653e {1}",
|
||||||
"UserStoppedPlayingItemWithValues": "{0} \u505c\u6b62\u64ad\u653e {1}",
|
"UserStoppedPlayingItemWithValues": "{0} \u505c\u6b62\u64ad\u653e {1}",
|
||||||
"AppDeviceValues": "App\uff1a {0}\uff0c\u8bbe\u5907\uff1a {1}",
|
"AppDeviceValues": "App\uff1a {0}\uff0c\u8bbe\u5907\uff1a {1}",
|
||||||
|
|
|
@ -1101,6 +1101,7 @@
|
||||||
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
"MessageApplicationUpdated": "Media Browser Server has been updated",
|
||||||
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
||||||
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
||||||
|
"UserDownloadingItemWithValues": "{0} is downloading {1}",
|
||||||
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
|
||||||
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
|
||||||
"AppDeviceValues": "App: {0}, Device: {1}",
|
"AppDeviceValues": "App: {0}, Device: {1}",
|
||||||
|
|
|
@ -82,7 +82,7 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||||
IProgress<double> progress,
|
IProgress<double> progress,
|
||||||
CancellationToken cancellationToken)
|
CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
var jobItems = _syncManager.GetReadySyncItems(target.Id);
|
var jobItems = await _syncManager.GetReadySyncItems(target.Id).ConfigureAwait(false);
|
||||||
|
|
||||||
var numComplete = 0;
|
var numComplete = 0;
|
||||||
double startingPercent = 0;
|
double startingPercent = 0;
|
||||||
|
|
|
@ -336,11 +336,12 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||||
return new[] { item };
|
return new[] { item };
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task EnsureSyncJobItems(CancellationToken cancellationToken)
|
private async Task EnsureSyncJobItems(string targetId, CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
var jobResult = _syncRepo.GetJobs(new SyncJobQuery
|
var jobResult = _syncRepo.GetJobs(new SyncJobQuery
|
||||||
{
|
{
|
||||||
SyncNewContent = true
|
SyncNewContent = true,
|
||||||
|
TargetId = targetId
|
||||||
});
|
});
|
||||||
|
|
||||||
foreach (var job in jobResult.Items)
|
foreach (var job in jobResult.Items)
|
||||||
|
@ -356,7 +357,7 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||||
|
|
||||||
public async Task Sync(IProgress<double> progress, CancellationToken cancellationToken)
|
public async Task Sync(IProgress<double> progress, CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
await EnsureSyncJobItems(cancellationToken).ConfigureAwait(false);
|
await EnsureSyncJobItems(null, cancellationToken).ConfigureAwait(false);
|
||||||
|
|
||||||
// If it already has a converting status then is must have been aborted during conversion
|
// If it already has a converting status then is must have been aborted during conversion
|
||||||
var result = _syncRepo.GetJobItems(new SyncJobItemQuery
|
var result = _syncRepo.GetJobItems(new SyncJobItemQuery
|
||||||
|
@ -375,6 +376,21 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||||
// Clean files in sync temp folder that are not linked to any sync jobs
|
// Clean files in sync temp folder that are not linked to any sync jobs
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task SyncJobItems(string targetId, bool enableConversion, IProgress<double> progress,
|
||||||
|
CancellationToken cancellationToken)
|
||||||
|
{
|
||||||
|
await EnsureSyncJobItems(targetId, cancellationToken).ConfigureAwait(false);
|
||||||
|
|
||||||
|
// If it already has a converting status then is must have been aborted during conversion
|
||||||
|
var result = _syncRepo.GetJobItems(new SyncJobItemQuery
|
||||||
|
{
|
||||||
|
Statuses = new List<SyncJobItemStatus> { SyncJobItemStatus.Queued, SyncJobItemStatus.Converting },
|
||||||
|
TargetId = targetId
|
||||||
|
});
|
||||||
|
|
||||||
|
await SyncJobItems(result.Items, true, progress, cancellationToken).ConfigureAwait(false);
|
||||||
|
}
|
||||||
|
|
||||||
public async Task SyncJobItems(SyncJobItem[] items, bool enableConversion, IProgress<double> progress, CancellationToken cancellationToken)
|
public async Task SyncJobItems(SyncJobItem[] items, bool enableConversion, IProgress<double> progress, CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
if (items.Length > 0)
|
if (items.Length > 0)
|
||||||
|
@ -483,7 +499,7 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||||
// No sense creating external subs if we're already burning one into the video
|
// No sense creating external subs if we're already burning one into the video
|
||||||
var externalSubs = streamInfo.SubtitleDeliveryMethod == SubtitleDeliveryMethod.Encode ?
|
var externalSubs = streamInfo.SubtitleDeliveryMethod == SubtitleDeliveryMethod.Encode ?
|
||||||
new List<SubtitleStreamInfo>() :
|
new List<SubtitleStreamInfo>() :
|
||||||
streamInfo.GetExternalSubtitles("dummy", false);
|
streamInfo.GetExternalSubtitles(false);
|
||||||
|
|
||||||
// Mark as requiring conversion if transcoding the video, or if any subtitles need to be extracted
|
// Mark as requiring conversion if transcoding the video, or if any subtitles need to be extracted
|
||||||
var requiresVideoTranscoding = streamInfo.PlayMethod == PlayMethod.Transcode && job.Quality != SyncQuality.Original;
|
var requiresVideoTranscoding = streamInfo.PlayMethod == PlayMethod.Transcode && job.Quality != SyncQuality.Original;
|
||||||
|
|
|
@ -47,6 +47,7 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||||
private readonly IFileSystem _fileSystem;
|
private readonly IFileSystem _fileSystem;
|
||||||
private readonly Func<ISubtitleEncoder> _subtitleEncoder;
|
private readonly Func<ISubtitleEncoder> _subtitleEncoder;
|
||||||
private readonly IConfigurationManager _config;
|
private readonly IConfigurationManager _config;
|
||||||
|
private IUserDataManager _userDataManager;
|
||||||
|
|
||||||
private ISyncProvider[] _providers = { };
|
private ISyncProvider[] _providers = { };
|
||||||
|
|
||||||
|
@ -56,7 +57,7 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||||
public event EventHandler<GenericEventArgs<SyncJobItem>> SyncJobItemUpdated;
|
public event EventHandler<GenericEventArgs<SyncJobItem>> SyncJobItemUpdated;
|
||||||
public event EventHandler<GenericEventArgs<SyncJobItem>> SyncJobItemCreated;
|
public event EventHandler<GenericEventArgs<SyncJobItem>> SyncJobItemCreated;
|
||||||
|
|
||||||
public SyncManager(ILibraryManager libraryManager, ISyncRepository repo, IImageProcessor imageProcessor, ILogger logger, IUserManager userManager, Func<IDtoService> dtoService, IApplicationHost appHost, ITVSeriesManager tvSeriesManager, Func<IMediaEncoder> mediaEncoder, IFileSystem fileSystem, Func<ISubtitleEncoder> subtitleEncoder, IConfigurationManager config)
|
public SyncManager(ILibraryManager libraryManager, ISyncRepository repo, IImageProcessor imageProcessor, ILogger logger, IUserManager userManager, Func<IDtoService> dtoService, IApplicationHost appHost, ITVSeriesManager tvSeriesManager, Func<IMediaEncoder> mediaEncoder, IFileSystem fileSystem, Func<ISubtitleEncoder> subtitleEncoder, IConfigurationManager config, IUserDataManager userDataManager)
|
||||||
{
|
{
|
||||||
_libraryManager = libraryManager;
|
_libraryManager = libraryManager;
|
||||||
_repo = repo;
|
_repo = repo;
|
||||||
|
@ -70,6 +71,7 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||||
_fileSystem = fileSystem;
|
_fileSystem = fileSystem;
|
||||||
_subtitleEncoder = subtitleEncoder;
|
_subtitleEncoder = subtitleEncoder;
|
||||||
_config = config;
|
_config = config;
|
||||||
|
_userDataManager = userDataManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddParts(IEnumerable<ISyncProvider> providers)
|
public void AddParts(IEnumerable<ISyncProvider> providers)
|
||||||
|
@ -133,10 +135,17 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||||
ParentId = request.ParentId
|
ParentId = request.ParentId
|
||||||
};
|
};
|
||||||
|
|
||||||
// It's just a static list
|
if (!request.Category.HasValue && request.ItemIds != null)
|
||||||
if (!items.Any(i => i.IsFolder || i is IItemByName))
|
|
||||||
{
|
{
|
||||||
job.SyncNewContent = false;
|
var requestedItems = request.ItemIds
|
||||||
|
.Select(_libraryManager.GetItemById)
|
||||||
|
.Where(i => i != null);
|
||||||
|
|
||||||
|
// It's just a static list
|
||||||
|
if (!requestedItems.Any(i => i.IsFolder || i is IItemByName))
|
||||||
|
{
|
||||||
|
job.SyncNewContent = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
await _repo.Create(job).ConfigureAwait(false);
|
await _repo.Create(job).ConfigureAwait(false);
|
||||||
|
@ -666,11 +675,32 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||||
|
|
||||||
public Task ReportOfflineAction(UserAction action)
|
public Task ReportOfflineAction(UserAction action)
|
||||||
{
|
{
|
||||||
return Task.FromResult(true);
|
switch (action.Type)
|
||||||
|
{
|
||||||
|
case UserActionType.PlayedItem:
|
||||||
|
return ReportOfflinePlayedItem(action);
|
||||||
|
default:
|
||||||
|
throw new ArgumentException("Unexpected action type");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<SyncedItem> GetReadySyncItems(string targetId)
|
private Task ReportOfflinePlayedItem(UserAction action)
|
||||||
{
|
{
|
||||||
|
var item = _libraryManager.GetItemById(action.ItemId);
|
||||||
|
var userData = _userDataManager.GetUserData(new Guid(action.UserId), item.GetUserDataKey());
|
||||||
|
|
||||||
|
userData.LastPlayedDate = action.Date;
|
||||||
|
_userDataManager.UpdatePlayState(item, userData, action.PositionTicks);
|
||||||
|
|
||||||
|
return _userDataManager.SaveUserData(new Guid(action.UserId), item, userData, UserDataSaveReason.Import, CancellationToken.None);
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<List<SyncedItem>> GetReadySyncItems(string targetId)
|
||||||
|
{
|
||||||
|
var processor = GetSyncJobProcessor();
|
||||||
|
|
||||||
|
await processor.SyncJobItems(targetId, false, new Progress<double>(), CancellationToken.None).ConfigureAwait(false);
|
||||||
|
|
||||||
var jobItemResult = GetJobItems(new SyncJobItemQuery
|
var jobItemResult = GetJobItems(new SyncJobItemQuery
|
||||||
{
|
{
|
||||||
TargetId = targetId,
|
TargetId = targetId,
|
||||||
|
|
|
@ -445,7 +445,7 @@ namespace MediaBrowser.Server.Startup.Common
|
||||||
TVSeriesManager = new TVSeriesManager(UserManager, UserDataManager, LibraryManager);
|
TVSeriesManager = new TVSeriesManager(UserManager, UserDataManager, LibraryManager);
|
||||||
RegisterSingleInstance(TVSeriesManager);
|
RegisterSingleInstance(TVSeriesManager);
|
||||||
|
|
||||||
SyncManager = new SyncManager(LibraryManager, SyncRepository, ImageProcessor, LogManager.GetLogger("SyncManager"), UserManager, () => DtoService, this, TVSeriesManager, () => MediaEncoder, FileSystemManager, () => SubtitleEncoder, ServerConfigurationManager);
|
SyncManager = new SyncManager(LibraryManager, SyncRepository, ImageProcessor, LogManager.GetLogger("SyncManager"), UserManager, () => DtoService, this, TVSeriesManager, () => MediaEncoder, FileSystemManager, () => SubtitleEncoder, ServerConfigurationManager, UserDataManager);
|
||||||
RegisterSingleInstance(SyncManager);
|
RegisterSingleInstance(SyncManager);
|
||||||
|
|
||||||
DtoService = new DtoService(Logger, LibraryManager, UserDataManager, ItemRepository, ImageProcessor, ServerConfigurationManager, FileSystemManager, ProviderManager, () => ChannelManager, SyncManager, this, () => DeviceManager);
|
DtoService = new DtoService(Logger, LibraryManager, UserDataManager, ItemRepository, ImageProcessor, ServerConfigurationManager, FileSystemManager, ProviderManager, () => ChannelManager, SyncManager, this, () => DeviceManager);
|
||||||
|
|
|
@ -33,16 +33,7 @@ namespace MediaBrowser.Server.Startup.Common.FFMpeg
|
||||||
case OperatingSystem.Linux:
|
case OperatingSystem.Linux:
|
||||||
|
|
||||||
info.ArchiveType = "7z";
|
info.ArchiveType = "7z";
|
||||||
|
info.Version = "20150124";
|
||||||
switch (environment.SystemArchitecture)
|
|
||||||
{
|
|
||||||
case Architecture.X86_X64:
|
|
||||||
info.Version = "20150124";
|
|
||||||
break;
|
|
||||||
case Architecture.X86:
|
|
||||||
info.Version = "20150124";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case OperatingSystem.Osx:
|
case OperatingSystem.Osx:
|
||||||
|
|
||||||
|
|
|
@ -193,6 +193,8 @@ namespace MediaBrowser.WebDashboard.Api
|
||||||
sb.Append("<link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"css/images/touchicon114.png\" />");
|
sb.Append("<link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"css/images/touchicon114.png\" />");
|
||||||
sb.Append("<link rel=\"apple-touch-startup-image\" href=\"css/images/iossplash.png\" />");
|
sb.Append("<link rel=\"apple-touch-startup-image\" href=\"css/images/iossplash.png\" />");
|
||||||
sb.Append("<link rel=\"shortcut icon\" href=\"css/images/favicon.ico\" />");
|
sb.Append("<link rel=\"shortcut icon\" href=\"css/images/favicon.ico\" />");
|
||||||
|
sb.Append("<meta name=\"msapplication-TileImage\" content=\"css/images/touchicon144.png\">");
|
||||||
|
sb.Append("<meta name=\"msapplication-TileColor\" content=\"#23456B\">");
|
||||||
|
|
||||||
return sb.ToString();
|
return sb.ToString();
|
||||||
}
|
}
|
||||||
|
@ -285,8 +287,12 @@ namespace MediaBrowser.WebDashboard.Api
|
||||||
"thirdparty/apiclient/network.js",
|
"thirdparty/apiclient/network.js",
|
||||||
"thirdparty/apiclient/device.js",
|
"thirdparty/apiclient/device.js",
|
||||||
"thirdparty/apiclient/credentials.js",
|
"thirdparty/apiclient/credentials.js",
|
||||||
|
"thirdparty/apiclient/ajax.js",
|
||||||
|
"thirdparty/apiclient/events.js",
|
||||||
|
"thirdparty/apiclient/deferred.js",
|
||||||
"thirdparty/apiclient/mediabrowser.apiclient.js",
|
"thirdparty/apiclient/mediabrowser.apiclient.js",
|
||||||
"thirdparty/apiclient/connectservice.js",
|
"thirdparty/apiclient/connectservice.js",
|
||||||
|
"thirdparty/apiclient/serverdiscovery.js",
|
||||||
"thirdparty/apiclient/connectionmanager.js"
|
"thirdparty/apiclient/connectionmanager.js"
|
||||||
})
|
})
|
||||||
{
|
{
|
||||||
|
|
|
@ -93,6 +93,9 @@
|
||||||
<Content Include="dashboard-ui\css\images\splash.jpg">
|
<Content Include="dashboard-ui\css\images\splash.jpg">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
|
<Content Include="dashboard-ui\css\images\touchicon144.png">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
<Content Include="dashboard-ui\css\images\tour\dashboard\help.png">
|
<Content Include="dashboard-ui\css\images\tour\dashboard\help.png">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
|
@ -156,12 +159,24 @@
|
||||||
<Content Include="dashboard-ui\syncsettings.html">
|
<Content Include="dashboard-ui\syncsettings.html">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
|
<Content Include="dashboard-ui\thirdparty\apiclient\ajax.js">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
<Content Include="dashboard-ui\thirdparty\apiclient\connectservice.js">
|
<Content Include="dashboard-ui\thirdparty\apiclient\connectservice.js">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
|
<Content Include="dashboard-ui\thirdparty\apiclient\deferred.js">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="dashboard-ui\thirdparty\apiclient\deferredAlt.js">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
<Content Include="dashboard-ui\thirdparty\apiclient\device.js">
|
<Content Include="dashboard-ui\thirdparty\apiclient\device.js">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
|
<Content Include="dashboard-ui\thirdparty\apiclient\events.js">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
<Content Include="dashboard-ui\thirdparty\apiclient\logger.js">
|
<Content Include="dashboard-ui\thirdparty\apiclient\logger.js">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
|
@ -921,6 +936,9 @@
|
||||||
<Content Include="dashboard-ui\thirdparty\apiclient\network.js">
|
<Content Include="dashboard-ui\thirdparty\apiclient\network.js">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
|
<Content Include="dashboard-ui\thirdparty\apiclient\serverdiscovery.js">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
<Content Include="dashboard-ui\thirdparty\apiclient\sha1.js">
|
<Content Include="dashboard-ui\thirdparty\apiclient\sha1.js">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
|
|
|
@ -350,6 +350,19 @@ namespace MediaBrowser.XbmcMetadata.Parsers
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case "countrycode":
|
||||||
|
{
|
||||||
|
var val = reader.ReadElementContentAsString();
|
||||||
|
|
||||||
|
var hasLanguage = item as IHasPreferredMetadataLanguage;
|
||||||
|
if (hasLanguage != null)
|
||||||
|
{
|
||||||
|
hasLanguage.PreferredMetadataCountryCode = val;
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case "website":
|
case "website":
|
||||||
{
|
{
|
||||||
var val = reader.ReadElementContentAsString();
|
var val = reader.ReadElementContentAsString();
|
||||||
|
|
|
@ -589,6 +589,10 @@ namespace MediaBrowser.XbmcMetadata.Savers
|
||||||
{
|
{
|
||||||
writer.WriteElementString("language", hasLanguage.PreferredMetadataLanguage);
|
writer.WriteElementString("language", hasLanguage.PreferredMetadataLanguage);
|
||||||
}
|
}
|
||||||
|
if (!string.IsNullOrEmpty(hasLanguage.PreferredMetadataCountryCode))
|
||||||
|
{
|
||||||
|
writer.WriteElementString("countrycode", hasLanguage.PreferredMetadataCountryCode);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (item.PremiereDate.HasValue && !(item is Episode))
|
if (item.PremiereDate.HasValue && !(item is Episode))
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||||
<metadata>
|
<metadata>
|
||||||
<id>MediaBrowser.Common.Internal</id>
|
<id>MediaBrowser.Common.Internal</id>
|
||||||
<version>3.0.567</version>
|
<version>3.0.574</version>
|
||||||
<title>MediaBrowser.Common.Internal</title>
|
<title>MediaBrowser.Common.Internal</title>
|
||||||
<authors>Luke</authors>
|
<authors>Luke</authors>
|
||||||
<owners>ebr,Luke,scottisafool</owners>
|
<owners>ebr,Luke,scottisafool</owners>
|
||||||
|
@ -12,9 +12,9 @@
|
||||||
<description>Contains common components shared by Media Browser Theater and Media Browser Server. Not intended for plugin developer consumption.</description>
|
<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>
|
<copyright>Copyright © Media Browser 2013</copyright>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency id="MediaBrowser.Common" version="3.0.567" />
|
<dependency id="MediaBrowser.Common" version="3.0.574" />
|
||||||
<dependency id="NLog" version="3.1.0.0" />
|
<dependency id="NLog" version="3.2.0.0" />
|
||||||
<dependency id="SimpleInjector" version="2.6.1" />
|
<dependency id="SimpleInjector" version="2.7.0" />
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</metadata>
|
</metadata>
|
||||||
<files>
|
<files>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||||
<metadata>
|
<metadata>
|
||||||
<id>MediaBrowser.Common</id>
|
<id>MediaBrowser.Common</id>
|
||||||
<version>3.0.567</version>
|
<version>3.0.574</version>
|
||||||
<title>MediaBrowser.Common</title>
|
<title>MediaBrowser.Common</title>
|
||||||
<authors>Media Browser Team</authors>
|
<authors>Media Browser Team</authors>
|
||||||
<owners>ebr,Luke,scottisafool</owners>
|
<owners>ebr,Luke,scottisafool</owners>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||||
<metadata>
|
<metadata>
|
||||||
<id>MediaBrowser.Model.Signed</id>
|
<id>MediaBrowser.Model.Signed</id>
|
||||||
<version>3.0.567</version>
|
<version>3.0.574</version>
|
||||||
<title>MediaBrowser.Model - Signed Edition</title>
|
<title>MediaBrowser.Model - Signed Edition</title>
|
||||||
<authors>Media Browser Team</authors>
|
<authors>Media Browser Team</authors>
|
||||||
<owners>ebr,Luke,scottisafool</owners>
|
<owners>ebr,Luke,scottisafool</owners>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
|
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
|
||||||
<metadata>
|
<metadata>
|
||||||
<id>MediaBrowser.Server.Core</id>
|
<id>MediaBrowser.Server.Core</id>
|
||||||
<version>3.0.567</version>
|
<version>3.0.574</version>
|
||||||
<title>Media Browser.Server.Core</title>
|
<title>Media Browser.Server.Core</title>
|
||||||
<authors>Media Browser Team</authors>
|
<authors>Media Browser Team</authors>
|
||||||
<owners>ebr,Luke,scottisafool</owners>
|
<owners>ebr,Luke,scottisafool</owners>
|
||||||
|
@ -12,7 +12,7 @@
|
||||||
<description>Contains core components required to build plugins for Media Browser Server.</description>
|
<description>Contains core components required to build plugins for Media Browser Server.</description>
|
||||||
<copyright>Copyright © Media Browser 2013</copyright>
|
<copyright>Copyright © Media Browser 2013</copyright>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency id="MediaBrowser.Common" version="3.0.567" />
|
<dependency id="MediaBrowser.Common" version="3.0.574" />
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</metadata>
|
</metadata>
|
||||||
<files>
|
<files>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
|
||||||
//[assembly: AssemblyVersion("3.0.*")]
|
//[assembly: AssemblyVersion("3.0.*")]
|
||||||
[assembly: AssemblyVersion("3.0.5518.4")]
|
[assembly: AssemblyVersion("3.0.5518.5")]
|
||||||
|
|
Loading…
Reference in New Issue
Block a user