Conflicts:
	MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj
This commit is contained in:
Michalis Adamidis 2014-08-24 19:53:53 +02:00
commit 5740a4c22d
104 changed files with 1617 additions and 732 deletions

View file

@ -141,22 +141,29 @@ namespace MediaBrowser.Api
private string AutoDetectMetadataService()
{
var paths = _libraryManager.GetDefaultVirtualFolders()
.SelectMany(i => i.Locations)
.Distinct(StringComparer.OrdinalIgnoreCase)
.Select(i => new DirectoryInfo(i))
.ToList();
if (paths.SelectMany(i => i.EnumerateFiles("*.xml", SearchOption.AllDirectories))
.Any())
try
{
return XbmcMetadata;
var paths = _libraryManager.GetDefaultVirtualFolders()
.SelectMany(i => i.Locations)
.Distinct(StringComparer.OrdinalIgnoreCase)
.Select(i => new DirectoryInfo(i))
.ToList();
if (paths.SelectMany(i => i.EnumerateFiles("*.xml", SearchOption.AllDirectories))
.Any())
{
return XbmcMetadata;
}
if (paths.SelectMany(i => i.EnumerateFiles("*.xml", SearchOption.AllDirectories))
.Any(i => string.Equals(i.Name, "series.xml", StringComparison.OrdinalIgnoreCase) || string.Equals(i.Name, "movie.xml", StringComparison.OrdinalIgnoreCase)))
{
return MediaBrowserMetadata;
}
}
if (paths.SelectMany(i => i.EnumerateFiles("*.xml", SearchOption.AllDirectories))
.Any(i => string.Equals(i.Name, "series.xml", StringComparison.OrdinalIgnoreCase) || string.Equals(i.Name, "movie.xml", StringComparison.OrdinalIgnoreCase)))
catch (Exception)
{
return MediaBrowserMetadata;
}
return XbmcMetadata;

View file

@ -286,7 +286,7 @@ namespace MediaBrowser.Api.Library
public void Post(PostUpdatedSeries request)
{
Task.Run(() => _libraryManager.ValidateMediaLibrary(new Progress<double>(), CancellationToken.None));
}
public object Get(GetFile request)

View file

@ -49,6 +49,9 @@
<RunPostBuildEvent>Always</RunPostBuildEvent>
</PropertyGroup>
<ItemGroup>
<Reference Include="MoreLinq">
<HintPath>..\packages\morelinq.1.0.16006\lib\net35\MoreLinq.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="Microsoft.CSharp" />
@ -161,7 +164,6 @@
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PostBuildEvent>

View file

@ -1193,13 +1193,13 @@ namespace MediaBrowser.Api.Playback
return state.VideoRequest.Framerate.Value;
}
var maxrate = state.VideoRequest.MaxFramerate ?? 23.97602;
var maxrate = state.VideoRequest.MaxFramerate;
if (state.VideoStream != null)
if (maxrate.HasValue && state.VideoStream != null)
{
var contentRate = state.VideoStream.AverageFrameRate ?? state.VideoStream.RealFrameRate;
if (contentRate.HasValue && contentRate.Value > maxrate)
if (contentRate.HasValue && contentRate.Value > maxrate.Value)
{
return maxrate;
}

View file

@ -1,4 +1,5 @@
using MediaBrowser.Common.IO;
using MediaBrowser.Common.Extensions;
using MediaBrowser.Common.IO;
using MediaBrowser.Controller.Channels;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Dlna;
@ -385,17 +386,19 @@ namespace MediaBrowser.Api.Playback.Hls
if (EnableAdaptiveBitrateStreaming(state))
{
//var requestedVideoBitrate = state.VideoRequest.VideoBitRate.Value;
var requestedVideoBitrate = state.VideoRequest.VideoBitRate.Value;
//// By default, vary by just 200k
//var variation = GetBitrateVariation(totalBitrate);
// By default, vary by just 200k
var variation = GetBitrateVariation(totalBitrate);
//var newBitrate = totalBitrate - variation;
//AppendPlaylist(builder, playlistUrl.Replace(requestedVideoBitrate.ToString(UsCulture), (requestedVideoBitrate - variation).ToString(UsCulture)), newBitrate, subtitleGroup);
var newBitrate = totalBitrate - variation;
var variantUrl = ReplaceBitrate(playlistUrl, requestedVideoBitrate, (requestedVideoBitrate - variation));
AppendPlaylist(builder, variantUrl, newBitrate, subtitleGroup);
//variation *= 2;
//newBitrate = totalBitrate - variation;
//AppendPlaylist(builder, playlistUrl.Replace(requestedVideoBitrate.ToString(UsCulture), (requestedVideoBitrate - variation).ToString(UsCulture)), newBitrate, subtitleGroup);
variation *= 2;
newBitrate = totalBitrate - variation;
variantUrl = ReplaceBitrate(playlistUrl, requestedVideoBitrate, (requestedVideoBitrate - variation));
AppendPlaylist(builder, variantUrl, newBitrate, subtitleGroup);
}
if (!string.IsNullOrWhiteSpace(subtitleGroup))
@ -406,6 +409,14 @@ namespace MediaBrowser.Api.Playback.Hls
return builder.ToString();
}
private string ReplaceBitrate(string url, int oldValue, int newValue)
{
return url.Replace(
"videobitrate=" + oldValue.ToString(UsCulture),
"videobitrate=" + newValue.ToString(UsCulture),
StringComparison.OrdinalIgnoreCase);
}
private void AddSubtitles(StreamState state, IEnumerable<MediaStream> subtitles, StringBuilder builder)
{
var selectedIndex = state.SubtitleStream == null ? (int?)null : state.SubtitleStream.Index;
@ -470,8 +481,8 @@ namespace MediaBrowser.Api.Playback.Hls
private int GetBitrateVariation(int bitrate)
{
// By default, vary by just 100k
var variation = 100000;
// By default, vary by just 50k
var variation = 50000;
if (bitrate >= 10000000)
{
@ -497,6 +508,10 @@ namespace MediaBrowser.Api.Playback.Hls
{
variation = 200000;
}
else if (bitrate >= 400000)
{
variation = 100000;
}
return variation;
}

View file

@ -7,7 +7,6 @@ using MediaBrowser.Model.Playlists;
using MediaBrowser.Model.Querying;
using ServiceStack;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
@ -24,6 +23,9 @@ namespace MediaBrowser.Api
[ApiMember(Name = "UserId", Description = "User Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
public string UserId { get; set; }
[ApiMember(Name = "MediaType", Description = "The playlist media type", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
public string MediaType { get; set; }
}
[Route("/Playlists/{Id}/Items", "POST", Summary = "Adds items to a playlist")]
@ -34,6 +36,13 @@ namespace MediaBrowser.Api
[ApiMember(Name = "Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")]
public string Id { get; set; }
/// <summary>
/// Gets or sets the user id.
/// </summary>
/// <value>The user id.</value>
[ApiMember(Name = "UserId", Description = "User Id", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
public string UserId { get; set; }
}
[Route("/Playlists/{Id}/Items", "DELETE", Summary = "Removes items from a playlist")]
@ -56,8 +65,8 @@ namespace MediaBrowser.Api
/// Gets or sets the user id.
/// </summary>
/// <value>The user id.</value>
[ApiMember(Name = "UserId", Description = "User Id", IsRequired = false, DataType = "string", ParameterType = "path", Verb = "GET")]
public Guid? UserId { get; set; }
[ApiMember(Name = "UserId", Description = "User Id", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
public string UserId { get; set; }
/// <summary>
/// Skips over a given number of items within the results. Use for paging.
@ -99,25 +108,21 @@ namespace MediaBrowser.Api
public async Task<object> Post(CreatePlaylist request)
{
var item = await _playlistManager.CreatePlaylist(new PlaylistCreationOptions
var result = await _playlistManager.CreatePlaylist(new PlaylistCreationRequest
{
Name = request.Name,
ItemIdList = (request.Ids ?? string.Empty).Split(',').Where(i => !string.IsNullOrWhiteSpace(i)).ToList(),
UserId = request.UserId
UserId = request.UserId,
MediaType = request.MediaType
}).ConfigureAwait(false);
var dto = _dtoService.GetBaseItemDto(item, new List<ItemFields>());
return ToOptimizedResult(new PlaylistCreationResult
{
Id = dto.Id
});
return ToOptimizedResult(result);
}
public void Post(AddToPlaylist request)
{
var task = _playlistManager.AddToPlaylist(request.Id, request.Ids.Split(','));
var task = _playlistManager.AddToPlaylist(request.Id, request.Ids.Split(','), request.UserId);
Task.WaitAll(task);
}
@ -132,7 +137,7 @@ namespace MediaBrowser.Api
public object Get(GetPlaylistItems request)
{
var playlist = (Playlist)_libraryManager.GetItemById(request.Id);
var user = request.UserId.HasValue ? _userManager.GetUserById(request.UserId.Value) : null;
var user = !string.IsNullOrWhiteSpace(request.UserId) ? _userManager.GetUserById(new Guid(request.UserId)) : null;
var items = playlist.GetManageableItems().ToArray();

View file

@ -174,12 +174,16 @@ namespace MediaBrowser.Api.Subtitles
}
builder.AppendLine("#EXT-X-ENDLIST");
return ResultFactory.GetResult(builder.ToString(), Common.Net.MimeTypes.GetMimeType("playlist.m3u8"), new Dictionary<string, string>());
}
public object Get(GetSubtitle request)
{
if (string.Equals(request.Format, "js", StringComparison.OrdinalIgnoreCase))
{
request.Format = "json";
}
if (string.IsNullOrEmpty(request.Format))
{
var item = (Video)_libraryManager.GetItemById(new Guid(request.Id));

View file

@ -1,5 +1,6 @@
using MediaBrowser.Common.Configuration;
using MediaBrowser.Common.IO;
using MediaBrowser.Common.Net;
using MediaBrowser.Controller;
using MediaBrowser.Controller.Net;
using MediaBrowser.Model.System;
@ -49,6 +50,13 @@ namespace MediaBrowser.Api.System
{
}
[Route("/System/Endpoint", "GET", Summary = "Gets information about the request endpoint")]
[Authenticated]
public class GetEndpointInfo : IReturn<EndpointInfo>
{
public string Endpoint { get; set; }
}
[Route("/System/Logs/Log", "GET", Summary = "Gets a log file")]
public class GetLogFile
{
@ -68,6 +76,8 @@ namespace MediaBrowser.Api.System
private readonly IApplicationPaths _appPaths;
private readonly IFileSystem _fileSystem;
private readonly INetworkManager _network;
/// <summary>
/// Initializes a new instance of the <see cref="SystemService" /> class.
/// </summary>
@ -75,11 +85,12 @@ namespace MediaBrowser.Api.System
/// <param name="appPaths">The application paths.</param>
/// <param name="fileSystem">The file system.</param>
/// <exception cref="ArgumentNullException">jsonSerializer</exception>
public SystemService(IServerApplicationHost appHost, IApplicationPaths appPaths, IFileSystem fileSystem)
public SystemService(IServerApplicationHost appHost, IApplicationPaths appPaths, IFileSystem fileSystem, INetworkManager network)
{
_appHost = appHost;
_appPaths = appPaths;
_fileSystem = fileSystem;
_network = network;
}
public object Get(GetServerLogs request)
@ -174,5 +185,19 @@ namespace MediaBrowser.Api.System
});
}
public object Get(GetEndpointInfo request)
{
return ToOptimizedResult(new EndpointInfo
{
IsLocal = Request.IsLocal,
IsInNetwork = _network.IsInLocalNetwork(request.Endpoint ?? Request.RemoteIp)
});
}
}
public class EndpointInfo
{
public bool IsLocal { get; set; }
public bool IsInNetwork { get; set; }
}
}

View file

@ -432,7 +432,7 @@ namespace MediaBrowser.Common.Implementations
HttpClient = new HttpClientManager.HttpClientManager(ApplicationPaths, Logger, FileSystemManager, ConfigurationManager);
RegisterSingleInstance(HttpClient);
NetworkManager = CreateNetworkManager();
NetworkManager = CreateNetworkManager(LogManager.GetLogger("NetworkManager"));
RegisterSingleInstance(NetworkManager);
SecurityManager = new PluginSecurityManager(this, HttpClient, JsonSerializer, ApplicationPaths, NetworkManager, LogManager);
@ -500,7 +500,7 @@ namespace MediaBrowser.Common.Implementations
}
}
protected abstract INetworkManager CreateNetworkManager();
protected abstract INetworkManager CreateNetworkManager(ILogger logger);
/// <summary>
/// Creates an instance of type and resolves all constructor dependancies

View file

@ -1,4 +1,5 @@
using System;
using MediaBrowser.Model.Logging;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
@ -10,6 +11,13 @@ namespace MediaBrowser.Common.Implementations.Networking
{
public abstract class BaseNetworkManager
{
protected ILogger Logger { get; private set; }
protected BaseNetworkManager(ILogger logger)
{
Logger = logger;
}
/// <summary>
/// Gets the machine's local ip address
/// </summary>
@ -27,18 +35,17 @@ namespace MediaBrowser.Common.Implementations.Networking
}
public bool IsInLocalNetwork(string endpoint)
{
return IsInLocalNetworkInternal(endpoint, true);
}
public bool IsInLocalNetworkInternal(string endpoint, bool resolveHost)
{
if (string.IsNullOrWhiteSpace(endpoint))
{
throw new ArgumentNullException("endpoint");
}
IPAddress address;
if (!IPAddress.TryParse(endpoint, out address))
{
return true;
}
const int lengthMatch = 4;
if (endpoint.Length >= lengthMatch)
@ -55,7 +62,7 @@ namespace MediaBrowser.Common.Implementations.Networking
// Private address space:
// http://en.wikipedia.org/wiki/Private_network
return
var isPrivate =
// If url was requested with computer name, we may see this
endpoint.IndexOf("::", StringComparison.OrdinalIgnoreCase) != -1 ||
@ -64,6 +71,42 @@ namespace MediaBrowser.Common.Implementations.Networking
endpoint.StartsWith("192.", StringComparison.OrdinalIgnoreCase) ||
endpoint.StartsWith("172.", StringComparison.OrdinalIgnoreCase) ||
endpoint.StartsWith("169.", StringComparison.OrdinalIgnoreCase);
if (isPrivate)
{
return true;
}
IPAddress address;
if (resolveHost && !IPAddress.TryParse(endpoint, out address))
{
var host = new Uri(endpoint).DnsSafeHost;
Logger.Debug("Resolving host {0}", host);
try
{
address = GetIpAddresses(host).FirstOrDefault();
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);
}
}
return false;
}
public IEnumerable<IPAddress> GetIpAddresses(string hostName)
{
return Dns.GetHostAddresses(hostName);
}
private IEnumerable<IPAddress> GetIPsDefault()
@ -103,7 +146,7 @@ namespace MediaBrowser.Common.Implementations.Networking
.Select(i => i.ToString())
.Reverse();
}
/// <summary>
/// Gets a random port number that is currently available
/// </summary>

View file

@ -203,6 +203,10 @@ namespace MediaBrowser.Common.Net
{
return "application/x-javascript";
}
if (ext.Equals(".json", StringComparison.OrdinalIgnoreCase))
{
return JsonMimeType;
}
if (ext.Equals(".map", StringComparison.OrdinalIgnoreCase))
{
return "application/x-javascript";

View file

@ -6,7 +6,6 @@ using MediaBrowser.Controller.Localization;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Entities;
using MoreLinq;
using System;
using System.Collections;
using System.Collections.Generic;
@ -15,6 +14,7 @@ using System.Linq;
using System.Runtime.Serialization;
using System.Threading;
using System.Threading.Tasks;
using MoreLinq;
namespace MediaBrowser.Controller.Entities
{

View file

@ -48,6 +48,9 @@
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
</PropertyGroup>
<ItemGroup>
<Reference Include="MoreLinq">
<HintPath>..\packages\morelinq.1.0.16006\lib\net35\MoreLinq.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Data" />
@ -57,9 +60,6 @@
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Xml" />
<Reference Include="System.Xml.Linq" />
<Reference Include="MoreLinq">
<HintPath>..\packages\morelinq.1.0.16006\lib\net35\MoreLinq.dll</HintPath>
</Reference>
<Reference Include="ServiceStack.Interfaces">
<HintPath>..\ThirdParty\ServiceStack\ServiceStack.Interfaces.dll</HintPath>
</Reference>
@ -222,7 +222,6 @@
<Compile Include="Persistence\MediaStreamQuery.cs" />
<Compile Include="Playlists\IPlaylistManager.cs" />
<Compile Include="Playlists\Playlist.cs" />
<Compile Include="Playlists\PlaylistCreationOptions.cs" />
<Compile Include="Providers\DirectoryService.cs" />
<Compile Include="Providers\ICustomMetadataProvider.cs" />
<Compile Include="Providers\IExternalId.cs" />

View file

@ -1,4 +1,5 @@
using MediaBrowser.Controller.Entities;
using MediaBrowser.Model.Playlists;
using System.Collections.Generic;
using System.Threading.Tasks;
@ -18,15 +19,16 @@ namespace MediaBrowser.Controller.Playlists
/// </summary>
/// <param name="options">The options.</param>
/// <returns>Task&lt;Playlist&gt;.</returns>
Task<Playlist> CreatePlaylist(PlaylistCreationOptions options);
Task<PlaylistCreationResult> CreatePlaylist(PlaylistCreationRequest options);
/// <summary>
/// Adds to playlist.
/// </summary>
/// <param name="playlistId">The playlist identifier.</param>
/// <param name="itemIds">The item ids.</param>
/// <param name="userId">The user identifier.</param>
/// <returns>Task.</returns>
Task AddToPlaylist(string playlistId, IEnumerable<string> itemIds);
Task AddToPlaylist(string playlistId, IEnumerable<string> itemIds, string userId);
/// <summary>
/// Removes from playlist.

View file

@ -1,5 +1,7 @@
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Audio;
using MediaBrowser.Controller.Entities.Movies;
using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Querying;
using System;
@ -49,7 +51,7 @@ namespace MediaBrowser.Controller.Playlists
}
return inputItems.SelectMany(i => GetPlaylistItems(i, user))
.Where(m => string.Equals(m.MediaType, playlistMediaType, StringComparison.OrdinalIgnoreCase));
.Where(m => string.Equals(m.MediaType, playlistMediaType, StringComparison.OrdinalIgnoreCase));
}
private static IEnumerable<BaseItem> GetPlaylistItems(BaseItem i, User user)
@ -57,25 +59,55 @@ namespace MediaBrowser.Controller.Playlists
var musicGenre = i as MusicGenre;
if (musicGenre != null)
{
var songs = user.RootFolder
.GetRecursiveChildren(user)
var items = user == null
? LibraryManager.RootFolder.GetRecursiveChildren()
: user.RootFolder.GetRecursiveChildren(user, true);
var songs = items
.OfType<Audio>()
.Where(a => a.Genres.Contains(musicGenre.Name, StringComparer.OrdinalIgnoreCase));
return LibraryManager.Sort(songs, user, new[] { ItemSortBy.SortName }, SortOrder.Ascending);
return LibraryManager.Sort(songs, user, new[] { ItemSortBy.AlbumArtist, ItemSortBy.Album, ItemSortBy.SortName }, SortOrder.Ascending);
}
var musicArtist = i as MusicArtist;
if (musicArtist != null)
{
var songs = user.RootFolder
.GetRecursiveChildren(user)
var items = user == null
? LibraryManager.RootFolder.GetRecursiveChildren()
: user.RootFolder.GetRecursiveChildren(user, true);
var songs = items
.OfType<Audio>()
.Where(a => a.HasArtist(musicArtist.Name));
return LibraryManager.Sort(songs, user, new[] { ItemSortBy.SortName }, SortOrder.Ascending);
return LibraryManager.Sort(songs, user, new[] { ItemSortBy.AlbumArtist, ItemSortBy.Album, ItemSortBy.SortName }, SortOrder.Ascending);
}
// Grab these explicitly to avoid the sorting that will happen below
var collection = i as BoxSet;
if (collection != null)
{
var items = user == null
? collection.Children
: collection.GetChildren(user, true);
return items
.Where(m => !m.IsFolder);
}
// Grab these explicitly to avoid the sorting that will happen below
var season = i as Season;
if (season != null)
{
var items = user == null
? season.Children
: season.GetChildren(user, true);
return items
.Where(m => !m.IsFolder);
}
var folder = i as Folder;
if (folder != null)
@ -87,12 +119,7 @@ namespace MediaBrowser.Controller.Playlists
items = items
.Where(m => !m.IsFolder);
if (!folder.IsPreSorted)
{
items = LibraryManager.Sort(items, user, new[] { ItemSortBy.SortName }, SortOrder.Ascending);
}
return items;
return LibraryManager.Sort(items, user, new[] { ItemSortBy.SortName }, SortOrder.Ascending);
}
return new[] { i };

View file

@ -159,7 +159,7 @@ namespace MediaBrowser.Dlna.Profiles
{
new SubtitleProfile
{
Format = "ttml",
Format = "vtt",
Method = SubtitleDeliveryMethod.External
}
};

View file

@ -62,7 +62,8 @@ namespace MediaBrowser.Dlna.Ssdp
{
if (string.Equals(args.Method, "M-SEARCH", StringComparison.OrdinalIgnoreCase))
{
var mx = args.Headers["mx"];
string mx = null;
args.Headers.TryGetValue("mx", out mx);
int delaySeconds;
if (!string.IsNullOrWhiteSpace(mx) &&
int.TryParse(mx, NumberStyles.Any, CultureInfo.InvariantCulture, out delaySeconds)

View file

@ -69,22 +69,6 @@ namespace MediaBrowser.MediaEncoding.Encoder
get { return FFMpegPath; }
}
/// <summary>
/// The _semaphoreLocks
/// </summary>
private readonly ConcurrentDictionary<string, SemaphoreSlim> _semaphoreLocks =
new ConcurrentDictionary<string, SemaphoreSlim>();
/// <summary>
/// Gets the lock.
/// </summary>
/// <param name="filename">The filename.</param>
/// <returns>System.Object.</returns>
private SemaphoreSlim GetLock(string filename)
{
return _semaphoreLocks.GetOrAdd(filename, key => new SemaphoreSlim(1, 1));
}
/// <summary>
/// Gets the media info.
/// </summary>

View file

@ -61,8 +61,10 @@
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Subtitles\ISubtitleParser.cs" />
<Compile Include="Subtitles\ISubtitleWriter.cs" />
<Compile Include="Subtitles\JsonWriter.cs" />
<Compile Include="Subtitles\SrtParser.cs" />
<Compile Include="Subtitles\SrtWriter.cs" />
<Compile Include="Subtitles\AssParser.cs" />
<Compile Include="Subtitles\SsaParser.cs" />
<Compile Include="Subtitles\SubtitleEncoder.cs" />
<Compile Include="Subtitles\SubtitleTrackInfo.cs" />
@ -96,4 +98,4 @@
<Target Name="AfterBuild">
</Target>
-->
</Project>
</Project>

View file

@ -0,0 +1,71 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
using System.Threading;
namespace MediaBrowser.MediaEncoding.Subtitles
{
public class AssParser : ISubtitleParser
{
private readonly CultureInfo _usCulture = new CultureInfo("en-US");
public SubtitleTrackInfo Parse(Stream stream, CancellationToken cancellationToken)
{
var trackInfo = new SubtitleTrackInfo();
var eventIndex = 1;
using (var reader = new StreamReader(stream))
{
string line;
while (reader.ReadLine() != "[Events]")
{}
var headers = ParseFieldHeaders(reader.ReadLine());
while ((line = reader.ReadLine()) != null)
{
cancellationToken.ThrowIfCancellationRequested();
if (string.IsNullOrWhiteSpace(line))
{
continue;
}
if(line.StartsWith("["))
break;
if(string.IsNullOrEmpty(line))
continue;
var subEvent = new SubtitleTrackEvent { Id = eventIndex.ToString(_usCulture) };
eventIndex++;
var sections = line.Substring(10).Split(',');
subEvent.StartPositionTicks = GetTicks(sections[headers["Start"]]);
subEvent.EndPositionTicks = GetTicks(sections[headers["End"]]);
subEvent.Text = string.Join(",", sections.Skip(headers["Text"]));
subEvent.Text = Regex.Replace(subEvent.Text, @"\{(\\[\w]+\(?([\w\d]+,?)+\)?)+\}", string.Empty, RegexOptions.IgnoreCase);
trackInfo.TrackEvents.Add(subEvent);
}
}
return trackInfo;
}
long GetTicks(string time)
{
TimeSpan span;
return TimeSpan.TryParseExact(time, @"h\:mm\:ss\.ff", _usCulture, out span)
? span.Ticks: 0;
}
private Dictionary<string,int> ParseFieldHeaders(string line) {
var fields = line.Substring(8).Split(',').Select(x=>x.Trim()).ToList();
var result = new Dictionary<string, int> {
{"Start", fields.IndexOf("Start")},
{"End", fields.IndexOf("End")},
{"Text", fields.IndexOf("Text")}
};
return result;
}
}
}

View file

@ -0,0 +1,27 @@
using MediaBrowser.Model.Serialization;
using System.IO;
using System.Text;
using System.Threading;
namespace MediaBrowser.MediaEncoding.Subtitles
{
public class JsonWriter : ISubtitleWriter
{
private readonly IJsonSerializer _json;
public JsonWriter(IJsonSerializer json)
{
_json = json;
}
public void Write(SubtitleTrackInfo info, Stream stream, CancellationToken cancellationToken)
{
using (var writer = new StreamWriter(stream, Encoding.UTF8, 1024, true))
{
var json = _json.SerializeToString(info);
writer.Write(json);
}
}
}
}

View file

@ -1,71 +1,391 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
using System.Text;
using System.Threading;
namespace MediaBrowser.MediaEncoding.Subtitles
{
/// <summary>
/// Credit to https://github.com/SubtitleEdit/subtitleedit/blob/a299dc4407a31796364cc6ad83f0d3786194ba22/src/Logic/SubtitleFormats/SubStationAlpha.cs
/// </summary>
public class SsaParser : ISubtitleParser
{
private readonly CultureInfo _usCulture = new CultureInfo("en-US");
public SubtitleTrackInfo Parse(Stream stream, CancellationToken cancellationToken)
{
var trackInfo = new SubtitleTrackInfo();
var eventIndex = 1;
using (var reader = new StreamReader(stream))
{
bool eventsStarted = false;
string[] format = "Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text".Split(',');
int indexLayer = 0;
int indexStart = 1;
int indexEnd = 2;
int indexStyle = 3;
int indexName = 4;
int indexEffect = 8;
int indexText = 9;
int lineNumber = 0;
var header = new StringBuilder();
string line;
while (reader.ReadLine() != "[Events]")
{}
var headers = ParseFieldHeaders(reader.ReadLine());
while ((line = reader.ReadLine()) != null)
{
cancellationToken.ThrowIfCancellationRequested();
if (string.IsNullOrWhiteSpace(line))
lineNumber++;
if (!eventsStarted)
header.AppendLine(line);
if (line.Trim().ToLower() == "[events]")
{
continue;
eventsStarted = true;
}
if(line.StartsWith("["))
break;
if(string.IsNullOrEmpty(line))
continue;
var subEvent = new SubtitleTrackEvent { Id = eventIndex.ToString(_usCulture) };
eventIndex++;
var sections = line.Substring(10).Split(',');
else if (!string.IsNullOrEmpty(line) && line.Trim().StartsWith(";"))
{
// skip comment lines
}
else if (eventsStarted && line.Trim().Length > 0)
{
string s = line.Trim().ToLower();
if (s.StartsWith("format:"))
{
if (line.Length > 10)
{
format = line.ToLower().Substring(8).Split(',');
for (int i = 0; i < format.Length; i++)
{
if (format[i].Trim().ToLower() == "layer")
indexLayer = i;
else if (format[i].Trim().ToLower() == "start")
indexStart = i;
else if (format[i].Trim().ToLower() == "end")
indexEnd = i;
else if (format[i].Trim().ToLower() == "text")
indexText = i;
else if (format[i].Trim().ToLower() == "effect")
indexEffect = i;
else if (format[i].Trim().ToLower() == "style")
indexStyle = i;
}
}
}
else if (!string.IsNullOrEmpty(s))
{
string text = string.Empty;
string start = string.Empty;
string end = string.Empty;
string style = string.Empty;
string layer = string.Empty;
string effect = string.Empty;
string name = string.Empty;
subEvent.StartPositionTicks = GetTicks(sections[headers["Start"]]);
subEvent.EndPositionTicks = GetTicks(sections[headers["End"]]);
subEvent.Text = string.Join(",", sections.Skip(headers["Text"]));
subEvent.Text = Regex.Replace(subEvent.Text, @"\{(\\[\w]+\(?([\w\d]+,?)+\)?)+\}", string.Empty, RegexOptions.IgnoreCase);
string[] splittedLine;
trackInfo.TrackEvents.Add(subEvent);
}
if (s.StartsWith("dialogue:"))
splittedLine = line.Substring(10).Split(',');
else
splittedLine = line.Split(',');
for (int i = 0; i < splittedLine.Length; i++)
{
if (i == indexStart)
start = splittedLine[i].Trim();
else if (i == indexEnd)
end = splittedLine[i].Trim();
else if (i == indexLayer)
layer = splittedLine[i];
else if (i == indexEffect)
effect = splittedLine[i];
else if (i == indexText)
text = splittedLine[i];
else if (i == indexStyle)
style = splittedLine[i];
else if (i == indexName)
name = splittedLine[i];
else if (i > indexText)
text += "," + splittedLine[i];
}
try
{
var p = new SubtitleTrackEvent();
p.StartPositionTicks = GetTimeCodeFromString(start);
p.EndPositionTicks = GetTimeCodeFromString(end);
p.Text = GetFormattedText(text);
trackInfo.TrackEvents.Add(p);
}
catch
{
}
}
}
}
//if (header.Length > 0)
//subtitle.Header = header.ToString();
//subtitle.Renumber(1);
}
return trackInfo;
}
long GetTicks(string time)
private static long GetTimeCodeFromString(string time)
{
TimeSpan span;
return TimeSpan.TryParseExact(time, @"h\:mm\:ss\.ff", _usCulture, out span)
? span.Ticks: 0;
// h:mm:ss.cc
string[] timeCode = time.Split(':', '.');
return new TimeSpan(0, int.Parse(timeCode[0]),
int.Parse(timeCode[1]),
int.Parse(timeCode[2]),
int.Parse(timeCode[3]) * 10).Ticks;
}
private Dictionary<string,int> ParseFieldHeaders(string line) {
var fields = line.Substring(8).Split(',').Select(x=>x.Trim()).ToList();
public static string GetFormattedText(string text)
{
text = text.Replace("\\N", Environment.NewLine).Replace("\\n", Environment.NewLine);
bool italic = false;
var result = new Dictionary<string, int> {
{"Start", fields.IndexOf("Start")},
{"End", fields.IndexOf("End")},
{"Text", fields.IndexOf("Text")}
};
return result;
for (int i = 0; i < 10; i++) // just look ten times...
{
if (text.Contains(@"{\fn"))
{
int start = text.IndexOf(@"{\fn");
int end = text.IndexOf('}', start);
if (end > 0 && !text.Substring(start).StartsWith("{\\fn}"))
{
string fontName = text.Substring(start + 4, end - (start + 4));
string extraTags = string.Empty;
CheckAndAddSubTags(ref fontName, ref extraTags, out italic);
text = text.Remove(start, end - start + 1);
if (italic)
text = text.Insert(start, "<font face=\"" + fontName + "\"" + extraTags + "><i>");
else
text = text.Insert(start, "<font face=\"" + fontName + "\"" + extraTags + ">");
int indexOfEndTag = text.IndexOf("{\\fn}", start);
if (indexOfEndTag > 0)
text = text.Remove(indexOfEndTag, "{\\fn}".Length).Insert(indexOfEndTag, "</font>");
else
text += "</font>";
}
}
if (text.Contains(@"{\fs"))
{
int start = text.IndexOf(@"{\fs");
int end = text.IndexOf('}', start);
if (end > 0 && !text.Substring(start).StartsWith("{\\fs}"))
{
string fontSize = text.Substring(start + 4, end - (start + 4));
string extraTags = string.Empty;
CheckAndAddSubTags(ref fontSize, ref extraTags, out italic);
if (IsInteger(fontSize))
{
text = text.Remove(start, end - start + 1);
if (italic)
text = text.Insert(start, "<font size=\"" + fontSize + "\"" + extraTags + "><i>");
else
text = text.Insert(start, "<font size=\"" + fontSize + "\"" + extraTags + ">");
int indexOfEndTag = text.IndexOf("{\\fs}", start);
if (indexOfEndTag > 0)
text = text.Remove(indexOfEndTag, "{\\fs}".Length).Insert(indexOfEndTag, "</font>");
else
text += "</font>";
}
}
}
if (text.Contains(@"{\c"))
{
int start = text.IndexOf(@"{\c");
int end = text.IndexOf('}', start);
if (end > 0 && !text.Substring(start).StartsWith("{\\c}"))
{
string color = text.Substring(start + 4, end - (start + 4));
string extraTags = string.Empty;
CheckAndAddSubTags(ref color, ref extraTags, out italic);
color = color.Replace("&", string.Empty).TrimStart('H');
color = color.PadLeft(6, '0');
// switch to rrggbb from bbggrr
color = "#" + color.Remove(color.Length - 6) + color.Substring(color.Length - 2, 2) + color.Substring(color.Length - 4, 2) + color.Substring(color.Length - 6, 2);
color = color.ToLower();
text = text.Remove(start, end - start + 1);
if (italic)
text = text.Insert(start, "<font color=\"" + color + "\"" + extraTags + "><i>");
else
text = text.Insert(start, "<font color=\"" + color + "\"" + extraTags + ">");
int indexOfEndTag = text.IndexOf("{\\c}", start);
if (indexOfEndTag > 0)
text = text.Remove(indexOfEndTag, "{\\c}".Length).Insert(indexOfEndTag, "</font>");
else
text += "</font>";
}
}
if (text.Contains(@"{\1c")) // "1" specifices primary color
{
int start = text.IndexOf(@"{\1c");
int end = text.IndexOf('}', start);
if (end > 0 && !text.Substring(start).StartsWith("{\\1c}"))
{
string color = text.Substring(start + 5, end - (start + 5));
string extraTags = string.Empty;
CheckAndAddSubTags(ref color, ref extraTags, out italic);
color = color.Replace("&", string.Empty).TrimStart('H');
color = color.PadLeft(6, '0');
// switch to rrggbb from bbggrr
color = "#" + color.Remove(color.Length - 6) + color.Substring(color.Length - 2, 2) + color.Substring(color.Length - 4, 2) + color.Substring(color.Length - 6, 2);
color = color.ToLower();
text = text.Remove(start, end - start + 1);
if (italic)
text = text.Insert(start, "<font color=\"" + color + "\"" + extraTags + "><i>");
else
text = text.Insert(start, "<font color=\"" + color + "\"" + extraTags + ">");
text += "</font>";
}
}
}
text = text.Replace(@"{\i1}", "<i>");
text = text.Replace(@"{\i0}", "</i>");
text = text.Replace(@"{\i}", "</i>");
if (CountTagInText(text, "<i>") > CountTagInText(text, "</i>"))
text += "</i>";
text = text.Replace(@"{\u1}", "<u>");
text = text.Replace(@"{\u0}", "</u>");
text = text.Replace(@"{\u}", "</u>");
if (CountTagInText(text, "<u>") > CountTagInText(text, "</u>"))
text += "</u>";
text = text.Replace(@"{\b1}", "<b>");
text = text.Replace(@"{\b0}", "</b>");
text = text.Replace(@"{\b}", "</b>");
if (CountTagInText(text, "<b>") > CountTagInText(text, "</b>"))
text += "</b>";
return text;
}
private static bool IsInteger(string s)
{
int i;
if (int.TryParse(s, out i))
return true;
return false;
}
private static int CountTagInText(string text, string tag)
{
int count = 0;
int index = text.IndexOf(tag);
while (index >= 0)
{
count++;
if (index == text.Length)
return count;
index = text.IndexOf(tag, index + 1);
}
return count;
}
private static void CheckAndAddSubTags(ref string tagName, ref string extraTags, out bool italic)
{
italic = false;
int indexOfSPlit = tagName.IndexOf(@"\");
if (indexOfSPlit > 0)
{
string rest = tagName.Substring(indexOfSPlit).TrimStart('\\');
tagName = tagName.Remove(indexOfSPlit);
for (int i = 0; i < 10; i++)
{
if (rest.StartsWith("fs") && rest.Length > 2)
{
indexOfSPlit = rest.IndexOf(@"\");
string fontSize = rest;
if (indexOfSPlit > 0)
{
fontSize = rest.Substring(0, indexOfSPlit);
rest = rest.Substring(indexOfSPlit).TrimStart('\\');
}
else
{
rest = string.Empty;
}
extraTags += " size=\"" + fontSize.Substring(2) + "\"";
}
else if (rest.StartsWith("fn") && rest.Length > 2)
{
indexOfSPlit = rest.IndexOf(@"\");
string fontName = rest;
if (indexOfSPlit > 0)
{
fontName = rest.Substring(0, indexOfSPlit);
rest = rest.Substring(indexOfSPlit).TrimStart('\\');
}
else
{
rest = string.Empty;
}
extraTags += " face=\"" + fontName.Substring(2) + "\"";
}
else if (rest.StartsWith("c") && rest.Length > 2)
{
indexOfSPlit = rest.IndexOf(@"\");
string fontColor = rest;
if (indexOfSPlit > 0)
{
fontColor = rest.Substring(0, indexOfSPlit);
rest = rest.Substring(indexOfSPlit).TrimStart('\\');
}
else
{
rest = string.Empty;
}
string color = fontColor.Substring(2);
color = color.Replace("&", string.Empty).TrimStart('H');
color = color.PadLeft(6, '0');
// switch to rrggbb from bbggrr
color = "#" + color.Remove(color.Length - 6) + color.Substring(color.Length - 2, 2) + color.Substring(color.Length - 4, 2) + color.Substring(color.Length - 6, 2);
color = color.ToLower();
extraTags += " color=\"" + color + "\"";
}
else if (rest.StartsWith("i1") && rest.Length > 1)
{
indexOfSPlit = rest.IndexOf(@"\");
italic = true;
if (indexOfSPlit > 0)
{
rest = rest.Substring(indexOfSPlit).TrimStart('\\');
}
else
{
rest = string.Empty;
}
}
else if (rest.Length > 0 && rest.Contains("\\"))
{
indexOfSPlit = rest.IndexOf(@"\");
rest = rest.Substring(indexOfSPlit).TrimStart('\\');
}
}
}
}
}
}

View file

@ -7,6 +7,7 @@ using MediaBrowser.Controller.MediaEncoding;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.MediaInfo;
using MediaBrowser.Model.Serialization;
using System;
using System.Collections.Concurrent;
using System.Diagnostics;
@ -26,14 +27,16 @@ namespace MediaBrowser.MediaEncoding.Subtitles
private readonly IApplicationPaths _appPaths;
private readonly IFileSystem _fileSystem;
private readonly IMediaEncoder _mediaEncoder;
private readonly IJsonSerializer _json;
public SubtitleEncoder(ILibraryManager libraryManager, ILogger logger, IApplicationPaths appPaths, IFileSystem fileSystem, IMediaEncoder mediaEncoder)
public SubtitleEncoder(ILibraryManager libraryManager, ILogger logger, IApplicationPaths appPaths, IFileSystem fileSystem, IMediaEncoder mediaEncoder, IJsonSerializer json)
{
_libraryManager = libraryManager;
_logger = logger;
_appPaths = appPaths;
_fileSystem = fileSystem;
_mediaEncoder = mediaEncoder;
_json = json;
}
private string SubtitleCachePath
@ -239,11 +242,14 @@ namespace MediaBrowser.MediaEncoding.Subtitles
{
return new SrtParser();
}
if (string.Equals(format, SubtitleFormat.SSA, StringComparison.OrdinalIgnoreCase) ||
string.Equals(format, SubtitleFormat.ASS, StringComparison.OrdinalIgnoreCase))
if (string.Equals(format, SubtitleFormat.SSA, StringComparison.OrdinalIgnoreCase))
{
return new SsaParser();
}
if (string.Equals(format, SubtitleFormat.ASS, StringComparison.OrdinalIgnoreCase))
{
return new AssParser();
}
if (throwIfMissing)
{
@ -260,6 +266,10 @@ namespace MediaBrowser.MediaEncoding.Subtitles
throw new ArgumentNullException("format");
}
if (string.Equals(format, "json", StringComparison.OrdinalIgnoreCase))
{
return new JsonWriter(_json);
}
if (string.Equals(format, SubtitleFormat.SRT, StringComparison.OrdinalIgnoreCase))
{
return new SrtWriter();

View file

@ -695,9 +695,15 @@
<Compile Include="..\MediaBrowser.Model\Notifications\SendToUserType.cs">
<Link>Notifications\SendToUserType.cs</Link>
</Compile>
<Compile Include="..\MediaBrowser.Model\Playlists\PlaylistCreationRequest.cs">
<Link>Playlists\PlaylistCreationRequest.cs</Link>
</Compile>
<Compile Include="..\MediaBrowser.Model\Playlists\PlaylistCreationResult.cs">
<Link>Playlists\PlaylistCreationResult.cs</Link>
</Compile>
<Compile Include="..\MediaBrowser.Model\Playlists\PlaylistItemQuery.cs">
<Link>Playlists\PlaylistItemQuery.cs</Link>
</Compile>
<Compile Include="..\MediaBrowser.Model\Plugins\BasePluginConfiguration.cs">
<Link>Plugins\BasePluginConfiguration.cs</Link>
</Compile>

View file

@ -652,9 +652,15 @@
<Compile Include="..\MediaBrowser.Model\Notifications\SendToUserType.cs">
<Link>Notifications\SendToUserType.cs</Link>
</Compile>
<Compile Include="..\MediaBrowser.Model\Playlists\PlaylistCreationRequest.cs">
<Link>Playlists\PlaylistCreationRequest.cs</Link>
</Compile>
<Compile Include="..\MediaBrowser.Model\Playlists\PlaylistCreationResult.cs">
<Link>Playlists\PlaylistCreationResult.cs</Link>
</Compile>
<Compile Include="..\MediaBrowser.Model\Playlists\PlaylistItemQuery.cs">
<Link>Playlists\PlaylistItemQuery.cs</Link>
</Compile>
<Compile Include="..\MediaBrowser.Model\Plugins\BasePluginConfiguration.cs">
<Link>Plugins\BasePluginConfiguration.cs</Link>
</Compile>

View file

@ -5,6 +5,7 @@ using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Globalization;
using MediaBrowser.Model.LiveTv;
using MediaBrowser.Model.Notifications;
using MediaBrowser.Model.Playlists;
using MediaBrowser.Model.Plugins;
using MediaBrowser.Model.Querying;
using MediaBrowser.Model.Search;
@ -1257,5 +1258,36 @@ namespace MediaBrowser.Model.ApiClient
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task{QueryResult{BaseItemDto}}.</returns>
Task<QueryResult<BaseItemDto>> GetLatestChannelItems(AllChannelMediaQuery query, CancellationToken cancellationToken = default(CancellationToken));
/// <summary>
/// Creates the playlist.
/// </summary>
/// <param name="request">The request.</param>
/// <returns>Task&lt;PlaylistCreationResult&gt;.</returns>
Task<PlaylistCreationResult> CreatePlaylist(PlaylistCreationRequest request);
/// <summary>
/// Adds to playlist.
/// </summary>
/// <param name="playlistId">The playlist identifier.</param>
/// <param name="itemIds">The item ids.</param>
/// <param name="userId">The user identifier.</param>
/// <returns>Task.</returns>
Task AddToPlaylist(string playlistId, IEnumerable<string> itemIds, string userId);
/// <summary>
/// Removes from playlist.
/// </summary>
/// <param name="playlistId">The playlist identifier.</param>
/// <param name="entryIds">The entry ids.</param>
/// <returns>Task.</returns>
Task RemoveFromPlaylist(string playlistId, IEnumerable<string> entryIds);
/// <summary>
/// Gets the playlist items.
/// </summary>
/// <param name="query">The query.</param>
/// <returns>Task&lt;QueryResult&lt;BaseItemDto&gt;&gt;.</returns>
Task<QueryResult<BaseItemDto>> GetPlaylistItems(PlaylistItemQuery query);
}
}

View file

@ -1,12 +1,12 @@
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Extensions;
using MediaBrowser.Model.Library;
using MediaBrowser.Model.Providers;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Runtime.Serialization;
using MediaBrowser.Model.Providers;
namespace MediaBrowser.Model.Dto
{
@ -227,6 +227,12 @@ namespace MediaBrowser.Model.Dto
/// <value>The production year.</value>
public int? ProductionYear { get; set; }
/// <summary>
/// Gets or sets the recursive unplayed item count.
/// </summary>
/// <value>The recursive unplayed item count.</value>
public int? RecursiveUnplayedItemCount { get; set; }
/// <summary>
/// Gets or sets the season count.
/// </summary>

View file

@ -66,5 +66,13 @@ namespace MediaBrowser.Model.Logging
/// <param name="severity">The severity.</param>
/// <param name="additionalContent">Content of the additional.</param>
void LogMultiline(string message, LogSeverity severity, StringBuilder additionalContent);
/// <summary>
/// Logs the specified severity.
/// </summary>
/// <param name="severity">The severity.</param>
/// <param name="message">The message.</param>
/// <param name="paramList">The parameter list.</param>
void Log(LogSeverity severity, string message, params object[] paramList);
}
}

View file

@ -100,6 +100,8 @@
<Compile Include="Configuration\PathSubstitution.cs" />
<Compile Include="Notifications\SendToUserType.cs" />
<Compile Include="Configuration\ServerConfiguration.cs" />
<Compile Include="Playlists\PlaylistCreationRequest.cs" />
<Compile Include="Playlists\PlaylistItemQuery.cs" />
<Compile Include="Providers\SubtitleOptions.cs" />
<Compile Include="Configuration\UnratedItem.cs" />
<Compile Include="Dlna\AudioOptions.cs" />

View file

@ -1,10 +1,10 @@
using System.Collections.Generic;
namespace MediaBrowser.Controller.Playlists
namespace MediaBrowser.Model.Playlists
{
public class PlaylistCreationOptions
public class PlaylistCreationRequest
{
public string Name { get; set; }
public string Name { get; set; }
public List<string> ItemIdList { get; set; }
@ -12,9 +12,9 @@ namespace MediaBrowser.Controller.Playlists
public string UserId { get; set; }
public PlaylistCreationOptions()
public PlaylistCreationRequest()
{
ItemIdList = new List<string>();
}
}
}
}

View file

@ -0,0 +1,37 @@
using MediaBrowser.Model.Querying;
namespace MediaBrowser.Model.Playlists
{
public class PlaylistItemQuery
{
/// <summary>
/// Gets or sets the identifier.
/// </summary>
/// <value>The identifier.</value>
public string Id { get; set; }
/// <summary>
/// Gets or sets the user identifier.
/// </summary>
/// <value>The user identifier.</value>
public string UserId { 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 fields.
/// </summary>
/// <value>The fields.</value>
public ItemFields[] Fields { get; set; }
}
}

View file

@ -26,6 +26,12 @@ namespace MediaBrowser.Model.System
/// <value>The mac address.</value>
public string MacAddress { get; set; }
/// <summary>
/// Gets or sets the local address.
/// </summary>
/// <value>The local address.</value>
public string LocalAddress { get; set; }
/// <summary>
/// Gets or sets a value indicating whether this instance has pending restart.
/// </summary>

View file

@ -103,9 +103,6 @@ namespace MediaBrowser.Providers.Manager
refreshResult.AddStatus(ProviderRefreshStatus.Failure, ex.Message);
}
// Identify item
TIdType id = null;
// Next run metadata providers
if (refreshOptions.MetadataRefreshMode != MetadataRefreshMode.None)
{
@ -122,23 +119,19 @@ namespace MediaBrowser.Providers.Manager
if (providers.Count > 0)
{
id = await CreateInitialLookupInfo(itemOfType, cancellationToken).ConfigureAwait(false);
var id = await CreateInitialLookupInfo(itemOfType, cancellationToken).ConfigureAwait(false);
var result = await RefreshWithProviders(itemOfType, id, refreshOptions, providers, itemImageProvider, cancellationToken).ConfigureAwait(false);
updateType = updateType | result.UpdateType;
refreshResult.AddStatus(result.Status, result.ErrorMessage);
refreshResult.SetDateLastMetadataRefresh(DateTime.UtcNow);
refreshResult.AddImageProvidersRefreshed(result.Providers);
MergeIdentities(itemOfType, id);
}
}
if (id == null)
{
id = await CreateInitialLookupInfo(itemOfType, cancellationToken).ConfigureAwait(false);
}
MergeIdentities(itemOfType, id);
// Next run remote image providers, but only if local image providers didn't throw an exception
if (!localImagesFailed && refreshOptions.ImageRefreshMode != ImageRefreshMode.ValidationOnly)
{
@ -491,7 +484,7 @@ namespace MediaBrowser.Providers.Manager
{
try
{
//await hasIdentity.FindIdentities(ProviderManager, cancellationToken).ConfigureAwait(false);
await hasIdentity.FindIdentities(ProviderManager, cancellationToken).ConfigureAwait(false);
}
catch (Exception ex)
{

View file

@ -53,6 +53,9 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\MediaBrowser.BdInfo.1.0.0.10\lib\net35\DvdLib.dll</HintPath>
</Reference>
<Reference Include="MoreLinq">
<HintPath>..\packages\morelinq.1.0.16006\lib\net35\MoreLinq.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Net" />
@ -61,9 +64,6 @@
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="MoreLinq">
<HintPath>..\packages\morelinq.1.0.16006\lib\net35\MoreLinq.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="..\SharedVersion.cs">

View file

@ -65,8 +65,7 @@ namespace MediaBrowser.Providers.TV
var season = (Season)item;
var series = season.Series;
var identity = season.Identities.OfType<SeasonIdentity>().FirstOrDefault(id => id.Type == MetadataProviders.Tvdb.ToString());
var seriesId = identity != null ? identity.SeriesId : null;
var seriesId = series != null ? series.GetProviderId(MetadataProviders.Tvdb) : null;
if (!string.IsNullOrEmpty(seriesId) && season.IndexNumber.HasValue)
{
@ -77,9 +76,18 @@ namespace MediaBrowser.Providers.TV
var path = Path.Combine(seriesDataPath, "banners.xml");
var identity = season.Identities.OfType<SeasonIdentity>()
.FirstOrDefault(id => id.Type == MetadataProviders.Tvdb.ToString());
var seasonNumber = season.IndexNumber.Value;
if (identity != null)
{
seasonNumber = AdjustForSeriesOffset(series, identity.SeasonIndex);
}
try
{
int seasonNumber = AdjustForSeriesOffset(series, identity.SeasonIndex);
return GetImages(path, item.GetPreferredMetadataLanguage(), seasonNumber, cancellationToken);
}
catch (FileNotFoundException)

View file

@ -251,7 +251,9 @@ namespace MediaBrowser.Server.Implementations.Dto
dto.ChildCount = GetChildCount(folder, user);
if (!(folder is UserRootFolder))
// These are just far too slow.
// TODO: Disable for CollectionFolder
if (!(folder is UserRootFolder) && !(folder is UserView))
{
SetSpecialCounts(folder, user, dto, fields);
}
@ -1364,6 +1366,7 @@ namespace MediaBrowser.Server.Implementations.Dto
dto.RecursiveItemCount = recursiveItemCount;
dto.UserData.UnplayedItemCount = unplayed;
dto.RecursiveUnplayedItemCount = unplayed;
if (recursiveItemCount > 0)
{

View file

@ -4,8 +4,10 @@ using MediaBrowser.Controller.Plugins;
using MediaBrowser.Model.Logging;
using Mono.Nat;
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Threading;
namespace MediaBrowser.Server.Implementations.EntryPoints
{
@ -17,6 +19,8 @@ namespace MediaBrowser.Server.Implementations.EntryPoints
private bool _isStarted;
private Timer _timer;
public ExternalPortForwarding(ILogManager logmanager, IServerApplicationHost appHost, IServerConfigurationManager config)
{
_logger = logmanager.GetLogger("PortMapper");
@ -43,7 +47,7 @@ namespace MediaBrowser.Server.Implementations.EntryPoints
public void Run()
{
//NatUtility.Logger = new LogWriter(_logger);
Reload();
}
@ -52,20 +56,22 @@ namespace MediaBrowser.Server.Implementations.EntryPoints
if (_config.Configuration.EnableUPnP)
{
_logger.Debug("Starting NAT discovery");
NatUtility.DeviceFound += NatUtility_DeviceFound;
// Mono.Nat does never rise this event. The event is there however it is useless.
// You could remove it with no risk.
// NatUtility.DeviceLost += NatUtility_DeviceLost;
// it is hard to say what one should do when an unhandled exception is raised
// because there isn't anything one can do about it. Probably save a log or ignored it.
NatUtility.UnhandledException += NatUtility_UnhandledException;
NatUtility.StartDiscovery();
_isStarted = true;
_timer = new Timer(s => _createdRules = new List<string>(), null, TimeSpan.FromHours(6), TimeSpan.FromHours(6));
}
}
@ -101,16 +107,27 @@ namespace MediaBrowser.Server.Implementations.EntryPoints
// on the router's upnp implementation (specs says it should fail however some routers don't do it)
// It also can fail with others like 727-ExternalPortOnlySupportsWildcard, 728-NoPortMapsAvailable
// and those errors (upnp errors) could be useful for diagnosting.
//_logger.ErrorException("Error creating port forwarding rules", ex);
}
}
private List<string> _createdRules = new List<string>();
private void CreateRules(INatDevice device)
{
var info = _appHost.GetSystemInfo();
// On some systems the device discovered event seems to fire repeatedly
// This check will help ensure we're not trying to port map the same device over and over
CreatePortMap(device, info.HttpServerPortNumber);
var address = device.LocalAddress.ToString();
if (!_createdRules.Contains(address))
{
_createdRules.Add(address);
var info = _appHost.GetSystemInfo();
CreatePortMap(device, info.HttpServerPortNumber);
}
}
private void CreatePortMap(INatDevice device, int port)
@ -139,6 +156,12 @@ namespace MediaBrowser.Server.Implementations.EntryPoints
{
_logger.Debug("Stopping NAT discovery");
if (_timer != null)
{
_timer.Dispose();
_timer = null;
}
try
{
// This is not a significant improvement
@ -150,10 +173,10 @@ namespace MediaBrowser.Server.Implementations.EntryPoints
// Statements in try-block will no fail because StopDiscovery is a one-line
// method that was no chances to fail.
// public static void StopDiscovery ()
// {
// {
// searching.Reset();
// }
// IMO you could remove the catch-block
// }
// IMO you could remove the catch-block
catch (Exception ex)
{
_logger.ErrorException("Error stopping NAT Discovery", ex);

View file

@ -1,7 +1,5 @@
using MediaBrowser.Common.Net;
using MediaBrowser.Controller;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Net;
using MediaBrowser.Controller.Plugins;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Serialization;
@ -29,32 +27,22 @@ namespace MediaBrowser.Server.Implementations.EntryPoints
/// The _network manager
/// </summary>
private readonly INetworkManager _networkManager;
/// <summary>
/// The _server configuration manager
/// </summary>
private readonly IServerConfigurationManager _serverConfigurationManager;
/// <summary>
/// The _HTTP server
/// </summary>
private readonly IHttpServer _httpServer;
private readonly IServerApplicationHost _appHost;
private readonly IJsonSerializer _json;
public const int PortNumber = 7359;
/// <summary>
/// Initializes a new instance of the <see cref="UdpServerEntryPoint"/> class.
/// Initializes a new instance of the <see cref="UdpServerEntryPoint" /> class.
/// </summary>
/// <param name="logger">The logger.</param>
/// <param name="networkManager">The network manager.</param>
/// <param name="serverConfigurationManager">The server configuration manager.</param>
/// <param name="httpServer">The HTTP server.</param>
public UdpServerEntryPoint(ILogger logger, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager, IHttpServer httpServer, IServerApplicationHost appHost, IJsonSerializer json)
/// <param name="appHost">The application host.</param>
/// <param name="json">The json.</param>
public UdpServerEntryPoint(ILogger logger, INetworkManager networkManager, IServerApplicationHost appHost, IJsonSerializer json)
{
_logger = logger;
_networkManager = networkManager;
_serverConfigurationManager = serverConfigurationManager;
_httpServer = httpServer;
_appHost = appHost;
_json = json;
}
@ -64,7 +52,7 @@ namespace MediaBrowser.Server.Implementations.EntryPoints
/// </summary>
public void Run()
{
var udpServer = new UdpServer(_logger, _networkManager, _serverConfigurationManager, _httpServer, _appHost, _json);
var udpServer = new UdpServer(_logger, _networkManager, _appHost, _json);
try
{

View file

@ -4,7 +4,7 @@ using System;
using System.IO;
using System.Threading;
namespace MediaBrowser.ServerApplication.EntryPoints
namespace MediaBrowser.Server.Implementations.EntryPoints
{
public class WanAddressEntryPoint : IServerEntryPoint
{

View file

@ -1,4 +1,5 @@
using MediaBrowser.Controller.Configuration;
using System.Collections.Generic;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Net;
using MediaBrowser.Controller.Session;
@ -52,12 +53,17 @@ namespace MediaBrowser.Server.Implementations.HttpServer.Security
ValidateUser(req);
}
// TODO: Remove this when all clients have supported the new sescurity
private readonly List<string> _updatedClients = new List<string>(){"Dashboard"};
private void ValidateUser(IRequest req)
{
//This code is executed before the service
var auth = AuthorizationContext.GetAuthorizationInfo(req);
if (!string.IsNullOrWhiteSpace(auth.Token) || _config.Configuration.EnableTokenAuthentication)
if (!string.IsNullOrWhiteSpace(auth.Token)
|| _config.Configuration.EnableTokenAuthentication
|| _updatedClients.Contains(auth.Client ?? string.Empty, StringComparer.OrdinalIgnoreCase))
{
SessionManager.ValidateSecurityToken(auth.Token);
}

View file

@ -352,7 +352,7 @@
"HeaderTrack": "Track",
"HeaderDisc": "Disc",
"OptionMovies": "Movies",
"OptionCollections": "Collection",
"OptionCollections": "Collections",
"OptionSeries": "Series",
"OptionSeasons": "Seasons",
"OptionEpisodes": "Episodes",

View file

@ -352,7 +352,7 @@
"HeaderTrack": "Track",
"HeaderDisc": "Disc",
"OptionMovies": "Movies",
"OptionCollections": "Collection",
"OptionCollections": "Collections",
"OptionSeries": "Series",
"OptionSeasons": "Seasons",
"OptionEpisodes": "Episodes",

View file

@ -352,7 +352,7 @@
"HeaderTrack": "Track",
"HeaderDisc": "Disc",
"OptionMovies": "Filmy",
"OptionCollections": "Collection",
"OptionCollections": "Collections",
"OptionSeries": "Series",
"OptionSeasons": "Seasons",
"OptionEpisodes": "Episody",

View file

@ -352,7 +352,7 @@
"HeaderTrack": "Track",
"HeaderDisc": "Disc",
"OptionMovies": "Film",
"OptionCollections": "Collection",
"OptionCollections": "Collections",
"OptionSeries": "Series",
"OptionSeasons": "Seasons",
"OptionEpisodes": "Episoder",

View file

@ -40,7 +40,7 @@
"LabelStopping": "Stopping",
"LabelCancelled": "(abgebrochen)",
"LabelFailed": "(fehlgeschlagen)",
"LabelAbortedByServerShutdown": "(Aborted by server shutdown)",
"LabelAbortedByServerShutdown": "(Durch herunterfahrenden Server abgebrochen)",
"LabelScheduledTaskLastRan": "Last ran {0}, taking {1}.",
"HeaderDeleteTaskTrigger": "Entferne Aufgabenausl\u00f6ser",
"HeaderTaskTriggers": "Aufgabenausl\u00f6ser",
@ -56,16 +56,16 @@
"LabelDefaultForcedStream": "(Default\/Forced)",
"LabelUnknownLanguage": "Unbekannte Sprache",
"ButtonMute": "Stumm",
"ButtonUnmute": "Unmute",
"ButtonUnmute": "Ton ein",
"ButtonStop": "Stop",
"ButtonNextTrack": "N\u00e4chster Track",
"ButtonNextTrack": "N\u00e4chstes St\u00fcck",
"ButtonPause": "Pause",
"ButtonPlay": "Abspielen",
"ButtonEdit": "Bearbeiten",
"ButtonQueue": "Warteschlange",
"ButtonPlayTrailer": "Spiele Trailer",
"ButtonPlaylist": "Playlist",
"ButtonPreviousTrack": "Vorheriger Track",
"ButtonPlaylist": "Wiedergabeliste",
"ButtonPreviousTrack": "Vorheriges St\u00fcck",
"LabelEnabled": "Aktivieren",
"LabelDisabled": "Deaktivieren",
"ButtonMoreInformation": "mehr Informationen",
@ -88,9 +88,9 @@
"MessageSeriesCancelled": "Series cancelled.",
"HeaderConfirmRecordingDeletion": "Confirm Recording Deletion",
"MessageConfirmRecordingDeletion": "Are you sure you wish to delete this recording?",
"MessageRecordingDeleted": "Recording deleted.",
"ButonCancelRecording": "Cancel Recording",
"MessageRecordingSaved": "Recording saved.",
"MessageRecordingDeleted": "Aufnahme gel\u00f6scht",
"ButonCancelRecording": "Aufnahme abbrechen",
"MessageRecordingSaved": "Aufnahme gespeichert",
"OptionSunday": "Sonntag",
"OptionMonday": "Montag",
"OptionTuesday": "Dienstag",
@ -98,8 +98,8 @@
"OptionThursday": "Donnerstag",
"OptionFriday": "Freitag",
"OptionSaturday": "Samstag",
"HeaderConfirmDeletion": "Confirm Deletion",
"MessageConfirmPathSubstitutionDeletion": "Are you sure you wish to delete this path substitution?",
"HeaderConfirmDeletion": "Best\u00e4tige L\u00f6schung",
"MessageConfirmPathSubstitutionDeletion": "Bist du dir sicher die Pfadsubstitution l\u00f6schen zu wollen?",
"LiveTvUpdateAvailable": "(Update verf\u00fcgbar)",
"LabelVersionUpToDate": "Auf dem neuesten Stand!",
"ButtonResetTuner": "Tuner zur\u00fccksetzen",
@ -116,20 +116,20 @@
"MessageConfirmSplitMedia": "Sind Sie sicher, dass Sie die Medienquellen in seperate Elemente aufteilen wollen?",
"HeaderError": "Fehler",
"MessagePleaseSelectOneItem": "Please select at least one item.",
"MessagePleaseSelectTwoItems": "Please select at least two items.",
"MessagePleaseSelectTwoItems": "Bitte w\u00e4hle mindestens zwei Optionen aus.",
"MessageTheFollowingItemsWillBeGrouped": "Die folgenden Titel werden zu einem Element gruppiert:",
"MessageConfirmItemGrouping": "Media Browser clients will automatically choose the optimal version to play based on device and network performance. Are you sure you wish to continue?",
"HeaderResume": "Fortsetzen",
"HeaderMyViews": "My Views",
"HeaderMyViews": "Meine Ansichten",
"HeaderLibraryFolders": "Media Folders",
"HeaderLatestMedia": "Letzte Medien",
"ButtonMoreItems": "More...",
"ButtonMore": "Mehr...",
"HeaderFavoriteMovies": "Favorite Movies",
"ButtonMore": "Mehr",
"HeaderFavoriteMovies": "Lieblingsfilme",
"HeaderFavoriteShows": "Favorite Shows",
"HeaderFavoriteEpisodes": "Favorite Episodes",
"HeaderFavoriteGames": "Favorite Games",
"HeaderRatingsDownloads": "Rating \/ Downloads",
"HeaderFavoriteEpisodes": "Lieblingsepisoden",
"HeaderFavoriteGames": "Lieblingsspiele",
"HeaderRatingsDownloads": "Bewertung \/ Downloads",
"HeaderConfirmProfileDeletion": "Best\u00e4tige Profill\u00f6schung",
"MessageConfirmProfileDeletion": "Sind Sie sicher, dass Sie dieses Profil l\u00f6schen wollen?",
"HeaderSelectServerCachePath": "W\u00e4hle Server Cache Pfad:",
@ -142,7 +142,7 @@
"HeaderSelectMetadataPathHelp": "Browse or enter the path you'd like to store metadata within. The folder must be writeable.",
"HeaderSelectChannelDownloadPath": "Select Channel Download Path",
"HeaderSelectChannelDownloadPathHelp": "Browse or enter the path to use for storing channel cache files. The folder must be writeable.",
"OptionNewCollection": "New...",
"OptionNewCollection": "Neu...",
"ButtonAdd": "Hinzuf\u00fcgen",
"ButtonRemove": "Entfernen",
"LabelChapterDownloaders": "Chapter downloaders:",
@ -155,44 +155,44 @@
"HeaderDeleteFile": "Delete File",
"StatusSkipped": "Skipped",
"StatusFailed": "Failed",
"StatusSuccess": "Success",
"MessageFileWillBeDeleted": "The following file will be deleted:",
"MessageSureYouWishToProceed": "Are you sure you wish to proceed?",
"MessageDuplicatesWillBeDeleted": "In addition the following dupliates will be deleted:",
"MessageFollowingFileWillBeMovedFrom": "The following file will be moved from:",
"MessageDestinationTo": "to:",
"StatusSuccess": "Erfolgreich",
"MessageFileWillBeDeleted": "Die folgende Datei wird gel\u00f6scht:",
"MessageSureYouWishToProceed": "Bis du dir sicher fortfahren zu wollen?",
"MessageDuplicatesWillBeDeleted": "Zus\u00e4tzlich werden folgende Duplikate gel\u00f6scht:",
"MessageFollowingFileWillBeMovedFrom": "Die folgende Datei wird verschoben von:",
"MessageDestinationTo": "nach:",
"HeaderSelectWatchFolder": "Select Watch Folder",
"HeaderSelectWatchFolderHelp": "Browse or enter the path to your watch folder. The folder must be writeable.",
"OrganizePatternResult": "Result: {0}",
"HeaderRestart": "Restart",
"HeaderShutdown": "Shutdown",
"MessageConfirmRestart": "Are you sure you wish to restart Media Browser Server?",
"MessageConfirmShutdown": "Are you sure you wish to shutdown Media Browser Server?",
"HeaderRestart": "Neustart",
"HeaderShutdown": "Herunterfahren",
"MessageConfirmRestart": "Bist du dir sicher Media Browser Server neustarten zu wollen?",
"MessageConfirmShutdown": "Bist du dir sicher Media Browser Server herunterfahren zu wollen?",
"ButtonUpdateNow": "Jetzt aktualisieren",
"NewVersionOfSomethingAvailable": "A new version of {0} is available!",
"VersionXIsAvailableForDownload": "Version {0} is now available for download.",
"NewVersionOfSomethingAvailable": "Eine neue Version von {0} ist verf\u00fcgbar!",
"VersionXIsAvailableForDownload": "Version {0} ist jetzt bereit zum download.",
"LabelVersionNumber": "Version {0}",
"LabelPlayMethodTranscoding": "Transcoding",
"LabelPlayMethodDirectStream": "Direct Streaming",
"LabelPlayMethodDirectPlay": "Direct Playing",
"LabelPlayMethodTranscoding": "Transkodieren",
"LabelPlayMethodDirectStream": "Direktes Streaming",
"LabelPlayMethodDirectPlay": "Direktes Abspielen",
"LabelAudioCodec": "Audio: {0}",
"LabelVideoCodec": "Video: {0}",
"LabelRemoteAccessUrl": "Remote access: {0}",
"LabelRunningOnPort": "Running on port {0}.",
"HeaderLatestFromChannel": "Latest from {0}",
"LabelRemoteAccessUrl": "Fernzugriff: {0}",
"LabelRunningOnPort": "L\u00e4uft \u00fcber Port {0}.",
"HeaderLatestFromChannel": "Neuestes von {0}",
"ButtonDownload": "Download",
"LabelUnknownLanaguage": "Unknown language",
"HeaderCurrentSubtitles": "Current Subtitles",
"MessageDownloadQueued": "The download has been queued.",
"MessageAreYouSureDeleteSubtitles": "Are you sure you wish to delete this subtitle file?",
"ButtonRemoteControl": "Remote Control",
"HeaderLatestTvRecordings": "Latest Recordings",
"LabelUnknownLanaguage": "Unbekannte Sprache",
"HeaderCurrentSubtitles": "Aktuelle Untertitel",
"MessageDownloadQueued": "Der Download wurde in die Warteschlange verschoben.",
"MessageAreYouSureDeleteSubtitles": "Bist du dir sicher diese Untertitel Datei l\u00f6schen zu wollen?",
"ButtonRemoteControl": "Fernsteuerung",
"HeaderLatestTvRecordings": "Neueste Aufnahmen",
"ButtonOk": "Ok",
"ButtonCancel": "Abbrechen",
"ButtonRefresh": "Refresh",
"LabelCurrentPath": "Current path:",
"HeaderSelectMediaPath": "Select Media Path",
"ButtonNetwork": "Network",
"ButtonRefresh": "Aktualisieren",
"LabelCurrentPath": "Aktueller Pfad:",
"HeaderSelectMediaPath": "W\u00e4hle einen Medienpfad:",
"ButtonNetwork": "Netzwerk",
"MessageDirectoryPickerInstruction": "Network paths can be entered manually in the event the Network button fails to locate your devices. For example, {0} or {1}.",
"HeaderMenu": "Menu",
"ButtonOpen": "Open",
@ -324,55 +324,55 @@
"ButtonAddToPlaylist": "Add to playlist",
"HeaderAddToPlaylist": "Add to Playlist",
"LabelName": "Name:",
"ButtonSubmit": "Submit",
"ButtonSubmit": "Best\u00e4tigen",
"LabelSelectPlaylist": "Playlist:",
"OptionNewPlaylist": "New playlist...",
"MessageAddedToPlaylistSuccess": "Ok",
"ButtonViewSeriesRecording": "View series recording",
"ValueOriginalAirDate": "Original air date: {0}",
"ButtonRemoveFromPlaylist": "Remove from playlist",
"HeaderSpecials": "Specials",
"HeaderSpecials": "Extras",
"HeaderTrailers": "Trailers",
"HeaderAudio": "Audio",
"HeaderResolution": "Resolution",
"HeaderResolution": "Aufl\u00f6sung",
"HeaderVideo": "Video",
"HeaderRuntime": "Runtime",
"HeaderCommunityRating": "Community rating",
"HeaderParentalRating": "Parental rating",
"HeaderReleaseDate": "Release date",
"HeaderDateAdded": "Date added",
"HeaderSeries": "Series",
"HeaderSeason": "Season",
"HeaderSeasonNumber": "Season number",
"HeaderNetwork": "Network",
"HeaderYear": "Year",
"HeaderRuntime": "Laufzeit",
"HeaderCommunityRating": "Community Bewertung",
"HeaderParentalRating": "Alterseinstufung",
"HeaderReleaseDate": "Ver\u00f6ffentlichungsdatum",
"HeaderDateAdded": "Hinzugef\u00fcgt am",
"HeaderSeries": "Serien",
"HeaderSeason": "Staffel",
"HeaderSeasonNumber": "Staffel Nummer",
"HeaderNetwork": "Netzwerk",
"HeaderYear": "Jahr",
"HeaderGameSystem": "Game system",
"HeaderPlayers": "Players",
"HeaderEmbeddedImage": "Embedded image",
"HeaderTrack": "Track",
"HeaderEmbeddedImage": "Integriertes Bild",
"HeaderTrack": "St\u00fcck",
"HeaderDisc": "Disc",
"OptionMovies": "Filme",
"OptionCollections": "Collection",
"OptionSeries": "Series",
"OptionSeasons": "Seasons",
"OptionCollections": "Sammlungen",
"OptionSeries": "Serien",
"OptionSeasons": "Staffeln",
"OptionEpisodes": "Episoden",
"OptionGames": "Games",
"OptionGameSystems": "Game systems",
"OptionMusicArtists": "Music artists",
"OptionMusicAlbums": "Music albums",
"OptionMusicVideos": "Music videos",
"OptionSongs": "Songs",
"OptionHomeVideos": "Home videos",
"OptionBooks": "Books",
"OptionAdultVideos": "Adult videos",
"ButtonUp": "Up",
"ButtonDown": "Down",
"LabelMetadataReaders": "Metadata readers:",
"LabelMetadataReadersHelp": "Rank your preferred local metadata sources in order of priority. The first file found will be read.",
"LabelMetadataDownloaders": "Metadata downloaders:",
"LabelMetadataDownloadersHelp": "Enable and rank your preferred metadata downloaders in order of priority. Lower priority downloaders will only be used to fill in missing information.",
"LabelMetadataSavers": "Metadata savers:",
"LabelMetadataSaversHelp": "Choose the file formats to save your metadata to.",
"LabelImageFetchers": "Image fetchers:",
"LabelImageFetchersHelp": "Enable and rank your preferred image fetchers in order of priority."
"OptionGames": "Spiele",
"OptionGameSystems": "Spielsysteme",
"OptionMusicArtists": "Musik-K\u00fcnstler",
"OptionMusicAlbums": "Musik-Alben",
"OptionMusicVideos": "Musik-Videos",
"OptionSongs": "Lieder",
"OptionHomeVideos": "Heim-Videos",
"OptionBooks": "B\u00fccher",
"OptionAdultVideos": "Videos f\u00fcr Erwachsene",
"ButtonUp": "Hoch",
"ButtonDown": "Runter",
"LabelMetadataReaders": "Metadatenleser:",
"LabelMetadataReadersHelp": "Lege deine bevorzugte lokale Metadatenquelle fest und ordne sie nach Priorit\u00e4ten. Die erste Datei die gefunden wird, wird verwendet.",
"LabelMetadataDownloaders": "Metadatendownloader:",
"LabelMetadataDownloadersHelp": "Aktiviere und ordne deine bevorzugten Metadatendownloader nach Pr\u00e4ferenzen. Downloader mit niedriger Priorit\u00e4t werden nur genutzt um fehlende Informationen zu erg\u00e4nzen.",
"LabelMetadataSavers": "Metadatenspeicherer:",
"LabelMetadataSaversHelp": "W\u00e4hle das Dateiformat in dem deine Metadaten gespeichert werden sollen.",
"LabelImageFetchers": "Bildquellen",
"LabelImageFetchersHelp": "Aktiviere und ordne deine bevorzugten Bildquellen nach Pr\u00e4ferenzen."
}

View file

@ -352,7 +352,7 @@
"HeaderTrack": "Track",
"HeaderDisc": "Disc",
"OptionMovies": "Movies",
"OptionCollections": "Collection",
"OptionCollections": "Collections",
"OptionSeries": "Series",
"OptionSeasons": "Seasons",
"OptionEpisodes": "Episodes",

View file

@ -352,7 +352,7 @@
"HeaderTrack": "Track",
"HeaderDisc": "Disc",
"OptionMovies": "Movies",
"OptionCollections": "Collection",
"OptionCollections": "Collections",
"OptionSeries": "Series",
"OptionSeasons": "Seasons",
"OptionEpisodes": "Episodes",

View file

@ -352,7 +352,7 @@
"HeaderTrack": "Track",
"HeaderDisc": "Disc",
"OptionMovies": "Movies",
"OptionCollections": "Collection",
"OptionCollections": "Collections",
"OptionSeries": "Series",
"OptionSeasons": "Seasons",
"OptionEpisodes": "Episodes",

View file

@ -352,7 +352,7 @@
"HeaderTrack": "Track",
"HeaderDisc": "Disc",
"OptionMovies": "Pel\u00edculas",
"OptionCollections": "Collection",
"OptionCollections": "Collections",
"OptionSeries": "Series",
"OptionSeasons": "Seasons",
"OptionEpisodes": "Episodios",

View file

@ -352,7 +352,7 @@
"HeaderTrack": "Pista",
"HeaderDisc": "Disco",
"OptionMovies": "Pel\u00edculas",
"OptionCollections": "Colecci\u00f3n",
"OptionCollections": "Colecciones",
"OptionSeries": "Series",
"OptionSeasons": "Temporadas",
"OptionEpisodes": "Episodios",

View file

@ -10,7 +10,7 @@
"FileReadCancelled": "La lecture du fichier a \u00e9t\u00e9 annul\u00e9e.",
"FileNotFound": "Fichier non trouv\u00e9",
"FileReadError": "Un erreur est survenue pendant la lecture du fichier.",
"DeleteUser": "Supprimer utilisateur",
"DeleteUser": "Supprimer l'utilisateur",
"DeleteUserConfirmation": "\u00cates-vous s\u00fbr de vouloir supprimer {0}?",
"PasswordResetHeader": "R\u00e9initialisation du mot de passe",
"PasswordResetComplete": "Le mot de passe a \u00e9t\u00e9 r\u00e9initialis\u00e9.",
@ -38,7 +38,7 @@
"LabelEpisode": "\u00c9pisode",
"LabelSeries": "S\u00e9ries",
"LabelStopping": "En cours d'arr\u00eat",
"LabelCancelled": "(annull\u00e9)",
"LabelCancelled": "(annul\u00e9)",
"LabelFailed": "(\u00e9chou\u00e9)",
"LabelAbortedByServerShutdown": "(Annul\u00e9 par fermeture du serveur)",
"LabelScheduledTaskLastRan": "Derni\u00e8re ex\u00e9cution {0}, dur\u00e9e {1}.",
@ -63,9 +63,9 @@
"ButtonPlay": "Lire",
"ButtonEdit": "Modifier",
"ButtonQueue": "En file d'attente",
"ButtonPlayTrailer": "Lire bande-annonce",
"ButtonPlayTrailer": "Lire la bande-annonce",
"ButtonPlaylist": "Liste de lecture",
"ButtonPreviousTrack": "Piste pr\u00e9c\u00e9dante",
"ButtonPreviousTrack": "Piste pr\u00e9c\u00e9dente",
"LabelEnabled": "Activ\u00e9",
"LabelDisabled": "D\u00e9sactiv\u00e9",
"ButtonMoreInformation": "Plus d'information",
@ -123,8 +123,8 @@
"HeaderMyViews": "Mes affichages",
"HeaderLibraryFolders": "R\u00e9pertoires de m\u00e9dias",
"HeaderLatestMedia": "Derniers m\u00e9dias",
"ButtonMoreItems": "More...",
"ButtonMore": "Plus...",
"ButtonMoreItems": "Plus...",
"ButtonMore": "Voir la suite",
"HeaderFavoriteMovies": "Films favoris",
"HeaderFavoriteShows": "S\u00e9ries favorites",
"HeaderFavoriteEpisodes": "\u00c9pisodes favoris",
@ -136,7 +136,7 @@
"HeaderSelectTranscodingPath": "S\u00e9lectionner le chemin d'acc\u00e8s du transcodage temporaire",
"HeaderSelectImagesByNamePath": "S\u00e9lectionner le chemin d'acc\u00e8s du \"Images By Name\"",
"HeaderSelectMetadataPath": "S\u00e9lectionner le chemin d'acc\u00e8s des m\u00e9tadonn\u00e9es",
"HeaderSelectServerCachePathHelp": "Parcourez ou entrez le chemin \u00e0 utiliser pour les fichiers caches du serveur. Le dossier doit \u00eatre accessible en \u00e9criture. L'emplacement de ce fichier aura un impact direct sur les performances du serveur et devrait \u00eatre plac\u00e9 id\u00e9alement sur un SSD.",
"HeaderSelectServerCachePathHelp": "Parcourir ou entrer le chemin d'acc\u00e8s \u00e0 utiliser pour les fichiers caches du serveur. Le dossier doit \u00eatre accessible en \u00e9criture.",
"HeaderSelectTranscodingPathHelp": "Parcourir ou saisir le chemin dossier \u00e0 utiliser pour le transcodage des fichiers temporaires. Le dossier devra \u00eatre accessible en \u00e9criture.",
"HeaderSelectImagesByNamePathHelp": "Parcourir ou saisir le chemin dossier de vos items par le nom du dossier. Le dossier devra \u00eatre accessible en \u00e9criture.",
"HeaderSelectMetadataPathHelp": "Parcourir ou saisir le chemin o\u00f9 vous aimeriez stocker les m\u00e9tadonn\u00e9es. Le r\u00e9pertoire doit \u00eatre accessible en \u00e9criture.",
@ -193,7 +193,7 @@
"LabelCurrentPath": "Chemin actuel:",
"HeaderSelectMediaPath": "S\u00e9lectionner le chemin m\u00e9dia",
"ButtonNetwork": "R\u00e9seau",
"MessageDirectoryPickerInstruction": "Les chemins r\u00e9seaux seront saisis manuellement dans le cas o\u00f9 le bouton R\u00e9seau ne parvient pas \u00e0 rechercher vos p\u00e9riph\u00e9riques. Par exmple, {0} ou {1}.",
"MessageDirectoryPickerInstruction": "Les chemins r\u00e9seaux seront saisis manuellement dans le cas o\u00f9 le bouton R\u00e9seau ne parvient pas \u00e0 rechercher vos p\u00e9riph\u00e9riques. Par exemple, {0} ou {1}.",
"HeaderMenu": "Menu",
"ButtonOpen": "Ouvrir",
"ButtonOpenInNewTab": "Ouvrir dans un nouvel onglet",
@ -206,7 +206,7 @@
"HeaderVideoQuality": "Qualit\u00e9 vid\u00e9o",
"MessageErrorPlayingVideo": "La lecture de la vid\u00e9o a rencontr\u00e9 une erreur",
"MessageEnsureOpenTuner": "V\u00e9rifiez bien que le tuner est disponible",
"ButtonHome": "Principal",
"ButtonHome": "Portail",
"ButtonDashboard": "Tableau de bord",
"ButtonReports": "Rapports",
"ButtonMetadataManager": "Gestionnaire de m\u00e9tadonn\u00e9es",
@ -330,13 +330,13 @@
"MessageAddedToPlaylistSuccess": "OK",
"ButtonViewSeriesRecording": "Voir enregistrements de s\u00e9ries",
"ValueOriginalAirDate": "Date de diffusion originale: {0}",
"ButtonRemoveFromPlaylist": "Remove from playlist",
"HeaderSpecials": "Specials",
"ButtonRemoveFromPlaylist": "Supprimer de la liste de lecture",
"HeaderSpecials": "Sp\u00e9ciaux",
"HeaderTrailers": "Bandes-annonces",
"HeaderAudio": "Audio",
"HeaderResolution": "R\u00e9solution",
"HeaderVideo": "Vid\u00e9o",
"HeaderRuntime": "Runtime",
"HeaderRuntime": "Dur\u00e9e",
"HeaderCommunityRating": "Note de communaut\u00e9",
"HeaderParentalRating": "Note parentale",
"HeaderReleaseDate": "Date de lancement",
@ -348,29 +348,29 @@
"HeaderYear": "Ann\u00e9e",
"HeaderGameSystem": "Plateforme de jeu",
"HeaderPlayers": "Lecteurs",
"HeaderEmbeddedImage": "Embedded image",
"HeaderEmbeddedImage": "Image int\u00e9gr\u00e9e",
"HeaderTrack": "Piste",
"HeaderDisc": "Disque",
"OptionMovies": "Films",
"OptionCollections": "Collection",
"OptionSeries": "Series",
"OptionCollections": "Collections",
"OptionSeries": "S\u00e9ries",
"OptionSeasons": "Saisons",
"OptionEpisodes": "\u00c9pisodes",
"OptionGames": "Jeux",
"OptionGameSystems": "Game systems",
"OptionMusicArtists": "Music artists",
"OptionMusicAlbums": "Music albums",
"OptionMusicVideos": "Music videos",
"OptionMusicArtists": "Artistes musicaux",
"OptionMusicAlbums": "Albums de musique",
"OptionMusicVideos": "Vid\u00e9os musicales",
"OptionSongs": "Chansons",
"OptionHomeVideos": "Home videos",
"OptionHomeVideos": "Vid\u00e9os personnelles",
"OptionBooks": "Livres",
"OptionAdultVideos": "Adult videos",
"ButtonUp": "Up",
"ButtonDown": "Down",
"LabelMetadataReaders": "Metadata readers:",
"LabelMetadataReadersHelp": "Rank your preferred local metadata sources in order of priority. The first file found will be read.",
"LabelMetadataDownloaders": "Metadata downloaders:",
"LabelMetadataDownloadersHelp": "Enable and rank your preferred metadata downloaders in order of priority. Lower priority downloaders will only be used to fill in missing information.",
"OptionAdultVideos": "Vid\u00e9os adultes",
"ButtonUp": "Haut",
"ButtonDown": "Bas",
"LabelMetadataReaders": "Lecteurs de m\u00e9tadonn\u00e9es :",
"LabelMetadataReadersHelp": "Classez vos sources locales de m\u00e9tadonn\u00e9es pr\u00e9f\u00e9r\u00e9es dans l'ordre de priorit\u00e9. Le premier fichier trouv\u00e9 sera lu.",
"LabelMetadataDownloaders": "T\u00e9l\u00e9chargeurs de m\u00e9tadonn\u00e9es:",
"LabelMetadataDownloadersHelp": "Activez et classez vos sources de t\u00e9l\u00e9chargement de m\u00e9tadonn\u00e9es pr\u00e9f\u00e9r\u00e9es dans l'ordre de priorit\u00e9. Les plus basses seront seulement utilis\u00e9s pour remplir les informations manquantes.",
"LabelMetadataSavers": "Metadata savers:",
"LabelMetadataSaversHelp": "Choose the file formats to save your metadata to.",
"LabelImageFetchers": "Image fetchers:",

View file

@ -352,7 +352,7 @@
"HeaderTrack": "Track",
"HeaderDisc": "Disc",
"OptionMovies": "\u05e1\u05e8\u05d8\u05d9\u05dd",
"OptionCollections": "Collection",
"OptionCollections": "Collections",
"OptionSeries": "Series",
"OptionSeasons": "Seasons",
"OptionEpisodes": "\u05e4\u05e8\u05e7\u05d9\u05dd",

View file

@ -352,7 +352,7 @@
"HeaderTrack": "Traccia",
"HeaderDisc": "Disco",
"OptionMovies": "Film",
"OptionCollections": "Collection",
"OptionCollections": "Collections",
"OptionSeries": "Series",
"OptionSeasons": "Seasons",
"OptionEpisodes": "Episodi",

View file

@ -371,14 +371,70 @@
"OptionHomeVideos": "Home videos",
"OptionBooks": "Books",
"OptionAdultVideos": "Adult videos",
"ButtonUp": "Up",
"ButtonUp": "Up",
"ButtonDown": "Down",
"LabelMetadataReaders": "Metadata readers:",
"LabelMetadataReadersHelp": "Rank your preferred local metadata sources in order of priority. The first file found will be read.",
"LabelMetadataDownloaders": "Metadata downloaders:",
"LabelMetadataDownloadersHelp": "Enable and rank your preferred metadata downloaders in order of priority. Lower priority downloaders will only be used to fill in missing information.",
"LabelMetadataSavers": "Metadata savers:",
"LabelMetadataSaversHelp": "Choose the file formats to save your metadata to.",
"LabelImageFetchers": "Image fetchers:",
"LabelImageFetchersHelp": "Enable and rank your preferred image fetchers in order of priority."
"LabelMetadataReaders": "Metadata readers:",
"LabelMetadataReadersHelp": "Rank your preferred local metadata sources in order of priority. The first file found will be read.",
"LabelMetadataDownloaders": "Metadata downloaders:",
"LabelMetadataDownloadersHelp": "Enable and rank your preferred metadata downloaders in order of priority. Lower priority downloaders will only be used to fill in missing information.",
"LabelMetadataSavers": "Metadata savers:",
"LabelMetadataSaversHelp": "Choose the file formats to save your metadata to.",
"LabelImageFetchers": "Image fetchers:",
"LabelImageFetchersHelp": "Enable and rank your preferred image fetchers in order of priority.",
"ButtonQueueAllFromHere": "Queue all from here",
"ButtonPlayAllFromHere": "Play all from here",
"LabelDynamicExternalId": "{0} Id:",
"HeaderIdentify": "Identify Item",
"PersonTypePerson": "Person",
"LabelTitleDisplayOrder": "Title display order:",
"OptionSortName": "Sort name",
"OptionReleaseDate": "Release date",
"LabelSeasonNumber": "Season number:",
"LabelDiscNumber": "Disc number",
"LabelParentNumber": "Parent number",
"LabelEpisodeNumber": "Episode number:",
"LabelTrackNumber": "Track number:",
"LabelNumber": "Number:",
"LabelReleaseDate": "Release date:",
"LabelEndDate": "End date:",
"LabelYear": "Year:",
"LabelDateOfBirth": "Date of birth:",
"LabelBirthYear": "Birth year:",
"LabelDeathDate": "Death date:",
"HeaderRemoveMediaLocation": "Remove Media Location",
"MessageConfirmRemoveMediaLocation": "Are you sure you wish to remove this location?",
"HeaderRenameMediaFolder": "Rename Media Folder",
"LabelNewName": "New name:",
"HeaderAddMediaFolder": "Add Media Folder",
"HeaderAddMediaFolderHelp": "Name (Movies, Music, TV, etc):",
"HeaderRemoveMediaFolder": "Remove Media Folder",
"MessageTheFollowingLocationWillBeRemovedFromLibrary": "The following media locations will be removed from your library:",
"MessageAreYouSureYouWishToRemoveMediaFolder": "Are you sure you wish to remove this media folder?",
"ButtonRename": "Rename",
"ButtonChangeType": "Change type",
"ButtonRemove": "Remove",
"HeaderMediaLocations": "Media Locations",
"LabelFolderTypeValue": "Folder type: {0}",
"LabelPathSubstitutionHelp": "Optional: Path substitution can map server paths to network shares that clients can access for direct playback.",
"FolderTypeMixed": "Mixed movies & tv",
"FolderTypeMovies": "Movies",
"FolderTypeMusic": "Music",
"FolderTypeAdultVideos": "Adult videos",
"FolderTypePhotos": "Photos",
"FolderTypeMusicVideos": "Music videos",
"FolderTypeHomeVideos": "Home videos",
"FolderTypeGames": "Games",
"FolderTypeBooks": "Books",
"FolderTypeTvShows": "TV shows",
"TabMovies": "Movies",
"TabSeries": "Series",
"TabEpisodes": "Episodes",
"TabTrailers": "Trailers",
"TabGames": "Games",
"TabAlbums": "Albums",
"TabSongs": "Songs",
"TabMusicVideos": "Music Videos",
"BirthPlaceValue": "Birth place: {0}",
"DeathDateValue": "Died: {0}",
"BirthDateValue": "Born: {0}"
}

View file

@ -117,16 +117,16 @@
"HeaderError": "\u049a\u0430\u0442\u0435",
"MessagePleaseSelectOneItem": "\u0415\u04a3 \u043a\u0435\u043c\u0456\u043d\u0434\u0435 \u0431\u0456\u0440 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0442\u0456 \u0442\u0430\u04a3\u0434\u0430\u04a3\u044b\u0437.",
"MessagePleaseSelectTwoItems": "\u0415\u04a3 \u043a\u0435\u043c\u0456\u043d\u0434\u0435 \u0435\u043a\u0456 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0442\u0456 \u0442\u0430\u04a3\u0434\u0430\u04a3\u044b\u0437.",
"MessageTheFollowingItemsWillBeGrouped": "\u041a\u0435\u043b\u0435\u0441\u0456 \u0430\u0442\u0430\u0443\u043b\u0430\u0440 \u0431\u0456\u0440 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043a\u0435 \u0442\u043e\u043f\u0442\u0430\u0441\u0442\u044b\u0440\u044b\u043b\u0430\u0434\u044b:",
"MessageTheFollowingItemsWillBeGrouped": "\u041a\u0435\u043b\u0435\u0441\u0456 \u0442\u0443\u044b\u043d\u0434\u044b\u043b\u0430\u0440 \u0431\u0456\u0440 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043a\u0435 \u0442\u043e\u043f\u0442\u0430\u0441\u0442\u044b\u0440\u044b\u043b\u0430\u0434\u044b:",
"MessageConfirmItemGrouping": "Media Browser \u043a\u043b\u0438\u0435\u043d\u0442\u0442\u0435\u0440\u0456 \u0436\u0430\u0431\u0434\u044b\u049b \u0436\u04d9\u043d\u0435 \u0436\u0435\u043b\u0456 \u04e9\u043d\u0456\u043c\u0434\u0456\u043b\u0456\u043a\u0442\u0435\u0440\u0456\u043d\u0435 \u043d\u0435\u0433\u0456\u0437\u0434\u0435\u043b\u0456\u043d\u0456\u043f \u043e\u0439\u043d\u0430\u0442\u0443 \u04af\u0448\u0456\u043d \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0442\u044b \u0442\u04af\u0440\u0434\u0435 \u043e\u04a3\u0442\u0430\u0439\u043b\u044b \u043d\u04b1\u0441\u049b\u0430\u0441\u044b\u043d \u0442\u0430\u04a3\u0434\u0430\u0439\u0434\u044b. \u0428\u044b\u043d\u044b\u043c\u0435\u043d \u0436\u0430\u043b\u0493\u0430\u0441\u0442\u044b\u0440\u0443 \u049b\u0430\u0436\u0435\u0442 \u043f\u0435?",
"HeaderResume": "\u0416\u0430\u043b\u0493\u0430\u0441\u0442\u044b\u0440\u0443",
"HeaderMyViews": "\u041c\u0435\u043d\u0456\u04a3 \u043a\u04e9\u0440\u0456\u043d\u0456\u0441\u0442\u0435\u0440\u0456\u043c",
"HeaderMyViews": "\u041c\u0435\u043d\u0456\u04a3 \u0430\u0441\u043f\u0435\u043a\u0442\u0442\u0435\u0440\u0456\u043c",
"HeaderLibraryFolders": "\u0422\u0430\u0441\u0443\u0448\u044b \u049b\u0430\u043b\u0442\u0430\u043b\u0430\u0440\u044b",
"HeaderLatestMedia": "\u0415\u04a3 \u043a\u0435\u0439\u0456\u043d\u0433\u0456 \u0442\u0430\u0441\u0443\u0448\u044b\u043b\u0430\u0440",
"HeaderLatestMedia": "\u0415\u04a3 \u043a\u0435\u0439\u0456\u043d\u0433\u0456 \u0442\u0430\u0441\u0443\u0448\u044b\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440",
"ButtonMoreItems": "\u041a\u04e9\u0431\u0456\u0440\u0435\u043a...",
"ButtonMore": "\u041a\u04e9\u0431\u0456\u0440\u0435\u043a",
"HeaderFavoriteMovies": "\u0422\u0430\u04a3\u0434\u0430\u0443\u043b\u044b \u0444\u0438\u043b\u044c\u043c\u0434\u0435\u0440",
"HeaderFavoriteShows": "\u0422\u0430\u04a3\u0434\u0430\u0443\u043b\u044b \u0441\u0435\u0440\u0438\u0430\u043b\u0434\u0430\u0440",
"HeaderFavoriteShows": "\u0422\u0430\u04a3\u0434\u0430\u0443\u043b\u044b \u043a\u04e9\u0440\u0441\u0435\u0442\u0456\u043c\u0434\u0435\u0440",
"HeaderFavoriteEpisodes": "\u0422\u0430\u04a3\u0434\u0430\u0443\u043b\u044b \u044d\u043f\u0438\u0437\u043e\u0434\u0442\u0430\u0440",
"HeaderFavoriteGames": "\u0422\u0430\u04a3\u0434\u0430\u0443\u043b\u044b \u043e\u0439\u044b\u043d\u0434\u0430\u0440",
"HeaderRatingsDownloads": "\u0411\u0430\u0493\u0430\u043b\u0430\u0443 \/ \u0416\u04af\u043a\u0442\u0435\u0443\u043b\u0435\u0440",
@ -221,7 +221,7 @@
"HeaderMediaFolders": "\u0422\u0430\u0441\u0443\u0448\u044b \u049b\u0430\u043b\u0442\u0430\u043b\u0430\u0440\u044b",
"HeaderBlockItemsWithNoRating": "\u0416\u0430\u0441\u0442\u044b\u049b \u0441\u0430\u043d\u0430\u0442\u044b \u0436\u043e\u049b \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0442\u0435\u0440\u0434\u0456 \u049b\u04b1\u0440\u0441\u0430\u0443\u043b\u0430\u0443:",
"OptionBlockOthers": "\u0411\u0430\u0441\u049b\u0430\u043b\u0430\u0440",
"OptionBlockTvShows": "\u0421\u0435\u0440\u0438\u0430\u043b\u0434\u0430\u0440",
"OptionBlockTvShows": "\u0422\u0414 \u043a\u04e9\u0440\u0441\u0435\u0442\u0456\u043c\u0434\u0435\u0440\u0456",
"OptionBlockTrailers": "\u0422\u0440\u0435\u0439\u043b\u0435\u0440\u043b\u0435\u0440",
"OptionBlockMusic": "\u041c\u0443\u0437\u044b\u043a\u0430",
"OptionBlockMovies": "\u0424\u0438\u043b\u044c\u043c\u0434\u0435\u0440",

View file

@ -352,7 +352,7 @@
"HeaderTrack": "Track",
"HeaderDisc": "Disc",
"OptionMovies": "Movies",
"OptionCollections": "Collection",
"OptionCollections": "Collections",
"OptionSeries": "Series",
"OptionSeasons": "Seasons",
"OptionEpisodes": "Episodes",

View file

@ -352,7 +352,7 @@
"HeaderTrack": "Track",
"HeaderDisc": "Disc",
"OptionMovies": "Filmer",
"OptionCollections": "Collection",
"OptionCollections": "Collections",
"OptionSeries": "Series",
"OptionSeasons": "Seasons",
"OptionEpisodes": "Episoder",

View file

@ -58,14 +58,14 @@
"ButtonMute": "Dempen",
"ButtonUnmute": "Dempen opheffen",
"ButtonStop": "Stop",
"ButtonNextTrack": "Volgend nummer",
"ButtonNextTrack": "Volgend Nummer",
"ButtonPause": "Pauze",
"ButtonPlay": "Afspelen",
"ButtonEdit": "Bewerken",
"ButtonQueue": "Wachtrij",
"ButtonPlayTrailer": "Trailer Afspelen",
"ButtonPlayTrailer": "Trailer afspelen",
"ButtonPlaylist": "Afspeellijst",
"ButtonPreviousTrack": "Vorig nummer",
"ButtonPreviousTrack": "Vorig Nummer",
"LabelEnabled": "Ingeschakeld",
"LabelDisabled": "Uitgeschakeld",
"ButtonMoreInformation": "Meer informatie",
@ -124,7 +124,7 @@
"HeaderLibraryFolders": "Media Mappen",
"HeaderLatestMedia": "Nieuw in bibliotheek",
"ButtonMoreItems": "Meer...",
"ButtonMore": "Meer ...",
"ButtonMore": "Meer",
"HeaderFavoriteMovies": "Favoriete Films",
"HeaderFavoriteShows": "Favoriete Shows",
"HeaderFavoriteEpisodes": "Favoriete Afleveringen",
@ -352,7 +352,7 @@
"HeaderTrack": "Track",
"HeaderDisc": "Schijf",
"OptionMovies": "Films",
"OptionCollections": "Collectie",
"OptionCollections": "Verzamelingen",
"OptionSeries": "Series",
"OptionSeasons": "Seizoenen",
"OptionEpisodes": "Afleveringen",

View file

@ -352,7 +352,7 @@
"HeaderTrack": "Track",
"HeaderDisc": "Disc",
"OptionMovies": "Filmy",
"OptionCollections": "Collection",
"OptionCollections": "Collections",
"OptionSeries": "Series",
"OptionSeasons": "Seasons",
"OptionEpisodes": "Odcinki",

View file

@ -58,7 +58,7 @@
"ButtonMute": "Mudo",
"ButtonUnmute": "Remover Mudo",
"ButtonStop": "Parar",
"ButtonNextTrack": "Pr\u00f3xima Faixa",
"ButtonNextTrack": "Faixa Seguinte",
"ButtonPause": "Pausar",
"ButtonPlay": "Reproduzir",
"ButtonEdit": "Editar",
@ -352,7 +352,7 @@
"HeaderTrack": "Faixa",
"HeaderDisc": "Disco",
"OptionMovies": "Filmes",
"OptionCollections": "Cole\u00e7\u00e3o",
"OptionCollections": "Cole\u00e7\u00f5es",
"OptionSeries": "S\u00e9ries",
"OptionSeasons": "Temporadas",
"OptionEpisodes": "Epis\u00f3dios",
@ -368,11 +368,11 @@
"ButtonUp": "Para cima",
"ButtonDown": "Para baixo",
"LabelMetadataReaders": "Leitores de metadados:",
"LabelMetadataReadersHelp": "Classifique suas fontes preferidas de metadados locais por ordem de prioridade. O primeiro arquivo encontrado ser\u00e1 lido.",
"LabelMetadataReadersHelp": "Classifique por ordem de prioridade suas fontes de metadados locais preferidas. O primeiro arquivo encontrado ser\u00e1 lido.",
"LabelMetadataDownloaders": "Downloaders de metadados:",
"LabelMetadataDownloadersHelp": "Ative e classifique seus downloaders preferidos de metadados por ordem de prioridade. Downloaders com prioridade mais baixa s\u00f3 ser\u00e3o usados para baixar informa\u00e7\u00e3o que n\u00e3o existe.",
"LabelMetadataDownloadersHelp": "Ative e classifique por ordem de prioridade seus downloaders de metadados preferidos. Downloaders com prioridade mais baixa s\u00f3 ser\u00e3o usados para baixar informa\u00e7\u00e3o que ainda n\u00e3o existe.",
"LabelMetadataSavers": "Gravadores de metadados:",
"LabelMetadataSaversHelp": "Escolha os formatos de arquivos nos quais deseja gravar seus metadados.",
"LabelImageFetchers": "Buscadores de imagem:",
"LabelImageFetchersHelp": "Ative e classifique seus buscadores preferidos de imagem por ordem de prioridade."
"LabelImageFetchersHelp": "Ative e classifique por ordem de prioridade seus buscadores de imagem preferidos."
}

View file

@ -352,7 +352,7 @@
"HeaderTrack": "Track",
"HeaderDisc": "Disc",
"OptionMovies": "Filmes",
"OptionCollections": "Collection",
"OptionCollections": "Collections",
"OptionSeries": "Series",
"OptionSeasons": "Seasons",
"OptionEpisodes": "Epis\u00f3dios",

View file

@ -76,16 +76,16 @@
"LabelAllPlaysSentToPlayer": "\u0412\u0441\u0451 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c\u043e\u0435 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u043d\u0430 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u043f\u043b\u0435\u0439\u0435\u0440",
"MessageInvalidUser": "\u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u0438\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438\u043b\u0438 \u043f\u0430\u0440\u043e\u043b\u044c.",
"HeaderAllRecordings": "\u0412\u0441\u0435 \u0437\u0430\u043f\u0438\u0441\u0438",
"RecommendationBecauseYouLike": "\u0418\u0431\u043e \u0432\u0430\u043c \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f {0}",
"RecommendationBecauseYouWatched": "\u0418\u0431\u043e \u0432\u044b \u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438 {0}",
"RecommendationBecauseYouLike": "\u0418\u0431\u043e \u0432\u0430\u043c \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u00ab{0}\u00bb",
"RecommendationBecauseYouWatched": "\u0418\u0431\u043e \u0432\u044b \u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438 \u00ab{0}\u00bb",
"RecommendationDirectedBy": "\u041f\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a {0}",
"RecommendationStarring": "\u0412 \u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u0440\u043e\u043b\u0438 {0}",
"HeaderConfirmRecordingCancellation": "\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u043e\u0442\u043c\u0435\u043d\u044b \u0437\u0430\u043f\u0438\u0441\u0438",
"MessageConfirmRecordingCancellation": "\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u043e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u0443\u044e \u0437\u0430\u043f\u0438\u0441\u044c?",
"MessageRecordingCancelled": "\u0417\u0430\u043f\u0438\u0441\u044c \u0431\u044b\u043b\u0430 \u043e\u0442\u043c\u0435\u043d\u0435\u043d\u0430.",
"HeaderConfirmSeriesCancellation": "\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u043e\u0442\u043c\u0435\u043d\u044b \u0441\u0435\u0440\u0438\u0438",
"MessageConfirmSeriesCancellation": "\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u043e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u0443\u044e \u0441\u0435\u0440\u0438\u044e?",
"MessageSeriesCancelled": "\u0421\u0435\u0440\u0438\u044f \u0431\u044b\u043b\u0430 \u043e\u0442\u043c\u0435\u043d\u0435\u043d\u0430.",
"MessageConfirmSeriesCancellation": "\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u043e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0439 \u0441\u0435\u0440\u0438\u0430\u043b?",
"MessageSeriesCancelled": "\u0421\u0435\u0440\u0438\u0430\u043b \u0431\u044b\u043b \u043e\u0442\u043c\u0435\u043d\u0451\u043d.",
"HeaderConfirmRecordingDeletion": "\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0438\u0441\u0438",
"MessageConfirmRecordingDeletion": "\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u0443\u044e \u0437\u0430\u043f\u0438\u0441\u044c?",
"MessageRecordingDeleted": "\u0417\u0430\u043f\u0438\u0441\u044c \u0431\u044b\u043b\u0430 \u0443\u0434\u0430\u043b\u0435\u043d\u0430.",
@ -105,8 +105,8 @@
"ButtonResetTuner": "\u0421\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u0442\u044e\u043d\u0435\u0440",
"HeaderResetTuner": "\u0421\u0431\u0440\u043e\u0441 \u0442\u044e\u043d\u0435\u0440\u0430",
"MessageConfirmResetTuner": "\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u0441\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0439 \u0442\u044e\u043d\u0435\u0440? \u041b\u044e\u0431\u044b\u0435 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u043f\u043b\u0435\u0439\u0435\u0440\u044b \u0438\u043b\u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0431\u0443\u0434\u0443\u0442 \u0432\u043d\u0435\u0437\u0430\u043f\u043d\u043e \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b.",
"ButtonCancelSeries": "\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u0441\u0435\u0440\u0438\u044e",
"HeaderSeriesRecordings": "\u0417\u0430\u043f\u0438\u0441\u0438 \u0441\u0435\u0440\u0438\u0439",
"ButtonCancelSeries": "\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u0441\u0435\u0440\u0438\u0430\u043b",
"HeaderSeriesRecordings": "\u0417\u0430\u043f\u0438\u0441\u0438 \u0441\u0435\u0440\u0438\u0430\u043b\u043e\u0432",
"LabelAnytime": "\u041b\u044e\u0431\u043e\u0435 \u0432\u0440\u0435\u043c\u044f",
"StatusRecording": "\u0417\u0430\u043f\u0438\u0441\u044c",
"StatusWatching": "\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440",
@ -117,16 +117,16 @@
"HeaderError": "\u041e\u0448\u0438\u0431\u043a\u0430",
"MessagePleaseSelectOneItem": "\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435, \u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435, \u043e\u0434\u0438\u043d \u044d\u043b\u0435\u043c\u0435\u043d\u0442.",
"MessagePleaseSelectTwoItems": "\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435, \u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435, \u0434\u0432\u0430 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430.",
"MessageTheFollowingItemsWillBeGrouped": "\u0412 \u0435\u0434\u0438\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0431\u0443\u0434\u0443\u0442 \u0441\u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f :",
"MessageTheFollowingItemsWillBeGrouped": "\u0412 \u0435\u0434\u0438\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0431\u0443\u0434\u0443\u0442 \u0441\u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f :",
"MessageConfirmItemGrouping": "\u041a\u043b\u0438\u0435\u043d\u0442\u044b Media Browser \u0431\u0443\u0434\u0443\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u044b\u0431\u0438\u0440\u0430\u0442\u044c \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u0434\u043b\u044f \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435 \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0441\u0435\u0442\u0438. \u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c?",
"HeaderResume": "\u0412\u043e\u0437\u043e\u0431\u043d\u043e\u0432\u0438\u043c\u044b\u0435",
"HeaderMyViews": "\u041c\u043e\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f",
"HeaderMyViews": "\u041c\u043e\u0438 \u0430\u0441\u043f\u0435\u043a\u0442\u044b",
"HeaderLibraryFolders": "\u041c\u0435\u0434\u0438\u0430\u043f\u0430\u043f\u043a\u0438",
"HeaderLatestMedia": "\u041d\u043e\u0432\u0438\u043d\u043a\u0438 \u043c\u0435\u0434\u0438\u0430\u0444\u0430\u0439\u043b\u043e\u0432",
"HeaderLatestMedia": "\u041d\u043e\u0432\u0438\u043d\u043a\u0438 \u043c\u0435\u0434\u0438\u0430\u0434\u0430\u043d\u043d\u044b\u0445",
"ButtonMoreItems": "\u0415\u0449\u0451...",
"ButtonMore": "\u0415\u0449\u0451",
"HeaderFavoriteMovies": "\u0418\u0437\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0444\u0438\u043b\u044c\u043c\u044b",
"HeaderFavoriteShows": "\u0418\u0437\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0441\u0435\u0440\u0438\u0430\u043b\u044b",
"HeaderFavoriteShows": "\u0418\u0437\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0446\u0438\u043a\u043b\u044b",
"HeaderFavoriteEpisodes": "\u0418\u0437\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u044d\u043f\u0438\u0437\u043e\u0434\u044b",
"HeaderFavoriteGames": "\u0418\u0437\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0438\u0433\u0440\u044b",
"HeaderRatingsDownloads": "\u041e\u0446\u0435\u043d\u043a\u0430 \/ \u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0438",
@ -221,7 +221,7 @@
"HeaderMediaFolders": "\u041c\u0435\u0434\u0438\u0430\u043f\u0430\u043f\u043a\u0438",
"HeaderBlockItemsWithNoRating": "\u0411\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0431\u0435\u0437 \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u043d\u043e\u0439 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438:",
"OptionBlockOthers": "\u0414\u0440\u0443\u0433\u0438\u0435",
"OptionBlockTvShows": "\u0421\u0435\u0440\u0438\u0430\u043b\u044b",
"OptionBlockTvShows": "\u0422\u0412 \u0446\u0438\u043a\u043b\u044b",
"OptionBlockTrailers": "\u0422\u0440\u0435\u0439\u043b\u0435\u0440\u044b",
"OptionBlockMusic": "\u041c\u0443\u0437\u044b\u043a\u0430",
"OptionBlockMovies": "\u0424\u0438\u043b\u044c\u043c\u044b",
@ -259,11 +259,11 @@
"HeaderFields": "\u041f\u043e\u043b\u044f",
"HeaderFieldsHelp": "\u041f\u0435\u0440\u0435\u0434\u0432\u0438\u043d\u044c\u0442\u0435 \u043f\u043e\u043b\u0435 \u043d\u0430 \"\u0412\u042b\u041a\u041b\", \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0438 \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u0438\u0442\u044c \u043e\u0442 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0435\u0433\u043e \u0434\u0430\u043d\u043d\u044b\u0445.",
"HeaderLiveTV": "\u042d\u0444\u0438\u0440\u043d\u043e\u0435 \u0422\u0412",
"MissingLocalTrailer": "\u041f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0439 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0440\u0435\u0439\u043b\u0435\u0440.",
"MissingPrimaryImage": "\u041f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0439 \u043f\u0435\u0440\u0432\u0438\u0447\u043d\u044b\u0439 \u0440\u0438\u0441\u0443\u043d\u043e\u043a.",
"MissingBackdropImage": "\u041f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0439 \u0440\u0438\u0441\u0443\u043d\u043e\u043a \u0437\u0430\u0434\u043d\u0438\u043a\u0430.",
"MissingLogoImage": "\u041f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0439 \u0440\u0438\u0441\u0443\u043d\u043e\u043a \u043b\u043e\u0433\u043e\u0442\u0438\u043f\u0430.",
"MissingEpisode": "\u041f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0439 \u044d\u043f\u0438\u0437\u043e\u0434.",
"MissingLocalTrailer": "\u041d\u0435\u0442 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0442\u0440\u0435\u0439\u043b\u0435\u0440\u0430.",
"MissingPrimaryImage": "\u041d\u0435\u0442 \u043f\u0435\u0440\u0432\u0438\u0447\u043d\u043e\u0433\u043e \u0440\u0438\u0441\u0443\u043d\u043a\u0430.",
"MissingBackdropImage": "\u041d\u0435\u0442 \u0440\u0438\u0441\u0443\u043d\u043a\u0430 \u0437\u0430\u0434\u043d\u0438\u043a\u0430.",
"MissingLogoImage": "\u041d\u0435\u0442 \u0440\u0438\u0441\u0443\u043d\u043a\u0430 \u043b\u043e\u0433\u043e\u0442\u0438\u043f\u0430.",
"MissingEpisode": "\u041d\u0435\u0442 \u044d\u043f\u0438\u0437\u043e\u0434\u0430.",
"OptionScreenshots": "\u0421\u043d\u0438\u043c\u043a\u0438 \u044d\u043a\u0440\u0430\u043d\u0430",
"OptionBackdrops": "\u0417\u0430\u0434\u043d\u0438\u043a\u0438",
"OptionImages": "\u0420\u0438\u0441\u0443\u043d\u043a\u0438",
@ -353,9 +353,9 @@
"HeaderDisc": "\u0414\u0438\u0441\u043a",
"OptionMovies": "\u0424\u0438\u043b\u044c\u043c\u044b",
"OptionCollections": "\u041a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438",
"OptionSeries": "\u0421\u0435\u0440\u0438\u0430\u043b\u044b",
"OptionSeasons": "\u0421\u0435\u0437\u043e\u043d\u044b",
"OptionEpisodes": "\u042d\u043f\u0438\u0437\u043e\u0434\u044b",
"OptionSeries": "\u0422\u0412 \u0441\u0435\u0440\u0438\u0430\u043b\u044b",
"OptionSeasons": "\u0422\u0412 \u0441\u0435\u0437\u043e\u043d\u044b",
"OptionEpisodes": "\u0422\u0412 \u044d\u043f\u0438\u0437\u043e\u0434\u044b",
"OptionGames": "\u0418\u0433\u0440\u044b",
"OptionGameSystems": "\u0418\u0433\u0440\u043e\u0432\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b",
"OptionMusicArtists": "\u041c\u0443\u0437\u044b\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u0438",

View file

@ -352,7 +352,7 @@
"HeaderTrack": "Track",
"HeaderDisc": "Disc",
"OptionMovies": "Filmer",
"OptionCollections": "Collection",
"OptionCollections": "Collections",
"OptionSeries": "Series",
"OptionSeasons": "Seasons",
"OptionEpisodes": "Avsnitt",

View file

@ -352,7 +352,7 @@
"HeaderTrack": "Track",
"HeaderDisc": "Disc",
"OptionMovies": "Filmler",
"OptionCollections": "Collection",
"OptionCollections": "Collections",
"OptionSeries": "Series",
"OptionSeasons": "Seasons",
"OptionEpisodes": "Episodes",

View file

@ -352,7 +352,7 @@
"HeaderTrack": "Track",
"HeaderDisc": "Disc",
"OptionMovies": "Movies",
"OptionCollections": "Collection",
"OptionCollections": "Collections",
"OptionSeries": "Series",
"OptionSeasons": "Seasons",
"OptionEpisodes": "Episodes",

View file

@ -352,7 +352,7 @@
"HeaderTrack": "Track",
"HeaderDisc": "Disc",
"OptionMovies": "Movies",
"OptionCollections": "Collection",
"OptionCollections": "Collections",
"OptionSeries": "Series",
"OptionSeasons": "Seasons",
"OptionEpisodes": "Episodes",

View file

@ -4,7 +4,9 @@
"LabelVisitCommunity": "\u0632\u064a\u0627\u0631\u0629 \u0627\u0644\u0645\u062c\u062a\u0645\u0639",
"HeaderLocalAccess": "Local Access",
"LabelGithubWiki": "Github Wiki",
"HeaderViewOrder": "View Order",
"LabelSwagger": "Swagger",
"LabelSelectUserViewOrder": "Choose the order your views will be displayed in within Media Browser apps",
"LabelStandard": "\u0642\u064a\u0627\u0633\u0649",
"LabelViewApiDocumentation": "\u0645\u0634\u0627\u0647\u062f\u0629 \u0645\u0631\u0627\u062c\u0639 \u0627\u0644\u0640 Api",
"LabelBrowseLibrary": "\u062a\u0635\u0641\u062d \u0627\u0644\u0645\u0643\u062a\u0628\u0629",
@ -858,7 +860,7 @@
"HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
"LabelLoginDisclaimer": "Login disclaimer:",
"LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
"LabelAutomaticallyDonate": "Automatically donate this amount every six months",
"LabelAutomaticallyDonate": "Automatically donate this amount every month",
"LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
"OptionList": "List",
"TabDashboard": "Dashboard",

View file

@ -4,7 +4,9 @@
"LabelVisitCommunity": "Visitar la comunitat",
"HeaderLocalAccess": "Local Access",
"LabelGithubWiki": "Github Wiki",
"HeaderViewOrder": "View Order",
"LabelSwagger": "Swagger",
"LabelSelectUserViewOrder": "Choose the order your views will be displayed in within Media Browser apps",
"LabelStandard": "Est\u00e0ndard",
"LabelViewApiDocumentation": "Veure la documentaci\u00f3 de l'API",
"LabelBrowseLibrary": "Examinar la biblioteca",
@ -858,7 +860,7 @@
"HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
"LabelLoginDisclaimer": "Login disclaimer:",
"LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
"LabelAutomaticallyDonate": "Automatically donate this amount every six months",
"LabelAutomaticallyDonate": "Automatically donate this amount every month",
"LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
"OptionList": "List",
"TabDashboard": "Dashboard",

View file

@ -4,7 +4,9 @@
"LabelVisitCommunity": "Nav\u0161t\u00edvit komunitu",
"HeaderLocalAccess": "Local Access",
"LabelGithubWiki": "Github Wiki",
"HeaderViewOrder": "View Order",
"LabelSwagger": "Swagger",
"LabelSelectUserViewOrder": "Choose the order your views will be displayed in within Media Browser apps",
"LabelStandard": "Standardn\u00ed",
"LabelViewApiDocumentation": "Zobrazit dokumentaci API",
"LabelBrowseLibrary": "Proch\u00e1zet knihovnu",
@ -858,7 +860,7 @@
"HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
"LabelLoginDisclaimer": "Login disclaimer:",
"LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
"LabelAutomaticallyDonate": "Automatically donate this amount every six months",
"LabelAutomaticallyDonate": "Automatically donate this amount every month",
"LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
"OptionList": "Seznam",
"TabDashboard": "Dashboard",

View file

@ -4,7 +4,9 @@
"LabelVisitCommunity": "Bes\u00f8g F\u00e6lleskab",
"HeaderLocalAccess": "Local Access",
"LabelGithubWiki": "Github Wiki",
"HeaderViewOrder": "View Order",
"LabelSwagger": "Swagger",
"LabelSelectUserViewOrder": "Choose the order your views will be displayed in within Media Browser apps",
"LabelStandard": "Standard",
"LabelViewApiDocumentation": "Se Api dokumentation",
"LabelBrowseLibrary": "Gennemse biblitek",
@ -858,7 +860,7 @@
"HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
"LabelLoginDisclaimer": "Login disclaimer:",
"LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
"LabelAutomaticallyDonate": "Automatically donate this amount every six months",
"LabelAutomaticallyDonate": "Automatically donate this amount every month",
"LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
"OptionList": "List",
"TabDashboard": "Dashboard",

View file

@ -1,10 +1,12 @@
{
"LabelExit": "Ende",
"HeaderPassword": "Password",
"HeaderPassword": "Passwort",
"LabelVisitCommunity": "Besuche die Community",
"HeaderLocalAccess": "Local Access",
"HeaderLocalAccess": "Lokaler Zugriff",
"LabelGithubWiki": "Github Wiki",
"HeaderViewOrder": "Reihenfolge f\u00fcr Ansichten",
"LabelSwagger": "Swagger",
"LabelSelectUserViewOrder": "W\u00e4hle die Reihenfolge in der die Ansichten innerhalb von Media Browser Apps angezeigt werden.",
"LabelStandard": "Standard",
"LabelViewApiDocumentation": "Zeige API Dokumentation",
"LabelBrowseLibrary": "Durchsuche Bibliothek",
@ -69,9 +71,9 @@
"OptionOnlyForcedSubtitles": "Only forced subtitles",
"OptionAlwaysPlaySubtitles": "Untertitel immer anzeigen",
"OptionNoSubtitles": "Keine Untertitel",
"OptionDefaultSubtitlesHelp": "Subtitles matching the language preference will be loaded when the audio is in a foreign language.",
"OptionDefaultSubtitlesHelp": "Untertitel die den Spracheinstellungen entsprechen werden nur bei einer Tonspur in fremder Sprache heruntergeladen.",
"OptionOnlyForcedSubtitlesHelp": "Only subtitles marked as forced will be loaded.",
"OptionAlwaysPlaySubtitlesHelp": "Subtitles matching the language preference will be loaded regardless of the audio language.",
"OptionAlwaysPlaySubtitlesHelp": "Untertitel die den Spracheinstellungen entsprechen werden unabh\u00e4ngig von der Tonspur Sprache heruntergeladen.",
"OptionNoSubtitlesHelp": "Untertitel wird standardm\u00e4\u00dfig nicht geladen.",
"TabProfiles": "Profile",
"TabSecurity": "Sicherheit",
@ -173,7 +175,7 @@
"LabelService": "Service:",
"LabelStatus": "Status:",
"LabelVersion": "Version:",
"LabelLastResult": "Last result:",
"LabelLastResult": "Letztes Ergebnis:",
"OptionHasSubtitles": "Untertitel",
"OptionHasTrailer": "Trailer",
"OptionHasThemeSong": "Titellied",
@ -192,7 +194,7 @@
"HeaderStatus": "Status",
"OptionContinuing": "Fortdauernd",
"OptionEnded": "Beendent",
"HeaderAirDays": "Ausstrahlungstage:",
"HeaderAirDays": "Ausstrahlungstage",
"OptionSunday": "Sonntag",
"OptionMonday": "Montag",
"OptionTuesday": "Dienstag",
@ -200,7 +202,7 @@
"OptionThursday": "Donnerstag",
"OptionFriday": "Freitag",
"OptionSaturday": "Samstag",
"HeaderManagement": "Verwaltung:",
"HeaderManagement": "Verwaltung",
"LabelManagement": "Management:",
"OptionMissingImdbId": "Fehlende IMDb Id",
"OptionMissingTvdbId": "Fehlende TheTVDB Id",
@ -237,10 +239,10 @@
"ButtonSelect": "Ausw\u00e4hlen",
"ButtonSearch": "Suche",
"ButtonGroupVersions": "Gruppiere Versionen",
"ButtonAddToCollection": "Add to Collection",
"ButtonAddToCollection": "Zur Sammlung hinzuf\u00fcgen",
"PismoMessage": "Verwendet Pismo File Mount durch eine gespendete Lizenz.",
"TangibleSoftwareMessage": "Utilizing Tangible Solutions Java\/C# converters through a donated license.",
"HeaderCredits": "Credits",
"HeaderCredits": "Herausgeber",
"PleaseSupportOtherProduces": "Bitte unterst\u00fctzen Sie andere freie Produkte die wir benutzen:",
"VersionNumber": "Version {0}",
"TabPaths": "Pfade",
@ -259,13 +261,13 @@
"ButtonSelectDirectory": "W\u00e4hle Verzeichnis",
"LabelCustomPaths": "Definiere eigene Pfade. Felder leer lassen um die Standardwerte zu nutzen.",
"LabelCachePath": "Cache Pfad:",
"LabelCachePathHelp": "Dieser Ordner beinhaltet Server Cache Dateien, wie z.B. Bilddateien.",
"LabelCachePathHelp": "W\u00e4hle einen Ordner f\u00fcr Server Cache Dateien, wie z.B. Bilddateien.",
"LabelImagesByNamePath": "Images by name Pfad:",
"LabelImagesByNamePathHelp": "Dieser Ordner beinhaltet Schauspieler, K\u00fcnstler, Genre und Studio Bilder.",
"LabelImagesByNamePathHelp": "W\u00e4hle einen Ordner f\u00fcr Schauspieler, K\u00fcnstler, Genre und Studio Bilder.",
"LabelMetadataPath": "Metadata Pfad:",
"LabelMetadataPathHelp": "Dieser Ort beinhaltet das heruntergeladene Bildmaterial und die Metadaten, falls sie nicht innerhalb der Medienordner gespeichert werden sollen.",
"LabelMetadataPathHelp": "W\u00e4hle einen Ordner f\u00fcr heruntergeladenes Bildmaterial und Metadaten, falls diese nicht innerhalb der Medienordner gespeichert werden sollen.",
"LabelTranscodingTempPath": "Tempor\u00e4rer Transcoding Pfad:",
"LabelTranscodingTempPathHelp": "Dieser Ordner beinhaltet Dateien die f\u00fcr den Betrieb des Transcoders benutzt werden.",
"LabelTranscodingTempPathHelp": "Dieser Ordner beinhaltet Dateien die f\u00fcr den Betrieb des Transcoders benutzt werden. W\u00e4hle einen eigenen Pfad oder lasse das Feld frei, um den Standardspeicherort im Server Datenverzeichnis zu nutzen.",
"TabBasics": "Grundlagen",
"TabTV": "TV",
"TabGames": "Spiele",
@ -282,7 +284,7 @@
"LabelAutomaticUpdatesFanartHelp": "Falls aktviert, werden Bilder die unter fanart.tv neu hinzugef\u00fcgt wurden, automatisch geladen. Vorhandene Bilder werden nicht ersetzt.",
"LabelAutomaticUpdatesTmdbHelp": "Falls aktviert, werden Bilder die unter TheMovieDB.org neu hinzugef\u00fcgt wurden, automatisch geladen. Vorhandene Bilder werden nicht ersetzt.",
"LabelAutomaticUpdatesTvdbHelp": "Falls aktviert, werden Bilder die unter TheTVDB.com neu hinzugef\u00fcgt wurden, automatisch geladen. Vorhandene Bilder werden nicht ersetzt.",
"ExtractChapterImagesHelp": "Das Auslesen von Kapitelbildern erlaubt es den Clients grafische Szenenauswahlmen\u00fcs anzuzeigen. Der Prozess kann langsam, prozessorintensiv sein und mehrere Gigabyte an Speicherplatz erfordern. Er wird nachts um 4:00 Uhr als geplante Aufgabe ausgef\u00fchrt, dies l\u00e4sst sich im \"Geplante Aufgaben\" Bereich konfigurieren. Es ist nicht ratsam, diese Aufgabe in der Hauptbelastungszeit auszuf\u00fchren.",
"ExtractChapterImagesHelp": "Das Auslesen von Kapitelbildern erlaubt es den Clients grafische Szenenauswahlmen\u00fcs anzuzeigen. Der Prozess kann langsam sowie prozessorintensiv sein und kann mehrere Gigabyte an Speicherplatz erfordern. Er wird nachts um 4:00 Uhr als geplante Aufgabe ausgef\u00fchrt, dies l\u00e4sst sich im \"Geplante Aufgaben\" Bereich konfigurieren. Es ist nicht ratsam, diese Aufgabe in der Hauptbelastungszeit auszuf\u00fchren.",
"LabelMetadataDownloadLanguage": "Bevorzugte Sprache f\u00fcr Downloads:",
"ButtonAutoScroll": "Auto-scroll",
"LabelImageSavingConvention": "Speicherconvention der Bilddatein:",
@ -339,7 +341,7 @@
"OptionAutomatic": "Auto",
"LiveTvPluginRequired": "Ein Live TV Serviceproviderplugin ist notwendig um fortzufahren.",
"LiveTvPluginRequiredHelp": "Bitte installieren Sie eines der verf\u00fcgbaren Plugins, wie z.B. Next Pvr oder ServerWmc.",
"LabelCustomizeOptionsPerMediaType": "Customize for media type:",
"LabelCustomizeOptionsPerMediaType": "Anpassungen f\u00fcr Medientyp:",
"OptionDownloadThumbImage": "Thumb",
"OptionDownloadMenuImage": "Men\u00fc",
"OptionDownloadLogoImage": "Logo",
@ -351,7 +353,7 @@
"OptionDownloadPrimaryImage": "Prim\u00e4r",
"HeaderFetchImages": "Bilder abrufen:",
"HeaderImageSettings": "Bild Einstellungen",
"TabOther": "Other",
"TabOther": "Andere",
"LabelMaxBackdropsPerItem": "Maximale Anzahl von Backdrops pro Element:",
"LabelMaxScreenshotsPerItem": "Maximale Anzahl von Screenshots pro Element:",
"LabelMinBackdropDownloadWidth": "Minimale Breite f\u00fcr zu herunterladende Backdrops:",
@ -454,8 +456,8 @@
"LabelPreferredDisplayLanguageHelp": "Die \u00dcbersetzung von Media Browser ist ein andauerndes Projekt und noch nicht abgeschlossen.",
"LabelReadHowYouCanContribute": "Lesen Sie wie Sie dazu beitragen k\u00f6nnen.",
"HeaderNewCollection": "Neue Collection",
"HeaderAddToCollection": "Add to Collection",
"ButtonSubmit": "Submit",
"HeaderAddToCollection": "Zur Sammlung hinzuf\u00fcgen",
"ButtonSubmit": "Best\u00e4tigen",
"NewCollectionNameExample": "Beispiel: Star Wars Collection",
"OptionSearchForInternetMetadata": "Suche im Internet nach Bildmaterial und Metadaten",
"ButtonCreate": "Kreieren",
@ -482,20 +484,20 @@
"HeaderProgram": "Programm",
"HeaderClients": "Clients",
"LabelCompleted": "Fertiggestellt",
"LabelFailed": "Failed",
"LabelFailed": "Fehlgeschlagen",
"LabelSkipped": "\u00dcbersprungen",
"HeaderEpisodeOrganization": "Episodensortierung",
"LabelSeries": "Series:",
"LabelSeries": "Serien:",
"LabelSeasonNumber": "Staffelnummer",
"LabelEpisodeNumber": "Episodennummer",
"LabelEndingEpisodeNumber": "Ending episode number",
"LabelEndingEpisodeNumber": "Endende Episodennummer",
"LabelEndingEpisodeNumberHelp": "Nur erforderlich f\u00fcr Mehrfachepisoden",
"HeaderSupportTheTeam": "Unterst\u00fcze das Media Browser Team",
"LabelSupportAmount": "Betrag (USD)",
"HeaderSupportTheTeamHelp": "Helfen sie der Weiterentwicklung dieses Projekts in dem Sie spenden. Ein Teil der Spenden wird weitergespendet an freie Anwendungen auf die wir angewiesen sind.",
"ButtonEnterSupporterKey": "Supporter Key eintragen",
"DonationNextStep": "Sobald abgeschlossen, kehren Sie bitte hierher zur\u00fcck und tragen Sie den Unterst\u00fctzerschl\u00fcssel ein, den Sie per E-Mail erhalten haben.",
"AutoOrganizeHelp": "Auto-organize monitors your download folders for new files and moves them to your media directories.",
"AutoOrganizeHelp": "Die \"Auto-Organisation\" \u00fcberpr\u00fcft die Download-Verzeichnisse auf neue Dateien und verschiebt diese in die Medienverzeichnisse.",
"AutoOrganizeTvHelp": "TV Dateien Organisation wird nur Episoden zu bereits vorhandenen Serien hinzuf\u00fcgen. Es werden keine neuen Serien angelegt.",
"OptionEnableEpisodeOrganization": "Aktiviere die Sortierung neuer Episoden",
"LabelWatchFolder": "\u00dcberwachungsordner:",
@ -509,7 +511,7 @@
"LabelEpisodePattern": "Episodenvorlage:",
"LabelMultiEpisodePattern": "Multi-Episodenvorlage:",
"HeaderSupportedPatterns": "Unterst\u00fctzte Vorlagen:",
"HeaderTerm": "Term",
"HeaderTerm": "Begriff",
"HeaderPattern": "Vorlagen",
"HeaderResult": "Ergebnis",
"LabelDeleteEmptyFolders": "L\u00f6sche leere Ordner nach dem Organisieren.",
@ -537,7 +539,7 @@
"ErrorConnectingToMediaBrowserRepository": "Es trat ein Fehler bei der Verbindung zum Media Browser Repository auf.",
"LabelComponentsUpdated": "Die folgenden Komponenten wurden installiert oder aktualisiert:",
"MessagePleaseRestartServerToFinishUpdating": "Bitte den Server neustarten, um die Aktualisierungen abzuschlie\u00dfen.",
"LabelDownMixAudioScale": "Audio boost when downmixing:",
"LabelDownMixAudioScale": "Audio Verst\u00e4rkung bei Downmixing:",
"LabelDownMixAudioScaleHelp": "Erh\u00f6he die Audiolautst\u00e4rke beim Heruntermischen. Setzte auf 1 um die original Lautst\u00e4rke zu erhalten.",
"ButtonLinkKeys": "Schl\u00fcssel zusammenf\u00fchren",
"LabelOldSupporterKey": "Alter Unterst\u00fctzerschl\u00fcssel",
@ -585,14 +587,14 @@
"NotificationOptionVideoPlayback": "Videowiedergabe gestartet",
"NotificationOptionAudioPlayback": "Audiowiedergabe gestartet",
"NotificationOptionGamePlayback": "Spielwiedergabe gestartet",
"NotificationOptionVideoPlaybackStopped": "Video playback stopped",
"NotificationOptionAudioPlaybackStopped": "Audio playback stopped",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionVideoPlaybackStopped": "Videowiedergabe gestoppt",
"NotificationOptionAudioPlaybackStopped": "Audiowiedergabe gestoppt",
"NotificationOptionGamePlaybackStopped": "Spielwiedergabe gestoppt",
"NotificationOptionTaskFailed": "Fehler bei geplanter Aufgabe",
"NotificationOptionInstallationFailed": "Installationsfehler",
"NotificationOptionNewLibraryContent": "Neuer Inhalt hinzugef\u00fcgt",
"NotificationOptionNewLibraryContentMultiple": "Neuen Inhalte hinzugef\u00fcgt (mehrere)",
"SendNotificationHelp": "By default, notifications are delivered to the dashboard inbox. Browse the plugin catalog to install additional notification options.",
"SendNotificationHelp": "Standardm\u00e4\u00dfig werden Benachrichtigungen in der Optionsleiste angezeigt. Durchsuche den Plugin Katalog f\u00fcr die Installation von weiteren Benachrichtigungsm\u00f6glichkeiten.",
"NotificationOptionServerRestartRequired": "Serverneustart notwendig",
"LabelNotificationEnabled": "Aktiviere diese Benachrichtigung",
"LabelMonitorUsers": "\u00dcberwache Aktivit\u00e4t von:",
@ -633,8 +635,8 @@
"ButtonScenes": "Szenen",
"ButtonSubtitles": "Untertitel",
"ButtonAudioTracks": "Audio tracks",
"ButtonPreviousTrack": "Previous track",
"ButtonNextTrack": "Next track",
"ButtonPreviousTrack": "Vorheriges St\u00fcck",
"ButtonNextTrack": "N\u00e4chstes St\u00fcck",
"ButtonStop": "Stop",
"ButtonPause": "Pause",
"LabelGroupMoviesIntoCollections": "Gruppiere Filme in Collections",
@ -665,10 +667,10 @@
"OptionProfileVideoAudio": "Video Audio",
"OptionProfilePhoto": "Photo",
"LabelUserLibrary": "Benutzer Bibliothek:",
"LabelUserLibraryHelp": "Select which user library to display to the device. Leave empty to inherit the default setting.",
"OptionPlainStorageFolders": "Display all folders as plain storage folders",
"LabelUserLibraryHelp": "W\u00e4hle aus, welche Medienbibliothek auf den Endger\u00e4ten angezeigt werden soll. Ohne Eintrag wird die Standardeinstellung beibehalten.",
"OptionPlainStorageFolders": "Zeige alle Verzeichnisse als reine Speicherorte an",
"OptionPlainStorageFoldersHelp": "If enabled, all folders are represented in DIDL as \"object.container.storageFolder\" instead of a more specific type, such as \"object.container.person.musicArtist\".",
"OptionPlainVideoItems": "Display all videos as plain video items",
"OptionPlainVideoItems": "Zeige alle Videos als reine Videodateien an",
"OptionPlainVideoItemsHelp": "If enabled, all videos are represented in DIDL as \"object.item.videoItem\" instead of a more specific type, such as \"object.item.videoItem.movie\".",
"LabelSupportedMediaTypes": "Unterst\u00fczte Medientypen:",
"TabIdentification": "Identifikation",
@ -678,21 +680,21 @@
"TabResponses": "Antworten",
"HeaderProfileInformation": "Profil Infomationen",
"LabelEmbedAlbumArtDidl": "Embed album art in Didl",
"LabelEmbedAlbumArtDidlHelp": "Some devices prefer this method for obtaining album art. Others may fail to play with this option enabled.",
"LabelEmbedAlbumArtDidlHelp": "Einige Ger\u00e4te bevorzugen diese Methode um Album Art darstellen zu k\u00f6nnen. Andere wiederum k\u00f6nnen evtl. nichts abspielen, wenn diese Funktion aktiviert ist.",
"LabelAlbumArtPN": "Album art PN:",
"LabelAlbumArtHelp": "PN used for album art, within the dlna:profileID attribute on upnp:albumArtURI. Some clients require a specific value, regardless of the size of the image.",
"LabelAlbumArtMaxWidth": "Album art max width:",
"LabelAlbumArtMaxWidthHelp": "Max resolution of album art exposed via upnp:albumArtURI.",
"LabelAlbumArtMaxHeight": "Album art max height:",
"LabelAlbumArtMaxHeightHelp": "Max resolution of album art exposed via upnp:albumArtURI.",
"LabelAlbumArtMaxWidth": "Maximale Breite f\u00fcr Album Art:",
"LabelAlbumArtMaxWidthHelp": "Maximale Aufl\u00f6sung f\u00fcr durch UPnP \u00fcbermittelte Album Art:albumArtURI.",
"LabelAlbumArtMaxHeight": "Maximale H\u00f6he f\u00fcr Album Art:",
"LabelAlbumArtMaxHeightHelp": "Maximale Aufl\u00f6sung f\u00fcr durch UPnP \u00fcbermittelte Album Art:albumArtURI.",
"LabelIconMaxWidth": "Maximale Iconbreite:",
"LabelIconMaxWidthHelp": "Max resolution of icons exposed via upnp:icon.",
"LabelIconMaxWidthHelp": "Maximale Aufl\u00f6sung f\u00fcr durch UPnP \u00fcbermittelte Icons:icon.",
"LabelIconMaxHeight": "Maximale Iconh\u00f6he:",
"LabelIconMaxHeightHelp": "Max resolution of icons exposed via upnp:icon.",
"LabelIdentificationFieldHelp": "A case-insensitive substring or regex expression.",
"HeaderProfileServerSettingsHelp": "These values control how Media Browser will present itself to the device.",
"LabelIconMaxHeightHelp": "Maximale Aufl\u00f6sung f\u00fcr durch UPnP \u00fcbermittelte Icons:icon.",
"LabelIdentificationFieldHelp": "Ein Teilstring oder Regex Ausdruck, der keine Gro\u00df- und Kleinschreibung ber\u00fccksichtigt.",
"HeaderProfileServerSettingsHelp": "Diese Einstellungen legen fest, wie sich MediaBrowser gegen\u00fcber den Endger\u00e4ten verh\u00e4lt.",
"LabelMaxBitrate": "Maximale Bitrate:",
"LabelMaxBitrateHelp": "Specify a max bitrate in bandwidth constrained environments, or if the device imposes it's own limit.",
"LabelMaxBitrateHelp": "Lege eine maximale Bitrate, f\u00fcr Anwendungsgebiete mit begrenzter Bandbreite oder bei durch die Endger\u00e4te auferlegten Banbdbreitenbegrenzungen, fest",
"LabelMaxStreamingBitrate": "Max streaming bitrate:",
"LabelMaxStreamingBitrateHelp": "Specify a max bitrate when streaming.",
"LabelMaxStaticBitrate": "Max sync bitrate:",
@ -713,7 +715,7 @@
"LabelSerialNumber": "Seriennummer",
"LabelDeviceDescription": "Ger\u00e4tebeschreibung",
"HeaderIdentificationCriteriaHelp": "Geben sie mindestens ein Identificationskriterium an.",
"HeaderDirectPlayProfileHelp": "Add direct play profiles to indicate which formats the device can handle natively.",
"HeaderDirectPlayProfileHelp": "F\u00fcge Direct-Play Profile hinzu um die nativen Abspielm\u00f6glichkeiten von Ger\u00e4ten festzulegen.",
"HeaderTranscodingProfileHelp": "Add transcoding profiles to indicate which formats should be used when transcoding is required.",
"HeaderResponseProfileHelp": "Response profiles provide a way to customize information sent to the device when playing certain kinds of media.",
"LabelXDlnaCap": "X-Dlna cap:",
@ -728,7 +730,7 @@
"LabelTranscodingAudioCodec": "Audio Codec:",
"OptionEnableM2tsMode": "Aktiviere M2TS Modus",
"OptionEnableM2tsModeHelp": "Aktiviere M2TS Modus beim Encodieren nach MPEGTS.",
"OptionEstimateContentLength": "Estimate content length when transcoding",
"OptionEstimateContentLength": "Voraussichtliche Inhaltsl\u00e4nge beim Transkodieren",
"OptionReportByteRangeSeekingWhenTranscoding": "Report that the server supports byte seeking when transcoding",
"OptionReportByteRangeSeekingWhenTranscodingHelp": "This is required for some devices that don't time seek very well.",
"HeaderSubtitleDownloadingHelp": "When Media Browser scans your video files it can search for missing subtitles, and download them using a subtitle provider such as OpenSubtitles.org.",
@ -739,12 +741,12 @@
"TabSubtitles": "Untertitel",
"TabChapters": "Chapters",
"HeaderDownloadChaptersFor": "Download chapter names for:",
"LabelOpenSubtitlesUsername": "Open Subtitles username:",
"LabelOpenSubtitlesPassword": "Open Subtitles password:",
"LabelOpenSubtitlesUsername": "\"Open Subtitles\" Benutzername:",
"LabelOpenSubtitlesPassword": "\"Open Subtitles\" Passwort:",
"HeaderChapterDownloadingHelp": "When Media Browser scans your video files it can download friendly chapter names from the internet using chapter plugins such as ChapterDb.",
"LabelPlayDefaultAudioTrack": "Play default audio track regardless of language",
"LabelSubtitlePlaybackMode": "Subtitle mode:",
"LabelDownloadLanguages": "Download languages:",
"LabelPlayDefaultAudioTrack": "Spiele unabh\u00e4ngig von der Sprache die Standardtonspur",
"LabelSubtitlePlaybackMode": "Untertitel Modus:",
"LabelDownloadLanguages": "Herunterzuladende Sprachen:",
"ButtonRegister": "Registrierung",
"LabelSkipIfAudioTrackPresent": "\u00dcberspringen, falls der Ton bereits der herunterladbaren Sprache entspricht",
"LabelSkipIfAudioTrackPresentHelp": "Uncheck this to ensure all videos have subtitles, regardless of audio language.",
@ -752,7 +754,7 @@
"ButtonSend": "senden",
"LabelMessageText": "Inhalt der Nachricht",
"MessageNoAvailablePlugins": "Keine verf\u00fcgbaren Erweiterungen.",
"LabelDisplayPluginsFor": "Display plugins for:",
"LabelDisplayPluginsFor": "Zeige Plugins f\u00fcr:",
"PluginTabMediaBrowserClassic": "MB Classic",
"PluginTabMediaBrowserTheater": "MB Theater",
"LabelEpisodeName": "Episodentitel",
@ -763,38 +765,38 @@
"ValueEpisodeNameUnderscore": "Episode_name",
"HeaderTypeText": "Enter Text",
"LabelTypeText": "Text",
"HeaderSearchForSubtitles": "Search for Subtitles",
"MessageNoSubtitleSearchResultsFound": "No search results founds.",
"HeaderSearchForSubtitles": "Suche nach Untertiteln",
"MessageNoSubtitleSearchResultsFound": "Keine Suchergebnisse gefunden",
"TabDisplay": "Anzeige",
"TabLanguages": "Sprachen",
"TabWebClient": "Webclient",
"LabelEnableThemeSongs": "Aktiviere Titelmelodie",
"LabelEnableBackdrops": "Aktiviere Backdrops",
"LabelEnableThemeSongsHelp": "Wenn aktiviert, wird die Titelmusik w\u00e4hrend dem Durchsuchen durch die Bibliothek im Hintergrund abgespielt",
"LabelEnableBackdropsHelp": "If enabled, backdrops will be displayed in the background of some pages while browsing the library.",
"HeaderHomePage": "Home Page",
"LabelEnableBackdropsHelp": "Falls aktiviert, werden beim durchsuchen der Bibliothek auf einigen Seiten passende Hintergr\u00fcnde (backdrops) angezeigt.",
"HeaderHomePage": "Startseite",
"HeaderSettingsForThisDevice": "Einstellungen f\u00fcr dieses Ger\u00e4t",
"OptionAuto": "Auto",
"OptionYes": "Ja",
"OptionNo": "Nein",
"LabelHomePageSection1": "Home page section 1:",
"LabelHomePageSection2": "Home page section 2:",
"LabelHomePageSection3": "Home page section 3:",
"LabelHomePageSection4": "Home page section 4:",
"OptionMyViewsButtons": "My views (buttons)",
"OptionMyViews": "My views",
"OptionMyViewsSmall": "My views (small)",
"OptionResumablemedia": "Resume",
"LabelHomePageSection1": "Startseite Bereich 1:",
"LabelHomePageSection2": "Startseite Bereich 2:",
"LabelHomePageSection3": "Startseite Bereich 3:",
"LabelHomePageSection4": "Startseite Bereich 4:",
"OptionMyViewsButtons": "Meine Ansichten (Tasten)",
"OptionMyViews": "Meine Ansichten",
"OptionMyViewsSmall": "Meine Ansichten (Klein)",
"OptionResumablemedia": "Wiederhole",
"OptionLatestMedia": "Neuste Medien",
"OptionLatestChannelMedia": "Latest channel items",
"HeaderLatestChannelItems": "Latest Channel Items",
"OptionNone": "None",
"OptionLatestChannelMedia": "Neueste Channel Inhalte:",
"HeaderLatestChannelItems": "Neueste Channel Inhalte:",
"OptionNone": "Keines",
"HeaderLiveTv": "Live Fernsehn",
"HeaderReports": "Meldungen",
"HeaderMetadataManager": "Metadaten-Manager",
"HeaderPreferences": "Einstellungen",
"MessageLoadingChannels": "Lade Channel Inhalt...",
"MessageLoadingContent": "Loading content...",
"MessageLoadingContent": "Lade Inhalt...",
"ButtonMarkRead": "Als gelesen markieren",
"OptionDefaultSort": "Default",
"OptionCommunityMostWatchedSort": "Meistgesehen",
@ -810,15 +812,15 @@
"LabelChannelStreamQuality": "Bevorzugte Qualit\u00e4t des Internetstreams",
"LabelChannelStreamQualityHelp": "In a low bandwidth environment, limiting quality can help ensure a smooth streaming experience.",
"OptionBestAvailableStreamQuality": "Best available",
"LabelEnableChannelContentDownloadingFor": "Enable channel content downloading for:",
"LabelEnableChannelContentDownloadingFor": "Aktiviere das herunterladen von Channel Inhalten f\u00fcr:",
"LabelEnableChannelContentDownloadingForHelp": "Some channels support downloading content prior to viewing. Enable this in low bandwidth enviornments to download channel content during off hours. Content is downloaded as part of the channel download scheduled task.",
"LabelChannelDownloadPath": "Channel content download path:",
"LabelChannelDownloadPathHelp": "Specify a custom download path if desired. Leave empty to download to an internal program data folder.",
"LabelChannelDownloadPath": "Channel Inhalt Downloadverzeichnis:",
"LabelChannelDownloadPathHelp": "Lege, falls gew\u00fcnscht, einen eigenen Pfad f\u00fcr Downloads fest. Lasse das Feld frei, wenn in den internen Programmdatenordner heruntergeladen werden soll.",
"LabelChannelDownloadAge": "L\u00f6sche Inhalt nach: (Tagen)",
"LabelChannelDownloadAgeHelp": "Downloaded content older than this will be deleted. It will remain playable via internet streaming.",
"ChannelSettingsFormHelp": "Install channels such as Trailers and Vimeo in the plugin catalog.",
"LabelSelectCollection": "Select collection:",
"ViewTypeMovies": "Movies",
"LabelSelectCollection": "W\u00e4hle Zusammenstellung:",
"ViewTypeMovies": "Filme",
"ViewTypeTvShows": "TV",
"ViewTypeGames": "Games",
"ViewTypeMusic": "Music",
@ -826,18 +828,18 @@
"ViewTypeChannels": "Channels",
"ViewTypeLiveTV": "Live TV",
"HeaderOtherDisplaySettings": "Display Settings",
"HeaderMyViews": "My Views",
"HeaderMyViews": "Meine Ansichten",
"LabelSelectFolderGroups": "Automatically group content from the following folders into views such as Movies, Music and TV:",
"LabelSelectFolderGroupsHelp": "Folders that are unchecked will be displayed by themselves in their own view.",
"OptionDisplayAdultContent": "Display adult content",
"OptionLibraryFolders": "Media folders",
"TitleRemoteControl": "Remote Control",
"OptionLatestTvRecordings": "Latest recordings",
"LabelProtocolInfo": "Protocol info:",
"TitleRemoteControl": "Fernsteuerung",
"OptionLatestTvRecordings": "Neueste Aufnahmen",
"LabelProtocolInfo": "Protokoll Information:",
"LabelProtocolInfoHelp": "The value that will be used when responding to GetProtocolInfo requests from the device.",
"TabXbmcMetadata": "Xbmc",
"HeaderXbmcMetadataHelp": "Media Browser includes native support for Xbmc Nfo metadata and images. To enable or disable Xbmc metadata, use the Advanced tab to configure options for your media types.",
"LabelXbmcMetadataUser": "Add user watch data to nfo's for:",
"TabXbmcMetadata": "XBMC",
"HeaderXbmcMetadataHelp": "Media Browser beinhaltet die native Unterst\u00fctzung von XBMC .nfo Metadaten und Bildern. Benutze den \"Erweitert\" Reiter um Optionen f\u00fcr deine Medientypen zu konfigurieren und XBMC Metadaten zu aktivieren oder zu deaktivieren.",
"LabelXbmcMetadataUser": "F\u00fcge \"Bereits gesehen\" Daten in .nfo Dateien f\u00fcr folgende Benutzer hinzu:",
"LabelXbmcMetadataUserHelp": "Enable this to keep watch data in sync between Media Browser and Xbmc.",
"LabelXbmcMetadataDateFormat": "Release date format:",
"LabelXbmcMetadataDateFormatHelp": "All dates within nfo's will be read and written to using this format.",
@ -858,7 +860,7 @@
"HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
"LabelLoginDisclaimer": "Login disclaimer:",
"LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
"LabelAutomaticallyDonate": "Automatically donate this amount every six months",
"LabelAutomaticallyDonate": "Automatically donate this amount every month",
"LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
"OptionList": "List",
"TabDashboard": "Dashboard",
@ -897,7 +899,7 @@
"LabelView": "View:",
"TabUsers": "Users",
"HeaderFeatures": "Features",
"HeaderAdvanced": "Advanced",
"HeaderAdvanced": "Erweitert",
"ButtonSync": "Sync",
"TabScheduledTasks": "Scheduled Tasks",
"HeaderChapters": "Chapters",
@ -954,7 +956,7 @@
"OptionReportArtists": "Artists",
"OptionReportAlbums": "Albums",
"OptionReportAdultVideos": "Adult videos",
"ButtonMore": "Mehr...",
"ButtonMore": "Mehr",
"HeaderActivity": "Activity",
"ScheduledTaskStartedWithName": "{0} started",
"ScheduledTaskCancelledWithName": "{0} was cancelled",
@ -973,32 +975,32 @@
"SubtitlesDownloadedForItem": "Subtitles downloaded for {0}",
"SubtitleDownloadFailureForItem": "Subtitles failed to download for {0}",
"LabelRunningTimeValue": "Running time: {0}",
"LabelIpAddressValue": "Ip address: {0}",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"UserCreatedWithName": "User {0} has been created",
"UserPasswordChangedWithName": "Password has been changed for user {0}",
"UserDeletedWithName": "User {0} has been deleted",
"MessageServerConfigurationUpdated": "Server configuration has been updated",
"LabelIpAddressValue": "IP Adresse: {0}",
"UserConfigurationUpdatedWithName": "Benutzereinstellungen wurden aktualisiert f\u00fcr {0}",
"UserCreatedWithName": "Benutzer {0} wurde erstellt",
"UserPasswordChangedWithName": "Das Passwort f\u00fcr Benutzer {0} wurde ge\u00e4ndert",
"UserDeletedWithName": "Benutzer {0} wurde gel\u00f6scht",
"MessageServerConfigurationUpdated": "Server Einstellungen wurden geupdated",
"MessageNamedServerConfigurationUpdatedWithValue": "Server configuration section {0} has been updated",
"MessageApplicationUpdated": "Media Browser Server has been updated",
"MessageApplicationUpdated": "Media Browser Server wurde geupdated",
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
"UserStartedPlayingItemWithValues": "{0} hat die Wiedergabe von {1} beendet",
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
"AppDeviceValues": "App: {0}, Device: {1}",
"AppDeviceValues": "App: {0}, Ger\u00e4t: {1}",
"ProviderValue": "Provider: {0}",
"LabelChannelDownloadSizeLimit": "Download size limit (GB):",
"LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder",
"HeaderRecentActivity": "Recent Activity",
"HeaderPeople": "People",
"HeaderDownloadPeopleMetadataFor": "Download biography and images for:",
"OptionComposers": "Composers",
"OptionOthers": "Others",
"HeaderDownloadPeopleMetadataForHelp": "Enabling additional options will provide more on-screen information but will result in slower library scans.",
"ViewTypeFolders": "Folders",
"LabelDisplayFoldersView": "Display a folders view to show plain media folders",
"ViewTypeLiveTvRecordingGroups": "Recordings",
"HeaderRecentActivity": "K\u00fcrzliche Aktivit\u00e4ten",
"HeaderPeople": "Personen",
"HeaderDownloadPeopleMetadataFor": "Lade Biografien und Bilder herunter f\u00fcr:",
"OptionComposers": "Komponisten",
"OptionOthers": "Andere",
"HeaderDownloadPeopleMetadataForHelp": "Die Aktivierung von zus\u00e4tzlichen Optionen wird mehr Informationen zur Verf\u00fcgung stellen, aber das scannen der Bibliothek verlangsamen.",
"ViewTypeFolders": "Verzeichnisse",
"LabelDisplayFoldersView": "Nutze die Verzeichnissansicht f\u00fcr die Darstellung der reinen Medienordner",
"ViewTypeLiveTvRecordingGroups": "Aufnahmen",
"ViewTypeLiveTvChannels": "Channels",
"LabelAllowLocalAccessWithoutPassword": "Allow local access without a password",
"LabelAllowLocalAccessWithoutPasswordHelp": "When enabled, a password will not be required when signing in from within your home network."
"LabelAllowLocalAccessWithoutPassword": "Erlaube lokalen Zugriff ohne Passwort",
"LabelAllowLocalAccessWithoutPasswordHelp": "Fall aktiviert, wird kein Passwort f\u00fcr einen Zugriff innerhalb deines Heimnetzwerks ben\u00f6tigt."
}

View file

@ -4,7 +4,9 @@
"LabelVisitCommunity": "\u0395\u03c0\u03af\u03c3\u03ba\u03b5\u03c8\u03b7 \u039a\u03bf\u03b9\u03bd\u03cc\u03c4\u03b7\u03c4\u03b1",
"HeaderLocalAccess": "Local Access",
"LabelGithubWiki": "Github Wiki",
"HeaderViewOrder": "View Order",
"LabelSwagger": "Swagger",
"LabelSelectUserViewOrder": "Choose the order your views will be displayed in within Media Browser apps",
"LabelStandard": "\u03c0\u03c1\u03cc\u03c4\u03c5\u03c0\u03bf",
"LabelViewApiDocumentation": "\u03a0\u03c1\u03bf\u03b2\u03bf\u03bb\u03ae Api \u03a4\u03b5\u03ba\u03bc\u03b7\u03c1\u03af\u03c9\u03c3\u03b7",
"LabelBrowseLibrary": "\u03c0\u03b5\u03c1\u03b9\u03b7\u03b3\u03b7\u03b8\u03b5\u03af\u03c4\u03b5 \u03c3\u03c4\u03b7 \u03b2\u03b9\u03b2\u03bb\u03b9\u03bf\u03b8\u03ae\u03ba\u03b7",
@ -858,7 +860,7 @@
"HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
"LabelLoginDisclaimer": "Login disclaimer:",
"LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
"LabelAutomaticallyDonate": "Automatically donate this amount every six months",
"LabelAutomaticallyDonate": "Automatically donate this amount every month",
"LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
"OptionList": "List",
"TabDashboard": "Dashboard",

View file

@ -4,7 +4,9 @@
"LabelVisitCommunity": "Visit Community",
"HeaderLocalAccess": "Local Access",
"LabelGithubWiki": "Github Wiki",
"HeaderViewOrder": "View Order",
"LabelSwagger": "Swagger",
"LabelSelectUserViewOrder": "Choose the order your views will be displayed in within Media Browser apps",
"LabelStandard": "Standard",
"LabelViewApiDocumentation": "View Api Documentation",
"LabelBrowseLibrary": "Browse Library",
@ -858,7 +860,7 @@
"HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
"LabelLoginDisclaimer": "Login disclaimer:",
"LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
"LabelAutomaticallyDonate": "Automatically donate this amount every six months",
"LabelAutomaticallyDonate": "Automatically donate this amount every month",
"LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
"OptionList": "List",
"TabDashboard": "Dashboard",

View file

@ -4,7 +4,9 @@
"LabelVisitCommunity": "Visit Community",
"HeaderLocalAccess": "Local Access",
"LabelGithubWiki": "Github Wiki",
"HeaderViewOrder": "View Order",
"LabelSwagger": "Swagger",
"LabelSelectUserViewOrder": "Choose the order your views will be displayed in within Media Browser apps",
"LabelStandard": "Standard",
"LabelViewApiDocumentation": "View Api Documentation",
"LabelBrowseLibrary": "Browse Library",
@ -858,7 +860,7 @@
"HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
"LabelLoginDisclaimer": "Login disclaimer:",
"LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
"LabelAutomaticallyDonate": "Automatically donate this amount every six months",
"LabelAutomaticallyDonate": "Automatically donate this amount every month",
"LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
"OptionList": "List",
"TabDashboard": "Dashboard",

View file

@ -4,7 +4,9 @@
"LabelVisitCommunity": "Visitar la comunidad",
"HeaderLocalAccess": "Local Access",
"LabelGithubWiki": "Wiki de Github",
"HeaderViewOrder": "View Order",
"LabelSwagger": "Swagger",
"LabelSelectUserViewOrder": "Choose the order your views will be displayed in within Media Browser apps",
"LabelStandard": "Est\u00e1ndar",
"LabelViewApiDocumentation": "Ver documentacion de Api",
"LabelBrowseLibrary": "Navegar biblioteca",

View file

@ -4,7 +4,9 @@
"LabelVisitCommunity": "Visitar la Comunidad",
"HeaderLocalAccess": "Acceso Local",
"LabelGithubWiki": "Wiki de Github",
"HeaderViewOrder": "Orden de Despliegue",
"LabelSwagger": "Swagger",
"LabelSelectUserViewOrder": "Seleccione el orden en que sus vistas ser\u00e1n desplegadas dentro de las apps de Media Browser",
"LabelStandard": "Est\u00e1ndar",
"LabelViewApiDocumentation": "Ver documentaci\u00f3n del Api",
"LabelBrowseLibrary": "Explorar Biblioteca",
@ -858,7 +860,7 @@
"HeaderBrandingHelp": "Personaliza la apariencia de Media Browser para ajustarla a las necesidades de tu grupo u organizaci\u00f3n.",
"LabelLoginDisclaimer": "Aviso de Inicio de Sesi\u00f3n:",
"LabelLoginDisclaimerHelp": "Esto se mostrara al final de la pagina de inicio de sesi\u00f3n.",
"LabelAutomaticallyDonate": "Donar autom\u00e1ticamente esta cantidad cada seis meses",
"LabelAutomaticallyDonate": "Donar autom\u00e1ticamente este monto cada mes",
"LabelAutomaticallyDonateHelp": "Puedes cancelarlo en cualquier momento por medio de tu cuenta PayPal.",
"OptionList": "Lista",
"TabDashboard": "Panel de Control",

View file

@ -2,9 +2,11 @@
"LabelExit": "Quitter",
"HeaderPassword": "Mot de passe",
"LabelVisitCommunity": "Visiter la Communaut\u00e9",
"HeaderLocalAccess": "Local Access",
"HeaderLocalAccess": "Acc\u00e8s local",
"LabelGithubWiki": "GitHub Wiki",
"HeaderViewOrder": "View Order",
"LabelSwagger": "Swagger",
"LabelSelectUserViewOrder": "Choose the order your views will be displayed in within Media Browser apps",
"LabelStandard": "Standard",
"LabelViewApiDocumentation": "Consulter la documentation API",
"LabelBrowseLibrary": "Parcourir la biblioth\u00e8que",
@ -259,7 +261,7 @@
"ButtonSelectDirectory": "S\u00e9lectionner le r\u00e9pertoire",
"LabelCustomPaths": "Sp\u00e9cifier des chemins d'acc\u00e8s personnalis\u00e9s si d\u00e9sir\u00e9. Laisser vide pour garder les chemin d'acc\u00e8s par d\u00e9faut.",
"LabelCachePath": "Chemin d'acc\u00e8s du cache temporaire:",
"LabelCachePathHelp": "Ce r\u00e9pertoire contient les fichier temporaires du serveur, comme, par example, les images.",
"LabelCachePathHelp": "Ce r\u00e9pertoire contient les fichier temporaires du serveur, comme, par exemple, les images.",
"LabelImagesByNamePath": "Chemin d'acc\u00e8s de \"Images by Name\":",
"LabelImagesByNamePathHelp": "Ce r\u00e9pertoire contient les images des acteurs, genres et studios.",
"LabelMetadataPath": "Chemin d'acc\u00e8s des m\u00e9tadonn\u00e9es:",
@ -287,7 +289,7 @@
"ButtonAutoScroll": "D\u00e9fillement automatique",
"LabelImageSavingConvention": "Convention de sauvegarde des images:",
"LabelImageSavingConventionHelp": "Media Browser reconnait les images des autres applications de m\u00e9dia importants. Choisir la convention de t\u00e9l\u00e9chargement peut \u00eatre pratique si vous utilisez aussi d'autres produits.",
"OptionImageSavingCompatible": "Compatible - Media Browser\/Plex\/XBMC",
"OptionImageSavingCompatible": "Compatible - Media Browser\/Xbmc\/Plex",
"OptionImageSavingStandard": "Standard - MB2",
"ButtonSignIn": "Se connecter",
"TitleSignIn": "Se connecter",
@ -441,7 +443,7 @@
"CustomDlnaProfilesHelp": "Cr\u00e9er un profil personnalis\u00e9 pour cibler un appareil ou remplacer un profile syst\u00e8me.",
"SystemDlnaProfilesHelp": "Les profils syst\u00e8mes sont en lecture seule. Pour remplacer un profil syst\u00e8me, cr\u00e9ez un profil personnalis\u00e9 ciblant le m\u00eame appareil.",
"TitleDashboard": "Tableau de bord",
"TabHome": "Principal",
"TabHome": "Portail",
"TabInfo": "Info",
"HeaderLinks": "Liens",
"HeaderSystemPaths": "Chemins d'acc\u00e8s syst\u00e8mes",
@ -525,7 +527,7 @@
"HeaderHelpImproveMediaBrowser": "Aidez-nous \u00e0 am\u00e9liorer Media Browser",
"HeaderRunningTasks": "T\u00e2ches en ex\u00e9cution",
"HeaderActiveDevices": "Appareils actifs",
"HeaderPendingInstallations": "Installations en suspend",
"HeaderPendingInstallations": "Installations en suspens",
"HeaerServerInformation": "Information du serveur",
"ButtonRestartNow": "Red\u00e9marrer maintenant",
"ButtonRestart": "Red\u00e9marrer",
@ -619,7 +621,7 @@
"ButtonPageUp": "Page suivante",
"ButtonPageDown": "Page pr\u00e9c\u00e9dante",
"PageAbbreviation": "PG",
"ButtonHome": "Principal",
"ButtonHome": "Portail",
"ButtonSettings": "Param\u00e8tres",
"ButtonTakeScreenshot": "Capture d'\u00e9cran",
"ButtonLetterUp": "Lettre haut",
@ -693,14 +695,14 @@
"HeaderProfileServerSettingsHelp": "Ces valeurs contr\u00f4lent comment Media Browser sera pr\u00e9sent\u00e9 \u00e0 l'appareil.",
"LabelMaxBitrate": "D\u00e9bit maximum:",
"LabelMaxBitrateHelp": "Sp\u00e9cifiez un d\u00e9bit maximum dans les environnements avec bande passante limit\u00e9e ou si l'appareil impose sa propre limite.",
"LabelMaxStreamingBitrate": "Max streaming bitrate:",
"LabelMaxStreamingBitrateHelp": "Specify a max bitrate when streaming.",
"LabelMaxStaticBitrate": "Max sync bitrate:",
"LabelMaxStaticBitrateHelp": "Specify a max bitrate when syncing content at high quality.",
"LabelMaxStreamingBitrate": "D\u00e9bit max de streaming :",
"LabelMaxStreamingBitrateHelp": "Sp\u00e9cifiez le d\u00e9bit max lors du streaming.",
"LabelMaxStaticBitrate": "D\u00e9bit max de synchronisation :",
"LabelMaxStaticBitrateHelp": "Sp\u00e9cifiez un d\u00e9bit max pour la synchronisation de contenu en haute qualit\u00e9.",
"LabelMusicStaticBitrate": "Music sync bitrate:",
"LabelMusicStaticBitrateHelp": "Specify a max bitrate when syncing music",
"LabelMusicStreamingTranscodingBitrate": "Music transcoding bitrate:",
"LabelMusicStreamingTranscodingBitrateHelp": "Specify a max bitrate when streaming music",
"LabelMusicStreamingTranscodingBitrate": "D\u00e9bit du transcodage musique :",
"LabelMusicStreamingTranscodingBitrateHelp": "Sp\u00e9cifiez le d\u00e9bit max pendant la diffusion de musique",
"OptionIgnoreTranscodeByteRangeRequests": "Ignore le transcodage des demandes de plage d'octets",
"OptionIgnoreTranscodeByteRangeRequestsHelp": "Si activ\u00e9, ces requ\u00eates\/demandes seront honor\u00e9es mais l'ent\u00eate de plage d'octets sera ignor\u00e9. ",
"LabelFriendlyName": "Surnom d'affichage",
@ -772,15 +774,15 @@
"LabelEnableBackdrops": "Activer les images d'arri\u00e8re-plans",
"LabelEnableThemeSongsHelp": "Si activ\u00e9, les chansons themes seront lues en arri\u00e8re-plan pendant la navigation dans les biblioth\u00e8ques.",
"LabelEnableBackdropsHelp": "Si activ\u00e9, les images d'arri\u00e8re-plan seront affich\u00e9es sur certaines pages pendant la navigation dans les biblioth\u00e8ques.",
"HeaderHomePage": "Page de d\u00e9marrage",
"HeaderHomePage": "Portail",
"HeaderSettingsForThisDevice": "Param\u00e8tres pour cet appareil",
"OptionAuto": "Auto",
"OptionYes": "Oui",
"OptionNo": "Non",
"LabelHomePageSection1": "Section 1 de la page de d\u00e9marrage:",
"LabelHomePageSection2": "Section 2 de la page de d\u00e9marrage:",
"LabelHomePageSection3": "Section 3 de la page de d\u00e9marrage:",
"LabelHomePageSection4": "Section 4 de la page de d\u00e9marrage:",
"LabelHomePageSection1": "Premi\u00e8re section du portail:",
"LabelHomePageSection2": "Seconde section du portail:",
"LabelHomePageSection3": "Troisi\u00e8me section du portail:",
"LabelHomePageSection4": "Quatri\u00e8me section du portail:",
"OptionMyViewsButtons": "Mes vues (bouttons)",
"OptionMyViews": "Mes vues",
"OptionMyViewsSmall": "Mes vues (petit)",
@ -789,12 +791,12 @@
"OptionLatestChannelMedia": "Items de cha\u00eene les plus r\u00e9cents",
"HeaderLatestChannelItems": "Items de cha\u00eene les plus r\u00e9cents",
"OptionNone": "Aucun",
"HeaderLiveTv": "TV en directe",
"HeaderLiveTv": "TV en direct",
"HeaderReports": "Rapports",
"HeaderMetadataManager": "Gestionnaire de m\u00e9tadonn\u00e9es",
"HeaderPreferences": "Pr\u00e9f\u00e9rences",
"MessageLoadingChannels": "Chargement du contenu de la cha\u00eene...",
"MessageLoadingContent": "Loading content...",
"MessageLoadingContent": "Chargement du contenu...",
"ButtonMarkRead": "Marquer lu",
"OptionDefaultSort": "Par d\u00e9faut",
"OptionCommunityMostWatchedSort": "Les plus \u00e9cout\u00e9s",
@ -858,7 +860,7 @@
"HeaderBrandingHelp": "Personnaliser l'apparence de Media Browser pour r\u00e9pondre aux besoins de votre groupe ou organisation.",
"LabelLoginDisclaimer": "Avertissement sur la page d'accueil :",
"LabelLoginDisclaimerHelp": "Ce sera affich\u00e9 en bas de la page de connexion.",
"LabelAutomaticallyDonate": "Donner ce montant automatiquement tout les 6 mois.",
"LabelAutomaticallyDonate": "Donner automatiquement ce montant chaque mois.",
"LabelAutomaticallyDonateHelp": "Vous pouvez annuler via votre compte Paypal n'importe quand.",
"OptionList": "Liste",
"TabDashboard": "Tableau de bord",
@ -944,61 +946,61 @@
"OptionReportSeries": "S\u00e9ries",
"OptionReportSeasons": "Saisons",
"OptionReportTrailers": "Bandes-annonces",
"OptionReportMusicVideos": "Music videos",
"OptionReportMusicVideos": "Vid\u00e9oclips",
"OptionReportMovies": "Films",
"OptionReportHomeVideos": "Home videos",
"OptionReportHomeVideos": "Vid\u00e9os personnelles",
"OptionReportGames": "Jeux",
"OptionReportEpisodes": "\u00c9pisodes",
"OptionReportCollections": "Collections",
"OptionReportBooks": "Livres",
"OptionReportArtists": "Artistes",
"OptionReportAlbums": "Albums",
"OptionReportAdultVideos": "Adult videos",
"ButtonMore": "Plus...",
"OptionReportAdultVideos": "Vid\u00e9os adultes",
"ButtonMore": "Voir la suite",
"HeaderActivity": "Activit\u00e9",
"ScheduledTaskStartedWithName": "{0} started",
"ScheduledTaskCancelledWithName": "{0} was cancelled",
"ScheduledTaskCompletedWithName": "{0} completed",
"ScheduledTaskFailed": "Scheduled task completed",
"PluginInstalledWithName": "{0} was installed",
"PluginUpdatedWithName": "{0} was updated",
"PluginUninstalledWithName": "{0} was uninstalled",
"ScheduledTaskFailedWithName": "{0} failed",
"ItemAddedWithName": "{0} was added to the library",
"ItemRemovedWithName": "{0} was removed from the library",
"ScheduledTaskStartedWithName": "{0} a commenc\u00e9",
"ScheduledTaskCancelledWithName": "{0} a \u00e9t\u00e9 annul\u00e9",
"ScheduledTaskCompletedWithName": "{0} termin\u00e9",
"ScheduledTaskFailed": "T\u00e2che planifi\u00e9e termin\u00e9e",
"PluginInstalledWithName": "{0} a \u00e9t\u00e9 install\u00e9",
"PluginUpdatedWithName": "{0} a \u00e9t\u00e9 mise \u00e0 jour",
"PluginUninstalledWithName": "{0} a \u00e9t\u00e9 d\u00e9sinstall\u00e9",
"ScheduledTaskFailedWithName": "{0} a \u00e9chou\u00e9",
"ItemAddedWithName": "{0} a \u00e9t\u00e9 ajout\u00e9 \u00e0 la biblioth\u00e8que",
"ItemRemovedWithName": "{0} a \u00e9t\u00e9 supprim\u00e9 de la biblioth\u00e8que",
"DeviceOnlineWithName": "{0} est connect\u00e9",
"UserOnlineFromDevice": "{0} is online from {1}",
"DeviceOfflineWithName": "{0} has disconnected",
"UserOfflineFromDevice": "{0} has disconnected from {1}",
"SubtitlesDownloadedForItem": "Subtitles downloaded for {0}",
"UserOnlineFromDevice": "{0} s'est connect\u00e9(e) depuis {1}",
"DeviceOfflineWithName": "{0} s'est d\u00e9connect\u00e9(e)",
"UserOfflineFromDevice": "{0} s'est d\u00e9connect\u00e9(e) depuis {1}",
"SubtitlesDownloadedForItem": "Les sous-titres de {0} sont t\u00e9l\u00e9charg\u00e9s",
"SubtitleDownloadFailureForItem": "Le t\u00e9l\u00e9chargement des sous-titres pour {0} a \u00e9chou\u00e9.",
"LabelRunningTimeValue": "Running time: {0}",
"LabelIpAddressValue": "Ip address: {0}",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"LabelRunningTimeValue": "Dur\u00e9e: {0}",
"LabelIpAddressValue": "Adresse IP: {0}",
"UserConfigurationUpdatedWithName": "La configuration utilisateur de {0} a \u00e9t\u00e9 mise \u00e0 jour",
"UserCreatedWithName": "L'utilisateur {0} a \u00e9t\u00e9 cr\u00e9\u00e9.",
"UserPasswordChangedWithName": "Le mot de passe pour l'utilisateur {0} a \u00e9t\u00e9 modifi\u00e9.",
"UserDeletedWithName": "L'utilisateur {0} a \u00e9t\u00e9 supprim\u00e9.",
"MessageServerConfigurationUpdated": "Server configuration has been updated",
"MessageNamedServerConfigurationUpdatedWithValue": "Server configuration section {0} has been updated",
"MessageServerConfigurationUpdated": "La configuration du serveur a \u00e9t\u00e9 mise \u00e0 jour.",
"MessageNamedServerConfigurationUpdatedWithValue": "La configuration de la section {0} du serveur a \u00e9t\u00e9 mise \u00e0 jour.",
"MessageApplicationUpdated": "Media Browser Server a \u00e9t\u00e9 mise \u00e0 jour.",
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
"AppDeviceValues": "App: {0}, Device: {1}",
"ProviderValue": "Provider: {0}",
"LabelChannelDownloadSizeLimit": "Download size limit (GB):",
"LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder",
"HeaderRecentActivity": "Recent Activity",
"HeaderPeople": "People",
"HeaderDownloadPeopleMetadataFor": "Download biography and images for:",
"OptionComposers": "Composers",
"OptionOthers": "Others",
"HeaderDownloadPeopleMetadataForHelp": "Enabling additional options will provide more on-screen information but will result in slower library scans.",
"ViewTypeFolders": "Folders",
"LabelDisplayFoldersView": "Display a folders view to show plain media folders",
"ViewTypeLiveTvRecordingGroups": "Recordings",
"ViewTypeLiveTvChannels": "Channels",
"LabelAllowLocalAccessWithoutPassword": "Allow local access without a password",
"LabelAllowLocalAccessWithoutPasswordHelp": "When enabled, a password will not be required when signing in from within your home network."
"AuthenticationSucceededWithUserName": "{0} s'est authentifi\u00e9 avec succ\u00e8s",
"FailedLoginAttemptWithUserName": "Echec d'une tentative de connexion de {0}",
"UserStartedPlayingItemWithValues": "{0} vient de commencer \u00e0 lire {1}",
"UserStoppedPlayingItemWithValues": "{0} vient d'arr\u00eater de lire {1}",
"AppDeviceValues": "Application : {0}, P\u00e9riph\u00e9rique : {1}",
"ProviderValue": "Fournisseur : {0}",
"LabelChannelDownloadSizeLimit": "Taille limite de t\u00e9l\u00e9chargement (Go) :",
"LabelChannelDownloadSizeLimitHelp": "Limiter la taille du dossier de t\u00e9l\u00e9chargement de la cha\u00eene",
"HeaderRecentActivity": "Activit\u00e9 R\u00e9cente",
"HeaderPeople": "Personnes",
"HeaderDownloadPeopleMetadataFor": "T\u00e9l\u00e9charger la biographie et les images pour:",
"OptionComposers": "Compositeurs",
"OptionOthers": "Autres",
"HeaderDownloadPeopleMetadataForHelp": "Activer les options compl\u00e9mentaires fournira plus d'information \u00e0 l'\u00e9cran mais causera une lenteur des scans de librairie.",
"ViewTypeFolders": "R\u00e9pertoires",
"LabelDisplayFoldersView": "Afficher une vue mosa\u00efque pour montrer les dossiers media en int\u00e9gralit\u00e9.",
"ViewTypeLiveTvRecordingGroups": "Enregistrements",
"ViewTypeLiveTvChannels": "Cha\u00eenes",
"LabelAllowLocalAccessWithoutPassword": "Autoriser l'acc\u00e8s local sans un mot de passe",
"LabelAllowLocalAccessWithoutPasswordHelp": "Si activ\u00e9, le mot de passe ne sera pas requis pour s'authentifier depuis le r\u00e9seau local."
}

View file

@ -4,7 +4,9 @@
"LabelVisitCommunity": "\u05d1\u05e7\u05e8 \u05d1\u05e7\u05d4\u05d9\u05dc\u05d4",
"HeaderLocalAccess": "Local Access",
"LabelGithubWiki": "\u05e1\u05e4\u05e8\u05d9\u05d9\u05ea \u05d4\u05e7\u05d5\u05d3",
"HeaderViewOrder": "View Order",
"LabelSwagger": "Swagger",
"LabelSelectUserViewOrder": "Choose the order your views will be displayed in within Media Browser apps",
"LabelStandard": "\u05e8\u05d2\u05d9\u05dc",
"LabelViewApiDocumentation": "\u05e8\u05d0\u05d4 \u05de\u05e1\u05de\u05db\u05d9 \u05e2\u05e8\u05db\u05ea \u05e4\u05d9\u05ea\u05d5\u05d7",
"LabelBrowseLibrary": "\u05d3\u05e4\u05d3\u05e3 \u05d1\u05ea\u05d9\u05e7\u05d9\u05d9\u05d4",
@ -858,7 +860,7 @@
"HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
"LabelLoginDisclaimer": "Login disclaimer:",
"LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
"LabelAutomaticallyDonate": "Automatically donate this amount every six months",
"LabelAutomaticallyDonate": "Automatically donate this amount every month",
"LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
"OptionList": "List",
"TabDashboard": "Dashboard",

View file

@ -4,7 +4,9 @@
"LabelVisitCommunity": "Visita Comunit\u00e0",
"HeaderLocalAccess": "Accesso locale",
"LabelGithubWiki": "Github Wiki",
"HeaderViewOrder": "View Order",
"LabelSwagger": "Swagger",
"LabelSelectUserViewOrder": "Choose the order your views will be displayed in within Media Browser apps",
"LabelStandard": "Standard",
"LabelViewApiDocumentation": "Documentazione Api",
"LabelBrowseLibrary": "Esplora la libreria",

View file

@ -4,7 +4,9 @@
"LabelVisitCommunity": "\u049a\u0430\u0443\u044b\u043c\u0434\u0430\u0441\u0442\u044b\u049b\u049b\u0430 \u0431\u0430\u0440\u0443",
"HeaderLocalAccess": "\u0416\u0435\u0440\u0433\u0456\u043b\u0456\u043a\u0442\u0456 \u049b\u0430\u0442\u044b\u043d\u0430\u0441",
"LabelGithubWiki": "Github \u0443\u0438\u043a\u0438\u0456",
"HeaderViewOrder": "\u0410\u0441\u043f\u0435\u043a\u0442\u0442\u0435\u0440 \u0440\u0435\u0442\u0456",
"LabelSwagger": "Swagger \u0442\u0456\u043b\u0434\u0435\u0441\u0443\u0456",
"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",
"LabelStandard": "\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0442\u044b",
"LabelViewApiDocumentation": "API \u049b\u04b1\u0436\u0430\u0442\u0442\u0430\u043c\u0430\u0441\u044b\u043d \u049b\u0430\u0440\u0430\u0443",
"LabelBrowseLibrary": "\u0422\u0430\u0441\u0443\u0448\u044b\u0445\u0430\u043d\u0430\u043d\u044b \u0448\u0430\u0440\u043b\u0430\u0443",
@ -49,7 +51,7 @@
"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\u0443\u0448\u044b \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\u0443\u0448\u044b \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",
"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\u0443\u0448\u044b \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\u0443\u0448\u044b\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",
"TabPassword": "\u049a\u04b1\u043f\u0438\u044f \u0441\u04e9\u0437",
"TabLibraryAccess": "\u0422\u0430\u0441\u0443\u0448\u044b\u0445\u0430\u043d\u0430\u0493\u0430 \u049b\u0430\u0442\u044b\u043d\u0430\u0441",
@ -58,7 +60,7 @@
"TabMetadata": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a",
"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",
"TabCollectionTitles": "\u0410\u0442\u0430\u0443\u043b\u0430\u0440",
"TabCollectionTitles": "\u0422\u0443\u044b\u043d\u0434\u044b\u043b\u0430\u0440",
"LabelDisplayMissingEpisodesWithinSeasons": "\u0416\u043e\u049b \u044d\u043f\u0438\u0437\u043e\u0434\u0442\u0430\u0440\u0434\u044b \u043c\u0430\u0443\u0441\u044b\u043c \u0456\u0448\u0456\u043d\u0434\u0435 \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0443",
"LabelUnairedMissingEpisodesWithinSeasons": "\u041a\u04e9\u0440\u0441\u0435\u0442\u0456\u043b\u043c\u0435\u0433\u0435\u043d \u044d\u043f\u0438\u0437\u043e\u0434\u0442\u0430\u0440\u0434\u044b \u043c\u0430\u0443\u0441\u044b\u043c \u0456\u0448\u0456\u043d\u0434\u0435 \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0443",
"HeaderVideoPlaybackSettings": "\u0411\u0435\u0439\u043d\u0435 \u043e\u0439\u043d\u0430\u0442\u0443 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043b\u0435\u0440\u0456",
@ -97,7 +99,7 @@
"TabSuggested": "\u04b0\u0441\u044b\u043d\u044b\u043b\u0493\u0430\u043d",
"TabLatest": "\u0415\u04a3 \u043a\u0435\u0439\u0456\u043d\u0433\u0456",
"TabUpcoming": "\u041a\u04af\u0442\u0456\u043b\u0433\u0435\u043d",
"TabShows": "\u0421\u0435\u0440\u0438\u0430\u043b\u0434\u0430\u0440",
"TabShows": "\u041a\u04e9\u0440\u0441\u0435\u0442\u0456\u043c\u0434\u0435\u0440",
"TabEpisodes": "\u042d\u043f\u0438\u0437\u043e\u0434\u0442\u0430\u0440",
"TabGenres": "\u0416\u0430\u043d\u0440\u043b\u0430\u0440",
"TabPeople": "\u0410\u0434\u0430\u043c\u0434\u0430\u0440",
@ -114,7 +116,7 @@
"OptionWriters": "\u0416\u0430\u0437\u0443\u0448\u044b\u043b\u0430\u0440",
"OptionProducers": "\u041f\u0440\u043e\u0434\u044e\u0441\u0435\u0440\u043b\u0435\u0440",
"HeaderResume": "\u0416\u0430\u043b\u0493\u0430\u0441\u0442\u044b\u0440\u0443",
"HeaderNextUp": "\u0410\u043b\u0434\u0430\u0493\u044b",
"HeaderNextUp": "\u041a\u0435\u0437\u0435\u043a\u0442\u0435\u0433\u0456\u043b\u0435\u0440",
"NoNextUpItemsMessage": "\u0415\u0448\u0442\u0435\u043c\u0435 \u0442\u0430\u0431\u044b\u043b\u043c\u0430\u0434\u044b. \u041a\u04e9\u0440\u0441\u0435\u0442\u0456\u043c\u0434\u0435\u0440\u0434\u0456 \u049b\u0430\u0440\u0430\u0439 \u0431\u0430\u0441\u0442\u0430\u04a3\u044b\u0437!",
"HeaderLatestEpisodes": "\u0415\u04a3 \u043a\u0435\u0439\u0456\u043d\u0433\u0456 \u044d\u043f\u0438\u0437\u043e\u0434\u0442\u0430\u0440",
"HeaderPersonTypes": "\u0410\u0434\u0430\u043c \u0442\u04af\u0440\u043b\u0435\u0440\u0456:",
@ -225,7 +227,7 @@
"LabelName": "\u0410\u0442\u044b:",
"OptionAllowUserToManageServer": "\u0411\u0443\u043b \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b\u0493\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0434\u0456 \u0431\u0430\u0441\u049b\u0430\u0440\u0443 \u04af\u0448\u0456\u043d \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0443",
"HeaderFeatureAccess": "\u041c\u04af\u043c\u043a\u0456\u043d\u0434\u0456\u043a\u0442\u0435\u0440\u0433\u0435 \u049b\u0430\u0442\u044b\u043d\u0430\u0441",
"OptionAllowMediaPlayback": "\u0422\u0430\u0441\u0443\u0448\u044b \u043e\u0439\u043d\u0430\u0442\u0443\u044b\u043d\u0430 \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0443",
"OptionAllowMediaPlayback": "\u0422\u0430\u0441\u0443\u0448\u044b\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u043e\u0439\u043d\u0430\u0442\u0443\u044b\u043d\u0430 \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0443",
"OptionAllowBrowsingLiveTv": "\u042d\u0444\u0438\u0440\u043b\u0456\u043a \u0422\u0414 \u0448\u0430\u0440\u043b\u0430\u0443\u044b\u043d\u0430 \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0443",
"OptionAllowDeleteLibraryContent": "\u0411\u04b1\u043b \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b\u0493\u0430 \u0442\u0430\u0441\u0443\u0448\u044b\u0445\u0430\u043d\u0430 \u043c\u0430\u0437\u043c\u04b1\u043d\u044b\u043d \u0436\u043e\u044e \u04af\u0448\u0456\u043d \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0443",
"OptionAllowManageLiveTv": "\u042d\u0444\u0438\u0440\u043b\u0456\u043a \u0422\u0414 \u0436\u0430\u0437\u0443\u0434\u044b \u0431\u0430\u0441\u049b\u0430\u0440\u0443\u044b\u043d\u0430 \u0440\u0443\u049b\u0441\u0430\u0442 \u0435\u0442\u0443",
@ -402,7 +404,7 @@
"ButtonPlayTrailer": "\u0422\u0440\u0435\u0439\u043b\u0435\u0440",
"LabelMissing": "\u0416\u043e\u049b",
"LabelOffline": "\u049a\u043e\u0441\u044b\u043b\u043c\u0430\u0493\u0430\u043d",
"PathSubstitutionHelp": "\u0416\u043e\u043b \u0430\u043b\u043c\u0430\u0441\u0442\u044b\u0440\u0443\u043b\u0430\u0440\u044b\u043d \u0441\u0435\u0440\u0432\u0435\u0440\u0434\u0435\u0433\u0456 \u0436\u043e\u043b\u0434\u044b \u043a\u043b\u0438\u0435\u043d\u0442\u0442\u0435\u0440 \u049b\u0430\u0442\u044b\u043d\u0430\u0441\u0430 \u0430\u043b\u0430\u0442\u044b\u043d \u0436\u043e\u043b\u043c\u0435\u043d \u0441\u0430\u043b\u0493\u0430\u0441\u0442\u044b\u0440\u0443 \u04af\u0448\u0456\u043d \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u043b\u0430\u0434\u044b. \u0421\u0435\u0440\u0432\u0435\u0440\u0434\u0435\u0433\u0456 \u0442\u0430\u0441\u0443\u0448\u044b\u043b\u0430\u0440\u0493\u0430 \u0442\u0456\u043a\u0435\u043b\u0435\u0439 \u049b\u0430\u0442\u044b\u043d\u0430\u0441\u0443 \u04af\u0448\u0456\u043d \u043a\u043b\u0438\u0435\u043d\u0442\u0442\u0435\u0440\u0433\u0435 \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0456\u043b\u0433\u0435\u043d\u0434\u0435, \u0431\u04b1\u043b\u0430\u0440 \u0442\u0430\u0441\u0443\u0448\u044b\u043d\u044b \u0436\u0435\u043b\u0456 \u0430\u0440\u049b\u044b\u043b\u044b \u0442\u0456\u043a\u0435\u043b\u0435\u0439 \u043e\u0439\u043d\u0430\u0442\u0443\u044b \u043c\u04af\u043c\u043a\u0456\u043d \u0436\u04d9\u043d\u0435 \u0441\u0435\u0440\u0432\u0435\u0440 \u0440\u0435\u0441\u0443\u0440\u0441\u0442\u0430\u0440\u044b\u043d \u0430\u0493\u044b\u043d\u043c\u0435\u043d \u0442\u0430\u0441\u044b\u043c\u0430\u043b\u0434\u0430\u0443 \u04af\u0448\u0456\u043d \u0436\u04d9\u043d\u0435 \u049b\u0430\u0439\u0442\u0430 \u043a\u043e\u0434\u0442\u0430\u0443 \u04af\u0448\u0456\u043d \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0434\u0430\u043d \u0436\u0430\u043b\u0442\u0430\u0440\u0430\u0434\u044b.",
"PathSubstitutionHelp": "\u0416\u043e\u043b \u0430\u043b\u043c\u0430\u0441\u0442\u044b\u0440\u0443\u043b\u0430\u0440\u044b\u043d \u0441\u0435\u0440\u0432\u0435\u0440\u0434\u0435\u0433\u0456 \u0436\u043e\u043b\u0434\u044b \u043a\u043b\u0438\u0435\u043d\u0442\u0442\u0435\u0440 \u049b\u0430\u0442\u044b\u043d\u0430\u0441\u0430 \u0430\u043b\u0430\u0442\u044b\u043d \u0436\u043e\u043b\u043c\u0435\u043d \u0441\u0430\u043b\u0493\u0430\u0441\u0442\u044b\u0440\u0443 \u04af\u0448\u0456\u043d \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u043b\u0430\u0434\u044b. \u0421\u0435\u0440\u0432\u0435\u0440\u0434\u0435\u0433\u0456 \u0442\u0430\u0441\u0443\u0448\u044b\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0433\u0435 \u0442\u0456\u043a\u0435\u043b\u0435\u0439 \u049b\u0430\u0442\u044b\u043d\u0430\u0441\u0443 \u04af\u0448\u0456\u043d \u043a\u043b\u0438\u0435\u043d\u0442\u0442\u0435\u0440\u0433\u0435 \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0456\u043b\u0433\u0435\u043d\u0434\u0435, \u0431\u04b1\u043b\u0430\u0440 \u0442\u0430\u0441\u0443\u0448\u044b\u043d\u044b \u0436\u0435\u043b\u0456 \u0430\u0440\u049b\u044b\u043b\u044b \u0442\u0456\u043a\u0435\u043b\u0435\u0439 \u043e\u0439\u043d\u0430\u0442\u0443\u044b \u043c\u04af\u043c\u043a\u0456\u043d \u0436\u04d9\u043d\u0435 \u0441\u0435\u0440\u0432\u0435\u0440 \u0440\u0435\u0441\u0443\u0440\u0441\u0442\u0430\u0440\u044b\u043d \u0430\u0493\u044b\u043d\u043c\u0435\u043d \u0442\u0430\u0441\u044b\u043c\u0430\u043b\u0434\u0430\u0443 \u04af\u0448\u0456\u043d \u0436\u04d9\u043d\u0435 \u049b\u0430\u0439\u0442\u0430 \u043a\u043e\u0434\u0442\u0430\u0443 \u04af\u0448\u0456\u043d \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0434\u0430\u043d \u0436\u0430\u043b\u0442\u0430\u0440\u0430\u0434\u044b.",
"HeaderFrom": "\u049a\u0430\u0439\u0434\u0430\u043d",
"HeaderTo": "\u049a\u0430\u0439\u0434\u0430",
"LabelFrom": "\u049a\u0430\u0439\u0434\u0430\u043d:",
@ -429,7 +431,7 @@
"OptionUpscaling": "\u041a\u043b\u0438\u0435\u043d\u0442\u0442\u0435\u0440\u0433\u0435 \u0430\u0436\u044b\u0440\u0430\u0442\u044b\u043b\u044b\u043c\u0434\u044b\u0493\u044b \u043a\u04e9\u0442\u0435\u0440\u0456\u043b\u0433\u0435\u043d \u0431\u0435\u0439\u043d\u0435\u043d\u0456 \u0441\u04b1\u0440\u0430\u0443 \u04af\u0448\u0456\u043d \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0435\u0434\u0456",
"OptionUpscalingHelp": "\u041a\u0435\u0439\u0431\u0456\u0440 \u0436\u0430\u0493\u0434\u0430\u0439\u043b\u0430\u0440\u0434\u0430 \u0431\u04b1\u043d\u044b\u04a3 \u043d\u04d9\u0442\u0438\u0436\u0435\u0441\u0456\u043d\u0434\u0435 \u0431\u0435\u0439\u043d\u0435 \u0441\u0430\u043f\u0430\u0441\u044b \u0436\u0430\u049b\u0441\u0430\u0440\u0442\u044b\u043b\u0430\u0434\u044b, \u0431\u0456\u0440\u0430\u049b \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u049b\u043e\u043b\u0434\u0430\u043d\u044b\u0441\u044b \u0430\u0440\u0442\u044b\u0439\u0434\u044b.",
"EditCollectionItemsHelp": "\u0411\u04b1\u043b \u0442\u043e\u043f\u0442\u0430\u043c\u0430\u0493\u0430 \u049b\u0430\u043b\u0430\u0443\u044b\u04a3\u044b\u0437 \u0431\u043e\u0439\u044b\u043d\u0448\u0430 \u0442\u043e\u043f\u0442\u0430\u0441\u0442\u044b\u0440\u0443 \u04af\u0448\u0456\u043d \u04d9\u0440\u049b\u0430\u0439\u0441\u044b \u0444\u0438\u043b\u044c\u043c\u0434\u0435\u0440\u0434\u0456, \u0441\u0435\u0440\u0438\u0430\u043b\u0434\u0430\u0440\u0434\u044b, \u0430\u043b\u044c\u0431\u043e\u043c\u0434\u0430\u0440\u0434\u044b, \u043a\u0456\u0442\u0430\u043f\u0442\u0430\u0440\u0434\u044b \u043d\u0435 \u043e\u0439\u044b\u043d\u0434\u0430\u0440\u0434\u044b \u04af\u0441\u0442\u0435\u04a3\u0456\u0437 \u043d\u0435\u043c\u0435\u0441\u0435 \u0430\u043b\u0430\u0441\u0442\u0430\u04a3\u044b\u0437.",
"HeaderAddTitles": "\u0410\u0442\u0430\u0443\u043b\u0430\u0440\u0434\u044b \u04af\u0441\u0442\u0435\u0443",
"HeaderAddTitles": "\u0422\u0443\u044b\u043d\u0434\u044b\u043b\u0430\u0440\u0434\u044b \u04af\u0441\u0442\u0435\u0443",
"LabelEnableDlnaPlayTo": "DLNA \u049b\u04b1\u0440\u044b\u043b\u0493\u044b\u0441\u044b\u043d\u0434\u0430 \u043e\u0439\u043d\u0430\u0442\u0443\u0434\u044b \u049b\u043e\u0441\u0443",
"LabelEnableDlnaPlayToHelp": "Media Browser \u0436\u0435\u043b\u0456\u0434\u0435\u0433\u0456 \u049b\u04b1\u0440\u044b\u043b\u0493\u044b\u043b\u0430\u0440\u0434\u044b \u0442\u0430\u0431\u0443\u044b \u043c\u04af\u043c\u043a\u0456\u043d \u0436\u04d9\u043d\u0435 \u0431\u04b1\u043b\u0430\u0440\u0434\u044b \u049b\u0430\u0448\u044b\u049b\u0442\u0430\u043d \u0431\u0430\u0441\u049b\u0430\u0440\u0443 \u043c\u04af\u043c\u043a\u0456\u043d\u0434\u0456\u0433\u0456\u043d \u04b1\u0441\u044b\u043d\u0430\u0434\u044b.",
"LabelEnableDlnaDebugLogging": "DLNA \u043a\u04af\u0439\u043a\u0435\u043b\u0442\u0456\u0440\u0443 \u0436\u0430\u0437\u0431\u0430\u043b\u0430\u0440\u044b\u043d \u0436\u04b1\u0440\u043d\u0430\u043b\u0434\u0430 \u049b\u043e\u0441\u0443",
@ -470,9 +472,9 @@
"LabelMinResumePercentage": "\u0416\u0430\u043b\u0493\u0430\u0441\u0442\u044b\u0440\u0443 \u04af\u0448\u0456\u043d \u0435\u04a3 \u0430\u0437 \u043f\u0430\u0439\u044b\u0437\u044b:",
"LabelMaxResumePercentage": "\u0416\u0430\u043b\u0493\u0430\u0441\u0442\u044b\u0440\u0443 \u04af\u0448\u0456\u043d \u0435\u04a3 \u043a\u04e9\u043f \u043f\u0430\u0439\u044b\u0437\u044b:",
"LabelMinResumeDuration": "\u0416\u0430\u043b\u0493\u0430\u0441\u0442\u044b\u0440\u0443 \u04af\u0448\u0456\u043d \u0435\u04a3 \u0430\u0437 \u04b1\u0437\u0430\u049b\u0442\u044b\u0493\u044b (\u0441\u0435\u043a\u0443\u043d\u0434):",
"LabelMinResumePercentageHelp": "\u0411\u04b1\u043b \u043a\u0435\u0437\u0434\u0435\u043d \u0431\u04b1\u0440\u044b\u043d \u0442\u043e\u049b\u0442\u0430\u0442\u044b\u043b\u0441\u0430 \u0430\u0442\u0430\u0443\u043b\u0430\u0440 \u043e\u0439\u043d\u0430\u0442\u044b\u043b\u043c\u0430\u0493\u0430\u043d \u0434\u0435\u043f \u0431\u043e\u043b\u0436\u0430\u043b\u0434\u044b",
"LabelMaxResumePercentageHelp": "\u0411\u04b1\u043b \u043a\u0435\u0437\u0434\u0435\u043d \u043a\u0435\u0439\u0456\u043d \u0442\u043e\u049b\u0442\u0430\u0442\u044b\u043b\u0441\u0430 \u0430\u0442\u0430\u0443\u043b\u0430\u0440 \u0442\u043e\u043b\u044b\u049b \u043e\u0439\u043d\u0430\u0442\u044b\u043b\u0493\u0430\u043d \u0434\u0435\u043f \u0431\u043e\u043b\u0436\u0430\u043b\u0434\u044b",
"LabelMinResumeDurationHelp": "\u0411\u04b1\u0434\u0430\u043d \u049b\u044b\u0441\u049b\u0430 \u0430\u0442\u0430\u0443\u043b\u0430\u0440 \u0436\u0430\u043b\u0493\u0430\u0441\u0442\u044b\u0440\u044b\u043b\u043c\u0430\u0439\u0434\u044b",
"LabelMinResumePercentageHelp": "\u0411\u04b1\u043b \u043a\u0435\u0437\u0434\u0435\u043d \u0431\u04b1\u0440\u044b\u043d \u0442\u043e\u049b\u0442\u0430\u0442\u044b\u043b\u0441\u0430 \u0442\u0443\u044b\u043d\u0434\u044b\u043b\u0430\u0440 \u043e\u0439\u043d\u0430\u0442\u044b\u043b\u043c\u0430\u0493\u0430\u043d \u0434\u0435\u043f \u0431\u043e\u043b\u0436\u0430\u043b\u0434\u044b",
"LabelMaxResumePercentageHelp": "\u0411\u04b1\u043b \u043a\u0435\u0437\u0434\u0435\u043d \u043a\u0435\u0439\u0456\u043d \u0442\u043e\u049b\u0442\u0430\u0442\u044b\u043b\u0441\u0430 \u0442\u0443\u044b\u043d\u0434\u044b\u043b\u0430\u0440 \u0442\u043e\u043b\u044b\u049b \u043e\u0439\u043d\u0430\u0442\u044b\u043b\u0493\u0430\u043d \u0434\u0435\u043f \u0431\u043e\u043b\u0436\u0430\u043b\u0434\u044b",
"LabelMinResumeDurationHelp": "\u0411\u04b1\u0434\u0430\u043d \u049b\u044b\u0441\u049b\u0430 \u0442\u0443\u044b\u043d\u0434\u044b\u043b\u0430\u0440 \u0436\u0430\u043b\u0493\u0430\u0441\u0442\u044b\u0440\u044b\u043b\u043c\u0430\u0439\u0434\u044b",
"TitleAutoOrganize": "\u0410\u0432\u0442\u043e\u04b1\u0439\u044b\u043c\u0434\u0430\u0441\u0442\u044b\u0440\u0443",
"TabActivityLog": "\u04d8\u0440\u0435\u043a\u0435\u0442\u0442\u0435\u0440 \u0436\u04b1\u0440\u043d\u0430\u043b\u044b",
"HeaderName": "\u0410\u0442\u044b",
@ -643,7 +645,7 @@
"ButtonVolumeUp": "\u04ae\u043d\u0434\u0456\u043b\u0456\u043a\u0442\u0456 \u0436\u043e\u0493\u0430\u0440\u044b\u043b\u0430\u0442\u0443",
"ButtonVolumeDown": "\u04ae\u043d\u0434\u0456\u043b\u0456\u043a\u0442\u0456 \u0442\u04e9\u043c\u0435\u043d\u0434\u0435\u0442\u0443",
"ButtonMute": "\u0414\u044b\u0431\u044b\u0441\u0442\u044b \u04e9\u0448\u0456\u0440\u0443",
"HeaderLatestMedia": "\u0415\u04a3 \u043a\u0435\u0439\u0456\u043d\u0433\u0456 \u0442\u0430\u0441\u0443\u0448\u044b\u043b\u0430\u0440",
"HeaderLatestMedia": "\u0415\u04a3 \u043a\u0435\u0439\u0456\u043d\u0433\u0456 \u0442\u0430\u0441\u0443\u0448\u044b\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440",
"OptionSpecialFeatures": "\u0410\u0440\u043d\u0430\u0439\u044b \u043c\u04d9\u043b\u0456\u043c\u0435\u0442\u0442\u0435\u0440",
"HeaderCollections": "\u0422\u043e\u043f\u0442\u0430\u043c\u0430\u043b\u0430\u0440",
"LabelProfileCodecsHelp": "\u04ae\u0442\u0456\u0440 \u0430\u0440\u049b\u044b\u043b\u044b \u0431\u04e9\u043b\u0456\u043f \u0430\u043b\u044b\u043d\u0493\u0430\u043d. \u0411\u0430\u0440\u043b\u044b\u049b \u043a\u043e\u0434\u0435\u043a\u0442\u0435\u0440\u0433\u0435 \u049b\u043e\u043b\u0434\u0430\u043d\u0443 \u04af\u0448\u0456\u043d \u0431\u04b1\u043b \u0431\u043e\u0441 \u049b\u0430\u043b\u0434\u044b\u0440\u044b\u043b\u0443 \u043c\u04af\u043c\u043a\u0456\u043d.",
@ -657,9 +659,9 @@
"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",
"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 \u0436\u0430\u0431\u0434\u044b\u049b\u0442\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\u0443\u0448\u044b \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 \u0436\u0430\u0431\u0434\u044b\u049b\u0442\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\u0443\u0448\u044b\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",
"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 \u0436\u0430\u0431\u0434\u044b\u049b\u0442\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\u0443\u0448\u044b \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 \u0436\u0430\u0431\u0434\u044b\u049b\u0442\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\u0443\u0448\u044b\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",
"OptionProfileAudio": "\u0414\u044b\u0431\u044b\u0441",
"OptionProfileVideoAudio": "\u0411\u0435\u0439\u043d\u0435 \u0414\u044b\u0431\u044b\u0441",
@ -670,7 +672,7 @@
"OptionPlainStorageFoldersHelp": "\u049a\u043e\u0441\u044b\u043b\u0493\u0430\u043d\u0434\u0430, \u0431\u0430\u0440\u043b\u044b\u049b \u049b\u0430\u043b\u0442\u0430\u043b\u0430\u0440 DIDL \u0456\u0448\u0456\u043d\u0434\u0435 \"object.container.person.musicArtist\" \u0441\u0438\u044f\u049b\u0442\u044b \u043d\u0430\u049b\u0442\u044b\u043b\u0430\u0443 \u0442\u04af\u0440\u0456\u043d\u0456\u04a3 \u043e\u0440\u043d\u044b\u043d\u0430 \"object.container.storageFolder\" \u0431\u043e\u043b\u044b\u043f \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u043d\u0435\u0434\u0456.",
"OptionPlainVideoItems": "\u0411\u0430\u0440\u043b\u044b\u049b \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0440\u0434\u0456 \u0436\u0430\u0439 \u0431\u0435\u0439\u043d\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0442\u0435\u0440\u0456 \u0440\u0435\u0442\u0456\u043d\u0434\u0435 \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0443",
"OptionPlainVideoItemsHelp": "\u049a\u043e\u0441\u044b\u043b\u0493\u0430\u043d\u0434\u0430, \u0431\u0430\u0440\u043b\u044b\u049b \u049b\u0430\u043b\u0442\u0430\u043b\u0430\u0440 DIDL \u0456\u0448\u0456\u043d\u0434\u0435 \"object.item.videoItem.movie\" \u0441\u0438\u044f\u049b\u0442\u044b \u043d\u0430\u049b\u0442\u044b\u043b\u0430\u0443 \u0442\u04af\u0440\u0456\u043d\u0456\u04a3 \u043e\u0440\u043d\u044b\u043d\u0430 \"object.item.videoItem\" \u0431\u043e\u043b\u044b\u043f \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u043d\u0435\u0434\u0456.",
"LabelSupportedMediaTypes": "\u049a\u043e\u043b\u0434\u0430\u0443\u0434\u0430\u0493\u044b \u0442\u0430\u0441\u0443\u0448\u044b \u0442\u04af\u0440\u043b\u0435\u0440\u0456:",
"LabelSupportedMediaTypes": "\u049a\u043e\u043b\u0434\u0430\u0443\u0434\u0430\u0493\u044b \u0442\u0430\u0441\u0443\u0448\u044b\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u0442\u04af\u0440\u043b\u0435\u0440\u0456:",
"TabIdentification": "\u0410\u043d\u044b\u049b\u0442\u0430\u043c\u0430",
"TabDirectPlay": "\u0422\u0456\u043a\u0435\u043b\u0435\u0439 \u043e\u0439\u043d\u0430\u0442\u0443",
"TabContainers": "\u041a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043b\u0435\u0440",
@ -715,7 +717,7 @@
"HeaderIdentificationCriteriaHelp": "\u0415\u04a3 \u043a\u0435\u043c\u0456\u043d\u0434\u0435 \u0430\u043d\u044b\u049b\u0442\u0430\u0443\u0434\u044b\u04a3 \u0431\u0456\u0440 \u0448\u0430\u0440\u0442\u044b\u043d \u0435\u043d\u0433\u0456\u0437\u0456\u04a3\u0456\u0437.",
"HeaderDirectPlayProfileHelp": "\u0416\u0430\u0431\u0434\u044b\u049b\u0442\u044b\u04a3 \u049b\u0430\u043d\u0434\u0430\u0439 \u043f\u0456\u0448\u0456\u043c\u0434\u0435\u0440\u0434\u0456 \u04d9\u0434\u0435\u043f\u043a\u0456 \u04e9\u04a3\u0434\u0435\u0442\u0435\u0442\u0456\u043d \u043c\u04af\u043c\u043a\u0456\u043d\u0434\u0456\u0433\u0456\u043d \u043a\u04e9\u0440\u0441\u0435\u0442\u0443 \u04b1\u0448\u0456\u043d \u0442\u0456\u043a\u0435\u043b\u0435\u0439 \u043e\u0439\u043d\u0430\u0442\u0443 \u043f\u0440\u043e\u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b\u043d \u049b\u043e\u0441\u0443.",
"HeaderTranscodingProfileHelp": "\u049a\u0430\u0436\u0435\u0442 \u0431\u043e\u043b\u0493\u0430\u043d\u0434\u0430 \u049b\u0430\u043d\u0434\u0430\u0439 \u043f\u0456\u0448\u0456\u043c\u0434\u0435\u0440\u0434\u0456 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443 \u043c\u0456\u043d\u0434\u0435\u0442\u0456\u043b\u0456\u0433\u0456\u043d \u043a\u04e9\u0440\u0441\u0435\u0442\u0443 \u04b1\u0448\u0456\u043d \u049b\u0430\u0439\u0442\u0430 \u043a\u043e\u0434\u0442\u0430\u0443 \u043f\u0440\u043e\u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b\u043d \u049b\u043e\u0441\u0443.",
"HeaderResponseProfileHelp": "\u041a\u0435\u0439\u0431\u0456\u0440 \u0442\u0430\u0441\u0443\u0448\u044b \u0442\u04af\u0440\u043b\u0435\u0440\u0456\u043d \u043e\u0439\u043d\u0430\u0442\u049b\u0430\u043d\u0434\u0430 \u04af\u043d \u049b\u0430\u0442\u0443 \u043f\u0440\u043e\u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b \u0436\u0430\u0431\u0434\u044b\u049b\u049b\u0430 \u0436\u0456\u0431\u0435\u0440\u0456\u043b\u0435\u0442\u0456\u043d \u0430\u049b\u043f\u0430\u0440\u0430\u0442\u0442\u044b \u0442\u0435\u04a3\u0448\u0435\u0443 \u04af\u0448\u0456\u043d \u0436\u043e\u043b \u0431\u0435\u0440\u0435\u0434\u0456.",
"HeaderResponseProfileHelp": "\u041a\u0435\u0439\u0431\u0456\u0440 \u0442\u0430\u0441\u0443\u0448\u044b\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u0442\u04af\u0440\u043b\u0435\u0440\u0456\u043d \u043e\u0439\u043d\u0430\u0442\u049b\u0430\u043d\u0434\u0430 \u04af\u043d \u049b\u0430\u0442\u0443 \u043f\u0440\u043e\u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b \u0436\u0430\u0431\u0434\u044b\u049b\u049b\u0430 \u0436\u0456\u0431\u0435\u0440\u0456\u043b\u0435\u0442\u0456\u043d \u0430\u049b\u043f\u0430\u0440\u0430\u0442\u0442\u044b \u0442\u0435\u04a3\u0448\u0435\u0443 \u04af\u0448\u0456\u043d \u0436\u043e\u043b \u0431\u0435\u0440\u0435\u0434\u0456.",
"LabelXDlnaCap": "X-Dlna \u0441\u0438\u043f\u0430\u0442\u0442\u0430\u0440\u044b:",
"LabelXDlnaCapHelp": "urn:schemas-dlna-org:device-1-0 \u0430\u0442\u0430\u0443\u043b\u0430\u0440 \u043a\u0435\u04a3\u0456\u0441\u0442\u0456\u0433\u0456\u043d\u0434\u0435\u0433\u0456 X_DLNACAP \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0456 \u043c\u0430\u0437\u043c\u04b1\u043d\u044b\u043d \u0430\u043d\u044b\u049b\u0442\u0430\u0439\u0434\u044b.",
"LabelXDlnaDoc": "X-Dlna \u0442\u04d9\u0441\u0456\u043c\u0456:",
@ -781,9 +783,9 @@
"LabelHomePageSection2": "\u0411\u0430\u0441\u0442\u044b \u0431\u0435\u0442 2-\u0431\u04e9\u043b\u0456\u043c:",
"LabelHomePageSection3": "\u0411\u0430\u0441\u0442\u044b \u0431\u0435\u0442 3-\u0431\u04e9\u043b\u0456\u043c:",
"LabelHomePageSection4": "\u0411\u0430\u0441\u0442\u044b \u0431\u0435\u0442 4-\u0431\u04e9\u043b\u0456\u043c:",
"OptionMyViewsButtons": "\u041c\u0435\u043d\u0456\u04a3 \u043a\u04e9\u0440\u0456\u043d\u0456\u0441\u0442\u0435\u0440\u0456\u043c (\u0442\u04af\u0439\u043c\u0435\u0448\u0456\u043a\u0442\u0435\u0440)",
"OptionMyViews": "\u041c\u0435\u043d\u0456\u04a3 \u043a\u04e9\u0440\u0456\u043d\u0456\u0441\u0442\u0435\u0440\u0456\u043c",
"OptionMyViewsSmall": "\u041c\u0435\u043d\u0456\u04a3 \u043a\u04e9\u0440\u0456\u043d\u0456\u0441\u0442\u0435\u0440\u0456\u043c (\u044b\u049b\u0448\u0430\u043c)",
"OptionMyViewsButtons": "\u041c\u0435\u043d\u0456\u04a3 \u0430\u0441\u043f\u0435\u043a\u0442\u0442\u0435\u0440\u0456\u043c (\u0442\u04af\u0439\u043c\u0435\u0448\u0456\u043a\u0442\u0435\u0440)",
"OptionMyViews": "\u041c\u0435\u043d\u0456\u04a3 \u0430\u0441\u043f\u0435\u043a\u0442\u0442\u0435\u0440\u0456\u043c",
"OptionMyViewsSmall": "\u041c\u0435\u043d\u0456\u04a3 \u0430\u0441\u043f\u0435\u043a\u0442\u0442\u0435\u0440\u0456\u043c (\u044b\u049b\u0448\u0430\u043c)",
"OptionResumablemedia": "\u0416\u0430\u043b\u0493\u0430\u0441\u0442\u044b\u0440\u0443",
"OptionLatestMedia": "\u0415\u04a3 \u0441\u043e\u04a3\u0493\u044b \u0442\u0430\u0441\u0443\u0448\u044b\u043b\u0430\u0440",
"OptionLatestChannelMedia": "\u0410\u0440\u043d\u0430\u043b\u0430\u0440\u0434\u044b\u04a3 \u0435\u04a3 \u043a\u0435\u0439\u0456\u043d\u0433\u0456 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0442\u0435\u0440\u0456",
@ -798,7 +800,7 @@
"ButtonMarkRead": "\u041e\u049b\u044b\u043b\u0493\u0430\u043d \u0434\u0435\u043f \u0431\u0435\u043b\u0433\u0456\u043b\u0435\u0443",
"OptionDefaultSort": "\u04d8\u0434\u0435\u043f\u043a\u0456",
"OptionCommunityMostWatchedSort": "\u0415\u04a3 \u043a\u04e9\u043f \u049b\u0430\u0440\u0430\u043b\u0493\u0430\u043d\u0434\u0430\u0440",
"TabNextUp": "\u0410\u043b\u0434\u0430\u0493\u044b",
"TabNextUp": "\u041a\u0435\u0437\u0435\u043a\u0442\u0435\u0433\u0456\u043b\u0435\u0440",
"MessageNoMovieSuggestionsAvailable": "\u0415\u0448\u049b\u0430\u043d\u0434\u0430\u0439 \u0444\u0438\u043b\u044c\u043c \u04b1\u0441\u044b\u043d\u044b\u0441\u0442\u0430\u0440\u044b \u0430\u0493\u044b\u043c\u0434\u0430 \u049b\u043e\u043b \u0436\u0435\u0442\u0456\u043c\u0434\u0456 \u0435\u043c\u0435\u0441. \u0424\u0438\u043b\u044c\u043c\u0434\u0435\u0440\u0434\u0456 \u049b\u0430\u0440\u0430\u0443\u0434\u044b \u0436\u04d9\u043d\u0435 \u0431\u0430\u0493\u0430\u043b\u0430\u0443\u0434\u044b \u0431\u0430\u0441\u0442\u0430\u04a3\u044b\u0437, \u0441\u043e\u043d\u0434\u0430 \u0430\u0440\u043d\u0430\u043b\u0493\u0430\u043d \u04b1\u0441\u044b\u043d\u044b\u0442\u0430\u0440\u044b\u04a3\u044b\u0437\u0434\u044b \u043a\u04e9\u0440\u0443 \u04af\u0448\u0456\u043d \u049b\u0430\u0439\u0442\u0430 \u043a\u0435\u043b\u0456\u04a3\u0456\u0437.",
"MessageNoCollectionsAvailable": "\u0424\u0438\u043b\u044c\u043c\u0434\u0435\u0440\u0434\u0456, \u0441\u0435\u0440\u0438\u0430\u043b\u0434\u0430\u0440\u0434\u044b, \u0430\u043b\u044c\u0431\u043e\u043c\u0434\u0430\u0440\u0434\u044b, \u043a\u0456\u0442\u0430\u043f\u0442\u0430\u0440\u0434\u044b \u0436\u04d9\u043d\u0435 \u043e\u0439\u044b\u043d\u0434\u0430\u0440\u0434\u044b \u0436\u0435\u043a\u0435\u043b\u0435\u043d\u0433\u0435\u043d \u0442\u043e\u043f\u0442\u0430\u0441\u0442\u044b\u0440\u0443 \u04af\u0448\u0456\u043d \u0442\u043e\u043f\u0442\u0430\u043c\u0430\u043b\u0430\u0440 \u043c\u04af\u043c\u043a\u0456\u043d\u0434\u0456\u043a \u0431\u0435\u0440\u0435\u0434\u0456. \u0422\u043e\u043f\u0442\u0430\u043c\u0430\u043b\u0430\u0440\u0434\u044b \u0436\u0430\u0441\u0430\u0439 \u0431\u0430\u0441\u0442\u0430\u0443 \u04af\u0448\u0456\u043d \"\u0416\u0430\u0441\u0430\u0443\" \u0442\u04af\u0439\u043c\u0435\u0448\u0456\u0433\u0456\u043d \u0431\u0430\u0441\u044b\u04a3\u044b\u0437.",
"MessageNoPlaylistsAvailable": "\u041e\u0439\u043d\u0430\u0442\u0443 \u0442\u0456\u0437\u0456\u043c\u0434\u0435\u0440\u0456 \u0431\u0456\u0440 \u043a\u0435\u0437\u0434\u0435 \u043e\u0439\u043d\u0430\u0442\u0443 \u04af\u0448\u0456\u043d \u043c\u0430\u0437\u043c\u04b1\u043d \u0442\u0456\u0437\u0456\u043c\u0456\u043d \u0436\u0430\u0441\u0430\u0443\u0493\u0430 \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0435\u0434\u0456. \u041e\u0439\u043d\u0430\u0442\u0443 \u0442\u0456\u0437\u0456\u043c\u0434\u0435\u0440\u0433\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0442\u0435\u0440\u0434\u0456 \u04af\u0441\u0442\u0435\u0443 \u04af\u0448\u0456\u043d, \u0442\u0456\u043d\u0442\u0443\u0456\u0440\u0434\u0456\u04a3 \u043e\u04a3 \u0436\u0430\u049b \u0442\u04af\u0439\u043c\u0435\u0448\u0456\u0433\u0456\u043d \u0431\u0430\u0441\u044b\u04a3\u044b\u0437 \u043d\u0435\u043c\u0435\u0441\u0435 \u0442\u04af\u0440\u0442\u0456\u043f \u0436\u04d9\u043d\u0435 \u04b1\u0441\u0442\u0430\u043f \u0442\u04b1\u0440\u044b\u04a3\u044b\u0437, \u0441\u043e\u043d\u0434\u0430 \u041e\u0439\u043d\u0430\u0442\u0443 \u0442\u0456\u0437\u0456\u043c\u0456\u043d\u0435 \u04af\u0441\u0442\u0435\u0443 \u0434\u0435\u0433\u0435\u043d\u0434\u0456 \u0442\u0430\u04a3\u0434\u0430\u04a3\u044b\u0437.",
@ -826,9 +828,9 @@
"ViewTypeChannels": "\u0410\u0440\u043d\u0430\u043b\u0430\u0440",
"ViewTypeLiveTV": "\u042d\u0444\u0438\u0440\u043b\u0456\u043a \u0422\u0414",
"HeaderOtherDisplaySettings": "\u0411\u0435\u0439\u043d\u0435\u043b\u0435\u0443 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043b\u0435\u0440\u0456",
"HeaderMyViews": "\u041c\u0435\u043d\u0456\u04a3 \u043a\u04e9\u0440\u0456\u043d\u0456\u0441\u0442\u0435\u0440\u0456\u043c",
"LabelSelectFolderGroups": "\u041a\u0435\u043b\u0435\u0441\u0456 \u049b\u0430\u043b\u0442\u0430\u043b\u0430\u0440\u0434\u0430\u0493\u044b \u043c\u0430\u0437\u043c\u04b1\u043d\u0434\u044b \u041a\u0438\u043d\u043e, \u041c\u0443\u0437\u044b\u043a\u0430 \u0436\u04d9\u043d\u0435 \u0422\u0414 \u0441\u0438\u044f\u049b\u0442\u044b \u043a\u04e9\u0440\u0456\u043d\u0456\u0441\u0442\u0435\u0440\u0433\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0442\u044b \u0442\u04af\u0440\u0434\u0435 \u0442\u043e\u043f\u0442\u0430\u0441\u0442\u044b\u0440\u0443:",
"LabelSelectFolderGroupsHelp": "\u0411\u0435\u043b\u0433\u0456\u043b\u0435\u043d\u0431\u0435\u0433\u0435\u043d \u049b\u0430\u043b\u0442\u0430\u043b\u0430\u0440 \u04e9\u0437 \u0431\u0435\u0442\u0456\u043c\u0435\u043d \u04e9\u0437\u0456\u043d\u0456\u04a3 \u043a\u04e9\u0440\u0456\u043d\u0456\u0441\u0456\u043d\u0434\u0435 \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u043d\u0435\u0434\u0456.",
"HeaderMyViews": "\u041c\u0435\u043d\u0456\u04a3 \u0430\u0441\u043f\u0435\u043a\u0442\u0442\u0435\u0440\u0456\u043c",
"LabelSelectFolderGroups": "\u041a\u0435\u043b\u0435\u0441\u0456 \u049b\u0430\u043b\u0442\u0430\u043b\u0430\u0440\u0434\u0430\u0493\u044b \u043c\u0430\u0437\u043c\u04b1\u043d\u0434\u044b \u041a\u0438\u043d\u043e, \u041c\u0443\u0437\u044b\u043a\u0430 \u0436\u04d9\u043d\u0435 \u0422\u0414 \u0441\u0438\u044f\u049b\u0442\u044b \u0430\u0441\u043f\u0435\u043a\u0442\u0442\u0435\u0440\u0433\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0442\u044b \u0442\u04af\u0440\u0434\u0435 \u0442\u043e\u043f\u0442\u0430\u0441\u0442\u044b\u0440\u0443:",
"LabelSelectFolderGroupsHelp": "\u0411\u0435\u043b\u0433\u0456\u043b\u0435\u043d\u0431\u0435\u0433\u0435\u043d \u049b\u0430\u043b\u0442\u0430\u043b\u0430\u0440 \u04e9\u0437 \u0431\u0435\u0442\u0456\u043c\u0435\u043d \u04e9\u0437\u0456\u043d\u0456\u04a3 \u0430\u0441\u043f\u0435\u043a\u0442\u0456\u043d\u0434\u0435 \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u043d\u0435\u0434\u0456.",
"OptionDisplayAdultContent": "\u0415\u0440\u0435\u0441\u0435\u043a \u043c\u0430\u0437\u043c\u04b1\u043d\u044b\u043d \u043a\u04e9\u0440\u0441\u0435\u0442\u0443",
"OptionLibraryFolders": "\u0422\u0430\u0441\u0443\u0448\u044b \u049b\u0430\u043b\u0442\u0430\u043b\u0430\u0440\u044b",
"TitleRemoteControl": "\u049a\u0430\u0448\u044b\u049b\u0442\u0430\u043d \u0431\u0430\u0441\u049b\u0430\u0440\u0443",
@ -846,9 +848,9 @@
"LabelXbmcMetadataEnablePathSubstitution": "\u0416\u043e\u043b \u0430\u043b\u043c\u0430\u0441\u0442\u044b\u0440\u0443\u0434\u044b \u049b\u043e\u0441\u0443",
"LabelXbmcMetadataEnablePathSubstitutionHelp": "\u0421\u0435\u0440\u0432\u0435\u0440\u0434\u0456\u04a3 \u0436\u043e\u043b \u0430\u043b\u043c\u0430\u0441\u0442\u044b\u0440\u0443 \u0442\u0435\u04a3\u0448\u0435\u0443\u0456\u043d \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u043f \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440\u0434\u0456\u04a3 \u0436\u043e\u043b \u0430\u043b\u043c\u0430\u0441\u0442\u044b\u0440\u0443\u044b\u043d \u049b\u043e\u0441\u0430\u0434\u044b.",
"LabelXbmcMetadataEnablePathSubstitutionHelp2": "\u0416\u043e\u043b \u0430\u043b\u043c\u0430\u0441\u0442\u044b\u0440\u0443\u0434\u044b \u049b\u0430\u0440\u0430\u0443.",
"LabelGroupChannelsIntoViews": "\u041c\u0435\u043d\u0456\u04a3 \u043a\u04e9\u0440\u0456\u043d\u0456\u0441\u0442\u0435\u0440\u0456\u043c\u0434\u0435 \u0442\u0456\u043a\u0435\u043b\u0435\u0439 \u043a\u0435\u043b\u0435\u0441\u0456 \u0430\u0440\u043d\u0430\u043b\u0430\u0440\u0434\u044b \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0443:",
"LabelGroupChannelsIntoViewsHelp": "\u0415\u0433\u0435\u0440 \u049b\u043e\u0441\u044b\u043b\u0441\u0430, \u043e\u0441\u044b \u0430\u0440\u043d\u0430\u043b\u0430\u0440 \u0431\u0430\u0441\u049b\u0430 \u043a\u04e9\u0440\u0456\u043d\u0456\u0441\u0442\u0435\u0440\u043c\u0435\u043d \u049b\u0430\u0442\u0430\u0440 \u0442\u0456\u043a\u0435\u043b\u0435\u0439 \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u043d\u0435\u0434\u0456. \u0415\u0433\u0435\u0440 \u0430\u0436\u044b\u0440\u0430\u0442\u044b\u043b\u0441\u0430, \u043e\u043b\u0430\u0440 \u0431\u04e9\u043b\u0435\u043a \u0410\u0440\u043d\u0430\u043b\u0430\u0440 \u043a\u04e9\u0440\u0456\u043d\u0456\u0441\u0456\u043d\u0434\u0435 \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u043d\u0435\u0434\u0456.",
"LabelDisplayCollectionsView": "\u0424\u0438\u043b\u044c\u043c\u0434\u0435\u0440 \u0436\u0438\u043d\u0430\u049b\u0442\u0430\u0440\u044b\u043d \u043a\u04e9\u0440\u0441\u0435\u0442\u0443 \u04af\u0448\u0456\u043d \u0436\u0438\u043d\u0430\u049b\u0442\u0430\u0440 \u043a\u04e9\u0440\u0456\u043d\u0456\u0441\u0456\u043d \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0443",
"LabelGroupChannelsIntoViews": "\u041c\u0435\u043d\u0456\u04a3 \u0430\u0441\u043f\u0435\u043a\u0442\u0442\u0435\u0440\u0456\u043c\u0434\u0435 \u0442\u0456\u043a\u0435\u043b\u0435\u0439 \u043a\u0435\u043b\u0435\u0441\u0456 \u0430\u0440\u043d\u0430\u043b\u0430\u0440\u0434\u044b \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0443:",
"LabelGroupChannelsIntoViewsHelp": "\u0415\u0433\u0435\u0440 \u049b\u043e\u0441\u044b\u043b\u0441\u0430, \u043e\u0441\u044b \u0430\u0440\u043d\u0430\u043b\u0430\u0440 \u0431\u0430\u0441\u049b\u0430 \u0430\u0441\u043f\u0435\u043a\u0442\u0442\u0435\u0440\u043c\u0435\u043d \u049b\u0430\u0442\u0430\u0440 \u0442\u0456\u043a\u0435\u043b\u0435\u0439 \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u043d\u0435\u0434\u0456. \u0415\u0433\u0435\u0440 \u0430\u0436\u044b\u0440\u0430\u0442\u044b\u043b\u0441\u0430, \u043e\u043b\u0430\u0440 \u0431\u04e9\u043b\u0435\u043a \u0410\u0440\u043d\u0430\u043b\u0430\u0440 \u043a\u04e9\u0440\u0456\u043d\u0456\u0441\u0456\u043d\u0434\u0435 \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u043d\u0435\u0434\u0456.",
"LabelDisplayCollectionsView": "\u0424\u0438\u043b\u044c\u043c\u0434\u0435\u0440 \u0436\u0438\u043d\u0430\u049b\u0442\u0430\u0440\u044b\u043d \u043a\u04e9\u0440\u0441\u0435\u0442\u0443 \u04af\u0448\u0456\u043d \u0416\u0438\u043d\u0430\u049b\u0442\u0430\u0440 \u0430\u0441\u043f\u0435\u043a\u0442\u0456\u043d \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0443",
"LabelXbmcMetadataEnableExtraThumbs": "\u04d8\u0434\u0435\u043f\u043a\u0456 extrafanart \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0456\u043d extrathumbs \u0456\u0448\u0456\u043d\u0435 \u043a\u04e9\u0448\u0456\u0440\u0443",
"LabelXbmcMetadataEnableExtraThumbsHelp": "\u0421\u0443\u0440\u0435\u0442\u0442\u0435\u0440\u0434\u0456 \u0436\u04af\u043a\u0442\u0435\u0433\u0435\u043d \u043a\u0435\u0437\u0434\u0435, \u043e\u043b\u0430\u0440 Xbmc \u049b\u0430\u0431\u044b\u0493\u044b\u043c\u0435\u043d \u0435\u04a3 \u0436\u043e\u0493\u0430\u0440\u044b \u0441\u0438\u044b\u0441\u044b\u043c\u0434\u044b\u0493\u044b \u04af\u0448\u0456\u043d extrafanart \u0436\u04d9\u043d\u0435 extrathumbs \u0435\u043a\u0435\u0443\u0456\u043d\u0434\u0435 \u0441\u0430\u049b\u0442\u0430\u043b\u0430\u0434\u044b.",
"TabServices": "\u049a\u044b\u0437\u043c\u0435\u0442\u0442\u0435\u0440",
@ -858,7 +860,7 @@
"HeaderBrandingHelp": "\u0422\u043e\u0431\u044b\u04a3\u044b\u0437\u0434\u044b\u04a3 \u043d\u0435 \u04b1\u0439\u044b\u043c\u044b\u04a3\u044b\u0437\u0434\u044b\u04a3 \u043c\u04b1\u049b\u0442\u0430\u0436\u0434\u044b\u049b\u0442\u0430\u0440\u044b\u043d\u0430 \u04af\u0439\u043b\u0435\u0441\u0456\u043c\u0434\u0456 Media Browser \u0431\u0435\u0437\u0435\u043d\u0434\u0456\u0440\u0443\u0456\u043d \u0442\u0435\u04a3\u0448\u0435\u0443.",
"LabelLoginDisclaimer": "\u041a\u0456\u0440\u0433\u0435\u043d\u0434\u0435\u0433\u0456 \u0435\u0441\u043a\u0435\u0440\u0442\u0443:",
"LabelLoginDisclaimerHelp": "\u0411\u04b1\u043b \u043a\u0456\u0440\u0443 \u0431\u0435\u0442\u0456\u043d\u0456\u04a3 \u0442\u04e9\u043c\u0435\u043d\u0456\u043d\u0434\u0435 \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u043d\u0435\u0434\u0456.",
"LabelAutomaticallyDonate": "\u041e\u0441\u044b \u0441\u043e\u043c\u0430\u043d\u044b \u04d9\u0440 \u0430\u043b\u0442\u044b \u0430\u0439 \u0441\u0430\u0439\u044b\u043d \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0442\u044b \u0442\u04af\u0440\u0434\u0435 \u0441\u044b\u0439\u043b\u0430\u0443",
"LabelAutomaticallyDonate": "\u041e\u0441\u044b \u0441\u043e\u043c\u0430\u043d\u044b \u04d9\u0440 \u0430\u0439 \u0441\u0430\u0439\u044b\u043d \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0442\u044b \u0442\u04af\u0440\u0434\u0435 \u0441\u044b\u0439\u043b\u0430\u0443",
"LabelAutomaticallyDonateHelp": "PayPal \u0435\u0441\u0435\u043f \u0448\u043e\u0442\u044b\u04a3\u044b\u0437 \u0430\u0440\u049b\u044b\u043b\u044b \u043a\u0435\u0437 \u043a\u0435\u043b\u0433\u0435\u043d \u0443\u0430\u049b\u044b\u0442\u0442\u0430 \u0434\u043e\u0493\u0430\u0440\u0443 \u043c\u04af\u043c\u043a\u0456\u043d\u0434\u0456\u0433\u0456\u04a3\u0456\u0437 \u0431\u0430\u0440.",
"OptionList": "\u0422\u0456\u0437\u0456\u043c",
"TabDashboard": "\u0411\u0430\u049b\u044b\u043b\u0430\u0443 \u0442\u0430\u049b\u0442\u0430\u0441\u044b",
@ -963,7 +965,7 @@
"PluginInstalledWithName": "{0} \u043e\u0440\u043d\u0430\u0442\u044b\u043b\u0434\u044b",
"PluginUpdatedWithName": "{0} \u0436\u0430\u04a3\u0430\u0440\u0442\u044b\u043b\u0434\u044b",
"PluginUninstalledWithName": "{0} \u0436\u043e\u0439\u044b\u043b\u0434\u044b",
"ScheduledTaskFailedWithName": "{0} \u0441\u04d9\u0442\u0441\u0456\u0437 \u0431\u043e\u043b\u0434\u044b",
"ScheduledTaskFailedWithName": "{0} \u0441\u04d9\u0442\u0441\u0456\u0437",
"ItemAddedWithName": "{0} (\u0442\u0430\u0441\u0443\u0448\u044b\u0445\u0430\u043d\u0430\u0493\u0430 \u04af\u0441\u0442\u0435\u043b\u0456\u043d\u0434\u0456)",
"ItemRemovedWithName": "{0} (\u0442\u0430\u0441\u0443\u0448\u044b\u0445\u0430\u043d\u0430\u0434\u0430\u043d \u0430\u043b\u0430\u0441\u0442\u0430\u043b\u0434\u044b)",
"DeviceOnlineWithName": "{0} \u049b\u043e\u0441\u044b\u043b\u0493\u0430\u043d",
@ -971,20 +973,20 @@
"DeviceOfflineWithName": "{0} \u0430\u0436\u044b\u0440\u0430\u0442\u044b\u043b\u0493\u0430\u043d",
"UserOfflineFromDevice": "{0} - {1} \u0430\u0440\u049b\u044b\u043b\u044b \u0430\u0436\u044b\u0440\u0430\u0442\u044b\u043b\u0493\u0430\u043d",
"SubtitlesDownloadedForItem": "\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\u0434\u044b",
"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 \u0431\u043e\u043b\u0434\u044b",
"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}",
"LabelIpAddressValue": "IP \u043c\u0435\u043a\u0435\u043d\u0436\u0430\u0439\u044b: {0}",
"UserConfigurationUpdatedWithName": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u0441\u044b {0} \u04af\u0448\u0456\u043d \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 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \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",
"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",
"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",
"MessageNamedServerConfigurationUpdatedWithValue": "\u0421\u0435\u0440\u0432\u0435\u0440 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u0441\u044b\u043d\u044b\u04a3 {0} \u0431\u04e9\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",
"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 \u0441\u04d9\u0442\u0442\u0456 \u0440\u0430\u0441\u0442\u0430\u043b\u0434\u044b",
"FailedLoginAttemptWithUserName": "{0} \u0430\u0440\u049b\u044b\u043b\u044b \u043a\u0456\u0440\u0443 \u04d9\u0440\u0435\u043a\u0435\u0442\u0456 \u0441\u04d9\u0442\u0441\u0456\u0437",
"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",
"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}",
"ProviderValue": "\u0416\u0435\u0442\u043a\u0456\u0437\u0443\u0448\u0456: {0}",
"LabelChannelDownloadSizeLimit": "\u0416\u04af\u043a\u0442\u0435\u043c\u0435 \u04e9\u043b\u0448\u0435\u043c\u0456\u043d\u0456\u04a3 \u0448\u0435\u0433\u0456 (GB)",
@ -996,7 +998,7 @@
"OptionOthers": "\u0411\u0430\u0441\u049b\u0430\u043b\u0430\u0440",
"HeaderDownloadPeopleMetadataForHelp": "\u049a\u043e\u0441\u044b\u043c\u0448\u0430 \u0442\u0435\u04a3\u0448\u0435\u043b\u0456\u043c\u0434\u0435\u0440\u0434\u0456 \u049b\u043e\u0441\u049b\u0430\u043d\u0434\u0430 \u044d\u043a\u0440\u0430\u043d\u0434\u0430\u0493\u044b \u0430\u049b\u043f\u0430\u0440\u0430\u0442\u0442\u044b \u043a\u04e9\u0431\u0456\u0440\u0435\u043a \u04b1\u0441\u044b\u043d\u0430\u0434\u044b, \u0431\u0456\u0440\u0430\u049b \u0442\u0430\u0441\u0443\u0448\u044b\u0445\u0430\u043d\u0430\u043d\u044b\u04a3 \u0441\u043a\u0430\u043d\u0435\u0440\u043b\u0435\u0443\u043b\u0435\u0440\u0456 \u0431\u0430\u044f\u0443\u043b\u0430\u0439\u0434\u044b.",
"ViewTypeFolders": "\u049a\u0430\u043b\u0442\u0430\u043b\u0430\u0440",
"LabelDisplayFoldersView": "\u0416\u0430\u0439 \u0442\u0430\u0441\u0443\u0448\u044b \u049b\u0430\u043b\u0442\u0430\u043b\u0430\u0440\u044b\u043d \u043a\u04e9\u0440\u0441\u0435\u0442\u0443 \u04af\u0448\u0456\u043d \u049b\u0430\u043b\u0442\u0430\u043b\u0430\u0440 \u043a\u04e9\u0440\u0456\u043d\u0456\u0441\u0456\u043d \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0443",
"LabelDisplayFoldersView": "\u0416\u0430\u0439 \u0442\u0430\u0441\u0443\u0448\u044b \u049b\u0430\u043b\u0442\u0430\u043b\u0430\u0440\u044b\u043d \u043a\u04e9\u0440\u0441\u0435\u0442\u0443 \u04af\u0448\u0456\u043d \u049a\u0430\u043b\u0442\u0430\u043b\u0430\u0440 \u0430\u0441\u043f\u0435\u043a\u0442\u0456\u043d \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0443",
"ViewTypeLiveTvRecordingGroups": "\u0416\u0430\u0437\u0431\u0430\u043b\u0430\u0440",
"ViewTypeLiveTvChannels": "\u0410\u0440\u043d\u0430\u043b\u0430\u0440",
"LabelAllowLocalAccessWithoutPassword": "\u049a\u04b1\u043f\u0438\u044f \u0441\u04e9\u0437\u0441\u0456\u0437 \u0436\u0435\u0440\u0433\u0456\u043b\u0456\u043a\u0442\u0456 \u049b\u0430\u0442\u044b\u043d\u0441\u0443 \u04af\u0448\u0456\u043d \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0443",

View file

@ -4,7 +4,9 @@
"LabelVisitCommunity": "Visit Community",
"HeaderLocalAccess": "Local Access",
"LabelGithubWiki": "Github Wiki",
"HeaderViewOrder": "View Order",
"LabelSwagger": "Swagger",
"LabelSelectUserViewOrder": "Choose the order your views will be displayed in within Media Browser apps",
"LabelStandard": "Standard",
"LabelViewApiDocumentation": "View Api Documentation",
"LabelBrowseLibrary": "Browse Library",
@ -858,7 +860,7 @@
"HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
"LabelLoginDisclaimer": "Login disclaimer:",
"LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
"LabelAutomaticallyDonate": "Automatically donate this amount every six months",
"LabelAutomaticallyDonate": "Automatically donate this amount every month",
"LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
"OptionList": "List",
"TabDashboard": "Dashboard",

View file

@ -4,7 +4,9 @@
"LabelVisitCommunity": "Melawat Masyarakat",
"HeaderLocalAccess": "Local Access",
"LabelGithubWiki": "Github Wiki",
"HeaderViewOrder": "View Order",
"LabelSwagger": "Swagger",
"LabelSelectUserViewOrder": "Choose the order your views will be displayed in within Media Browser apps",
"LabelStandard": "Biasa",
"LabelViewApiDocumentation": "Melihat Dokumentasi Api",
"LabelBrowseLibrary": "Imbas Pengumpulan",
@ -858,7 +860,7 @@
"HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
"LabelLoginDisclaimer": "Login disclaimer:",
"LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
"LabelAutomaticallyDonate": "Automatically donate this amount every six months",
"LabelAutomaticallyDonate": "Automatically donate this amount every month",
"LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
"OptionList": "List",
"TabDashboard": "Dashboard",

View file

@ -4,7 +4,9 @@
"LabelVisitCommunity": "Bes\u00f8k oss",
"HeaderLocalAccess": "Local Access",
"LabelGithubWiki": "Github Wiki",
"HeaderViewOrder": "View Order",
"LabelSwagger": "Swagger",
"LabelSelectUserViewOrder": "Choose the order your views will be displayed in within Media Browser apps",
"LabelStandard": "Standard",
"LabelViewApiDocumentation": "Se Api-dokumentasjon",
"LabelBrowseLibrary": "Browse biblioteket",

View file

@ -4,7 +4,9 @@
"LabelVisitCommunity": "Bezoek Gemeenschap",
"HeaderLocalAccess": "Lokale toegang",
"LabelGithubWiki": "Github Wiki",
"HeaderViewOrder": "Weergave volgorde",
"LabelSwagger": "Swagger",
"LabelSelectUserViewOrder": "Kies de volgorde van uw weergaven die zullen worden weergegeven in Media Browser applicaties",
"LabelStandard": "Standaard",
"LabelViewApiDocumentation": "Bekijk Api documentatie",
"LabelBrowseLibrary": "Bekijk bibliotheek",
@ -90,7 +92,7 @@
"LabelSelectUsers": "Selecteer gebruikers:",
"ButtonUpload": "Uploaden",
"HeaderUploadNewImage": "Nieuwe afbeelding uploaden",
"LabelDropImageHere": "Hier afbeelding plaatsen",
"LabelDropImageHere": "Afbeelding hier neerzetten",
"ImageUploadAspectRatioHelp": "1:1 beeldverhouding geadviseerd. Alleen JPG\/PNG.",
"MessageNothingHere": "Lijst is leeg.",
"MessagePleaseEnsureInternetMetadata": "Zorg ervoor dat het downloaden van metadata van het internet is ingeschakeld.",
@ -192,7 +194,7 @@
"HeaderStatus": "Status",
"OptionContinuing": "Wordt vervolgd...",
"OptionEnded": "Gestopt",
"HeaderAirDays": "Uitzend dagen:",
"HeaderAirDays": "Uitzend Dagen",
"OptionSunday": "Zondag",
"OptionMonday": "Maandag",
"OptionTuesday": "Dinsdag",
@ -200,7 +202,7 @@
"OptionThursday": "Donderdag",
"OptionFriday": "Vrijdag",
"OptionSaturday": "Zaterdag",
"HeaderManagement": "Beheer:",
"HeaderManagement": "Beheer",
"LabelManagement": "Management:",
"OptionMissingImdbId": "IMDb Id ontbreekt",
"OptionMissingTvdbId": "TheTVDB Id ontbreekt",
@ -282,7 +284,7 @@
"LabelAutomaticUpdatesFanartHelp": "Indien ingeschakeld, worden nieuwe afbeeldingen automatisch gedownload wanneer ze zijn toegevoegd aan fanart.tv. Bestaande afbeeldingen zullen niet worden vervangen.",
"LabelAutomaticUpdatesTmdbHelp": "Indien ingeschakeld, worden nieuwe afbeeldingen automatisch gedownload wanneer ze zijn toegevoegd aan TheMovieDB.org. Bestaande afbeeldingen zullen niet worden vervangen.",
"LabelAutomaticUpdatesTvdbHelp": "Indien ingeschakeld, worden nieuwe afbeeldingen automatisch gedownload wanneer ze zijn toegevoegd aan TheTVDB.com. Bestaande afbeeldingen zullen niet worden vervangen.",
"ExtractChapterImagesHelp": "Extraheren van hoofdstuk afbeeldingen geeft de Cli\u00ebnt de mogelijkheid om grafische scene selectie menu's te tonen. Het proces kan traag en cpu-intensief zijn en kan enkele gigabytes aan ruimte vereisen. Het word uitgevoerd als nachtelijke taak om 4:00, maar dit is instelbaar via de geplande taken. Het wordt niet aanbevolen om deze taak uit te voeren tijdens de piekuren.",
"ExtractChapterImagesHelp": "Extraheren van hoofdstuk afbeeldingen geeft de cli\u00ebnt de mogelijkheid om grafische scene selectie menu's te tonen. Het proces kan traag en cpu-intensief zijn en kan enkele gigabytes aan ruimte vereisen. Het word uitgevoerd als nachtelijke taak om 4:00. Deze taak is in te stellen via de geplande taken. Het wordt niet aanbevolen om deze taak uit te voeren tijdens de piekuren.",
"LabelMetadataDownloadLanguage": "Voorkeurs taal:",
"ButtonAutoScroll": "Auto-scroll",
"LabelImageSavingConvention": "Afbeelding opslag conventie:",
@ -827,8 +829,8 @@
"ViewTypeLiveTV": "Live TV",
"HeaderOtherDisplaySettings": "Beeld instellingen",
"HeaderMyViews": "Mijn Overzichten",
"LabelSelectFolderGroups": "De volgende mappen automatisch groeperen in de secties zoals Films, Muziek en TV:",
"LabelSelectFolderGroupsHelp": "Mappen die niet aangevinkt zijn worden in hun eigen sectie weergegeven.",
"LabelSelectFolderGroups": "De inhoud van de volgende mappen automatisch groeperen in de secties zoals Films, Muziek en TV:",
"LabelSelectFolderGroupsHelp": "Mappen die niet aangevinkt zijn worden getoond in hun eigen weergave.",
"OptionDisplayAdultContent": "Toon Inhoud voor volwassen",
"OptionLibraryFolders": "Media mappen",
"TitleRemoteControl": "Beheer op afstand",
@ -848,9 +850,9 @@
"LabelXbmcMetadataEnablePathSubstitutionHelp2": "Zie Pad Vervanging.",
"LabelGroupChannelsIntoViews": "Toon de volgende kanalen binnen mijn overzichten:",
"LabelGroupChannelsIntoViewsHelp": "Indien ingeschakeld, zullen deze kanalen direct naast andere overzichten worden weergegeven. Indien uitgeschakeld, zullen ze worden weergegeven in een aparte kanalen overzicht.",
"LabelDisplayCollectionsView": "Toon Collecties in Mijn Overzichten om film collecties te tonen",
"LabelDisplayCollectionsView": "Toon verzamelingen in mijn overzichten om film verzamelingen weer te geven",
"LabelXbmcMetadataEnableExtraThumbs": "Kopieer extrafanart naar extrathumbs",
"LabelXbmcMetadataEnableExtraThumbsHelp": "Als er afbeeldingen gedownload worden kunnen deze in extrafanart en extrathumbs worden opgeslagen voor maximale compatibiliteit met XBMC skins",
"LabelXbmcMetadataEnableExtraThumbsHelp": "Als er afbeeldingen gedownload worden kunnen deze zowel in extrafanart als in extrathumbs worden opgeslagen voor maximale compatibiliteit met de XBMC skins",
"TabServices": "Meta Diensten",
"TabLogs": "Logboeken",
"HeaderServerLogFiles": "Server logboek bestanden:",
@ -858,7 +860,7 @@
"HeaderBrandingHelp": "Pas het uiterlijk van Media Browser aan, aan de behoeften van uw groep of organisatie.",
"LabelLoginDisclaimer": "Aanmeld vrijwaring:",
"LabelLoginDisclaimerHelp": "Dit wordt onderaan de login pagina weergegeven.",
"LabelAutomaticallyDonate": "Doneer dit bedrag automatisch elke zes maanden",
"LabelAutomaticallyDonate": "Doneer dit bedrag automatisch elke maand",
"LabelAutomaticallyDonateHelp": "U kunt dit via uw PayPal account op elk moment annuleren.",
"OptionList": "Lijst",
"TabDashboard": "Dashboard",
@ -954,7 +956,7 @@
"OptionReportArtists": "Artiesten",
"OptionReportAlbums": "Albums",
"OptionReportAdultVideos": "Adult video's",
"ButtonMore": "Meer ...",
"ButtonMore": "Meer",
"HeaderActivity": "Activiteit",
"ScheduledTaskStartedWithName": "{0} is gestart",
"ScheduledTaskCancelledWithName": "{0} is geannuleerd",

View file

@ -4,7 +4,9 @@
"LabelVisitCommunity": "Odwied\u017a spo\u0142eczno\u015b\u0107",
"HeaderLocalAccess": "Local Access",
"LabelGithubWiki": "Wiki Github",
"HeaderViewOrder": "View Order",
"LabelSwagger": "Swagger",
"LabelSelectUserViewOrder": "Choose the order your views will be displayed in within Media Browser apps",
"LabelStandard": "Standardowy",
"LabelViewApiDocumentation": "Zobacz dokumentacj\u0119 Api",
"LabelBrowseLibrary": "Przejrzyj bibliotek\u0119",
@ -858,7 +860,7 @@
"HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
"LabelLoginDisclaimer": "Login disclaimer:",
"LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
"LabelAutomaticallyDonate": "Automatically donate this amount every six months",
"LabelAutomaticallyDonate": "Automatically donate this amount every month",
"LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
"OptionList": "List",
"TabDashboard": "Dashboard",

View file

@ -4,7 +4,9 @@
"LabelVisitCommunity": "Visitar a Comunidade",
"HeaderLocalAccess": "Acesso Local",
"LabelGithubWiki": "Wiki do Github",
"HeaderViewOrder": "Ordem da Visualiza\u00e7\u00e3o",
"LabelSwagger": "Swagger",
"LabelSelectUserViewOrder": "Escolha a ordem em que suas visualiza\u00e7\u00f5es ser\u00e3o exibidas dentro das apps do Media Browser",
"LabelStandard": "Padr\u00e3o",
"LabelViewApiDocumentation": "Ver documenta\u00e7\u00e3o da Api",
"LabelBrowseLibrary": "Navegar pela Biblioteca",
@ -218,8 +220,8 @@
"VisitTheCommunity": "Visitar a Comunidade",
"VisitMediaBrowserWebsite": "Visitar o Web Site do Media Browser",
"VisitMediaBrowserWebsiteLong": "Visite o Web Site do Media Browser para obter as \u00faltimas novidades e atualizar-se com o blog de desenvolvedores.",
"OptionHideUser": "Oculte este usu\u00e1rio das telas de login",
"OptionDisableUser": "Desative este usu\u00e1rio",
"OptionHideUser": "Ocultar este usu\u00e1rio das telas de login",
"OptionDisableUser": "Desativar este usu\u00e1rio",
"OptionDisableUserHelp": "Se estiver desativado o servidor n\u00e3o permitir\u00e1 nenhuma conex\u00e3o deste usu\u00e1rio. Conex\u00f5es existentes ser\u00e3o abruptamente terminadas.",
"HeaderAdvancedControl": "Controle Avan\u00e7ado",
"LabelName": "Nome:",
@ -255,7 +257,7 @@
"LabelAllowServerAutoRestartHelp": "O servidor s\u00f3 reiniciar\u00e1 durante os per\u00edodos ociosos, quando nenhum usu\u00e1rio estiver ativo.",
"LabelEnableDebugLogging": "Ativar log de depura\u00e7\u00e3o",
"LabelRunServerAtStartup": "Executar servidor na inicializa\u00e7\u00e3o",
"LabelRunServerAtStartupHelp": "Isto abrir\u00e1 o \u00edcone da bandeja de sistema na inicializa\u00e7\u00e3o do windows. Para iniciar o servi\u00e7o do windows, desmarque esta op\u00e7\u00e3o e inicie o servi\u00e7o no painel de controle do windows. Por favor, saiba que voc\u00ea n\u00e3o pode executar os dois ao mesmo tempo, ent\u00e3o ser\u00e1 necess\u00e1rio sair do \u00edcone na bandeja antes de iniciar o servi\u00e7o.",
"LabelRunServerAtStartupHelp": "Esta op\u00e7\u00e3o abrir\u00e1 o \u00edcone da bandeja de sistema na inicializa\u00e7\u00e3o do windows. Para iniciar o servi\u00e7o do windows, desmarque esta op\u00e7\u00e3o e inicie o servi\u00e7o no painel de controle do windows. Por favor, saiba que voc\u00ea n\u00e3o pode executar os dois ao mesmo tempo, ent\u00e3o ser\u00e1 necess\u00e1rio sair do \u00edcone na bandeja antes de iniciar o servi\u00e7o.",
"ButtonSelectDirectory": "Selecionar Diret\u00f3rio",
"LabelCustomPaths": "Defina caminhos personalizados. Deixe os campos em branco para usar o padr\u00e3o.",
"LabelCachePath": "Caminho do cache:",
@ -279,9 +281,9 @@
"LabelAutomaticUpdatesFanart": "Ativar atualiza\u00e7\u00f5es autom\u00e1ticas de FanArt.tv",
"LabelAutomaticUpdatesTmdb": "Ativar atualiza\u00e7\u00f5es autom\u00e1ticas de The MovieDB.org",
"LabelAutomaticUpdatesTvdb": "Ativar atualiza\u00e7\u00f5es autom\u00e1ticas de TheTVDB.com",
"LabelAutomaticUpdatesFanartHelp": "Se ativado, novas imagens ser\u00e3o automaticamente transferidas ao serem adicionadas ao fanart.tv. As Imagens atuais n\u00e3o ser\u00e3o substitu\u00eddas.",
"LabelAutomaticUpdatesTmdbHelp": "Se ativado, novas imagens ser\u00e3o automaticamente transferidas ao serem adicionadas ao TheMovieDB.org. As Imagens atuais n\u00e3o ser\u00e3o substitu\u00eddas.",
"LabelAutomaticUpdatesTvdbHelp": "Se ativado, novas imagens ser\u00e3o automaticamente transferidas ao serem adicionadas ao TheTVDB.com. As Imagens atuais n\u00e3o ser\u00e3o substitu\u00eddas.",
"LabelAutomaticUpdatesFanartHelp": "Se ativado, novas imagens ser\u00e3o automaticamente baixadas ao serem adicionadas ao fanart.tv. As Imagens atuais n\u00e3o ser\u00e3o substitu\u00eddas.",
"LabelAutomaticUpdatesTmdbHelp": "Se ativado, novas imagens ser\u00e3o automaticamente baixadas ao serem adicionadas ao TheMovieDB.org. As Imagens atuais n\u00e3o ser\u00e3o substitu\u00eddas.",
"LabelAutomaticUpdatesTvdbHelp": "Se ativado, novas imagens ser\u00e3o automaticamente baixadas ao serem adicionadas ao TheTVDB.com. As Imagens atuais n\u00e3o ser\u00e3o substitu\u00eddas.",
"ExtractChapterImagesHelp": "Extrair imagens de cap\u00edtulos permitir\u00e1 aos clientes exibir menus gr\u00e1ficos de sele\u00e7\u00e3o de cenas. O processo pode ser lento, demandar uso intensivo de cpu e pode exigir bastante espa\u00e7o em disco. Ele ser\u00e1 executado quando os v\u00eddeos forem descobertos e tamb\u00e9m como uma tarefa agendada executada \u00e0s 4 da manh\u00e3. O agendamento pode ser configurado na \u00e1rea de tarefas agendadas. N\u00e3o \u00e9 recomendado executar esta tarefa durante as horas de pico de uso.",
"LabelMetadataDownloadLanguage": "Idioma preferido para download:",
"ButtonAutoScroll": "Auto-rolagem",
@ -513,7 +515,7 @@
"HeaderPattern": "Padr\u00e3o",
"HeaderResult": "Resultado",
"LabelDeleteEmptyFolders": "Apagar pastas vazias depois da organiza\u00e7\u00e3o",
"LabelDeleteEmptyFoldersHelp": "Ativar isto para manter o diret\u00f3rio de download limpo.",
"LabelDeleteEmptyFoldersHelp": "Ativar esta op\u00e7\u00e3o para manter o diret\u00f3rio de download limpo.",
"LabelDeleteLeftOverFiles": "Apagar os arquivos deixados com as seguintes extens\u00f5es:",
"LabelDeleteLeftOverFilesHelp": "Separar com ;. Por exemplo: .nfo;.txt",
"OptionOverwriteExistingEpisodes": "Sobrescrever epis\u00f3dios existentes",
@ -634,7 +636,7 @@
"ButtonSubtitles": "Legendas",
"ButtonAudioTracks": "Faixas de \u00e1udio",
"ButtonPreviousTrack": "Faixa anterior",
"ButtonNextTrack": "Pr\u00f3xima faixa",
"ButtonNextTrack": "Faixa seguinte",
"ButtonStop": "Parar",
"ButtonPause": "Pausar",
"LabelGroupMoviesIntoCollections": "Agrupar filmes nas cole\u00e7\u00f5es",
@ -838,13 +840,13 @@
"TabXbmcMetadata": "Xbmc",
"HeaderXbmcMetadataHelp": "O Media Browser inclui suporte nativo aos metadados Nfo e Imagens do Xbmc. Para ativar ou desativar os metadados do Xbmc, use a aba Avan\u00e7ado para configurar as op\u00e7\u00f5es para seus tipos de m\u00eddias.",
"LabelXbmcMetadataUser": "Adicionar dados de monitora\u00e7\u00e3o do usu\u00e1rio para nfo`s para:",
"LabelXbmcMetadataUserHelp": "Ativar esta op\u00e7\u00e3o para manter dados de monitora\u00e7\u00e3o em sincronia entre o Media Browser e o Xbmc.",
"LabelXbmcMetadataUserHelp": "Ative esta op\u00e7\u00e3o para manter dados de monitora\u00e7\u00e3o em sincronia entre o Media Browser e o Xbmc.",
"LabelXbmcMetadataDateFormat": "Formato da data de lan\u00e7amento:",
"LabelXbmcMetadataDateFormatHelp": "Todas as datas dentro dos nfo`s ser\u00e3o lidas e gravadas para usar este formato.",
"LabelXbmcMetadataDateFormatHelp": "Todas as datas dentro dos nfo`s ser\u00e3o lidas e gravadas neste formato.",
"LabelXbmcMetadataSaveImagePaths": "Salvar o caminho da imagem dentro dos arquivos nfo.",
"LabelXbmcMetadataSaveImagePathsHelp": "Esta op\u00e7\u00e3o \u00e9 recomendada se possuir nomes de arquivos de imagem que n\u00e3o est\u00e3o de acordo com as recomenda\u00e7\u00f5es do Xbmc.",
"LabelXbmcMetadataEnablePathSubstitution": "Ativar substitui\u00e7\u00e3o de caminho",
"LabelXbmcMetadataEnablePathSubstitutionHelp": "Ativa a substitui\u00e7\u00e3o do caminho da imagem usando as configura\u00e7\u00f5es de suvbstitui\u00e7\u00e3o de caminho do servidor.",
"LabelXbmcMetadataEnablePathSubstitutionHelp": "Ativa a substitui\u00e7\u00e3o do caminho da imagem usando as configura\u00e7\u00f5es de substitui\u00e7\u00e3o de caminho do servidor.",
"LabelXbmcMetadataEnablePathSubstitutionHelp2": "Ver substitui\u00e7\u00e3o de caminho.",
"LabelGroupChannelsIntoViews": "Exibir os seguintes canais diretamente dentro de minhas visualiza\u00e7\u00f5es:",
"LabelGroupChannelsIntoViewsHelp": "Se ativados, estes canais ser\u00e3o exibidos imediatamente ao lado de outras visualiza\u00e7\u00f5es. Se desativado, eles ser\u00e3o exibidos dentro de uma visualiza\u00e7\u00e3o separada de Canais.",
@ -857,8 +859,8 @@
"TabBranding": "Marca",
"HeaderBrandingHelp": "Personalize a apar\u00eancia do Media Browser para as necessidades de seu grupo ou organiza\u00e7\u00e3o.",
"LabelLoginDisclaimer": "Aviso legal no login:",
"LabelLoginDisclaimerHelp": "Isto ser\u00e1 exibido na parte inferior da p\u00e1gina de login.",
"LabelAutomaticallyDonate": "Doar automaticamente esta quantidade a cada seis meses",
"LabelLoginDisclaimerHelp": "Este aviso ser\u00e1 exibido na parte inferior da p\u00e1gina de login.",
"LabelAutomaticallyDonate": "Doar automaticamente esta quantidade a cada m\u00eas",
"LabelAutomaticallyDonateHelp": "Voc\u00ea pode cancelar a qualquer momento atrav\u00e9s de sua conta do PayPal.",
"OptionList": "Lista",
"TabDashboard": "Painel",
@ -983,8 +985,8 @@
"MessageApplicationUpdated": "O Servidor Media Browser foi atualizado",
"AuthenticationSucceededWithUserName": "{0} se autenticou com sucesso",
"FailedLoginAttemptWithUserName": "Falha em tentativa de login de {0}",
"UserStartedPlayingItemWithValues": "{0} come\u00e7ou a executar {1}",
"UserStoppedPlayingItemWithValues": "{0} parou de executar {1}",
"UserStartedPlayingItemWithValues": "{0} come\u00e7ou a reproduzir {1}",
"UserStoppedPlayingItemWithValues": "{0} parou de reproduzir {1}",
"AppDeviceValues": "App: {0}, Dispositivo: {1}",
"ProviderValue": "Provedor: {0}",
"LabelChannelDownloadSizeLimit": "Limite do tamanho para download (GB):",

View file

@ -4,7 +4,9 @@
"LabelVisitCommunity": "Visitar a Comunidade",
"HeaderLocalAccess": "Local Access",
"LabelGithubWiki": "Wiki do Github",
"HeaderViewOrder": "View Order",
"LabelSwagger": "Swagger",
"LabelSelectUserViewOrder": "Choose the order your views will be displayed in within Media Browser apps",
"LabelStandard": "Padr\u00e3o",
"LabelViewApiDocumentation": "Ver Documenta\u00e7\u00e3o da API",
"LabelBrowseLibrary": "Navegar pela Biblioteca",
@ -858,7 +860,7 @@
"HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
"LabelLoginDisclaimer": "Login disclaimer:",
"LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
"LabelAutomaticallyDonate": "Automatically donate this amount every six months",
"LabelAutomaticallyDonate": "Automatically donate this amount every month",
"LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
"OptionList": "List",
"TabDashboard": "Dashboard",

View file

@ -4,7 +4,9 @@
"LabelVisitCommunity": "\u041f\u043e\u0441\u0435\u0449\u0435\u043d\u0438\u0435 \u0421\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430",
"HeaderLocalAccess": "\u041b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f",
"LabelGithubWiki": "\u0412\u0438\u043a\u0438 \u043d\u0430 Github",
"HeaderViewOrder": "\u041f\u043e\u0440\u044f\u0434\u043e\u043a \u0430\u0441\u043f\u0435\u043a\u0442\u043e\u0432",
"LabelSwagger": "\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 Swagger",
"LabelSelectUserViewOrder": "\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u043f\u043e\u0440\u044f\u0434\u043e\u043a, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u041c\u043e\u0438 \u0430\u0441\u043f\u0435\u043a\u0442\u044b \u0431\u0443\u0434\u0443\u0442 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 Media Browser",
"LabelStandard": "\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442",
"LabelViewApiDocumentation": "\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e API",
"LabelBrowseLibrary": "\u041e\u0431\u0437\u043e\u0440 \u041c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0438",
@ -49,7 +51,7 @@
"LabelSaveLocalMetadata": "\u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0438 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u0432\u043d\u0443\u0442\u0440\u044c \u043c\u0435\u0434\u0438\u0430\u043f\u0430\u043f\u043e\u043a",
"LabelSaveLocalMetadataHelp": "\u041f\u0440\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u0439 \u0438 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432\u043d\u0443\u0442\u0440\u044c \u043c\u0435\u0434\u0438\u0430\u043f\u0430\u043f\u043e\u043a, \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u0432 \u0442\u0430\u043a\u043e\u043c \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0438, \u0433\u0434\u0435 \u0438\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043b\u0435\u0433\u043a\u043e \u043f\u0440\u0430\u0432\u0438\u0442\u044c.",
"LabelDownloadInternetMetadata": "\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0438 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430",
"LabelDownloadInternetMetadataHelp": "\u0414\u043b\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0445 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u0439 \u043e \u043d\u043e\u0441\u0438\u0442\u0435\u043b\u0435 \u0432 Media Browser.",
"LabelDownloadInternetMetadataHelp": "\u0414\u043b\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0445 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u043c\u0435\u0434\u0438\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Media Browser.",
"TabPreferences": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438",
"TabPassword": "\u041f\u0430\u0440\u043e\u043b\u044c",
"TabLibraryAccess": "\u0414\u043e\u0441\u0442\u0443\u043f \u043a \u043c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0435",
@ -58,7 +60,7 @@
"TabMetadata": "\u041c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435",
"TabImages": "\u0420\u0438\u0441\u0443\u043d\u043a\u0438",
"TabNotifications": "\u0423\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f",
"TabCollectionTitles": "\u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f",
"TabCollectionTitles": "\u041f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f",
"LabelDisplayMissingEpisodesWithinSeasons": "\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0435 \u044d\u043f\u0438\u0437\u043e\u0434\u044b \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0435\u0437\u043e\u043d\u043e\u0432",
"LabelUnairedMissingEpisodesWithinSeasons": "\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u044b\u0435 \u044d\u043f\u0438\u0437\u043e\u0434\u044b \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0435\u0437\u043e\u043d\u043e\u0432",
"HeaderVideoPlaybackSettings": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0432\u0438\u0434\u0435\u043e",
@ -94,10 +96,10 @@
"ImageUploadAspectRatioHelp": "\u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c\u044b\u0435 \u043f\u0440\u043e\u043f\u043e\u0440\u0446\u0438\u0438 - 1:1. \u0422\u043e\u043b\u044c\u043a\u043e JPG\/PNG.",
"MessageNothingHere": "\u0417\u0434\u0435\u0441\u044c \u043d\u0435\u0442 \u043d\u0438\u0447\u0435\u0433\u043e.",
"MessagePleaseEnsureInternetMetadata": "\u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430.",
"TabSuggested": "\u041f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f",
"TabSuggested": "\u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u043c\u044b\u0435",
"TabLatest": "\u041d\u043e\u0432\u0438\u043d\u043a\u0438",
"TabUpcoming": "\u041e\u0436\u0438\u0434\u0430\u0435\u043c\u044b\u0435",
"TabShows": "\u0421\u0435\u0440\u0438\u0430\u043b\u044b",
"TabShows": "\u0426\u0438\u043a\u043b\u044b",
"TabEpisodes": "\u042d\u043f\u0438\u0437\u043e\u0434\u044b",
"TabGenres": "\u0416\u0430\u043d\u0440\u044b",
"TabPeople": "\u041b\u044e\u0434\u0438",
@ -114,8 +116,8 @@
"OptionWriters": "\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0441\u0442\u044b",
"OptionProducers": "\u041f\u0440\u043e\u0434\u044e\u0441\u0435\u0440\u044b",
"HeaderResume": "\u0412\u043e\u0437\u043e\u0431\u043d\u043e\u0432\u0438\u043c\u044b\u0435",
"HeaderNextUp": "\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u044f",
"NoNextUpItemsMessage": "\u041d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e. \u041d\u0430\u0447\u043d\u0438\u0442\u0435 \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0441\u0432\u043e\u0438 \u0441\u0435\u0440\u0438\u0430\u043b\u044b!",
"HeaderNextUp": "\u041e\u0447\u0435\u0440\u0435\u0434\u043d\u044b\u0435",
"NoNextUpItemsMessage": "\u041d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e. \u041d\u0430\u0447\u043d\u0438\u0442\u0435 \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0441\u0432\u043e\u0438 \u0446\u0438\u043a\u043b\u044b!",
"HeaderLatestEpisodes": "\u041d\u043e\u0432\u0438\u043d\u043a\u0438 \u044d\u043f\u0438\u0437\u043e\u0434\u043e\u0432",
"HeaderPersonTypes": "\u0422\u0438\u043f\u044b \u043b\u044e\u0434\u0435\u0439:",
"TabSongs": "\u041c\u0435\u043b\u043e\u0434\u0438\u0438",
@ -225,7 +227,7 @@
"LabelName": "\u0418\u043c\u044f:",
"OptionAllowUserToManageServer": "\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c",
"HeaderFeatureAccess": "\u0414\u043e\u0441\u0442\u0443\u043f \u043a \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438",
"OptionAllowMediaPlayback": "\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043c\u0435\u0434\u0438\u0430\u0444\u0430\u0439\u043b\u043e\u0432",
"OptionAllowMediaPlayback": "\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043c\u0435\u0434\u0438\u0430\u0434\u0430\u043d\u043d\u044b\u0445",
"OptionAllowBrowsingLiveTv": "\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u043e\u0431\u0437\u043e\u0440 \u044d\u0444\u0438\u0440\u043d\u043e\u0433\u043e \u0442\u0432",
"OptionAllowDeleteLibraryContent": "\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f \u043c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0438",
"OptionAllowManageLiveTv": "\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0437\u0430\u043f\u0438\u0441\u044c\u044e \u044d\u0444\u0438\u0440\u043d\u043e\u0433\u043e \u0442\u0432",
@ -273,7 +275,7 @@
"TabOthers": "\u0414\u0440\u0443\u0433\u0438\u0435",
"HeaderExtractChapterImagesFor": "\u0418\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0435 \u0440\u0438\u0441\u0443\u043d\u043a\u043e\u0432 \u0441\u0446\u0435\u043d \u0434\u043b\u044f:",
"OptionMovies": "\u0424\u0438\u043b\u044c\u043c\u044b",
"OptionEpisodes": "\u042d\u043f\u0438\u0437\u043e\u0434\u044b",
"OptionEpisodes": "\u0422\u0412 \u044d\u043f\u0438\u0437\u043e\u0434\u044b",
"OptionOtherVideos": "\u0414\u0440\u0443\u0433\u0438\u0435 \u0432\u0438\u0434\u0435\u043e\u0444\u0430\u0439\u043b\u044b",
"TitleMetadata": "\u041c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435",
"LabelAutomaticUpdatesFanart": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0430\u0432\u0442\u043e\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0441 FanArt.tv",
@ -286,7 +288,7 @@
"LabelMetadataDownloadLanguage": "\u0412\u044b\u0431\u043e\u0440 \u044f\u0437\u044b\u043a\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438:",
"ButtonAutoScroll": "\u0410\u0432\u0442\u043e\u043f\u0440\u043e\u043a\u0440\u0443\u0442\u043a\u0430",
"LabelImageSavingConvention": "\u0424\u043e\u0440\u043c\u0430\u0442 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0440\u0438\u0441\u0443\u043d\u043a\u043e\u0432:",
"LabelImageSavingConventionHelp": "\u0412 Media Browser \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u044e\u0442\u0441\u044f \u0440\u0438\u0441\u0443\u043d\u043a\u0438 \u0438\u043c\u0435\u044e\u0449\u0438\u0435\u0441\u044f \u0432 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0451\u043d\u043d\u044b\u0445 \u043c\u0435\u0434\u0438\u0430\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445. \u0412\u044b\u0431\u0438\u0440\u0430\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432.",
"LabelImageSavingConventionHelp": "\u0412 Media Browser \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u044e\u0442\u0441\u044f \u0440\u0438\u0441\u0443\u043d\u043a\u0438 \u0438\u043c\u0435\u044e\u0449\u0438\u0435\u0441\u044f \u0432 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0451\u043d\u043d\u044b\u0445 \u043c\u0443\u043b\u044c\u0442\u0438\u043c\u0435\u0434\u0438\u0439\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445. \u0412\u044b\u0431\u0438\u0440\u0430\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432.",
"OptionImageSavingCompatible": "\u0421\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b\u0439 - Media Browser\/XBMC\/Plex",
"OptionImageSavingStandard": "\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 - MB2",
"ButtonSignIn": "\u0412\u043e\u0439\u0442\u0438",
@ -302,7 +304,7 @@
"HeaderChannels": "\u041a\u0430\u043d\u0430\u043b\u044b",
"TabRecordings": "\u0417\u0430\u043f\u0438\u0441\u0438",
"TabScheduled": "\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044b\u0435",
"TabSeries": "\u0421\u0435\u0440\u0438\u0438",
"TabSeries": "\u0421\u0435\u0440\u0438\u0430\u043b\u044b",
"TabFavorites": "\u0418\u0437\u0431\u0440\u0430\u043d\u043d\u043e\u0435",
"TabMyLibrary": "\u041c\u043e\u044f \u043c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0430",
"ButtonCancelRecording": "\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u044c",
@ -329,7 +331,7 @@
"ButtonRecord": "\u0417\u0430\u043f\u0438\u0441\u0430\u0442\u044c",
"ButtonDelete": "\u0423\u0434\u0430\u043b\u0438\u0442\u044c",
"ButtonRemove": "\u0418\u0437\u044a\u044f\u0442\u044c",
"OptionRecordSeries": "\u0417\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0435\u0440\u0438\u0438",
"OptionRecordSeries": "\u0417\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0435\u0440\u0438\u0430\u043b",
"HeaderDetails": "\u0414\u0435\u0442\u0430\u043b\u0438",
"TitleLiveTV": "\u0422\u0412 \u044d\u0444\u0438\u0440",
"LabelNumberOfGuideDays": "\u0427\u0438\u0441\u043b\u043e \u0434\u043d\u0435\u0439 \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0433\u0438\u0434\u0430:",
@ -339,7 +341,7 @@
"OptionAutomatic": "\u0410\u0432\u0442\u043e",
"LiveTvPluginRequired": "\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u043b\u0430\u0433\u0438\u043d-\u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a \u0443\u0441\u043b\u0443\u0433 \u044d\u0444\u0438\u0440\u043d\u043e\u0433\u043e \u0422\u0412 \u0434\u043b\u044f \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u044f.",
"LiveTvPluginRequiredHelp": "\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u043e\u0434\u0438\u043d \u0438\u0437 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, NextPVR \u0438\u043b\u0438 ServerWMC.",
"LabelCustomizeOptionsPerMediaType": "\u0410\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043b\u044f \u0442\u0438\u043f\u0430 \u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044f:",
"LabelCustomizeOptionsPerMediaType": "\u0410\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043b\u044f \u0442\u0438\u043f\u0430 \u043c\u0435\u0434\u0438\u0430\u0434\u0430\u043d\u043d\u044b\u0445:",
"OptionDownloadThumbImage": "\u0411\u0435\u0433\u0443\u043d\u043e\u043a",
"OptionDownloadMenuImage": "\u041c\u0435\u043d\u044e",
"OptionDownloadLogoImage": "\u041b\u043e\u0433\u043e\u0442\u0438\u043f",
@ -400,9 +402,9 @@
"HeaderAdditionalParts": "\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0447\u0430\u0441\u0442\u0438",
"ButtonSplitVersionsApart": "\u0420\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u0432\u0435\u0440\u0441\u0438\u0438 \u043f\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438",
"ButtonPlayTrailer": "\u0422\u0440\u0435\u0439\u043b\u0435\u0440",
"LabelMissing": "\u041f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043e",
"LabelMissing": "\u041d\u0435\u0442",
"LabelOffline": "\u0410\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u043e",
"PathSubstitutionHelp": "\u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\u043c \u043f\u0443\u0442\u0435\u0439 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u0443\u0442\u044c \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u043f\u0443\u0442\u044c, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0439 \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c. \u041f\u0440\u0438 \u043f\u0440\u044f\u043c\u043e\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u043a \u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044f\u043c \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435, \u0442\u0435 \u0441\u043c\u043e\u0433\u0443\u0442 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u0438\u0445 \u043f\u0440\u044f\u043c\u043e \u043f\u043e \u0441\u0435\u0442\u0438, \u043d\u0435 \u0442\u0440\u0430\u0442\u044f \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0434\u043b\u044f \u043f\u043e\u0442\u043e\u043a\u043e\u0432\u043e\u0439 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0438 \u043f\u0435\u0440\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438.",
"PathSubstitutionHelp": "\u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\u043c \u043f\u0443\u0442\u0435\u0439 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u0443\u0442\u044c \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u043f\u0443\u0442\u044c, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0439 \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c. \u041f\u0440\u0438 \u043f\u0440\u044f\u043c\u043e\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u043a \u043c\u0435\u0434\u0438\u0430\u0434\u0430\u043d\u043d\u044b\u043c \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435, \u0442\u0435 \u0441\u043c\u043e\u0433\u0443\u0442 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u0438\u0445 \u043f\u0440\u044f\u043c\u043e \u043f\u043e \u0441\u0435\u0442\u0438, \u043d\u0435 \u0442\u0440\u0430\u0442\u044f \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0434\u043b\u044f \u043f\u043e\u0442\u043e\u043a\u043e\u0432\u043e\u0439 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0438 \u043f\u0435\u0440\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438.",
"HeaderFrom": "\u041e\u0442\u043a\u0443\u0434\u0430",
"HeaderTo": "\u041a\u0443\u0434\u0430",
"LabelFrom": "\u041e\u0442\u043a\u0443\u0434\u0430:",
@ -428,8 +430,8 @@
"OptionEnableDebugTranscodingLoggingHelp": "\u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0431\u0443\u0434\u0443\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0444\u0430\u0439\u043b\u044b \u0416\u0443\u0440\u043d\u0430\u043b\u0430 \u043e\u0447\u0435\u043d\u044c \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043e\u0431\u044a\u0451\u043c\u0430, \u0430 \u044d\u0442\u043e \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0441\u0438\u043b\u0443 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043d\u0435\u043f\u043e\u043b\u0430\u0434\u043e\u043a.",
"OptionUpscaling": "\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c \u0432\u0438\u0434\u0435\u043e \u0441 \u043f\u043e\u0432\u044b\u0448\u0430\u044e\u0448\u0438\u043c \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c",
"OptionUpscalingHelp": "\u0412 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043f\u0440\u043e\u0438\u0437\u043e\u0439\u0434\u0451\u0442 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u0432\u0438\u0434\u0435\u043e, \u043d\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u0441\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440.",
"EditCollectionItemsHelp": "\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0438\u043b\u0438 \u0438\u0437\u044b\u043c\u0430\u044e\u0442\u0441\u044f \u043b\u044e\u0431\u044b\u0435 \u0444\u0438\u043b\u044c\u043c\u044b, \u0441\u0435\u0440\u0438\u0430\u043b\u044b, \u0430\u043b\u044c\u0431\u043e\u043c\u044b, \u043a\u043d\u0438\u0433\u0438 \u0438\u043b\u0438 \u0438\u0433\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0438 \u0434\u0430\u043d\u043d\u043e\u0439 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438.",
"HeaderAddTitles": "\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f",
"EditCollectionItemsHelp": "\u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0438\u043b\u0438 \u0438\u0437\u044b\u043c\u0438\u0442\u0435 \u043b\u044e\u0431\u044b\u0435 \u0444\u0438\u043b\u044c\u043c\u044b, \u0441\u0435\u0440\u0438\u0430\u043b\u044b, \u0430\u043b\u044c\u0431\u043e\u043c\u044b, \u043a\u043d\u0438\u0433\u0438 \u0438\u043b\u0438 \u0438\u0433\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0445\u043e\u0442\u0438\u0442\u0435 \u0441\u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0438 \u0434\u0430\u043d\u043d\u043e\u0439 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438.",
"HeaderAddTitles": "\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0439",
"LabelEnableDlnaPlayTo": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e DLNA \u0412\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u041d\u0430",
"LabelEnableDlnaPlayToHelp": "Media Browser \u0438\u043c\u0435\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0432\u0430\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0435\u0442\u0438 \u0438 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0438\u043c\u0438.",
"LabelEnableDlnaDebugLogging": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u044b\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 DLNA \u0432 \u0416\u0443\u0440\u043d\u0430\u043b\u0435",
@ -470,9 +472,9 @@
"LabelMinResumePercentage": "\u041c\u0438\u043d. \u0441\u043e\u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0432\u043e\u0437\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f, %:",
"LabelMaxResumePercentage": "\u041c\u0430\u043a\u0441. \u0441\u043e\u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0432\u043e\u0437\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f, %:",
"LabelMinResumeDuration": "\u041c\u0438\u043d. \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0434\u043b\u044f \u0432\u043e\u0437\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f, \u0441:",
"LabelMinResumePercentageHelp": "\u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0447\u0438\u0442\u0430\u044e\u0442\u0441\u044f \u043d\u0435 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u043c\u0438, \u043f\u0440\u0438 \u0441\u0442\u043e\u043f\u0435 \u0434\u043e \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430",
"LabelMaxResumePercentageHelp": "\u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0447\u0438\u0442\u0430\u044e\u0442\u0441\u044f \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u043c\u0438 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e, \u043f\u0440\u0438 \u0441\u0442\u043e\u043f\u0435 \u043f\u043e\u0441\u043b\u0435 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430",
"LabelMinResumeDurationHelp": "\u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u0432\u043e\u0437\u043e\u0431\u043d\u043e\u0432\u0438\u043c\u044b \u043f\u0440\u0438 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043c\u0435\u043d\u0435\u0435 \u0434\u0430\u043d\u043d\u043e\u0433\u043e",
"LabelMinResumePercentageHelp": "\u041f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0441\u0447\u0438\u0442\u0430\u044e\u0442\u0441\u044f \u043d\u0435 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u043c\u0438, \u043f\u0440\u0438 \u0441\u0442\u043e\u043f\u0435 \u0434\u043e \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430",
"LabelMaxResumePercentageHelp": "\u041f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0441\u0447\u0438\u0442\u0430\u044e\u0442\u0441\u044f \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u043c\u0438 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e, \u043f\u0440\u0438 \u0441\u0442\u043e\u043f\u0435 \u043f\u043e\u0441\u043b\u0435 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430",
"LabelMinResumeDurationHelp": "\u041f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u0432\u043e\u0437\u043e\u0431\u043d\u043e\u0432\u0438\u043c\u044b \u043f\u0440\u0438 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043c\u0435\u043d\u0435\u0435 \u0434\u0430\u043d\u043d\u043e\u0433\u043e",
"TitleAutoOrganize": "\u0410\u0432\u0442\u043e\u0440\u0435\u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f",
"TabActivityLog": "\u0416\u0443\u0440\u043d\u0430\u043b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439",
"HeaderName": "\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435",
@ -643,7 +645,7 @@
"ButtonVolumeUp": "\u0413\u0440\u043e\u043c\u043a\u043e\u0441\u0442\u044c \u0432\u044b\u0448\u0435",
"ButtonVolumeDown": "\u0413\u0440\u043e\u043c\u043a\u043e\u0441\u0442\u044c \u043d\u0438\u0436\u0435",
"ButtonMute": "\u041e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0437\u0432\u0443\u043a",
"HeaderLatestMedia": "\u041d\u043e\u0432\u0438\u043d\u043a\u0438 \u043c\u0435\u0434\u0438\u0430\u0444\u0430\u0439\u043b\u043e\u0432",
"HeaderLatestMedia": "\u041d\u043e\u0432\u0438\u043d\u043a\u0438 \u043c\u0435\u0434\u0438\u0430\u0434\u0430\u043d\u043d\u044b\u0445",
"OptionSpecialFeatures": "\u0414\u043e\u043f. \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b",
"HeaderCollections": "\u041a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438",
"LabelProfileCodecsHelp": "\u041e\u0442\u0434\u0435\u043b\u044f\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0437\u0430\u043f\u044f\u0442\u043e\u0439. \u041c\u043e\u0436\u043d\u043e \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u0443\u0441\u0442\u044b\u043c, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043a\u043e\u0434\u0435\u043a\u043e\u0432.",
@ -657,9 +659,9 @@
"HeaderDirectPlayProfile": "\u041f\u0440\u043e\u0444\u0438\u043b\u044c \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f",
"HeaderTranscodingProfile": "\u041f\u0440\u043e\u0444\u0438\u043b\u044c \u043f\u0435\u0440\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438",
"HeaderCodecProfile": "\u041f\u0440\u043e\u0444\u0438\u043b\u044c \u043a\u043e\u0434\u0435\u043a\u043e\u0432",
"HeaderCodecProfileHelp": "\u041f\u0440\u043e\u0444\u0438\u043b\u0438 \u043a\u043e\u0434\u0435\u043a\u043e\u0432 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043d\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043f\u0440\u0438 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u043a\u043e\u0434\u0435\u043a\u043e\u0432. \u0415\u0441\u043b\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435, \u0442\u043e \u043c\u0435\u0434\u0438\u0430\u0444\u0430\u0439\u043b \u043f\u0435\u0440\u0435\u043a\u043e\u0434\u0438\u0440\u0443\u0435\u0442\u0441\u044f, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u043a\u043e\u0434\u0435\u043a \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d \u0434\u043b\u044f \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f.",
"HeaderCodecProfileHelp": "\u041f\u0440\u043e\u0444\u0438\u043b\u0438 \u043a\u043e\u0434\u0435\u043a\u043e\u0432 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043d\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043f\u0440\u0438 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u043a\u043e\u0434\u0435\u043a\u043e\u0432. \u0415\u0441\u043b\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435, \u0442\u043e \u043c\u0435\u0434\u0438\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043a\u043e\u0434\u0438\u0440\u0443\u044e\u0442\u0441\u044f, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u043a\u043e\u0434\u0435\u043a \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d \u0434\u043b\u044f \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f.",
"HeaderContainerProfile": "\u041f\u0440\u043e\u0444\u0438\u043b\u044c \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430",
"HeaderContainerProfileHelp": "\u041f\u0440\u043e\u0444\u0438\u043b\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043d\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043f\u0440\u0438 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u0432. \u0415\u0441\u043b\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435, \u0442\u043e \u043c\u0435\u0434\u0438\u0430\u0444\u0430\u0439\u043b \u043f\u0435\u0440\u0435\u043a\u043e\u0434\u0438\u0440\u0443\u0435\u0442\u0441\u044f, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0444\u043e\u0440\u043c\u0430\u0442 \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d \u0434\u043b\u044f \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f.",
"HeaderContainerProfileHelp": "\u041f\u0440\u043e\u0444\u0438\u043b\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043d\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043f\u0440\u0438 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u0432. \u0415\u0441\u043b\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435, \u0442\u043e \u043c\u0435\u0434\u0438\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043a\u043e\u0434\u0438\u0440\u0443\u044e\u0442\u0441\u044f, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0444\u043e\u0440\u043c\u0430\u0442 \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d \u0434\u043b\u044f \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f.",
"OptionProfileVideo": "\u0412\u0438\u0434\u0435\u043e",
"OptionProfileAudio": "\u0410\u0443\u0434\u0438\u043e",
"OptionProfileVideoAudio": "\u0412\u0438\u0434\u0435\u043e \u0410\u0443\u0434\u0438\u043e",
@ -670,7 +672,7 @@
"OptionPlainStorageFoldersHelp": "\u041f\u0440\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438, \u0432\u0441\u0435 \u043f\u0430\u043f\u043a\u0438 \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u044b \u0432 DIDL \u043a\u0430\u043a \"object.container.storageFolder\", \u0432\u043c\u0435\u0441\u0442\u043e \u0431\u043e\u043b\u0435\u0435 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u043e\u0433\u043e \u0442\u0438\u043f\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \"object.container.person.musicArtist\".",
"OptionPlainVideoItems": "\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c \u0432\u0441\u0435 \u0432\u0438\u0434\u0435\u043e\u0444\u0430\u0439\u043b\u044b, \u043a\u0430\u043a \u043e\u0431\u044b\u0447\u043d\u044b\u0435 \u0432\u0438\u0434\u0435\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b",
"OptionPlainVideoItemsHelp": "\u041f\u0440\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438, \u0432\u0441\u0435 \u0432\u0438\u0434\u0435\u043e\u0444\u0430\u0439\u043b\u044b \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u044b \u0432 DIDL \u043a\u0430\u043a \"object.item.videoItem\", \u0432\u043c\u0435\u0441\u0442\u043e \u0431\u043e\u043b\u0435\u0435 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u043e\u0433\u043e \u0442\u0438\u043f\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \"object.item.videoItem.movie\".",
"LabelSupportedMediaTypes": "\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u0442\u0438\u043f\u044b \u043d\u043e\u0441\u0438\u0442\u0435\u043b\u0435\u0439:",
"LabelSupportedMediaTypes": "\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u0442\u0438\u043f\u044b \u043c\u0435\u0434\u0438\u0430\u0434\u0430\u043d\u043d\u044b\u0445:",
"TabIdentification": "\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f",
"TabDirectPlay": "\u041f\u0440\u044f\u043c\u043e\u0435 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435",
"TabContainers": "\u041a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b",
@ -715,7 +717,7 @@
"HeaderIdentificationCriteriaHelp": "\u0412\u0432\u0435\u0434\u0438\u0442\u0435, \u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435, \u043e\u0434\u0438\u043d \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u0439.",
"HeaderDirectPlayProfileHelp": "\u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u043f\u0440\u043e\u0444\u0438\u043b\u0438 \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f, \u0447\u0442\u043e\u0431\u044b \u0443\u043a\u0430\u0437\u0430\u0442\u044c, \u043a\u0430\u043a\u0438\u0435 \u0444\u043e\u0440\u043c\u0430\u0442\u044b \u043c\u043e\u0433\u0443\u0442 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e.",
"HeaderTranscodingProfileHelp": "\u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u043f\u0440\u043e\u0444\u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438, \u0447\u0442\u043e\u0431\u044b \u0443\u043a\u0430\u0437\u0430\u0442\u044c, \u043a\u0430\u043a\u0438\u0435 \u0444\u043e\u0440\u043c\u0430\u0442\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f, \u043a\u043e\u0433\u0434\u0430 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0430.",
"HeaderResponseProfileHelp": "\u041f\u0440\u043e\u0444\u0438\u043b\u0438 \u043e\u0442\u043a\u043b\u0438\u043a\u043e\u0432 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0434\u043b\u044f \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438, \u043f\u043e\u0441\u044b\u043b\u0430\u0435\u043c\u043e\u0439 \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043f\u0440\u0438 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u0438\u0434\u043e\u0432 \u043d\u043e\u0441\u0438\u0442\u0435\u043b\u0435\u0439.",
"HeaderResponseProfileHelp": "\u041f\u0440\u043e\u0444\u0438\u043b\u0438 \u043e\u0442\u043a\u043b\u0438\u043a\u043e\u0432 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0434\u043b\u044f \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438, \u043f\u043e\u0441\u044b\u043b\u0430\u0435\u043c\u043e\u0439 \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043f\u0440\u0438 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u0438\u0434\u043e\u0432 \u043c\u0435\u0434\u0438\u0430\u0434\u0430\u043d\u043d\u044b\u0445.",
"LabelXDlnaCap": "\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u0430 X-Dlna:",
"LabelXDlnaCapHelp": "\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 X_DLNACAP \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u0438\u043c\u0451\u043d urn:schemas-dlna-org:device-1-0",
"LabelXDlnaDoc": "\u0421\u0445\u0435\u043c\u0430 X-Dlna:",
@ -781,11 +783,11 @@
"LabelHomePageSection2": "\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 - \u0440\u0430\u0437\u0434\u0435\u043b 2:",
"LabelHomePageSection3": "\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 - \u0440\u0430\u0437\u0434\u0435\u043b 3:",
"LabelHomePageSection4": "\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 - \u0440\u0430\u0437\u0434\u0435\u043b 4:",
"OptionMyViewsButtons": "\u041c\u043e\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f (\u043a\u043d\u043e\u043f\u043a\u0438)",
"OptionMyViews": "\u041c\u043e\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f",
"OptionMyViewsSmall": "\u041c\u043e\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f (\u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u043e)",
"OptionMyViewsButtons": "\u041c\u043e\u0438 \u0430\u0441\u043f\u0435\u043a\u0442\u044b (\u043a\u043d\u043e\u043f\u043a\u0438)",
"OptionMyViews": "\u041c\u043e\u0438 \u0430\u0441\u043f\u0435\u043a\u0442\u044b",
"OptionMyViewsSmall": "\u041c\u043e\u0438 \u0430\u0441\u043f\u0435\u043a\u0442\u044b (\u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u043e)",
"OptionResumablemedia": "\u0412\u043e\u0437\u043e\u0431\u043d\u043e\u0432\u0438\u043c\u044b\u0435",
"OptionLatestMedia": "\u041d\u043e\u0432\u0438\u043d\u043a\u0438 \u043c\u0435\u0434\u0438\u0430\u0444\u0430\u0439\u043b\u043e\u0432",
"OptionLatestMedia": "\u041d\u043e\u0432\u0438\u043d\u043a\u0438 \u043c\u0435\u0434\u0438\u0430\u0434\u0430\u043d\u043d\u044b\u0445",
"OptionLatestChannelMedia": "\u041d\u043e\u0432\u0438\u043d\u043a\u0438 \u043a\u0430\u043d\u0430\u043b\u043e\u0432",
"HeaderLatestChannelItems": "\u041d\u043e\u0432\u0438\u043d\u043a\u0438 \u043a\u0430\u043d\u0430\u043b\u043e\u0432",
"OptionNone": "\u041d\u0438\u0447\u0435\u0433\u043e",
@ -798,8 +800,8 @@
"ButtonMarkRead": "\u041e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u043a\u0430\u043a \u043f\u0440\u043e\u0447\u0442\u0451\u043d\u043d\u043e\u0435",
"OptionDefaultSort": "\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f",
"OptionCommunityMostWatchedSort": "\u041d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u043c\u044b\u0435",
"TabNextUp": "\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u044f",
"MessageNoMovieSuggestionsAvailable": "\u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0444\u0438\u043b\u044c\u043c\u043e\u0432. \u041d\u0430\u0447\u043d\u0438\u0442\u0435 \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0438 \u043e\u0446\u0435\u043d\u0438\u0432\u0430\u0442\u044c \u0444\u0438\u043b\u044c\u043c\u044b, \u0438 \u0442\u043e\u0433\u0434\u0430 \u0432\u0435\u0440\u043d\u0438\u0442\u0435\u0441\u044c \u043d\u0430\u0437\u0430\u0434, \u0447\u0442\u043e\u0431\u044b \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0441\u0432\u043e\u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438.",
"TabNextUp": "\u041e\u0447\u0435\u0440\u0435\u0434\u043d\u044b\u0435",
"MessageNoMovieSuggestionsAvailable": "\u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u043c\u044b\u0435 \u0444\u0438\u043b\u044c\u043c\u044b \u043d\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b. \u041d\u0430\u0447\u043d\u0438\u0442\u0435 \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0438 \u043e\u0446\u0435\u043d\u0438\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u0444\u0438\u043b\u044c\u043c\u044b, \u0438 \u0442\u043e\u0433\u0434\u0430 \u0432\u0435\u0440\u043d\u0438\u0442\u0435\u0441\u044c \u043d\u0430\u0437\u0430\u0434, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438.",
"MessageNoCollectionsAvailable": "\u041a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u043c \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0438\u0437 \u0444\u0438\u043b\u044c\u043c\u043e\u0432, \u0441\u0435\u0440\u0438\u0430\u043b\u043e\u0432, \u0430\u043b\u044c\u0431\u043e\u043c\u043e\u0432 \u0438 \u0438\u0433\u0440. \u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 \"\u0421\u043e\u0437\u0434\u0430\u0442\u044c\", \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0447\u0430\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044e.",
"MessageNoPlaylistsAvailable": "\u0421\u043f\u0438\u0441\u043a\u0438 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u043f\u0438\u0441\u043a\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0437\u0430 \u0440\u0430\u0437. \u0427\u0442\u043e\u0431\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0432 \u0441\u043f\u0438\u0441\u043a\u0438 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f, \u0449\u0435\u043b\u043a\u043d\u0438\u0442\u0435 \u043f\u0440\u0430\u0432\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u043e\u0439 \u043c\u044b\u0448\u0438 \u0438\u043b\u0438 \u043a\u043e\u0441\u043d\u0438\u0442\u0435\u0441\u044c \u0438 \u0434\u0435\u0440\u0436\u0438\u0442\u0435, \u0437\u0430\u0442\u0435\u043c \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f.",
"MessageNoPlaylistItemsAvailable": "\u0414\u0430\u043d\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0432 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u043f\u0443\u0441\u0442.",
@ -826,9 +828,9 @@
"ViewTypeChannels": "\u041a\u0430\u043d\u0430\u043b\u044b",
"ViewTypeLiveTV": "\u0422\u0412 \u044d\u0444\u0438\u0440",
"HeaderOtherDisplaySettings": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f",
"HeaderMyViews": "\u041c\u043e\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f",
"LabelSelectFolderGroups": "\u0410\u0432\u0442\u043e\u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u043d\u0443\u0442\u0440\u044c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0439 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440: \u041a\u0438\u043d\u043e, \u041c\u0443\u0437\u044b\u043a\u0430 \u0438\u043b\u0438 \u0422\u0412) \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f \u0438\u0437 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u043f\u0430\u043f\u043e\u043a:",
"LabelSelectFolderGroupsHelp": "\u041f\u0430\u043f\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u043e\u0442\u043c\u0435\u0447\u0435\u043d\u044b, \u0431\u0443\u0434\u0443\u0442 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f \u043f\u043e \u043f\u0440\u0438\u0441\u0443\u0449\u0438\u043c \u0438\u043c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f\u043c.",
"HeaderMyViews": "\u041c\u043e\u0438 \u0430\u0441\u043f\u0435\u043a\u0442\u044b",
"LabelSelectFolderGroups": "\u0410\u0432\u0442\u043e\u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u043d\u0443\u0442\u0440\u044c \u0430\u0441\u043f\u0435\u043a\u0442\u043e\u0432 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440: \u041a\u0438\u043d\u043e, \u041c\u0443\u0437\u044b\u043a\u0430 \u0438\u043b\u0438 \u0422\u0412) \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f \u0438\u0437 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u043f\u0430\u043f\u043e\u043a:",
"LabelSelectFolderGroupsHelp": "\u041f\u0430\u043f\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u043e\u0442\u043c\u0435\u0447\u0435\u043d\u044b, \u0431\u0443\u0434\u0443\u0442 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u043f\u0440\u0438\u0441\u0443\u0449\u0438\u043c \u0438\u043c \u0430\u0441\u043f\u0435\u043a\u0442\u0430\u043c.",
"OptionDisplayAdultContent": "\u041e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \"\u0434\u043b\u044f \u0432\u0437\u0440\u043e\u0441\u043b\u044b\u0445\"",
"OptionLibraryFolders": "\u041c\u0435\u0434\u0438\u0430\u043f\u0430\u043f\u043a\u0438",
"TitleRemoteControl": "\u0423\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435",
@ -846,9 +848,9 @@
"LabelXbmcMetadataEnablePathSubstitution": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043f\u0443\u0442\u0435\u0439",
"LabelXbmcMetadataEnablePathSubstitutionHelp": "\u0412\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043f\u0443\u0442\u0435\u0439 \u043a \u0440\u0438\u0441\u0443\u043d\u043a\u0430\u043c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043e\u043a \u043f\u0443\u0442\u0435\u0439 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435.",
"LabelXbmcMetadataEnablePathSubstitutionHelp2": "\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043f\u0443\u0442\u0435\u0439.",
"LabelGroupChannelsIntoViews": "\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0441\u0440\u0435\u0434\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0439 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043a\u0430\u043d\u0430\u043b\u044b:",
"LabelGroupChannelsIntoViewsHelp": "\u041f\u0440\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438, \u0434\u0430\u043d\u043d\u044b\u0435 \u043a\u0430\u043d\u0430\u043b\u044b \u0431\u0443\u0434\u0443\u0442 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0441\u0440\u0435\u0434\u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0439. \u041f\u0440\u0438 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438, \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f \u0432\u043d\u0443\u0442\u0440\u0438 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u041a\u0430\u043d\u0430\u043b\u044b.",
"LabelDisplayCollectionsView": "\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0439, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u0444\u0438\u043b\u044c\u043c\u043e\u0432",
"LabelGroupChannelsIntoViews": "\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0441\u0440\u0435\u0434\u0438 \u043c\u043e\u0438\u0445 \u0430\u0441\u043f\u0435\u043a\u0442\u043e\u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043a\u0430\u043d\u0430\u043b\u044b:",
"LabelGroupChannelsIntoViewsHelp": "\u041f\u0440\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438, \u0434\u0430\u043d\u043d\u044b\u0435 \u043a\u0430\u043d\u0430\u043b\u044b \u0431\u0443\u0434\u0443\u0442 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0441\u0440\u0435\u0434\u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u0430\u0441\u043f\u0435\u043a\u0442\u043e\u0432. \u041f\u0440\u0438 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438, \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f \u0432\u043d\u0443\u0442\u0440\u0438 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0430\u0441\u043f\u0435\u043a\u0442\u0430 \u041a\u0430\u043d\u0430\u043b\u044b.",
"LabelDisplayCollectionsView": "\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c \u0430\u0441\u043f\u0435\u043a\u0442 \u041a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u0444\u0438\u043b\u044c\u043c\u043e\u0432",
"LabelXbmcMetadataEnableExtraThumbs": "\u041a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c extrafanart \u0432\u043d\u0443\u0442\u0440\u044c extrathumbs",
"LabelXbmcMetadataEnableExtraThumbsHelp": "\u041f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u0440\u0438\u0441\u0443\u043d\u043a\u043e\u0432, \u0438\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u044c extrafanart \u0438 extrathumbs \u0434\u043b\u044f \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u0441 \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u043e\u0439 Xbmc.",
"TabServices": "\u0421\u043b\u0443\u0436\u0431\u044b",
@ -858,7 +860,7 @@
"HeaderBrandingHelp": "\u0410\u0434\u0430\u043f\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0432\u0438\u0434 Media Browser \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u043f\u043e\u0442\u0440\u0435\u0431\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u0432\u0430\u0448\u0435\u0439 \u0433\u0440\u0443\u043f\u043f\u044b \u0438\u043b\u0438 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438.",
"LabelLoginDisclaimer": "\u041e\u0433\u043e\u0432\u043e\u0440\u043a\u0430 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0432\u0445\u043e\u0434\u0430:",
"LabelLoginDisclaimerHelp": "\u042d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f \u0432 \u043d\u0438\u0436\u043d\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0432\u0445\u043e\u0434\u0430 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443.",
"LabelAutomaticallyDonate": "\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0436\u0435\u0440\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u0443\u044e \u0441\u0443\u043c\u043c\u0443 \u043a\u0430\u0436\u0434\u044b\u0435 \u0448\u0435\u0441\u0442\u044c \u043c\u0435\u0441\u044f\u0446\u0435\u0432",
"LabelAutomaticallyDonate": "\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0436\u0435\u0440\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u0443\u044e \u0441\u0443\u043c\u043c\u0443 \u043a\u0430\u0436\u0434\u044b\u0435 \u043c\u0435\u0441\u044f\u0446",
"LabelAutomaticallyDonateHelp": "\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0432 \u043b\u044e\u0431\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u044d\u0442\u043e \u0447\u0435\u0440\u0435\u0437 \u0441\u0432\u043e\u044e \u0443\u0447\u0435\u0442\u043d\u0443\u044e \u0437\u0430\u043f\u0438\u0441\u044c PayPal.",
"OptionList": "\u0421\u043f\u0438\u0441\u043e\u043a",
"TabDashboard": "\u0418\u043d\u0444\u043e\u043f\u0430\u043d\u0435\u043b\u044c",
@ -963,28 +965,28 @@
"PluginInstalledWithName": "{0} - \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e",
"PluginUpdatedWithName": "{0} - \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u043e",
"PluginUninstalledWithName": "{0} - \u0443\u0434\u0430\u043b\u0435\u043d\u043e",
"ScheduledTaskFailedWithName": "{0} - \u0431\u044b\u043b\u043e \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u043e",
"ScheduledTaskFailedWithName": "{0} - \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u043e",
"ItemAddedWithName": "{0} (\u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u0432 \u043c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0443)",
"ItemRemovedWithName": "{0} ( \u0438\u0437\u044a\u044f\u0442\u043e \u0438\u0437 \u043c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0438)",
"DeviceOnlineWithName": "{0} - \u0432 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u043d\u043e\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438",
"UserOnlineFromDevice": "{0} - \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 {1}",
"DeviceOfflineWithName": "{0} - \u043f\u0440\u0435\u0440\u0432\u0430\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435",
"UserOfflineFromDevice": "{0} - \u043f\u0440\u0435\u0440\u0432\u0430\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 {1}",
"SubtitlesDownloadedForItem": "\u0421\u0443\u0431\u0442\u0438\u0442\u0440\u044b \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u044b \u0434\u043b\u044f {0}",
"SubtitleDownloadFailureForItem": "\u0421\u0443\u0431\u0442\u0438\u0442\u0440\u044b \u0434\u043b\u044f {0} - \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u0430\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430",
"ItemRemovedWithName": "{0} (\u0438\u0437\u044a\u044f\u0442\u043e \u0438\u0437 \u043c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0438)",
"DeviceOnlineWithName": "{0} - \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e",
"UserOnlineFromDevice": "{0} - \u043f\u043e\u0434\u043a\u043b-\u0438\u0435 \u0441 {1} \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e",
"DeviceOfflineWithName": "{0} - \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u0435\u0440\u0432\u0430\u043d\u043e",
"UserOfflineFromDevice": "{0} - \u043f\u043e\u0434\u043a\u043b-\u0438\u0435 \u0441 {1} \u043f\u0440\u0435\u0440\u0432\u0430\u043d\u043e",
"SubtitlesDownloadedForItem": "\u0421\u0443\u0431\u0442\u0438\u0442\u0440\u044b \u0434\u043b\u044f {0} \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u043b\u0438\u0441\u044c",
"SubtitleDownloadFailureForItem": "\u0421\u0443\u0431\u0442\u0438\u0442\u0440\u044b \u0434\u043b\u044f {0} \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c",
"LabelRunningTimeValue": "\u0412\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f: {0}",
"LabelIpAddressValue": "IP \u0430\u0434\u0440\u0435\u0441: {0}",
"UserConfigurationUpdatedWithName": "\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0431\u044b\u043b\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u0434\u043b\u044f {0}",
"UserConfigurationUpdatedWithName": "\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f {0} \u0431\u044b\u043b\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0430",
"UserCreatedWithName": "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c {0} \u0431\u044b\u043b \u0441\u043e\u0437\u0434\u0430\u043d",
"UserPasswordChangedWithName": "\u041f\u0430\u0440\u043e\u043b\u044c \u0438\u0437\u043c\u0435\u043d\u0451\u043d \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f {0}",
"UserPasswordChangedWithName": "\u041f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f {0} \u0431\u044b\u043b \u0438\u0437\u043c\u0435\u043d\u0451\u043d",
"UserDeletedWithName": "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c {0} \u0431\u044b\u043b \u0443\u0434\u0430\u043b\u0451\u043d",
"MessageServerConfigurationUpdated": "\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0431\u044b\u043b\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0430",
"MessageNamedServerConfigurationUpdatedWithValue": "\u0420\u0430\u0437\u0434\u0435\u043b {0} \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0431\u044b\u043b \u043e\u0431\u043d\u043e\u0432\u043b\u0451\u043d",
"MessageNamedServerConfigurationUpdatedWithValue": "\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 (\u0440\u0430\u0437\u0434\u0435\u043b {0}) \u0431\u044b\u043b\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0430",
"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",
"FailedLoginAttemptWithUserName": "\u041d\u0435\u0443\u0434\u0430\u0447\u043d\u0430\u044f \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u0432\u0445\u043e\u0434\u0430 \u0447\u0435\u0440\u0435\u0437 {0}",
"UserStartedPlayingItemWithValues": "{0} - \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 {1}",
"UserStoppedPlayingItemWithValues": "{0} - \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 {1}",
"FailedLoginAttemptWithUserName": "{0} - \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u0432\u0445\u043e\u0434\u0430 \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u0430",
"UserStartedPlayingItemWithValues": "{0} - \u0432\u043e\u0441\u043f\u0440-\u0438\u0435 \u00ab{1}\u00bb \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043e",
"UserStoppedPlayingItemWithValues": "{0} - \u0432\u043e\u0441\u043f\u0440-\u0438\u0435 \u00ab{1}\u00bb \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e",
"AppDeviceValues": "\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435: {0}, \u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e: {1}",
"ProviderValue": "\u041f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a: {0}",
"LabelChannelDownloadSizeLimit": "\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 (GB):",
@ -996,7 +998,7 @@
"OptionOthers": "\u0414\u0440\u0443\u0433\u0438\u0435",
"HeaderDownloadPeopleMetadataForHelp": "\u0412\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043e\u0431\u043e\u0433\u0430\u0449\u0430\u0435\u0442 \u044d\u043a\u0440\u0430\u043d\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e, \u043d\u043e \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435, \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0438 \u0437\u0430\u043c\u0435\u0434\u043b\u0438\u0442\u0441\u044f.",
"ViewTypeFolders": "\u041f\u0430\u043f\u043a\u0438",
"LabelDisplayFoldersView": "\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u043f\u043e\u043a, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043e\u0431\u044b\u0447\u043d\u044b\u0435 \u043c\u0435\u0434\u0438\u0430\u043f\u0430\u043f\u043a\u0438",
"LabelDisplayFoldersView": "\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c \u0430\u0441\u043f\u0435\u043a\u0442 \u041f\u0430\u043f\u043a\u0438, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043e\u0431\u044b\u0447\u043d\u044b\u0435 \u043c\u0435\u0434\u0438\u0430\u043f\u0430\u043f\u043a\u0438",
"ViewTypeLiveTvRecordingGroups": "\u0417\u0430\u043f\u0438\u0441\u0438",
"ViewTypeLiveTvChannels": "\u041a\u0430\u043d\u0430\u043b\u044b",
"LabelAllowLocalAccessWithoutPassword": "\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u0431\u0435\u0437 \u043f\u0430\u0440\u043e\u043b\u044f",

View file

@ -179,6 +179,8 @@
"TabMovies": "Movies",
"TabStudios": "Studios",
"TabTrailers": "Trailers",
"LabelArtists": "Artists:",
"LabelArtistsHelp": "Separate multiple using ;",
"HeaderLatestMovies": "Latest Movies",
"HeaderLatestTrailers": "Latest Trailers",
"OptionHasSpecialFeatures": "Special Features",
@ -233,7 +235,6 @@
"OptionIsSD": "SD",
"OptionMetascore": "Metascore",
"ButtonSelect": "Select",
"ButtonSearch": "Search",
"ButtonGroupVersions": "Group Versions",
"ButtonAddToCollection": "Add to Collection",
"PismoMessage": "Utilizing Pismo File Mount through a donated license.",
@ -314,6 +315,8 @@
"TabStatus": "Status",
"TabSettings": "Settings",
"ButtonRefreshGuideData": "Refresh Guide Data",
"ButtonRefresh": "Refresh",
"ButtonAdvancedRefresh": "Advanced Refresh",
"OptionPriority": "Priority",
"OptionRecordOnAllChannels": "Record program on all channels",
"OptionRecordAnytime": "Record program at any time",
@ -656,6 +659,8 @@
"LabelProfileContainersHelp": "Separated by comma. This can be left empty to apply to all containers.",
"HeaderResponseProfile": "Response Profile",
"LabelType": "Type:",
"LabelPersonRole": "Role:",
"LabelPersonRoleHelp": "Role is generally only applicable to actors.",
"LabelProfileContainer": "Container:",
"LabelProfileVideoCodecs": "Video codecs:",
"LabelProfileAudioCodecs": "Audio codecs:",
@ -907,8 +912,11 @@
"TabFilter": "Filter",
"ButtonView": "View",
"LabelPageSize": "Item limit:",
"LabelPath": "Path:",
"LabelView": "View:",
"TabUsers": "Users",
"LabelSortName": "Sort name:",
"LabelDateAdded": "Date added:",
"HeaderFeatures": "Features",
"HeaderAdvanced": "Advanced",
"ButtonSync": "Sync",
@ -1013,12 +1021,84 @@
"HeaderDownloadPeopleMetadataForHelp": "Enabling additional options will provide more on-screen information but will result in slower library scans.",
"ViewTypeFolders": "Folders",
"LabelDisplayFoldersView": "Display a folders view to show plain media folders",
"ViewTypeLiveTvRecordingGroups": "Recordings",
"ViewTypeLiveTvRecordingGroups": "Recordings",
"ViewTypeLiveTvChannels": "Channels",
"LabelAllowLocalAccessWithoutPassword": "Allow local access without a password",
"LabelAllowLocalAccessWithoutPasswordHelp": "When enabled, a password will not be required when signing in from within your home network.",
"HeaderPassword": "Password",
"HeaderLocalAccess": "Local Access",
"HeaderViewOrder": "View Order",
"LabelSelectUserViewOrder": "Choose the order your views will be displayed in within Media Browser apps"
"LabelSelectUserViewOrder": "Choose the order your views will be displayed in within Media Browser apps",
"LabelMetadataRefreshMode": "Metadata refresh mode:",
"LabelImageRefreshMode": "Image refresh mode:",
"OptionDownloadMissingImages": "Download missing images",
"OptionReplaceExistingImages": "Replace existing images",
"OptionRefreshAllData": "Refresh all data",
"OptionAddMissingDataOnly": "Add missing data only",
"OptionLocalRefreshOnly": "Local refresh only",
"HeaderRefreshMetadata": "Refresh Metadata",
"HeaderPersonInfo": "Person Info",
"HeaderIdentifyItem": "Identify Item",
"HeaderIdentifyItemHelp": "Enter one or more search criteria. Remove criteria to increase search results.",
"HeaderConfirmDeletion": "Confirm Deletion",
"LabelFollowingFileWillBeDeleted": "The following file will be deleted:",
"LabelIfYouWishToContinueWithDeletion": "If you wish to continue, please confirm by entering the value of:",
"ButtonIdentify": "Identify",
"LabelAlbumArtist": "Album artist:",
"LabelAlbum": "Album:",
"LabelCommunityRating": "Community rating:",
"LabelVoteCount": "Vote count:",
"LabelMetascore": "Metascore:",
"LabelCriticRating": "Critic rating:",
"LabelCriticRatingSummary": "Critic rating summary:",
"LabelAwardSummary": "Award summary:",
"LabelWebsite": "Website:",
"LabelTagline": "Tagline:",
"LabelOverview": "Overview:",
"LabelShortOverview": "Short overview:",
"LabelReleaseDate": "Release date:",
"LabelYear": "Year:",
"LabelPlaceOfBirth": "Place of birth:",
"LabelEndDate": "End date:",
"LabelAirDate": "Air days:",
"LabelAirTime:": "Air time:",
"LabelRuntimeMinutes": "Run time (minutes):",
"LabelParentalRating": "Parental rating:",
"LabelCustomRating": "Custom rating:",
"LabelBudget": "Budget",
"LabelRevenue": "Revenue ($):",
"LabelOriginalAspectRatio": "Original aspect ratio:",
"LabelPlayers": "Players:",
"Label3DFormat": "3D format:",
"HeaderAlternateEpisodeNumbers": "Alternate Episode Numbers",
"HeaderSpecialEpisodeInfo": "Special Episode Info",
"HeaderExternalIds": "External Id's:",
"LabelDvdSeasonNumber": "Dvd season number:",
"LabelDvdEpisodeNumber": "Dvd episode number:",
"LabelAbsoluteEpisodeNumber": "Absolute episode number:",
"LabelAirsBeforeSeason": "Airs before season:",
"LabelAirsAfterSeason": "Airs after season:",
"LabelAirsBeforeEpisode": "Airs before episode:",
"HeaderDisplaySettings": "Display Settings",
"LabelTreatImageAs": "Treat image as:",
"LabelDisplayOrder": "Display order:",
"LabelDisplaySpecialsWithinSeasons": "Display specials within seasons they aired in",
"HeaderCountries": "Countries",
"HeaderGenres": "Genres",
"HeaderPeople": "People",
"HeaderPlotKeywords": "Plot Keywords",
"HeaderStudios": "Studios",
"HeaderTags": "Tags",
"HeaderMetadataSettings": "Metadata Settings",
"LabelLockItemToPreventChanges": "Lock this item to prevent future changes",
"MessageLeaveEmptyToInherit": "Leave empty to inherit settings from a parent item, or the global default value.",
"TabSupporterClub": "Supporter Club",
"HeaderDonationType": "Donation type:",
"OptionMakeOneTimeDonation": "Make a one-time donation",
"OptionLifeTimeSupporterClubMembership": "Lifetime supporter club membership",
"HeaderSupporterBenefit": "Becoming a supporter club member provides additional benefits such as access to premium plugins, internet channel content, and more.",
"OptionNoTrailer": "No Trailer",
"OptionNoThemeSong": "No Theme Song",
"OptionNoThemeVideo": "No Theme Video",
"LabelOneTimeDonationAmount": "Donation amount:"
}

View file

@ -4,7 +4,9 @@
"LabelVisitCommunity": "Bes\u00f6k v\u00e5rt diskussionsforum",
"HeaderLocalAccess": "Local Access",
"LabelGithubWiki": "Github Wiki",
"HeaderViewOrder": "View Order",
"LabelSwagger": "Swagger",
"LabelSelectUserViewOrder": "Choose the order your views will be displayed in within Media Browser apps",
"LabelStandard": "F\u00f6rval",
"LabelViewApiDocumentation": "L\u00e4s API-dokumentationen",
"LabelBrowseLibrary": "Bl\u00e4ddra i biblioteket",

View file

@ -4,7 +4,9 @@
"LabelVisitCommunity": "Bizi Ziyaret Edin",
"HeaderLocalAccess": "Local Access",
"LabelGithubWiki": "Github Wiki",
"HeaderViewOrder": "View Order",
"LabelSwagger": "Swagger",
"LabelSelectUserViewOrder": "Choose the order your views will be displayed in within Media Browser apps",
"LabelStandard": "Standart",
"LabelViewApiDocumentation": "Api D\u00f6k\u00fcman\u0131 Goruntule",
"LabelBrowseLibrary": "K\u00fct\u00fcphane",
@ -858,7 +860,7 @@
"HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
"LabelLoginDisclaimer": "Login disclaimer:",
"LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
"LabelAutomaticallyDonate": "Automatically donate this amount every six months",
"LabelAutomaticallyDonate": "Automatically donate this amount every month",
"LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
"OptionList": "List",
"TabDashboard": "Dashboard",

View file

@ -4,7 +4,9 @@
"LabelVisitCommunity": "Gh\u00e9 th\u0103m trang C\u1ed9ng \u0111\u1ed3ng",
"HeaderLocalAccess": "Local Access",
"LabelGithubWiki": "Github Wiki",
"HeaderViewOrder": "View Order",
"LabelSwagger": "Swagger",
"LabelSelectUserViewOrder": "Choose the order your views will be displayed in within Media Browser apps",
"LabelStandard": "Ti\u00eau chu\u1ea9n",
"LabelViewApiDocumentation": "T\u00e0i li\u1ec7u xem Api",
"LabelBrowseLibrary": "Duy\u1ec7t th\u01b0 vi\u1ec7n",
@ -858,7 +860,7 @@
"HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
"LabelLoginDisclaimer": "Login disclaimer:",
"LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
"LabelAutomaticallyDonate": "Automatically donate this amount every six months",
"LabelAutomaticallyDonate": "Automatically donate this amount every month",
"LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
"OptionList": "List",
"TabDashboard": "Dashboard",

View file

@ -4,7 +4,9 @@
"LabelVisitCommunity": "\u8a2a\u554f\u793e\u5340",
"HeaderLocalAccess": "Local Access",
"LabelGithubWiki": "Github \u7ef4\u57fa",
"HeaderViewOrder": "View Order",
"LabelSwagger": "Swagger",
"LabelSelectUserViewOrder": "Choose the order your views will be displayed in within Media Browser apps",
"LabelStandard": "\u6a19\u6dee",
"LabelViewApiDocumentation": "\u67e5\u770bAPI\u6587\u6a94",
"LabelBrowseLibrary": "\u700f\u89bd\u5a92\u9ad4\u5eab",
@ -858,7 +860,7 @@
"HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
"LabelLoginDisclaimer": "Login disclaimer:",
"LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
"LabelAutomaticallyDonate": "Automatically donate this amount every six months",
"LabelAutomaticallyDonate": "Automatically donate this amount every month",
"LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
"OptionList": "List",
"TabDashboard": "Dashboard",

View file

@ -49,6 +49,9 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\Mono.Nat.1.2.21.0\lib\net40\Mono.Nat.dll</HintPath>
</Reference>
<Reference Include="MoreLinq">
<HintPath>..\packages\morelinq.1.0.16006\lib\net35\MoreLinq.dll</HintPath>
</Reference>
<Reference Include="ServiceStack.Api.Swagger">
<HintPath>..\ThirdParty\ServiceStack\ServiceStack.Api.Swagger.dll</HintPath>
</Reference>
@ -64,9 +67,6 @@
<Reference Include="System.Security" />
<Reference Include="System.Web" />
<Reference Include="System.Xml" />
<Reference Include="MoreLinq">
<HintPath>..\packages\morelinq.1.0.16006\lib\net35\MoreLinq.dll</HintPath>
</Reference>
<Reference Include="System.Data.SQLite" Condition=" '$(ConfigurationName)' == 'Release Mono' ">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\ThirdParty\System.Data.SQLite.ManagedOnly\x86\1.0.90.0\net40\System.Data.SQLite.dll</HintPath>
@ -127,6 +127,7 @@
<Compile Include="EntryPoints\Notifications\WebSocketNotifier.cs" />
<Compile Include="EntryPoints\RefreshUsersMetadata.cs" />
<Compile Include="EntryPoints\UsageEntryPoint.cs" />
<Compile Include="EntryPoints\WanAddressEntryPoint.cs" />
<Compile Include="FileOrganization\EpisodeFileOrganizer.cs" />
<Compile Include="FileOrganization\Extensions.cs" />
<Compile Include="FileOrganization\FileOrganizationService.cs" />

View file

@ -6,6 +6,7 @@ using MediaBrowser.Controller.Playlists;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Playlists;
using System;
using System.Collections.Generic;
using System.IO;
@ -39,7 +40,7 @@ namespace MediaBrowser.Server.Implementations.Playlists
return GetPlaylistsFolder(userId).GetChildren(user, true).OfType<Playlist>();
}
public async Task<Playlist> CreatePlaylist(PlaylistCreationOptions options)
public async Task<PlaylistCreationResult> CreatePlaylist(PlaylistCreationRequest options)
{
var name = options.Name;
@ -81,7 +82,7 @@ namespace MediaBrowser.Server.Implementations.Playlists
if (folder != null)
{
options.MediaType = folder.GetRecursiveChildren()
.Where(i => !i.IsFolder)
.Where(i => !i.IsFolder && i.SupportsAddingToPlaylist)
.Select(i => i.MediaType)
.FirstOrDefault(i => !string.IsNullOrWhiteSpace(i));
}
@ -99,6 +100,8 @@ namespace MediaBrowser.Server.Implementations.Playlists
throw new ArgumentException("A playlist media type is required.");
}
var user = _userManager.GetUserById(new Guid(options.UserId));
var path = Path.Combine(parentFolder.Path, folderName);
path = GetTargetPath(path);
@ -125,10 +128,13 @@ namespace MediaBrowser.Server.Implementations.Playlists
if (options.ItemIdList.Count > 0)
{
await AddToPlaylist(playlist.Id.ToString("N"), options.ItemIdList);
await AddToPlaylistInternal(playlist.Id.ToString("N"), options.ItemIdList, user);
}
return playlist;
return new PlaylistCreationResult
{
Id = playlist.Id.ToString("N")
};
}
finally
{
@ -147,14 +153,21 @@ namespace MediaBrowser.Server.Implementations.Playlists
return path;
}
private IEnumerable<BaseItem> GetPlaylistItems(IEnumerable<string> itemIds, string playlistMediaType)
private IEnumerable<BaseItem> GetPlaylistItems(IEnumerable<string> itemIds, string playlistMediaType, User user)
{
var items = itemIds.Select(i => _libraryManager.GetItemById(i)).Where(i => i != null);
return Playlist.GetPlaylistItems(playlistMediaType, items, null);
return Playlist.GetPlaylistItems(playlistMediaType, items, user);
}
public async Task AddToPlaylist(string playlistId, IEnumerable<string> itemIds)
public Task AddToPlaylist(string playlistId, IEnumerable<string> itemIds, string userId)
{
var user = string.IsNullOrWhiteSpace(userId) ? null : _userManager.GetUserById(new Guid(userId));
return AddToPlaylistInternal(playlistId, itemIds, user);
}
private async Task AddToPlaylistInternal(string playlistId, IEnumerable<string> itemIds, User user)
{
var playlist = _libraryManager.GetItemById(playlistId) as Playlist;
@ -166,7 +179,9 @@ namespace MediaBrowser.Server.Implementations.Playlists
var list = new List<LinkedChild>();
var itemList = new List<BaseItem>();
var items = GetPlaylistItems(itemIds, playlist.MediaType).ToList();
var items = GetPlaylistItems(itemIds, playlist.MediaType, user)
.Where(i => i.SupportsAddingToPlaylist)
.ToList();
foreach (var item in items)
{
@ -177,8 +192,8 @@ namespace MediaBrowser.Server.Implementations.Playlists
playlist.LinkedChildren.AddRange(list);
await playlist.UpdateToRepository(ItemUpdateType.MetadataEdit, CancellationToken.None).ConfigureAwait(false);
await playlist.RefreshMetadata(new MetadataRefreshOptions{
await playlist.RefreshMetadata(new MetadataRefreshOptions
{
ForceSave = true
}, CancellationToken.None).ConfigureAwait(false);

View file

@ -54,7 +54,7 @@ namespace MediaBrowser.Server.Implementations.Session
{
get
{
return (DateTime.UtcNow - Session.LastActivityDate).TotalMinutes <= 10;
return (DateTime.UtcNow - Session.LastActivityDate).TotalMinutes <= 20;
}
}

View file

@ -1,7 +1,5 @@
using MediaBrowser.Common.Net;
using MediaBrowser.Controller;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Net;
using MediaBrowser.Model.ApiClient;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Serialization;
@ -29,15 +27,6 @@ namespace MediaBrowser.Server.Implementations.Udp
/// The _network manager
/// </summary>
private readonly INetworkManager _networkManager;
/// <summary>
/// The _HTTP server
/// </summary>
private readonly IHttpServer _httpServer;
/// <summary>
/// The _server configuration manager
/// </summary>
private readonly IServerConfigurationManager _serverConfigurationManager;
private bool _isDisposed;
@ -51,15 +40,12 @@ namespace MediaBrowser.Server.Implementations.Udp
/// </summary>
/// <param name="logger">The logger.</param>
/// <param name="networkManager">The network manager.</param>
/// <param name="serverConfigurationManager">The server configuration manager.</param>
/// <param name="httpServer">The HTTP server.</param>
/// <param name="appHost">The application host.</param>
public UdpServer(ILogger logger, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager, IHttpServer httpServer, IServerApplicationHost appHost, IJsonSerializer json)
/// <param name="json">The json.</param>
public UdpServer(ILogger logger, INetworkManager networkManager, IServerApplicationHost appHost, IJsonSerializer json)
{
_logger = logger;
_networkManager = networkManager;
_serverConfigurationManager = serverConfigurationManager;
_httpServer = httpServer;
_appHost = appHost;
_json = json;
@ -97,12 +83,22 @@ namespace MediaBrowser.Server.Implementations.Udp
private async void RespondToV1Message(string endpoint)
{
var localAddress = GetLocalIpAddress();
var info = _appHost.GetSystemInfo();
var localAddress = info.LocalAddress;
if (!string.IsNullOrEmpty(localAddress))
{
// This is how we did the old v1 search, so need to strip off the protocol
var index = localAddress.IndexOf("://", StringComparison.OrdinalIgnoreCase);
if (index != -1)
{
localAddress = localAddress.Substring(index + 3);
}
// Send a response back with our ip address and port
var response = String.Format("MediaBrowserServer|{0}:{1}", localAddress, _serverConfigurationManager.Configuration.HttpServerPortNumber);
var response = String.Format("MediaBrowserServer|{0}", localAddress);
await SendAsync(Encoding.UTF8.GetBytes(response), endpoint);
}
@ -114,17 +110,15 @@ namespace MediaBrowser.Server.Implementations.Udp
private async void RespondToV2Message(string endpoint)
{
var localAddress = GetLocalIpAddress();
var info = _appHost.GetSystemInfo();
if (!string.IsNullOrEmpty(localAddress))
if (!string.IsNullOrEmpty(info.LocalAddress))
{
var serverAddress = string.Format("http://{0}:{1}", localAddress, _serverConfigurationManager.Configuration.HttpServerPortNumber);
var response = new ServerDiscoveryInfo
{
Address = serverAddress,
Id = _appHost.ServerId,
Name = _appHost.FriendlyName
Address = info.LocalAddress,
Id = info.Id,
Name = info.ServerName
};
await SendAsync(Encoding.UTF8.GetBytes(_json.SerializeToString(response)), endpoint);
@ -135,25 +129,6 @@ namespace MediaBrowser.Server.Implementations.Udp
}
}
/// <summary>
/// Gets the local ip address.
/// </summary>
/// <returns>System.String.</returns>
private string GetLocalIpAddress()
{
var localAddresses = _networkManager.GetLocalIpAddresses().ToList();
// Cross-check the local ip addresses with addresses that have been received on with the http server
var matchedAddress = _httpServer.LocalEndPoints
.ToList()
.Select(i => i.Split(':').FirstOrDefault())
.Where(i => !string.IsNullOrEmpty(i))
.FirstOrDefault(i => localAddresses.Contains(i, StringComparer.OrdinalIgnoreCase));
// Return the first matched address, if found, or the first known local address
return matchedAddress ?? localAddresses.FirstOrDefault();
}
/// <summary>
/// The _udp client
/// </summary>

View file

@ -79,9 +79,6 @@
<Link>FFMpeg\FFMpegDownloader.cs</Link>
</Compile>
<Compile Include="IO\FileSystemFactory.cs" />
<Compile Include="..\MediaBrowser.ServerApplication\EntryPoints\WanAddressEntryPoint.cs">
<Link>EntryPoints\WanAddressEntryPoint.cs</Link>
</Compile>
<Compile Include="..\MediaBrowser.ServerApplication\FFMpeg\FFMpegDownloadInfo.cs">
<Link>FFMpeg\FFMpegDownloadInfo.cs</Link>
</Compile>

View file

@ -1,6 +1,7 @@
using MediaBrowser.Common.Implementations.Networking;
using MediaBrowser.Common.Net;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Net;
using System;
using System.Collections.Generic;
@ -13,6 +14,11 @@ namespace MediaBrowser.ServerApplication.Networking
/// </summary>
public class NetworkManager : BaseNetworkManager, INetworkManager
{
public NetworkManager(ILogger logger)
: base(logger)
{
}
/// <summary>
/// Gets the network shares.
/// </summary>

View file

@ -1,5 +1,4 @@
using System.Net;
using MediaBrowser.Api;
using MediaBrowser.Api;
using MediaBrowser.Common;
using MediaBrowser.Common.Configuration;
using MediaBrowser.Common.Events;
@ -78,7 +77,6 @@ using MediaBrowser.Server.Implementations.ServerManager;
using MediaBrowser.Server.Implementations.Session;
using MediaBrowser.Server.Implementations.Sync;
using MediaBrowser.Server.Implementations.Themes;
using MediaBrowser.ServerApplication.EntryPoints;
using MediaBrowser.ServerApplication.FFMpeg;
using MediaBrowser.ServerApplication.IO;
using MediaBrowser.ServerApplication.Native;
@ -535,7 +533,7 @@ namespace MediaBrowser.ServerApplication
RegisterSingleInstance<ISessionContext>(new SessionContext(UserManager, authContext, SessionManager));
RegisterSingleInstance<IAuthService>(new AuthService(UserManager, SessionManager, authContext, ServerConfigurationManager));
RegisterSingleInstance<ISubtitleEncoder>(new SubtitleEncoder(LibraryManager, LogManager.GetLogger("SubtitleEncoder"), ApplicationPaths, FileSystemManager, MediaEncoder));
RegisterSingleInstance<ISubtitleEncoder>(new SubtitleEncoder(LibraryManager, LogManager.GetLogger("SubtitleEncoder"), ApplicationPaths, FileSystemManager, MediaEncoder, JsonSerializer));
var displayPreferencesTask = Task.Run(async () => await ConfigureDisplayPreferencesRepositories().ConfigureAwait(false));
var itemsTask = Task.Run(async () => await ConfigureItemRepositories().ConfigureAwait(false));
@ -554,9 +552,9 @@ namespace MediaBrowser.ServerApplication
SetKernelProperties();
}
protected override INetworkManager CreateNetworkManager()
protected override INetworkManager CreateNetworkManager(ILogger logger)
{
return new NetworkManager();
return new NetworkManager(logger);
}
protected override IFileSystem CreateFileSystemManager()
@ -958,10 +956,39 @@ namespace MediaBrowser.ServerApplication
SupportsAutoRunAtStartup = SupportsAutoRunAtStartup,
TranscodingTempPath = ApplicationPaths.TranscodingTempPath,
IsRunningAsService = IsRunningAsService,
ServerName = FriendlyName
ServerName = FriendlyName,
LocalAddress = GetLocalIpAddress()
};
}
/// <summary>
/// Gets the local ip address.
/// </summary>
/// <returns>System.String.</returns>
private string GetLocalIpAddress()
{
var localAddresses = NetworkManager.GetLocalIpAddresses().ToList();
// Cross-check the local ip addresses with addresses that have been received on with the http server
var matchedAddress = HttpServer.LocalEndPoints
.ToList()
.Select(i => i.Split(':').FirstOrDefault())
.Where(i => !string.IsNullOrEmpty(i))
.FirstOrDefault(i => localAddresses.Contains(i, StringComparer.OrdinalIgnoreCase));
// Return the first matched address, if found, or the first known local address
var address = matchedAddress ?? localAddresses.FirstOrDefault();
if (!string.IsNullOrWhiteSpace(address))
{
address = string.Format("http://{0}:{1}",
address,
ServerConfigurationManager.Configuration.HttpServerPortNumber.ToString(CultureInfo.InvariantCulture));
}
return address;
}
public string FriendlyName
{
get

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