chromecast updates

This commit is contained in:
Luke Pulverenti 2014-08-19 18:28:35 -04:00
parent b48d15296c
commit fda7ff5bf2
65 changed files with 370 additions and 237 deletions

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

@ -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

@ -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>

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

@ -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

@ -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

@ -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

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

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

@ -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.",
@ -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",
@ -352,24 +352,24 @@
"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",
"OptionMusicArtists": "Artistes musicaux",
"OptionMusicAlbums": "Albums de musique",
"OptionMusicVideos": "Music videos",
"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:",
"LabelMetadataDownloaders": "T\u00e9l\u00e9chargeurs de m\u00e9tadonn\u00e9es:",
"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.",

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

@ -126,7 +126,7 @@
"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",
"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

@ -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

@ -84,8 +84,8 @@
"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",
@ -126,7 +126,7 @@
"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\u043e\u0435 \u0422\u0412",
"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",
"OptionBlockTrailers": "\u0422\u0440\u0435\u0439\u043b\u0435\u0440\u044b",
"OptionBlockMusic": "\u041c\u0443\u0437\u044b\u043a\u0430",
"OptionBlockMovies": "\u0424\u0438\u043b\u044c\u043c\u044b",
@ -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 \u0421\u0435\u0440\u0438\u0430\u043b\u044b",
"OptionSeasons": "\u0422\u0412 \u0421\u0435\u0437\u043e\u043d\u044b",
"OptionEpisodes": "\u0422\u0412 \u042d\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

@ -4,7 +4,9 @@
"LabelVisitCommunity": "Besuche die 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": "Zeige API Dokumentation",
"LabelBrowseLibrary": "Durchsuche Bibliothek",
@ -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": "\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": "View Order",
"LabelSwagger": "Swagger",
"LabelSelectUserViewOrder": "Choose the order your views will be displayed in within Media Browser apps",
"LabelStandard": "Est\u00e1ndar",
"LabelViewApiDocumentation": "Ver documentaci\u00f3n del Api",
"LabelBrowseLibrary": "Explorar Biblioteca",

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",
@ -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",
@ -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",
@ -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,7 +791,7 @@
"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",
@ -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,9 +946,9 @@
"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",
@ -954,32 +956,32 @@
"OptionReportArtists": "Artistes",
"OptionReportAlbums": "Albums",
"OptionReportAdultVideos": "Adult videos",
"ButtonMore": "Plus...",
"ButtonMore": "Voir la suite",
"HeaderActivity": "Activit\u00e9",
"ScheduledTaskStartedWithName": "{0} started",
"ScheduledTaskCancelledWithName": "{0} was cancelled",
"ScheduledTaskStartedWithName": "{0} a commenc\u00e9",
"ScheduledTaskCancelledWithName": "{0} a \u00e9t\u00e9 annul\u00e9",
"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",
"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}",
"SubtitleDownloadFailureForItem": "Le t\u00e9l\u00e9chargement des sous-titres pour {0} a \u00e9chou\u00e9.",
"LabelRunningTimeValue": "Running time: {0}",
"LabelIpAddressValue": "Ip address: {0}",
"LabelRunningTimeValue": "Dur\u00e9e: {0}",
"LabelIpAddressValue": "Adresse IP: {0}",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"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}",
@ -988,17 +990,17 @@
"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",
"LabelChannelDownloadSizeLimitHelp": "Limiter la taille du dossier de t\u00e9l\u00e9chargement de la cha\u00eene",
"HeaderRecentActivity": "Activit\u00e9 R\u00e9cente",
"HeaderPeople": "People",
"HeaderDownloadPeopleMetadataFor": "Download biography and images for:",
"HeaderDownloadPeopleMetadataFor": "T\u00e9l\u00e9charger la biographie et les images pour:",
"OptionComposers": "Composers",
"OptionOthers": "Others",
"OptionOthers": "Autres",
"HeaderDownloadPeopleMetadataForHelp": "Enabling additional options will provide more on-screen information but will result in slower library scans.",
"ViewTypeFolders": "Folders",
"ViewTypeFolders": "R\u00e9pertoires",
"LabelDisplayFoldersView": "Display a folders view to show plain media folders",
"ViewTypeLiveTvRecordingGroups": "Recordings",
"ViewTypeLiveTvChannels": "Channels",
"LabelAllowLocalAccessWithoutPassword": "Allow local access without a password",
"ViewTypeLiveTvRecordingGroups": "Enregistrements",
"ViewTypeLiveTvChannels": "Cha\u00eenes",
"LabelAllowLocalAccessWithoutPassword": "Autoriser l'acc\u00e8s local sans un mot de passe",
"LabelAllowLocalAccessWithoutPasswordHelp": "When enabled, a password will not be required when signing in from within your home network."
}

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": "\u041a\u04e9\u0440\u0456\u043d\u0456\u0441\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 \u043a\u04e9\u0440\u0456\u043d\u0456\u0441\u0442\u0435\u0440\u0456\u04a3\u0456\u0437\u0434\u0456\u04a3 \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",
@ -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",
@ -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)",

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",

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 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0439",
"LabelSwagger": "\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 Swagger",
"LabelSelectUserViewOrder": "\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043f\u043e\u0440\u044f\u0434\u043e\u043a, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0432\u0430\u0448\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \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",
@ -97,7 +99,7 @@
"TabSuggested": "\u041f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f",
"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": "\u0422\u0412",
"TabEpisodes": "\u042d\u043f\u0438\u0437\u043e\u0434\u044b",
"TabGenres": "\u0416\u0430\u043d\u0440\u044b",
"TabPeople": "\u041b\u044e\u0434\u0438",
@ -115,7 +117,7 @@
"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!",
"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\u0451 \u0422\u0412!",
"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",
@ -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 \u042d\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",
@ -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:",
@ -428,7 +430,7 @@
"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.",
"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\u0438\u0442\u044c \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f",
"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.",
@ -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\u044e\u0447\u0435\u043d\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\u044e\u0447\u0435\u043d\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\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 {1} \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043e",
"UserStoppedPlayingItemWithValues": "{0} - \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 {1} \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):",

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="Nowin">
<HintPath>..\ThirdParty\Nowin\Nowin.dll</HintPath>
</Reference>
@ -67,9 +70,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>

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,17 @@ 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 serverAddress = string.Format("http://{0}", info.LocalAddress);
var response = new ServerDiscoveryInfo
{
Address = serverAddress,
Id = _appHost.ServerId,
Name = _appHost.FriendlyName
Id = info.Id,
Name = info.ServerName
};
await SendAsync(Encoding.UTF8.GetBytes(_json.SerializeToString(response)), endpoint);
@ -135,25 +131,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

