From fda7ff5bf2795cb03ee2a5355c8003da31bf24f9 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Tue, 19 Aug 2014 18:28:35 -0400 Subject: [PATCH] chromecast updates --- MediaBrowser.Api/MediaBrowser.Api.csproj | 4 +- MediaBrowser.Api/System/SystemService.cs | 27 ++++++- .../BaseApplicationHost.cs | 4 +- .../Networking/BaseNetworkManager.cs | 61 +++++++++++++--- MediaBrowser.Controller/Entities/Folder.cs | 2 +- .../MediaBrowser.Controller.csproj | 6 +- MediaBrowser.Model/System/SystemInfo.cs | 6 ++ .../MediaBrowser.Providers.csproj | 6 +- .../EntryPoints/UdpServerEntryPoint.cs | 22 ++---- .../HttpServer/Security/AuthService.cs | 10 ++- .../Localization/JavaScript/ar.json | 2 +- .../Localization/JavaScript/ca.json | 2 +- .../Localization/JavaScript/cs.json | 2 +- .../Localization/JavaScript/da.json | 2 +- .../Localization/JavaScript/de.json | 2 +- .../Localization/JavaScript/el.json | 2 +- .../Localization/JavaScript/en_GB.json | 2 +- .../Localization/JavaScript/en_US.json | 2 +- .../Localization/JavaScript/es.json | 2 +- .../Localization/JavaScript/fr.json | 32 ++++----- .../Localization/JavaScript/he.json | 2 +- .../Localization/JavaScript/it.json | 2 +- .../Localization/JavaScript/kk.json | 4 +- .../Localization/JavaScript/ms.json | 2 +- .../Localization/JavaScript/nb.json | 2 +- .../Localization/JavaScript/pl.json | 2 +- .../Localization/JavaScript/pt_BR.json | 10 +-- .../Localization/JavaScript/pt_PT.json | 2 +- .../Localization/JavaScript/ru.json | 18 ++--- .../Localization/JavaScript/sv.json | 2 +- .../Localization/JavaScript/tr.json | 2 +- .../Localization/JavaScript/vi.json | 2 +- .../Localization/JavaScript/zh_TW.json | 2 +- .../Localization/Server/ar.json | 4 +- .../Localization/Server/ca.json | 4 +- .../Localization/Server/cs.json | 4 +- .../Localization/Server/da.json | 4 +- .../Localization/Server/de.json | 4 +- .../Localization/Server/el.json | 4 +- .../Localization/Server/en_GB.json | 4 +- .../Localization/Server/en_US.json | 4 +- .../Localization/Server/es.json | 2 + .../Localization/Server/es_MX.json | 2 + .../Localization/Server/fr.json | 70 ++++++++++--------- .../Localization/Server/he.json | 4 +- .../Localization/Server/it.json | 2 + .../Localization/Server/kk.json | 20 +++--- .../Localization/Server/ko.json | 4 +- .../Localization/Server/ms.json | 4 +- .../Localization/Server/nb.json | 2 + .../Localization/Server/nl.json | 2 + .../Localization/Server/pl.json | 4 +- .../Localization/Server/pt_BR.json | 32 +++++---- .../Localization/Server/pt_PT.json | 4 +- .../Localization/Server/ru.json | 44 ++++++------ .../Localization/Server/sv.json | 2 + .../Localization/Server/tr.json | 4 +- .../Localization/Server/vi.json | 4 +- .../Localization/Server/zh_TW.json | 4 +- ...MediaBrowser.Server.Implementations.csproj | 6 +- .../Udp/UdpServer.cs | 61 +++++----------- .../ApplicationHost.cs | 35 +++++++++- .../MediaBrowser.ServerApplication.csproj | 4 +- .../Networking/NetworkManager.cs | 7 +- .../packages.config | 2 +- 65 files changed, 370 insertions(+), 237 deletions(-) diff --git a/MediaBrowser.Api/MediaBrowser.Api.csproj b/MediaBrowser.Api/MediaBrowser.Api.csproj index 9e516f463a..5cb9ebb1b0 100644 --- a/MediaBrowser.Api/MediaBrowser.Api.csproj +++ b/MediaBrowser.Api/MediaBrowser.Api.csproj @@ -49,6 +49,9 @@ Always + + ..\packages\morelinq.1.0.16006\lib\net35\MoreLinq.dll + @@ -161,7 +164,6 @@ - diff --git a/MediaBrowser.Api/System/SystemService.cs b/MediaBrowser.Api/System/SystemService.cs index 3913275eee..cb9d019566 100644 --- a/MediaBrowser.Api/System/SystemService.cs +++ b/MediaBrowser.Api/System/SystemService.cs @@ -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 + { + 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; + /// /// Initializes a new instance of the class. /// @@ -75,11 +85,12 @@ namespace MediaBrowser.Api.System /// The application paths. /// The file system. /// jsonSerializer - 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; } } } diff --git a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs index 850309465e..80f017f52b 100644 --- a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs +++ b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs @@ -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); /// /// Creates an instance of type and resolves all constructor dependancies diff --git a/MediaBrowser.Common.Implementations/Networking/BaseNetworkManager.cs b/MediaBrowser.Common.Implementations/Networking/BaseNetworkManager.cs index 96eb5e2f15..8159be6340 100644 --- a/MediaBrowser.Common.Implementations/Networking/BaseNetworkManager.cs +++ b/MediaBrowser.Common.Implementations/Networking/BaseNetworkManager.cs @@ -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; + } + /// /// Gets the machine's local ip address /// @@ -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 GetIpAddresses(string hostName) + { + return Dns.GetHostAddresses(hostName); } private IEnumerable GetIPsDefault() @@ -103,7 +146,7 @@ namespace MediaBrowser.Common.Implementations.Networking .Select(i => i.ToString()) .Reverse(); } - + /// /// Gets a random port number that is currently available /// diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index 79c96dd5e4..356f2b6034 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -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 { diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj index d12c36fba5..c7dd2cd5f3 100644 --- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj +++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj @@ -48,6 +48,9 @@ v4.5 + + ..\packages\morelinq.1.0.16006\lib\net35\MoreLinq.dll + @@ -57,9 +60,6 @@ - - ..\packages\morelinq.1.0.16006\lib\net35\MoreLinq.dll - ..\ThirdParty\ServiceStack\ServiceStack.Interfaces.dll diff --git a/MediaBrowser.Model/System/SystemInfo.cs b/MediaBrowser.Model/System/SystemInfo.cs index 7132d110b6..4e0d82191d 100644 --- a/MediaBrowser.Model/System/SystemInfo.cs +++ b/MediaBrowser.Model/System/SystemInfo.cs @@ -26,6 +26,12 @@ namespace MediaBrowser.Model.System /// The mac address. public string MacAddress { get; set; } + /// + /// Gets or sets the local address. + /// + /// The local address. + public string LocalAddress { get; set; } + /// /// Gets or sets a value indicating whether this instance has pending restart. /// diff --git a/MediaBrowser.Providers/MediaBrowser.Providers.csproj b/MediaBrowser.Providers/MediaBrowser.Providers.csproj index 66188f796a..757c7a7534 100644 --- a/MediaBrowser.Providers/MediaBrowser.Providers.csproj +++ b/MediaBrowser.Providers/MediaBrowser.Providers.csproj @@ -53,6 +53,9 @@ False ..\packages\MediaBrowser.BdInfo.1.0.0.10\lib\net35\DvdLib.dll + + ..\packages\morelinq.1.0.16006\lib\net35\MoreLinq.dll + @@ -61,9 +64,6 @@ - - ..\packages\morelinq.1.0.16006\lib\net35\MoreLinq.dll - diff --git a/MediaBrowser.Server.Implementations/EntryPoints/UdpServerEntryPoint.cs b/MediaBrowser.Server.Implementations/EntryPoints/UdpServerEntryPoint.cs index 3b4379e374..386c16513b 100644 --- a/MediaBrowser.Server.Implementations/EntryPoints/UdpServerEntryPoint.cs +++ b/MediaBrowser.Server.Implementations/EntryPoints/UdpServerEntryPoint.cs @@ -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 /// private readonly INetworkManager _networkManager; - /// - /// The _server configuration manager - /// - private readonly IServerConfigurationManager _serverConfigurationManager; - /// - /// The _HTTP server - /// - private readonly IHttpServer _httpServer; private readonly IServerApplicationHost _appHost; private readonly IJsonSerializer _json; public const int PortNumber = 7359; /// - /// Initializes a new instance of the class. + /// Initializes a new instance of the class. /// /// The logger. /// The network manager. - /// The server configuration manager. - /// The HTTP server. - public UdpServerEntryPoint(ILogger logger, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager, IHttpServer httpServer, IServerApplicationHost appHost, IJsonSerializer json) + /// The application host. + /// The json. + 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 /// public void Run() { - var udpServer = new UdpServer(_logger, _networkManager, _serverConfigurationManager, _httpServer, _appHost, _json); + var udpServer = new UdpServer(_logger, _networkManager, _appHost, _json); try { diff --git a/MediaBrowser.Server.Implementations/HttpServer/Security/AuthService.cs b/MediaBrowser.Server.Implementations/HttpServer/Security/AuthService.cs index ebb5ab741b..19870c4355 100644 --- a/MediaBrowser.Server.Implementations/HttpServer/Security/AuthService.cs +++ b/MediaBrowser.Server.Implementations/HttpServer/Security/AuthService.cs @@ -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 _updatedClients = new List(){"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); } diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/ar.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/ar.json index 9cfd5b4d2c..d4c7eb81e9 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/ar.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/ar.json @@ -352,7 +352,7 @@ "HeaderTrack": "Track", "HeaderDisc": "Disc", "OptionMovies": "Movies", - "OptionCollections": "Collection", + "OptionCollections": "Collections", "OptionSeries": "Series", "OptionSeasons": "Seasons", "OptionEpisodes": "Episodes", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/ca.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/ca.json index 4468615a9a..3aeb896207 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/ca.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/ca.json @@ -352,7 +352,7 @@ "HeaderTrack": "Track", "HeaderDisc": "Disc", "OptionMovies": "Movies", - "OptionCollections": "Collection", + "OptionCollections": "Collections", "OptionSeries": "Series", "OptionSeasons": "Seasons", "OptionEpisodes": "Episodes", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/cs.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/cs.json index 341206c4b4..42b57ebe8f 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/cs.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/cs.json @@ -352,7 +352,7 @@ "HeaderTrack": "Track", "HeaderDisc": "Disc", "OptionMovies": "Filmy", - "OptionCollections": "Collection", + "OptionCollections": "Collections", "OptionSeries": "Series", "OptionSeasons": "Seasons", "OptionEpisodes": "Episody", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/da.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/da.json index 3b28ca62fd..702234739f 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/da.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/da.json @@ -352,7 +352,7 @@ "HeaderTrack": "Track", "HeaderDisc": "Disc", "OptionMovies": "Film", - "OptionCollections": "Collection", + "OptionCollections": "Collections", "OptionSeries": "Series", "OptionSeasons": "Seasons", "OptionEpisodes": "Episoder", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/de.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/de.json index 11fb1d3086..157a7825bb 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/de.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/de.json @@ -352,7 +352,7 @@ "HeaderTrack": "Track", "HeaderDisc": "Disc", "OptionMovies": "Filme", - "OptionCollections": "Collection", + "OptionCollections": "Collections", "OptionSeries": "Series", "OptionSeasons": "Seasons", "OptionEpisodes": "Episoden", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/el.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/el.json index 81ebf49c99..cd0d0c8df5 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/el.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/el.json @@ -352,7 +352,7 @@ "HeaderTrack": "Track", "HeaderDisc": "Disc", "OptionMovies": "Movies", - "OptionCollections": "Collection", + "OptionCollections": "Collections", "OptionSeries": "Series", "OptionSeasons": "Seasons", "OptionEpisodes": "Episodes", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/en_GB.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/en_GB.json index a2e79058d2..e30491fd4c 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/en_GB.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/en_GB.json @@ -352,7 +352,7 @@ "HeaderTrack": "Track", "HeaderDisc": "Disc", "OptionMovies": "Movies", - "OptionCollections": "Collection", + "OptionCollections": "Collections", "OptionSeries": "Series", "OptionSeasons": "Seasons", "OptionEpisodes": "Episodes", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/en_US.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/en_US.json index a7524ba827..d70e3223f3 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/en_US.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/en_US.json @@ -352,7 +352,7 @@ "HeaderTrack": "Track", "HeaderDisc": "Disc", "OptionMovies": "Movies", - "OptionCollections": "Collection", + "OptionCollections": "Collections", "OptionSeries": "Series", "OptionSeasons": "Seasons", "OptionEpisodes": "Episodes", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/es.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/es.json index 7351fe7347..5bab164e42 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/es.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/es.json @@ -352,7 +352,7 @@ "HeaderTrack": "Track", "HeaderDisc": "Disc", "OptionMovies": "Pel\u00edculas", - "OptionCollections": "Collection", + "OptionCollections": "Collections", "OptionSeries": "Series", "OptionSeasons": "Seasons", "OptionEpisodes": "Episodios", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/fr.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/fr.json index 6387d75cee..0a7b881f4e 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/fr.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/fr.json @@ -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.", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/he.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/he.json index 0f40dac0be..4a94055348 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/he.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/he.json @@ -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", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/it.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/it.json index b21b3172b3..278b12a3ac 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/it.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/it.json @@ -352,7 +352,7 @@ "HeaderTrack": "Traccia", "HeaderDisc": "Disco", "OptionMovies": "Film", - "OptionCollections": "Collection", + "OptionCollections": "Collections", "OptionSeries": "Series", "OptionSeasons": "Seasons", "OptionEpisodes": "Episodi", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/kk.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/kk.json index 36deb05e47..29ab669923 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/kk.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/kk.json @@ -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", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/ms.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/ms.json index ec46aa6f07..60164f98e1 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/ms.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/ms.json @@ -352,7 +352,7 @@ "HeaderTrack": "Track", "HeaderDisc": "Disc", "OptionMovies": "Movies", - "OptionCollections": "Collection", + "OptionCollections": "Collections", "OptionSeries": "Series", "OptionSeasons": "Seasons", "OptionEpisodes": "Episodes", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/nb.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/nb.json index af32a0f6ad..a1026edda9 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/nb.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/nb.json @@ -352,7 +352,7 @@ "HeaderTrack": "Track", "HeaderDisc": "Disc", "OptionMovies": "Filmer", - "OptionCollections": "Collection", + "OptionCollections": "Collections", "OptionSeries": "Series", "OptionSeasons": "Seasons", "OptionEpisodes": "Episoder", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/pl.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/pl.json index 6c72a9aa74..dd1c494790 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/pl.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/pl.json @@ -352,7 +352,7 @@ "HeaderTrack": "Track", "HeaderDisc": "Disc", "OptionMovies": "Filmy", - "OptionCollections": "Collection", + "OptionCollections": "Collections", "OptionSeries": "Series", "OptionSeasons": "Seasons", "OptionEpisodes": "Odcinki", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_BR.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_BR.json index c8fe455601..d95a967951 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_BR.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_BR.json @@ -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." } \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_PT.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_PT.json index 620a71c718..555889d47f 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_PT.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_PT.json @@ -352,7 +352,7 @@ "HeaderTrack": "Track", "HeaderDisc": "Disc", "OptionMovies": "Filmes", - "OptionCollections": "Collection", + "OptionCollections": "Collections", "OptionSeries": "Series", "OptionSeasons": "Seasons", "OptionEpisodes": "Epis\u00f3dios", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/ru.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/ru.json index d7e7e725bf..6572332361 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/ru.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/ru.json @@ -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", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/sv.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/sv.json index f767c99261..2400ec440e 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/sv.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/sv.json @@ -352,7 +352,7 @@ "HeaderTrack": "Track", "HeaderDisc": "Disc", "OptionMovies": "Filmer", - "OptionCollections": "Collection", + "OptionCollections": "Collections", "OptionSeries": "Series", "OptionSeasons": "Seasons", "OptionEpisodes": "Avsnitt", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/tr.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/tr.json index dadfecdf1e..09e7f2ab24 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/tr.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/tr.json @@ -352,7 +352,7 @@ "HeaderTrack": "Track", "HeaderDisc": "Disc", "OptionMovies": "Filmler", - "OptionCollections": "Collection", + "OptionCollections": "Collections", "OptionSeries": "Series", "OptionSeasons": "Seasons", "OptionEpisodes": "Episodes", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/vi.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/vi.json index 2cda3c98d5..99fd373cce 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/vi.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/vi.json @@ -352,7 +352,7 @@ "HeaderTrack": "Track", "HeaderDisc": "Disc", "OptionMovies": "Movies", - "OptionCollections": "Collection", + "OptionCollections": "Collections", "OptionSeries": "Series", "OptionSeasons": "Seasons", "OptionEpisodes": "Episodes", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/zh_TW.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/zh_TW.json index 04dec94466..915723709a 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/zh_TW.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/zh_TW.json @@ -352,7 +352,7 @@ "HeaderTrack": "Track", "HeaderDisc": "Disc", "OptionMovies": "Movies", - "OptionCollections": "Collection", + "OptionCollections": "Collections", "OptionSeries": "Series", "OptionSeasons": "Seasons", "OptionEpisodes": "Episodes", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/ar.json b/MediaBrowser.Server.Implementations/Localization/Server/ar.json index c11f87dc46..18eb2b9d1c 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/ar.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/ar.json @@ -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", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/ca.json b/MediaBrowser.Server.Implementations/Localization/Server/ca.json index c3bb3a00a9..e09a209c9d 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/ca.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/ca.json @@ -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", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/cs.json b/MediaBrowser.Server.Implementations/Localization/Server/cs.json index 0631352efa..45b7e65ae5 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/cs.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/cs.json @@ -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", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/da.json b/MediaBrowser.Server.Implementations/Localization/Server/da.json index c45a36e9d8..6d5489163f 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/da.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/da.json @@ -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", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/de.json b/MediaBrowser.Server.Implementations/Localization/Server/de.json index 6aaecd48ff..9244ea4564 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/de.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/de.json @@ -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", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/el.json b/MediaBrowser.Server.Implementations/Localization/Server/el.json index 95ec3ed357..564b33f446 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/el.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/el.json @@ -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", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/en_GB.json b/MediaBrowser.Server.Implementations/Localization/Server/en_GB.json index 68662e2829..4c0a0b972e 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/en_GB.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/en_GB.json @@ -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", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/en_US.json b/MediaBrowser.Server.Implementations/Localization/Server/en_US.json index 8b035525e9..14feb7d7e0 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/en_US.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/en_US.json @@ -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", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/es.json b/MediaBrowser.Server.Implementations/Localization/Server/es.json index 3570ac997f..fbec2f5d4f 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/es.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/es.json @@ -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", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/es_MX.json b/MediaBrowser.Server.Implementations/Localization/Server/es_MX.json index 7bd37891bd..b324fe269f 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/es_MX.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/es_MX.json @@ -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", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/fr.json b/MediaBrowser.Server.Implementations/Localization/Server/fr.json index 0a44fd6018..22472d06f7 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/fr.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/fr.json @@ -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." } \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/Server/he.json b/MediaBrowser.Server.Implementations/Localization/Server/he.json index 280830e3c2..a7ef7473c0 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/he.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/he.json @@ -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", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/it.json b/MediaBrowser.Server.Implementations/Localization/Server/it.json index 618038868c..7624a0cb2c 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/it.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/it.json @@ -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", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/kk.json b/MediaBrowser.Server.Implementations/Localization/Server/kk.json index fa671945ca..0ced3982ec 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/kk.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/kk.json @@ -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)", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/ko.json b/MediaBrowser.Server.Implementations/Localization/Server/ko.json index ac8fe87c98..c5ec9d60cd 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/ko.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/ko.json @@ -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", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/ms.json b/MediaBrowser.Server.Implementations/Localization/Server/ms.json index 23d47bd0fc..606eceaa35 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/ms.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/ms.json @@ -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", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/nb.json b/MediaBrowser.Server.Implementations/Localization/Server/nb.json index 8639c63dee..c538a9e685 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/nb.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/nb.json @@ -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", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/nl.json b/MediaBrowser.Server.Implementations/Localization/Server/nl.json index 8b05fe9316..8adafc3891 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/nl.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/nl.json @@ -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", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/pl.json b/MediaBrowser.Server.Implementations/Localization/Server/pl.json index 1a3c180bda..bbdb153e70 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/pl.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/pl.json @@ -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", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/pt_BR.json b/MediaBrowser.Server.Implementations/Localization/Server/pt_BR.json index 050304df19..675dabce7a 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/pt_BR.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/pt_BR.json @@ -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):", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/pt_PT.json b/MediaBrowser.Server.Implementations/Localization/Server/pt_PT.json index 1f6eaa0f24..1fdaafcfe9 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/pt_PT.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/pt_PT.json @@ -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", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/ru.json b/MediaBrowser.Server.Implementations/Localization/Server/ru.json index 6d70faaffa..c8d0507004 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/ru.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/ru.json @@ -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):", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/sv.json b/MediaBrowser.Server.Implementations/Localization/Server/sv.json index c0a736bb91..2d3765c98d 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/sv.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/sv.json @@ -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", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/tr.json b/MediaBrowser.Server.Implementations/Localization/Server/tr.json index 8a78ef9190..c1de1b9f1a 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/tr.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/tr.json @@ -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", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/vi.json b/MediaBrowser.Server.Implementations/Localization/Server/vi.json index acb8bb0d0a..2a709e01c6 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/vi.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/vi.json @@ -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", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/zh_TW.json b/MediaBrowser.Server.Implementations/Localization/Server/zh_TW.json index 784a96f18c..142ef1caf6 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/zh_TW.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/zh_TW.json @@ -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", diff --git a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj index 3ff1644434..2b0c3579bf 100644 --- a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj +++ b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj @@ -49,6 +49,9 @@ False ..\packages\Mono.Nat.1.2.21.0\lib\net40\Mono.Nat.dll + + ..\packages\morelinq.1.0.16006\lib\net35\MoreLinq.dll + ..\ThirdParty\Nowin\Nowin.dll @@ -67,9 +70,6 @@ - - ..\packages\morelinq.1.0.16006\lib\net35\MoreLinq.dll - False ..\ThirdParty\System.Data.SQLite.ManagedOnly\x86\1.0.90.0\net40\System.Data.SQLite.dll diff --git a/MediaBrowser.Server.Implementations/Udp/UdpServer.cs b/MediaBrowser.Server.Implementations/Udp/UdpServer.cs index 9028b540f8..7d39d62890 100644 --- a/MediaBrowser.Server.Implementations/Udp/UdpServer.cs +++ b/MediaBrowser.Server.Implementations/Udp/UdpServer.cs @@ -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 /// private readonly INetworkManager _networkManager; - /// - /// The _HTTP server - /// - private readonly IHttpServer _httpServer; - - /// - /// The _server configuration manager - /// - private readonly IServerConfigurationManager _serverConfigurationManager; private bool _isDisposed; @@ -51,15 +40,12 @@ namespace MediaBrowser.Server.Implementations.Udp /// /// The logger. /// The network manager. - /// The server configuration manager. - /// The HTTP server. /// The application host. - public UdpServer(ILogger logger, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager, IHttpServer httpServer, IServerApplicationHost appHost, IJsonSerializer json) + /// The json. + 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 } } - /// - /// Gets the local ip address. - /// - /// System.String. - 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(); - } - /// /// The _udp client /// diff --git a/MediaBrowser.ServerApplication/ApplicationHost.cs b/MediaBrowser.ServerApplication/ApplicationHost.cs index 39a7981b24..35ee580b50 100644 --- a/MediaBrowser.ServerApplication/ApplicationHost.cs +++ b/MediaBrowser.ServerApplication/ApplicationHost.cs @@ -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() }; } + /// + /// Gets the local ip address. + /// + /// System.String. + 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 diff --git a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj index 0e4d95c310..ce17f9e8eb 100644 --- a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj +++ b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj @@ -61,14 +61,14 @@ - ..\packages\MediaBrowser.IsoMounting.3.0.68\lib\net45\MediaBrowser.IsoMounter.dll + ..\packages\MediaBrowser.IsoMounting.3.0.69\lib\net45\MediaBrowser.IsoMounter.dll False ..\packages\NLog.3.1.0.0\lib\net45\NLog.dll - ..\packages\MediaBrowser.IsoMounting.3.0.68\lib\net45\pfmclrapi.dll + ..\packages\MediaBrowser.IsoMounting.3.0.69\lib\net45\pfmclrapi.dll ..\ThirdParty\ServiceStack\ServiceStack.Interfaces.dll diff --git a/MediaBrowser.ServerApplication/Networking/NetworkManager.cs b/MediaBrowser.ServerApplication/Networking/NetworkManager.cs index 4d4d5a4514..fc4d263636 100644 --- a/MediaBrowser.ServerApplication/Networking/NetworkManager.cs +++ b/MediaBrowser.ServerApplication/Networking/NetworkManager.cs @@ -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 /// public class NetworkManager : BaseNetworkManager, INetworkManager { + public NetworkManager(ILogger logger) + : base(logger) + { + } + /// /// Gets the network shares. /// diff --git a/MediaBrowser.ServerApplication/packages.config b/MediaBrowser.ServerApplication/packages.config index 267084c528..8de487fb50 100644 --- a/MediaBrowser.ServerApplication/packages.config +++ b/MediaBrowser.ServerApplication/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file