localize plugin installation process
This commit is contained in:
parent
10dedf92ad
commit
45db7d21b2
|
@ -62,6 +62,14 @@ namespace MediaBrowser.Api.Playback.Hls
|
|||
{
|
||||
}
|
||||
|
||||
protected override bool SupportsThrottling
|
||||
{
|
||||
get
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the specified request.
|
||||
/// </summary>
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
using MediaBrowser.Common.Configuration;
|
||||
using MediaBrowser.Common.IO;
|
||||
using MediaBrowser.Common.Net;
|
||||
using MediaBrowser.Common.Security;
|
||||
using MediaBrowser.Controller;
|
||||
using MediaBrowser.Controller.Net;
|
||||
using MediaBrowser.Model.Entities;
|
||||
using MediaBrowser.Model.System;
|
||||
using ServiceStack;
|
||||
using System;
|
||||
|
@ -42,6 +44,7 @@ namespace MediaBrowser.Api.System
|
|||
/// This is currently not authenticated because the uninstaller needs to be able to shutdown the server.
|
||||
/// </summary>
|
||||
[Route("/System/Shutdown", "POST", Summary = "Shuts down the application")]
|
||||
[Authenticated(AllowLocal = true)]
|
||||
public class ShutdownApplication
|
||||
{
|
||||
}
|
||||
|
@ -66,6 +69,12 @@ namespace MediaBrowser.Api.System
|
|||
public string Name { get; set; }
|
||||
}
|
||||
|
||||
[Route("/System/SupporterInfo", "GET")]
|
||||
[Authenticated]
|
||||
public class GetSupporterInfo : IReturn<SupporterInfo>
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Class SystemInfoService
|
||||
/// </summary>
|
||||
|
@ -80,6 +89,8 @@ namespace MediaBrowser.Api.System
|
|||
|
||||
private readonly INetworkManager _network;
|
||||
|
||||
private readonly ISecurityManager _security;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SystemService" /> class.
|
||||
/// </summary>
|
||||
|
@ -87,12 +98,20 @@ namespace MediaBrowser.Api.System
|
|||
/// <param name="appPaths">The application paths.</param>
|
||||
/// <param name="fileSystem">The file system.</param>
|
||||
/// <exception cref="ArgumentNullException">jsonSerializer</exception>
|
||||
public SystemService(IServerApplicationHost appHost, IApplicationPaths appPaths, IFileSystem fileSystem, INetworkManager network)
|
||||
public SystemService(IServerApplicationHost appHost, IApplicationPaths appPaths, IFileSystem fileSystem, INetworkManager network, ISecurityManager security)
|
||||
{
|
||||
_appHost = appHost;
|
||||
_appPaths = appPaths;
|
||||
_fileSystem = fileSystem;
|
||||
_network = network;
|
||||
_security = security;
|
||||
}
|
||||
|
||||
public async Task<object> Get(GetSupporterInfo request)
|
||||
{
|
||||
var result = await _security.GetSupporterInfo().ConfigureAwait(false);
|
||||
|
||||
return ToOptimizedResult(result);
|
||||
}
|
||||
|
||||
public object Get(GetServerLogs request)
|
||||
|
|
|
@ -101,6 +101,7 @@
|
|||
<Compile Include="Security\MBLicenseFile.cs" />
|
||||
<Compile Include="Security\PluginSecurityManager.cs" />
|
||||
<Compile Include="Security\RegRecord.cs" />
|
||||
<Compile Include="Security\SuppporterInfoResponse.cs" />
|
||||
<Compile Include="Serialization\JsonSerializer.cs" />
|
||||
<Compile Include="Serialization\XmlSerializer.cs" />
|
||||
<Compile Include="Updates\InstallationManager.cs" />
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
using MediaBrowser.Common.Configuration;
|
||||
using System;
|
||||
using System.Collections.Concurrent;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
|
||||
|
@ -19,7 +22,7 @@ namespace MediaBrowser.Common.Implementations.Security
|
|||
if (value != _regKey)
|
||||
{
|
||||
//if key is changed - clear out our saved validations
|
||||
UpdateRecords.Clear();
|
||||
_updateRecords.Clear();
|
||||
_regKey = value;
|
||||
}
|
||||
}
|
||||
|
@ -33,24 +36,30 @@ namespace MediaBrowser.Common.Implementations.Security
|
|||
}
|
||||
}
|
||||
|
||||
public string LegacyKey { get; set; }
|
||||
private Dictionary<Guid, DateTime> UpdateRecords { get; set; }
|
||||
private readonly object _lck = new object();
|
||||
private readonly ConcurrentDictionary<Guid, DateTime> _updateRecords = new ConcurrentDictionary<Guid, DateTime>();
|
||||
private readonly object _fileLock = new object();
|
||||
private string _regKey;
|
||||
|
||||
public MBLicenseFile(IApplicationPaths appPaths)
|
||||
{
|
||||
_appPaths = appPaths;
|
||||
|
||||
UpdateRecords = new Dictionary<Guid, DateTime>();
|
||||
Load();
|
||||
}
|
||||
|
||||
private void SetUpdateRecord(Guid key, DateTime value)
|
||||
{
|
||||
_updateRecords.AddOrUpdate(key, value, (k, v) => value);
|
||||
}
|
||||
|
||||
public void AddRegCheck(string featureId)
|
||||
{
|
||||
using (var provider = new MD5CryptoServiceProvider())
|
||||
{
|
||||
UpdateRecords[new Guid(provider.ComputeHash(Encoding.Unicode.GetBytes(featureId)))] = DateTime.UtcNow;
|
||||
var key = new Guid(provider.ComputeHash(Encoding.Unicode.GetBytes(featureId)));
|
||||
var value = DateTime.UtcNow;
|
||||
|
||||
SetUpdateRecord(key, value);
|
||||
Save();
|
||||
}
|
||||
|
||||
|
@ -60,7 +69,11 @@ namespace MediaBrowser.Common.Implementations.Security
|
|||
{
|
||||
using (var provider = new MD5CryptoServiceProvider())
|
||||
{
|
||||
UpdateRecords.Remove(new Guid(provider.ComputeHash(Encoding.Unicode.GetBytes(featureId))));
|
||||
var key = new Guid(provider.ComputeHash(Encoding.Unicode.GetBytes(featureId)));
|
||||
DateTime val;
|
||||
|
||||
_updateRecords.TryRemove(key, out val);
|
||||
|
||||
Save();
|
||||
}
|
||||
|
||||
|
@ -71,8 +84,10 @@ namespace MediaBrowser.Common.Implementations.Security
|
|||
using (var provider = new MD5CryptoServiceProvider())
|
||||
{
|
||||
DateTime last;
|
||||
lock(_lck) UpdateRecords.TryGetValue(new Guid(provider.ComputeHash(Encoding.Unicode.GetBytes(featureId))), out last);
|
||||
return last < DateTime.UtcNow ? last : DateTime.MinValue; // guard agains people just putting a large number in the file
|
||||
_updateRecords.TryGetValue(new Guid(provider.ComputeHash(Encoding.Unicode.GetBytes(featureId))), out last);
|
||||
|
||||
// guard agains people just putting a large number in the file
|
||||
return last < DateTime.UtcNow ? last : DateTime.MinValue;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -80,7 +95,7 @@ namespace MediaBrowser.Common.Implementations.Security
|
|||
{
|
||||
string[] contents = null;
|
||||
var licenseFile = Filename;
|
||||
lock (_lck)
|
||||
lock (_fileLock)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -95,13 +110,19 @@ namespace MediaBrowser.Common.Implementations.Security
|
|||
{
|
||||
//first line is reg key
|
||||
RegKey = contents[0];
|
||||
|
||||
//next is legacy key
|
||||
if (contents.Length > 1) LegacyKey = contents[1];
|
||||
if (contents.Length > 1)
|
||||
{
|
||||
// Don't need this anymore
|
||||
}
|
||||
|
||||
//the rest of the lines should be pairs of features and timestamps
|
||||
for (var i = 2; i < contents.Length; i = i + 2)
|
||||
{
|
||||
var feat = Guid.Parse(contents[i]);
|
||||
UpdateRecords[feat] = new DateTime(Convert.ToInt64(contents[i + 1]));
|
||||
|
||||
SetUpdateRecord(feat, new DateTime(Convert.ToInt64(contents[i + 1])));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -109,16 +130,24 @@ namespace MediaBrowser.Common.Implementations.Security
|
|||
public void Save()
|
||||
{
|
||||
//build our array
|
||||
var lines = new List<string> {RegKey, LegacyKey};
|
||||
foreach (var pair in UpdateRecords)
|
||||
var lines = new List<string>
|
||||
{
|
||||
RegKey,
|
||||
|
||||
// Legacy key
|
||||
string.Empty
|
||||
};
|
||||
|
||||
foreach (var pair in _updateRecords
|
||||
.ToList())
|
||||
{
|
||||
lines.Add(pair.Key.ToString());
|
||||
lines.Add(pair.Value.Ticks.ToString());
|
||||
lines.Add(pair.Value.Ticks.ToString(CultureInfo.InvariantCulture));
|
||||
}
|
||||
|
||||
var licenseFile = Filename;
|
||||
Directory.CreateDirectory(Path.GetDirectoryName(licenseFile));
|
||||
lock (_lck) File.WriteAllLines(licenseFile, lines);
|
||||
lock (_fileLock) File.WriteAllLines(licenseFile, lines);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ namespace MediaBrowser.Common.Implementations.Security
|
|||
public class PluginSecurityManager : ISecurityManager
|
||||
{
|
||||
private const string MBValidateUrl = Constants.Constants.MbAdminUrl + "service/registration/validate";
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// The _is MB supporter
|
||||
/// </summary>
|
||||
|
@ -45,12 +45,12 @@ namespace MediaBrowser.Common.Implementations.Security
|
|||
}
|
||||
}
|
||||
|
||||
private MBLicenseFile _licenseFile;
|
||||
private MBLicenseFile LicenseFile
|
||||
private MBLicenseFile _licenseFile;
|
||||
private MBLicenseFile LicenseFile
|
||||
{
|
||||
get { return _licenseFile ?? (_licenseFile = new MBLicenseFile(_appPaths)); }
|
||||
}
|
||||
|
||||
|
||||
private readonly IHttpClient _httpClient;
|
||||
private readonly IJsonSerializer _jsonSerializer;
|
||||
private readonly IApplicationHost _appHost;
|
||||
|
@ -123,7 +123,7 @@ namespace MediaBrowser.Common.Implementations.Security
|
|||
return GetRegistrationStatusInternal(feature, mb2Equivalent, version);
|
||||
}
|
||||
|
||||
public Task<MBRegistrationRecord> GetSupporterRegistrationStatus()
|
||||
private Task<MBRegistrationRecord> GetSupporterRegistrationStatus()
|
||||
{
|
||||
return GetRegistrationStatusInternal("MBSupporter", null, _appHost.ApplicationVersion.ToString());
|
||||
}
|
||||
|
@ -142,15 +142,49 @@ namespace MediaBrowser.Common.Implementations.Security
|
|||
{
|
||||
if (value != LicenseFile.RegKey)
|
||||
{
|
||||
LicenseFile.RegKey = value;
|
||||
LicenseFile.Save();
|
||||
|
||||
LicenseFile.RegKey = value;
|
||||
LicenseFile.Save();
|
||||
|
||||
// re-load registration info
|
||||
Task.Run(() => LoadAllRegistrationInfo());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<SupporterInfo> GetSupporterInfo()
|
||||
{
|
||||
var key = SupporterKey;
|
||||
|
||||
if (string.IsNullOrWhiteSpace(key))
|
||||
{
|
||||
return new SupporterInfo();
|
||||
}
|
||||
|
||||
var url = Constants.Constants.MbAdminUrl + "/service/supporter/retrieve?key=" + key;
|
||||
|
||||
using (var stream = await _httpClient.Get(url, CancellationToken.None).ConfigureAwait(false))
|
||||
{
|
||||
var response = _jsonSerializer.DeserializeFromStream<SuppporterInfoResponse>(stream);
|
||||
|
||||
|
||||
var info = new SupporterInfo
|
||||
{
|
||||
Email = response.email,
|
||||
PlanType = response.planType,
|
||||
SupporterKey = response.supporterKey,
|
||||
ExpirationDate = string.IsNullOrWhiteSpace(response.expDate) ? (DateTime?)null : DateTime.Parse(response.expDate),
|
||||
RegistrationDate = DateTime.Parse(response.regDate),
|
||||
IsActiveSupporter = IsMBSupporter
|
||||
};
|
||||
|
||||
info.IsExpiredSupporter = info.ExpirationDate.HasValue && info.ExpirationDate < DateTime.UtcNow && !string.IsNullOrWhiteSpace(info.SupporterKey);
|
||||
|
||||
// TODO: Now that we've pulled this down, might as well update the cached suppoter registrationinfo?
|
||||
|
||||
return info;
|
||||
}
|
||||
}
|
||||
|
||||
private async Task<MBRegistrationRecord> GetRegistrationStatusInternal(string feature,
|
||||
string mb2Equivalent = null,
|
||||
string version = null)
|
||||
|
@ -158,7 +192,7 @@ namespace MediaBrowser.Common.Implementations.Security
|
|||
//check the reg file first to alleviate strain on the MB admin server - must actually check in every 30 days tho
|
||||
var reg = new RegRecord
|
||||
{
|
||||
registered = LicenseFile.LastChecked(feature) > DateTime.UtcNow.AddDays(-15)
|
||||
registered = LicenseFile.LastChecked(feature) > DateTime.UtcNow.AddDays(-7)
|
||||
};
|
||||
|
||||
var success = reg.registered;
|
||||
|
@ -201,15 +235,33 @@ namespace MediaBrowser.Common.Implementations.Security
|
|||
}
|
||||
}
|
||||
|
||||
return new MBRegistrationRecord
|
||||
var record = new MBRegistrationRecord
|
||||
{
|
||||
IsRegistered = reg.registered,
|
||||
ExpirationDate = reg.expDate,
|
||||
RegChecked = true,
|
||||
RegError = !success
|
||||
};
|
||||
|
||||
record.TrialVersion = IsInTrial(reg.expDate, record.RegChecked, record.IsRegistered);
|
||||
record.IsValid = !record.RegChecked || (record.IsRegistered || record.TrialVersion);
|
||||
|
||||
return record;
|
||||
}
|
||||
|
||||
|
||||
private bool IsInTrial(DateTime expirationDate, bool regChecked, bool isRegistered)
|
||||
{
|
||||
//don't set this until we've successfully obtained exp date
|
||||
if (!regChecked)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
var isInTrial = expirationDate > DateTime.UtcNow;
|
||||
|
||||
return (isInTrial && !isRegistered);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Resets the supporter info.
|
||||
/// </summary>
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
|
||||
namespace MediaBrowser.Common.Implementations.Security
|
||||
{
|
||||
internal class SuppporterInfoResponse
|
||||
{
|
||||
public string email { get; set; }
|
||||
public string supporterKey { get; set; }
|
||||
public int totalRegs { get; set; }
|
||||
public int totalMachines { get; set; }
|
||||
public string expDate { get; set; }
|
||||
public string regDate { get; set; }
|
||||
public string planType { get; set; }
|
||||
}
|
||||
}
|
|
@ -39,5 +39,11 @@ namespace MediaBrowser.Common.Security
|
|||
/// </summary>
|
||||
/// <returns></returns>
|
||||
Task LoadAllRegistrationInfo();
|
||||
|
||||
/// <summary>
|
||||
/// Gets the supporter information.
|
||||
/// </summary>
|
||||
/// <returns>Task<SupporterInfo>.</returns>
|
||||
Task<SupporterInfo> GetSupporterInfo();
|
||||
}
|
||||
}
|
|
@ -7,6 +7,12 @@ namespace MediaBrowser.Controller.Net
|
|||
{
|
||||
public IAuthService AuthService { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets a value indicating whether or not to allow local unauthenticated access.
|
||||
/// </summary>
|
||||
/// <value><c>true</c> if [allow local]; otherwise, <c>false</c>.</value>
|
||||
public bool AllowLocal { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The request filter is executed before the service.
|
||||
/// </summary>
|
||||
|
@ -15,7 +21,7 @@ namespace MediaBrowser.Controller.Net
|
|||
/// <param name="requestDto">The request DTO</param>
|
||||
public void RequestFilter(IRequest request, IResponse response, object requestDto)
|
||||
{
|
||||
AuthService.Authenticate(request, response, requestDto);
|
||||
AuthService.Authenticate(request, response, requestDto, AllowLocal);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -4,6 +4,6 @@ namespace MediaBrowser.Controller.Net
|
|||
{
|
||||
public interface IAuthService
|
||||
{
|
||||
void Authenticate(IRequest request, IResponse response, object requestDto);
|
||||
void Authenticate(IRequest request, IResponse response, object requestDto, bool allowLocal);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,25 +5,21 @@ namespace MediaBrowser.Model.Entities
|
|||
public class MBRegistrationRecord
|
||||
{
|
||||
public DateTime ExpirationDate { get; set; }
|
||||
public bool IsRegistered { get; set;}
|
||||
public bool IsRegistered { get; set; }
|
||||
public bool RegChecked { get; set; }
|
||||
public bool RegError { get; set; }
|
||||
private bool? _isInTrial;
|
||||
public bool TrialVersion
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_isInTrial == null)
|
||||
{
|
||||
if (!RegChecked) return false; //don't set this until we've successfully obtained exp date
|
||||
_isInTrial = ExpirationDate > DateTime.Now;
|
||||
}
|
||||
return (_isInTrial.Value && !IsRegistered);
|
||||
}
|
||||
}
|
||||
public bool IsValid
|
||||
{
|
||||
get { return !RegChecked || (IsRegistered || TrialVersion); }
|
||||
}
|
||||
public bool TrialVersion { get; set; }
|
||||
public bool IsValid { get; set; }
|
||||
}
|
||||
|
||||
public class SupporterInfo
|
||||
{
|
||||
public string Email { get; set; }
|
||||
public string SupporterKey { get; set; }
|
||||
public DateTime? ExpirationDate { get; set; }
|
||||
public DateTime RegistrationDate { get; set; }
|
||||
public string PlanType { get; set; }
|
||||
public bool IsActiveSupporter { get; set; }
|
||||
public bool IsExpiredSupporter { get; set; }
|
||||
}
|
||||
}
|
|
@ -2,6 +2,8 @@
|
|||
using MediaBrowser.Controller.Plugins;
|
||||
using MediaBrowser.Model.Logging;
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MediaBrowser.Server.Implementations.EntryPoints
|
||||
{
|
||||
|
@ -20,6 +22,8 @@ namespace MediaBrowser.Server.Implementations.EntryPoints
|
|||
/// </summary>
|
||||
private readonly ILogger _logger;
|
||||
|
||||
private Timer _timer;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="LoadRegistrations" /> class.
|
||||
/// </summary>
|
||||
|
@ -35,7 +39,12 @@ namespace MediaBrowser.Server.Implementations.EntryPoints
|
|||
/// <summary>
|
||||
/// Runs this instance.
|
||||
/// </summary>
|
||||
public async void Run()
|
||||
public void Run()
|
||||
{
|
||||
_timer = new Timer(s => LoadAllRegistrations(), null, TimeSpan.FromMilliseconds(100), TimeSpan.FromHours(24));
|
||||
}
|
||||
|
||||
private async Task LoadAllRegistrations()
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -52,6 +61,11 @@ namespace MediaBrowser.Server.Implementations.EntryPoints
|
|||
/// </summary>
|
||||
public void Dispose()
|
||||
{
|
||||
if (_timer != null)
|
||||
{
|
||||
_timer.Dispose();
|
||||
_timer = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,6 +14,7 @@ using ServiceStack.Host.HttpListener;
|
|||
using ServiceStack.Logging;
|
||||
using ServiceStack.Web;
|
||||
using System;
|
||||
using System.Collections.Concurrent;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
|
@ -39,13 +40,15 @@ namespace MediaBrowser.Server.Implementations.HttpServer
|
|||
|
||||
public event EventHandler<WebSocketConnectEventArgs> WebSocketConnected;
|
||||
|
||||
private readonly ConcurrentDictionary<string, string> _localEndPoints = new ConcurrentDictionary<string, string>(StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
/// <summary>
|
||||
/// Gets the local end points.
|
||||
/// </summary>
|
||||
/// <value>The local end points.</value>
|
||||
public IEnumerable<string> LocalEndPoints
|
||||
{
|
||||
get { return _listener == null ? new List<string>() : _listener.LocalEndPoints; }
|
||||
get { return _listener == null ? new List<string>() : _localEndPoints.Keys.ToList(); }
|
||||
}
|
||||
|
||||
public HttpListenerHost(IApplicationHost applicationHost, ILogManager logManager, string serviceName, string handlerPath, string defaultRedirectPath, params Assembly[] assembliesWithServices)
|
||||
|
@ -151,6 +154,11 @@ namespace MediaBrowser.Server.Implementations.HttpServer
|
|||
return this;
|
||||
}
|
||||
|
||||
private void OnRequestReceived(string localEndPoint)
|
||||
{
|
||||
_localEndPoints.GetOrAdd(localEndPoint, localEndPoint);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Starts the Web Service
|
||||
/// </summary>
|
||||
|
@ -159,9 +167,9 @@ namespace MediaBrowser.Server.Implementations.HttpServer
|
|||
HostContext.Config.HandlerFactoryPath = ListenerRequest.GetHandlerPathIfAny(UrlPrefixes.First());
|
||||
|
||||
_listener = NativeWebSocket.IsSupported
|
||||
? _listener = new HttpListenerServer(_logger)
|
||||
? _listener = new HttpListenerServer(_logger, OnRequestReceived)
|
||||
//? _listener = new WebSocketSharpListener(_logger)
|
||||
: _listener = new WebSocketSharpListener(_logger);
|
||||
: _listener = new WebSocketSharpListener(_logger, OnRequestReceived);
|
||||
|
||||
_listener.WebSocketHandler = WebSocketHandler;
|
||||
_listener.ErrorHandler = ErrorHandler;
|
||||
|
|
|
@ -8,8 +8,6 @@ namespace MediaBrowser.Server.Implementations.HttpServer
|
|||
{
|
||||
public interface IHttpListener : IDisposable
|
||||
{
|
||||
IEnumerable<string> LocalEndPoints { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the error handler.
|
||||
/// </summary>
|
||||
|
|
|
@ -4,7 +4,6 @@ using ServiceStack;
|
|||
using ServiceStack.Host.HttpListener;
|
||||
using ServiceStack.Web;
|
||||
using System;
|
||||
using System.Collections.Concurrent;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
|
@ -20,26 +19,18 @@ namespace MediaBrowser.Server.Implementations.HttpServer.NetListener
|
|||
private HttpListener _listener;
|
||||
private readonly AutoResetEvent _listenForNextRequest = new AutoResetEvent(false);
|
||||
|
||||
public System.Action<Exception, IRequest> ErrorHandler { get; set; }
|
||||
public Action<Exception, IRequest> ErrorHandler { get; set; }
|
||||
public Action<WebSocketConnectEventArgs> WebSocketHandler { get; set; }
|
||||
public System.Func<IHttpRequest, Uri, Task> RequestHandler { get; set; }
|
||||
public Func<IHttpRequest, Uri, Task> RequestHandler { get; set; }
|
||||
|
||||
private readonly ConcurrentDictionary<string, string> _localEndPoints = new ConcurrentDictionary<string, string>(StringComparer.OrdinalIgnoreCase);
|
||||
private readonly Action<string> _endpointListener;
|
||||
|
||||
public HttpListenerServer(ILogger logger)
|
||||
public HttpListenerServer(ILogger logger, Action<string> endpointListener)
|
||||
{
|
||||
_logger = logger;
|
||||
_endpointListener = endpointListener;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the local end points.
|
||||
/// </summary>
|
||||
/// <value>The local end points.</value>
|
||||
public IEnumerable<string> LocalEndPoints
|
||||
{
|
||||
get { return _localEndPoints.Keys.ToList(); }
|
||||
}
|
||||
|
||||
private List<string> UrlPrefixes { get; set; }
|
||||
|
||||
public void Start(IEnumerable<string> urlPrefixes)
|
||||
|
@ -47,7 +38,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer.NetListener
|
|||
UrlPrefixes = urlPrefixes.ToList();
|
||||
|
||||
if (_listener == null)
|
||||
_listener = new System.Net.HttpListener();
|
||||
_listener = new HttpListener();
|
||||
|
||||
//HostContext.Config.HandlerFactoryPath = ListenerRequest.GetHandlerPathIfAny(UrlPrefixes.First());
|
||||
|
||||
|
@ -229,7 +220,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer.NetListener
|
|||
{
|
||||
var address = endpoint.ToString();
|
||||
|
||||
_localEndPoints.GetOrAdd(address, address);
|
||||
_endpointListener(address);
|
||||
}
|
||||
|
||||
LogRequest(_logger, request);
|
||||
|
|
|
@ -42,7 +42,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer.Security
|
|||
/// </summary>
|
||||
public string HtmlRedirect { get; set; }
|
||||
|
||||
public void Authenticate(IRequest req, IResponse res, object requestDto)
|
||||
public void Authenticate(IRequest req, IResponse res, object requestDto, bool allowLocal)
|
||||
{
|
||||
if (HostContext.HasValidAuthSecret(req))
|
||||
return;
|
||||
|
@ -50,13 +50,13 @@ namespace MediaBrowser.Server.Implementations.HttpServer.Security
|
|||
//ExecuteBasic(req, res, requestDto); //first check if session is authenticated
|
||||
//if (res.IsClosed) return; //AuthenticateAttribute already closed the request (ie auth failed)
|
||||
|
||||
ValidateUser(req);
|
||||
ValidateUser(req, allowLocal);
|
||||
}
|
||||
|
||||
// TODO: Remove this when all clients have supported the new sescurity
|
||||
private readonly List<string> _updatedClients = new List<string>(){"Dashboard"};
|
||||
private readonly List<string> _updatedClients = new List<string>() { "Dashboard", "Chromecast" };
|
||||
|
||||
private void ValidateUser(IRequest req)
|
||||
private void ValidateUser(IRequest req, bool allowLocal)
|
||||
{
|
||||
//This code is executed before the service
|
||||
var auth = AuthorizationContext.GetAuthorizationInfo(req);
|
||||
|
@ -65,7 +65,10 @@ namespace MediaBrowser.Server.Implementations.HttpServer.Security
|
|||
|| _config.Configuration.EnableTokenAuthentication
|
||||
|| _updatedClients.Contains(auth.Client ?? string.Empty, StringComparer.OrdinalIgnoreCase))
|
||||
{
|
||||
SessionManager.ValidateSecurityToken(auth.Token);
|
||||
if (!allowLocal || !req.IsLocal)
|
||||
{
|
||||
SessionManager.ValidateSecurityToken(auth.Token);
|
||||
}
|
||||
}
|
||||
|
||||
var user = string.IsNullOrWhiteSpace(auth.UserId)
|
||||
|
@ -96,35 +99,6 @@ namespace MediaBrowser.Server.Implementations.HttpServer.Security
|
|||
}
|
||||
}
|
||||
|
||||
private void ExecuteBasic(IRequest req, IResponse res, object requestDto)
|
||||
{
|
||||
if (AuthenticateService.AuthProviders == null)
|
||||
throw new InvalidOperationException(
|
||||
"The AuthService must be initialized by calling AuthService.Init to use an authenticate attribute");
|
||||
|
||||
var matchingOAuthConfigs = AuthenticateService.AuthProviders.Where(x =>
|
||||
this.Provider.IsNullOrEmpty()
|
||||
|| x.Provider == this.Provider).ToList();
|
||||
|
||||
if (matchingOAuthConfigs.Count == 0)
|
||||
{
|
||||
res.WriteError(req, requestDto, "No OAuth Configs found matching {0} provider"
|
||||
.Fmt(this.Provider ?? "any"));
|
||||
res.EndRequest();
|
||||
}
|
||||
|
||||
matchingOAuthConfigs.OfType<IAuthWithRequest>()
|
||||
.Each(x => x.PreAuthenticate(req, res));
|
||||
|
||||
var session = req.GetSession();
|
||||
if (session == null || !matchingOAuthConfigs.Any(x => session.IsAuthorized(x.Provider)))
|
||||
{
|
||||
if (this.DoHtmlRedirectIfConfigured(req, res, true)) return;
|
||||
|
||||
AuthProvider.HandleFailedAuth(matchingOAuthConfigs[0], session, req, res);
|
||||
}
|
||||
}
|
||||
|
||||
protected bool DoHtmlRedirectIfConfigured(IRequest req, IResponse res, bool includeRedirectParam = false)
|
||||
{
|
||||
var htmlRedirect = this.HtmlRedirect ?? AuthenticateService.HtmlRedirect;
|
||||
|
|
|
@ -3,7 +3,6 @@ using MediaBrowser.Model.Logging;
|
|||
using ServiceStack;
|
||||
using ServiceStack.Web;
|
||||
using System;
|
||||
using System.Collections.Concurrent;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
@ -15,20 +14,16 @@ namespace MediaBrowser.Server.Implementations.HttpServer.SocketSharp
|
|||
{
|
||||
public class WebSocketSharpListener : IHttpListener
|
||||
{
|
||||
private readonly ConcurrentDictionary<string, string> _localEndPoints = new ConcurrentDictionary<string, string>(StringComparer.OrdinalIgnoreCase);
|
||||
private WebSocketSharp.Net.HttpListener _listener;
|
||||
private readonly AutoResetEvent _listenForNextRequest = new AutoResetEvent(false);
|
||||
|
||||
private readonly ILogger _logger;
|
||||
private readonly Action<string> _endpointListener;
|
||||
|
||||
public WebSocketSharpListener(ILogger logger)
|
||||
public WebSocketSharpListener(ILogger logger, Action<string> endpointListener)
|
||||
{
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
public IEnumerable<string> LocalEndPoints
|
||||
{
|
||||
get { return _localEndPoints.Keys.ToList(); }
|
||||
_endpointListener = endpointListener;
|
||||
}
|
||||
|
||||
public Action<Exception, IRequest> ErrorHandler { get; set; }
|
||||
|
@ -170,7 +165,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer.SocketSharp
|
|||
{
|
||||
var address = endpoint.ToString();
|
||||
|
||||
_localEndPoints.GetOrAdd(address, address);
|
||||
_endpointListener(address);
|
||||
}
|
||||
|
||||
LogRequest(_logger, request);
|
||||
|
|
|
@ -429,5 +429,14 @@
|
|||
"TabMusicVideos": "\u0645\u0648\u0633\u064a\u0642\u0649 \u0627\u0644\u0641\u064a\u062f\u064a\u0648",
|
||||
"BirthPlaceValue": "Birth place: {0}",
|
||||
"DeathDateValue": "Died: {0}",
|
||||
"BirthDateValue": "Born: {0}"
|
||||
"BirthDateValue": "Born: {0}",
|
||||
"HeaderLatestReviews": "Latest Reviews",
|
||||
"HeaderPluginInstallation": "Plugin Installation",
|
||||
"MessageAlreadyInstalled": "This version is already installed.",
|
||||
"ValueReviewCount": "{0} Reviews",
|
||||
"MessageYouHaveVersionInstalled": "You currently have version {0} installed.",
|
||||
"MessageTrialExpired": "The trial period for this feature has expired",
|
||||
"MessageTrialWillExpireIn": "The trial period for this feature will expire in {0} day(s)",
|
||||
"MessageInstallPluginFromApp": "This plugin must be installed from with in the app you intend to use it in.",
|
||||
"ValuePriceUSD": "Price: {0} (USD)"
|
||||
}
|
|
@ -429,5 +429,14 @@
|
|||
"TabMusicVideos": "Music Videos",
|
||||
"BirthPlaceValue": "Birth place: {0}",
|
||||
"DeathDateValue": "Died: {0}",
|
||||
"BirthDateValue": "Born: {0}"
|
||||
"BirthDateValue": "Born: {0}",
|
||||
"HeaderLatestReviews": "Latest Reviews",
|
||||
"HeaderPluginInstallation": "Plugin Installation",
|
||||
"MessageAlreadyInstalled": "This version is already installed.",
|
||||
"ValueReviewCount": "{0} Reviews",
|
||||
"MessageYouHaveVersionInstalled": "You currently have version {0} installed.",
|
||||
"MessageTrialExpired": "The trial period for this feature has expired",
|
||||
"MessageTrialWillExpireIn": "The trial period for this feature will expire in {0} day(s)",
|
||||
"MessageInstallPluginFromApp": "This plugin must be installed from with in the app you intend to use it in.",
|
||||
"ValuePriceUSD": "Price: {0} (USD)"
|
||||
}
|
|
@ -429,5 +429,14 @@
|
|||
"TabMusicVideos": "Hudebn\u00ed videa",
|
||||
"BirthPlaceValue": "Birth place: {0}",
|
||||
"DeathDateValue": "Died: {0}",
|
||||
"BirthDateValue": "Born: {0}"
|
||||
"BirthDateValue": "Born: {0}",
|
||||
"HeaderLatestReviews": "Latest Reviews",
|
||||
"HeaderPluginInstallation": "Plugin Installation",
|
||||
"MessageAlreadyInstalled": "This version is already installed.",
|
||||
"ValueReviewCount": "{0} Reviews",
|
||||
"MessageYouHaveVersionInstalled": "You currently have version {0} installed.",
|
||||
"MessageTrialExpired": "The trial period for this feature has expired",
|
||||
"MessageTrialWillExpireIn": "The trial period for this feature will expire in {0} day(s)",
|
||||
"MessageInstallPluginFromApp": "This plugin must be installed from with in the app you intend to use it in.",
|
||||
"ValuePriceUSD": "Price: {0} (USD)"
|
||||
}
|
|
@ -429,5 +429,14 @@
|
|||
"TabMusicVideos": "Musik Videoer",
|
||||
"BirthPlaceValue": "Birth place: {0}",
|
||||
"DeathDateValue": "Died: {0}",
|
||||
"BirthDateValue": "Born: {0}"
|
||||
"BirthDateValue": "Born: {0}",
|
||||
"HeaderLatestReviews": "Latest Reviews",
|
||||
"HeaderPluginInstallation": "Plugin Installation",
|
||||
"MessageAlreadyInstalled": "This version is already installed.",
|
||||
"ValueReviewCount": "{0} Reviews",
|
||||
"MessageYouHaveVersionInstalled": "You currently have version {0} installed.",
|
||||
"MessageTrialExpired": "The trial period for this feature has expired",
|
||||
"MessageTrialWillExpireIn": "The trial period for this feature will expire in {0} day(s)",
|
||||
"MessageInstallPluginFromApp": "This plugin must be installed from with in the app you intend to use it in.",
|
||||
"ValuePriceUSD": "Price: {0} (USD)"
|
||||
}
|
|
@ -429,5 +429,14 @@
|
|||
"TabMusicVideos": "Musikvideos",
|
||||
"BirthPlaceValue": "Geburtsort: {0}",
|
||||
"DeathDateValue": "Gestorben: {0}",
|
||||
"BirthDateValue": "Geboren: {0}"
|
||||
"BirthDateValue": "Geboren: {0}",
|
||||
"HeaderLatestReviews": "Latest Reviews",
|
||||
"HeaderPluginInstallation": "Plugin Installation",
|
||||
"MessageAlreadyInstalled": "This version is already installed.",
|
||||
"ValueReviewCount": "{0} Reviews",
|
||||
"MessageYouHaveVersionInstalled": "You currently have version {0} installed.",
|
||||
"MessageTrialExpired": "The trial period for this feature has expired",
|
||||
"MessageTrialWillExpireIn": "The trial period for this feature will expire in {0} day(s)",
|
||||
"MessageInstallPluginFromApp": "This plugin must be installed from with in the app you intend to use it in.",
|
||||
"ValuePriceUSD": "Price: {0} (USD)"
|
||||
}
|
|
@ -429,5 +429,14 @@
|
|||
"TabMusicVideos": "\u039c\u03bf\u03c5\u03c3\u03b9\u03ba\u03ac \u03b2\u03af\u03bd\u03c4\u03b5\u03bf",
|
||||
"BirthPlaceValue": "Birth place: {0}",
|
||||
"DeathDateValue": "Died: {0}",
|
||||
"BirthDateValue": "Born: {0}"
|
||||
"BirthDateValue": "Born: {0}",
|
||||
"HeaderLatestReviews": "Latest Reviews",
|
||||
"HeaderPluginInstallation": "Plugin Installation",
|
||||
"MessageAlreadyInstalled": "This version is already installed.",
|
||||
"ValueReviewCount": "{0} Reviews",
|
||||
"MessageYouHaveVersionInstalled": "You currently have version {0} installed.",
|
||||
"MessageTrialExpired": "The trial period for this feature has expired",
|
||||
"MessageTrialWillExpireIn": "The trial period for this feature will expire in {0} day(s)",
|
||||
"MessageInstallPluginFromApp": "This plugin must be installed from with in the app you intend to use it in.",
|
||||
"ValuePriceUSD": "Price: {0} (USD)"
|
||||
}
|
|
@ -429,5 +429,14 @@
|
|||
"TabMusicVideos": "Music Videos",
|
||||
"BirthPlaceValue": "Birth place: {0}",
|
||||
"DeathDateValue": "Died: {0}",
|
||||
"BirthDateValue": "Born: {0}"
|
||||
"BirthDateValue": "Born: {0}",
|
||||
"HeaderLatestReviews": "Latest Reviews",
|
||||
"HeaderPluginInstallation": "Plugin Installation",
|
||||
"MessageAlreadyInstalled": "This version is already installed.",
|
||||
"ValueReviewCount": "{0} Reviews",
|
||||
"MessageYouHaveVersionInstalled": "You currently have version {0} installed.",
|
||||
"MessageTrialExpired": "The trial period for this feature has expired",
|
||||
"MessageTrialWillExpireIn": "The trial period for this feature will expire in {0} day(s)",
|
||||
"MessageInstallPluginFromApp": "This plugin must be installed from with in the app you intend to use it in.",
|
||||
"ValuePriceUSD": "Price: {0} (USD)"
|
||||
}
|
|
@ -429,5 +429,14 @@
|
|||
"TabMusicVideos": "Music Videos",
|
||||
"BirthPlaceValue": "Birth place: {0}",
|
||||
"DeathDateValue": "Died: {0}",
|
||||
"BirthDateValue": "Born: {0}"
|
||||
"BirthDateValue": "Born: {0}",
|
||||
"HeaderLatestReviews": "Latest Reviews",
|
||||
"HeaderPluginInstallation": "Plugin Installation",
|
||||
"MessageAlreadyInstalled": "This version is already installed.",
|
||||
"ValueReviewCount": "{0} Reviews",
|
||||
"MessageYouHaveVersionInstalled": "You currently have version {0} installed.",
|
||||
"MessageTrialExpired": "The trial period for this feature has expired",
|
||||
"MessageTrialWillExpireIn": "The trial period for this feature will expire in {0} day(s)",
|
||||
"MessageInstallPluginFromApp": "This plugin must be installed from with in the app you intend to use it in.",
|
||||
"ValuePriceUSD": "Price: {0} (USD)"
|
||||
}
|
|
@ -429,5 +429,14 @@
|
|||
"TabMusicVideos": "Videos Musicales",
|
||||
"BirthPlaceValue": "Birth place: {0}",
|
||||
"DeathDateValue": "Died: {0}",
|
||||
"BirthDateValue": "Born: {0}"
|
||||
"BirthDateValue": "Born: {0}",
|
||||
"HeaderLatestReviews": "Latest Reviews",
|
||||
"HeaderPluginInstallation": "Plugin Installation",
|
||||
"MessageAlreadyInstalled": "This version is already installed.",
|
||||
"ValueReviewCount": "{0} Reviews",
|
||||
"MessageYouHaveVersionInstalled": "You currently have version {0} installed.",
|
||||
"MessageTrialExpired": "The trial period for this feature has expired",
|
||||
"MessageTrialWillExpireIn": "The trial period for this feature will expire in {0} day(s)",
|
||||
"MessageInstallPluginFromApp": "This plugin must be installed from with in the app you intend to use it in.",
|
||||
"ValuePriceUSD": "Price: {0} (USD)"
|
||||
}
|
|
@ -429,5 +429,14 @@
|
|||
"TabMusicVideos": "Videos Musicales",
|
||||
"BirthPlaceValue": "Lugar de nacimiento: {0}",
|
||||
"DeathDateValue": "Fallcimiento: {0}",
|
||||
"BirthDateValue": "Nacimiento: {0}"
|
||||
"BirthDateValue": "Nacimiento: {0}",
|
||||
"HeaderLatestReviews": "Latest Reviews",
|
||||
"HeaderPluginInstallation": "Plugin Installation",
|
||||
"MessageAlreadyInstalled": "This version is already installed.",
|
||||
"ValueReviewCount": "{0} Reviews",
|
||||
"MessageYouHaveVersionInstalled": "You currently have version {0} installed.",
|
||||
"MessageTrialExpired": "The trial period for this feature has expired",
|
||||
"MessageTrialWillExpireIn": "The trial period for this feature will expire in {0} day(s)",
|
||||
"MessageInstallPluginFromApp": "This plugin must be installed from with in the app you intend to use it in.",
|
||||
"ValuePriceUSD": "Price: {0} (USD)"
|
||||
}
|
|
@ -429,5 +429,14 @@
|
|||
"TabMusicVideos": "Videos musicales",
|
||||
"BirthPlaceValue": "Birth place: {0}",
|
||||
"DeathDateValue": "Died: {0}",
|
||||
"BirthDateValue": "Born: {0}"
|
||||
"BirthDateValue": "Born: {0}",
|
||||
"HeaderLatestReviews": "Latest Reviews",
|
||||
"HeaderPluginInstallation": "Plugin Installation",
|
||||
"MessageAlreadyInstalled": "This version is already installed.",
|
||||
"ValueReviewCount": "{0} Reviews",
|
||||
"MessageYouHaveVersionInstalled": "You currently have version {0} installed.",
|
||||
"MessageTrialExpired": "The trial period for this feature has expired",
|
||||
"MessageTrialWillExpireIn": "The trial period for this feature will expire in {0} day(s)",
|
||||
"MessageInstallPluginFromApp": "This plugin must be installed from with in the app you intend to use it in.",
|
||||
"ValuePriceUSD": "Price: {0} (USD)"
|
||||
}
|
|
@ -429,5 +429,14 @@
|
|||
"TabMusicVideos": "\u05e7\u05dc\u05d9\u05e4\u05d9\u05dd",
|
||||
"BirthPlaceValue": "Birth place: {0}",
|
||||
"DeathDateValue": "Died: {0}",
|
||||
"BirthDateValue": "Born: {0}"
|
||||
"BirthDateValue": "Born: {0}",
|
||||
"HeaderLatestReviews": "Latest Reviews",
|
||||
"HeaderPluginInstallation": "Plugin Installation",
|
||||
"MessageAlreadyInstalled": "This version is already installed.",
|
||||
"ValueReviewCount": "{0} Reviews",
|
||||
"MessageYouHaveVersionInstalled": "You currently have version {0} installed.",
|
||||
"MessageTrialExpired": "The trial period for this feature has expired",
|
||||
"MessageTrialWillExpireIn": "The trial period for this feature will expire in {0} day(s)",
|
||||
"MessageInstallPluginFromApp": "This plugin must be installed from with in the app you intend to use it in.",
|
||||
"ValuePriceUSD": "Price: {0} (USD)"
|
||||
}
|
|
@ -429,5 +429,14 @@
|
|||
"TabMusicVideos": "Video Musicali",
|
||||
"BirthPlaceValue": "Birth place: {0}",
|
||||
"DeathDateValue": "Died: {0}",
|
||||
"BirthDateValue": "Born: {0}"
|
||||
"BirthDateValue": "Born: {0}",
|
||||
"HeaderLatestReviews": "Latest Reviews",
|
||||
"HeaderPluginInstallation": "Plugin Installation",
|
||||
"MessageAlreadyInstalled": "This version is already installed.",
|
||||
"ValueReviewCount": "{0} Reviews",
|
||||
"MessageYouHaveVersionInstalled": "You currently have version {0} installed.",
|
||||
"MessageTrialExpired": "The trial period for this feature has expired",
|
||||
"MessageTrialWillExpireIn": "The trial period for this feature will expire in {0} day(s)",
|
||||
"MessageInstallPluginFromApp": "This plugin must be installed from with in the app you intend to use it in.",
|
||||
"ValuePriceUSD": "Price: {0} (USD)"
|
||||
}
|
|
@ -383,58 +383,67 @@
|
|||
"LabelImageFetchersHelp": "Enable and rank your preferred image fetchers in order of priority.",
|
||||
"ButtonQueueAllFromHere": "Queue all from here",
|
||||
"ButtonPlayAllFromHere": "Play all from here",
|
||||
"LabelDynamicExternalId": "{0} Id:",
|
||||
"HeaderIdentify": "Identify Item",
|
||||
"PersonTypePerson": "Person",
|
||||
"LabelTitleDisplayOrder": "Title display order:",
|
||||
"OptionSortName": "Sort name",
|
||||
"OptionReleaseDate": "Release date",
|
||||
"LabelSeasonNumber": "Season number:",
|
||||
"LabelDiscNumber": "Disc number",
|
||||
"LabelParentNumber": "Parent number",
|
||||
"LabelEpisodeNumber": "Episode number:",
|
||||
"LabelTrackNumber": "Track number:",
|
||||
"LabelNumber": "Number:",
|
||||
"LabelReleaseDate": "Release date:",
|
||||
"LabelEndDate": "End date:",
|
||||
"LabelYear": "Year:",
|
||||
"LabelDateOfBirth": "Date of birth:",
|
||||
"LabelBirthYear": "Birth year:",
|
||||
"LabelDeathDate": "Death date:",
|
||||
"HeaderRemoveMediaLocation": "Remove Media Location",
|
||||
"MessageConfirmRemoveMediaLocation": "Are you sure you wish to remove this location?",
|
||||
"HeaderRenameMediaFolder": "Rename Media Folder",
|
||||
"LabelNewName": "New name:",
|
||||
"HeaderAddMediaFolder": "Add Media Folder",
|
||||
"HeaderAddMediaFolderHelp": "Name (Movies, Music, TV, etc):",
|
||||
"HeaderRemoveMediaFolder": "Remove Media Folder",
|
||||
"MessageTheFollowingLocationWillBeRemovedFromLibrary": "The following media locations will be removed from your library:",
|
||||
"MessageAreYouSureYouWishToRemoveMediaFolder": "Are you sure you wish to remove this media folder?",
|
||||
"ButtonRename": "Rename",
|
||||
"ButtonChangeType": "Change type",
|
||||
"ButtonRemove": "Remove",
|
||||
"HeaderMediaLocations": "Media Locations",
|
||||
"LabelFolderTypeValue": "Folder type: {0}",
|
||||
"LabelPathSubstitutionHelp": "Optional: Path substitution can map server paths to network shares that clients can access for direct playback.",
|
||||
"FolderTypeMixed": "Mixed movies & tv",
|
||||
"FolderTypeMovies": "Movies",
|
||||
"FolderTypeMusic": "Music",
|
||||
"FolderTypeAdultVideos": "Adult videos",
|
||||
"FolderTypePhotos": "Photos",
|
||||
"FolderTypeMusicVideos": "Music videos",
|
||||
"FolderTypeHomeVideos": "Home videos",
|
||||
"FolderTypeGames": "Games",
|
||||
"FolderTypeBooks": "Books",
|
||||
"FolderTypeTvShows": "TV shows",
|
||||
"TabMovies": "Movies",
|
||||
"TabSeries": "Series",
|
||||
"TabEpisodes": "Episodes",
|
||||
"TabTrailers": "Trailers",
|
||||
"TabGames": "Games",
|
||||
"TabAlbums": "Albums",
|
||||
"TabSongs": "Songs",
|
||||
"TabMusicVideos": "Music Videos",
|
||||
"BirthPlaceValue": "Birth place: {0}",
|
||||
"DeathDateValue": "Died: {0}",
|
||||
"BirthDateValue": "Born: {0}"
|
||||
"LabelDynamicExternalId": "{0} Id:",
|
||||
"HeaderIdentify": "Identify Item",
|
||||
"PersonTypePerson": "Person",
|
||||
"LabelTitleDisplayOrder": "Title display order:",
|
||||
"OptionSortName": "Sort name",
|
||||
"OptionReleaseDate": "Release date",
|
||||
"LabelSeasonNumber": "Season number:",
|
||||
"LabelDiscNumber": "Disc number",
|
||||
"LabelParentNumber": "Parent number",
|
||||
"LabelEpisodeNumber": "Episode number:",
|
||||
"LabelTrackNumber": "Track number:",
|
||||
"LabelNumber": "Number:",
|
||||
"LabelReleaseDate": "Release date:",
|
||||
"LabelEndDate": "End date:",
|
||||
"LabelYear": "Year:",
|
||||
"LabelDateOfBirth": "Date of birth:",
|
||||
"LabelBirthYear": "Birth year:",
|
||||
"LabelDeathDate": "Death date:",
|
||||
"HeaderRemoveMediaLocation": "Remove Media Location",
|
||||
"MessageConfirmRemoveMediaLocation": "Are you sure you wish to remove this location?",
|
||||
"HeaderRenameMediaFolder": "Rename Media Folder",
|
||||
"LabelNewName": "New name:",
|
||||
"HeaderAddMediaFolder": "Add Media Folder",
|
||||
"HeaderAddMediaFolderHelp": "Name (Movies, Music, TV, etc):",
|
||||
"HeaderRemoveMediaFolder": "Remove Media Folder",
|
||||
"MessageTheFollowingLocationWillBeRemovedFromLibrary": "The following media locations will be removed from your library:",
|
||||
"MessageAreYouSureYouWishToRemoveMediaFolder": "Are you sure you wish to remove this media folder?",
|
||||
"ButtonRename": "Rename",
|
||||
"ButtonChangeType": "Change type",
|
||||
"ButtonRemove": "Remove",
|
||||
"HeaderMediaLocations": "Media Locations",
|
||||
"LabelFolderTypeValue": "Folder type: {0}",
|
||||
"LabelPathSubstitutionHelp": "Optional: Path substitution can map server paths to network shares that clients can access for direct playback.",
|
||||
"FolderTypeMixed": "Mixed movies & tv",
|
||||
"FolderTypeMovies": "Movies",
|
||||
"FolderTypeMusic": "Music",
|
||||
"FolderTypeAdultVideos": "Adult videos",
|
||||
"FolderTypePhotos": "Photos",
|
||||
"FolderTypeMusicVideos": "Music videos",
|
||||
"FolderTypeHomeVideos": "Home videos",
|
||||
"FolderTypeGames": "Games",
|
||||
"FolderTypeBooks": "Books",
|
||||
"FolderTypeTvShows": "TV shows",
|
||||
"TabMovies": "Movies",
|
||||
"TabSeries": "Series",
|
||||
"TabEpisodes": "Episodes",
|
||||
"TabTrailers": "Trailers",
|
||||
"TabGames": "Games",
|
||||
"TabAlbums": "Albums",
|
||||
"TabSongs": "Songs",
|
||||
"TabMusicVideos": "Music Videos",
|
||||
"BirthPlaceValue": "Birth place: {0}",
|
||||
"DeathDateValue": "Died: {0}",
|
||||
"BirthDateValue": "Born: {0}",
|
||||
"HeaderLatestReviews": "Latest Reviews",
|
||||
"HeaderPluginInstallation": "Plugin Installation",
|
||||
"MessageAlreadyInstalled": "This version is already installed.",
|
||||
"ValueReviewCount": "{0} Reviews",
|
||||
"MessageYouHaveVersionInstalled": "You currently have version {0} installed.",
|
||||
"MessageTrialExpired": "The trial period for this feature has expired",
|
||||
"MessageTrialWillExpireIn": "The trial period for this feature will expire in {0} day(s)",
|
||||
"MessageInstallPluginFromApp": "This plugin must be installed from with in the app you intend to use it in.",
|
||||
"ValuePriceUSD": "Price: {0} (USD)"
|
||||
}
|
||||
|
|
|
@ -132,14 +132,14 @@
|
|||
"HeaderRatingsDownloads": "\u0411\u0430\u0493\u0430\u043b\u0430\u0443 \/ \u0416\u04af\u043a\u0442\u0435\u0443\u043b\u0435\u0440",
|
||||
"HeaderConfirmProfileDeletion": "\u041f\u0440\u043e\u0444\u0430\u0439\u043b \u0436\u043e\u044e\u0434\u044b \u0440\u0430\u0441\u0442\u0430\u0443",
|
||||
"MessageConfirmProfileDeletion": "\u0428\u044b\u043d\u044b\u043c\u0435\u043d \u043e\u0441\u044b \u043f\u0440\u043e\u0444\u0430\u0439\u043b\u0434\u044b \u0436\u043e\u044e \u049b\u0430\u0436\u0435\u0442 \u043f\u0435?",
|
||||
"HeaderSelectServerCachePath": "Server Cache \u049b\u0430\u043b\u0442\u0430\u0441\u044b \u0436\u043e\u043b\u044b\u043d \u0442\u0430\u04a3\u0434\u0430\u0443",
|
||||
"HeaderSelectTranscodingPath": "Transcoding Temporary \u049b\u0430\u043b\u0442\u0430\u0441\u044b \u0436\u043e\u043b\u044b\u043d \u0442\u0430\u04a3\u0434\u0430\u0443",
|
||||
"HeaderSelectImagesByNamePath": "Images By Name \u049b\u0430\u043b\u0442\u0430\u0441\u044b \u0436\u043e\u043b\u044b\u043d \u0442\u0430\u04a3\u0434\u0430\u0443",
|
||||
"HeaderSelectMetadataPath": "Metadata \u049b\u0430\u043b\u0442\u0430\u0441\u044b \u0436\u043e\u043b\u044b\u043d \u0442\u0430\u04a3\u0434\u0430\u0443",
|
||||
"HeaderSelectServerCachePathHelp": "Server cache \u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b\u043d \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443 \u04af\u0448\u0456\u043d \u0436\u043e\u043b\u0434\u044b \u0448\u043e\u043b\u044b\u04a3\u044b\u0437 \u043d\u0435\u043c\u0435\u0441\u0435 \u0435\u043d\u0433\u0456\u0437\u0456\u04a3\u0456\u0437. \u041e\u0441\u044b \u049b\u0430\u043b\u0442\u0430 \u0436\u0430\u0437\u0443 \u04af\u0448\u0456\u043d \u049b\u043e\u043b \u0436\u0435\u0442\u0456\u043c\u0434\u0456 \u0431\u043e\u043b\u0443\u044b \u049b\u0430\u0436\u0435\u0442.",
|
||||
"HeaderSelectTranscodingPathHelp": "Transcoding temporary \u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b\u043d \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443 \u04af\u0448\u0456\u043d \u0436\u043e\u043b\u0434\u044b \u0448\u043e\u043b\u044b\u04a3\u044b\u0437 \u043d\u0435\u043c\u0435\u0441\u0435 \u0435\u043d\u0433\u0456\u0437\u0456\u04a3\u0456\u0437. \u041e\u0441\u044b \u049b\u0430\u043b\u0442\u0430 \u0436\u0430\u0437\u0443 \u04af\u0448\u0456\u043d \u049b\u043e\u043b \u0436\u0435\u0442\u0456\u043c\u0434\u0456 \u0431\u043e\u043b\u0443\u044b \u049b\u0430\u0436\u0435\u0442.",
|
||||
"HeaderSelectImagesByNamePathHelp": "Items by name \u049b\u0430\u043b\u0442\u0430\u0441\u044b \u04af\u0448\u0456\u043d \u0436\u043e\u043b\u0434\u044b \u0448\u043e\u043b\u044b\u04a3\u044b\u0437 \u043d\u0435\u043c\u0435\u0441\u0435 \u0435\u043d\u0433\u0456\u0437\u0456\u04a3\u0456\u0437. \u041e\u0441\u044b \u049b\u0430\u043b\u0442\u0430 \u0436\u0430\u0437\u0443 \u04af\u0448\u0456\u043d \u049b\u043e\u043b \u0436\u0435\u0442\u0456\u043c\u0434\u0456 \u0431\u043e\u043b\u0443\u044b \u049b\u0430\u0436\u0435\u0442.",
|
||||
"HeaderSelectMetadataPathHelp": "Metadata \u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b\u043d \u0441\u0430\u049b\u0442\u0430\u0443 \u04af\u0448\u0456\u043d \u0436\u043e\u043b\u0434\u044b \u0448\u043e\u043b\u044b\u04a3\u044b\u0437 \u043d\u0435\u043c\u0435\u0441\u0435 \u0435\u043d\u0433\u0456\u0437\u0456\u04a3\u0456\u0437. \u041e\u0441\u044b \u049b\u0430\u043b\u0442\u0430 \u0436\u0430\u0437\u0443 \u04af\u0448\u0456\u043d \u049b\u043e\u043b \u0436\u0435\u0442\u0456\u043c\u0434\u0456 \u0431\u043e\u043b\u0443\u044b \u049b\u0430\u0436\u0435\u0442.",
|
||||
"HeaderSelectServerCachePath": "\u0421\u0435\u0440\u0432\u0435\u0440 \u043a\u0435\u0448\u0456\u043d\u0456\u04a3 \u0436\u043e\u043b\u044b\u043d \u0442\u0430\u04a3\u0434\u0430\u0443",
|
||||
"HeaderSelectTranscodingPath": "\u049a\u0430\u0439\u0442\u0430 \u043a\u043e\u0434\u0442\u0430\u0443\u0434\u044b\u04a3 \u0443\u0430\u049b\u044b\u0442\u0448\u0430 \u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b\u0435\u044b\u04a3 \u0436\u043e\u043b\u044b\u043d \u0442\u0430\u04a3\u0434\u0430\u0443",
|
||||
"HeaderSelectImagesByNamePath": "\u0410\u0442\u044b \u0431\u043e\u0439\u044b\u043d\u0448\u0430 \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440 \u0436\u043e\u043b\u044b\u043d \u0442\u0430\u04a3\u0434\u0430\u0443",
|
||||
"HeaderSelectMetadataPath": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u0436\u043e\u043b\u044b\u043d \u0442\u0430\u04a3\u0434\u0430\u0443",
|
||||
"HeaderSelectServerCachePathHelp": "\u0421\u0435\u0440\u0432\u0435\u0440\u0434\u0456\u04a3 \u043a\u0435\u0448 \u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b\u043d \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443 \u04af\u0448\u0456\u043d \u0436\u043e\u043b\u0434\u044b \u0448\u043e\u043b\u044b\u04a3\u044b\u0437 \u043d\u0435\u043c\u0435\u0441\u0435 \u0435\u043d\u0433\u0456\u0437\u0456\u04a3\u0456\u0437. \u041e\u0441\u044b \u049b\u0430\u043b\u0442\u0430 \u0436\u0430\u0437\u0443 \u04af\u0448\u0456\u043d \u049b\u043e\u043b \u0436\u0435\u0442\u0456\u043c\u0434\u0456 \u0431\u043e\u043b\u0443\u044b \u049b\u0430\u0436\u0435\u0442.",
|
||||
"HeaderSelectTranscodingPathHelp": "\u049a\u0430\u0439\u0442\u0430 \u043a\u043e\u0434\u0442\u0430\u0443\u0434\u044b\u04a3 \u0443\u0430\u049b\u044b\u0442\u0448\u0430 \u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b\u043d \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443 \u04af\u0448\u0456\u043d \u0436\u043e\u043b\u0434\u044b \u0448\u043e\u043b\u044b\u04a3\u044b\u0437 \u043d\u0435\u043c\u0435\u0441\u0435 \u0435\u043d\u0433\u0456\u0437\u0456\u04a3\u0456\u0437. \u041e\u0441\u044b \u049b\u0430\u043b\u0442\u0430 \u0436\u0430\u0437\u0443 \u04af\u0448\u0456\u043d \u049b\u043e\u043b \u0436\u0435\u0442\u0456\u043c\u0434\u0456 \u0431\u043e\u043b\u0443\u044b \u049b\u0430\u0436\u0435\u0442.",
|
||||
"HeaderSelectImagesByNamePathHelp": "\u0410\u0442\u044b \u0431\u043e\u0439\u044b\u043d\u0448\u0430 \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440 \u04af\u0448\u0456\u043d \u0436\u043e\u043b\u0434\u044b \u0448\u043e\u043b\u044b\u04a3\u044b\u0437 \u043d\u0435\u043c\u0435\u0441\u0435 \u0435\u043d\u0433\u0456\u0437\u0456\u04a3\u0456\u0437. \u041e\u0441\u044b \u049b\u0430\u043b\u0442\u0430 \u0436\u0430\u0437\u0443 \u04af\u0448\u0456\u043d \u049b\u043e\u043b \u0436\u0435\u0442\u0456\u043c\u0434\u0456 \u0431\u043e\u043b\u0443\u044b \u049b\u0430\u0436\u0435\u0442.",
|
||||
"HeaderSelectMetadataPathHelp": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u0441\u0430\u049b\u0442\u0430\u0443 \u04af\u0448\u0456\u043d \u0436\u043e\u043b\u0434\u044b \u0448\u043e\u043b\u044b\u04a3\u044b\u0437 \u043d\u0435\u043c\u0435\u0441\u0435 \u0435\u043d\u0433\u0456\u0437\u0456\u04a3\u0456\u0437. \u041e\u0441\u044b \u049b\u0430\u043b\u0442\u0430 \u0436\u0430\u0437\u0443 \u04af\u0448\u0456\u043d \u049b\u043e\u043b \u0436\u0435\u0442\u0456\u043c\u0434\u0456 \u0431\u043e\u043b\u0443\u044b \u049b\u0430\u0436\u0435\u0442.",
|
||||
"HeaderSelectChannelDownloadPath": "\u0410\u0440\u043d\u0430 \u0436\u04af\u043a\u0442\u0435\u0443 \u0436\u043e\u043b\u044b\u043d \u0442\u0430\u04a3\u0434\u0430\u04a3\u044b\u0437",
|
||||
"HeaderSelectChannelDownloadPathHelp": "\u0410\u0440\u043d\u0430 \u043a\u0435\u0448\u0456 \u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b\u043d \u0441\u0430\u049b\u0442\u0430\u043f \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443 \u04af\u0448\u0456\u043d \u0436\u043e\u043b\u0434\u044b \u0448\u043e\u043b\u044b\u04a3\u044b\u0437 \u043d\u0435\u043c\u0435\u0441\u0435 \u0435\u043d\u0433\u0456\u0437\u0456\u04a3\u0456\u0437. \u041e\u0441\u044b \u049b\u0430\u043b\u0442\u0430 \u0436\u0430\u0437\u0443 \u04af\u0448\u0456\u043d \u049b\u043e\u043b \u0436\u0435\u0442\u0456\u043c\u0434\u0456 \u0431\u043e\u043b\u0443\u044b \u049b\u0430\u0436\u0435\u0442.",
|
||||
"OptionNewCollection": "\u0416\u0430\u04a3\u0430...",
|
||||
|
@ -275,7 +275,7 @@
|
|||
"OptionGenres": "\u0416\u0430\u043d\u0440\u043b\u0430\u0440",
|
||||
"OptionParentalRating": "\u0416\u0430\u0441\u0442\u0430\u0441 \u0441\u0430\u043d\u0430\u0442",
|
||||
"OptionPeople": "\u0410\u0434\u0430\u043c\u0434\u0430\u0440",
|
||||
"OptionRuntime": "\u041e\u0440\u044b\u043d\u0434\u0430\u0443 \u0443\u0430\u049b\u044b\u0442\u044b",
|
||||
"OptionRuntime": "\u04b0\u0437\u0430\u049b\u0442\u044b\u0493\u044b",
|
||||
"OptionProductionLocations": "\u04e8\u043d\u0434\u0456\u0440\u0443 \u043e\u0440\u044b\u043d\u0434\u0430\u0440\u044b",
|
||||
"OptionBirthLocation": "\u0422\u0443\u0493\u0430\u043d \u043e\u0440\u043d\u044b",
|
||||
"LabelAllChannels": "\u0411\u0430\u0440\u043b\u044b\u049b \u0430\u0440\u043d\u0430\u043b\u0430\u0440",
|
||||
|
@ -429,5 +429,14 @@
|
|||
"TabMusicVideos": "\u0411\u0435\u0439\u043d\u0435\u043a\u043b\u0438\u043f\u0442\u0435\u0440",
|
||||
"BirthPlaceValue": "\u0422\u0443\u0493\u0430\u043d \u043e\u0440\u043d\u044b: {0}",
|
||||
"DeathDateValue": "\u04e8\u043b\u0433\u0435\u043d\u0456: {0}",
|
||||
"BirthDateValue": "\u0422\u0443\u0493\u0430\u043d\u044b: {0}"
|
||||
"BirthDateValue": "\u0422\u0443\u0493\u0430\u043d\u044b: {0}",
|
||||
"HeaderLatestReviews": "\u0415\u04a3 \u043a\u0435\u0439\u0456\u043d\u0433\u0456 \u043f\u0456\u043a\u0456\u0440\u043b\u0435\u0440",
|
||||
"HeaderPluginInstallation": "\u041f\u043b\u0430\u0433\u0438\u043d \u043e\u0440\u043d\u0430\u0442\u044b\u043c\u044b",
|
||||
"MessageAlreadyInstalled": "\u041e\u0441\u044b \u043d\u04b1\u0441\u049b\u0430 \u0431\u04b1\u0440\u044b\u043d\u043d\u0430\u043d \u043e\u0440\u043d\u0430\u0442\u044b\u043b\u0493\u0430\u043d.",
|
||||
"ValueReviewCount": "{0} \u043f\u0456\u043a\u0456\u0440",
|
||||
"MessageYouHaveVersionInstalled": "\u049a\u0430\u0437\u0456\u0440 {0} \u043e\u0440\u043d\u0430\u0442\u044b\u043b\u0493\u0430\u043d",
|
||||
"MessageTrialExpired": "\u041e\u0441\u044b \u043c\u04af\u043c\u043a\u0456\u043d\u0434\u0456\u043a \u04af\u0448\u0456\u043d \u0442\u0430\u043d\u044b\u0441\u0442\u044b\u0440\u0443 \u043a\u0435\u0437\u0435\u04a3\u0456\u043d\u0456\u04a3 \u043c\u0435\u0440\u0437\u0456\u043c\u0456 \u04e9\u0442\u0442\u0456",
|
||||
"MessageTrialWillExpireIn": "\u041e\u0441\u044b \u043c\u04af\u043c\u043a\u0456\u043d\u0434\u0456\u043a \u04af\u0448\u0456\u043d \u0442\u0430\u043d\u044b\u0441\u0442\u044b\u0440\u0443 \u043a\u0435\u0437\u0435\u04a3\u0456\u043d\u0456\u04a3 \u043c\u0435\u0440\u0437\u0456\u043c\u0456 {0} \u043a\u04af\u043d\u0434\u0435 \u04e9\u0442\u0435\u0434\u0456",
|
||||
"MessageInstallPluginFromApp": "This plugin must be installed from with in the app you intend to use it in.",
|
||||
"ValuePriceUSD": "\u0411\u0430\u0493\u0430\u0441\u044b: {0} USD"
|
||||
}
|
|
@ -429,5 +429,14 @@
|
|||
"TabMusicVideos": "Music Videos",
|
||||
"BirthPlaceValue": "Birth place: {0}",
|
||||
"DeathDateValue": "Died: {0}",
|
||||
"BirthDateValue": "Born: {0}"
|
||||
"BirthDateValue": "Born: {0}",
|
||||
"HeaderLatestReviews": "Latest Reviews",
|
||||
"HeaderPluginInstallation": "Plugin Installation",
|
||||
"MessageAlreadyInstalled": "This version is already installed.",
|
||||
"ValueReviewCount": "{0} Reviews",
|
||||
"MessageYouHaveVersionInstalled": "You currently have version {0} installed.",
|
||||
"MessageTrialExpired": "The trial period for this feature has expired",
|
||||
"MessageTrialWillExpireIn": "The trial period for this feature will expire in {0} day(s)",
|
||||
"MessageInstallPluginFromApp": "This plugin must be installed from with in the app you intend to use it in.",
|
||||
"ValuePriceUSD": "Price: {0} (USD)"
|
||||
}
|
|
@ -429,5 +429,14 @@
|
|||
"TabMusicVideos": "Musikk-videoer",
|
||||
"BirthPlaceValue": "Birth place: {0}",
|
||||
"DeathDateValue": "Died: {0}",
|
||||
"BirthDateValue": "Born: {0}"
|
||||
"BirthDateValue": "Born: {0}",
|
||||
"HeaderLatestReviews": "Latest Reviews",
|
||||
"HeaderPluginInstallation": "Plugin Installation",
|
||||
"MessageAlreadyInstalled": "This version is already installed.",
|
||||
"ValueReviewCount": "{0} Reviews",
|
||||
"MessageYouHaveVersionInstalled": "You currently have version {0} installed.",
|
||||
"MessageTrialExpired": "The trial period for this feature has expired",
|
||||
"MessageTrialWillExpireIn": "The trial period for this feature will expire in {0} day(s)",
|
||||
"MessageInstallPluginFromApp": "This plugin must be installed from with in the app you intend to use it in.",
|
||||
"ValuePriceUSD": "Price: {0} (USD)"
|
||||
}
|
|
@ -429,5 +429,14 @@
|
|||
"TabMusicVideos": "Music Videos",
|
||||
"BirthPlaceValue": "Geboorte plaats: {0})",
|
||||
"DeathDateValue": "Overleden: {0}",
|
||||
"BirthDateValue": "Geboren: {0}"
|
||||
"BirthDateValue": "Geboren: {0}",
|
||||
"HeaderLatestReviews": "Latest Reviews",
|
||||
"HeaderPluginInstallation": "Plugin Installation",
|
||||
"MessageAlreadyInstalled": "This version is already installed.",
|
||||
"ValueReviewCount": "{0} Reviews",
|
||||
"MessageYouHaveVersionInstalled": "You currently have version {0} installed.",
|
||||
"MessageTrialExpired": "The trial period for this feature has expired",
|
||||
"MessageTrialWillExpireIn": "The trial period for this feature will expire in {0} day(s)",
|
||||
"MessageInstallPluginFromApp": "This plugin must be installed from with in the app you intend to use it in.",
|
||||
"ValuePriceUSD": "Price: {0} (USD)"
|
||||
}
|
|
@ -429,5 +429,14 @@
|
|||
"TabMusicVideos": "Teledyski",
|
||||
"BirthPlaceValue": "Birth place: {0}",
|
||||
"DeathDateValue": "Died: {0}",
|
||||
"BirthDateValue": "Born: {0}"
|
||||
"BirthDateValue": "Born: {0}",
|
||||
"HeaderLatestReviews": "Latest Reviews",
|
||||
"HeaderPluginInstallation": "Plugin Installation",
|
||||
"MessageAlreadyInstalled": "This version is already installed.",
|
||||
"ValueReviewCount": "{0} Reviews",
|
||||
"MessageYouHaveVersionInstalled": "You currently have version {0} installed.",
|
||||
"MessageTrialExpired": "The trial period for this feature has expired",
|
||||
"MessageTrialWillExpireIn": "The trial period for this feature will expire in {0} day(s)",
|
||||
"MessageInstallPluginFromApp": "This plugin must be installed from with in the app you intend to use it in.",
|
||||
"ValuePriceUSD": "Price: {0} (USD)"
|
||||
}
|
|
@ -58,14 +58,14 @@
|
|||
"ButtonMute": "Mudo",
|
||||
"ButtonUnmute": "Remover Mudo",
|
||||
"ButtonStop": "Parar",
|
||||
"ButtonNextTrack": "Faixa seguinte",
|
||||
"ButtonNextTrack": "Pr\u00f3xima Faixa",
|
||||
"ButtonPause": "Pausar",
|
||||
"ButtonPlay": "Reproduzir",
|
||||
"ButtonEdit": "Editar",
|
||||
"ButtonQueue": "Adicionar \u00e0 fila",
|
||||
"ButtonPlayTrailer": "Reproduzir trailer",
|
||||
"ButtonPlaylist": "Lista de reprodu\u00e7\u00e3o",
|
||||
"ButtonPreviousTrack": "Faixa anterior",
|
||||
"ButtonPreviousTrack": "Faixa Anterior",
|
||||
"LabelEnabled": "Ativada",
|
||||
"LabelDisabled": "Desativada",
|
||||
"ButtonMoreInformation": "Mais informa\u00e7\u00f5es",
|
||||
|
@ -429,5 +429,14 @@
|
|||
"TabMusicVideos": "V\u00eddeos Musicais",
|
||||
"BirthPlaceValue": "Local de nascimento: {0}",
|
||||
"DeathDateValue": "Morte: {0}",
|
||||
"BirthDateValue": "Nascimento: {0}"
|
||||
"BirthDateValue": "Nascimento: {0}",
|
||||
"HeaderLatestReviews": "Latest Reviews",
|
||||
"HeaderPluginInstallation": "Plugin Installation",
|
||||
"MessageAlreadyInstalled": "This version is already installed.",
|
||||
"ValueReviewCount": "{0} Reviews",
|
||||
"MessageYouHaveVersionInstalled": "You currently have version {0} installed.",
|
||||
"MessageTrialExpired": "The trial period for this feature has expired",
|
||||
"MessageTrialWillExpireIn": "The trial period for this feature will expire in {0} day(s)",
|
||||
"MessageInstallPluginFromApp": "This plugin must be installed from with in the app you intend to use it in.",
|
||||
"ValuePriceUSD": "Price: {0} (USD)"
|
||||
}
|
|
@ -429,5 +429,14 @@
|
|||
"TabMusicVideos": "Videos Musicais",
|
||||
"BirthPlaceValue": "Birth place: {0}",
|
||||
"DeathDateValue": "Died: {0}",
|
||||
"BirthDateValue": "Born: {0}"
|
||||
"BirthDateValue": "Born: {0}",
|
||||
"HeaderLatestReviews": "Latest Reviews",
|
||||
"HeaderPluginInstallation": "Plugin Installation",
|
||||
"MessageAlreadyInstalled": "This version is already installed.",
|
||||
"ValueReviewCount": "{0} Reviews",
|
||||
"MessageYouHaveVersionInstalled": "You currently have version {0} installed.",
|
||||
"MessageTrialExpired": "The trial period for this feature has expired",
|
||||
"MessageTrialWillExpireIn": "The trial period for this feature will expire in {0} day(s)",
|
||||
"MessageInstallPluginFromApp": "This plugin must be installed from with in the app you intend to use it in.",
|
||||
"ValuePriceUSD": "Price: {0} (USD)"
|
||||
}
|
|
@ -137,7 +137,7 @@
|
|||
"HeaderSelectImagesByNamePath": "\u0412\u044b\u0431\u043e\u0440 \u043f\u0443\u0442\u0438 \u0434\u043b\u044f \u043f\u0430\u043f\u043a\u0438 Images By Name",
|
||||
"HeaderSelectMetadataPath": "\u0412\u044b\u0431\u043e\u0440 \u043f\u0443\u0442\u0438 \u0434\u043b\u044f \u043f\u0430\u043f\u043a\u0438 Metadata",
|
||||
"HeaderSelectServerCachePathHelp": "\u041f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043a \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0443 \u0438\u043b\u0438 \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043f\u0443\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0444\u0430\u0439\u043b\u043e\u0432 server cache. \u041f\u0430\u043f\u043a\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438.",
|
||||
"HeaderSelectTranscodingPathHelp": "\u041f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043a \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0443 \u0438\u043b\u0438 \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043f\u0443\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0444\u0430\u0439\u043b\u043e\u0432 transcoding temporary. \u041f\u0430\u043f\u043a\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438.",
|
||||
"HeaderSelectTranscodingPathHelp": "\u041f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043a \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0443 \u0438\u043b\u0438 \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043f\u0443\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u043f\u0435\u0440\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438. \u041f\u0430\u043f\u043a\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438.",
|
||||
"HeaderSelectImagesByNamePathHelp": "\u041f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043a \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0443 \u0438\u043b\u0438 \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043f\u0443\u0442\u044c \u043a \u043f\u0430\u043f\u043a\u0435 items by name. \u041f\u0430\u043f\u043a\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438.",
|
||||
"HeaderSelectMetadataPathHelp": "\u041f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043a \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0443 \u0438\u043b\u0438 \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0439 \u043f\u0443\u0442\u044c \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0432\u043d\u0443\u0442\u0440\u0438 \u0444\u0430\u0439\u043b\u043e\u0432 metadata. \u041f\u0430\u043f\u043a\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438.",
|
||||
"HeaderSelectChannelDownloadPath": "\u0412\u044b\u0431\u043e\u0440 \u043f\u0443\u0442\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043a\u0430\u043d\u0430\u043b\u043e\u0432",
|
||||
|
@ -288,7 +288,7 @@
|
|||
"HeaderAlert": "\u041e\u043f\u043e\u0432\u0435\u0449\u0435\u043d\u0438\u0435",
|
||||
"MessagePleaseRestart": "\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044c \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435.",
|
||||
"ButtonRestart": "\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c",
|
||||
"MessagePleaseRefreshPage": "\u041f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u0434\u0430\u043d\u043d\u0443\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430.",
|
||||
"MessagePleaseRefreshPage": "\u0410\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0439\u0442\u0435 \u0434\u0430\u043d\u043d\u0443\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430.",
|
||||
"ButtonHide": "\u0421\u043a\u0440\u044b\u0442\u044c",
|
||||
"MessageSettingsSaved": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u044b.",
|
||||
"ButtonSignOut": "\u0412\u044b\u0439\u0442\u0438",
|
||||
|
@ -429,5 +429,14 @@
|
|||
"TabMusicVideos": "\u041a\u043b\u0438\u043f\u044b",
|
||||
"BirthPlaceValue": "\u041c\u0435\u0441\u0442\u043e \u0440\u043e\u0436\u0434\u0435\u043d\u0438\u044f: {0}",
|
||||
"DeathDateValue": "\u041a\u043e\u043d\u0447\u0438\u043d\u0430: {0}",
|
||||
"BirthDateValue": "\u0420\u043e\u0436\u0434\u0435\u043d\u0438\u0435: {0}"
|
||||
"BirthDateValue": "\u0420\u043e\u0436\u0434\u0435\u043d\u0438\u0435: {0}",
|
||||
"HeaderLatestReviews": "\u041d\u043e\u0432\u0438\u043d\u043a\u0438 \u043e\u0442\u0437\u044b\u0432\u043e\u0432",
|
||||
"HeaderPluginInstallation": "\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043f\u043b\u0430\u0433\u0438\u043d\u0430",
|
||||
"MessageAlreadyInstalled": "\u0414\u0430\u043d\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0443\u0436\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430.",
|
||||
"ValueReviewCount": "\u041e\u0442\u0437\u044b\u0432\u043e\u0432: {0}",
|
||||
"MessageYouHaveVersionInstalled": "\u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u0432\u0435\u0440\u0441\u0438\u044f {0}.",
|
||||
"MessageTrialExpired": "\u041f\u0440\u043e\u0431\u043d\u044b\u0439 \u043f\u0435\u0440\u0438\u043e\u0434 \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u0441\u0442\u0451\u043a",
|
||||
"MessageTrialWillExpireIn": "\u041f\u0440\u043e\u0431\u043d\u044b\u0439 \u043f\u0435\u0440\u0438\u043e\u0434 \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u0441\u0442\u0435\u0447\u0451\u0442 \u0447\u0435\u0440\u0435\u0437 {0} \u0434\u043d\u0435\u0439",
|
||||
"MessageInstallPluginFromApp": "\u0414\u0430\u043d\u043d\u044b\u0439 \u043f\u043b\u0430\u0433\u0438\u043d \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e \u0441 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043e \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f.",
|
||||
"ValuePriceUSD": "\u0426\u0435\u043d\u0430: {0} USD"
|
||||
}
|
|
@ -429,5 +429,14 @@
|
|||
"TabMusicVideos": "Musikvideor",
|
||||
"BirthPlaceValue": "Birth place: {0}",
|
||||
"DeathDateValue": "Died: {0}",
|
||||
"BirthDateValue": "Born: {0}"
|
||||
"BirthDateValue": "Born: {0}",
|
||||
"HeaderLatestReviews": "Latest Reviews",
|
||||
"HeaderPluginInstallation": "Plugin Installation",
|
||||
"MessageAlreadyInstalled": "This version is already installed.",
|
||||
"ValueReviewCount": "{0} Reviews",
|
||||
"MessageYouHaveVersionInstalled": "You currently have version {0} installed.",
|
||||
"MessageTrialExpired": "The trial period for this feature has expired",
|
||||
"MessageTrialWillExpireIn": "The trial period for this feature will expire in {0} day(s)",
|
||||
"MessageInstallPluginFromApp": "This plugin must be installed from with in the app you intend to use it in.",
|
||||
"ValuePriceUSD": "Price: {0} (USD)"
|
||||
}
|
|
@ -429,5 +429,14 @@
|
|||
"TabMusicVideos": "Klipler",
|
||||
"BirthPlaceValue": "Birth place: {0}",
|
||||
"DeathDateValue": "Died: {0}",
|
||||
"BirthDateValue": "Born: {0}"
|
||||
"BirthDateValue": "Born: {0}",
|
||||
"HeaderLatestReviews": "Latest Reviews",
|
||||
"HeaderPluginInstallation": "Plugin Installation",
|
||||
"MessageAlreadyInstalled": "This version is already installed.",
|
||||
"ValueReviewCount": "{0} Reviews",
|
||||
"MessageYouHaveVersionInstalled": "You currently have version {0} installed.",
|
||||
"MessageTrialExpired": "The trial period for this feature has expired",
|
||||
"MessageTrialWillExpireIn": "The trial period for this feature will expire in {0} day(s)",
|
||||
"MessageInstallPluginFromApp": "This plugin must be installed from with in the app you intend to use it in.",
|
||||
"ValuePriceUSD": "Price: {0} (USD)"
|
||||
}
|
|
@ -429,5 +429,14 @@
|
|||
"TabMusicVideos": "C\u00e1c video \u00e2m nh\u1ea1c",
|
||||
"BirthPlaceValue": "Birth place: {0}",
|
||||
"DeathDateValue": "Died: {0}",
|
||||
"BirthDateValue": "Born: {0}"
|
||||
"BirthDateValue": "Born: {0}",
|
||||
"HeaderLatestReviews": "Latest Reviews",
|
||||
"HeaderPluginInstallation": "Plugin Installation",
|
||||
"MessageAlreadyInstalled": "This version is already installed.",
|
||||
"ValueReviewCount": "{0} Reviews",
|
||||
"MessageYouHaveVersionInstalled": "You currently have version {0} installed.",
|
||||
"MessageTrialExpired": "The trial period for this feature has expired",
|
||||
"MessageTrialWillExpireIn": "The trial period for this feature will expire in {0} day(s)",
|
||||
"MessageInstallPluginFromApp": "This plugin must be installed from with in the app you intend to use it in.",
|
||||
"ValuePriceUSD": "Price: {0} (USD)"
|
||||
}
|
|
@ -429,5 +429,14 @@
|
|||
"TabMusicVideos": "Music Videos",
|
||||
"BirthPlaceValue": "Birth place: {0}",
|
||||
"DeathDateValue": "Died: {0}",
|
||||
"BirthDateValue": "Born: {0}"
|
||||
"BirthDateValue": "Born: {0}",
|
||||
"HeaderLatestReviews": "Latest Reviews",
|
||||
"HeaderPluginInstallation": "Plugin Installation",
|
||||
"MessageAlreadyInstalled": "This version is already installed.",
|
||||
"ValueReviewCount": "{0} Reviews",
|
||||
"MessageYouHaveVersionInstalled": "You currently have version {0} installed.",
|
||||
"MessageTrialExpired": "The trial period for this feature has expired",
|
||||
"MessageTrialWillExpireIn": "The trial period for this feature will expire in {0} day(s)",
|
||||
"MessageInstallPluginFromApp": "This plugin must be installed from with in the app you intend to use it in.",
|
||||
"ValuePriceUSD": "Price: {0} (USD)"
|
||||
}
|
|
@ -192,15 +192,25 @@
|
|||
"TabUpcoming": "\u0627\u0644\u0642\u0627\u062f\u0645",
|
||||
"HeaderPhotoInfo": "Photo Info",
|
||||
"TabShows": "\u0627\u0644\u0645\u0633\u0644\u0633\u0644\u0627\u062a",
|
||||
"HeaderInstall": "Install",
|
||||
"TabEpisodes": "\u0627\u0644\u062d\u0644\u0642\u0627\u062a",
|
||||
"LabelSelectVersionToInstall": "Select version to install:",
|
||||
"TabGenres": "\u0627\u0646\u0648\u0627\u0639",
|
||||
"LinkSupporterMembership": "Learn about the Supporter Membership",
|
||||
"TabPeople": "\u0627\u0644\u0646\u0627\u0633",
|
||||
"MessageSupporterPluginRequiresMembership": "This plugin will require an active supporter membership after the 14 day free trial.",
|
||||
"TabNetworks": "\u0627\u0644\u0634\u0628\u0643\u0627\u062a",
|
||||
"MessagePremiumPluginRequiresMembership": "This plugin will require an active supporter membership in order to purchase after the 14 day free trial.",
|
||||
"HeaderUsers": "\u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646",
|
||||
"HeaderReviews": "Reviews",
|
||||
"HeaderFilters": "\u0641\u0644\u062a\u0631\u0627\u062a:",
|
||||
"HeaderDeveloperInfo": "Developer Info",
|
||||
"ButtonFilter": "\u0641\u0644\u062a\u0631",
|
||||
"HeaderRevisionHistory": "Revision History",
|
||||
"OptionFavorite": "\u0627\u0644\u0645\u0641\u0636\u0644\u0627\u062a",
|
||||
"ButtonViewWebsite": "View website",
|
||||
"OptionLikes": "\u0645\u062d\u0628\u0628",
|
||||
"LabelRecurringDonationCanBeCancelledHelp": "Recurring donations can be cancelled at any time from within your PayPal account.",
|
||||
"OptionDislikes": "\u0645\u0643\u0631\u0648\u0647",
|
||||
"OptionActors": "\u0627\u0644\u0645\u0645\u062b\u0644\u0648\u0646",
|
||||
"OptionGuestStars": "\u0636\u064a\u0648\u0641",
|
||||
|
|
|
@ -192,15 +192,25 @@
|
|||
"TabUpcoming": "Upcoming",
|
||||
"HeaderPhotoInfo": "Photo Info",
|
||||
"TabShows": "Shows",
|
||||
"HeaderInstall": "Install",
|
||||
"TabEpisodes": "Episodes",
|
||||
"LabelSelectVersionToInstall": "Select version to install:",
|
||||
"TabGenres": "Genres",
|
||||
"LinkSupporterMembership": "Learn about the Supporter Membership",
|
||||
"TabPeople": "People",
|
||||
"MessageSupporterPluginRequiresMembership": "This plugin will require an active supporter membership after the 14 day free trial.",
|
||||
"TabNetworks": "Networks",
|
||||
"MessagePremiumPluginRequiresMembership": "This plugin will require an active supporter membership in order to purchase after the 14 day free trial.",
|
||||
"HeaderUsers": "Users",
|
||||
"HeaderReviews": "Reviews",
|
||||
"HeaderFilters": "Filters:",
|
||||
"HeaderDeveloperInfo": "Developer Info",
|
||||
"ButtonFilter": "Filter",
|
||||
"HeaderRevisionHistory": "Revision History",
|
||||
"OptionFavorite": "Favorites",
|
||||
"ButtonViewWebsite": "View website",
|
||||
"OptionLikes": "Likes",
|
||||
"LabelRecurringDonationCanBeCancelledHelp": "Recurring donations can be cancelled at any time from within your PayPal account.",
|
||||
"OptionDislikes": "Dislikes",
|
||||
"OptionActors": "Actors",
|
||||
"OptionGuestStars": "Guest Stars",
|
||||
|
|
|
@ -192,15 +192,25 @@
|
|||
"TabUpcoming": "Kommende",
|
||||
"HeaderPhotoInfo": "Photo Info",
|
||||
"TabShows": "Shows",
|
||||
"HeaderInstall": "Install",
|
||||
"TabEpisodes": "Episoder",
|
||||
"LabelSelectVersionToInstall": "Select version to install:",
|
||||
"TabGenres": "Genre",
|
||||
"LinkSupporterMembership": "Learn about the Supporter Membership",
|
||||
"TabPeople": "Personer",
|
||||
"MessageSupporterPluginRequiresMembership": "This plugin will require an active supporter membership after the 14 day free trial.",
|
||||
"TabNetworks": "Netv\u00e6rk",
|
||||
"MessagePremiumPluginRequiresMembership": "This plugin will require an active supporter membership in order to purchase after the 14 day free trial.",
|
||||
"HeaderUsers": "Brugere",
|
||||
"HeaderReviews": "Reviews",
|
||||
"HeaderFilters": "Filtre:",
|
||||
"HeaderDeveloperInfo": "Developer Info",
|
||||
"ButtonFilter": "Filter",
|
||||
"HeaderRevisionHistory": "Revision History",
|
||||
"OptionFavorite": "Favoritter",
|
||||
"ButtonViewWebsite": "View website",
|
||||
"OptionLikes": "Likes",
|
||||
"LabelRecurringDonationCanBeCancelledHelp": "Recurring donations can be cancelled at any time from within your PayPal account.",
|
||||
"OptionDislikes": "Dislikes",
|
||||
"OptionActors": "Skuespillere",
|
||||
"OptionGuestStars": "G\u00e6ste Stjerner",
|
||||
|
|
|
@ -158,7 +158,7 @@
|
|||
"LabelNewPasswordConfirm": "Neues Passwort wiederhohlen:",
|
||||
"OptionMakeOneTimeDonation": "Mache eine einmalige Spende",
|
||||
"HeaderCreatePassword": "Erstelle Passwort",
|
||||
"OptionOneTimeDescription": "This is an additional donation to the team to show your support. It does not have any additional benefits.",
|
||||
"OptionOneTimeDescription": "Das ist eine zus\u00e4tzliche Spende an das Team, um deine Unterst\u00fctzung zu zeigen. Dies bringt keine zus\u00e4tzlichen Vorteile.",
|
||||
"LabelCurrentPassword": "Aktuelles Passwort:",
|
||||
"OptionLifeTimeSupporterClubMembership": "Lebensl\u00e4ngliche Unterst\u00fctzer Club Mitgliedschaft",
|
||||
"LabelMaxParentalRating": "H\u00f6chste erlaubte elterlich Bewertung:",
|
||||
|
@ -184,23 +184,33 @@
|
|||
"MessageNothingHere": "Nichts hier.",
|
||||
"OptionWriter": "Drehbuchautor",
|
||||
"MessagePleaseEnsureInternetMetadata": "Bitte sicherstellen, dass das Herunterladen von Internet Metadaten aktiviert ist.",
|
||||
"LabelAirDays": "Air days:",
|
||||
"LabelAirDays": "Ausstrahlungstage:",
|
||||
"TabSuggested": "Vorgeschlagen",
|
||||
"LabelAirTime": "Air time:",
|
||||
"LabelAirTime": "Ausstrahlungszeit:",
|
||||
"TabLatest": "Neueste",
|
||||
"HeaderMediaInfo": "Media Info",
|
||||
"HeaderMediaInfo": "Medieninformation",
|
||||
"TabUpcoming": "Bevorstehend",
|
||||
"HeaderPhotoInfo": "Photo Info",
|
||||
"HeaderPhotoInfo": "Fotoinformation",
|
||||
"TabShows": "Shows",
|
||||
"HeaderInstall": "Install",
|
||||
"TabEpisodes": "Episoden",
|
||||
"LabelSelectVersionToInstall": "Select version to install:",
|
||||
"TabGenres": "Genres",
|
||||
"LinkSupporterMembership": "Learn about the Supporter Membership",
|
||||
"TabPeople": "Personen",
|
||||
"MessageSupporterPluginRequiresMembership": "This plugin will require an active supporter membership after the 14 day free trial.",
|
||||
"TabNetworks": "Sendergruppen",
|
||||
"MessagePremiumPluginRequiresMembership": "This plugin will require an active supporter membership in order to purchase after the 14 day free trial.",
|
||||
"HeaderUsers": "Benutzer",
|
||||
"HeaderReviews": "Reviews",
|
||||
"HeaderFilters": "Filter:",
|
||||
"HeaderDeveloperInfo": "Developer Info",
|
||||
"ButtonFilter": "Filter",
|
||||
"HeaderRevisionHistory": "Revision History",
|
||||
"OptionFavorite": "Favoriten",
|
||||
"ButtonViewWebsite": "View website",
|
||||
"OptionLikes": "Likes",
|
||||
"LabelRecurringDonationCanBeCancelledHelp": "Recurring donations can be cancelled at any time from within your PayPal account.",
|
||||
"OptionDislikes": "Dislikes",
|
||||
"OptionActors": "Darsteller",
|
||||
"OptionGuestStars": "Gaststar",
|
||||
|
|
|
@ -192,15 +192,25 @@
|
|||
"TabUpcoming": "\u0395\u03c0\u03b5\u03c1\u03c7\u03cc\u03bc\u03b5\u03bd\u03b7",
|
||||
"HeaderPhotoInfo": "Photo Info",
|
||||
"TabShows": "\u0395\u03c0\u03b5\u03b9\u03c3\u03cc\u03b4\u03b9\u03b1",
|
||||
"HeaderInstall": "Install",
|
||||
"TabEpisodes": "\u0395\u03c0\u03b5\u03b9\u03c3\u03cc\u03b4\u03b9\u03b1",
|
||||
"LabelSelectVersionToInstall": "Select version to install:",
|
||||
"TabGenres": "\u0395\u03af\u03b4\u03b7",
|
||||
"LinkSupporterMembership": "Learn about the Supporter Membership",
|
||||
"TabPeople": "\u0386\u03bd\u03b8\u03c1\u03c9\u03c0\u03bf\u03b9 ",
|
||||
"MessageSupporterPluginRequiresMembership": "This plugin will require an active supporter membership after the 14 day free trial.",
|
||||
"TabNetworks": "\u0394\u03af\u03ba\u03c4\u03c5\u03b1",
|
||||
"MessagePremiumPluginRequiresMembership": "This plugin will require an active supporter membership in order to purchase after the 14 day free trial.",
|
||||
"HeaderUsers": "\u03a7\u03c1\u03ae\u03c3\u03c4\u03b5\u03c2 ",
|
||||
"HeaderReviews": "Reviews",
|
||||
"HeaderFilters": "\u03a6\u03af\u03bb\u03c4\u03c1\u03b1",
|
||||
"HeaderDeveloperInfo": "Developer Info",
|
||||
"ButtonFilter": "\u03c6\u03af\u03bb\u03c4\u03c1\u03bf",
|
||||
"HeaderRevisionHistory": "Revision History",
|
||||
"OptionFavorite": "\u0391\u03b3\u03b1\u03c0\u03b7\u03bc\u03ad\u03bd\u03b1",
|
||||
"ButtonViewWebsite": "View website",
|
||||
"OptionLikes": "\u03a3\u03c5\u03bc\u03c0\u03b1\u03b8\u03b5\u03af",
|
||||
"LabelRecurringDonationCanBeCancelledHelp": "Recurring donations can be cancelled at any time from within your PayPal account.",
|
||||
"OptionDislikes": "\u0391\u03bd\u03c4\u03b9\u03c0\u03b1\u03b8\u03b5\u03af",
|
||||
"OptionActors": "\u0397\u03b8\u03bf\u03c0\u03bf\u03b9\u03bf\u03af",
|
||||
"OptionGuestStars": "\u0393\u03ba\u03b5\u03c3\u03c4 \u03c3\u03c4\u03b1\u03c1",
|
||||
|
|
|
@ -192,15 +192,25 @@
|
|||
"TabUpcoming": "Upcoming",
|
||||
"HeaderPhotoInfo": "Photo Info",
|
||||
"TabShows": "Shows",
|
||||
"HeaderInstall": "Install",
|
||||
"TabEpisodes": "Episodes",
|
||||
"LabelSelectVersionToInstall": "Select version to install:",
|
||||
"TabGenres": "Genres",
|
||||
"LinkSupporterMembership": "Learn about the Supporter Membership",
|
||||
"TabPeople": "People",
|
||||
"MessageSupporterPluginRequiresMembership": "This plugin will require an active supporter membership after the 14 day free trial.",
|
||||
"TabNetworks": "Networks",
|
||||
"MessagePremiumPluginRequiresMembership": "This plugin will require an active supporter membership in order to purchase after the 14 day free trial.",
|
||||
"HeaderUsers": "Users",
|
||||
"HeaderReviews": "Reviews",
|
||||
"HeaderFilters": "Filters:",
|
||||
"HeaderDeveloperInfo": "Developer Info",
|
||||
"ButtonFilter": "Filter",
|
||||
"HeaderRevisionHistory": "Revision History",
|
||||
"OptionFavorite": "Favourites",
|
||||
"ButtonViewWebsite": "View website",
|
||||
"OptionLikes": "Likes",
|
||||
"LabelRecurringDonationCanBeCancelledHelp": "Recurring donations can be cancelled at any time from within your PayPal account.",
|
||||
"OptionDislikes": "Dislikes",
|
||||
"OptionActors": "Actors",
|
||||
"OptionGuestStars": "Guest Stars",
|
||||
|
|
|
@ -192,15 +192,25 @@
|
|||
"TabUpcoming": "Upcoming",
|
||||
"HeaderPhotoInfo": "Photo Info",
|
||||
"TabShows": "Shows",
|
||||
"HeaderInstall": "Install",
|
||||
"TabEpisodes": "Episodes",
|
||||
"LabelSelectVersionToInstall": "Select version to install:",
|
||||
"TabGenres": "Genres",
|
||||
"LinkSupporterMembership": "Learn about the Supporter Membership",
|
||||
"TabPeople": "People",
|
||||
"MessageSupporterPluginRequiresMembership": "This plugin will require an active supporter membership after the 14 day free trial.",
|
||||
"TabNetworks": "Networks",
|
||||
"MessagePremiumPluginRequiresMembership": "This plugin will require an active supporter membership in order to purchase after the 14 day free trial.",
|
||||
"HeaderUsers": "Users",
|
||||
"HeaderReviews": "Reviews",
|
||||
"HeaderFilters": "Filters:",
|
||||
"HeaderDeveloperInfo": "Developer Info",
|
||||
"ButtonFilter": "Filter",
|
||||
"HeaderRevisionHistory": "Revision History",
|
||||
"OptionFavorite": "Favorites",
|
||||
"ButtonViewWebsite": "View website",
|
||||
"OptionLikes": "Likes",
|
||||
"LabelRecurringDonationCanBeCancelledHelp": "Recurring donations can be cancelled at any time from within your PayPal account.",
|
||||
"OptionDislikes": "Dislikes",
|
||||
"OptionActors": "Actors",
|
||||
"OptionGuestStars": "Guest Stars",
|
||||
|
|
|
@ -192,15 +192,25 @@
|
|||
"TabUpcoming": "Pr\u00f3ximos",
|
||||
"HeaderPhotoInfo": "Photo Info",
|
||||
"TabShows": "Programas",
|
||||
"HeaderInstall": "Install",
|
||||
"TabEpisodes": "Episodios",
|
||||
"LabelSelectVersionToInstall": "Select version to install:",
|
||||
"TabGenres": "G\u00e9neros",
|
||||
"LinkSupporterMembership": "Learn about the Supporter Membership",
|
||||
"TabPeople": "Gente",
|
||||
"MessageSupporterPluginRequiresMembership": "This plugin will require an active supporter membership after the 14 day free trial.",
|
||||
"TabNetworks": "redes",
|
||||
"MessagePremiumPluginRequiresMembership": "This plugin will require an active supporter membership in order to purchase after the 14 day free trial.",
|
||||
"HeaderUsers": "Usuarios",
|
||||
"HeaderReviews": "Reviews",
|
||||
"HeaderFilters": "Filtros:",
|
||||
"HeaderDeveloperInfo": "Developer Info",
|
||||
"ButtonFilter": "Filtro",
|
||||
"HeaderRevisionHistory": "Revision History",
|
||||
"OptionFavorite": "Favoritos",
|
||||
"ButtonViewWebsite": "View website",
|
||||
"OptionLikes": "Me gusta",
|
||||
"LabelRecurringDonationCanBeCancelledHelp": "Recurring donations can be cancelled at any time from within your PayPal account.",
|
||||
"OptionDislikes": "No me gusta",
|
||||
"OptionActors": "Actores",
|
||||
"OptionGuestStars": "Estrellas invitadas",
|
||||
|
|
|
@ -156,9 +156,9 @@
|
|||
"LabelNewPassword": "Nueva contrase\u00f1a:",
|
||||
"HeaderDonationType": "Tipo de Donaci\u00f3n:",
|
||||
"LabelNewPasswordConfirm": "Confirmaci\u00f3n de contrase\u00f1a nueva:",
|
||||
"OptionMakeOneTimeDonation": "Hacer una donaci\u00f3n \u00fanica",
|
||||
"OptionMakeOneTimeDonation": "Hacer una donaci\u00f3n independiente",
|
||||
"HeaderCreatePassword": "Crear Contrase\u00f1a",
|
||||
"OptionOneTimeDescription": "This is an additional donation to the team to show your support. It does not have any additional benefits.",
|
||||
"OptionOneTimeDescription": "Esta es una donaci\u00f3n adicional para mostrar tu apoyo al equipo. No tiene ning\u00fan beneficio adicional.",
|
||||
"LabelCurrentPassword": "Contrase\u00f1a actual:",
|
||||
"OptionLifeTimeSupporterClubMembership": "Membres\u00eda vitalicia del club de aficionados",
|
||||
"LabelMaxParentalRating": "M\u00e1xima clasificaci\u00f3n parental permitida:",
|
||||
|
@ -184,23 +184,33 @@
|
|||
"MessageNothingHere": "Nada aqu\u00ed.",
|
||||
"OptionWriter": "Escritor",
|
||||
"MessagePleaseEnsureInternetMetadata": "Por favor aseg\u00farese que la descarga de metadatos de internet esta habilitada.",
|
||||
"LabelAirDays": "Air days:",
|
||||
"LabelAirDays": "Se emite los d\u00edas:",
|
||||
"TabSuggested": "Sugerencias",
|
||||
"LabelAirTime": "Air time:",
|
||||
"LabelAirTime": "Duraci\u00f3n:",
|
||||
"TabLatest": "Recientes",
|
||||
"HeaderMediaInfo": "Media Info",
|
||||
"HeaderMediaInfo": "Info del Medio:",
|
||||
"TabUpcoming": "Por Estrenar",
|
||||
"HeaderPhotoInfo": "Photo Info",
|
||||
"HeaderPhotoInfo": "Info de Fotograf\u00eda:",
|
||||
"TabShows": "Programas",
|
||||
"HeaderInstall": "Install",
|
||||
"TabEpisodes": "Episodios",
|
||||
"LabelSelectVersionToInstall": "Select version to install:",
|
||||
"TabGenres": "G\u00e9neros",
|
||||
"LinkSupporterMembership": "Learn about the Supporter Membership",
|
||||
"TabPeople": "Personas",
|
||||
"MessageSupporterPluginRequiresMembership": "This plugin will require an active supporter membership after the 14 day free trial.",
|
||||
"TabNetworks": "Cadenas",
|
||||
"MessagePremiumPluginRequiresMembership": "This plugin will require an active supporter membership in order to purchase after the 14 day free trial.",
|
||||
"HeaderUsers": "Usuarios",
|
||||
"HeaderReviews": "Reviews",
|
||||
"HeaderFilters": "Filtros:",
|
||||
"HeaderDeveloperInfo": "Developer Info",
|
||||
"ButtonFilter": "Filtro",
|
||||
"HeaderRevisionHistory": "Revision History",
|
||||
"OptionFavorite": "Favoritos",
|
||||
"ButtonViewWebsite": "View website",
|
||||
"OptionLikes": "Me gusta",
|
||||
"LabelRecurringDonationCanBeCancelledHelp": "Recurring donations can be cancelled at any time from within your PayPal account.",
|
||||
"OptionDislikes": "No me gusta",
|
||||
"OptionActors": "Actores",
|
||||
"OptionGuestStars": "Estrellas Invitadas",
|
||||
|
@ -225,7 +235,7 @@
|
|||
"OptionAscending": "Ascendente",
|
||||
"OptionDescending": "Descendente",
|
||||
"OptionRuntime": "Duraci\u00f3n",
|
||||
"OptionReleaseDate": "Release Date",
|
||||
"OptionReleaseDate": "Fecha de Liberaci\u00f3n",
|
||||
"OptionPlayCount": "N\u00famero de Reproducc.",
|
||||
"OptionDatePlayed": "Fecha de Reproducci\u00f3n",
|
||||
"OptionDateAdded": "Fecha de Adici\u00f3n",
|
||||
|
|
|
@ -192,15 +192,25 @@
|
|||
"TabUpcoming": "\u00c0 venir",
|
||||
"HeaderPhotoInfo": "Photo Info",
|
||||
"TabShows": "S\u00e9ries",
|
||||
"HeaderInstall": "Install",
|
||||
"TabEpisodes": "\u00c9pisodes",
|
||||
"LabelSelectVersionToInstall": "Select version to install:",
|
||||
"TabGenres": "Genres",
|
||||
"LinkSupporterMembership": "Learn about the Supporter Membership",
|
||||
"TabPeople": "Personnes",
|
||||
"MessageSupporterPluginRequiresMembership": "This plugin will require an active supporter membership after the 14 day free trial.",
|
||||
"TabNetworks": "R\u00e9seaux",
|
||||
"MessagePremiumPluginRequiresMembership": "This plugin will require an active supporter membership in order to purchase after the 14 day free trial.",
|
||||
"HeaderUsers": "Utilisateurs",
|
||||
"HeaderReviews": "Reviews",
|
||||
"HeaderFilters": "Filtres:",
|
||||
"HeaderDeveloperInfo": "Developer Info",
|
||||
"ButtonFilter": "Filtre",
|
||||
"HeaderRevisionHistory": "Revision History",
|
||||
"OptionFavorite": "Favoris",
|
||||
"ButtonViewWebsite": "View website",
|
||||
"OptionLikes": "Aim\u00e9s",
|
||||
"LabelRecurringDonationCanBeCancelledHelp": "Recurring donations can be cancelled at any time from within your PayPal account.",
|
||||
"OptionDislikes": "Non aim\u00e9s",
|
||||
"OptionActors": "Acteurs",
|
||||
"OptionGuestStars": "Guest Stars",
|
||||
|
|
|
@ -192,15 +192,25 @@
|
|||
"TabUpcoming": "\u05d1\u05e7\u05e8\u05d5\u05d1",
|
||||
"HeaderPhotoInfo": "Photo Info",
|
||||
"TabShows": "\u05ea\u05d5\u05db\u05e0\u05d9\u05d5\u05ea",
|
||||
"HeaderInstall": "Install",
|
||||
"TabEpisodes": "\u05e4\u05e8\u05e7\u05d9\u05dd",
|
||||
"LabelSelectVersionToInstall": "Select version to install:",
|
||||
"TabGenres": "\u05d6\u05d0\u05e0\u05e8\u05d9\u05dd",
|
||||
"LinkSupporterMembership": "Learn about the Supporter Membership",
|
||||
"TabPeople": "\u05d0\u05e0\u05e9\u05d9\u05dd",
|
||||
"MessageSupporterPluginRequiresMembership": "This plugin will require an active supporter membership after the 14 day free trial.",
|
||||
"TabNetworks": "\u05e8\u05e9\u05ea\u05d5\u05ea",
|
||||
"MessagePremiumPluginRequiresMembership": "This plugin will require an active supporter membership in order to purchase after the 14 day free trial.",
|
||||
"HeaderUsers": "\u05de\u05e9\u05ea\u05de\u05e9\u05d9\u05dd",
|
||||
"HeaderReviews": "Reviews",
|
||||
"HeaderFilters": "\u05de\u05e1\u05e0\u05e0\u05d9\u05dd:",
|
||||
"HeaderDeveloperInfo": "Developer Info",
|
||||
"ButtonFilter": "\u05de\u05e1\u05e0\u05df",
|
||||
"HeaderRevisionHistory": "Revision History",
|
||||
"OptionFavorite": "\u05de\u05d5\u05e2\u05d3\u05e4\u05d9\u05dd",
|
||||
"ButtonViewWebsite": "View website",
|
||||
"OptionLikes": "\u05e0\u05d1\u05d7\u05e8\u05d9\u05dd",
|
||||
"LabelRecurringDonationCanBeCancelledHelp": "Recurring donations can be cancelled at any time from within your PayPal account.",
|
||||
"OptionDislikes": "\u05dc\u05d0 \u05d0\u05d5\u05d4\u05d1",
|
||||
"OptionActors": "\u05e9\u05d7\u05e7\u05e0\u05d9\u05dd",
|
||||
"OptionGuestStars": "\u05e9\u05d7\u05e7\u05df \u05d0\u05d5\u05e8\u05d7",
|
||||
|
|
|
@ -192,15 +192,25 @@
|
|||
"TabUpcoming": "IN ONDA A BREVE",
|
||||
"HeaderPhotoInfo": "Photo Info",
|
||||
"TabShows": "Serie",
|
||||
"HeaderInstall": "Install",
|
||||
"TabEpisodes": "Episodi",
|
||||
"LabelSelectVersionToInstall": "Select version to install:",
|
||||
"TabGenres": "Generi",
|
||||
"LinkSupporterMembership": "Learn about the Supporter Membership",
|
||||
"TabPeople": "Attori",
|
||||
"MessageSupporterPluginRequiresMembership": "This plugin will require an active supporter membership after the 14 day free trial.",
|
||||
"TabNetworks": "Internet",
|
||||
"MessagePremiumPluginRequiresMembership": "This plugin will require an active supporter membership in order to purchase after the 14 day free trial.",
|
||||
"HeaderUsers": "Utenti",
|
||||
"HeaderReviews": "Reviews",
|
||||
"HeaderFilters": "Filtri",
|
||||
"HeaderDeveloperInfo": "Developer Info",
|
||||
"ButtonFilter": "Filtro",
|
||||
"HeaderRevisionHistory": "Revision History",
|
||||
"OptionFavorite": "Preferiti",
|
||||
"ButtonViewWebsite": "View website",
|
||||
"OptionLikes": "Belli",
|
||||
"LabelRecurringDonationCanBeCancelledHelp": "Recurring donations can be cancelled at any time from within your PayPal account.",
|
||||
"OptionDislikes": "Brutti",
|
||||
"OptionActors": "Attori",
|
||||
"OptionGuestStars": "Guest Stars",
|
||||
|
|
|
@ -66,7 +66,7 @@
|
|||
"LabelEnableAutomaticPortMapping": "\u041f\u043e\u0440\u0442 \u0430\u0432\u0442\u043e\u0441\u0430\u043b\u0493\u0430\u0441\u0442\u044b\u0440\u0443\u044b\u043d \u049b\u043e\u0441\u0443",
|
||||
"LabelCommunityRating": "\u049a\u0430\u0443\u044b\u043c \u0431\u0430\u0493\u0430\u043b\u0430\u0443\u044b:",
|
||||
"LabelEnableAutomaticPortMappingHelp": "UPnP \u049b\u0430\u0448\u044b\u049b\u0442\u0430\u043d \u049b\u0430\u0442\u044b\u043d\u0430\u0441\u0443\u0434\u044b \u0436\u0435\u04a3\u0456\u043b\u0434\u0435\u0442\u0443 \u04af\u0448\u0456\u043d \u0440\u043e\u0443\u0442\u0435\u0440\u0434\u0456 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0442\u044b \u0442\u04af\u0440\u0434\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u043b\u0430\u0443\u0493\u0430 \u0440\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0435\u0434\u0456. \u0411\u04b1\u043b \u043a\u0435\u0439\u0431\u0456\u0440 \u0440\u043e\u0443\u0442\u0435\u0440 \u04b1\u043b\u0433\u0456\u043b\u0435\u0440\u0456\u043c\u0435\u043d \u0436\u04b1\u043c\u044b\u0441 \u0456\u0441\u0442\u0435\u043c\u0435\u0439\u0442\u0456\u043d\u0456 \u043c\u04af\u043c\u043a\u0456\u043d.",
|
||||
"LabelVoteCount": "\u0414\u0430\u0443\u044b\u0441 \u0441\u0430\u043d\u044b:",
|
||||
"LabelVoteCount": "\u0414\u0430\u0443\u044b\u0441 \u0435\u0441\u0435\u0431\u0456:",
|
||||
"ButtonOk": "\u0416\u0430\u0440\u0430\u0439\u0434\u044b",
|
||||
"LabelMetascore": "Metascore \u0431\u0430\u0493\u0430\u043b\u0430\u0443\u044b:",
|
||||
"ButtonCancel": "\u0411\u043e\u043b\u0434\u044b\u0440\u043c\u0430\u0443",
|
||||
|
@ -96,7 +96,7 @@
|
|||
"LabelDownloadInternetMetadata": "\u0421\u0443\u0440\u0435\u0442\u0442\u0435\u043c\u0435 \u043c\u0435\u043d \u043c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0456 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0442\u0435\u043d \u0436\u04af\u043a\u0442\u0435\u043f \u0430\u043b\u0443",
|
||||
"LabelAirTime:": "\u042d\u0444\u0438\u0440 \u0443\u0430\u049b\u044b\u0442\u044b",
|
||||
"LabelDownloadInternetMetadataHelp": "\u0422\u043e\u043b\u044b \u043a\u04e9\u0440\u0441\u0435\u0442\u0456\u043b\u0456\u043c\u0434\u0435\u0440\u0434\u0456 \u049b\u043e\u0441\u0443 \u04af\u0448\u0456\u043d Media Browser \u0442\u0430\u0441\u0443\u0448\u044b\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u0442\u0443\u0440\u0430\u043b\u044b \u043c\u04d9\u043b\u0456\u043c\u0435\u0442\u0442\u0435\u0440\u0434\u0456 \u0436\u04af\u043a\u0442\u0435\u0443\u0456 \u043c\u04af\u043c\u043a\u0456\u043d.",
|
||||
"LabelRuntimeMinutes": "\u041e\u0440\u044b\u043d\u0434\u0430\u043b\u0443 \u0443\u0430\u049b\u044b\u0442\u044b, \u043c\u0438\u043d:",
|
||||
"LabelRuntimeMinutes": "\u04b0\u0437\u0430\u049b\u0442\u044b\u0493\u044b, \u043c\u0438\u043d:",
|
||||
"TabPreferences": "\u0422\u0435\u04a3\u0448\u0435\u043b\u0456\u043c\u0434\u0435\u0440",
|
||||
"LabelParentalRating": "\u0416\u0430\u0441\u0442\u0430\u0441 \u0441\u0430\u043d\u0430\u0442\u044b:",
|
||||
"TabPassword": "\u049a\u04b1\u043f\u0438\u044f \u0441\u04e9\u0437",
|
||||
|
@ -156,9 +156,9 @@
|
|||
"LabelNewPassword": "\u0416\u0430\u04a3\u0430 \u049b\u04b1\u043f\u0438\u044f \u0441\u04e9\u0437",
|
||||
"HeaderDonationType": "\u049a\u0430\u0439\u044b\u0440\u043c\u0430\u043b\u0434\u044b\u049b \u0442\u04af\u0440\u0456:",
|
||||
"LabelNewPasswordConfirm": "\u0416\u0430\u04a3\u0430 \u049b\u04b1\u043f\u0438\u044f \u0441\u04e9\u0437\u0434\u0456 \u0440\u0430\u0441\u0442\u0430\u0443:",
|
||||
"OptionMakeOneTimeDonation": "\u0411\u0456\u0440 \u0440\u0435\u0442 \u049b\u0430\u0439\u044b\u0440\u043c\u0430\u043b\u0434\u044b\u049b \u0436\u0430\u0441\u0430\u0443",
|
||||
"OptionMakeOneTimeDonation": "\u0411\u04e9\u043b\u0435\u043a \u049b\u0430\u0439\u044b\u0440\u043c\u0430\u043b\u0434\u044b\u049b \u0436\u0430\u0441\u0430\u0443",
|
||||
"HeaderCreatePassword": "\u049a\u04b1\u043f\u0438\u044f \u0441\u04e9\u0437\u0434\u0456 \u0436\u0430\u0441\u0430\u0443",
|
||||
"OptionOneTimeDescription": "This is an additional donation to the team to show your support. It does not have any additional benefits.",
|
||||
"OptionOneTimeDescription": "\u0411\u04b1\u043b \u049b\u043e\u043b\u0434\u0430\u0443\u044b\u04a3\u044b\u0437\u0434\u044b \u043a\u04e9\u0440\u0441\u0435\u0442\u0443 \u04af\u0448\u0456\u043d \u0442\u043e\u043f\u049b\u0430 \u049b\u043e\u0441\u044b\u043c\u0448\u0430 \u049b\u0430\u0439\u044b\u0440\u043c\u0430\u043b\u0434\u044b\u049b. \u0415\u0448\u049b\u0430\u043d\u0434\u0430\u0439 \u049b\u043e\u0441\u044b\u043c\u0448\u0430 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u0440 \u0431\u043e\u043b\u043c\u0430\u0439\u0434\u044b.",
|
||||
"LabelCurrentPassword": "\u0410\u0493\u044b\u043c\u0434\u0430\u0493\u044b \u049b\u04b1\u043f\u0438\u044f \u0441\u04e9\u0437:",
|
||||
"OptionLifeTimeSupporterClubMembership": "\u049a\u043e\u043b\u0434\u0430\u0443\u0448\u044b \u043a\u043b\u0443\u0431\u044b\u043d\u044b\u04a3 \u0493\u04b1\u043c\u044b\u0440\u043b\u044b\u049b \u043c\u04af\u0448\u0435\u043b\u0456\u0433\u0456",
|
||||
"LabelMaxParentalRating": "\u0420\u04b1\u049b\u0441\u0430\u0442 \u0435\u0442\u0456\u043b\u0433\u0435\u043d \u0435\u04a3 \u0436\u043e\u0493\u0430\u0440\u044b \u0436\u0430\u0441\u0442\u0430\u0441 \u0441\u0430\u043d\u0430\u0442\u044b:",
|
||||
|
@ -184,23 +184,33 @@
|
|||
"MessageNothingHere": "\u041e\u0441\u044b\u043d\u0434\u0430 \u0435\u0448\u0442\u0435\u043c\u0435 \u0436\u043e\u049b.",
|
||||
"OptionWriter": "\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439\u0448\u0456",
|
||||
"MessagePleaseEnsureInternetMetadata": "\u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0442\u0435\u043d \u043c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0456 \u0436\u04af\u043a\u0442\u0435\u043f \u0430\u043b\u0443\u044b \u049b\u043e\u0441\u044b\u043b\u0493\u0430\u043d\u044b\u043d \u0442\u0435\u043a\u0441\u0435\u0440\u0456\u04a3\u0456\u0437.",
|
||||
"LabelAirDays": "Air days:",
|
||||
"LabelAirDays": "\u042d\u0444\u0438\u0440 \u043a\u04af\u043d\u0434\u0435\u0440\u0456:",
|
||||
"TabSuggested": "\u04b0\u0441\u044b\u043d\u044b\u043b\u0493\u0430\u043d",
|
||||
"LabelAirTime": "Air time:",
|
||||
"LabelAirTime": "\u042d\u0444\u0438\u0440 \u0443\u0430\u049b\u044b\u0442\u044b:",
|
||||
"TabLatest": "\u0415\u04a3 \u043a\u0435\u0439\u0456\u043d\u0433\u0456",
|
||||
"HeaderMediaInfo": "Media Info",
|
||||
"HeaderMediaInfo": "\u0422\u0430\u0441\u0443\u0448\u044b\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u043c\u04d9\u043b\u0456\u043c\u0435\u0442\u0456",
|
||||
"TabUpcoming": "\u041a\u04af\u0442\u0456\u043b\u0433\u0435\u043d",
|
||||
"HeaderPhotoInfo": "Photo Info",
|
||||
"HeaderPhotoInfo": "\u0424\u043e\u0442\u043e\u0441\u0443\u0440\u0435\u0442 \u043c\u04d9\u043b\u0456\u043c\u0435\u0442\u0456",
|
||||
"TabShows": "\u041a\u04e9\u0440\u0441\u0435\u0442\u0456\u043c\u0434\u0435\u0440",
|
||||
"HeaderInstall": "\u041e\u0440\u043d\u0430\u0442\u0443",
|
||||
"TabEpisodes": "\u042d\u043f\u0438\u0437\u043e\u0434\u0442\u0430\u0440",
|
||||
"LabelSelectVersionToInstall": "\u041e\u0440\u043d\u0430\u0442\u044b\u043c \u043d\u04b1\u0441\u049b\u0430\u0441\u044b\u043d \u0442\u0430\u04a3\u0434\u0430\u0443:",
|
||||
"TabGenres": "\u0416\u0430\u043d\u0440\u043b\u0430\u0440",
|
||||
"LinkSupporterMembership": "Learn about the Supporter Membership",
|
||||
"TabPeople": "\u0410\u0434\u0430\u043c\u0434\u0430\u0440",
|
||||
"MessageSupporterPluginRequiresMembership": "This plugin will require an active supporter membership after the 14 day free trial.",
|
||||
"TabNetworks": "\u0422\u0414 \u0436\u0435\u043b\u0456\u043b\u0435\u0440\u0456",
|
||||
"MessagePremiumPluginRequiresMembership": "This plugin will require an active supporter membership in order to purchase after the 14 day free trial.",
|
||||
"HeaderUsers": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b\u043b\u0430\u0440",
|
||||
"HeaderReviews": "\u041f\u0456\u043a\u0456\u0440\u043b\u0435\u0440",
|
||||
"HeaderFilters": "\u0421\u04af\u0437\u0433\u0456\u043b\u0435\u0440:",
|
||||
"HeaderDeveloperInfo": "\u0416\u0430\u0441\u0430\u049b\u0442\u0430\u0443\u0448\u044b \u0442\u0443\u0440\u0430\u043b\u044b",
|
||||
"ButtonFilter": "\u0421\u04af\u0437\u0443",
|
||||
"HeaderRevisionHistory": "\u04e8\u0437\u0433\u0435\u0440\u0456\u0441\u0442\u0435\u0440 \u0442\u0430\u0440\u0438\u0445\u044b",
|
||||
"OptionFavorite": "\u0422\u0430\u04a3\u0434\u0430\u0443\u043b\u044b\u043b\u0430\u0440",
|
||||
"ButtonViewWebsite": "\u0492\u0430\u043b\u0430\u043c\u0442\u043e\u0440 \u0441\u0430\u0439\u0442\u044b\u043d \u049b\u0430\u0440\u0430\u0443",
|
||||
"OptionLikes": "\u04b0\u043d\u0430\u0442\u0443\u043b\u0430\u0440",
|
||||
"LabelRecurringDonationCanBeCancelledHelp": "Recurring donations can be cancelled at any time from within your PayPal account.",
|
||||
"OptionDislikes": "\u04b0\u043d\u0430\u0442\u043f\u0430\u0443\u043b\u0430\u0440",
|
||||
"OptionActors": "\u0410\u043a\u0442\u0435\u0440\u043b\u0435\u0440",
|
||||
"OptionGuestStars": "\u0428\u0430\u049b\u044b\u0440\u044b\u043b\u0493\u0430\u043d \u0430\u043a\u0442\u0435\u0440\u043b\u0435\u0440",
|
||||
|
@ -224,9 +234,9 @@
|
|||
"OptionUnplayed": "\u041e\u0439\u043d\u0430\u0442\u044b\u043b\u043c\u0430\u0493\u0430\u043d",
|
||||
"OptionAscending": "\u0410\u0440\u0442\u0443\u044b \u0431\u043e\u0439\u044b\u043d\u0448\u0430",
|
||||
"OptionDescending": "\u041a\u0435\u043c\u0443\u0456 \u0431\u043e\u0439\u044b\u043d\u0448\u0430",
|
||||
"OptionRuntime": "\u041e\u0440\u044b\u043d\u0434\u0430\u0443 \u0443\u0430\u049b\u044b\u0442\u044b",
|
||||
"OptionRuntime": "\u04b0\u0437\u0430\u049b\u0442\u044b\u0493\u044b",
|
||||
"OptionReleaseDate": "\u0428\u044b\u0493\u0430\u0440\u0443 \u043a\u04af\u043d-\u0430\u0439\u044b",
|
||||
"OptionPlayCount": "\u041e\u0439\u043d\u0430\u0442\u0443 \u0441\u0430\u043d\u044b",
|
||||
"OptionPlayCount": "\u041e\u0439\u043d\u0430\u0442\u0443 \u0435\u0441\u0435\u0431\u0456",
|
||||
"OptionDatePlayed": "\u041e\u0439\u043d\u0430\u0442\u044b\u043b\u0493\u0430\u043d \u043a\u04af\u043d-\u0430\u0439\u044b",
|
||||
"OptionDateAdded": "\u04ae\u0441\u0442\u0435\u043b\u0433\u0435\u043d \u043a\u04af\u043d-\u0430\u0439\u044b",
|
||||
"OptionAlbumArtist": "\u0410\u043b\u044c\u0431\u043e\u043c \u043e\u0440\u044b\u043d\u0434\u0430\u0443\u0448\u044b\u0441\u044b",
|
||||
|
@ -353,11 +363,11 @@
|
|||
"LabelRunServerAtStartupHelp": "\u0411\u04b1\u043b Windows \u0436\u04b1\u043c\u044b\u0441\u044b\u043d \u0431\u0430\u0441\u0442\u0430\u0493\u0430\u043d\u0434\u0430 \u0436\u04af\u0439\u0435\u043b\u0456\u043a \u0442\u0430\u049b\u0442\u0430\u0434\u0430\u0493\u044b \u0431\u0435\u043b\u0433\u0456\u0448\u0435 \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u044b\u043b\u0430\u0434\u044b. Windows \u049b\u044b\u0437\u043c\u0435\u0442\u0456\u043d \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u0443 \u04af\u0448\u0456\u043d, \u049b\u04b1\u0441\u0431\u0435\u043b\u0433\u0456\u043d\u0456 \u0430\u043b\u044b\u04a3\u044b\u0437 \u0436\u04d9\u043d\u0435 \u049b\u044b\u0437\u043c\u0435\u0442\u0442\u0456 Windows \u049a\u044b\u0437\u043c\u0435\u0442\u0442\u0435\u0440 \u0434\u0438\u0441\u043f\u0435\u0442\u0447\u0435\u0440\u0456 \u0430\u0440\u049b\u044b\u043b\u044b \u043e\u0440\u044b\u043d\u0434\u0430\u04a3\u044b\u0437. \u041d\u0430\u0437\u0430\u0440 \u0430\u0443\u0434\u0430\u0440\u044b\u04a3\u044b\u0437! \u0411\u04b1\u043b \u0435\u043a\u0435\u0443\u0456\u043d \u0441\u043e\u043b \u043c\u0435\u0437\u0433\u0456\u043b\u0434\u0435 \u0431\u0456\u0440\u0433\u0435 \u043e\u0440\u044b\u043d\u0434\u0430\u0443 \u043c\u04af\u043c\u043a\u0456\u043d \u0435\u043c\u0435\u0441, \u0441\u043e\u043d\u044b\u043c\u0435\u043d \u049b\u044b\u0437\u043c\u0435\u0442\u0442\u0456 \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u0443 \u0430\u043b\u0434\u044b\u043d\u0430\u043d \u0436\u04af\u0439\u0435\u043b\u0456\u043a \u0442\u0430\u049b\u0442\u0430\u0434\u0430\u0493\u044b \u0431\u0435\u043b\u0433\u0456\u0448\u0435\u0434\u0435\u043d \u0448\u044b\u0493\u044b\u04a3\u044b\u0437.",
|
||||
"ButtonSelectDirectory": "\u049a\u0430\u0442\u0430\u043b\u043e\u0433\u0442\u044b \u0431\u04e9\u043b\u0435\u043a\u0442\u0435\u0443",
|
||||
"LabelCustomPaths": "\u049a\u0430\u043b\u0430\u0443\u044b\u04a3\u044b\u0437 \u0431\u043e\u0439\u044b\u043d\u0448\u0430 \u0442\u0435\u04a3\u0448\u0435\u043b\u0433\u0435\u043d \u0436\u043e\u043b\u0434\u0430\u0440\u0434\u044b \u0430\u043d\u044b\u049b\u0442\u0430\u04a3\u044b\u0437. \u04d8\u0434\u0435\u043f\u043a\u0456\u043b\u0435\u0440\u0434\u0456 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443 \u04af\u0448\u0456\u043d \u04e9\u0440\u0456\u0441\u0442\u0435\u0440\u0434\u0456 \u0431\u043e\u0441 \u049b\u0430\u043b\u0434\u044b\u0440\u044b\u04a3\u044b\u0437.",
|
||||
"LabelCachePath": "Cache \u049b\u0430\u043b\u0442\u0430\u0441\u044b\u043d\u044b\u04a3 \u0436\u043e\u043b\u044b:",
|
||||
"LabelCachePath": "\u041a\u0435\u0448\u043a\u0435 \u049b\u0430\u0440\u0430\u0439 \u0436\u043e\u043b:",
|
||||
"LabelCachePathHelp": "\u0421\u0443\u0440\u0435\u0442 \u0441\u0438\u044f\u049b\u0442\u044b \u0441\u0435\u0440\u0432\u0435\u0440\u0434\u0456\u04a3 \u043a\u044d\u0448 \u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b \u04af\u0448\u0456\u043d \u0442\u0435\u04a3\u0448\u0435\u043b\u0433\u0435\u043d \u0436\u0430\u0439\u0493\u0430\u0441\u044b\u043c\u0434\u044b \u0430\u043d\u044b\u049b\u0442\u0430\u04a3\u044b\u0437.",
|
||||
"LabelImagesByNamePath": "Images by name \u049b\u0430\u043b\u0442\u0430\u0441\u044b\u043d\u044b\u04a3 \u0436\u043e\u043b\u044b:",
|
||||
"LabelImagesByNamePath": "\u0410\u0442\u044b \u0431\u043e\u0439\u044b\u043d\u0448\u0430 \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440\u0433\u0435 \u049b\u0430\u0440\u0430\u0439 \u0436\u043e\u043b:",
|
||||
"LabelImagesByNamePathHelp": "\u0416\u04af\u043a\u0442\u0435\u043f \u0430\u043b\u044b\u043d\u0493\u0430\u043d \u0430\u043a\u0442\u0435\u0440, \u043e\u0440\u044b\u043d\u0434\u0430\u0443\u0448\u044b, \u0436\u0430\u043d\u0440, \u0436\u04d9\u043d\u0435 \u0441\u0442\u0443\u0434\u0438\u044f \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440\u0456 \u04af\u0448\u0456\u043d \u0442\u0435\u04a3\u0448\u0435\u043b\u0433\u0435\u043d \u0436\u0430\u0439\u0493\u0430\u0441\u044b\u043c\u0434\u044b \u0430\u043d\u044b\u049b\u0442\u0430\u04a3\u044b\u0437.",
|
||||
"LabelMetadataPath": "Metadata \u049b\u0430\u043b\u0442\u0430\u0441\u044b\u043d\u044b\u04a3 \u0436\u043e\u043b\u044b:",
|
||||
"LabelMetadataPath": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0433\u0435 \u049b\u0430\u0440\u0430\u0439 \u0436\u043e\u043b:",
|
||||
"LabelMetadataPathHelp": "\u0416\u04af\u043a\u0442\u0435\u043f \u0430\u043b\u044b\u043d\u0493\u0430\u043d \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u043c\u0435\u043b\u0435\u0440 \u0431\u0435\u043d \u043c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u04af\u0448\u0456\u043d \u0442\u0435\u04a3\u0448\u0435\u043b\u0433\u0435\u043d \u0436\u0430\u0439\u0493\u0430\u0441\u044b\u043c\u0434\u044b \u0430\u043d\u044b\u049b\u0442\u0430\u04a3\u044b\u0437.",
|
||||
"LabelTranscodingTempPath": "Transcoding temporary \u049b\u0430\u043b\u0442\u0430\u0441\u044b\u043d\u044b\u04a3 \u0436\u043e\u043b\u044b:",
|
||||
"LabelTranscodingTempPathHelp": "\u0411\u04b1\u043b \u049b\u0430\u043b\u0442\u0430 \u049b\u04b1\u0440\u0430\u043c\u044b\u043d\u0434\u0430 \u049b\u0430\u0439\u0442\u0430 \u043a\u043e\u0434\u0442\u0430\u0443 \u049b\u04b1\u0440\u0430\u043b\u044b \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0430\u0442\u044b\u043d \u0436\u04b1\u043c\u044b\u0441 \u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b \u0431\u0430\u0440. \u0422\u0435\u04a3\u0448\u0435\u043b\u0433\u0435\u043d \u0436\u043e\u043b\u0434\u044b \u0430\u043d\u044b\u049b\u0442\u0430\u04a3\u044b\u0437, \u043d\u0435\u043c\u0435\u0441\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0434\u0456\u04a3 \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u049b\u0430\u043b\u0442\u0430\u0441\u044b \u0456\u0448\u0456\u043d\u0434\u0435\u0433\u0456 \u04d9\u0434\u0435\u043f\u043a\u0456\u0441\u0456\u043d \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443 \u04af\u0448\u0456\u043d \u0431\u043e\u0441 \u049b\u0430\u043b\u0434\u044b\u0440\u044b\u04a3\u044b\u0437.",
|
||||
|
@ -937,7 +947,7 @@
|
|||
"OptionLatestTvRecordings": "\u0415\u04a3 \u043a\u0435\u0439\u0456\u043d\u0433\u0456 \u0436\u0430\u0437\u0431\u0430\u043b\u0430\u0440",
|
||||
"LabelProtocolInfo": "\u041f\u0440\u043e\u0442\u043e\u049b\u043e\u043b \u0430\u049b\u043f\u0430\u0440\u0430\u0442\u044b:",
|
||||
"LabelProtocolInfoHelp": "\u0411\u04b1\u043b \u043c\u04d9\u043d \u0436\u0430\u0431\u0434\u044b\u049b\u0442\u044b\u04a3 GetProtocolInfo \u0441\u04b1\u0440\u0430\u043d\u044b\u0441\u0442\u0430\u0440\u044b\u043d\u0430 \u0436\u0430\u0443\u0430\u043f \u0431\u0435\u0440\u0433\u0435\u043d\u0434\u0435 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u043b\u0430\u0434\u044b.",
|
||||
"TabXbmcMetadata": "Xbmc",
|
||||
"TabXbmcMetadata": "XBMC",
|
||||
"HeaderXbmcMetadataHelp": "Media Browser \u0431\u0430\u0493\u0434\u0430\u0440\u043b\u0430\u043c\u0430\u0441\u044b Xbmc Nfo \u043c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0442\u0435\u0440\u0456\u043d\u0456\u04a3 \u0436\u04d9\u043d\u0435 \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440\u0456\u043d\u0456\u04a3 \u043a\u0456\u0440\u0456\u043a\u0442\u0456\u0440\u043c\u0435 \u049b\u043e\u043b\u0434\u0430\u0443\u044b\u043d \u049b\u0430\u043c\u0442\u0438\u0434\u044b. Xbmc \u043c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0456\u043d \u049b\u043e\u0441\u0443 \u043d\u0435\u043c\u0435\u0441\u0435 \u04e9\u0448\u0456\u0440\u0443 \u04af\u0448\u0456\u043d \u049a\u044b\u0437\u043c\u0435\u0442\u0442\u0435\u0440 \u049b\u043e\u0439\u044b\u043d\u0434\u044b\u0441\u044b\u043d\u0434\u0430\u0493\u044b \u0442\u0430\u0441\u0443\u0448\u044b \u0442\u04af\u0440\u043b\u0435\u0440\u0456\u043d\u0435 \u0430\u0440\u043d\u0430\u043b\u0493\u0430\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043b\u0435\u0440\u0434\u0456 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u04a3\u044b\u0437.",
|
||||
"LabelXbmcMetadataUser": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b\u043d\u044b\u04a3 \u049b\u0430\u0440\u0430\u0443 \u043a\u04af\u0439\u0456\u043d nfo \u04af\u0448\u0456\u043d \u043c\u044b\u043d\u0430\u0493\u0430\u043d \u049b\u043e\u0441\u0443:",
|
||||
"LabelXbmcMetadataUserHelp": "\u041a\u04e9\u0440\u0456\u043b\u0433\u0435\u043d \u043a\u04af\u0439\u0434\u0456 Media Browser \u0436\u04d9\u043d\u0435 Xbmc \u0430\u0440\u0430\u0441\u044b\u043d\u0434\u0430 \u04af\u0439\u043b\u0435\u0441\u0442\u0456\u0440\u0456\u043f \u0442\u04b1\u0440\u0443 \u04af\u0448\u0456\u043d \u0431\u04b1\u043d\u044b \u049b\u043e\u0441\u044b\u04a3\u044b\u0437.",
|
||||
|
@ -965,11 +975,11 @@
|
|||
"OptionList": "\u0422\u0456\u0437\u0456\u043c",
|
||||
"TabDashboard": "\u0411\u0430\u049b\u044b\u043b\u0430\u0443 \u0442\u0430\u049b\u0442\u0430\u0441\u044b",
|
||||
"TitleServer": "\u0421\u0435\u0440\u0432\u0435\u0440",
|
||||
"LabelCache": "Cache:",
|
||||
"LabelLogs": "Logs:",
|
||||
"LabelMetadata": "Metadata:",
|
||||
"LabelImagesByName": "Images by name:",
|
||||
"LabelTranscodingTemporaryFiles": "Transcoding temporary files:",
|
||||
"LabelCache": "\u041a\u0435\u0448:",
|
||||
"LabelLogs": "\u0416\u04b1\u0440\u043d\u0430\u043b\u0434\u0430\u0440:",
|
||||
"LabelMetadata": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440:",
|
||||
"LabelImagesByName": "\u0410\u0442\u044b \u0431\u043e\u0439\u044b\u043d\u0448\u0430 \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440:",
|
||||
"LabelTranscodingTemporaryFiles": "\u049a\u0430\u0439\u0442\u0430 \u043a\u043e\u0434\u0442\u0430\u0443\u044b\u043d\u044b\u04a3 \u0443\u0430\u049b\u044b\u0442\u0448\u0430 \u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b:",
|
||||
"HeaderLatestMusic": "\u0415\u04a3 \u043a\u0435\u0439\u0456\u043d\u0433\u0456 \u043c\u0443\u0437\u044b\u043a\u0430",
|
||||
"HeaderBranding": "\u0411\u0440\u0435\u043d\u0434\u0438\u04a3\u0433",
|
||||
"HeaderApiKeys": "API \u043a\u0456\u043b\u0442\u0442\u0435\u0440\u0456",
|
||||
|
@ -1010,7 +1020,7 @@
|
|||
"TabSync": "\u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0434\u0430\u0443",
|
||||
"TitleUsers": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b\u043b\u0430\u0440",
|
||||
"LabelProtocol": "\u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b:",
|
||||
"OptionProtocolHttp": "Http",
|
||||
"OptionProtocolHttp": "HTTP",
|
||||
"OptionProtocolHls": "Http \u0422\u0456\u043a\u0435\u043b\u0435\u0439 \u0410\u0493\u044b\u043d (HLS)",
|
||||
"LabelContext": "\u041c\u04d9\u0442\u0456\u043d\u043c\u04d9\u043d:",
|
||||
"OptionContextStreaming": "\u0410\u0493\u044b\u043d\u043c\u0435\u043d \u0442\u0430\u0441\u044b\u043c\u0430\u043b\u0434\u0430\u0443",
|
||||
|
|
|
@ -192,15 +192,25 @@
|
|||
"TabUpcoming": "Upcoming",
|
||||
"HeaderPhotoInfo": "Photo Info",
|
||||
"TabShows": "Shows",
|
||||
"HeaderInstall": "Install",
|
||||
"TabEpisodes": "Episodes",
|
||||
"LabelSelectVersionToInstall": "Select version to install:",
|
||||
"TabGenres": "Genres",
|
||||
"LinkSupporterMembership": "Learn about the Supporter Membership",
|
||||
"TabPeople": "People",
|
||||
"MessageSupporterPluginRequiresMembership": "This plugin will require an active supporter membership after the 14 day free trial.",
|
||||
"TabNetworks": "Networks",
|
||||
"MessagePremiumPluginRequiresMembership": "This plugin will require an active supporter membership in order to purchase after the 14 day free trial.",
|
||||
"HeaderUsers": "Users",
|
||||
"HeaderReviews": "Reviews",
|
||||
"HeaderFilters": "Filters:",
|
||||
"HeaderDeveloperInfo": "Developer Info",
|
||||
"ButtonFilter": "Filter",
|
||||
"HeaderRevisionHistory": "Revision History",
|
||||
"OptionFavorite": "Favorites",
|
||||
"ButtonViewWebsite": "View website",
|
||||
"OptionLikes": "Likes",
|
||||
"LabelRecurringDonationCanBeCancelledHelp": "Recurring donations can be cancelled at any time from within your PayPal account.",
|
||||
"OptionDislikes": "Dislikes",
|
||||
"OptionActors": "Actors",
|
||||
"OptionGuestStars": "Guest Stars",
|
||||
|
|
|
@ -192,15 +192,25 @@
|
|||
"TabUpcoming": "Upcoming",
|
||||
"HeaderPhotoInfo": "Photo Info",
|
||||
"TabShows": "Shows",
|
||||
"HeaderInstall": "Install",
|
||||
"TabEpisodes": "Episodes",
|
||||
"LabelSelectVersionToInstall": "Select version to install:",
|
||||
"TabGenres": "Genres",
|
||||
"LinkSupporterMembership": "Learn about the Supporter Membership",
|
||||
"TabPeople": "People",
|
||||
"MessageSupporterPluginRequiresMembership": "This plugin will require an active supporter membership after the 14 day free trial.",
|
||||
"TabNetworks": "Networks",
|
||||
"MessagePremiumPluginRequiresMembership": "This plugin will require an active supporter membership in order to purchase after the 14 day free trial.",
|
||||
"HeaderUsers": "Users",
|
||||
"HeaderReviews": "Reviews",
|
||||
"HeaderFilters": "Filters:",
|
||||
"HeaderDeveloperInfo": "Developer Info",
|
||||
"ButtonFilter": "Filter",
|
||||
"HeaderRevisionHistory": "Revision History",
|
||||
"OptionFavorite": "Favorites",
|
||||
"ButtonViewWebsite": "View website",
|
||||
"OptionLikes": "Likes",
|
||||
"LabelRecurringDonationCanBeCancelledHelp": "Recurring donations can be cancelled at any time from within your PayPal account.",
|
||||
"OptionDislikes": "Dislikes",
|
||||
"OptionActors": "Actors",
|
||||
"OptionGuestStars": "Guest Stars",
|
||||
|
|
|
@ -192,15 +192,25 @@
|
|||
"TabUpcoming": "Kommer",
|
||||
"HeaderPhotoInfo": "Photo Info",
|
||||
"TabShows": "Show",
|
||||
"HeaderInstall": "Install",
|
||||
"TabEpisodes": "Episoder",
|
||||
"LabelSelectVersionToInstall": "Select version to install:",
|
||||
"TabGenres": "Sjanger",
|
||||
"LinkSupporterMembership": "Learn about the Supporter Membership",
|
||||
"TabPeople": "Folk",
|
||||
"MessageSupporterPluginRequiresMembership": "This plugin will require an active supporter membership after the 14 day free trial.",
|
||||
"TabNetworks": "Nettverk",
|
||||
"MessagePremiumPluginRequiresMembership": "This plugin will require an active supporter membership in order to purchase after the 14 day free trial.",
|
||||
"HeaderUsers": "Bruker",
|
||||
"HeaderReviews": "Reviews",
|
||||
"HeaderFilters": "Filtre",
|
||||
"HeaderDeveloperInfo": "Developer Info",
|
||||
"ButtonFilter": "Filter",
|
||||
"HeaderRevisionHistory": "Revision History",
|
||||
"OptionFavorite": "Favoritter",
|
||||
"ButtonViewWebsite": "View website",
|
||||
"OptionLikes": "Liker",
|
||||
"LabelRecurringDonationCanBeCancelledHelp": "Recurring donations can be cancelled at any time from within your PayPal account.",
|
||||
"OptionDislikes": "Misliker",
|
||||
"OptionActors": "Skuespiller",
|
||||
"OptionGuestStars": "Gjeste-opptredelser",
|
||||
|
|
|
@ -158,7 +158,7 @@
|
|||
"LabelNewPasswordConfirm": "Bevestig nieuw wachtwoord:",
|
||||
"OptionMakeOneTimeDonation": "Doe een eenmalige donatie",
|
||||
"HeaderCreatePassword": "Maak wachtwoord",
|
||||
"OptionOneTimeDescription": "This is an additional donation to the team to show your support. It does not have any additional benefits.",
|
||||
"OptionOneTimeDescription": "Dit is een extra donatie voor het team om te laten zien dat je ze steunt. Het geeft geen extra voordelen.",
|
||||
"LabelCurrentPassword": "Huidig wachtwoord",
|
||||
"OptionLifeTimeSupporterClubMembership": "Levenslang supporters club lidmaatschap",
|
||||
"LabelMaxParentalRating": "Maximaal toegestane kijkwijzer classificatie:",
|
||||
|
@ -172,35 +172,45 @@
|
|||
"ButtonDeleteImage": "Verwijder afbeelding",
|
||||
"LabelOneTimeDonationAmount": "Donatie bedrag:",
|
||||
"LabelSelectUsers": "Selecteer gebruikers:",
|
||||
"OptionActor": "Actor",
|
||||
"OptionActor": "Acteur",
|
||||
"ButtonUpload": "Uploaden",
|
||||
"OptionComposer": "Composer",
|
||||
"OptionComposer": "Componist",
|
||||
"HeaderUploadNewImage": "Nieuwe afbeelding uploaden",
|
||||
"OptionDirector": "Director",
|
||||
"OptionDirector": "Regiseur",
|
||||
"LabelDropImageHere": "Afbeelding hier neerzetten",
|
||||
"OptionGuestStar": "Guest star",
|
||||
"OptionGuestStar": "Gast ster",
|
||||
"ImageUploadAspectRatioHelp": "1:1 beeldverhouding geadviseerd. Alleen JPG\/PNG.",
|
||||
"OptionProducer": "Producer",
|
||||
"OptionProducer": "Producent",
|
||||
"MessageNothingHere": "Lijst is leeg.",
|
||||
"OptionWriter": "Writer",
|
||||
"OptionWriter": "Schrijver",
|
||||
"MessagePleaseEnsureInternetMetadata": "Zorg ervoor dat het downloaden van metadata van het internet is ingeschakeld.",
|
||||
"LabelAirDays": "Air days:",
|
||||
"LabelAirDays": "Uitzend dagen:",
|
||||
"TabSuggested": "Aanbevolen",
|
||||
"LabelAirTime": "Air time:",
|
||||
"LabelAirTime": "Uitzend tijd:",
|
||||
"TabLatest": "Nieuw",
|
||||
"HeaderMediaInfo": "Media Info",
|
||||
"HeaderMediaInfo": "Media informatie",
|
||||
"TabUpcoming": "Binnenkort",
|
||||
"HeaderPhotoInfo": "Photo Info",
|
||||
"HeaderPhotoInfo": "Foto informatie",
|
||||
"TabShows": "Series",
|
||||
"HeaderInstall": "Install",
|
||||
"TabEpisodes": "Afleveringen",
|
||||
"LabelSelectVersionToInstall": "Select version to install:",
|
||||
"TabGenres": "Genres",
|
||||
"LinkSupporterMembership": "Learn about the Supporter Membership",
|
||||
"TabPeople": "Personen",
|
||||
"MessageSupporterPluginRequiresMembership": "This plugin will require an active supporter membership after the 14 day free trial.",
|
||||
"TabNetworks": "TV-Studio's",
|
||||
"MessagePremiumPluginRequiresMembership": "This plugin will require an active supporter membership in order to purchase after the 14 day free trial.",
|
||||
"HeaderUsers": "Gebruikers",
|
||||
"HeaderReviews": "Reviews",
|
||||
"HeaderFilters": "Filters:",
|
||||
"HeaderDeveloperInfo": "Developer Info",
|
||||
"ButtonFilter": "Filter",
|
||||
"HeaderRevisionHistory": "Revision History",
|
||||
"OptionFavorite": "Favorieten",
|
||||
"ButtonViewWebsite": "View website",
|
||||
"OptionLikes": "Leuk",
|
||||
"LabelRecurringDonationCanBeCancelledHelp": "Recurring donations can be cancelled at any time from within your PayPal account.",
|
||||
"OptionDislikes": "Niet leuk",
|
||||
"OptionActors": "Acteurs",
|
||||
"OptionGuestStars": "Gast Sterren",
|
||||
|
@ -854,15 +864,15 @@
|
|||
"LabelDisplayPluginsFor": "Toon Plug-ins voor:",
|
||||
"PluginTabMediaBrowserClassic": "MB Classic",
|
||||
"PluginTabMediaBrowserTheater": "MB Theater",
|
||||
"LabelEpisodeNamePlain": "Episode name",
|
||||
"LabelSeriesNamePlain": "Series name",
|
||||
"LabelEpisodeNamePlain": "Naam aflevering",
|
||||
"LabelSeriesNamePlain": "Naam serie",
|
||||
"ValueSeriesNamePeriod": "Serie.Naam",
|
||||
"ValueSeriesNameUnderscore": "Serie_naam",
|
||||
"ValueEpisodeNamePeriod": "Aflevering.naam",
|
||||
"ValueEpisodeNameUnderscore": "Aflevering_naam",
|
||||
"LabelSeasonNumberPlain": "Season number",
|
||||
"LabelEpisodeNumberPlain": "Episode number",
|
||||
"LabelEndingEpisodeNumberPlain": "Ending episode number",
|
||||
"LabelSeasonNumberPlain": "nummer seizoen",
|
||||
"LabelEpisodeNumberPlain": "Nummer aflevering",
|
||||
"LabelEndingEpisodeNumberPlain": "Laatste nummer aflevering",
|
||||
"HeaderTypeText": "Voer tekst in",
|
||||
"LabelTypeText": "Tekst",
|
||||
"HeaderSearchForSubtitles": "Zoeken naar Ondertitels",
|
||||
|
|
|
@ -192,15 +192,25 @@
|
|||
"TabUpcoming": "Upcoming",
|
||||
"HeaderPhotoInfo": "Photo Info",
|
||||
"TabShows": "Seriale",
|
||||
"HeaderInstall": "Install",
|
||||
"TabEpisodes": "Odcinki",
|
||||
"LabelSelectVersionToInstall": "Select version to install:",
|
||||
"TabGenres": "Rodzaje",
|
||||
"LinkSupporterMembership": "Learn about the Supporter Membership",
|
||||
"TabPeople": "Osoby",
|
||||
"MessageSupporterPluginRequiresMembership": "This plugin will require an active supporter membership after the 14 day free trial.",
|
||||
"TabNetworks": "Sieci",
|
||||
"MessagePremiumPluginRequiresMembership": "This plugin will require an active supporter membership in order to purchase after the 14 day free trial.",
|
||||
"HeaderUsers": "U\u017cytkownicy",
|
||||
"HeaderReviews": "Reviews",
|
||||
"HeaderFilters": "Filtry:",
|
||||
"HeaderDeveloperInfo": "Developer Info",
|
||||
"ButtonFilter": "Filtr",
|
||||
"HeaderRevisionHistory": "Revision History",
|
||||
"OptionFavorite": "Ulubione",
|
||||
"ButtonViewWebsite": "View website",
|
||||
"OptionLikes": "Likes",
|
||||
"LabelRecurringDonationCanBeCancelledHelp": "Recurring donations can be cancelled at any time from within your PayPal account.",
|
||||
"OptionDislikes": "Dislikes",
|
||||
"OptionActors": "Aktorzy",
|
||||
"OptionGuestStars": "Guest Stars",
|
||||
|
|
|
@ -92,9 +92,9 @@
|
|||
"LabelSaveLocalMetadata": "Salvar artwork e metadados dentro das pastas da m\u00eddia",
|
||||
"LabelEndDate": "Data final:",
|
||||
"LabelSaveLocalMetadataHelp": "Salvar artwork e metadados diretamente nas pastas da m\u00eddia as deixar\u00e1 em um local f\u00e1cil para edit\u00e1-las.",
|
||||
"LabelAirDate": "Dias de exibi\u00e7\u00e3o:",
|
||||
"LabelAirDate": "Dias da exibi\u00e7\u00e3o:",
|
||||
"LabelDownloadInternetMetadata": "Fazer download das imagens e metadados da internet",
|
||||
"LabelAirTime:": "Hora da exibi\u00e7\u00e3o:",
|
||||
"LabelAirTime:": "Hor\u00e1rio:",
|
||||
"LabelDownloadInternetMetadataHelp": "O Media Browser pode fazer download das informa\u00e7\u00f5es de sua m\u00eddia para melhorar a apresenta\u00e7\u00e3o.",
|
||||
"LabelRuntimeMinutes": "Dura\u00e7\u00e3o (minutos):",
|
||||
"TabPreferences": "Prefer\u00eancias",
|
||||
|
@ -156,9 +156,9 @@
|
|||
"LabelNewPassword": "Nova senha:",
|
||||
"HeaderDonationType": "Tipo de doa\u00e7\u00e3o:",
|
||||
"LabelNewPasswordConfirm": "Confirmar nova senha:",
|
||||
"OptionMakeOneTimeDonation": "Fazer doa\u00e7\u00e3o uma \u00fanica vez",
|
||||
"OptionMakeOneTimeDonation": "Fazer uma doa\u00e7\u00e3o \u00fanica",
|
||||
"HeaderCreatePassword": "Criar Senha",
|
||||
"OptionOneTimeDescription": "This is an additional donation to the team to show your support. It does not have any additional benefits.",
|
||||
"OptionOneTimeDescription": "Esta \u00e9 uma doa\u00e7\u00e3o adicional \u00e0 equipe para demonstrar seu apoio. N\u00e3o garante nenhum benef\u00edcio adicional.",
|
||||
"LabelCurrentPassword": "Senha atual:",
|
||||
"OptionLifeTimeSupporterClubMembership": "Filia\u00e7\u00e3o vital\u00edcia do clube do colaborador",
|
||||
"LabelMaxParentalRating": "Classifica\u00e7\u00e3o parental m\u00e1xima permitida:",
|
||||
|
@ -184,23 +184,33 @@
|
|||
"MessageNothingHere": "Nada aqui.",
|
||||
"OptionWriter": "Escritor",
|
||||
"MessagePleaseEnsureInternetMetadata": "Por favor, certifique-se que o download de metadados da internet est\u00e1 habilitado.",
|
||||
"LabelAirDays": "Air days:",
|
||||
"LabelAirDays": "Dias da exibi\u00e7\u00e3o:",
|
||||
"TabSuggested": "Sugeridos",
|
||||
"LabelAirTime": "Air time:",
|
||||
"LabelAirTime": "Hor\u00e1rio:",
|
||||
"TabLatest": "Recentes",
|
||||
"HeaderMediaInfo": "Media Info",
|
||||
"HeaderMediaInfo": "Informa\u00e7\u00f5es da M\u00eddia",
|
||||
"TabUpcoming": "Por Estrear",
|
||||
"HeaderPhotoInfo": "Photo Info",
|
||||
"HeaderPhotoInfo": "Informa\u00e7\u00f5es da Foto",
|
||||
"TabShows": "S\u00e9ries",
|
||||
"HeaderInstall": "Install",
|
||||
"TabEpisodes": "Epis\u00f3dios",
|
||||
"LabelSelectVersionToInstall": "Select version to install:",
|
||||
"TabGenres": "G\u00eaneros",
|
||||
"LinkSupporterMembership": "Learn about the Supporter Membership",
|
||||
"TabPeople": "Pessoas",
|
||||
"MessageSupporterPluginRequiresMembership": "This plugin will require an active supporter membership after the 14 day free trial.",
|
||||
"TabNetworks": "Redes",
|
||||
"MessagePremiumPluginRequiresMembership": "This plugin will require an active supporter membership in order to purchase after the 14 day free trial.",
|
||||
"HeaderUsers": "Usu\u00e1rios",
|
||||
"HeaderReviews": "Reviews",
|
||||
"HeaderFilters": "Filtros:",
|
||||
"HeaderDeveloperInfo": "Developer Info",
|
||||
"ButtonFilter": "Filtro",
|
||||
"HeaderRevisionHistory": "Revision History",
|
||||
"OptionFavorite": "Favoritos",
|
||||
"ButtonViewWebsite": "View website",
|
||||
"OptionLikes": "Gostei",
|
||||
"LabelRecurringDonationCanBeCancelledHelp": "Recurring donations can be cancelled at any time from within your PayPal account.",
|
||||
"OptionDislikes": "N\u00e3o Gostei",
|
||||
"OptionActors": "Atores",
|
||||
"OptionGuestStars": "Convidados Especiais",
|
||||
|
@ -288,7 +298,7 @@
|
|||
"HeaderStatus": "Status",
|
||||
"OptionContinuing": "Em Exibi\u00e7\u00e3o",
|
||||
"OptionEnded": "Finalizada",
|
||||
"HeaderAirDays": "Dias de Exibi\u00e7\u00e3o",
|
||||
"HeaderAirDays": "Dias da Exibi\u00e7\u00e3o",
|
||||
"OptionSunday": "Domingo",
|
||||
"OptionMonday": "Segunda-feira",
|
||||
"OptionTuesday": "Ter\u00e7a-feira",
|
||||
|
|
|
@ -192,15 +192,25 @@
|
|||
"TabUpcoming": "Pr\u00f3ximos",
|
||||
"HeaderPhotoInfo": "Photo Info",
|
||||
"TabShows": "S\u00e9ries",
|
||||
"HeaderInstall": "Install",
|
||||
"TabEpisodes": "Epis\u00f3dios",
|
||||
"LabelSelectVersionToInstall": "Select version to install:",
|
||||
"TabGenres": "G\u00e9neros Art\u00edsticos",
|
||||
"LinkSupporterMembership": "Learn about the Supporter Membership",
|
||||
"TabPeople": "Pessoas",
|
||||
"MessageSupporterPluginRequiresMembership": "This plugin will require an active supporter membership after the 14 day free trial.",
|
||||
"TabNetworks": "Redes",
|
||||
"MessagePremiumPluginRequiresMembership": "This plugin will require an active supporter membership in order to purchase after the 14 day free trial.",
|
||||
"HeaderUsers": "Utilizadores",
|
||||
"HeaderReviews": "Reviews",
|
||||
"HeaderFilters": "Filtros:",
|
||||
"HeaderDeveloperInfo": "Developer Info",
|
||||
"ButtonFilter": "Filtro",
|
||||
"HeaderRevisionHistory": "Revision History",
|
||||
"OptionFavorite": "Favoritos",
|
||||
"ButtonViewWebsite": "View website",
|
||||
"OptionLikes": "Gostos",
|
||||
"LabelRecurringDonationCanBeCancelledHelp": "Recurring donations can be cancelled at any time from within your PayPal account.",
|
||||
"OptionDislikes": "N\u00e3o gostos",
|
||||
"OptionActors": "Actores",
|
||||
"OptionGuestStars": "Actores convidados",
|
||||
|
|
|
@ -66,7 +66,7 @@
|
|||
"LabelEnableAutomaticPortMapping": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0430\u0432\u0442\u043e\u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0440\u0442\u043e\u0432",
|
||||
"LabelCommunityRating": "\u041e\u0431\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u043e\u0446\u0435\u043d\u043a\u0430:",
|
||||
"LabelEnableAutomaticPortMappingHelp": "UPnP \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440 \u0434\u043b\u044f \u043e\u0431\u043b\u0435\u0433\u0447\u0435\u043d\u0438\u044f \u0432\u043d\u0435\u0448\u043d\u0435\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u044d\u0442\u043e \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043c\u043e\u0434\u0435\u043b\u044f\u043c\u0438 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432.",
|
||||
"LabelVoteCount": "\u0427\u0438\u0441\u043b\u043e \u0433\u043e\u043b\u043e\u0441\u043e\u0432:",
|
||||
"LabelVoteCount": "\u041f\u043e\u0434\u0441\u0447\u0451\u0442 \u0433\u043e\u043b\u043e\u0441\u043e\u0432:",
|
||||
"ButtonOk": "\u041e\u041a",
|
||||
"LabelMetascore": "\u041e\u0446\u0435\u043d\u043a\u0430 Metascore:",
|
||||
"ButtonCancel": "\u041e\u0442\u043c\u0435\u043d\u0430",
|
||||
|
@ -96,7 +96,7 @@
|
|||
"LabelDownloadInternetMetadata": "\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0438 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430",
|
||||
"LabelAirTime:": "\u0412\u0440\u0435\u043c\u044f \u044d\u0444\u0438\u0440\u0430:",
|
||||
"LabelDownloadInternetMetadataHelp": "\u0414\u043b\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0445 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u043c\u0435\u0434\u0438\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Media Browser.",
|
||||
"LabelRuntimeMinutes": "\u0412\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u0435\u043d\u0438\u044f, \u043c\u0438\u043d:",
|
||||
"LabelRuntimeMinutes": "\u0414\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c, \u043c\u0438\u043d:",
|
||||
"TabPreferences": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438",
|
||||
"LabelParentalRating": "\u0412\u043e\u0437\u0440\u0430\u0441\u0442\u043d\u0430\u044f \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f:",
|
||||
"TabPassword": "\u041f\u0430\u0440\u043e\u043b\u044c",
|
||||
|
@ -156,9 +156,9 @@
|
|||
"LabelNewPassword": "\u041d\u043e\u0432\u044b\u0439 \u043f\u0430\u0440\u043e\u043b\u044c",
|
||||
"HeaderDonationType": "\u0422\u0438\u043f \u043f\u043e\u0436\u0435\u0440\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044f:",
|
||||
"LabelNewPasswordConfirm": "\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u043e\u043b\u044f",
|
||||
"OptionMakeOneTimeDonation": "\u041e\u0434\u043d\u043e\u043a\u0440\u0430\u0442\u043d\u043e\u0435 \u043f\u043e\u0436\u0435\u0440\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u0435",
|
||||
"OptionMakeOneTimeDonation": "\u041f\u043e\u0436\u0435\u0440\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e",
|
||||
"HeaderCreatePassword": "\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u044c",
|
||||
"OptionOneTimeDescription": "This is an additional donation to the team to show your support. It does not have any additional benefits.",
|
||||
"OptionOneTimeDescription": "\u042d\u0442\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u043f\u043e\u0436\u0435\u0440\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0435, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0430\u0448\u0443 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443. \u041d\u0435 \u0434\u0430\u0451\u0442 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432.",
|
||||
"LabelCurrentPassword": "\u0422\u0435\u043a\u0443\u0449\u0438\u0439 \u043f\u0430\u0440\u043e\u043b\u044c",
|
||||
"OptionLifeTimeSupporterClubMembership": "\u041f\u043e\u0436\u0438\u0437\u043d\u0435\u043d\u043d\u043e\u0435 \u0447\u043b\u0435\u043d\u0441\u0442\u0432\u043e \u0432 \u043a\u043b\u0443\u0431\u0435 \u0441\u043f\u043e\u043d\u0441\u043e\u0440\u043e\u0432",
|
||||
"LabelMaxParentalRating": "\u041c\u0430\u043a\u0441. \u0440\u0430\u0437\u0440\u0435\u0448\u0451\u043d\u043d\u0430\u044f \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u043d\u0430\u044f \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f:",
|
||||
|
@ -184,23 +184,33 @@
|
|||
"MessageNothingHere": "\u0417\u0434\u0435\u0441\u044c \u043d\u0435\u0442 \u043d\u0438\u0447\u0435\u0433\u043e.",
|
||||
"OptionWriter": "\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0441\u0442",
|
||||
"MessagePleaseEnsureInternetMetadata": "\u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430.",
|
||||
"LabelAirDays": "Air days:",
|
||||
"LabelAirDays": "\u0414\u043d\u0438 \u044d\u0444\u0438\u0440\u0430:",
|
||||
"TabSuggested": "\u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u043c\u044b\u0435",
|
||||
"LabelAirTime": "Air time:",
|
||||
"LabelAirTime": "\u0412\u0440\u0435\u043c\u044f \u044d\u0444\u0438\u0440\u0430:",
|
||||
"TabLatest": "\u041d\u043e\u0432\u0438\u043d\u043a\u0438",
|
||||
"HeaderMediaInfo": "Media Info",
|
||||
"HeaderMediaInfo": "\u0421\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043e \u043c\u0435\u0434\u0438\u0430\u0434\u0430\u043d\u043d\u044b\u0445",
|
||||
"TabUpcoming": "\u041e\u0436\u0438\u0434\u0430\u0435\u043c\u044b\u0435",
|
||||
"HeaderPhotoInfo": "Photo Info",
|
||||
"HeaderPhotoInfo": "\u0421\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043e \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438",
|
||||
"TabShows": "\u0426\u0438\u043a\u043b\u044b",
|
||||
"HeaderInstall": "\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430",
|
||||
"TabEpisodes": "\u042d\u043f\u0438\u0437\u043e\u0434\u044b",
|
||||
"LabelSelectVersionToInstall": "\u0412\u044b\u0431\u043e\u0440 \u0432\u0435\u0440\u0441\u0438\u0438 \u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438:",
|
||||
"TabGenres": "\u0416\u0430\u043d\u0440\u044b",
|
||||
"LinkSupporterMembership": "\u041e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u0447\u043b\u0435\u043d\u0441\u0442\u0432\u043e\u043c \u0441\u043f\u043e\u043d\u0441\u043e\u0440\u043e\u0432",
|
||||
"TabPeople": "\u041b\u044e\u0434\u0438",
|
||||
"MessageSupporterPluginRequiresMembership": "\u0414\u0430\u043d\u043d\u043e\u043c\u0443 \u043f\u043b\u0430\u0433\u0438\u043d\u0443 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0447\u043b\u0435\u043d\u0441\u0442\u0432\u043e \u0441\u043f\u043e\u043d\u0441\u043e\u0440\u0430 \u0447\u0435\u0440\u0435\u0437 14 \u0434\u043d\u0435\u0439 \u043f\u0440\u043e\u0431\u043d\u043e\u0433\u043e \u043f\u0435\u0440\u0438\u043e\u0434\u0430.",
|
||||
"TabNetworks": "\u0422\u0435\u043b\u0435\u0441\u0435\u0442\u0438",
|
||||
"MessagePremiumPluginRequiresMembership": "\u0414\u0430\u043d\u043d\u043e\u043c\u0443 \u043f\u043b\u0430\u0433\u0438\u043d\u0443 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0447\u043b\u0435\u043d\u0441\u0442\u0432\u043e \u0441\u043f\u043e\u043d\u0441\u043e\u0440\u0430 \u0434\u043b\u044f \u043f\u0440\u0438\u043e\u0431\u0440\u0435\u0442\u0435\u043d\u0438\u044f \u0447\u0435\u0440\u0435\u0437 14 \u0434\u043d\u0435\u0439 \u043f\u0440\u043e\u0431\u043d\u043e\u0433\u043e \u043f\u0435\u0440\u0438\u043e\u0434\u0430.",
|
||||
"HeaderUsers": "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438",
|
||||
"HeaderReviews": "\u041e\u0442\u0437\u044b\u0432\u044b",
|
||||
"HeaderFilters": "\u0424\u0438\u043b\u044c\u0442\u0440\u044b:",
|
||||
"HeaderDeveloperInfo": "\u0421\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0435",
|
||||
"ButtonFilter": "\u0424\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u0430\u0442\u044c",
|
||||
"HeaderRevisionHistory": "\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439",
|
||||
"OptionFavorite": "\u0418\u0437\u0431\u0440\u0430\u043d\u043d\u044b\u0435",
|
||||
"ButtonViewWebsite": "\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432\u0435\u0431\u0441\u0430\u0439\u0442",
|
||||
"OptionLikes": "\u041d\u0440\u0430\u0432\u0438\u0442\u0441\u044f",
|
||||
"LabelRecurringDonationCanBeCancelledHelp": "\u0420\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u043f\u043e\u0436\u0435\u0440\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u0432 \u043b\u044e\u0431\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0447\u0435\u0440\u0435\u0437 \u0432\u0430\u0448\u0443 \u0443\u0447\u0451\u0442\u043d\u0443\u044e \u0437\u0430\u043f\u0438\u0441\u044c PayPal.",
|
||||
"OptionDislikes": "\u041d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f",
|
||||
"OptionActors": "\u0410\u043a\u0442\u0451\u0440\u044b",
|
||||
"OptionGuestStars": "\u041f\u0440\u0438\u0433\u043b\u0430\u0448\u0451\u043d\u043d\u044b\u0435 \u0430\u043a\u0442\u0451\u0440\u044b",
|
||||
|
@ -226,7 +236,7 @@
|
|||
"OptionDescending": "\u0423\u0431\u044b\u0432\u0430\u043d\u0438\u0435",
|
||||
"OptionRuntime": "\u0414\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c",
|
||||
"OptionReleaseDate": "\u0414\u0430\u0442\u0430 \u0432\u044b\u043f\u0443\u0441\u043a\u0430",
|
||||
"OptionPlayCount": "\u0427\u0438\u0441\u043b\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0439",
|
||||
"OptionPlayCount": "\u041f\u043e\u0434\u0441\u0447\u0451\u0442 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0439",
|
||||
"OptionDatePlayed": "\u0414\u0430\u0442\u0430 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f",
|
||||
"OptionDateAdded": "\u0414\u0430\u0442\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f",
|
||||
"OptionAlbumArtist": "\u0410\u043b\u044c\u0431\u043e\u043c. \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c",
|
||||
|
@ -353,13 +363,13 @@
|
|||
"LabelRunServerAtStartupHelp": "\u0417\u043d\u0430\u0447\u043e\u043a \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u043c \u043b\u043e\u0442\u043a\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0441\u0442\u0430\u0440\u0442\u0430 Windows. \u0427\u0442\u043e\u0431\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0441\u043b\u0443\u0436\u0431\u0443 Windows, \u0443\u0431\u0435\u0440\u0438\u0442\u0435 \u0433\u0430\u043b\u043e\u0447\u043a\u0443 \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u0441\u043b\u0443\u0436\u0431\u0443 \u0438\u0437 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f Windows. \u041f\u0440\u0438\u043c\u0438\u0442\u0435 \u043a \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044e, \u0447\u0442\u043e \u043e\u043d\u0438 \u043e\u0431\u0430 \u043d\u0435 \u043c\u043e\u0433\u0443\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u043e\u043a \u0432 \u043b\u043e\u0442\u043a\u0435 \u0434\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u043b\u0443\u0436\u0431\u044b.",
|
||||
"ButtonSelectDirectory": "\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u043a\u0430\u0442\u0430\u043b\u043e\u0433",
|
||||
"LabelCustomPaths": "\u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u043f\u0443\u0442\u0438 \u043f\u043e \u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f\u043c. \u041e\u0441\u0442\u0430\u0432\u043b\u044f\u0439\u0442\u0435 \u043f\u043e\u043b\u044f \u043f\u0443\u0441\u0442\u044b\u043c\u0438 \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445.",
|
||||
"LabelCachePath": "\u041f\u0443\u0442\u044c \u043a \u043f\u0430\u043f\u043a\u0435 Cache:",
|
||||
"LabelCachePath": "\u041f\u0443\u0442\u044c \u043a\u043e \u043a\u0435\u0448\u0443:",
|
||||
"LabelCachePathHelp": "\u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0435 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0444\u0430\u0439\u043b\u043e\u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0433\u043e \u043a\u044d\u0448\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0440\u0438\u0441\u0443\u043d\u043a\u043e\u0432.",
|
||||
"LabelImagesByNamePath": "\u041f\u0443\u0442\u044c \u043a \u043f\u0430\u043f\u043a\u0435 Images by name:",
|
||||
"LabelImagesByNamePath": "\u041f\u0443\u0442\u044c \u043a\u043e \u0440\u0438\u0441\u0443\u043d\u043a\u0430\u043c \u0447\u0435\u0440\u0435\u0437 \u0438\u043c\u044f:",
|
||||
"LabelImagesByNamePathHelp": "\u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0435 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u044b\u0445 \u0440\u0438\u0441\u0443\u043d\u043a\u043e\u0432 \u0430\u043a\u0442\u0451\u0440\u043e\u0432, \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u0435\u0439, \u0436\u0430\u043d\u0440\u043e\u0432 \u0438 \u0441\u0442\u0443\u0434\u0438\u0439.",
|
||||
"LabelMetadataPath": "\u041f\u0443\u0442\u044c \u043a \u043f\u0430\u043f\u043a\u0435 Metadata:",
|
||||
"LabelMetadataPath": "\u041f\u0443\u0442\u044c \u043a\u043e \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u043c:",
|
||||
"LabelMetadataPathHelp": "\u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0435 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u044b\u0445 \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u0439 \u0438 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445, \u0435\u0441\u043b\u0438 \u043e\u043d\u0438 \u043d\u0435 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432\u043d\u0443\u0442\u0440\u0438 \u043c\u0435\u0434\u0438\u0430\u043f\u0430\u043f\u043e\u043a.",
|
||||
"LabelTranscodingTempPath": "\u041f\u0443\u0442\u044c \u043a \u043f\u0430\u043f\u043a\u0435 Transcoding temporary:",
|
||||
"LabelTranscodingTempPath": "\u041f\u0443\u0442\u044c \u043a\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c \u0444\u0430\u0439\u043b\u0430\u043c \u043f\u0435\u0440\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438:",
|
||||
"LabelTranscodingTempPathHelp": "\u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u043f\u0430\u043f\u043a\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u0441\u044f \u0440\u0430\u0431\u043e\u0447\u0438\u0435 \u0444\u0430\u0439\u043b\u044b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0435. \u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0439 \u043f\u0443\u0442\u044c, \u0438\u043b\u0438 \u043e\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u043f\u0443\u0441\u0442\u044b\u043c, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u0430\u043f\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u0430.",
|
||||
"TabBasics": "\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435",
|
||||
"TabTV": "\u0422\u0412",
|
||||
|
@ -965,11 +975,11 @@
|
|||
"OptionList": "\u0421\u043f\u0438\u0441\u043e\u043a",
|
||||
"TabDashboard": "\u0418\u043d\u0444\u043e\u043f\u0430\u043d\u0435\u043b\u044c",
|
||||
"TitleServer": "\u0421\u0435\u0440\u0432\u0435\u0440",
|
||||
"LabelCache": "Cache:",
|
||||
"LabelLogs": "Logs:",
|
||||
"LabelMetadata": "Metadata:",
|
||||
"LabelImagesByName": "Images by name:",
|
||||
"LabelTranscodingTemporaryFiles": "Transcoding temporary files:",
|
||||
"LabelCache": "\u041a\u0435\u0448:",
|
||||
"LabelLogs": "\u0416\u0443\u0440\u043d\u0430\u043b\u044b:",
|
||||
"LabelMetadata": "\u041c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435:",
|
||||
"LabelImagesByName": "\u0420\u0438\u0441\u0443\u043d\u043a\u0438 \u0447\u0435\u0440\u0435\u0437 \u0438\u043c\u044f:",
|
||||
"LabelTranscodingTemporaryFiles": "\u0412\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u043f\u0435\u0440\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438:",
|
||||
"HeaderLatestMusic": "\u041d\u043e\u0432\u0438\u043d\u043a\u0438 \u043c\u0443\u0437\u044b\u043a\u0438",
|
||||
"HeaderBranding": "\u0411\u0440\u0435\u043d\u0434\u0438\u043d\u0433",
|
||||
"HeaderApiKeys": "\u041a\u043b\u044e\u0447\u0438 API",
|
||||
|
|
|
@ -1110,5 +1110,15 @@
|
|||
"LabelAirDays": "Air days:",
|
||||
"LabelAirTime": "Air time:",
|
||||
"HeaderMediaInfo": "Media Info",
|
||||
"HeaderPhotoInfo": "Photo Info"
|
||||
"HeaderPhotoInfo": "Photo Info",
|
||||
"HeaderInstall": "Install",
|
||||
"LabelSelectVersionToInstall": "Select version to install:",
|
||||
"LinkSupporterMembership": "Learn about the Supporter Membership",
|
||||
"MessageSupporterPluginRequiresMembership": "This plugin will require an active supporter membership after the 14 day free trial.",
|
||||
"MessagePremiumPluginRequiresMembership": "This plugin will require an active supporter membership in order to purchase after the 14 day free trial.",
|
||||
"HeaderReviews": "Reviews",
|
||||
"HeaderDeveloperInfo": "Developer Info",
|
||||
"HeaderRevisionHistory": "Revision History",
|
||||
"ButtonViewWebsite": "View website",
|
||||
"LabelRecurringDonationCanBeCancelledHelp": "Recurring donations can be cancelled at any time from within your PayPal account."
|
||||
}
|
||||
|
|
|
@ -192,15 +192,25 @@
|
|||
"TabUpcoming": "Kommande",
|
||||
"HeaderPhotoInfo": "Photo Info",
|
||||
"TabShows": "Serier",
|
||||
"HeaderInstall": "Install",
|
||||
"TabEpisodes": "Avsnitt",
|
||||
"LabelSelectVersionToInstall": "Select version to install:",
|
||||
"TabGenres": "Genrer",
|
||||
"LinkSupporterMembership": "Learn about the Supporter Membership",
|
||||
"TabPeople": "Personer",
|
||||
"MessageSupporterPluginRequiresMembership": "This plugin will require an active supporter membership after the 14 day free trial.",
|
||||
"TabNetworks": "TV-bolag",
|
||||
"MessagePremiumPluginRequiresMembership": "This plugin will require an active supporter membership in order to purchase after the 14 day free trial.",
|
||||
"HeaderUsers": "Anv\u00e4ndare",
|
||||
"HeaderReviews": "Reviews",
|
||||
"HeaderFilters": "Filter:",
|
||||
"HeaderDeveloperInfo": "Developer Info",
|
||||
"ButtonFilter": "Filtrera",
|
||||
"HeaderRevisionHistory": "Revision History",
|
||||
"OptionFavorite": "Favoriter",
|
||||
"ButtonViewWebsite": "View website",
|
||||
"OptionLikes": "Gillar",
|
||||
"LabelRecurringDonationCanBeCancelledHelp": "Recurring donations can be cancelled at any time from within your PayPal account.",
|
||||
"OptionDislikes": "Ogillar",
|
||||
"OptionActors": "Sk\u00e5despelare",
|
||||
"OptionGuestStars": "G\u00e4startister",
|
||||
|
|
|
@ -192,15 +192,25 @@
|
|||
"TabUpcoming": "Gelecek",
|
||||
"HeaderPhotoInfo": "Photo Info",
|
||||
"TabShows": "G\u00f6steriler",
|
||||
"HeaderInstall": "Install",
|
||||
"TabEpisodes": "B\u00f6l\u00fcmler",
|
||||
"LabelSelectVersionToInstall": "Select version to install:",
|
||||
"TabGenres": "T\u00fcrler",
|
||||
"LinkSupporterMembership": "Learn about the Supporter Membership",
|
||||
"TabPeople": "Oyuncular",
|
||||
"MessageSupporterPluginRequiresMembership": "This plugin will require an active supporter membership after the 14 day free trial.",
|
||||
"TabNetworks": "A\u011flar",
|
||||
"MessagePremiumPluginRequiresMembership": "This plugin will require an active supporter membership in order to purchase after the 14 day free trial.",
|
||||
"HeaderUsers": "Kullan\u0131c\u0131lar",
|
||||
"HeaderReviews": "Reviews",
|
||||
"HeaderFilters": "Filtrelemeler",
|
||||
"HeaderDeveloperInfo": "Developer Info",
|
||||
"ButtonFilter": "Filtre",
|
||||
"HeaderRevisionHistory": "Revision History",
|
||||
"OptionFavorite": "Favoriler",
|
||||
"ButtonViewWebsite": "View website",
|
||||
"OptionLikes": "Be\u011feniler",
|
||||
"LabelRecurringDonationCanBeCancelledHelp": "Recurring donations can be cancelled at any time from within your PayPal account.",
|
||||
"OptionDislikes": "Be\u011fenmeyenler",
|
||||
"OptionActors": "Akt\u00f6rler",
|
||||
"OptionGuestStars": "Konuk oylar\u0131",
|
||||
|
|
|
@ -192,15 +192,25 @@
|
|||
"TabUpcoming": "S\u1eafp di\u1ec5n ra",
|
||||
"HeaderPhotoInfo": "Photo Info",
|
||||
"TabShows": "Shows",
|
||||
"HeaderInstall": "Install",
|
||||
"TabEpisodes": "C\u00e1c t\u1eadp phim",
|
||||
"LabelSelectVersionToInstall": "Select version to install:",
|
||||
"TabGenres": "C\u00e1c th\u1ec3 lo\u1ea1i",
|
||||
"LinkSupporterMembership": "Learn about the Supporter Membership",
|
||||
"TabPeople": "M\u1ecdi ng\u01b0\u1eddi",
|
||||
"MessageSupporterPluginRequiresMembership": "This plugin will require an active supporter membership after the 14 day free trial.",
|
||||
"TabNetworks": "C\u00e1c m\u1ea1ng",
|
||||
"MessagePremiumPluginRequiresMembership": "This plugin will require an active supporter membership in order to purchase after the 14 day free trial.",
|
||||
"HeaderUsers": "d\u00f9ng",
|
||||
"HeaderReviews": "Reviews",
|
||||
"HeaderFilters": "Filters:",
|
||||
"HeaderDeveloperInfo": "Developer Info",
|
||||
"ButtonFilter": "Filter",
|
||||
"HeaderRevisionHistory": "Revision History",
|
||||
"OptionFavorite": "Y\u00eau th\u00edch",
|
||||
"ButtonViewWebsite": "View website",
|
||||
"OptionLikes": "Th\u00edch",
|
||||
"LabelRecurringDonationCanBeCancelledHelp": "Recurring donations can be cancelled at any time from within your PayPal account.",
|
||||
"OptionDislikes": "Kh\u00f4ng th\u00edch",
|
||||
"OptionActors": "Di\u1ec5n vi\u00ean",
|
||||
"OptionGuestStars": "Guest Stars",
|
||||
|
|
|
@ -192,15 +192,25 @@
|
|||
"TabUpcoming": "\u5373\u5c07\u767c\u5e03",
|
||||
"HeaderPhotoInfo": "Photo Info",
|
||||
"TabShows": "\u7bc0\u76ee",
|
||||
"HeaderInstall": "Install",
|
||||
"TabEpisodes": "\u55ae\u5143",
|
||||
"LabelSelectVersionToInstall": "Select version to install:",
|
||||
"TabGenres": "\u985e\u578b",
|
||||
"LinkSupporterMembership": "Learn about the Supporter Membership",
|
||||
"TabPeople": "\u4eba\u7269",
|
||||
"MessageSupporterPluginRequiresMembership": "This plugin will require an active supporter membership after the 14 day free trial.",
|
||||
"TabNetworks": "\u7db2\u7d61",
|
||||
"MessagePremiumPluginRequiresMembership": "This plugin will require an active supporter membership in order to purchase after the 14 day free trial.",
|
||||
"HeaderUsers": "\u7528\u6236",
|
||||
"HeaderReviews": "Reviews",
|
||||
"HeaderFilters": "\u904e\u6ffe\uff1a",
|
||||
"HeaderDeveloperInfo": "Developer Info",
|
||||
"ButtonFilter": "\u904e\u6ffe",
|
||||
"HeaderRevisionHistory": "Revision History",
|
||||
"OptionFavorite": "\u6211\u7684\u6700\u611b",
|
||||
"ButtonViewWebsite": "View website",
|
||||
"OptionLikes": "\u559c\u6b61",
|
||||
"LabelRecurringDonationCanBeCancelledHelp": "Recurring donations can be cancelled at any time from within your PayPal account.",
|
||||
"OptionDislikes": "\u4e0d\u559c\u6b61",
|
||||
"OptionActors": "\u6f14\u54e1",
|
||||
"OptionGuestStars": "\u7279\u9080\u660e\u661f",
|
||||
|
|
|
@ -305,20 +305,6 @@ namespace MediaBrowser.ServerApplication
|
|||
{
|
||||
var saveConfig = false;
|
||||
|
||||
if (ServerConfigurationManager.Configuration.DlnaOptions != null)
|
||||
{
|
||||
ServerConfigurationManager.SaveConfiguration("dlna", ServerConfigurationManager.Configuration.DlnaOptions);
|
||||
ServerConfigurationManager.Configuration.DlnaOptions = null;
|
||||
saveConfig = true;
|
||||
}
|
||||
|
||||
if (ServerConfigurationManager.Configuration.LiveTvOptions != null)
|
||||
{
|
||||
ServerConfigurationManager.SaveConfiguration("livetv", ServerConfigurationManager.Configuration.LiveTvOptions);
|
||||
ServerConfigurationManager.Configuration.LiveTvOptions = null;
|
||||
saveConfig = true;
|
||||
}
|
||||
|
||||
if (ServerConfigurationManager.Configuration.TvFileOrganizationOptions != null)
|
||||
{
|
||||
ServerConfigurationManager.SaveConfiguration("autoorganize", new AutoOrganizeOptions { TvOptions = ServerConfigurationManager.Configuration.TvFileOrganizationOptions });
|
||||
|
|
Loading…
Reference in New Issue
Block a user