@ -554,9 +554,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 +958,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

View File

@ -61,14 +61,14 @@
</PropertyGroup>
<ItemGroup>
<Reference Include="MediaBrowser.IsoMounter">
<HintPath>..\packages\MediaBrowser.IsoMounting.3.0.68\lib\net45\MediaBrowser.IsoMounter.dll</HintPath>
<HintPath>..\packages\MediaBrowser.IsoMounting.3.0.69\lib\net45\MediaBrowser.IsoMounter.dll</HintPath>
</Reference>
<Reference Include="NLog, Version=3.1.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\NLog.3.1.0.0\lib\net45\NLog.dll</HintPath>
</Reference>
<Reference Include="pfmclrapi">
<HintPath>..\packages\MediaBrowser.IsoMounting.3.0.68\lib\net45\pfmclrapi.dll</HintPath>
<HintPath>..\packages\MediaBrowser.IsoMounting.3.0.69\lib\net45\pfmclrapi.dll</HintPath>
</Reference>
<Reference Include="ServiceStack.Interfaces">
<HintPath>..\ThirdParty\ServiceStack\ServiceStack.Interfaces.dll</HintPath>

View File

@ -1,13 +1,13 @@
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;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Net;
using System.Runtime.InteropServices;
namespace MediaBrowser.ServerApplication.Networking
@ -17,6 +17,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,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="MediaBrowser.IsoMounting" version="3.0.68" targetFramework="net45" />
<package id="MediaBrowser.IsoMounting" version="3.0.69" targetFramework="net45" />
<package id="NLog" version="3.1.0.0" targetFramework="net45" />
</packages>